From ecc8dee645858c909f97cc27cac2b5399b72090a Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Sun, 14 Jan 2018 18:10:52 +0100 Subject: testing something --- src/battle/battle_interface.c | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 97568d254..5bdbc2506 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -29,6 +29,11 @@ struct UnknownStruct7 u8 filler0[0x180]; }; +struct TileData +{ + u32 data[8]; +}; + extern u8 gDisplayedStringBattle[]; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[]; @@ -59,9 +64,9 @@ extern void *const gUnknown_0820A854[]; extern void *const gUnknown_0820A85C[]; extern void *const gUnknown_0820A87C[]; extern void *const gUnknown_0820A894[]; -extern void *const gUnknown_0820A8B4[]; -extern void *const gUnknown_0820A8DC[]; -extern void *const gUnknown_0820A904[]; +extern struct TileData *const gUnknown_0820A8B4[]; +extern struct TileData *const gUnknown_0820A8DC[]; +extern struct TileData *const gUnknown_0820A904[]; extern const u8 gUnknown_0820A81C[]; extern const u8 gUnknown_0820A864[]; extern const u8 gUnknown_0820A89C[]; @@ -94,6 +99,8 @@ static void sub_8045D58(u8, u8); static u8 sub_804602C(int, int, int, int *, u8 *, u8); static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, u16 *c); + + static int do_nothing(s16 unused1, s16 unused2, int unused3) { return 9; @@ -2368,7 +2375,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) u8 *ptr; s32 i; s32 _7; - u8 *const *r1; + struct TileData *const *r1; StringCopy(gDisplayedStringBattle, gUnknown_0820A8B0); GetMonData(pkmn, MON_DATA_NICKNAME, nickname); @@ -2448,29 +2455,34 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) if (GetBankSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle()) { - r1 = (u8 *const *)gUnknown_0820A8B4; + r1 = gUnknown_0820A8B4; for (i = 0; i < _7; i++) { - u8 *r4 = r1[i]; + // u8 *r4 = (u8 *) r1[i]; + struct TileData *r4 = r1[i]; - r4 += gSprites[a].oam.tileNum * 32; + // r4 += gSprites[a].oam.tileNum * 32; + r4 += gSprites[a].oam.tileNum; CpuCopy32(ptr, r4, 32); + // CpuCopy32(ptr, &(r4->data[gSprites[a].oam.tileNum]), 32); ptr += 32; - r4 += 0x100; + // r4 += 0x100; + r4 += 8; CpuCopy32(ptr, r4, 32); + // CpuCopy32(ptr, &((r4+8)->data[gSprites[a].oam.tileNum]), 32); ptr += 32; } } else { if (GetBankSide(gSprites[a].data[6]) == 0) - r1 = (u8 *const *)gUnknown_0820A904; + r1 = gUnknown_0820A904; else - r1 = (u8 *const *)gUnknown_0820A8DC; + r1 = gUnknown_0820A8DC; for (i = 0; i < _7; i++) { - u8 *r4 = r1[i]; + u8 *r4 = (u8 *) r1[i]; r4 += gSprites[a].oam.tileNum * 32; CpuCopy32(ptr, r4, 32); -- cgit v1.2.3 From 8602ff770030d84d2d18cccd961c07f195dc0a17 Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Mon, 15 Jan 2018 01:11:47 +0100 Subject: continue testing --- src/battle/battle_interface.c | 85 +++++++++++++++++++++++++------------------ 1 file changed, 50 insertions(+), 35 deletions(-) (limited to 'src') diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 5bdbc2506..7d32ff0b1 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -29,10 +29,12 @@ struct UnknownStruct7 u8 filler0[0x180]; }; -struct TileData -{ - u32 data[8]; -}; +// struct TileData4bpp +// { +// u8 data[32]; +// }; + +typedef u8 TileData4bpp[32]; extern u8 gDisplayedStringBattle[]; extern u8 gNoOfAllBanks; @@ -62,11 +64,11 @@ extern void *const gUnknown_0820A83C[]; extern void *const gUnknown_0820A848[]; extern void *const gUnknown_0820A854[]; extern void *const gUnknown_0820A85C[]; -extern void *const gUnknown_0820A87C[]; -extern void *const gUnknown_0820A894[]; -extern struct TileData *const gUnknown_0820A8B4[]; -extern struct TileData *const gUnknown_0820A8DC[]; -extern struct TileData *const gUnknown_0820A904[]; +extern TileData4bpp *const gUnknown_0820A87C[]; +extern TileData4bpp *const gUnknown_0820A894[]; +extern TileData4bpp *const gUnknown_0820A8B4[]; +extern TileData4bpp *const gUnknown_0820A8DC[]; +extern TileData4bpp *const gUnknown_0820A904[]; extern const u8 gUnknown_0820A81C[]; extern const u8 gUnknown_0820A864[]; extern const u8 gUnknown_0820A89C[]; @@ -99,7 +101,19 @@ static void sub_8045D58(u8, u8); static u8 sub_804602C(int, int, int, int *, u8 *, u8); static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, u16 *c); - +// TileData4bpp *const gUnknown_0820A904[10] = +// { +// &OBJ_VRAM0_TEST[2], // 0x40 +// &OBJ_VRAM0_TEST[3], // 0x60 +// &OBJ_VRAM0_TEST[4], // 0x80 +// &OBJ_VRAM0_TEST[5], // 0xA0 +// &OBJ_VRAM0_TEST[6], // 0xC0 +// &OBJ_VRAM0_TEST[7], // 0xE0 +// &OBJ_VRAM0_TEST[32], // 0x400 +// &OBJ_VRAM0_TEST[33], // 0x420 +// &OBJ_VRAM0_TEST[34], // 0x440 +// &OBJ_VRAM0_TEST[35], // 0x460 +// }; static int do_nothing(s16 unused1, s16 unused2, int unused3) { @@ -916,7 +930,8 @@ static void sub_8044210(u8 a, s16 b, u8 c) { u8 str[0x14]; u8 *ptr; - void *const *r7; + // void *const *r7; + TileData4bpp *const *r7; int r10; int r4; int i; @@ -942,6 +957,7 @@ static void sub_8044210(u8 a, s16 b, u8 c) sub_8003504(ptr, b, 0xF, 1); if (GetBankSide(r4) == 0) { + // CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); } } @@ -949,7 +965,8 @@ static void sub_8044210(u8 a, s16 b, u8 c) sub_80034D4(ewram0_9(0), str); for (i = 0; i < r10; i++) { - CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20); + // CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20); + CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum, 0x20); } } @@ -2375,7 +2392,8 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) u8 *ptr; s32 i; s32 _7; - struct TileData *const *r1; + TileData4bpp *const *r1; + TileData4bpp *tileDataSrc; StringCopy(gDisplayedStringBattle, gUnknown_0820A8B0); GetMonData(pkmn, MON_DATA_NICKNAME, nickname); @@ -2450,28 +2468,25 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) } } + tileDataSrc = (TileData4bpp *) ptr; + for (; i < _7; i++) - CpuCopy32(sub_8043CDC(0x2B), ptr + 64 * i, 32); + CpuCopy32(sub_8043CDC(0x2B), tileDataSrc + 2 * i, 32); if (GetBankSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle()) { r1 = gUnknown_0820A8B4; for (i = 0; i < _7; i++) { - // u8 *r4 = (u8 *) r1[i]; - struct TileData *r4 = r1[i]; - - // r4 += gSprites[a].oam.tileNum * 32; - r4 += gSprites[a].oam.tileNum; - CpuCopy32(ptr, r4, 32); - // CpuCopy32(ptr, &(r4->data[gSprites[a].oam.tileNum]), 32); - ptr += 32; - - // r4 += 0x100; - r4 += 8; - CpuCopy32(ptr, r4, 32); - // CpuCopy32(ptr, &((r4+8)->data[gSprites[a].oam.tileNum]), 32); - ptr += 32; + TileData4bpp *tileDataDest = r1[i]; + + tileDataDest += gSprites[a].oam.tileNum; + CpuCopy32(tileDataSrc, tileDataDest, 32); + tileDataSrc++; + + tileDataDest += 8; + CpuCopy32(tileDataSrc, tileDataDest, 32); + tileDataSrc++; } } else @@ -2482,15 +2497,15 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) r1 = gUnknown_0820A8DC; for (i = 0; i < _7; i++) { - u8 *r4 = (u8 *) r1[i]; + TileData4bpp *tileDataDest = r1[i]; - r4 += gSprites[a].oam.tileNum * 32; - CpuCopy32(ptr, r4, 32); - ptr += 32; + tileDataDest += gSprites[a].oam.tileNum; + CpuCopy32(tileDataSrc, tileDataDest, 32); + tileDataSrc++; - r4 += 0x100; - CpuCopy32(ptr, r4, 32); - ptr += 32; + tileDataDest += 8; + CpuCopy32(tileDataSrc, tileDataDest, 32); + tileDataSrc++; } } } -- cgit v1.2.3 From d2e0d49392945e419c67b65c49942252e83dfabe Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Mon, 15 Jan 2018 02:25:01 +0100 Subject: done testing --- src/battle/battle_interface.c | 65 ++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 7d32ff0b1..6f6dc9de6 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -29,12 +29,47 @@ struct UnknownStruct7 u8 filler0[0x180]; }; -// struct TileData4bpp -// { -// u8 data[32]; -// }; +TileData4bpp *const gUnknown_0820A8B4[10] = +{ + &OBJ_VRAM0_TEMP[ 2], + &OBJ_VRAM0_TEMP[ 3], + &OBJ_VRAM0_TEMP[ 4], + &OBJ_VRAM0_TEMP[ 5], + &OBJ_VRAM0_TEMP[ 6], + &OBJ_VRAM0_TEMP[ 7], + &OBJ_VRAM0_TEMP[64], + &OBJ_VRAM0_TEMP[65], + &OBJ_VRAM0_TEMP[66], + &OBJ_VRAM0_TEMP[67], +}; + +TileData4bpp *const gUnknown_0820A8DC[10] = +{ + &OBJ_VRAM0_TEMP[ 1], + &OBJ_VRAM0_TEMP[ 2], + &OBJ_VRAM0_TEMP[ 3], + &OBJ_VRAM0_TEMP[ 4], + &OBJ_VRAM0_TEMP[ 5], + &OBJ_VRAM0_TEMP[ 6], + &OBJ_VRAM0_TEMP[ 7], + &OBJ_VRAM0_TEMP[32], + &OBJ_VRAM0_TEMP[33], + &OBJ_VRAM0_TEMP[34], +}; -typedef u8 TileData4bpp[32]; +TileData4bpp *const gUnknown_0820A904[10] = +{ + &OBJ_VRAM0_TEMP[ 2], + &OBJ_VRAM0_TEMP[ 3], + &OBJ_VRAM0_TEMP[ 4], + &OBJ_VRAM0_TEMP[ 5], + &OBJ_VRAM0_TEMP[ 6], + &OBJ_VRAM0_TEMP[ 7], + &OBJ_VRAM0_TEMP[32], + &OBJ_VRAM0_TEMP[33], + &OBJ_VRAM0_TEMP[34], + &OBJ_VRAM0_TEMP[35], +}; extern u8 gDisplayedStringBattle[]; extern u8 gNoOfAllBanks; @@ -66,9 +101,9 @@ extern void *const gUnknown_0820A854[]; extern void *const gUnknown_0820A85C[]; extern TileData4bpp *const gUnknown_0820A87C[]; extern TileData4bpp *const gUnknown_0820A894[]; -extern TileData4bpp *const gUnknown_0820A8B4[]; -extern TileData4bpp *const gUnknown_0820A8DC[]; -extern TileData4bpp *const gUnknown_0820A904[]; +// extern TileData4bpp *const gUnknown_0820A8B4[]; +// extern TileData4bpp *const gUnknown_0820A8DC[]; +// extern TileData4bpp *const gUnknown_0820A904[]; extern const u8 gUnknown_0820A81C[]; extern const u8 gUnknown_0820A864[]; extern const u8 gUnknown_0820A89C[]; @@ -101,20 +136,6 @@ static void sub_8045D58(u8, u8); static u8 sub_804602C(int, int, int, int *, u8 *, u8); static void sub_8046128(struct BattleInterfaceStruct1 *a, int *b, u16 *c); -// TileData4bpp *const gUnknown_0820A904[10] = -// { -// &OBJ_VRAM0_TEST[2], // 0x40 -// &OBJ_VRAM0_TEST[3], // 0x60 -// &OBJ_VRAM0_TEST[4], // 0x80 -// &OBJ_VRAM0_TEST[5], // 0xA0 -// &OBJ_VRAM0_TEST[6], // 0xC0 -// &OBJ_VRAM0_TEST[7], // 0xE0 -// &OBJ_VRAM0_TEST[32], // 0x400 -// &OBJ_VRAM0_TEST[33], // 0x420 -// &OBJ_VRAM0_TEST[34], // 0x440 -// &OBJ_VRAM0_TEST[35], // 0x460 -// }; - static int do_nothing(s16 unused1, s16 unused2, int unused3) { return 9; -- cgit v1.2.3 From 18b5a882f21e06e1cdfd0ba51c04784706ed1ba4 Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Mon, 15 Jan 2018 22:44:50 +0100 Subject: Done data for battle_interface.c, doing OBJ_VRAM0 stuff later --- src/battle/battle_interface.c | 406 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 366 insertions(+), 40 deletions(-) (limited to 'src') diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 6f6dc9de6..2b47d358a 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -29,6 +29,360 @@ struct UnknownStruct7 u8 filler0[0x180]; }; +void sub_8043CEC(struct Sprite *sprite); +extern const u8 gBattleGfx_BallStatusBar[]; +extern const u8 gUnknown_08D1212C[]; +extern const u8 gUnknown_08D1214C[]; +extern const u8 Tiles_D129AC[]; +static void sub_8045030(struct Sprite *sprite); +static void sub_804507C(struct Sprite *sprite); + +const struct OamData gOamData_820A4E4 = +{ + .shape = 1, + .size = 3, + .priority = 1, +}; + +const struct SpriteTemplate gSpriteTemplates_820A4EC[] = +{ + { + .tileTag = 55039, + .paletteTag = 55039, + .oam = &gOamData_820A4E4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + { + .tileTag = 55040, + .paletteTag = 55039, + .oam = &gOamData_820A4E4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, +}; + +const struct SpriteTemplate gSpriteTemplates_820A51C[] = +{ + { + .tileTag = 55041, + .paletteTag = 55039, + .oam = &gOamData_820A4E4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + { + .tileTag = 55042, + .paletteTag = 55039, + .oam = &gOamData_820A4E4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, +}; + +const struct SpriteTemplate gSpriteTemplate_820A54C = +{ + .tileTag = 55051, + .paletteTag = 55039, + .oam = &gOamData_820A4E4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct OamData gOamData_820A564 = +{ + .shape = 1, + .size = 1, + .priority = 1, +}; + +const struct SpriteTemplate gSpriteTemplates_820A56C[] = +{ + { + .tileTag = 55044, + .paletteTag = 55044, + .oam = &gOamData_820A564, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8043CEC, + }, + { + .tileTag = 55045, + .paletteTag = 55044, + .oam = &gOamData_820A564, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8043CEC, + }, + { + .tileTag = 55046, + .paletteTag = 55044, + .oam = &gOamData_820A564, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8043CEC, + }, + { + .tileTag = 55047, + .paletteTag = 55044, + .oam = &gOamData_820A564, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8043CEC, + }, +}; + +const struct Subsprite gSubspriteTable_820A5CC[] = +{ + { .x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 0, .size = 3 }, // size := 64x32 + { .x = 48, .y = 0, .shape = ST_OAM_SQUARE, .priority = 1, .tileOffset = 32, .size = 2 }, // size := 32x32 + { .x = -16, .y = 32, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 48, .size = 1 }, // size := 32x8 + { .x = 16, .y = 32, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 52, .size = 1 }, // size := 32x8 + { .x = 48, .y = 32, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 56, .size = 1 }, // size := 32x8 +}; + +const struct Subsprite gSubspriteTable_820A5F4[] = +{ + { .x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 64, .size = 3 }, // size := 64x32 + { .x = 48, .y = 0, .shape = ST_OAM_SQUARE, .priority = 1, .tileOffset = 96, .size = 2 }, // size := 32x32 + { .x = -16, .y = 32, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset =112, .size = 1 }, // size := 32x8 + { .x = 16, .y = 32, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset =116, .size = 1 }, // size := 32x8 + { .x = 48, .y = 32, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset =120, .size = 1 }, // size := 32x8 +}; + +const struct Subsprite gSubspriteTable_820A61C[] = +{ + { .x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 0, .size = 3 }, // size := 64x32 + { .x = 48, .y = 0, .shape = ST_OAM_SQUARE, .priority = 1, .tileOffset = 32, .size = 2 }, // size := 32x32 +}; + +const struct Subsprite gSubspriteTable_820A62C[] = +{ + { .x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 0, .size = 3 }, // size := 64x32 + { .x = 48, .y = 0, .shape = ST_OAM_SQUARE, .priority = 1, .tileOffset = 32, .size = 2 }, // size := 32x32 +}; + +const struct Subsprite gSubspriteTable_820A63C[] = +{ + { .x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 0, .size = 1 }, // size := 32x8 + { .x = 16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 4, .size = 1 }, // size := 32x8 +}; + +const struct Subsprite gSubspriteTable_820A64C[] = +{ + { .x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 0, .size = 1 }, // size := 32x8 + { .x = 16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 4, .size = 1 }, // size := 32x8 + { .x = -32, .y = 0, .shape = ST_OAM_SQUARE, .priority = 1, .tileOffset = 8, .size = 0 }, // size := 8x8 +}; + +const struct SubspriteTable gSubspriteTables_unreferenced[] = +{ + { ARRAY_COUNT(gSubspriteTable_820A5CC), gSubspriteTable_820A5CC }, + { ARRAY_COUNT(gSubspriteTable_820A61C), gSubspriteTable_820A61C }, + { ARRAY_COUNT(gSubspriteTable_820A5F4), gSubspriteTable_820A5F4 }, + { ARRAY_COUNT(gSubspriteTable_820A62C), gSubspriteTable_820A62C }, +}; + +const struct SubspriteTable gSubspriteTables_820A684[] = +{ + { ARRAY_COUNT(gSubspriteTable_820A63C), gSubspriteTable_820A63C }, + { ARRAY_COUNT(gSubspriteTable_820A64C), gSubspriteTable_820A64C }, +}; + +const struct Subsprite gSubspriteTable_820A694[] = +{ + { .x = -96, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 0, .size = 1 }, // size := 32x8 + { .x = -64, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 4, .size = 1 }, // size := 32x8 + { .x = -32, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 8, .size = 1 }, // size := 32x8 + { .x = 0, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 12, .size = 1 }, // size := 32x8 +}; + +const struct Subsprite gSubspriteTable_820A6B4[] = +{ + { .x = -96, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 0, .size = 1 }, // size := 32x8 + { .x = -64, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 4, .size = 1 }, // size := 32x8 + { .x = -32, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 8, .size = 1 }, // size := 32x8 + { .x = 0, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 8, .size = 1 }, // size := 32x8 + { .x = 32, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 8, .size = 1 }, // size := 32x8 + { .x = 64, .y = 0, .shape = ST_OAM_H_RECTANGLE, .priority = 1, .tileOffset = 12, .size = 1 }, // size := 32x8 +}; + +const struct SubspriteTable gSubspriteTables_820A6E4[] = +{ + { ARRAY_COUNT(gSubspriteTable_820A694), gSubspriteTable_820A694 }, +}; + +const struct SubspriteTable gSubspriteTables_820A6EC[] = +{ + { ARRAY_COUNT(gSubspriteTable_820A6B4), gSubspriteTable_820A6B4 }, +}; + +// unused dakuten/handakuten tiles +const u8 gUnusedDakuten[] = INCBIN_U8("graphics/unused/dakuten.4bpp"); + +const struct CompressedSpriteSheet gUnknown_0820A754[] = +{ + { gBattleGfx_BallStatusBar, 512, 0xd70c }, + { gBattleGfx_BallStatusBar, 512, 0xd70d }, +}; + +const struct CompressedSpritePalette gUnknown_0820A764[] = +{ + { gUnknown_08D1212C, 0xd710 }, + { gUnknown_08D1212C, 0xd711 }, +}; + +const struct CompressedSpritePalette gUnknown_0820A774[] = +{ + { gUnknown_08D1214C, 0xd712 }, + { gUnknown_08D1214C, 0xd713 }, +}; + +const struct CompressedSpriteSheet gUnknown_0820A784[] = +{ + { Tiles_D129AC, 0x80, 0xd714 }, + { Tiles_D129AC, 0x80, 0xd715 }, +}; + +const struct OamData gOamData_820A794 = +{ + .shape = 1, + .size = 3, + .priority = 1, +}; + +const struct OamData gOamData_820A79C = +{ + .shape = 0, + .size = 0, + .priority = 1, +}; + +const struct SpriteTemplate gSpriteTemplate_820A7A4 = +{ + .tileTag = 55052, + .paletteTag = 55056, + .oam = &gOamData_820A4E4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8045030, +}; + +const struct SpriteTemplate gSpriteTemplate_820A7BC = +{ + .tileTag = 55053, + .paletteTag = 55057, + .oam = &gOamData_820A4E4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8045030, +}; + +const struct SpriteTemplate gSpriteTemplate_820A7D4 = +{ + .tileTag = 55060, + .paletteTag = 55058, + .oam = &gOamData_820A79C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_804507C, +}; + +const struct SpriteTemplate gSpriteTemplate_820A7EC = +{ + .tileTag = 55061, + .paletteTag = 55059, + .oam = &gOamData_820A79C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_804507C, +}; + +TileData4bpp *const gUnknown_0820A804[2] = +{ + &OBJ_VRAM0_TEMP[74], + &OBJ_VRAM0_TEMP[75], +}; + +TileData4bpp *const gUnknown_0820A80C[2] = +{ + &OBJ_VRAM0_TEMP[41], + &OBJ_VRAM0_TEMP[42], +}; + +TileData4bpp *const gUnknown_0820A814[2] = +{ + &OBJ_VRAM0_TEMP[42], + &OBJ_VRAM0_TEMP[43], +}; + +const u8 gUnknown_0820A81C[] = __("{COLOR DARK_GREY}{HIGHLIGHT RED} "); + +TileData4bpp *const gUnknown_0820A83C[3] = +{ + &OBJ_VRAM0_TEMP[31], + &OBJ_VRAM0_TEMP[88], + &OBJ_VRAM0_TEMP[89], +}; + +TileData4bpp *const gUnknown_0820A848[3] = +{ + &OBJ_VRAM0_TEMP[22], + &OBJ_VRAM0_TEMP[23], + &OBJ_VRAM0_TEMP[48], +}; + +TileData4bpp *const gUnknown_0820A854[2] = +{ + &OBJ_VRAM0_TEMP[90], + &OBJ_VRAM0_TEMP[91], +}; + +TileData4bpp *const gUnknown_0820A85C[2] = +{ + &OBJ_VRAM0_TEMP[49], + &OBJ_VRAM0_TEMP[50], +}; + +const u8 gUnknown_0820A864[] = _("{COLOR DARK_GREY}{HIGHLIGHT RED} /"); + +TileData4bpp *const gUnknown_0820A87C[6] = +{ + &OBJ_VRAM0_TEMP[0], + &OBJ_VRAM0_TEMP[1], + &OBJ_VRAM0_TEMP[2], + &OBJ_VRAM0_TEMP[3], + &OBJ_VRAM0_TEMP[4], + &OBJ_VRAM0_TEMP[5], +}; + +TileData4bpp *const gUnknown_0820A894[2] = +{ + &OBJ_VRAM0_TEMP[6], + &OBJ_VRAM0_TEMP[7], +}; + +const u8 gUnknown_0820A89C[] = __("{COLOR DARK_GREY}{HIGHLIGHT TRANSPARENT} "); +const u8 gUnknown_0820A8B0[] = _("{HIGHLIGHT RED}"); + TileData4bpp *const gUnknown_0820A8B4[10] = { &OBJ_VRAM0_TEMP[ 2], @@ -79,35 +433,6 @@ extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; -extern const struct SpriteTemplate gSpriteTemplate_820A4EC[]; -extern const struct SpriteTemplate gSpriteTemplate_820A51C[]; -extern const struct SpriteTemplate gSpriteTemplate_820A54C; -extern const struct SpriteTemplate gSpriteTemplate_820A56C[]; -extern const struct SubspriteTable gSubspriteTables_820A684[]; -extern const struct SubspriteTable gSubspriteTables_820A6E4[]; -extern const struct SubspriteTable gSubspriteTables_820A6EC[]; -extern const struct SpriteSheet gUnknown_0820A754[]; -extern const struct SpritePalette gUnknown_0820A764[]; -extern const struct SpritePalette gUnknown_0820A774[]; -extern const struct SpriteSheet gUnknown_0820A784[]; -extern const struct SpriteTemplate gSpriteTemplate_820A7A4[]; -extern const struct SpriteTemplate gSpriteTemplate_820A7D4[]; -extern void *const gUnknown_0820A804[]; -extern void *const gUnknown_0820A80C[]; -extern void *const gUnknown_0820A814[]; -extern void *const gUnknown_0820A83C[]; -extern void *const gUnknown_0820A848[]; -extern void *const gUnknown_0820A854[]; -extern void *const gUnknown_0820A85C[]; -extern TileData4bpp *const gUnknown_0820A87C[]; -extern TileData4bpp *const gUnknown_0820A894[]; -// extern TileData4bpp *const gUnknown_0820A8B4[]; -// extern TileData4bpp *const gUnknown_0820A8DC[]; -// extern TileData4bpp *const gUnknown_0820A904[]; -extern const u8 gUnknown_0820A81C[]; -extern const u8 gUnknown_0820A864[]; -extern const u8 gUnknown_0820A89C[]; -extern const u8 gUnknown_0820A8B0[]; extern const u8 BattleText_SafariBalls[]; extern const u8 BattleText_SafariBallsLeft[]; extern const u8 BattleText_HighlightRed[]; @@ -463,8 +788,8 @@ u8 battle_make_oam_normal_battle(u8 a) { if (GetBankSide(a) == 0) { - spriteId1 = CreateSprite(&gSpriteTemplate_820A4EC[0], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A4EC[0], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[0], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[0], 240, 160, 1); gSprites[spriteId1].oam.shape = 0; gSprites[spriteId2].oam.shape = 0; @@ -472,8 +797,8 @@ u8 battle_make_oam_normal_battle(u8 a) } else { - spriteId1 = CreateSprite(&gSpriteTemplate_820A51C[0], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A51C[0], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[0], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[0], 240, 160, 1); gSprites[spriteId2].oam.tileNum += 32; sp0 = 2; @@ -489,8 +814,8 @@ u8 battle_make_oam_normal_battle(u8 a) { if (GetBankSide(a) == 0) { - spriteId1 = CreateSprite(&gSpriteTemplate_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data[5] = spriteId1; @@ -501,8 +826,8 @@ u8 battle_make_oam_normal_battle(u8 a) //_08043ACC else { - spriteId1 = CreateSprite(&gSpriteTemplate_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplate_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data[5] = spriteId1; @@ -514,7 +839,7 @@ u8 battle_make_oam_normal_battle(u8 a) } //_08043B50 - spriteId3 = CreateSpriteAtEnd(&gSpriteTemplate_820A56C[gBanksBySide[a]], 140, 60, 0); + spriteId3 = CreateSpriteAtEnd(&gSpriteTemplates_820A56C[gBanksBySide[a]], 140, 60, 0); sprite = &gSprites[spriteId3]; SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); sprite->subspriteMode = 2; @@ -696,7 +1021,8 @@ void sub_8043F44(u8 a) static void sub_8043FC0(u8 a, u8 b) { u8 str[30]; - void *const *r7; + // void *const *r7; + TileData4bpp *const *r7; u8 *ptr; s32 i; s32 two; @@ -746,7 +1072,7 @@ static void sub_8043FC0(u8 a, u8 b) two = 2; for (i = 0; i < two; i++) - CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32); + CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum, 32); } #ifdef NONMATCHING -- cgit v1.2.3 From 8dda2620e78d2c84b36246aa30146694d929392f Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Mon, 15 Jan 2018 22:58:06 +0100 Subject: A bit of cleanup --- src/battle/battle_interface.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 2b47d358a..0fca01c00 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -14,6 +14,7 @@ #include "task.h" #include "text.h" #include "ewram.h" +#include "graphics.h" struct UnknownStruct5 { @@ -29,11 +30,7 @@ struct UnknownStruct7 u8 filler0[0x180]; }; -void sub_8043CEC(struct Sprite *sprite); -extern const u8 gBattleGfx_BallStatusBar[]; -extern const u8 gUnknown_08D1212C[]; -extern const u8 gUnknown_08D1214C[]; -extern const u8 Tiles_D129AC[]; +static void sub_8043CEC(struct Sprite *sprite); static void sub_8045030(struct Sprite *sprite); static void sub_804507C(struct Sprite *sprite); @@ -876,7 +873,7 @@ static const void *sub_8043CDC(u8 a) return gUnknown_08D1216C[a]; } -void sub_8043CEC(struct Sprite *sprite) +static void sub_8043CEC(struct Sprite *sprite) { u8 r5 = sprite->data[5]; @@ -2640,7 +2637,7 @@ static void sub_8044F70(u8 taskId) } } -void sub_8045030(struct Sprite *sprite) +static void sub_8045030(struct Sprite *sprite) { if (sprite->pos2.x != 0) sprite->pos2.x += sprite->data[0]; @@ -2656,7 +2653,7 @@ static void sub_8045048(struct Sprite *sprite) sprite->data[1] &= 0xF; } -void sub_804507C(struct Sprite *sprite) +static void sub_804507C(struct Sprite *sprite) { u8 r3; u16 r2; -- cgit v1.2.3 From af35c8e429c09197eb46346696792ad89bf0c7d3 Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Mon, 15 Jan 2018 23:22:16 +0100 Subject: Done decompiling battle_interfaces.s --- src/battle/battle_7.c | 57 ++++++++++++++++++++++++++++++++++--------- src/battle/battle_interface.c | 4 +-- 2 files changed, 48 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 1c79d7ebf..195e47a6b 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -20,6 +20,7 @@ #include "text.h" #include "gba/m4a_internal.h" #include "ewram.h" +#include "graphics.h" extern u8 gBattleBufferA[][0x200]; extern u8 gActiveBank; @@ -49,19 +50,53 @@ extern const u8 *const gBattleAnims_Special[]; extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern const struct MonCoords gTrainerFrontPicCoords[]; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; -extern const u8 gSubstituteDollTilemap[]; -extern const u8 gSubstituteDollGfx[]; -extern const u8 gSubstituteDollPal[]; extern const struct CompressedSpriteSheet gUnknown_081FAF24; extern const struct SpriteTemplate gSpriteTemplate_81FAF34; -extern const struct CompressedSpriteSheet gUnknown_0820A47C; -extern const struct CompressedSpriteSheet gUnknown_0820A484; -extern const struct CompressedSpriteSheet gUnknown_0820A48C[]; -extern const struct CompressedSpriteSheet gUnknown_0820A49C[]; -extern const struct CompressedSpriteSheet gUnknown_0820A4AC; -extern const struct CompressedSpriteSheet gUnknown_0820A4B4[]; -extern const struct SpritePalette gUnknown_0820A4D4[]; -extern const u8 gUnknown_08D09C48[]; +extern const u8 gSubstituteDollTilemap[]; // graphics.s +extern const u8 gSubstituteDollGfx[]; // graphics.s +extern const u8 gSubstituteDollPal[]; // graphics.s +extern const u8 gUnknown_08D09C48[]; // graphics.s + +const struct CompressedSpriteSheet gUnknown_0820A47C = +{ gBattleWindowLargeGfx, 4096, 0xd6ff }; + +const struct CompressedSpriteSheet gUnknown_0820A484 = +{ gBattleWindowSmallGfx, 4096, 0xd701 }; + +const struct CompressedSpriteSheet gUnknown_0820A48C[] = +{ + { gBattleWindowSmall2Gfx, 2048, 0xd6ff }, + { gBattleWindowSmall2Gfx, 2048, 0xd700 }, +}; + +const struct CompressedSpriteSheet gUnknown_0820A49C[] = +{ + { gBattleWindowSmall3Gfx, 2048, 0xd701 }, + { gBattleWindowSmall3Gfx, 2048, 0xd702 }, +}; + +const struct CompressedSpriteSheet gUnknown_0820A4AC = +{ gBattleWindowLarge2Gfx, 4096, 0xd70b }; + +const struct CompressedSpriteSheet gUnknown_0820A4B4[] = +{ + { gBlankGfxCompressed, 256, 0xd704 }, + { gBlankGfxCompressed, 288, 0xd705 }, + { gBlankGfxCompressed, 256, 0xd706 }, + { gBlankGfxCompressed, 288, 0xd707 }, +}; + +const struct SpritePalette gUnknown_0820A4D4[] = +{ + { gUnknown_08D1212C, 0xD6FF }, + { gUnknown_08D1214C, 0xD704 }, +}; + +// const struct CompressedSpriteSheet gUnknown_0820A784[] = +// { +// { Tiles_D129AC, 0x80, 0xd714 }, +// { Tiles_D129AC, 0x80, 0xd715 }, +// }; extern void c3_0802FDF4(u8); extern void sub_80440EC(); diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 0fca01c00..a24c0427c 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -237,13 +237,13 @@ const struct CompressedSpriteSheet gUnknown_0820A754[] = { gBattleGfx_BallStatusBar, 512, 0xd70d }, }; -const struct CompressedSpritePalette gUnknown_0820A764[] = +const struct SpritePalette gUnknown_0820A764[] = { { gUnknown_08D1212C, 0xd710 }, { gUnknown_08D1212C, 0xd711 }, }; -const struct CompressedSpritePalette gUnknown_0820A774[] = +const struct SpritePalette gUnknown_0820A774[] = { { gUnknown_08D1214C, 0xd712 }, { gUnknown_08D1214C, 0xd713 }, -- cgit v1.2.3 From 35f04db27cd4d5689c6498ba80eaeb695f973ebc Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Tue, 16 Jan 2018 02:24:40 +0100 Subject: Continuing testing with OBJ_VRAM0, all replaced with OBJ_VRAM0_TEMP now --- src/battle/battle_7.c | 6 ---- src/battle/battle_interface.c | 69 ++++++++++++++++++++++++++++++------------- src/engine/sprite.c | 14 +++++---- src/engine/text.c | 2 ++ src/pokemon/pokemon_icon.c | 3 +- src/rom_8077ABC.c | 3 +- 6 files changed, 63 insertions(+), 34 deletions(-) (limited to 'src') diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 195e47a6b..e7a2c6a4e 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -92,12 +92,6 @@ const struct SpritePalette gUnknown_0820A4D4[] = { gUnknown_08D1214C, 0xD704 }, }; -// const struct CompressedSpriteSheet gUnknown_0820A784[] = -// { -// { Tiles_D129AC, 0x80, 0xd714 }, -// { Tiles_D129AC, 0x80, 0xd715 }, -// }; - extern void c3_0802FDF4(u8); extern void sub_80440EC(); extern void sub_804777C(); diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index a24c0427c..12d7f48b2 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -434,6 +434,7 @@ extern const u8 BattleText_SafariBalls[]; extern const u8 BattleText_SafariBallsLeft[]; extern const u8 BattleText_HighlightRed[]; extern const u8 gUnknown_08D1216C[][32]; +// extern const TileData4bpp gUnknown_08D1216C[]; // graphics extern const u16 gBattleInterfaceStatusIcons_DynPal[]; @@ -443,6 +444,7 @@ extern const u16 gBattleInterfaceStatusIcons_DynPal[]; static void sub_8043D5C(struct Sprite *); static const void *sub_8043CDC(u8); +// static const TileData4bpp *sub_8043CDC(u8); static void sub_8044210(u8, s16, u8); static void draw_status_ailment_maybe(u8); extern void sub_8045180(struct Sprite *); @@ -841,7 +843,8 @@ u8 battle_make_oam_normal_battle(u8 a) SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); sprite->subspriteMode = 2; sprite->oam.priority = 1; - CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); + // CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); + CpuCopy32(sub_8043CDC(1), &OBJ_VRAM0_TEMP[sprite->oam.tileNum], 64); gSprites[spriteId1].data[5] = spriteId3; gSprites[spriteId1].data[6] = a; @@ -869,8 +872,10 @@ u8 battle_make_oam_safari_battle(void) } static const void *sub_8043CDC(u8 a) +// static const TileData4bpp *sub_8043CDC(u8 a) { return gUnknown_08D1216C[a]; + // return &gUnknown_08D1216C[a]; } static void sub_8043CEC(struct Sprite *sprite) @@ -1301,16 +1306,17 @@ static void sub_8044210(u8 a, s16 b, u8 c) sub_8003504(ptr, b, 0xF, 1); if (GetBankSide(r4) == 0) { + int r2 = 52; // CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); - CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); + CpuCopy32(sub_8043CDC(0x74), &OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + r2], 32); } } r4 = gSprites[a].data[5]; sub_80034D4(ewram0_9(0), str); for (i = 0; i < r10; i++) { - // CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20); - CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum, 0x20); + // CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 32); + CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum, 32); } } @@ -1672,15 +1678,19 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data[5]; - CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); + // CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); + CpuFill32(0, &OBJ_VRAM0_TEMP[gSprites[spriteId].oam.tileNum], 256); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } else { + int temp; draw_status_ailment_maybe(gHealthboxIDs[i]); sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5); - CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); + temp = 52; + // CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); + CpuCopy32(sub_8043CDC(0x75), &OBJ_VRAM0_TEMP[gSprites[gHealthboxIDs[i]].oam.tileNum + temp], 32); } } else @@ -1695,7 +1705,8 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data[5]; - CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); + // CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); + CpuFill32(0, &OBJ_VRAM0_TEMP[gSprites[spriteId].oam.tileNum], 256); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } @@ -2869,11 +2880,14 @@ static void sub_8045458(u8 a, u8 b) u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES); if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) { + int temp = 8; r4 = gSprites[a].data[5]; if (b != 0) - CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); + // CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); + CpuCopy32(sub_8043CDC(0x46), &OBJ_VRAM0_TEMP[gSprites[r4].oam.tileNum + temp], 32); else - CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); + // CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); + CpuFill32(0, &OBJ_VRAM0_TEMP[gSprites[r4].oam.tileNum + temp], 32); } } } @@ -2934,10 +2948,12 @@ static void draw_status_ailment_maybe(u8 a) r6 = sub_8043CDC(0x27); for (i = 0; i < 3; i++) - CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32); + // CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32); + CpuCopy32(r6, &OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + r8 + i], 32); if (!ewram17800[r7].unk0_4) - CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64); + // CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64); + CpuCopy32(sub_8043CDC(1), &OBJ_VRAM0_TEMP[gSprites[r10].oam.tileNum], 64); sub_8045458(a, 1); return; @@ -2948,13 +2964,17 @@ static void draw_status_ailment_maybe(u8 a) // I don't like writing the array index like this, but I can't get it to match otherwise. FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2); - CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); + // CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); + CpuCopy32(r6, OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + r8], 96); if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE) { if (!ewram17800[r7].unk0_4) { - CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32); - CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32); + // CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32); + // CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32); + int temp = 1; + CpuCopy32(sub_8043CDC(0), OBJ_VRAM0_TEMP[gSprites[r10].oam.tileNum], 32); + CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0_TEMP[gSprites[r10].oam.tileNum + temp], 32); } } sub_8045458(a, 0); @@ -3035,11 +3055,13 @@ static void sub_80458B0(u8 a) CpuCopy32(sub_8043CDC(0x2B), r6 + i * 64, 32); for (r7 = 3; r7 < 3 + r8; r7++) { - addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32; + // addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32; + addr = OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + MACRO1(r7)]; CpuCopy32(r6, addr, 32); r6 += 32; - addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32; + // addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32; + addr = OBJ_VRAM0_TEMP[8 + gSprites[a].oam.tileNum + MACRO1(r7)]; CpuCopy32(r6, addr, 32); r6 += 32; } @@ -3063,7 +3085,8 @@ static void sub_8045998(u8 a) r7 = ewram520_2 + status * 0x180 + 32; for (i = 6; i < 6 + r6; i++) { - CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32); + // CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32); + CpuCopy32(r7, OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + 24 + MACRO1(i)], 32); r7 += 64; } } @@ -3187,9 +3210,11 @@ static void sub_8045D58(u8 a, u8 b) { u8 r4 = gSprites[ewram17850[a].unk0].data[5]; if (i < 2) - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32); + // CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0_TEMP[gSprites[r4].oam.tileNum + 2 + i], 32); else - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32); + // CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0_TEMP[i + gSprites[r4].oam.tileNum + 2], 32); } break; case 1: @@ -3203,9 +3228,11 @@ static void sub_8045D58(u8 a, u8 b) for (i = 0; i < 8; i++) { if (i < 4) - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32); + // CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0_TEMP[gSprites[ewram17850[a].unk0].oam.tileNum + 36 + i], 32); else - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32); + // CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0_TEMP[i + gSprites[ewram17850[a].unk0].oam.tileNum + 92], 32); } break; } diff --git a/src/engine/sprite.c b/src/engine/sprite.c index cf35e12a3..d13253e19 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -29,7 +29,7 @@ struct SpriteCopyRequest { const u8 *src; - u8 *dest; + u8 *dest; // to TileData4bpp *? u16 size; }; @@ -818,7 +818,8 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data; - gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; + // gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; + gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0_TEMP[tileNum]; gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } @@ -1465,7 +1466,8 @@ u16 LoadSpriteSheet(const struct SpriteSheet *sheet) else { AllocSpriteTileRange(sheet->tag, (u16)tileStart, sheet->size / TILE_SIZE_4BPP); - CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + // CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + CpuCopy16(sheet->data, &OBJ_VRAM0_TEMP[tileStart], sheet->size); return (u16)tileStart; } } @@ -1503,7 +1505,8 @@ void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + // CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); + CpuCopy16(data, OBJ_VRAM0_TEMP[tileStart], sheet->size); } void LoadTilesForSpriteSheets(struct SpriteSheet *sheets) @@ -1589,7 +1592,8 @@ void RequestSpriteSheetCopy(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); + // RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); + RequestSpriteCopy(data, OBJ_VRAM0_TEMP[tileStart], sheet->size); } u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet) diff --git a/src/engine/text.c b/src/engine/text.c index fe18a6d79..5d2abe785 100644 --- a/src/engine/text.c +++ b/src/engine/text.c @@ -552,6 +552,7 @@ const struct WindowTemplate gWindowTemplate_81E6C74 = 30, // width 20, // height OBJ_VRAM0, // tile data + // OBJ_VRAM0_TEMP, // tile data NULL, // tilemap }; @@ -1686,6 +1687,7 @@ const struct WindowTemplate gWindowTemplate_81E725C = 30, // width 20, // height OBJ_VRAM0, // tile data + // OBJ_VRAM0_TEMP, // tile data NULL, // tilemap }; diff --git a/src/pokemon/pokemon_icon.c b/src/pokemon/pokemon_icon.c index b1b462761..9ff4d0dfa 100644 --- a/src/pokemon/pokemon_icon.c +++ b/src/pokemon/pokemon_icon.c @@ -1219,7 +1219,8 @@ u8 UpdateMonIconFrame(struct Sprite *sprite) // because sprite->images is a struct def, it has to be casted to (u8 *) before any // arithmetic can be performed. (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame), - OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, + // OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, + OBJ_VRAM0_TEMP[sprite->oam.tileNum], sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]); { register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 2b5a3c036..c1304cfb9 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -1949,7 +1949,8 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, ); } - DmaCopy32Defvars(3, (void *)0x2000000, (void *)(VRAM + 0x10000 + (sheet * 0x20)), 0x800); + // DmaCopy32Defvars(3, (void *)0x2000000, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800); + DmaCopy32Defvars(3, (void *)0x2000000, (void *) &OBJ_VRAM0_TEMP[sheet], 0x800); if (!isBackpic) sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonFrontPicCoords[species].y_offset, a6); -- cgit v1.2.3 From 37396ce835e702248b9e8fa1bbaec07b8b64ab4f Mon Sep 17 00:00:00 2001 From: "Marco Willems (M17.1)" Date: Fri, 19 Jan 2018 17:18:14 +0100 Subject: switching over to a different branch for testing with tile stuff --- src/battle/battle_interface.c | 258 ++++++++++++++++++------------------------ src/engine/sprite.c | 14 +-- src/engine/text.c | 2 - src/pokemon/pokemon_icon.c | 3 +- src/rom_8077ABC.c | 3 +- 5 files changed, 119 insertions(+), 161 deletions(-) (limited to 'src') diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 12d7f48b2..14e161c75 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -313,113 +313,113 @@ const struct SpriteTemplate gSpriteTemplate_820A7EC = .callback = sub_804507C, }; -TileData4bpp *const gUnknown_0820A804[2] = +u8 *const gUnknown_0820A804[2] = { - &OBJ_VRAM0_TEMP[74], - &OBJ_VRAM0_TEMP[75], + OBJ_VRAM0 + 32 * 74, + OBJ_VRAM0 + 32 * 75, }; -TileData4bpp *const gUnknown_0820A80C[2] = +u8 *const gUnknown_0820A80C[2] = { - &OBJ_VRAM0_TEMP[41], - &OBJ_VRAM0_TEMP[42], + OBJ_VRAM0 + 32 * 41, + OBJ_VRAM0 + 32 * 42, }; -TileData4bpp *const gUnknown_0820A814[2] = +u8 *const gUnknown_0820A814[2] = { - &OBJ_VRAM0_TEMP[42], - &OBJ_VRAM0_TEMP[43], + OBJ_VRAM0 + 32 * 42, + OBJ_VRAM0 + 32 * 43, }; const u8 gUnknown_0820A81C[] = __("{COLOR DARK_GREY}{HIGHLIGHT RED} "); -TileData4bpp *const gUnknown_0820A83C[3] = +u8 *const gUnknown_0820A83C[3] = { - &OBJ_VRAM0_TEMP[31], - &OBJ_VRAM0_TEMP[88], - &OBJ_VRAM0_TEMP[89], + OBJ_VRAM0 + 32 * 31, + OBJ_VRAM0 + 32 * 88, + OBJ_VRAM0 + 32 * 89, }; -TileData4bpp *const gUnknown_0820A848[3] = +u8 *const gUnknown_0820A848[3] = { - &OBJ_VRAM0_TEMP[22], - &OBJ_VRAM0_TEMP[23], - &OBJ_VRAM0_TEMP[48], + OBJ_VRAM0 + 32 * 22, + OBJ_VRAM0 + 32 * 23, + OBJ_VRAM0 + 32 * 48, }; -TileData4bpp *const gUnknown_0820A854[2] = +u8 *const gUnknown_0820A854[2] = { - &OBJ_VRAM0_TEMP[90], - &OBJ_VRAM0_TEMP[91], + OBJ_VRAM0 + 32 * 90, + OBJ_VRAM0 + 32 * 91, }; -TileData4bpp *const gUnknown_0820A85C[2] = +u8 *const gUnknown_0820A85C[2] = { - &OBJ_VRAM0_TEMP[49], - &OBJ_VRAM0_TEMP[50], + OBJ_VRAM0 + 32 * 49, + OBJ_VRAM0 + 32 * 50, }; const u8 gUnknown_0820A864[] = _("{COLOR DARK_GREY}{HIGHLIGHT RED} /"); -TileData4bpp *const gUnknown_0820A87C[6] = +u8 *const gUnknown_0820A87C[6] = { - &OBJ_VRAM0_TEMP[0], - &OBJ_VRAM0_TEMP[1], - &OBJ_VRAM0_TEMP[2], - &OBJ_VRAM0_TEMP[3], - &OBJ_VRAM0_TEMP[4], - &OBJ_VRAM0_TEMP[5], + OBJ_VRAM0 + 32 * 0, + OBJ_VRAM0 + 32 * 1, + OBJ_VRAM0 + 32 * 2, + OBJ_VRAM0 + 32 * 3, + OBJ_VRAM0 + 32 * 4, + OBJ_VRAM0 + 32 * 5, }; -TileData4bpp *const gUnknown_0820A894[2] = +u8 *const gUnknown_0820A894[2] = { - &OBJ_VRAM0_TEMP[6], - &OBJ_VRAM0_TEMP[7], + OBJ_VRAM0 + 32 * 6, + OBJ_VRAM0 + 32 * 7, }; const u8 gUnknown_0820A89C[] = __("{COLOR DARK_GREY}{HIGHLIGHT TRANSPARENT} "); const u8 gUnknown_0820A8B0[] = _("{HIGHLIGHT RED}"); -TileData4bpp *const gUnknown_0820A8B4[10] = -{ - &OBJ_VRAM0_TEMP[ 2], - &OBJ_VRAM0_TEMP[ 3], - &OBJ_VRAM0_TEMP[ 4], - &OBJ_VRAM0_TEMP[ 5], - &OBJ_VRAM0_TEMP[ 6], - &OBJ_VRAM0_TEMP[ 7], - &OBJ_VRAM0_TEMP[64], - &OBJ_VRAM0_TEMP[65], - &OBJ_VRAM0_TEMP[66], - &OBJ_VRAM0_TEMP[67], +u8 *const gUnknown_0820A8B4[10] = +{ + OBJ_VRAM0 + 32 * 2, + OBJ_VRAM0 + 32 * 3, + OBJ_VRAM0 + 32 * 4, + OBJ_VRAM0 + 32 * 5, + OBJ_VRAM0 + 32 * 6, + OBJ_VRAM0 + 32 * 7, + OBJ_VRAM0 + 32 * 64, + OBJ_VRAM0 + 32 * 65, + OBJ_VRAM0 + 32 * 66, + OBJ_VRAM0 + 32 * 67, }; -TileData4bpp *const gUnknown_0820A8DC[10] = -{ - &OBJ_VRAM0_TEMP[ 1], - &OBJ_VRAM0_TEMP[ 2], - &OBJ_VRAM0_TEMP[ 3], - &OBJ_VRAM0_TEMP[ 4], - &OBJ_VRAM0_TEMP[ 5], - &OBJ_VRAM0_TEMP[ 6], - &OBJ_VRAM0_TEMP[ 7], - &OBJ_VRAM0_TEMP[32], - &OBJ_VRAM0_TEMP[33], - &OBJ_VRAM0_TEMP[34], +u8 *const gUnknown_0820A8DC[10] = +{ + OBJ_VRAM0 + 32 * 1, + OBJ_VRAM0 + 32 * 2, + OBJ_VRAM0 + 32 * 3, + OBJ_VRAM0 + 32 * 4, + OBJ_VRAM0 + 32 * 5, + OBJ_VRAM0 + 32 * 6, + OBJ_VRAM0 + 32 * 7, + OBJ_VRAM0 + 32 * 32, + OBJ_VRAM0 + 32 * 33, + OBJ_VRAM0 + 32 * 34, }; -TileData4bpp *const gUnknown_0820A904[10] = -{ - &OBJ_VRAM0_TEMP[ 2], - &OBJ_VRAM0_TEMP[ 3], - &OBJ_VRAM0_TEMP[ 4], - &OBJ_VRAM0_TEMP[ 5], - &OBJ_VRAM0_TEMP[ 6], - &OBJ_VRAM0_TEMP[ 7], - &OBJ_VRAM0_TEMP[32], - &OBJ_VRAM0_TEMP[33], - &OBJ_VRAM0_TEMP[34], - &OBJ_VRAM0_TEMP[35], +u8 *const gUnknown_0820A904[10] = +{ + OBJ_VRAM0 + 32 * 2, + OBJ_VRAM0 + 32 * 3, + OBJ_VRAM0 + 32 * 4, + OBJ_VRAM0 + 32 * 5, + OBJ_VRAM0 + 32 * 6, + OBJ_VRAM0 + 32 * 7, + OBJ_VRAM0 + 32 * 32, + OBJ_VRAM0 + 32 * 33, + OBJ_VRAM0 + 32 * 34, + OBJ_VRAM0 + 32 * 35, }; extern u8 gDisplayedStringBattle[]; @@ -434,7 +434,6 @@ extern const u8 BattleText_SafariBalls[]; extern const u8 BattleText_SafariBallsLeft[]; extern const u8 BattleText_HighlightRed[]; extern const u8 gUnknown_08D1216C[][32]; -// extern const TileData4bpp gUnknown_08D1216C[]; // graphics extern const u16 gBattleInterfaceStatusIcons_DynPal[]; @@ -444,7 +443,6 @@ extern const u16 gBattleInterfaceStatusIcons_DynPal[]; static void sub_8043D5C(struct Sprite *); static const void *sub_8043CDC(u8); -// static const TileData4bpp *sub_8043CDC(u8); static void sub_8044210(u8, s16, u8); static void draw_status_ailment_maybe(u8); extern void sub_8045180(struct Sprite *); @@ -843,8 +841,7 @@ u8 battle_make_oam_normal_battle(u8 a) SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); sprite->subspriteMode = 2; sprite->oam.priority = 1; - // CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); - CpuCopy32(sub_8043CDC(1), &OBJ_VRAM0_TEMP[sprite->oam.tileNum], 64); + CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); gSprites[spriteId1].data[5] = spriteId3; gSprites[spriteId1].data[6] = a; @@ -872,10 +869,8 @@ u8 battle_make_oam_safari_battle(void) } static const void *sub_8043CDC(u8 a) -// static const TileData4bpp *sub_8043CDC(u8 a) { return gUnknown_08D1216C[a]; - // return &gUnknown_08D1216C[a]; } static void sub_8043CEC(struct Sprite *sprite) @@ -1023,8 +1018,7 @@ void sub_8043F44(u8 a) static void sub_8043FC0(u8 a, u8 b) { u8 str[30]; - // void *const *r7; - TileData4bpp *const *r7; + u8 *const *r7; u8 *ptr; s32 i; s32 two; @@ -1074,7 +1068,7 @@ static void sub_8043FC0(u8 a, u8 b) two = 2; for (i = 0; i < two; i++) - CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum, 32); + CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32); } #ifdef NONMATCHING @@ -1083,7 +1077,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) u8 str[0x14]; u8 *ptr; s32 foo; - void *const *r4; + u8 *const *r4; s32 i; // TODO: make this a local variable @@ -1279,8 +1273,7 @@ static void sub_8044210(u8 a, s16 b, u8 c) { u8 str[0x14]; u8 *ptr; - // void *const *r7; - TileData4bpp *const *r7; + u8 *const *r7; int r10; int r4; int i; @@ -1306,17 +1299,14 @@ static void sub_8044210(u8 a, s16 b, u8 c) sub_8003504(ptr, b, 0xF, 1); if (GetBankSide(r4) == 0) { - int r2 = 52; - // CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); - CpuCopy32(sub_8043CDC(0x74), &OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + r2], 32); + CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); } } r4 = gSprites[a].data[5]; sub_80034D4(ewram0_9(0), str); for (i = 0; i < r10; i++) { - // CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 32); - CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum, 32); + CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 32); } } @@ -1678,19 +1668,15 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data[5]; - // CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - CpuFill32(0, &OBJ_VRAM0_TEMP[gSprites[spriteId].oam.tileNum], 256); + CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } else { - int temp; draw_status_ailment_maybe(gHealthboxIDs[i]); sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5); - temp = 52; - // CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); - CpuCopy32(sub_8043CDC(0x75), &OBJ_VRAM0_TEMP[gSprites[gHealthboxIDs[i]].oam.tileNum + temp], 32); + CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); } } else @@ -1705,8 +1691,7 @@ void sub_804454C(void) { spriteId = gSprites[gHealthboxIDs[i]].data[5]; - // CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - CpuFill32(0, &OBJ_VRAM0_TEMP[gSprites[spriteId].oam.tileNum], 256); + CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0); sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); } @@ -2747,8 +2732,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) u8 *ptr; s32 i; s32 _7; - TileData4bpp *const *r1; - TileData4bpp *tileDataSrc; + u8 *const *r1; StringCopy(gDisplayedStringBattle, gUnknown_0820A8B0); GetMonData(pkmn, MON_DATA_NICKNAME, nickname); @@ -2823,44 +2807,42 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn) } } - tileDataSrc = (TileData4bpp *) ptr; - for (; i < _7; i++) - CpuCopy32(sub_8043CDC(0x2B), tileDataSrc + 2 * i, 32); + CpuCopy32(sub_8043CDC(0x2B), ptr + 64 * i, 32); if (GetBankSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle()) { - r1 = gUnknown_0820A8B4; + r1 = (u8 *const *)gUnknown_0820A8B4; for (i = 0; i < _7; i++) { - TileData4bpp *tileDataDest = r1[i]; + u8 *r4 = r1[i]; - tileDataDest += gSprites[a].oam.tileNum; - CpuCopy32(tileDataSrc, tileDataDest, 32); - tileDataSrc++; + r4 += gSprites[a].oam.tileNum * 32; + CpuCopy32(ptr, r4, 32); + ptr += 32; - tileDataDest += 8; - CpuCopy32(tileDataSrc, tileDataDest, 32); - tileDataSrc++; + r4 += 0x100; + CpuCopy32(ptr, r4, 32); + ptr += 32; } } else { if (GetBankSide(gSprites[a].data[6]) == 0) - r1 = gUnknown_0820A904; + r1 = (u8 *const *)gUnknown_0820A904; else - r1 = gUnknown_0820A8DC; + r1 = (u8 *const *)gUnknown_0820A8DC; for (i = 0; i < _7; i++) { - TileData4bpp *tileDataDest = r1[i]; + u8 *r4 = r1[i]; - tileDataDest += gSprites[a].oam.tileNum; - CpuCopy32(tileDataSrc, tileDataDest, 32); - tileDataSrc++; + r4 += gSprites[a].oam.tileNum * 32; + CpuCopy32(ptr, r4, 32); + ptr += 32; - tileDataDest += 8; - CpuCopy32(tileDataSrc, tileDataDest, 32); - tileDataSrc++; + r4 += 0x100; + CpuCopy32(ptr, r4, 32); + ptr += 32; } } } @@ -2880,14 +2862,11 @@ static void sub_8045458(u8 a, u8 b) u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES); if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) { - int temp = 8; r4 = gSprites[a].data[5]; if (b != 0) - // CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); - CpuCopy32(sub_8043CDC(0x46), &OBJ_VRAM0_TEMP[gSprites[r4].oam.tileNum + temp], 32); + CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); else - // CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); - CpuFill32(0, &OBJ_VRAM0_TEMP[gSprites[r4].oam.tileNum + temp], 32); + CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32); } } } @@ -2948,12 +2927,10 @@ static void draw_status_ailment_maybe(u8 a) r6 = sub_8043CDC(0x27); for (i = 0; i < 3; i++) - // CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32); - CpuCopy32(r6, &OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + r8 + i], 32); + CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32); if (!ewram17800[r7].unk0_4) - // CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64); - CpuCopy32(sub_8043CDC(1), &OBJ_VRAM0_TEMP[gSprites[r10].oam.tileNum], 64); + CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64); sub_8045458(a, 1); return; @@ -2964,17 +2941,13 @@ static void draw_status_ailment_maybe(u8 a) // I don't like writing the array index like this, but I can't get it to match otherwise. FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2); - // CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); - CpuCopy32(r6, OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + r8], 96); + CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE) { if (!ewram17800[r7].unk0_4) { - // CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32); - // CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32); - int temp = 1; - CpuCopy32(sub_8043CDC(0), OBJ_VRAM0_TEMP[gSprites[r10].oam.tileNum], 32); - CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0_TEMP[gSprites[r10].oam.tileNum + temp], 32); + CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32); + CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32); } } sub_8045458(a, 0); @@ -3055,13 +3028,11 @@ static void sub_80458B0(u8 a) CpuCopy32(sub_8043CDC(0x2B), r6 + i * 64, 32); for (r7 = 3; r7 < 3 + r8; r7++) { - // addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32; - addr = OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + MACRO1(r7)]; + addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32; CpuCopy32(r6, addr, 32); r6 += 32; - // addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32; - addr = OBJ_VRAM0_TEMP[8 + gSprites[a].oam.tileNum + MACRO1(r7)]; + addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32; CpuCopy32(r6, addr, 32); r6 += 32; } @@ -3085,8 +3056,7 @@ static void sub_8045998(u8 a) r7 = ewram520_2 + status * 0x180 + 32; for (i = 6; i < 6 + r6; i++) { - // CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32); - CpuCopy32(r7, OBJ_VRAM0_TEMP[gSprites[a].oam.tileNum + 24 + MACRO1(i)], 32); + CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32); r7 += 64; } } @@ -3210,11 +3180,9 @@ static void sub_8045D58(u8 a, u8 b) { u8 r4 = gSprites[ewram17850[a].unk0].data[5]; if (i < 2) - // CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32); - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0_TEMP[gSprites[r4].oam.tileNum + 2 + i], 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32); else - // CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32); - CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0_TEMP[i + gSprites[r4].oam.tileNum + 2], 32); + CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32); } break; case 1: @@ -3228,11 +3196,9 @@ static void sub_8045D58(u8 a, u8 b) for (i = 0; i < 8; i++) { if (i < 4) - // CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32); - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0_TEMP[gSprites[ewram17850[a].unk0].oam.tileNum + 36 + i], 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32); else - // CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32); - CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0_TEMP[i + gSprites[ewram17850[a].unk0].oam.tileNum + 92], 32); + CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32); } break; } diff --git a/src/engine/sprite.c b/src/engine/sprite.c index d13253e19..cf35e12a3 100644 --- a/src/engine/sprite.c +++ b/src/engine/sprite.c @@ -29,7 +29,7 @@ struct SpriteCopyRequest { const u8 *src; - u8 *dest; // to TileData4bpp *? + u8 *dest; u16 size; }; @@ -818,8 +818,7 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS) { gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data; - // gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; - gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0_TEMP[tileNum]; + gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum; gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size; gSpriteCopyRequestCount++; } @@ -1466,8 +1465,7 @@ u16 LoadSpriteSheet(const struct SpriteSheet *sheet) else { AllocSpriteTileRange(sheet->tag, (u16)tileStart, sheet->size / TILE_SIZE_4BPP); - // CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); - CpuCopy16(sheet->data, &OBJ_VRAM0_TEMP[tileStart], sheet->size); + CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); return (u16)tileStart; } } @@ -1505,8 +1503,7 @@ void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - // CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); - CpuCopy16(data, OBJ_VRAM0_TEMP[tileStart], sheet->size); + CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size); } void LoadTilesForSpriteSheets(struct SpriteSheet *sheets) @@ -1592,8 +1589,7 @@ void RequestSpriteSheetCopy(const struct SpriteSheet *sheet) { const u8 *data = sheet->data; u16 tileStart = GetSpriteTileStartByTag(sheet->tag); - // RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); - RequestSpriteCopy(data, OBJ_VRAM0_TEMP[tileStart], sheet->size); + RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size); } u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet) diff --git a/src/engine/text.c b/src/engine/text.c index 5d2abe785..fe18a6d79 100644 --- a/src/engine/text.c +++ b/src/engine/text.c @@ -552,7 +552,6 @@ const struct WindowTemplate gWindowTemplate_81E6C74 = 30, // width 20, // height OBJ_VRAM0, // tile data - // OBJ_VRAM0_TEMP, // tile data NULL, // tilemap }; @@ -1687,7 +1686,6 @@ const struct WindowTemplate gWindowTemplate_81E725C = 30, // width 20, // height OBJ_VRAM0, // tile data - // OBJ_VRAM0_TEMP, // tile data NULL, // tilemap }; diff --git a/src/pokemon/pokemon_icon.c b/src/pokemon/pokemon_icon.c index 9ff4d0dfa..b1b462761 100644 --- a/src/pokemon/pokemon_icon.c +++ b/src/pokemon/pokemon_icon.c @@ -1219,8 +1219,7 @@ u8 UpdateMonIconFrame(struct Sprite *sprite) // because sprite->images is a struct def, it has to be casted to (u8 *) before any // arithmetic can be performed. (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame), - // OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, - OBJ_VRAM0_TEMP[sprite->oam.tileNum], + OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP, sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]); { register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 0f5eaf40e..9d88c5e2a 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -1950,8 +1950,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, ); } - // DmaCopy32Defvars(3, (void *)0x2000000, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800); - DmaCopy32Defvars(3, (void *)0x2000000, (void *) &OBJ_VRAM0_TEMP[sheet], 0x800); + DmaCopy32Defvars(3, (void *)0x2000000, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800); if (!isBackpic) sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonFrontPicCoords[species].y_offset, a6); -- cgit v1.2.3 From f9745abae0277c1000f4816abc38f9b69828aea2 Mon Sep 17 00:00:00 2001 From: Blampharos Date: Mon, 22 Jan 2018 11:32:52 +0100 Subject: Begin decompiling battle_1.c Enemy backsprite data (palettes, coords, sprites) and foe elevation data are converted in this commit --- src/battle/battle_1.c | 446 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 446 insertions(+) create mode 100644 src/battle/battle_1.c (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c new file mode 100644 index 000000000..3e73c2ee4 --- /dev/null +++ b/src/battle/battle_1.c @@ -0,0 +1,446 @@ +#include "global.h" +#include "data2.h" +#include "constants/species.h" + +const struct MonCoords gTrainerBackPicCoords[] = { + {8, 4}, + {8, 4}, + {8, 4}, +}; + +extern const u8 gTrainerBackPic_Brendan[]; +extern const u8 gTrainerBackPic_May[]; +extern const u8 gTrainerBackPic_Wally[]; + +const struct CompressedSpriteSheet gTrainerBackPicTable[] = { + {gTrainerBackPic_Brendan, 0x2000, 0}, + {gTrainerBackPic_May, 0x2000, 1}, + {gTrainerBackPic_Wally, 0x2000, 2} +}; + +extern const u8 gTrainerPalette_Brendan[]; +extern const u8 gTrainerPalette_May[]; +extern const u8 gTrainerPalette_Wally[]; + +const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = { + {gTrainerPalette_Brendan, 0}, + {gTrainerPalette_May, 1}, + {gTrainerPalette_Wally, 2} +}; + +// 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, + [SPECIES_BULBASAUR] = 0, + [SPECIES_IVYSAUR] = 0, + [SPECIES_VENUSAUR] = 0, + [SPECIES_CHARMANDER] = 0, + [SPECIES_CHARMELEON] = 0, + [SPECIES_CHARIZARD] = 0, + [SPECIES_SQUIRTLE] = 0, + [SPECIES_WARTORTLE] = 0, + [SPECIES_BLASTOISE] = 0, + [SPECIES_CATERPIE] = 0, + [SPECIES_METAPOD] = 0, + [SPECIES_BUTTERFREE] = 8, + [SPECIES_WEEDLE] = 0, + [SPECIES_KAKUNA] = 0, + [SPECIES_BEEDRILL] = 8, + [SPECIES_PIDGEY] = 16, + [SPECIES_PIDGEOTTO] = 0, + [SPECIES_PIDGEOT] = 4, + [SPECIES_RATTATA] = 0, + [SPECIES_RATICATE] = 0, + [SPECIES_SPEAROW] = 0, + [SPECIES_FEAROW] = 4, + [SPECIES_EKANS] = 0, + [SPECIES_ARBOK] = 0, + [SPECIES_PIKACHU] = 0, + [SPECIES_RAICHU] = 0, + [SPECIES_SANDSHREW] = 0, + [SPECIES_SANDSLASH] = 0, + [SPECIES_NIDORAN_F] = 0, + [SPECIES_NIDORINA] = 0, + [SPECIES_NIDOQUEEN] = 0, + [SPECIES_NIDORAN_M] = 0, + [SPECIES_NIDORINO] = 0, + [SPECIES_NIDOKING] = 0, + [SPECIES_CLEFAIRY] = 0, + [SPECIES_CLEFABLE] = 0, + [SPECIES_VULPIX] = 0, + [SPECIES_NINETALES] = 0, + [SPECIES_JIGGLYPUFF] = 0, + [SPECIES_WIGGLYTUFF] = 0, + [SPECIES_ZUBAT] = 8, + [SPECIES_GOLBAT] = 8, + [SPECIES_ODDISH] = 0, + [SPECIES_GLOOM] = 0, + [SPECIES_VILEPLUME] = 0, + [SPECIES_PARAS] = 0, + [SPECIES_PARASECT] = 0, + [SPECIES_VENONAT] = 0, + [SPECIES_VENOMOTH] = 8, + [SPECIES_DIGLETT] = 0, + [SPECIES_DUGTRIO] = 0, + [SPECIES_MEOWTH] = 0, + [SPECIES_PERSIAN] = 0, + [SPECIES_PSYDUCK] = 0, + [SPECIES_GOLDUCK] = 0, + [SPECIES_MANKEY] = 0, + [SPECIES_PRIMEAPE] = 0, + [SPECIES_GROWLITHE] = 0, + [SPECIES_ARCANINE] = 0, + [SPECIES_POLIWAG] = 0, + [SPECIES_POLIWHIRL] = 0, + [SPECIES_POLIWRATH] = 0, + [SPECIES_ABRA] = 0, + [SPECIES_KADABRA] = 0, + [SPECIES_ALAKAZAM] = 0, + [SPECIES_MACHOP] = 0, + [SPECIES_MACHOKE] = 0, + [SPECIES_MACHAMP] = 0, + [SPECIES_BELLSPROUT] = 0, + [SPECIES_WEEPINBELL] = 0, + [SPECIES_VICTREEBEL] = 0, + [SPECIES_TENTACOOL] = 0, + [SPECIES_TENTACRUEL] = 0, + [SPECIES_GEODUDE] = 16, + [SPECIES_GRAVELER] = 0, + [SPECIES_GOLEM] = 0, + [SPECIES_PONYTA] = 0, + [SPECIES_RAPIDASH] = 0, + [SPECIES_SLOWPOKE] = 0, + [SPECIES_SLOWBRO] = 0, + [SPECIES_MAGNEMITE] = 16, + [SPECIES_MAGNETON] = 8, + [SPECIES_FARFETCHD] = 0, + [SPECIES_DODUO] = 0, + [SPECIES_DODRIO] = 0, + [SPECIES_SEEL] = 0, + [SPECIES_DEWGONG] = 0, + [SPECIES_GRIMER] = 0, + [SPECIES_MUK] = 0, + [SPECIES_SHELLDER] = 0, + [SPECIES_CLOYSTER] = 0, + [SPECIES_GASTLY] = 4, + [SPECIES_HAUNTER] = 4, + [SPECIES_GENGAR] = 0, + [SPECIES_ONIX] = 0, + [SPECIES_DROWZEE] = 0, + [SPECIES_HYPNO] = 0, + [SPECIES_KRABBY] = 0, + [SPECIES_KINGLER] = 0, + [SPECIES_VOLTORB] = 10, + [SPECIES_ELECTRODE] = 12, + [SPECIES_EXEGGCUTE] = 0, + [SPECIES_EXEGGUTOR] = 0, + [SPECIES_CUBONE] = 0, + [SPECIES_MAROWAK] = 0, + [SPECIES_HITMONLEE] = 0, + [SPECIES_HITMONCHAN] = 0, + [SPECIES_LICKITUNG] = 0, + [SPECIES_KOFFING] = 8, + [SPECIES_WEEZING] = 6, + [SPECIES_RHYHORN] = 0, + [SPECIES_RHYDON] = 0, + [SPECIES_CHANSEY] = 0, + [SPECIES_TANGELA] = 0, + [SPECIES_KANGASKHAN] = 0, + [SPECIES_HORSEA] = 0, + [SPECIES_SEADRA] = 0, + [SPECIES_GOLDEEN] = 0, + [SPECIES_SEAKING] = 0, + [SPECIES_STARYU] = 0, + [SPECIES_STARMIE] = 0, + [SPECIES_MR_MIME] = 0, + [SPECIES_SCYTHER] = 0, + [SPECIES_JYNX] = 0, + [SPECIES_ELECTABUZZ] = 0, + [SPECIES_MAGMAR] = 0, + [SPECIES_PINSIR] = 0, + [SPECIES_TAUROS] = 0, + [SPECIES_MAGIKARP] = 0, + [SPECIES_GYARADOS] = 0, + [SPECIES_LAPRAS] = 0, + [SPECIES_DITTO] = 0, + [SPECIES_EEVEE] = 0, + [SPECIES_VAPOREON] = 0, + [SPECIES_JOLTEON] = 0, + [SPECIES_FLAREON] = 0, + [SPECIES_PORYGON] = 0, + [SPECIES_OMANYTE] = 0, + [SPECIES_OMASTAR] = 0, + [SPECIES_KABUTO] = 0, + [SPECIES_KABUTOPS] = 0, + [SPECIES_AERODACTYL] = 6, + [SPECIES_SNORLAX] = 0, + [SPECIES_ARTICUNO] = 6, + [SPECIES_ZAPDOS] = 8, + [SPECIES_MOLTRES] = 5, + [SPECIES_DRATINI] = 0, + [SPECIES_DRAGONAIR] = 0, + [SPECIES_DRAGONITE] = 3, + [SPECIES_MEWTWO] = 0, + [SPECIES_MEW] = 8, + [SPECIES_CHIKORITA] = 0, + [SPECIES_BAYLEEF] = 0, + [SPECIES_MEGANIUM] = 0, + [SPECIES_CYNDAQUIL] = 0, + [SPECIES_QUILAVA] = 0, + [SPECIES_TYPHLOSION] = 0, + [SPECIES_TOTODILE] = 0, + [SPECIES_CROCONAW] = 0, + [SPECIES_FERALIGATR] = 0, + [SPECIES_SENTRET] = 0, + [SPECIES_FURRET] = 0, + [SPECIES_HOOTHOOT] = 0, + [SPECIES_NOCTOWL] = 0, + [SPECIES_LEDYBA] = 0, + [SPECIES_LEDIAN] = 8, + [SPECIES_SPINARAK] = 0, + [SPECIES_ARIADOS] = 0, + [SPECIES_CROBAT] = 6, + [SPECIES_CHINCHOU] = 0, + [SPECIES_LANTURN] = 0, + [SPECIES_PICHU] = 0, + [SPECIES_CLEFFA] = 0, + [SPECIES_IGGLYBUFF] = 0, + [SPECIES_TOGEPI] = 0, + [SPECIES_TOGETIC] = 0, + [SPECIES_NATU] = 0, + [SPECIES_XATU] = 0, + [SPECIES_MAREEP] = 0, + [SPECIES_FLAAFFY] = 0, + [SPECIES_AMPHAROS] = 0, + [SPECIES_BELLOSSOM] = 0, + [SPECIES_MARILL] = 0, + [SPECIES_AZUMARILL] = 0, + [SPECIES_SUDOWOODO] = 0, + [SPECIES_POLITOED] = 0, + [SPECIES_HOPPIP] = 11, + [SPECIES_SKIPLOOM] = 12, + [SPECIES_JUMPLUFF] = 6, + [SPECIES_AIPOM] = 0, + [SPECIES_SUNKERN] = 0, + [SPECIES_SUNFLORA] = 0, + [SPECIES_YANMA] = 8, + [SPECIES_WOOPER] = 0, + [SPECIES_QUAGSIRE] = 0, + [SPECIES_ESPEON] = 0, + [SPECIES_UMBREON] = 0, + [SPECIES_MURKROW] = 0, + [SPECIES_SLOWKING] = 0, + [SPECIES_MISDREAVUS] = 8, + [SPECIES_UNOWN] = 5, + [SPECIES_WOBBUFFET] = 0, + [SPECIES_GIRAFARIG] = 0, + [SPECIES_PINECO] = 0, + [SPECIES_FORRETRESS] = 0, + [SPECIES_DUNSPARCE] = 0, + [SPECIES_GLIGAR] = 6, + [SPECIES_STEELIX] = 0, + [SPECIES_SNUBBULL] = 0, + [SPECIES_GRANBULL] = 0, + [SPECIES_QWILFISH] = 0, + [SPECIES_SCIZOR] = 0, + [SPECIES_SHUCKLE] = 0, + [SPECIES_HERACROSS] = 0, + [SPECIES_SNEASEL] = 0, + [SPECIES_TEDDIURSA] = 0, + [SPECIES_URSARING] = 0, + [SPECIES_SLUGMA] = 0, + [SPECIES_MAGCARGO] = 0, + [SPECIES_SWINUB] = 0, + [SPECIES_PILOSWINE] = 0, + [SPECIES_CORSOLA] = 0, + [SPECIES_REMORAID] = 0, + [SPECIES_OCTILLERY] = 0, + [SPECIES_DELIBIRD] = 0, + [SPECIES_MANTINE] = 0, + [SPECIES_SKARMORY] = 0, + [SPECIES_HOUNDOUR] = 0, + [SPECIES_HOUNDOOM] = 0, + [SPECIES_KINGDRA] = 0, + [SPECIES_PHANPY] = 0, + [SPECIES_DONPHAN] = 0, + [SPECIES_PORYGON2] = 0, + [SPECIES_STANTLER] = 0, + [SPECIES_SMEARGLE] = 0, + [SPECIES_TYROGUE] = 0, + [SPECIES_HITMONTOP] = 0, + [SPECIES_SMOOCHUM] = 0, + [SPECIES_ELEKID] = 0, + [SPECIES_MAGBY] = 0, + [SPECIES_MILTANK] = 0, + [SPECIES_BLISSEY] = 0, + [SPECIES_RAIKOU] = 0, + [SPECIES_ENTEI] = 0, + [SPECIES_SUICUNE] = 0, + [SPECIES_LARVITAR] = 0, + [SPECIES_PUPITAR] = 0, + [SPECIES_TYRANITAR] = 0, + [SPECIES_LUGIA] = 3, + [SPECIES_HO_OH] = 6, + [SPECIES_CELEBI] = 15, + [SPECIES_OLD_UNOWN_B] = 0, + [SPECIES_OLD_UNOWN_C] = 0, + [SPECIES_OLD_UNOWN_D] = 0, + [SPECIES_OLD_UNOWN_E] = 0, + [SPECIES_OLD_UNOWN_F] = 0, + [SPECIES_OLD_UNOWN_G] = 0, + [SPECIES_OLD_UNOWN_H] = 0, + [SPECIES_OLD_UNOWN_I] = 0, + [SPECIES_OLD_UNOWN_J] = 0, + [SPECIES_OLD_UNOWN_K] = 0, + [SPECIES_OLD_UNOWN_L] = 0, + [SPECIES_OLD_UNOWN_M] = 0, + [SPECIES_OLD_UNOWN_N] = 0, + [SPECIES_OLD_UNOWN_O] = 0, + [SPECIES_OLD_UNOWN_P] = 0, + [SPECIES_OLD_UNOWN_Q] = 0, + [SPECIES_OLD_UNOWN_R] = 0, + [SPECIES_OLD_UNOWN_S] = 0, + [SPECIES_OLD_UNOWN_T] = 0, + [SPECIES_OLD_UNOWN_U] = 0, + [SPECIES_OLD_UNOWN_V] = 0, + [SPECIES_OLD_UNOWN_W] = 0, + [SPECIES_OLD_UNOWN_X] = 0, + [SPECIES_OLD_UNOWN_Y] = 0, + [SPECIES_OLD_UNOWN_Z] = 0, + [SPECIES_TREECKO] = 0, + [SPECIES_GROVYLE] = 0, + [SPECIES_SCEPTILE] = 0, + [SPECIES_TORCHIC] = 0, + [SPECIES_COMBUSKEN] = 0, + [SPECIES_BLAZIKEN] = 0, + [SPECIES_MUDKIP] = 0, + [SPECIES_MARSHTOMP] = 0, + [SPECIES_SWAMPERT] = 0, + [SPECIES_POOCHYENA] = 0, + [SPECIES_MIGHTYENA] = 0, + [SPECIES_ZIGZAGOON] = 0, + [SPECIES_LINOONE] = 0, + [SPECIES_WURMPLE] = 0, + [SPECIES_SILCOON] = 0, + [SPECIES_BEAUTIFLY] = 8, + [SPECIES_CASCOON] = 0, + [SPECIES_DUSTOX] = 10, + [SPECIES_LOTAD] = 0, + [SPECIES_LOMBRE] = 0, + [SPECIES_LUDICOLO] = 0, + [SPECIES_SEEDOT] = 0, + [SPECIES_NUZLEAF] = 0, + [SPECIES_SHIFTRY] = 0, + [SPECIES_NINCADA] = 0, + [SPECIES_NINJASK] = 10, + [SPECIES_SHEDINJA] = 8, + [SPECIES_TAILLOW] = 0, + [SPECIES_SWELLOW] = 0, + [SPECIES_SHROOMISH] = 0, + [SPECIES_BRELOOM] = 0, + [SPECIES_SPINDA] = 0, + [SPECIES_WINGULL] = 16, + [SPECIES_PELIPPER] = 8, + [SPECIES_SURSKIT] = 0, + [SPECIES_MASQUERAIN] = 10, + [SPECIES_WAILMER] = 0, + [SPECIES_WAILORD] = 0, + [SPECIES_SKITTY] = 0, + [SPECIES_DELCATTY] = 0, + [SPECIES_KECLEON] = 0, + [SPECIES_BALTOY] = 4, + [SPECIES_CLAYDOL] = 4, + [SPECIES_NOSEPASS] = 0, + [SPECIES_TORKOAL] = 0, + [SPECIES_SABLEYE] = 0, + [SPECIES_BARBOACH] = 0, + [SPECIES_WHISCASH] = 0, + [SPECIES_LUVDISC] = 0, + [SPECIES_CORPHISH] = 0, + [SPECIES_CRAWDAUNT] = 0, + [SPECIES_FEEBAS] = 0, + [SPECIES_MILOTIC] = 0, + [SPECIES_CARVANHA] = 0, + [SPECIES_SHARPEDO] = 0, + [SPECIES_TRAPINCH] = 0, + [SPECIES_VIBRAVA] = 0, + [SPECIES_FLYGON] = 3, + [SPECIES_MAKUHITA] = 0, + [SPECIES_HARIYAMA] = 0, + [SPECIES_ELECTRIKE] = 0, + [SPECIES_MANECTRIC] = 0, + [SPECIES_NUMEL] = 0, + [SPECIES_CAMERUPT] = 0, + [SPECIES_SPHEAL] = 0, + [SPECIES_SEALEO] = 0, + [SPECIES_WALREIN] = 0, + [SPECIES_CACNEA] = 0, + [SPECIES_CACTURNE] = 0, + [SPECIES_SNORUNT] = 0, + [SPECIES_GLALIE] = 12, + [SPECIES_LUNATONE] = 13, + [SPECIES_SOLROCK] = 4, + [SPECIES_AZURILL] = 0, + [SPECIES_SPOINK] = 0, + [SPECIES_GRUMPIG] = 0, + [SPECIES_PLUSLE] = 0, + [SPECIES_MINUN] = 0, + [SPECIES_MAWILE] = 0, + [SPECIES_MEDITITE] = 0, + [SPECIES_MEDICHAM] = 0, + [SPECIES_SWABLU] = 12, + [SPECIES_ALTARIA] = 8, + [SPECIES_WYNAUT] = 0, + [SPECIES_DUSKULL] = 4, + [SPECIES_DUSCLOPS] = 0, + [SPECIES_ROSELIA] = 0, + [SPECIES_SLAKOTH] = 0, + [SPECIES_VIGOROTH] = 0, + [SPECIES_SLAKING] = 0, + [SPECIES_GULPIN] = 0, + [SPECIES_SWALOT] = 0, + [SPECIES_TROPIUS] = 0, + [SPECIES_WHISMUR] = 0, + [SPECIES_LOUDRED] = 0, + [SPECIES_EXPLOUD] = 0, + [SPECIES_CLAMPERL] = 0, + [SPECIES_HUNTAIL] = 0, + [SPECIES_GOREBYSS] = 0, + [SPECIES_ABSOL] = 0, + [SPECIES_SHUPPET] = 12, + [SPECIES_BANETTE] = 8, + [SPECIES_SEVIPER] = 0, + [SPECIES_ZANGOOSE] = 0, + [SPECIES_RELICANTH] = 0, + [SPECIES_ARON] = 0, + [SPECIES_LAIRON] = 0, + [SPECIES_AGGRON] = 0, + [SPECIES_CASTFORM] = 16, + [SPECIES_VOLBEAT] = 0, + [SPECIES_ILLUMISE] = 0, + [SPECIES_LILEEP] = 0, + [SPECIES_CRADILY] = 0, + [SPECIES_ANORITH] = 0, + [SPECIES_ARMALDO] = 0, + [SPECIES_RALTS] = 0, + [SPECIES_KIRLIA] = 0, + [SPECIES_GARDEVOIR] = 0, + [SPECIES_BAGON] = 0, + [SPECIES_SHELGON] = 0, + [SPECIES_SALAMENCE] = 0, + [SPECIES_BELDUM] = 8, + [SPECIES_METANG] = 0, + [SPECIES_METAGROSS] = 0, + [SPECIES_REGIROCK] = 0, + [SPECIES_REGICE] = 0, + [SPECIES_REGISTEEL] = 0, + [SPECIES_KYOGRE] = 0, + [SPECIES_GROUDON] = 0, + [SPECIES_RAYQUAZA] = 6, + [SPECIES_LATIAS] = 6, + [SPECIES_LATIOS] = 6, + [SPECIES_JIRACHI] = 12, + [SPECIES_DEOXYS] = 4, + [SPECIES_CHIMECHO] = 12, +}; -- cgit v1.2.3 From 2e61752e2c749a5a941e0b3ecbdeab4e999a79c9 Mon Sep 17 00:00:00 2001 From: Blampharos Date: Thu, 25 Jan 2018 06:55:15 +0100 Subject: Decompile trainer party structs --- src/battle/battle_1.c | 2 + src/data/trainer_parties.h | 9819 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 9821 insertions(+) create mode 100644 src/data/trainer_parties.h (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index 3e73c2ee4..bbcc74eb9 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -444,3 +444,5 @@ const u8 gEnemyMonElevation[] = { [SPECIES_DEOXYS] = 4, [SPECIES_CHIMECHO] = 12, }; + +#include "../data/trainer_parties.h" diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h new file mode 100644 index 000000000..760fd1979 --- /dev/null +++ b/src/data/trainer_parties.h @@ -0,0 +1,9819 @@ +#include "battle_setup.h" +#include "constants/moves.h" +#include "constants/items.h" + +const struct TrainerPartyMember0 gTrainerParty_Archie1[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_HUNTAIL + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt1[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt2[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt3[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_ZUBAT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt4[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt5[] = { + { + .iv = 0, + .level = 37, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 37, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt6[] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt7[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt8[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt9[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt10[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt11[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt12[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt13[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt14[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt15[] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt16[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt17[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt18[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt19[] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt20[] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt21[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt22[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt23[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt24[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt25[] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt26[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt27[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_ZUBAT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous1[] = { + { + .iv = 50, + .level = 30, + .species = SPECIES_WAILMER + }, + { + .iv = 50, + .level = 30, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Matt1[] = { + { + .iv = 50, + .level = 32, + .species = SPECIES_CARVANHA + }, + { + .iv = 50, + .level = 32, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 50, + .level = 32, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Matt2[] = { + { + .iv = 50, + .level = 20, + .species = SPECIES_CARVANHA + }, + { + .iv = 50, + .level = 20, + .species = SPECIES_POOCHYENA + }, + { + .iv = 50, + .level = 20, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shelly1[] = { + { + .iv = 50, + .level = 28, + .species = SPECIES_CARVANHA + }, + { + .iv = 50, + .level = 28, + .species = SPECIES_MIGHTYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shelly2[] = { + { + .iv = 50, + .level = 38, + .species = SPECIES_SHARPEDO + }, + { + .iv = 50, + .level = 38, + .species = SPECIES_MIGHTYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Archie2[] = { + { + .iv = 150, + .level = 41, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 150, + .level = 41, + .species = SPECIES_CROBAT + }, + { + .iv = 150, + .level = 43, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Archie3[] = { + { + .iv = 150, + .level = 24, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 150, + .level = 24, + .species = SPECIES_GOLBAT + }, + { + .iv = 150, + .level = 25, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Daisy[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Rose1[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_SHROOMISH + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lily[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_SHROOMISH + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Violet[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_SHROOMISH + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_GLOOM + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Rose2[] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_SHROOMISH + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Rose3[] = { + { + .iv = 20, + .level = 28, + .species = SPECIES_SHROOMISH + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_GLOOM + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Rose4[] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_SHROOMISH + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_GLOOM + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Rose5[] = { + { + .iv = 40, + .level = 34, + .species = SPECIES_BRELOOM + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_GLOOM + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Dusty1[] = { + { + .iv = 50, + .level = 24, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Chip[] = { + { + .iv = 50, + .level = 28, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + }, + { + .iv = 50, + .level = 28, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + }, + { + .iv = 50, + .level = 28, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Foster[] = { + { + .iv = 50, + .level = 26, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + }, + { + .iv = 50, + .level = 26, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Dusty2[] = { + { + .iv = 60, + .level = 27, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Dusty3[] = { + { + .iv = 70, + .level = 30, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Dusty4[] = { + { + .iv = 80, + .level = 33, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Dusty5[] = { + { + .iv = 90, + .level = 36, + .species = SPECIES_SANDSLASH, + .moves = MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING + } +}; + +const struct TrainerPartyMember0 gTrainerParty_GabbyAndTy1[] = { + { + .iv = 50, + .level = 19, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 50, + .level = 19, + .species = SPECIES_WHISMUR + } +}; + +const struct TrainerPartyMember0 gTrainerParty_GabbyAndTy2[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 100, + .level = 27, + .species = SPECIES_LOUDRED + } +}; + +const struct TrainerPartyMember0 gTrainerParty_GabbyAndTy3[] = { + { + .iv = 150, + .level = 30, + .species = SPECIES_MAGNETON + }, + { + .iv = 150, + .level = 30, + .species = SPECIES_LOUDRED + } +}; + +const struct TrainerPartyMember0 gTrainerParty_GabbyAndTy4[] = { + { + .iv = 200, + .level = 33, + .species = SPECIES_MAGNETON + }, + { + .iv = 200, + .level = 33, + .species = SPECIES_LOUDRED + } +}; + +const struct TrainerPartyMember0 gTrainerParty_GabbyAndTy5[] = { + { + .iv = 250, + .level = 36, + .species = SPECIES_MAGNETON + }, + { + .iv = 250, + .level = 36, + .species = SPECIES_LOUDRED + } +}; + +const struct TrainerPartyMember1 gTrainerParty_GabbyAndTy6[] = { + { + .iv = 250, + .level = 39, + .species = SPECIES_MAGNETON, + .moves = MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT + }, + { + .iv = 250, + .level = 39, + .species = SPECIES_EXPLOUD, + .moves = MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lola1[] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_AZURILL + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_AZURILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Carmen[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Gwen[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lola2[] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_MARILL + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lola3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_MARILL + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lola4[] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_MARILL + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lola5[] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_AZUMARILL + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_AZUMARILL + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Ricky1[] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Simon[] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_AZURILL + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Charlie[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Ricky2[] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Ricky3[] = { + { + .iv = 20, + .level = 30, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Ricky4[] = { + { + .iv = 30, + .level = 33, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Ricky5[] = { + { + .iv = 40, + .level = 36, + .species = SPECIES_LINOONE, + .moves = MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Randall[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_DELCATTY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Parker[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_George[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Berke[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_ZANGOOSE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Clyde[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_SWELLOW, + .moves = MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_TRAPINCH, + .moves = MOVE_BITE, MOVE_DIG, MOVE_FAINT_ATTACK, MOVE_SAND_TOMB + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER, + .moves = MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_MAGNETON, + .moves = MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_SHIFTRY, + .moves = MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Vincent[] = { + { + .iv = 100, + .level = 44, + .species = SPECIES_SABLEYE + }, + { + .iv = 100, + .level = 44, + .species = SPECIES_MEDICHAM + }, + { + .iv = 100, + .level = 44, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Leroy[] = { + { + .iv = 100, + .level = 46, + .species = SPECIES_MAWILE + }, + { + .iv = 100, + .level = 46, + .species = SPECIES_STARMIE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wilton1[] = { + { + .iv = 100, + .level = 18, + .species = SPECIES_ELECTRIKE + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_WAILMER + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Edgar[] = { + { + .iv = 100, + .level = 44, + .species = SPECIES_CACTURNE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Albert[] = { + { + .iv = 100, + .level = 43, + .species = SPECIES_MANECTRIC + }, + { + .iv = 100, + .level = 43, + .species = SPECIES_MUK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Samuel[] = { + { + .iv = 100, + .level = 42, + .species = SPECIES_DODRIO + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_LAIRON + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_KADABRA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Vito[] = { + { + .iv = 100, + .level = 42, + .species = SPECIES_SWELLOW + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_KADABRA + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_MANECTRIC + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_SHIFTRY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Owen[] = { + { + .iv = 100, + .level = 42, + .species = SPECIES_KECLEON + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_RHYHORN + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_TENTACRUEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wilton2[] = { + { + .iv = 110, + .level = 26, + .species = SPECIES_ELECTRIKE + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_WAILMER + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wilton3[] = { + { + .iv = 120, + .level = 29, + .species = SPECIES_MANECTRIC + }, + { + .iv = 120, + .level = 29, + .species = SPECIES_WAILMER + }, + { + .iv = 120, + .level = 29, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wilton4[] = { + { + .iv = 130, + .level = 32, + .species = SPECIES_MANECTRIC + }, + { + .iv = 130, + .level = 32, + .species = SPECIES_WAILMER + }, + { + .iv = 130, + .level = 32, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wilton5[] = { + { + .iv = 140, + .level = 35, + .species = SPECIES_MANECTRIC + }, + { + .iv = 140, + .level = 35, + .species = SPECIES_WAILMER + }, + { + .iv = 140, + .level = 35, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Warren[] = { + { + .iv = 100, + .level = 34, + .species = SPECIES_GRAVELER + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_MAGCARGO + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_LUDICOLO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Mary[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_DELCATTY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lori[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jody[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_ZANGOOSE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wendy[] = { + { + .iv = 100, + .level = 31, + .species = SPECIES_MAWILE, + .moves = MOVE_BATON_PASS, MOVE_FAINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE + }, + { + .iv = 100, + .level = 31, + .species = SPECIES_ROSELIA, + .moves = MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED + }, + { + .iv = 100, + .level = 31, + .species = SPECIES_PELIPPER, + .moves = MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Elaine[] = { + { + .iv = 100, + .level = 45, + .species = SPECIES_LAIRON + }, + { + .iv = 100, + .level = 45, + .species = SPECIES_MANECTRIC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brooke1[] = { + { + .iv = 100, + .level = 18, + .species = SPECIES_WINGULL + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_NUMEL + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jennifer[] = { + { + .iv = 100, + .level = 31, + .species = SPECIES_MILOTIC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hope[] = { + { + .iv = 100, + .level = 44, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shannon[] = { + { + .iv = 100, + .level = 44, + .species = SPECIES_CLAYDOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Michelle[] = { + { + .iv = 100, + .level = 42, + .species = SPECIES_NOSEPASS + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_MEDICHAM + }, + { + .iv = 100, + .level = 42, + .species = SPECIES_LUDICOLO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Caroline[] = { + { + .iv = 100, + .level = 43, + .species = SPECIES_MAWILE + }, + { + .iv = 100, + .level = 43, + .species = SPECIES_SABLEYE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Julie[] = { + { + .iv = 100, + .level = 43, + .species = SPECIES_SANDSLASH + }, + { + .iv = 100, + .level = 43, + .species = SPECIES_NINETALES + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brooke2[] = { + { + .iv = 110, + .level = 26, + .species = SPECIES_WINGULL + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_NUMEL + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brooke3[] = { + { + .iv = 120, + .level = 29, + .species = SPECIES_PELIPPER + }, + { + .iv = 120, + .level = 29, + .species = SPECIES_NUMEL + }, + { + .iv = 120, + .level = 29, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brooke4[] = { + { + .iv = 130, + .level = 32, + .species = SPECIES_PELIPPER + }, + { + .iv = 130, + .level = 32, + .species = SPECIES_NUMEL + }, + { + .iv = 130, + .level = 32, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brooke5[] = { + { + .iv = 140, + .level = 34, + .species = SPECIES_PELIPPER + }, + { + .iv = 140, + .level = 34, + .species = SPECIES_CAMERUPT + }, + { + .iv = 140, + .level = 34, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Patricia[] = { + { + .iv = 0, + .level = 42, + .species = SPECIES_BANETTE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kindra[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_DUSKULL + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_SHUPPET + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tammy[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_RALTS + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_DUSKULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Valerie1[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_SABLEYE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tasha[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_SHUPPET + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_KADABRA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Valerie2[] = { + { + .iv = 10, + .level = 35, + .species = SPECIES_SABLEYE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Valerie3[] = { + { + .iv = 20, + .level = 37, + .species = SPECIES_SPOINK + }, + { + .iv = 20, + .level = 37, + .species = SPECIES_SABLEYE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Valerie4[] = { + { + .iv = 30, + .level = 40, + .species = SPECIES_SPOINK + }, + { + .iv = 30, + .level = 40, + .species = SPECIES_SABLEYE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Valerie5[] = { + { + .iv = 40, + .level = 42, + .species = SPECIES_DUSKULL + }, + { + .iv = 40, + .level = 42, + .species = SPECIES_SABLEYE + }, + { + .iv = 40, + .level = 42, + .species = SPECIES_GRUMPIG + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Cindy1[] = { + { + .iv = 0, + .level = 7, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous2[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Brianna1[] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_WYNAUT, + .moves = MOVE_CHARM, MOVE_ENCORE, MOVE_NONE, MOVE_NONE + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_TAILLOW, + .moves = MOVE_QUICK_ATTACK, MOVE_GROWL, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Cindy2[] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Brianna2[] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_SEAKING, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Anette[] = { + { + .iv = 100, + .level = 45, + .species = SPECIES_ROSELIA, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Cindy3[] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Cindy4[] = { + { + .iv = 20, + .level = 30, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Cindy5[] = { + { + .iv = 30, + .level = 33, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Cindy6[] = { + { + .iv = 40, + .level = 36, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET, + .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Melissa[] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Sheila[] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_SHROOMISH + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shirley[] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Jessica1[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Connie[] = { + { + .iv = 100, + .level = 40, + .species = SPECIES_GOLDEEN + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Bridget[] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_AZUMARILL + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Olivia[] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_LOMBRE, + .moves = MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_GUN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tiffany[] = { + { + .iv = 100, + .level = 39, + .species = SPECIES_CARVANHA + }, + { + .iv = 100, + .level = 39, + .species = SPECIES_WAILMER + }, + { + .iv = 100, + .level = 39, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Jessica2[] = { + { + .iv = 10, + .level = 33, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 10, + .level = 33, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Jessica3[] = { + { + .iv = 20, + .level = 36, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 20, + .level = 36, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Jessica4[] = { + { + .iv = 30, + .level = 39, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 30, + .level = 39, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Jessica5[] = { + { + .iv = 40, + .level = 42, + .species = SPECIES_KECLEON, + .moves = MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK + }, + { + .iv = 40, + .level = 42, + .species = SPECIES_SEVIPER, + .moves = MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Winston1[] = { + { + .iv = 0, + .level = 7, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous3[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Garret[] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_AZUMARILL, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Winston2[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Winston3[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Winston4[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Winston5[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_LINOONE, + .heldItem = ITEM_NUGGET, + .moves = MOVE_FURY_SWIPES, MOVE_MUD_SPORT, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Steve1[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ARON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Chris[] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_LAIRON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Mark[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_LAIRON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kenn[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_LAIRON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Steve2[] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LAIRON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Steve3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_LAIRON + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_RHYHORN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Steve4[] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_LAIRON + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_RHYHORN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Steve5[] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_AGGRON + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_RHYDON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Luis[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Austin[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Douglas[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Darrin[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tony1[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jerome[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Matthew[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_David[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Spencer[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Roland[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cody[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Stan[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_HORSEA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Barry[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_GYARADOS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dean[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Rodney[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_HORSEA + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_GYARADOS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Richard[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Herman[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_TENTACRUEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous4[] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Gilbert[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Franklin[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_TENTACRUEL + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SEALEO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Danny[] = { + { + .iv = 0, + .level = 37, + .species = SPECIES_TENTACRUEL + }, + { + .iv = 0, + .level = 37, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jack[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_GYARADOS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dudley[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_TENTACRUEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Chad[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tony2[] = { + { + .iv = 10, + .level = 30, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tony3[] = { + { + .iv = 20, + .level = 33, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tony4[] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_STARYU + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tony5[] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_STARMIE + }, + { + .iv = 40, + .level = 39, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hideki[] = { + { + .iv = 100, + .level = 14, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hitoshi[] = { + { + .iv = 100, + .level = 34, + .species = SPECIES_MACHOKE + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kiyo[] = { + { + .iv = 100, + .level = 33, + .species = SPECIES_MAKUHITA + }, + { + .iv = 100, + .level = 33, + .species = SPECIES_MAKUHITA + }, + { + .iv = 100, + .level = 33, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Koichi[] = { + { + .iv = 100, + .level = 26, + .species = SPECIES_MACHOP + }, + { + .iv = 100, + .level = 26, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nob1[] = { + { + .iv = 100, + .level = 20, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nob2[] = { + { + .iv = 110, + .level = 27, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nob3[] = { + { + .iv = 120, + .level = 29, + .species = SPECIES_MACHOP + }, + { + .iv = 120, + .level = 29, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nob4[] = { + { + .iv = 130, + .level = 31, + .species = SPECIES_MACHOP + }, + { + .iv = 130, + .level = 31, + .species = SPECIES_MACHOKE + }, + { + .iv = 130, + .level = 31, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Nob5[] = { + { + .iv = 140, + .level = 33, + .species = SPECIES_MACHOP, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .level = 33, + .species = SPECIES_MACHOKE, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .level = 33, + .species = SPECIES_MACHOKE, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .level = 33, + .species = SPECIES_MACHAMP, + .heldItem = ITEM_BLACK_BELT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Yuji[] = { + { + .iv = 100, + .level = 26, + .species = SPECIES_MAKUHITA + }, + { + .iv = 100, + .level = 26, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Daisuke[] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Atsushi[] = { + { + .iv = 100, + .level = 30, + .species = SPECIES_MAKUHITA + }, + { + .iv = 100, + .level = 30, + .species = SPECIES_MACHOKE + }, + { + .iv = 100, + .level = 30, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kirk[] = { + { + .iv = 100, + .level = 18, + .species = SPECIES_ELECTRIKE + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Scott[] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_ELECTRIKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Harvey[] = { + { + .iv = 100, + .level = 18, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 100, + .level = 18, + .species = SPECIES_ELECTRIKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shawn[] = { + { + .iv = 100, + .level = 17, + .species = SPECIES_VOLTORB + }, + { + .iv = 100, + .level = 17, + .species = SPECIES_VOLTORB + }, + { + .iv = 100, + .level = 17, + .species = SPECIES_VOLTORB + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Randy[] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_ELECTRIKE + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_ELECTRIKE + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_ELECTRIKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dalton1[] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_WHISMUR + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dalton2[] = { + { + .iv = 10, + .level = 25, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 10, + .level = 25, + .species = SPECIES_WHISMUR + }, + { + .iv = 10, + .level = 25, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dalton3[] = { + { + .iv = 20, + .level = 28, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_LOUDRED + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dalton4[] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_MAGNETON + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_LOUDRED + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_MAGNETON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dalton5[] = { + { + .iv = 40, + .level = 34, + .species = SPECIES_MAGNETON + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_EXPLOUD + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_MAGNETON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cole[] = { + { + .iv = 100, + .level = 22, + .species = SPECIES_SLUGMA + }, + { + .iv = 100, + .level = 22, + .species = SPECIES_SLUGMA + }, + { + .iv = 100, + .level = 22, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Flint[] = { + { + .iv = 100, + .level = 24, + .species = SPECIES_SLUGMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Axle[] = { + { + .iv = 100, + .level = 23, + .species = SPECIES_NUMEL + }, + { + .iv = 100, + .level = 23, + .species = SPECIES_SLUGMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jake[] = { + { + .iv = 100, + .level = 24, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Andy[] = { + { + .iv = 100, + .level = 23, + .species = SPECIES_SLUGMA + }, + { + .iv = 100, + .level = 23, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Bernie1[] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_SLUGMA + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Bernie2[] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_SLUGMA + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Bernie3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_SLUGMA + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Bernie4[] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_SLUGMA + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Bernie5[] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_MAGCARGO + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Drew[] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Cliff[] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_BALTOY, + .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_SANDSHREW, + .moves = MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_BALTOY, + .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Larry[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shane[] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_SANDSHREW + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Justin[] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_KECLEON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ethan1[] = { + { + .iv = 0, + .level = 21, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_TAILLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jeff[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_TAILLOW + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_KECLEON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Travis[] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_SANDSHREW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ethan2[] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_TAILLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ethan3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_LINOONE + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_SWELLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ethan4[] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_SANDSHREW + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ethan5[] = { + { + .iv = 40, + .level = 34, + .species = SPECIES_SWELLOW + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_SANDSLASH + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brent[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_SURSKIT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Donald[] = { + { + .iv = 100, + .level = 25, + .species = SPECIES_WURMPLE + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_SILCOON + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_BEAUTIFLY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Taylor[] = { + { + .iv = 100, + .level = 25, + .species = SPECIES_WURMPLE + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_CASCOON + }, + { + .iv = 100, + .level = 25, + .species = SPECIES_DUSTOX + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brandon1[] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_SURSKIT + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_SURSKIT + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_SURSKIT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Derek[] = { + { + .iv = 100, + .level = 15, + .species = SPECIES_NINCADA + }, + { + .iv = 150, + .level = 15, + .species = SPECIES_DUSTOX + }, + { + .iv = 150, + .level = 15, + .species = SPECIES_BEAUTIFLY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brandon2[] = { + { + .iv = 10, + .level = 31, + .species = SPECIES_SURSKIT + }, + { + .iv = 10, + .level = 31, + .species = SPECIES_SURSKIT + }, + { + .iv = 10, + .level = 31, + .species = SPECIES_SURSKIT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brandon3[] = { + { + .iv = 20, + .level = 34, + .species = SPECIES_SURSKIT + }, + { + .iv = 20, + .level = 34, + .species = SPECIES_SURSKIT + }, + { + .iv = 20, + .level = 34, + .species = SPECIES_MASQUERAIN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brandon4[] = { + { + .iv = 30, + .level = 36, + .species = SPECIES_SURSKIT + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_WURMPLE + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_SURSKIT + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_MASQUERAIN + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Brandon5[] = { + { + .iv = 40, + .level = 38, + .species = SPECIES_SURSKIT, + .heldItem = ITEM_NONE + }, + { + .iv = 40, + .level = 38, + .species = SPECIES_DUSTOX, + .heldItem = ITEM_NONE + }, + { + .iv = 40, + .level = 38, + .species = SPECIES_SURSKIT, + .heldItem = ITEM_NONE + }, + { + .iv = 40, + .level = 38, + .species = SPECIES_MASQUERAIN, + .heldItem = ITEM_SILVER_POWDER + }, + { + .iv = 40, + .level = 38, + .species = SPECIES_BEAUTIFLY, + .heldItem = ITEM_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Edward[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_ABRA, + .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Preston[] = { + { + .iv = 100, + .level = 37, + .species = SPECIES_KIRLIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Virgil[] = { + { + .iv = 100, + .level = 36, + .species = SPECIES_RALTS + }, + { + .iv = 100, + .level = 36, + .species = SPECIES_KADABRA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Fritz[] = { + { + .iv = 100, + .level = 35, + .species = SPECIES_NATU + }, + { + .iv = 100, + .level = 35, + .species = SPECIES_GIRAFARIG + }, + { + .iv = 100, + .level = 35, + .species = SPECIES_KADABRA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_William[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_RALTS + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_KIRLIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Joshua[] = { + { + .iv = 0, + .level = 41, + .species = SPECIES_KADABRA + }, + { + .iv = 0, + .level = 41, + .species = SPECIES_SOLROCK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cameron1[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_KADABRA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_SOLROCK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cameron2[] = { + { + .iv = 10, + .level = 34, + .species = SPECIES_KADABRA + }, + { + .iv = 10, + .level = 34, + .species = SPECIES_SOLROCK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cameron3[] = { + { + .iv = 20, + .level = 37, + .species = SPECIES_KADABRA + }, + { + .iv = 20, + .level = 37, + .species = SPECIES_SOLROCK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cameron4[] = { + { + .iv = 30, + .level = 40, + .species = SPECIES_KADABRA + }, + { + .iv = 30, + .level = 40, + .species = SPECIES_SOLROCK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cameron5[] = { + { + .iv = 40, + .level = 43, + .species = SPECIES_SOLROCK + }, + { + .iv = 40, + .level = 43, + .species = SPECIES_ALAKAZAM + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Jaclyn[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_ABRA, + .moves = MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hannah[] = { + { + .iv = 100, + .level = 36, + .species = SPECIES_RALTS + }, + { + .iv = 100, + .level = 36, + .species = SPECIES_KIRLIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Samantha[] = { + { + .iv = 100, + .level = 37, + .species = SPECIES_XATU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maura[] = { + { + .iv = 100, + .level = 36, + .species = SPECIES_KADABRA + }, + { + .iv = 100, + .level = 36, + .species = SPECIES_KIRLIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kayla[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_KADABRA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Alexis[] = { + { + .iv = 0, + .level = 40, + .species = SPECIES_KIRLIA + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_XATU + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_KADABRA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jacki1[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_KADABRA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_LUNATONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jacki2[] = { + { + .iv = 10, + .level = 34, + .species = SPECIES_KADABRA + }, + { + .iv = 10, + .level = 34, + .species = SPECIES_LUNATONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jacki3[] = { + { + .iv = 20, + .level = 37, + .species = SPECIES_KADABRA + }, + { + .iv = 20, + .level = 37, + .species = SPECIES_LUNATONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jacki4[] = { + { + .iv = 30, + .level = 40, + .species = SPECIES_KADABRA + }, + { + .iv = 30, + .level = 40, + .species = SPECIES_LUNATONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jacki5[] = { + { + .iv = 40, + .level = 43, + .species = SPECIES_LUNATONE + }, + { + .iv = 40, + .level = 43, + .species = SPECIES_ALAKAZAM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Walter1[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_MANECTRIC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tucker[] = { + { + .iv = 0, + .level = 44, + .species = SPECIES_MANECTRIC + }, + { + .iv = 0, + .level = 44, + .species = SPECIES_MANECTRIC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Thomas[] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_ZANGOOSE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Walter2[] = { + { + .iv = 10, + .level = 34, + .species = SPECIES_MANECTRIC + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Walter3[] = { + { + .iv = 20, + .level = 36, + .species = SPECIES_LINOONE, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + }, + { + .iv = 20, + .level = 36, + .species = SPECIES_MANECTRIC, + .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Walter4[] = { + { + .iv = 30, + .level = 39, + .species = SPECIES_LINOONE, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + }, + { + .iv = 30, + .level = 39, + .species = SPECIES_MANECTRIC, + .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Walter5[] = { + { + .iv = 40, + .level = 41, + .species = SPECIES_LINOONE, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES + }, + { + .iv = 40, + .level = 41, + .species = SPECIES_GOLDUCK, + .moves = MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP + }, + { + .iv = 40, + .level = 41, + .species = SPECIES_MANECTRIC, + .moves = MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Sidney[] = { + { + .iv = 250, + .level = 46, + .species = SPECIES_MIGHTYENA, + .heldItem = ITEM_NONE, + .moves = MOVE_ROAR, MOVE_TAKE_DOWN, MOVE_SAND_ATTACK, MOVE_CRUNCH + }, + { + .iv = 250, + .level = 48, + .species = SPECIES_SHIFTRY, + .heldItem = ITEM_NONE, + .moves = MOVE_FAKE_OUT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY + }, + { + .iv = 250, + .level = 46, + .species = SPECIES_CACTURNE, + .heldItem = ITEM_NONE, + .moves = MOVE_LEECH_SEED, MOVE_FAINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE + }, + { + .iv = 250, + .level = 48, + .species = SPECIES_SHARPEDO, + .heldItem = ITEM_NONE, + .moves = MOVE_CRUNCH, MOVE_SWAGGER, MOVE_SURF, MOVE_SLASH + }, + { + .iv = 255, + .level = 49, + .species = SPECIES_ABSOL, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_AERIAL_ACE, MOVE_SNATCH, MOVE_SWORDS_DANCE, MOVE_SLASH + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Phoebe[] = { + { + .iv = 250, + .level = 48, + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_FUTURE_SIGHT + }, + { + .iv = 250, + .level = 49, + .species = SPECIES_BANETTE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_FAINT_ATTACK + }, + { + .iv = 250, + .level = 50, + .species = SPECIES_SABLEYE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_ATTRACT, MOVE_FAINT_ATTACK + }, + { + .iv = 250, + .level = 49, + .species = SPECIES_BANETTE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_TOXIC, MOVE_SKILL_SWAP + }, + { + .iv = 255, + .level = 51, + .species = SPECIES_DUSCLOPS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SHADOW_BALL, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY, MOVE_EARTHQUAKE + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Glacia[] = { + { + .iv = 250, + .level = 50, + .species = SPECIES_GLALIE, + .heldItem = ITEM_NONE, + .moves = MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_HAIL, MOVE_ICE_BEAM + }, + { + .iv = 250, + .level = 50, + .species = SPECIES_SEALEO, + .heldItem = ITEM_NONE, + .moves = MOVE_SURF, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL + }, + { + .iv = 250, + .level = 52, + .species = SPECIES_SEALEO, + .heldItem = ITEM_NONE, + .moves = MOVE_ATTRACT, MOVE_DIVE, MOVE_HAIL, MOVE_BLIZZARD + }, + { + .iv = 250, + .level = 52, + .species = SPECIES_GLALIE, + .heldItem = ITEM_NONE, + .moves = MOVE_SHADOW_BALL, MOVE_CRUNCH, MOVE_HAIL, MOVE_ICE_BEAM + }, + { + .iv = 255, + .level = 53, + .species = SPECIES_WALREIN, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_SURF, MOVE_BODY_SLAM, MOVE_BLIZZARD, MOVE_SHEER_COLD + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Drake[] = { + { + .iv = 250, + .level = 52, + .species = SPECIES_SHELGON, + .heldItem = ITEM_NONE, + .moves = MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_CRUNCH + }, + { + .iv = 250, + .level = 54, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_NONE, + .moves = MOVE_TAKE_DOWN, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_REFRESH + }, + { + .iv = 250, + .level = 53, + .species = SPECIES_FLYGON, + .heldItem = ITEM_NONE, + .moves = MOVE_DIG, MOVE_DRAGON_BREATH, MOVE_FLY, MOVE_SANDSTORM + }, + { + .iv = 250, + .level = 53, + .species = SPECIES_FLYGON, + .heldItem = ITEM_NONE, + .moves = MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_SAND_ATTACK + }, + { + .iv = 255, + .level = 55, + .species = SPECIES_SALAMENCE, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_FLY, MOVE_CRUNCH + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Roxanne[] = { + { + .iv = 150, + .level = 14, + .species = SPECIES_GEODUDE, + .moves = MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + }, + { + .iv = 200, + .level = 15, + .species = SPECIES_NOSEPASS, + .moves = MOVE_TACKLE, MOVE_HARDEN, MOVE_ROCK_THROW, MOVE_ROCK_TOMB + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Brawly[] = { + { + .iv = 150, + .level = 17, + .species = SPECIES_MACHOP, + .moves = MOVE_LEER, MOVE_KARATE_CHOP, MOVE_SEISMIC_TOSS, MOVE_BULK_UP + }, + { + .iv = 200, + .level = 18, + .species = SPECIES_MAKUHITA, + .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_BULK_UP + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wattson[] = { + { + .iv = 200, + .level = 22, + .species = SPECIES_MAGNEMITE, + .moves = MOVE_SUPERSONIC, MOVE_SONIC_BOOM, MOVE_THUNDER_SHOCK, MOVE_THUNDER_WAVE + }, + { + .iv = 200, + .level = 20, + .species = SPECIES_VOLTORB, + .moves = MOVE_ROLLOUT, MOVE_SELF_DESTRUCT, MOVE_SPARK, MOVE_SONIC_BOOM + }, + { + .iv = 250, + .level = 23, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_SONIC_BOOM, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Flannery[] = { + { + .iv = 200, + .level = 26, + .species = SPECIES_SLUGMA, + .moves = MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY + }, + { + .iv = 200, + .level = 26, + .species = SPECIES_SLUGMA, + .moves = MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY + }, + { + .iv = 250, + .level = 28, + .species = SPECIES_TORKOAL, + .moves = MOVE_OVERHEAT, MOVE_BODY_SLAM, MOVE_FLAIL, MOVE_ATTRACT + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Norman[] = { + { + .iv = 200, + .level = 28, + .species = SPECIES_SLAKING, + .moves = MOVE_ENCORE, MOVE_FACADE, MOVE_YAWN, MOVE_FAINT_ATTACK + }, + { + .iv = 200, + .level = 30, + .species = SPECIES_VIGOROTH, + .moves = MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_FACADE, MOVE_ENCORE + }, + { + .iv = 250, + .level = 31, + .species = SPECIES_SLAKING, + .moves = MOVE_FOCUS_PUNCH, MOVE_SLACK_OFF, MOVE_FACADE, MOVE_FAINT_ATTACK + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Winona[] = { + { + .iv = 200, + .level = 31, + .species = SPECIES_SWELLOW, + .moves = MOVE_QUICK_ATTACK, MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_ENDEAVOR + }, + { + .iv = 200, + .level = 30, + .species = SPECIES_PELIPPER, + .moves = MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE + }, + { + .iv = 200, + .level = 32, + .species = SPECIES_SKARMORY, + .moves = MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE + }, + { + .iv = 250, + .level = 33, + .species = SPECIES_ALTARIA, + .moves = MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE + } +}; + +const struct TrainerPartyMember3 gTrainerParty_TateAndLiza[] = { + { + .iv = 250, + .level = 42, + .species = SPECIES_LUNATONE, + .heldItem = ITEM_NONE, + .moves = MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND + }, + { + .iv = 250, + .level = 42, + .species = SPECIES_SOLROCK, + .heldItem = ITEM_NONE, + .moves = MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_PSYCHIC, MOVE_FLAMETHROWER + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wallace[] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_LUVDISC, + .moves = MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL + }, + { + .iv = 200, + .level = 42, + .species = SPECIES_WHISCASH, + .moves = MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE + }, + { + .iv = 200, + .level = 40, + .species = SPECIES_SEALEO, + .moves = MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE + }, + { + .iv = 200, + .level = 42, + .species = SPECIES_SEAKING, + .moves = MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_FURY_ATTACK, MOVE_HORN_DRILL + }, + { + .iv = 250, + .level = 43, + .species = SPECIES_MILOTIC, + .moves = MOVE_WATER_PULSE, MOVE_TWISTER, MOVE_RECOVER, MOVE_ICE_BEAM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jerry1[] = { + { + .iv = 10, + .level = 10, + .species = SPECIES_RALTS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ted[] = { + { + .iv = 10, + .level = 17, + .species = SPECIES_RALTS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Paul[] = { + { + .iv = 10, + .level = 15, + .species = SPECIES_NUMEL + }, + { + .iv = 10, + .level = 15, + .species = SPECIES_ODDISH + }, + { + .iv = 10, + .level = 15, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jerry2[] = { + { + .iv = 20, + .level = 26, + .species = SPECIES_RALTS + }, + { + .iv = 20, + .level = 26, + .species = SPECIES_MEDITITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jerry3[] = { + { + .iv = 30, + .level = 29, + .species = SPECIES_KIRLIA + }, + { + .iv = 30, + .level = 29, + .species = SPECIES_MEDITITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jerry4[] = { + { + .iv = 40, + .level = 32, + .species = SPECIES_KIRLIA + }, + { + .iv = 40, + .level = 32, + .species = SPECIES_MEDICHAM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jerry5[] = { + { + .iv = 50, + .level = 34, + .species = SPECIES_KIRLIA + }, + { + .iv = 50, + .level = 34, + .species = SPECIES_BANETTE + }, + { + .iv = 50, + .level = 34, + .species = SPECIES_MEDICHAM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Karen1[] = { + { + .iv = 10, + .level = 9, + .species = SPECIES_SHROOMISH + }, + { + .iv = 10, + .level = 9, + .species = SPECIES_WHISMUR + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Georgia[] = { + { + .iv = 10, + .level = 16, + .species = SPECIES_SHROOMISH + }, + { + .iv = 10, + .level = 16, + .species = SPECIES_BEAUTIFLY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Karen2[] = { + { + .iv = 20, + .level = 26, + .species = SPECIES_SHROOMISH + }, + { + .iv = 20, + .level = 26, + .species = SPECIES_WHISMUR + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Karen3[] = { + { + .iv = 30, + .level = 29, + .species = SPECIES_SHROOMISH + }, + { + .iv = 30, + .level = 29, + .species = SPECIES_LOUDRED + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Karen4[] = { + { + .iv = 40, + .level = 32, + .species = SPECIES_BRELOOM + }, + { + .iv = 40, + .level = 32, + .species = SPECIES_LOUDRED + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Karen5[] = { + { + .iv = 50, + .level = 35, + .species = SPECIES_BRELOOM + }, + { + .iv = 50, + .level = 35, + .species = SPECIES_EXPLOUD + } +}; + +const struct TrainerPartyMember1 gTrainerParty_KateAndJoy[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_SPINDA, + .moves = MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SLAKING, + .moves = MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FAINT_ATTACK + } +}; + +const struct TrainerPartyMember1 gTrainerParty_AnnaAndMeg1[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_AnnaAndMeg2[] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 10, + .level = 28, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_AnnaAndMeg3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 20, + .level = 31, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_AnnaAndMeg4[] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_LINOONE, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 30, + .level = 34, + .species = SPECIES_MAKUHITA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_AnnaAndMeg5[] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_LINOONE, + .moves = MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH + }, + { + .iv = 40, + .level = 37, + .species = SPECIES_HARIYAMA, + .moves = MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Victor[] = { + { + .iv = 25, + .level = 16, + .species = SPECIES_TAILLOW, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 25, + .level = 16, + .species = SPECIES_ZIGZAGOON, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Miguel1[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Colton[] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + }, + { + .iv = 0, + .level = 42, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_ORAN_BERRY, + .moves = MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK, MOVE_HEAL_BELL + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Miguel2[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Miguel3[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_SKITTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Miguel4[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Miguel5[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_DELCATTY, + .heldItem = ITEM_SITRUS_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Victoria[] = { + { + .iv = 50, + .level = 17, + .species = SPECIES_ROSELIA, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Vanessa[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_PIKACHU, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Marissa[] = { + { + .iv = 100, + .level = 36, + .species = SPECIES_AZURILL, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 100, + .level = 38, + .species = SPECIES_MARILL, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_AZUMARILL, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Isabel1[] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Isabel2[] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Isabel3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Isabel4[] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_ORAN_BERRY + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_MINUN, + .heldItem = ITEM_ORAN_BERRY + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Isabel5[] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_PLUSLE, + .heldItem = ITEM_SITRUS_BERRY + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_MINUN, + .heldItem = ITEM_SITRUS_BERRY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Timothy1[] = { + { + .iv = 200, + .level = 28, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Timothy2[] = { + { + .iv = 210, + .level = 31, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Timothy3[] = { + { + .iv = 220, + .level = 34, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Timothy4[] = { + { + .iv = 230, + .level = 37, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Timothy5[] = { + { + .iv = 240, + .level = 40, + .species = SPECIES_HARIYAMA, + .moves = MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Vicky[] = { + { + .iv = 200, + .level = 18, + .species = SPECIES_MEDITITE, + .moves = MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shelby1[] = { + { + .iv = 200, + .level = 22, + .species = SPECIES_MEDITITE + }, + { + .iv = 200, + .level = 22, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shelby2[] = { + { + .iv = 210, + .level = 30, + .species = SPECIES_MEDITITE + }, + { + .iv = 210, + .level = 30, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shelby3[] = { + { + .iv = 220, + .level = 33, + .species = SPECIES_MEDICHAM + }, + { + .iv = 220, + .level = 33, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shelby4[] = { + { + .iv = 230, + .level = 36, + .species = SPECIES_MEDICHAM + }, + { + .iv = 230, + .level = 36, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Shelby5[] = { + { + .iv = 240, + .level = 39, + .species = SPECIES_MEDICHAM + }, + { + .iv = 240, + .level = 39, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Calvin1[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_ZIGZAGOON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Billy[] = { + { + .iv = 0, + .level = 6, + .species = SPECIES_SEEDOT + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_TAILLOW + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Josh[] = { + { + .iv = 100, + .level = 10, + .species = SPECIES_GEODUDE, + .moves = MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE + }, + { + .iv = 100, + .level = 8, + .species = SPECIES_GEODUDE, + .moves = MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE + }, + { + .iv = 100, + .level = 6, + .species = SPECIES_GEODUDE, + .moves = MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tommy[] = { + { + .iv = 100, + .level = 11, + .species = SPECIES_GEODUDE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Joey[] = { + { + .iv = 0, + .level = 8, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Ben[] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_ZIGZAGOON, + .moves = MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous5[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_NINCADA + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_NINCADA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kevin[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_NINCADA + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_NINCADA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Neal[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_TRAPINCH + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dillon[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ARON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Calvin2[] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Calvin3[] = { + { + .iv = 20, + .level = 28, + .species = SPECIES_SWELLOW + }, + { + .iv = 20, + .level = 30, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Calvin4[] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 30, + .level = 33, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Calvin5[] = { + { + .iv = 40, + .level = 34, + .species = SPECIES_SWELLOW + }, + { + .iv = 40, + .level = 32, + .species = SPECIES_VIGOROTH + }, + { + .iv = 40, + .level = 36, + .species = SPECIES_LINOONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Eddie[] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_ZIGZAGOON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Allen[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 3, + .species = SPECIES_TAILLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Timmy[] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_ARON + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_ELECTRIKE + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Steven[] = { + { + .iv = 255, + .level = 57, + .species = SPECIES_SKARMORY, + .heldItem = ITEM_NONE, + .moves = MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING + }, + { + .iv = 255, + .level = 55, + .species = SPECIES_CLAYDOL, + .heldItem = ITEM_NONE, + .moves = MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE + }, + { + .iv = 255, + .level = 56, + .species = SPECIES_AGGRON, + .heldItem = ITEM_NONE, + .moves = MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW + }, + { + .iv = 255, + .level = 56, + .species = SPECIES_CRADILY, + .heldItem = ITEM_NONE, + .moves = MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_SLUDGE_BOMB, MOVE_CONFUSE_RAY + }, + { + .iv = 255, + .level = 56, + .species = SPECIES_ARMALDO, + .heldItem = ITEM_NONE, + .moves = MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH + }, + { + .iv = 255, + .level = 58, + .species = SPECIES_METAGROSS, + .heldItem = ITEM_SITRUS_BERRY, + .moves = MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_METEOR_MASH, MOVE_HYPER_BEAM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Andrew[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_MAGIKARP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ivan[] = { + { + .iv = 0, + .level = 6, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 6, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 6, + .species = SPECIES_MAGIKARP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Claude[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_BARBOACH + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Elliot1[] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 11, + .species = SPECIES_MAGIKARP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ned[] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dale[] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nolan[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_BARBOACH + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Barny[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wade[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Carter[] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Elliot2[] = { + { + .iv = 10, + .level = 24, + .species = SPECIES_TENTACOOL + }, + { + .iv = 10, + .level = 27, + .species = SPECIES_GYARADOS + }, + { + .iv = 10, + .level = 27, + .species = SPECIES_GYARADOS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Elliot3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_GYARADOS + }, + { + .iv = 20, + .level = 26, + .species = SPECIES_CARVANHA + }, + { + .iv = 20, + .level = 26, + .species = SPECIES_TENTACOOL + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_GYARADOS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Elliot4[] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_GYARADOS + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_CARVANHA + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_TENTACRUEL + }, + { + .iv = 31, + .level = 31, + .species = SPECIES_GYARADOS + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Elliot5[] = { + { + .iv = 40, + .level = 33, + .species = SPECIES_GYARADOS + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_SHARPEDO + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_GYARADOS + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_TENTACRUEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ronald[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_GYARADOS + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_GYARADOS + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_GYARADOS + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_GYARADOS + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_GYARADOS + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_MAGIKARP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jacob[] = { + { + .iv = 0, + .level = 7, + .species = SPECIES_VOLTORB + }, + { + .iv = 0, + .level = 7, + .species = SPECIES_VOLTORB + }, + { + .iv = 160, + .level = 15, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anthony[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Benjamin1[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Benjamin2[] = { + { + .iv = 10, + .level = 28, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Benjamin3[] = { + { + .iv = 20, + .level = 31, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Benjamin4[] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_MAGNETON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Benjamin5[] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_MAGNETON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Abigail1[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jasmine[] = { + { + .iv = 80, + .level = 15, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 80, + .level = 15, + .species = SPECIES_MAGNEMITE + }, + { + .iv = 0, + .level = 7, + .species = SPECIES_VOLTORB + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Abigail2[] = { + { + .iv = 10, + .level = 28, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Abigail3[] = { + { + .iv = 20, + .level = 31, + .species = SPECIES_MAGNEMITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Abigail4[] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_MAGNETON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Abigail5[] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_MAGNETON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dylan1[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_DODUO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dylan2[] = { + { + .iv = 10, + .level = 28, + .species = SPECIES_DODUO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dylan3[] = { + { + .iv = 20, + .level = 31, + .species = SPECIES_DODUO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dylan4[] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_DODRIO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dylan5[] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_DODRIO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maria1[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_DODUO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maria2[] = { + { + .iv = 10, + .level = 28, + .species = SPECIES_DODUO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maria3[] = { + { + .iv = 20, + .level = 31, + .species = SPECIES_DODUO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maria4[] = { + { + .iv = 30, + .level = 34, + .species = SPECIES_DODRIO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maria5[] = { + { + .iv = 40, + .level = 37, + .species = SPECIES_DODRIO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Caleb[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous6[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaiah1[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous7[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Chase[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_WINGULL + }, + { + .iv = 80, + .level = 35, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaiah2[] = { + { + .iv = 10, + .level = 39, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaiah3[] = { + { + .iv = 20, + .level = 42, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaiah4[] = { + { + .iv = 30, + .level = 45, + .species = SPECIES_STARMIE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaiah5[] = { + { + .iv = 40, + .level = 48, + .species = SPECIES_STARMIE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous8[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_WINGULL + }, + { + .iv = 160, + .level = 34, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Connor[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + }, + { + .iv = 160, + .level = 33, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + }, + { + .iv = 160, + .level = 33, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous9[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Katelyn1[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Allison[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + }, + { + .iv = 240, + .level = 33, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Katelyn2[] = { + { + .iv = 10, + .level = 39, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Katelyn3[] = { + { + .iv = 20, + .level = 42, + .species = SPECIES_STARYU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Katelyn4[] = { + { + .iv = 30, + .level = 45, + .species = SPECIES_STARMIE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Katelyn5[] = { + { + .iv = 40, + .level = 48, + .species = SPECIES_STARMIE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nicolas1[] = { + { + .iv = 100, + .level = 38, + .species = SPECIES_ALTARIA + }, + { + .iv = 100, + .level = 38, + .species = SPECIES_ALTARIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nicolas2[] = { + { + .iv = 110, + .level = 41, + .species = SPECIES_ALTARIA + }, + { + .iv = 110, + .level = 41, + .species = SPECIES_ALTARIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nicolas3[] = { + { + .iv = 120, + .level = 44, + .species = SPECIES_ALTARIA + }, + { + .iv = 120, + .level = 44, + .species = SPECIES_ALTARIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nicolas4[] = { + { + .iv = 130, + .level = 46, + .species = SPECIES_BAGON + }, + { + .iv = 130, + .level = 46, + .species = SPECIES_ALTARIA + }, + { + .iv = 130, + .level = 46, + .species = SPECIES_ALTARIA + } +}; + +const struct TrainerPartyMember2 gTrainerParty_Nicolas5[] = { + { + .iv = 140, + .level = 49, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .level = 49, + .species = SPECIES_ALTARIA, + .heldItem = ITEM_NONE + }, + { + .iv = 140, + .level = 49, + .species = SPECIES_SHELGON, + .heldItem = ITEM_DRAGON_FANG + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Aaron[] = { + { + .iv = 100, + .level = 35, + .species = SPECIES_BAGON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Perry[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hugh[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_SWELLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Phil[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_TAILLOW + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_SWELLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jared[] = { + { + .iv = 100, + .level = 30, + .species = SPECIES_DODUO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous10[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_WINGULL + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_TAILLOW + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_SWABLU + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_TAILLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tanner[] = { + { + .iv = 100, + .level = 30, + .species = SPECIES_SWABLU + }, + { + .iv = 100, + .level = 30, + .species = SPECIES_SWABLU + }, + { + .iv = 100, + .level = 30, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Will[] = { + { + .iv = 100, + .level = 28, + .species = SPECIES_WINGULL + }, + { + .iv = 100, + .level = 28, + .species = SPECIES_SWELLOW + }, + { + .iv = 100, + .level = 28, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Colin[] = { + { + .iv = 0, + .level = 29, + .species = SPECIES_NATU + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_SWELLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Robert1[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Benny[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_SWELLOW + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_PELIPPER + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_XATU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Chester[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_TAILLOW + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_SWELLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Robert2[] = { + { + .iv = 10, + .level = 32, + .species = SPECIES_NATU + }, + { + .iv = 10, + .level = 32, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Robert3[] = { + { + .iv = 20, + .level = 35, + .species = SPECIES_NATU + }, + { + .iv = 20, + .level = 35, + .species = SPECIES_ALTARIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Robert4[] = { + { + .iv = 30, + .level = 38, + .species = SPECIES_NATU + }, + { + .iv = 30, + .level = 38, + .species = SPECIES_ALTARIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Robert5[] = { + { + .iv = 40, + .level = 41, + .species = SPECIES_ALTARIA + }, + { + .iv = 40, + .level = 41, + .species = SPECIES_XATU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Alex[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_NATU + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SWELLOW + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Beck[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_PELIPPER + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Yasu[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Takashi[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_NINCADA + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_KOFFING + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Makoto[] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hideo1[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_NINJASK + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_SHEDINJA + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_TRAPINCH + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Lao1[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_NONE + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SMOG, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lung[] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_NINCADA + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Lao2[] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Lao3[] = { + { + .iv = 20, + .level = 27, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 20, + .level = 27, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 20, + .level = 27, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Lao4[] = { + { + .iv = 30, + .level = 30, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember3 gTrainerParty_Lao5[] = { + { + .iv = 40, + .level = 33, + .species = SPECIES_KOFFING, + .heldItem = ITEM_NONE, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_KOFFING, + .heldItem = ITEM_NONE, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_KOFFING, + .heldItem = ITEM_NONE, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_WEEZING, + .heldItem = ITEM_SMOKE_BALL, + .moves = MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tessa[] = { + { + .iv = 100, + .level = 12, + .species = SPECIES_MEDITITE + }, + { + .iv = 100, + .level = 12, + .species = SPECIES_MACHOP + }, + { + .iv = 100, + .level = 12, + .species = SPECIES_MEDITITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Laura[] = { + { + .iv = 100, + .level = 14, + .species = SPECIES_MEDITITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cyndy1[] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_MEDITITE + }, + { + .iv = 100, + .level = 19, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cora[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_MEDITITE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jill[] = { + { + .iv = 100, + .level = 27, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cyndy2[] = { + { + .iv = 110, + .level = 26, + .species = SPECIES_MEDITITE + }, + { + .iv = 110, + .level = 26, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cyndy3[] = { + { + .iv = 120, + .level = 29, + .species = SPECIES_MEDITITE + }, + { + .iv = 120, + .level = 29, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cyndy4[] = { + { + .iv = 130, + .level = 32, + .species = SPECIES_MEDICHAM + }, + { + .iv = 130, + .level = 32, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Cyndy5[] = { + { + .iv = 140, + .level = 35, + .species = SPECIES_MEDICHAM + }, + { + .iv = 140, + .level = 35, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Madeline1[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_NUMEL, + .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Clarissa[] = { + { + .iv = 0, + .level = 29, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Angelica[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_CASTFORM + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Madeline2[] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_NUMEL, + .moves = MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Madeline3[] = { + { + .iv = 20, + .level = 30, + .species = SPECIES_NUMEL, + .moves = MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Madeline4[] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_ROSELIA, + .moves = MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_NUMEL, + .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Madeline5[] = { + { + .iv = 40, + .level = 35, + .species = SPECIES_ROSELIA, + .moves = MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY + }, + { + .iv = 40, + .level = 35, + .species = SPECIES_CAMERUPT, + .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Beverly[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dawn[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nicole[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Denise[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Beth[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_MARILL + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tara[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_HORSEA + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Missy[] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_MARILL + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Alice[] = { + { + .iv = 0, + .level = 25, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jenny1[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grace[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_MARILL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tanya[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_LUVDISC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Sharon[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SEAKING + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nikki[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_MARILL + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brenda[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Katie[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_CHINCHOU + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Susie[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_HORSEA + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kara[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SEAKING + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dana[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_MARILL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_LUVDISC + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_AZUMARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Erin[] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Debra[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SEAKING + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Linda[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_HORSEA + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SEADRA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kaylee[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_LANTURN + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Laurel[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_LUVDISC + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_LUVDISC + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_LUVDISC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Darcy[] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jenny2[] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jenny3[] = { + { + .iv = 0, + .level = 41, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jenny4[] = { + { + .iv = 0, + .level = 43, + .species = SPECIES_STARYU + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jenny5[] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_LUVDISC + }, + { + .iv = 0, + .level = 45, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 45, + .species = SPECIES_STARMIE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Heidi[] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_SANDSHREW, + .moves = MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_BALTOY, + .moves = MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Becky[] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_SANDSHREW, + .moves = MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Carol[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_TAILLOW + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_LOMBRE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nancy[] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_MARILL + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_LOMBRE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Martha[] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_SKITTY + }, + { + .iv = 0, + .level = 23, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Diana1[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_SHROOMISH + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_ODDISH + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Nina[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_SWABLU + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_ZIGZAGOON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Irene[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_SHROOMISH + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Diana2[] = { + { + .iv = 10, + .level = 25, + .species = SPECIES_SHROOMISH + }, + { + .iv = 10, + .level = 25, + .species = SPECIES_GLOOM + }, + { + .iv = 10, + .level = 25, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Diana3[] = { + { + .iv = 20, + .level = 28, + .species = SPECIES_BRELOOM + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_GLOOM + }, + { + .iv = 20, + .level = 28, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Diana4[] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_BRELOOM + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_GLOOM + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Diana5[] = { + { + .iv = 40, + .level = 40, + .species = SPECIES_BRELOOM + }, + { + .iv = 40, + .level = 40, + .species = SPECIES_VILEPLUME + }, + { + .iv = 40, + .level = 40, + .species = SPECIES_ALTARIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_AmyAndLiv1[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_PLUSLE + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_MINUN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_AmyAndLiv2[] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_PLUSLE + }, + { + .iv = 10, + .level = 27, + .species = SPECIES_MINUN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_GinaAndMia1[] = { + { + .iv = 0, + .level = 8, + .species = SPECIES_LOTAD + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_SEEDOT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_MiuAndYuki[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_BEAUTIFLY + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_DUSTOX + } +}; + +const struct TrainerPartyMember0 gTrainerParty_AmyAndLiv3[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_PLUSLE + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_MINUN + } +}; + +const struct TrainerPartyMember1 gTrainerParty_GinaAndMia2[] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_DUSKULL, + .moves = MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_SHROOMISH, + .moves = MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_AmyAndLiv4[] = { + { + .iv = 20, + .level = 30, + .species = SPECIES_PLUSLE + }, + { + .iv = 20, + .level = 30, + .species = SPECIES_MINUN + } +}; + +const struct TrainerPartyMember1 gTrainerParty_AmyAndLiv5[] = { + { + .iv = 30, + .level = 33, + .species = SPECIES_PLUSLE, + .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + }, + { + .iv = 30, + .level = 33, + .species = SPECIES_MINUN, + .moves = MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + } +}; + +const struct TrainerPartyMember1 gTrainerParty_AmyAndLiv6[] = { + { + .iv = 40, + .level = 36, + .species = SPECIES_PLUSLE, + .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND + }, + { + .iv = 40, + .level = 36, + .species = SPECIES_MINUN, + .moves = MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Huey[] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Edmond[] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_MACHOP + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ernest1[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Dwayne[] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 11, + .species = SPECIES_MACHOP + }, + { + .iv = 0, + .level = 11, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Phillip[] = { + { + .iv = 0, + .level = 44, + .species = SPECIES_TENTACRUEL + }, + { + .iv = 0, + .level = 44, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Leonard[] = { + { + .iv = 0, + .level = 43, + .species = SPECIES_MACHOP + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_PELIPPER + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Duncan[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ernest2[] = { + { + .iv = 10, + .level = 36, + .species = SPECIES_WINGULL + }, + { + .iv = 10, + .level = 36, + .species = SPECIES_TENTACOOL + }, + { + .iv = 10, + .level = 36, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ernest3[] = { + { + .iv = 20, + .level = 39, + .species = SPECIES_PELIPPER + }, + { + .iv = 20, + .level = 39, + .species = SPECIES_TENTACOOL + }, + { + .iv = 20, + .level = 39, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ernest4[] = { + { + .iv = 30, + .level = 42, + .species = SPECIES_PELIPPER + }, + { + .iv = 30, + .level = 42, + .species = SPECIES_TENTACOOL + }, + { + .iv = 30, + .level = 42, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ernest5[] = { + { + .iv = 40, + .level = 45, + .species = SPECIES_PELIPPER + }, + { + .iv = 40, + .level = 45, + .species = SPECIES_MACHOKE + }, + { + .iv = 40, + .level = 45, + .species = SPECIES_TENTACRUEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous11[] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_ROSELIA + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous12[] = { + { + .iv = 0, + .level = 21, + .species = SPECIES_ROSELIA + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_ROSELIA + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous13[] = { + { + .iv = 0, + .level = 23, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Sonny[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Donovan[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Gerald[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kelvin[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kody[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tevin[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Damon[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Pablo[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_SPHEAL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Edwin1[] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_LOMBRE + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hector1[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ZANGOOSE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Hector2[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_SEVIPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Edwin2[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_LOMBRE + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Edwin3[] = { + { + .iv = 0, + .level = 29, + .species = SPECIES_LOMBRE + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Edwin4[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_LOMBRE + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Edwin5[] = { + { + .iv = 0, + .level = 35, + .species = SPECIES_LUDICOLO + }, + { + .iv = 0, + .level = 35, + .species = SPECIES_SHIFTRY + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wally1[] = { + { + .iv = 150, + .level = 44, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .level = 43, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .level = 44, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .level = 41, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .level = 45, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan1[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_TREECKO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan2[] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_NUMEL + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_WAILMER + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_GROVYLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan3[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_NUMEL + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_GROVYLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan4[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_TORCHIC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan5[] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_WAILMER + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_COMBUSKEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan6[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_COMBUSKEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan7[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_MUDKIP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan8[] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_NUMEL + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_MARSHTOMP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan9[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_NUMEL + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_MARSHTOMP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May1[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_TREECKO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May2[] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_WAILMER + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_NUMEL + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_GROVYLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May3[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_NUMEL + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_GROVYLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May4[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_TORCHIC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May5[] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_WAILMER + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_COMBUSKEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May6[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_WAILMER + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_COMBUSKEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May7[] = { + { + .iv = 0, + .level = 5, + .species = SPECIES_MUDKIP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May8[] = { + { + .iv = 50, + .level = 18, + .species = SPECIES_SHROOMISH + }, + { + .iv = 50, + .level = 18, + .species = SPECIES_NUMEL + }, + { + .iv = 100, + .level = 20, + .species = SPECIES_MARSHTOMP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May9[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_SHROOMISH + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_NUMEL + }, + { + .iv = 150, + .level = 31, + .species = SPECIES_MARSHTOMP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaac1[] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_WHISMUR + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_ARON + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_TAILLOW + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Riley[] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_SPINDA + }, + { + .iv = 0, + .level = 15, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Aidan[] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_SEEDOT + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaac2[] = { + { + .iv = 10, + .level = 22, + .species = SPECIES_LOUDRED + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_LINOONE + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_ARON + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_SWELLOW + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_MAKUHITA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaac3[] = { + { + .iv = 20, + .level = 25, + .species = SPECIES_LOUDRED + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_LINOONE + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_ARON + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_SWELLOW + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaac4[] = { + { + .iv = 30, + .level = 28, + .species = SPECIES_LOUDRED + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_LINOONE + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_ARON + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_SWELLOW + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Isaac5[] = { + { + .iv = 40, + .level = 31, + .species = SPECIES_LOUDRED + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_LINOONE + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_LAIRON + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_HARIYAMA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lydia1[] = { + { + .iv = 0, + .level = 12, + .species = SPECIES_WINGULL + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_SHROOMISH + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_MARILL + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_ROSELIA + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_SKITTY + }, + { + .iv = 0, + .level = 12, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Alexia[] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_LOTAD + }, + { + .iv = 0, + .level = 13, + .species = SPECIES_LOMBRE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Danielle[] = { + { + .iv = 0, + .level = 24, + .species = SPECIES_SKITTY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lydia2[] = { + { + .iv = 10, + .level = 22, + .species = SPECIES_WINGULL + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_SHROOMISH + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_MARILL + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_ROSELIA + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_SKITTY + }, + { + .iv = 10, + .level = 22, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lydia3[] = { + { + .iv = 20, + .level = 25, + .species = SPECIES_PELIPPER + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_BRELOOM + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_MARILL + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_ROSELIA + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_DELCATTY + }, + { + .iv = 20, + .level = 25, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lydia4[] = { + { + .iv = 30, + .level = 28, + .species = SPECIES_PELIPPER + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_BRELOOM + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_MARILL + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_ROSELIA + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_DELCATTY + }, + { + .iv = 30, + .level = 28, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lydia5[] = { + { + .iv = 40, + .level = 31, + .species = SPECIES_PELIPPER + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_BRELOOM + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_AZUMARILL + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_ROSELIA + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_DELCATTY + }, + { + .iv = 40, + .level = 31, + .species = SPECIES_SEAKING + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jackson1[] = { + { + .iv = 50, + .level = 28, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Carlos[] = { + { + .iv = 50, + .level = 29, + .species = SPECIES_SEEDOT + }, + { + .iv = 50, + .level = 29, + .species = SPECIES_NUZLEAF + }, + { + .iv = 50, + .level = 29, + .species = SPECIES_LOMBRE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Sebastian[] = { + { + .iv = 50, + .level = 39, + .species = SPECIES_CACTURNE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jackson2[] = { + { + .iv = 60, + .level = 31, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jackson3[] = { + { + .iv = 70, + .level = 34, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jackson4[] = { + { + .iv = 80, + .level = 37, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jackson5[] = { + { + .iv = 90, + .level = 39, + .species = SPECIES_KECLEON + }, + { + .iv = 90, + .level = 39, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Catherine1[] = { + { + .iv = 50, + .level = 27, + .species = SPECIES_GLOOM + }, + { + .iv = 50, + .level = 27, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jenna[] = { + { + .iv = 50, + .level = 29, + .species = SPECIES_LOTAD + }, + { + .iv = 50, + .level = 29, + .species = SPECIES_LOMBRE + }, + { + .iv = 50, + .level = 29, + .species = SPECIES_NUZLEAF + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Sophia[] = { + { + .iv = 50, + .level = 38, + .species = SPECIES_SWABLU + }, + { + .iv = 50, + .level = 38, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Catherine2[] = { + { + .iv = 60, + .level = 30, + .species = SPECIES_GLOOM + }, + { + .iv = 60, + .level = 30, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Catherine3[] = { + { + .iv = 70, + .level = 33, + .species = SPECIES_GLOOM + }, + { + .iv = 70, + .level = 33, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Catherine4[] = { + { + .iv = 80, + .level = 36, + .species = SPECIES_GLOOM + }, + { + .iv = 80, + .level = 36, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Catherine5[] = { + { + .iv = 90, + .level = 39, + .species = SPECIES_BELLOSSOM + }, + { + .iv = 90, + .level = 39, + .species = SPECIES_ROSELIA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maxie1[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_TORKOAL + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_CAMERUPT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt28[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt29[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_NUMEL + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt30[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_NUMEL + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_ZUBAT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt31[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt32[] = { + { + .iv = 0, + .level = 37, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 37, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt33[] = { + { + .iv = 0, + .level = 38, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt34[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt35[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_BALTOY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt36[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt37[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 9, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt38[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt39[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt40[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt41[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 17, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt42[] = { + { + .iv = 0, + .level = 11, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt43[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_POOCHYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt44[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt45[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt46[] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt47[] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt48[] = { + { + .iv = 0, + .level = 17, + .species = SPECIES_BALTOY + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt49[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_ZUBAT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt50[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt51[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_NUMEL + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt52[] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt53[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_POOCHYENA + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_NUMEL + }, + { + .iv = 0, + .level = 31, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Grunt54[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_ZUBAT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous14[] = { + { + .iv = 50, + .level = 30, + .species = SPECIES_CARVANHA + }, + { + .iv = 50, + .level = 30, + .species = SPECIES_MIGHTYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous15[] = { + { + .iv = 50, + .level = 30, + .species = SPECIES_POOCHYENA + }, + { + .iv = 50, + .level = 30, + .species = SPECIES_SWELLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tabitha1[] = { + { + .iv = 50, + .level = 32, + .species = SPECIES_NUMEL + }, + { + .iv = 50, + .level = 32, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 50, + .level = 32, + .species = SPECIES_CAMERUPT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tabitha2[] = { + { + .iv = 50, + .level = 20, + .species = SPECIES_NUMEL + }, + { + .iv = 50, + .level = 20, + .species = SPECIES_POOCHYENA + }, + { + .iv = 50, + .level = 20, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Anonymous16[] = { + { + .iv = 50, + .level = 21, + .species = SPECIES_CARVANHA + }, + { + .iv = 50, + .level = 21, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Courtney1[] = { + { + .iv = 50, + .level = 28, + .species = SPECIES_NUMEL + }, + { + .iv = 50, + .level = 28, + .species = SPECIES_MIGHTYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Courtney2[] = { + { + .iv = 50, + .level = 38, + .species = SPECIES_CAMERUPT + }, + { + .iv = 50, + .level = 38, + .species = SPECIES_MIGHTYENA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maxie2[] = { + { + .iv = 150, + .level = 41, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 150, + .level = 41, + .species = SPECIES_CROBAT + }, + { + .iv = 150, + .level = 43, + .species = SPECIES_CAMERUPT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Maxie3[] = { + { + .iv = 150, + .level = 24, + .species = SPECIES_MIGHTYENA + }, + { + .iv = 150, + .level = 24, + .species = SPECIES_GOLBAT + }, + { + .iv = 150, + .level = 25, + .species = SPECIES_CAMERUPT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tiana[] = { + { + .iv = 0, + .level = 4, + .species = SPECIES_ZIGZAGOON + }, + { + .iv = 0, + .level = 4, + .species = SPECIES_ZIGZAGOON + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Haley1[] = { + { + .iv = 0, + .level = 7, + .species = SPECIES_LOTAD + }, + { + .iv = 0, + .level = 7, + .species = SPECIES_SHROOMISH + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Janice[] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Vivi[] = { + { + .iv = 100, + .level = 15, + .species = SPECIES_MARILL + }, + { + .iv = 100, + .level = 15, + .species = SPECIES_SHROOMISH + }, + { + .iv = 100, + .level = 15, + .species = SPECIES_NUMEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Haley2[] = { + { + .iv = 10, + .level = 26, + .species = SPECIES_LOMBRE + }, + { + .iv = 10, + .level = 26, + .species = SPECIES_SHROOMISH + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Haley3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_LOMBRE + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Haley4[] = { + { + .iv = 30, + .level = 32, + .species = SPECIES_LOMBRE + }, + { + .iv = 30, + .level = 32, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Haley5[] = { + { + .iv = 40, + .level = 34, + .species = SPECIES_SWELLOW + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_LOMBRE + }, + { + .iv = 40, + .level = 34, + .species = SPECIES_BRELOOM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Sally[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_ODDISH + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Robin[] = { + { + .iv = 0, + .level = 14, + .species = SPECIES_SKITTY + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_SHROOMISH + }, + { + .iv = 0, + .level = 14, + .species = SPECIES_MARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Andrea[] = { + { + .iv = 100, + .level = 41, + .species = SPECIES_LUVDISC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Crissy[] = { + { + .iv = 100, + .level = 40, + .species = SPECIES_WAILMER + }, + { + .iv = 100, + .level = 40, + .species = SPECIES_WAILMER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Rick[] = { + { + .iv = 0, + .level = 4, + .species = SPECIES_WURMPLE + }, + { + .iv = 0, + .level = 4, + .species = SPECIES_WURMPLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lyle[] = { + { + .iv = 0, + .level = 3, + .species = SPECIES_WURMPLE + }, + { + .iv = 0, + .level = 3, + .species = SPECIES_WURMPLE + }, + { + .iv = 0, + .level = 3, + .species = SPECIES_WURMPLE + }, + { + .iv = 0, + .level = 3, + .species = SPECIES_WURMPLE + }, + { + .iv = 0, + .level = 3, + .species = SPECIES_WURMPLE + }, + { + .iv = 0, + .level = 3, + .species = SPECIES_WURMPLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jose[] = { + { + .iv = 50, + .level = 8, + .species = SPECIES_WURMPLE + }, + { + .iv = 50, + .level = 8, + .species = SPECIES_SILCOON + }, + { + .iv = 50, + .level = 8, + .species = SPECIES_NINCADA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Doug[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_NINCADA + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_NINCADA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Greg[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_VOLBEAT + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_ILLUMISE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kent[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_James1[] = { + { + .iv = 0, + .level = 8, + .species = SPECIES_NINCADA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_James2[] = { + { + .iv = 10, + .level = 27, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_James3[] = { + { + .iv = 20, + .level = 29, + .species = SPECIES_DUSTOX + }, + { + .iv = 20, + .level = 29, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_James4[] = { + { + .iv = 30, + .level = 31, + .species = SPECIES_SURSKIT + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_DUSTOX + }, + { + .iv = 30, + .level = 31, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_James5[] = { + { + .iv = 40, + .level = 33, + .species = SPECIES_SURSKIT + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_NINJASK + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_DUSTOX + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_NINJASK + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brice[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_NUMEL + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Trent1[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_GEODUDE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lenny[] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_MACHOP + }, + { + .iv = 0, + .level = 19, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Lucas1[] = { + { + .iv = 0, + .level = 18, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 18, + .species = SPECIES_GEODUDE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Alan[] = { + { + .iv = 0, + .level = 22, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_NOSEPASS + }, + { + .iv = 0, + .level = 22, + .species = SPECIES_GRAVELER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Clark[] = { + { + .iv = 0, + .level = 8, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 8, + .species = SPECIES_GEODUDE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Eric[] = { + { + .iv = 0, + .level = 21, + .species = SPECIES_BALTOY + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_BALTOY + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Lucas2[] = { + { + .iv = 0, + .level = 9, + .species = SPECIES_WAILMER, + .moves = MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Mike1[] = { + { + .iv = 0, + .level = 10, + .species = SPECIES_PELIPPER, + .moves = MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE + }, + { + .iv = 0, + .level = 10, + .species = SPECIES_POOCHYENA, + .moves = MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Mike2[] = { + { + .iv = 0, + .level = 16, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_GEODUDE + }, + { + .iv = 0, + .level = 16, + .species = SPECIES_MACHOP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Trent2[] = { + { + .iv = 10, + .level = 24, + .species = SPECIES_GEODUDE + }, + { + .iv = 10, + .level = 24, + .species = SPECIES_GEODUDE + }, + { + .iv = 10, + .level = 24, + .species = SPECIES_GEODUDE + }, + { + .iv = 10, + .level = 24, + .species = SPECIES_GRAVELER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Trent3[] = { + { + .iv = 20, + .level = 27, + .species = SPECIES_GEODUDE + }, + { + .iv = 20, + .level = 27, + .species = SPECIES_GEODUDE + }, + { + .iv = 20, + .level = 27, + .species = SPECIES_GRAVELER + }, + { + .iv = 20, + .level = 27, + .species = SPECIES_GRAVELER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Trent4[] = { + { + .iv = 30, + .level = 30, + .species = SPECIES_GEODUDE + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_GRAVELER + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_GRAVELER + }, + { + .iv = 30, + .level = 30, + .species = SPECIES_GRAVELER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Trent5[] = { + { + .iv = 40, + .level = 33, + .species = SPECIES_GRAVELER + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_GRAVELER + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_GRAVELER + }, + { + .iv = 40, + .level = 33, + .species = SPECIES_GOLEM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_DezAndLuke[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_DELCATTY + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_MANECTRIC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_LeaAndJed[] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_LUVDISC + }, + { + .iv = 0, + .level = 45, + .species = SPECIES_LUVDISC + } +}; + +const struct TrainerPartyMember0 gTrainerParty_LoisAndHal1[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_VOLBEAT + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_ILLUMISE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_LoisAndHal2[] = { + { + .iv = 10, + .level = 30, + .species = SPECIES_VOLBEAT + }, + { + .iv = 10, + .level = 30, + .species = SPECIES_ILLUMISE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_LoisAndHal3[] = { + { + .iv = 20, + .level = 33, + .species = SPECIES_VOLBEAT + }, + { + .iv = 20, + .level = 33, + .species = SPECIES_ILLUMISE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_LoisAndHal4[] = { + { + .iv = 30, + .level = 36, + .species = SPECIES_VOLBEAT + }, + { + .iv = 30, + .level = 36, + .species = SPECIES_ILLUMISE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_LoisAndHal5[] = { + { + .iv = 40, + .level = 39, + .species = SPECIES_VOLBEAT + }, + { + .iv = 40, + .level = 39, + .species = SPECIES_ILLUMISE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Johanna[] = { + { + .iv = 0, + .level = 13, + .species = SPECIES_GOLDEEN + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Zane[] = { + { + .iv = 100, + .level = 24, + .species = SPECIES_KECLEON, + .moves = MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FAINT_ATTACK, MOVE_BIND + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Vivian[] = { + { + .iv = 100, + .level = 19, + .species = SPECIES_MEDITITE, + .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Sadie[] = { + { + .iv = 100, + .level = 24, + .species = SPECIES_MEDITITE, + .moves = MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Hideo2[] = { + { + .iv = 0, + .level = 26, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Keigo[] = { + { + .iv = 0, + .level = 29, + .species = SPECIES_KOFFING, + .moves = MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SMOKESCREEN + }, + { + .iv = 0, + .level = 29, + .species = SPECIES_NINJASK, + .moves = MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Tsunao[] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_NINCADA, + .moves = MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_KOFFING, + .moves = MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN + }, + { + .iv = 0, + .level = 28, + .species = SPECIES_NINJASK, + .moves = MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SCREECH, MOVE_SWORDS_DANCE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Terrell[] = { + { + .iv = 100, + .level = 29, + .species = SPECIES_TAILLOW + }, + { + .iv = 100, + .level = 29, + .species = SPECIES_SWELLOW + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Kylee[] = { + { + .iv = 100, + .level = 30, + .species = SPECIES_SWABLU + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wally2[] = { + { + .iv = 30, + .level = 16, + .species = SPECIES_RALTS + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wally3[] = { + { + .iv = 150, + .level = 47, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .level = 46, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .level = 47, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .level = 44, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .level = 48, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wally4[] = { + { + .iv = 150, + .level = 50, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .level = 49, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .level = 50, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .level = 47, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .level = 51, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wally5[] = { + { + .iv = 150, + .level = 53, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .level = 52, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .level = 53, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .level = 50, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .level = 54, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerPartyMember1 gTrainerParty_Wally6[] = { + { + .iv = 150, + .level = 56, + .species = SPECIES_ALTARIA, + .moves = MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE + }, + { + .iv = 150, + .level = 55, + .species = SPECIES_DELCATTY, + .moves = MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FAINT_ATTACK + }, + { + .iv = 150, + .level = 56, + .species = SPECIES_ROSELIA, + .moves = MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC + }, + { + .iv = 150, + .level = 53, + .species = SPECIES_MAGNETON, + .moves = MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH + }, + { + .iv = 250, + .level = 57, + .species = SPECIES_GARDEVOIR, + .moves = MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan10[] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_NUMEL + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_WAILMER + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_GROVYLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan11[] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_WAILMER + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_SHROOMISH + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_COMBUSKEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Brendan12[] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_SHROOMISH + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_NUMEL + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_MARSHTOMP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May10[] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_NUMEL + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_WAILMER + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_GROVYLE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May11[] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_WAILMER + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_SHROOMISH + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_COMBUSKEN + } +}; + +const struct TrainerPartyMember0 gTrainerParty_May12[] = { + { + .iv = 150, + .level = 31, + .species = SPECIES_SWELLOW + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_SHROOMISH + }, + { + .iv = 150, + .level = 32, + .species = SPECIES_NUMEL + }, + { + .iv = 200, + .level = 34, + .species = SPECIES_MARSHTOMP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Jonah[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Henry[] = { + { + .iv = 0, + .level = 31, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 35, + .species = SPECIES_TENTACRUEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Roger[] = { + { + .iv = 0, + .level = 15, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 25, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 35, + .species = SPECIES_GYARADOS + }, + { + .iv = 0, + .level = 45, + .species = SPECIES_MAGIKARP + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Alexa[] = { + { + .iv = 100, + .level = 35, + .species = SPECIES_GLOOM + }, + { + .iv = 100, + .level = 35, + .species = SPECIES_AZUMARILL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Ruben[] = { + { + .iv = 100, + .level = 34, + .species = SPECIES_SHIFTRY + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_GRAVELER + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_LOUDRED + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Koji[] = { + { + .iv = 100, + .level = 34, + .species = SPECIES_MACHOKE + }, + { + .iv = 100, + .level = 34, + .species = SPECIES_MACHOKE + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Wayne[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 30, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 35, + .species = SPECIES_WAILMER + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_TENTACRUEL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Byron[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SWELLOW + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Reed[] = { + { + .iv = 0, + .level = 32, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_CARVANHA + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SPHEAL + }, + { + .iv = 0, + .level = 32, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Tisha[] = { + { + .iv = 0, + .level = 33, + .species = SPECIES_CHINCHOU + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_LUVDISC + }, + { + .iv = 0, + .level = 33, + .species = SPECIES_PELIPPER + } +}; + +const struct TrainerPartyMember0 gTrainerParty_ToriAndTia[] = { + { + .iv = 0, + .level = 20, + .species = SPECIES_WHISMUR + }, + { + .iv = 0, + .level = 20, + .species = SPECIES_WHISMUR + } +}; + +const struct TrainerPartyMember1 gTrainerParty_KimAndIris[] = { + { + .iv = 0, + .level = 34, + .species = SPECIES_SWABLU, + .moves = MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE + }, + { + .iv = 0, + .level = 36, + .species = SPECIES_NUMEL, + .moves = MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_TyraAndIvy[] = { + { + .iv = 0, + .level = 19, + .species = SPECIES_ROSELIA, + .moves = MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_GRAVELER, + .moves = MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW + } +}; + +const struct TrainerPartyMember1 gTrainerParty_MelAndPaul[] = { + { + .iv = 0, + .level = 27, + .species = SPECIES_DUSTOX, + .moves = MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_BEAUTIFLY, + .moves = MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE + } +}; + +const struct TrainerPartyMember1 gTrainerParty_JohnAndJay1[] = { + { + .iv = 200, + .level = 40, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 200, + .level = 40, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerPartyMember1 gTrainerParty_JohnAndJay2[] = { + { + .iv = 210, + .level = 43, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 210, + .level = 43, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerPartyMember1 gTrainerParty_JohnAndJay3[] = { + { + .iv = 220, + .level = 46, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 220, + .level = 46, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerPartyMember1 gTrainerParty_JohnAndJay4[] = { + { + .iv = 230, + .level = 49, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 230, + .level = 49, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerPartyMember1 gTrainerParty_JohnAndJay5[] = { + { + .iv = 240, + .level = 52, + .species = SPECIES_MEDICHAM, + .moves = MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT + }, + { + .iv = 240, + .level = 52, + .species = SPECIES_HARIYAMA, + .moves = MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM + } +}; + +const struct TrainerPartyMember0 gTrainerParty_ReliAndIan[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_AZUMARILL + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_WINGULL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_RitaAndSam1[] = { + { + .iv = 0, + .level = 36, + .species = SPECIES_CHINCHOU + }, + { + .iv = 0, + .level = 34, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_RitaAndSam2[] = { + { + .iv = 0, + .level = 42, + .species = SPECIES_CHINCHOU + }, + { + .iv = 0, + .level = 40, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_RitaAndSam3[] = { + { + .iv = 0, + .level = 45, + .species = SPECIES_LANTURN + }, + { + .iv = 0, + .level = 43, + .species = SPECIES_CARVANHA + } +}; + +const struct TrainerPartyMember0 gTrainerParty_RitaAndSam4[] = { + { + .iv = 0, + .level = 48, + .species = SPECIES_LANTURN + }, + { + .iv = 0, + .level = 46, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_RitaAndSam5[] = { + { + .iv = 0, + .level = 51, + .species = SPECIES_LANTURN + }, + { + .iv = 0, + .level = 49, + .species = SPECIES_SHARPEDO + } +}; + +const struct TrainerPartyMember0 gTrainerParty_LisaAndRay[] = { + { + .iv = 0, + .level = 28, + .species = SPECIES_GOLDEEN + }, + { + .iv = 0, + .level = 26, + .species = SPECIES_TENTACOOL + } +}; + +const struct TrainerPartyMember0 gTrainerParty_Eugene[] = { + { + .iv = 0, + .level = 30, + .species = SPECIES_MAGIKARP + }, + { + .iv = 0, + .level = 21, + .species = SPECIES_TENTACOOL + }, + { + .iv = 0, + .level = 27, + .species = SPECIES_FEEBAS + }, + { + .iv = 0, + .level = 24, + .species = SPECIES_CARVANHA + } +}; + -- cgit v1.2.3 From 7061864e49a52a686637685b0208bc99b1221eb6 Mon Sep 17 00:00:00 2001 From: Blampharos Date: Thu, 25 Jan 2018 12:26:57 +0100 Subject: Decompile trainer class names This includes both German and English --- src/battle/battle_1.c | 6 ++++ src/data/text/trainer_class_names_de.h | 60 +++++++++++++++++++++++++++++++ src/data/text/trainer_class_names_en.h | 65 ++++++++++++++++++++++++++++++++++ 3 files changed, 131 insertions(+) create mode 100644 src/data/text/trainer_class_names_de.h create mode 100644 src/data/text/trainer_class_names_en.h (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index bbcc74eb9..3c6cee457 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -446,3 +446,9 @@ const u8 gEnemyMonElevation[] = { }; #include "../data/trainer_parties.h" + +#if ENGLISH +#include "../data/text/trainer_class_names_en.h" +#elif GERMAN +#include "../data/text/trainer_class_names_de.h" +#endif diff --git a/src/data/text/trainer_class_names_de.h b/src/data/text/trainer_class_names_de.h new file mode 100644 index 000000000..4b5d6491b --- /dev/null +++ b/src/data/text/trainer_class_names_de.h @@ -0,0 +1,60 @@ +const u8 gTrainerClassNames[][13] = { + _("{PKMN}-TRAINER"), + _("{PKMN}-TRAINER"), + _("AQUA BOSS"), + _("TEAM AQUA"), + _("AQUA VORS."), + _("AROMALADY"), + _("RUINENMANIAC"), + _("INTERVIEWER"), + _("PLANSCHER"), // うきわガール (Inner Tube Girl) in Ja + _("PLANSCHER"), // うきわボーイ (Inner Tube Boy) in Ja + _("ASS-TRAINER"), + _("HEXE"), + _("LADY"), + _("SCHÖNHEIT"), + _("SCHNÖSEL"), + _("POKéMANIAC"), + _("SCHWIMMER"), + _("SCHWARZGURT"), + _("GITARRIST"), + _("HITZKOPF"), + _("CAMPER"), + _("KÄFERMANIAC"), + _("PSYCHO"), + _("GENTLEMAN"), + _("TOP VIER"), + _("LEITER"), + _("SCHULKIND"), + _("SEN. & JUN."), + _("SIHGERS,"), + _("POKéFAN"), + _("EXPERTE"), + _("TEENAGER"), + _("CHAMP"), + _("ANGLER"), + _("TRIATHLET"), + _("DRACHENPROFI"), + _("VOGELFÄNGER"), + _("NINJAJUNGE"), + _("KÄMPFERIN"), + _("SCHIRMDAME"), + _("SCHWIMMERIN"), + _("PICKNICKER"), + _("ZWIL."), + _("MATROSE"), + _("SNOWBOARDER"), + _("{PKMN}-SAMMLER"), + _("{PKMN}-TRAINER"), + _("{PKMN}-ZÜCHTER"), + _("{PKMN}-RANGER"), + _("MAGMA BOSS"), + _("TEAM MAGMA"), + _("MAGMA VORS."), + _("GÖRE"), + _("KÄFERSAMMLER"), + _("WANDERER"), + _("JUNGES GLÜCK"), + _("ALTES PAAR"), + _("GESCHWISTER"), +}; diff --git a/src/data/text/trainer_class_names_en.h b/src/data/text/trainer_class_names_en.h new file mode 100644 index 000000000..1e2a8f754 --- /dev/null +++ b/src/data/text/trainer_class_names_en.h @@ -0,0 +1,65 @@ +#ifndef GUARD_TRAINER_CLASS_NAMES_H +#define GUARD_TRAINER_CLASS_NAMES_H + +const u8 gTrainerClassNames[][13] = { + _("{PKMN} TRAINER"), + _("{PKMN} TRAINER"), + _("AQUA LEADER"), + _("TEAM AQUA"), + _("AQUA ADMIN"), + _("AROMA LADY"), + _("RUIN MANIAC"), + _("INTERVIEWER"), + _("TUBER"), // うきわガール (Inner Tube Girl) in Ja + _("TUBER"), // うきわボーイ (Inner Tube Boy) in Ja + _("COOLTRAINER"), + _("HEX MANIAC"), + _("LADY"), + _("BEAUTY"), + _("RICH BOY"), + _("POKéMANIAC"), + _("SWIMMER♂"), + _("BLACK BELT"), + _("GUITARIST"), + _("KINDLER"), + _("CAMPER"), + _("BUG MANIAC"), + _("PSYCHIC"), + _("GENTLEMAN"), + _("ELITE FOUR"), + _("LEADER"), + _("SCHOOL KID"), + _("SR. AND JR."), + _("WINSTRATE"), + _("POKéFAN"), + _("EXPERT"), + _("YOUNGSTER"), + _("CHAMPION"), + _("FISHERMAN"), + _("TRIATHLETE"), + _("DRAGON TAMER"), + _("BIRD KEEPER"), + _("NINJA BOY"), + _("BATTLE GIRL"), + _("PARASOL LADY"), + _("SWIMMER♀"), + _("PICNICKER"), + _("TWINS"), + _("SAILOR"), + _("BOARDER"), + _("COLLECTOR"), + _("{PKMN} TRAINER"), + _("{PKMN} BREEDER"), + _("{PKMN} RANGER"), + _("MAGMA LEADER"), + _("TEAM MAGMA"), + _("MAGMA ADMIN"), + _("LASS"), + _("BUG CATCHER"), + _("HIKER"), + _("YOUNG COUPLE"), + _("OLD COUPLE"), + _("SIS AND BRO") +}; + +#endif -- cgit v1.2.3 From 776016e9ecf469b2c06a4d234b93af2e52d4cd04 Mon Sep 17 00:00:00 2001 From: Blampharos Date: Thu, 25 Jan 2018 13:56:33 +0100 Subject: Move trainer party includes to parent file --- src/battle/battle_1.c | 3 +++ src/data/trainer_parties.h | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index 3c6cee457..1f920f345 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -1,6 +1,9 @@ #include "global.h" #include "data2.h" +#include "battle_setup.h" #include "constants/species.h" +#include "constants/moves.h" +#include "constants/items.h" const struct MonCoords gTrainerBackPicCoords[] = { {8, 4}, diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index 760fd1979..ad6b052df 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1,7 +1,3 @@ -#include "battle_setup.h" -#include "constants/moves.h" -#include "constants/items.h" - const struct TrainerPartyMember0 gTrainerParty_Archie1[] = { { .iv = 0, -- cgit v1.2.3 From 0bf16dd66a6b0d7ad0526406e82a5236567e58d0 Mon Sep 17 00:00:00 2001 From: Blampharos Date: Thu, 25 Jan 2018 17:31:41 +0100 Subject: Decompile trainer data This necessitated changes in other files which access this data. Three macro constants were migrated from trainer_constants.inc to trainer.h data/trainers.inc and data-de/trainers.inc have been deleted --- src/battle/battle_1.c | 6 + src/battle/battle_2.c | 8 +- src/battle/battle_setup.c | 2 +- src/data/trainers_de.h | 9717 +++++++++++++++++++++++++++++++++++++++++++++ src/data/trainers_en.h | 9717 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 19445 insertions(+), 5 deletions(-) create mode 100644 src/data/trainers_de.h create mode 100644 src/data/trainers_en.h (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index 1f920f345..210d2c2ab 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -1,9 +1,12 @@ #include "global.h" #include "data2.h" #include "battle_setup.h" +#include "battle.h" +#include "trainer.h" #include "constants/species.h" #include "constants/moves.h" #include "constants/items.h" +#include "constants/opponents.h" const struct MonCoords gTrainerBackPicCoords[] = { {8, 4}, @@ -452,6 +455,9 @@ const u8 gEnemyMonElevation[] = { #if ENGLISH #include "../data/text/trainer_class_names_en.h" +#include "../data/trainers_en.h" #elif GERMAN #include "../data/text/trainer_class_names_de.h" +#include "../data/trainers_de.h" #endif + diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index b00c35312..f969a28d8 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -985,7 +985,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) { case 0: { - struct TrainerPartyMember0 *partyData = gTrainers[trainerNum].party; + const struct TrainerPartyMember0 *partyData = gTrainers[trainerNum].party; for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) nameHash += gSpeciesNames[partyData[i].species][j]; @@ -996,7 +996,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) } case 1: { - struct TrainerPartyMember1 *partyData = gTrainers[trainerNum].party; + const struct TrainerPartyMember1 *partyData = gTrainers[trainerNum].party; for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) nameHash += gSpeciesNames[partyData[i].species][j]; @@ -1013,7 +1013,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) } case 2: { - struct TrainerPartyMember2 *partyData = gTrainers[trainerNum].party; + const struct TrainerPartyMember2 *partyData = gTrainers[trainerNum].party; for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) nameHash += gSpeciesNames[partyData[i].species][j]; @@ -1026,7 +1026,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum) } case 3: { - struct TrainerPartyMember3 *partyData = gTrainers[trainerNum].party; + const struct TrainerPartyMember3 *partyData = gTrainers[trainerNum].party; for (j = 0; gSpeciesNames[partyData[i].species][j] != 0xFF; j++) nameHash += gSpeciesNames[partyData[i].species][j]; diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index 892be1029..1c6be029d 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -748,7 +748,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) u8 i; u8 sum; u32 count = numMons; - void *party; + const void *party; if (gTrainers[opponentId].partySize < count) count = gTrainers[opponentId].partySize; diff --git a/src/data/trainers_de.h b/src/data/trainers_de.h new file mode 100644 index 000000000..c7a0e7744 --- /dev/null +++ b/src/data/trainers_de.h @@ -0,0 +1,9717 @@ +const struct Trainer gTrainers[] = { + [OPPONENT_NONE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 0, + .party = NULL + }, + + [OPPONENT_ARCHIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_ARCHIE, + .trainerName = _("ADRIAN"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Archie1 + }, + + [OPPONENT_GRUNT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt1 + }, + + [OPPONENT_GRUNT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Grunt2 + }, + + [OPPONENT_GRUNT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt3 + }, + + [OPPONENT_GRUNT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt4 + }, + + [OPPONENT_GRUNT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt5 + }, + + [OPPONENT_GRUNT_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt6 + }, + + [OPPONENT_GRUNT_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt7 + }, + + [OPPONENT_GRUNT_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt8 + }, + + [OPPONENT_GRUNT_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt9 + }, + + [OPPONENT_GRUNT_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt10 + }, + + [OPPONENT_GRUNT_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt11 + }, + + [OPPONENT_GRUNT_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt12 + }, + + [OPPONENT_GRUNT_13] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt13 + }, + + [OPPONENT_GRUNT_14] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt14 + }, + + [OPPONENT_GRUNT_15] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt15 + }, + + [OPPONENT_GRUNT_16] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt16 + }, + + [OPPONENT_GRUNT_17] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt17 + }, + + [OPPONENT_GRUNT_18] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt18 + }, + + [OPPONENT_GRUNT_19] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt19 + }, + + [OPPONENT_GRUNT_20] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt20 + }, + + [OPPONENT_GRUNT_21] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt21 + }, + + [OPPONENT_GRUNT_22] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt22 + }, + + [OPPONENT_GRUNT_23] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt23 + }, + + [OPPONENT_GRUNT_24] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt24 + }, + + [OPPONENT_GRUNT_25] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt25 + }, + + [OPPONENT_GRUNT_26] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt26 + }, + + [OPPONENT_GRUNT_27] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_F, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt27 + }, + + [OPPONENT_ANONYMOUS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Anonymous1 + }, + + [OPPONENT_MATT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, + .trainerName = _("WOLFGANG"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Matt1 + }, + + [OPPONENT_MATT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, + .trainerName = _("WOLFGANG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Matt2 + }, + + [OPPONENT_SHELLY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, + .trainerName = _("KORDULA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelly1 + }, + + [OPPONENT_SHELLY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_F, + .trainerName = _("KORDULA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelly2 + }, + + [OPPONENT_ARCHIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_ARCHIE, + .trainerName = _("ADRIAN"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Archie2 + }, + + [OPPONENT_ARCHIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_ARCHIE, + .trainerName = _("ADRIAN"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Archie3 + }, + + [OPPONENT_DAISY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("MARGARETE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Daisy + }, + + [OPPONENT_ROSE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSEMARIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rose1 + }, + + [OPPONENT_LILY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("LILLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lily + }, + + [OPPONENT_VIOLET] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ERIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Violet + }, + + [OPPONENT_ROSE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSEMARIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rose2 + }, + + [OPPONENT_ROSE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSEMARIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Rose3 + }, + + [OPPONENT_ROSE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSEMARIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Rose4 + }, + + [OPPONENT_ROSE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("ROSEMARIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Rose5 + }, + + [OPPONENT_DUSTY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("RÜDIGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty1 + }, + + [OPPONENT_CHIP] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("RUPRECHT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Chip + }, + + [OPPONENT_FOSTER] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("RUBEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Foster + }, + + [OPPONENT_DUSTY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("RÜDIGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty2 + }, + + [OPPONENT_DUSTY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("RÜDIGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty3 + }, + + [OPPONENT_DUSTY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("RÜDIGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty4 + }, + + [OPPONENT_DUSTY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("RÜDIGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty5 + }, + + [OPPONENT_GABBY_AND_TY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("PIA & UDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy1 + }, + + [OPPONENT_GABBY_AND_TY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("PIA & UDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy2 + }, + + [OPPONENT_GABBY_AND_TY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("PIA & UDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy3 + }, + + [OPPONENT_GABBY_AND_TY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("PIA & UDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy4 + }, + + [OPPONENT_GABBY_AND_TY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("PIA & UDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy5 + }, + + [OPPONENT_GABBY_AND_TY_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("PIA & UDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy6 + }, + + [OPPONENT_LOLA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola1 + }, + + [OPPONENT_CARMEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("CARMEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Carmen + }, + + [OPPONENT_GWEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("HILDE "), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Gwen + }, + + [OPPONENT_LOLA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola2 + }, + + [OPPONENT_LOLA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola3 + }, + + [OPPONENT_LOLA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola4 + }, + + [OPPONENT_LOLA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola5 + }, + + [OPPONENT_RICKY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("GÜNTHER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky1 + }, + + [OPPONENT_SIMON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("SIMON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Simon + }, + + [OPPONENT_CHARLIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("HILMAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Charlie + }, + + [OPPONENT_RICKY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("GÜNTHER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky2 + }, + + [OPPONENT_RICKY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("GÜNTHER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky3 + }, + + [OPPONENT_RICKY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("GÜNTHER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky4 + }, + + [OPPONENT_RICKY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("GÜNTHER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky5 + }, + + [OPPONENT_RANDALL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("HUBERT"), + .items = {ITEM_X_SPEED, ITEM_X_SPEED, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Randall + }, + + [OPPONENT_PARKER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PATRICK"), + .items = {ITEM_GUARD_SPEC, ITEM_GUARD_SPEC, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Parker + }, + + [OPPONENT_GEORGE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("NILS"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_George + }, + + [OPPONENT_BERKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("CHRISTIAN"), + .items = {ITEM_DIRE_HIT, ITEM_DIRE_HIT, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Berke + }, + + [OPPONENT_CLYDE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("OSKAR"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Clyde + }, + + [OPPONENT_VINCENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("OTFRIED"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Vincent + }, + + [OPPONENT_LEROY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("OTMAR"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Leroy + }, + + [OPPONENT_WILTON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PASCAL"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton1 + }, + + [OPPONENT_EDGAR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("EDGAR"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Edgar + }, + + [OPPONENT_ALBERT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PABLO"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Albert + }, + + [OPPONENT_SAMUEL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("RICHARD"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Samuel + }, + + [OPPONENT_VITO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PAUL"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Vito + }, + + [OPPONENT_OWEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("RAIMUND"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Owen + }, + + [OPPONENT_WILTON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PASCAL"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton2 + }, + + [OPPONENT_WILTON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PASCAL"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton3 + }, + + [OPPONENT_WILTON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PASCAL"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton4 + }, + + [OPPONENT_WILTON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PASCAL"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton5 + }, + + [OPPONENT_WARREN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("MARKUS"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Warren + }, + + [OPPONENT_MARY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("YVONNE"), + .items = {ITEM_X_ACCURACY, ITEM_X_ACCURACY, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Mary + }, + + [OPPONENT_LORI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("RAMONA"), + .items = {ITEM_X_DEFEND, ITEM_X_DEFEND, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Lori + }, + + [OPPONENT_JODY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("ROSWITA"), + .items = {ITEM_X_ATTACK, ITEM_X_ATTACK, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Jody + }, + + [OPPONENT_WENDY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("VIOLA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Wendy + }, + + [OPPONENT_ELAINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("FRAUKE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Elaine + }, + + [OPPONENT_BROOKE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("VERONIKA"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke1 + }, + + [OPPONENT_JENNIFER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MARIANNE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Jennifer + }, + + [OPPONENT_HOPE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("TRUDLINDE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Hope + }, + + [OPPONENT_SHANNON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("THERESA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Shannon + }, + + [OPPONENT_MICHELLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MICHELLE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Michelle + }, + + [OPPONENT_CAROLINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("KAROLINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Caroline + }, + + [OPPONENT_JULIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MICHAELA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Julie + }, + + [OPPONENT_BROOKE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("VERONIKA"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke2 + }, + + [OPPONENT_BROOKE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("VERONIKA"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke3 + }, + + [OPPONENT_BROOKE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("VERONIKA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke4 + }, + + [OPPONENT_BROOKE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("VERONIKA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke5 + }, + + [OPPONENT_PATRICIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("WALBURGA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Patricia + }, + + [OPPONENT_KINDRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("GUNDULA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kindra + }, + + [OPPONENT_TAMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("BRUNHILDE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tammy + }, + + [OPPONENT_VALERIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Valerie1 + }, + + [OPPONENT_TASHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("PANDORA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tasha + }, + + [OPPONENT_VALERIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Valerie2 + }, + + [OPPONENT_VALERIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Valerie3 + }, + + [OPPONENT_VALERIE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Valerie4 + }, + + [OPPONENT_VALERIE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_HEX_MANIAC, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Valerie5 + }, + + [OPPONENT_CINDY_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("PATRIZIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy1 + }, + + [OPPONENT_ANONYMOUS_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _(""), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous2 + }, + + [OPPONENT_BRIANNA_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("NATASCHA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Brianna1 + }, + + [OPPONENT_CINDY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("PATRIZIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy2 + }, + + [OPPONENT_BRIANNA_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("NATASCHA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Brianna2 + }, + + [OPPONENT_ANETTE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("ANETTE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anette + }, + + [OPPONENT_CINDY_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("PATRIZIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy3 + }, + + [OPPONENT_CINDY_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("PATRIZIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy4 + }, + + [OPPONENT_CINDY_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("PATRIZIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy5 + }, + + [OPPONENT_CINDY_6] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("PATRIZIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy6 + }, + + [OPPONENT_MELISSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("MELISSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Melissa + }, + + [OPPONENT_SHEILA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("SYLVIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sheila + }, + + [OPPONENT_SHIRLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("MIRJAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Shirley + }, + + [OPPONENT_JESSICA_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("GERMAINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica1 + }, + + [OPPONENT_CONNIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("FRANCESCA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Connie + }, + + [OPPONENT_BRIDGET] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("SALMA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Bridget + }, + + [OPPONENT_OLIVIA] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("TIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Olivia + }, + + [OPPONENT_TIFFANY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("DANIELA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tiffany + }, + + [OPPONENT_JESSICA_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("GERMAINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica2 + }, + + [OPPONENT_JESSICA_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("GERMAINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica3 + }, + + [OPPONENT_JESSICA_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("GERMAINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica4 + }, + + [OPPONENT_JESSICA_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("GERMAINE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica5 + }, + + [OPPONENT_WINSTON_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("RENE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston1 + }, + + [OPPONENT_ANONYMOUS_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _(""), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous3 + }, + + [OPPONENT_GARRET] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("KAI"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Garret + }, + + [OPPONENT_WINSTON_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("RENE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston2 + }, + + [OPPONENT_WINSTON_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("RENE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston3 + }, + + [OPPONENT_WINSTON_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("RENE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston4 + }, + + [OPPONENT_WINSTON_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("RENE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston5 + }, + + [OPPONENT_STEVE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("HIRO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Steve1 + }, + + [OPPONENT_CHRIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("CHRIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Chris + }, + + [OPPONENT_MARK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("MARK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Mark + }, + + [OPPONENT_KENN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("KLAUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kenn + }, + + [OPPONENT_STEVE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("HIRO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Steve2 + }, + + [OPPONENT_STEVE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("HIRO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Steve3 + }, + + [OPPONENT_STEVE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("HIRO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Steve4 + }, + + [OPPONENT_STEVE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("HIRO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Steve5 + }, + + [OPPONENT_LUIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KONSTANTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Luis + }, + + [OPPONENT_AUSTIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("GUIDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Austin + }, + + [OPPONENT_DOUGLAS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("IGNAZ"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Douglas + }, + + [OPPONENT_DARRIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("MANUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Darrin + }, + + [OPPONENT_TONY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tony1 + }, + + [OPPONENT_JEROME] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("OSWALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerome + }, + + [OPPONENT_MATTHEW] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("UMBERTO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Matthew + }, + + [OPPONENT_DAVID] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("WINFRIED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_David + }, + + [OPPONENT_SPENCER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("LEOPOLD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Spencer + }, + + [OPPONENT_ROLAND] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("THOMAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Roland + }, + + [OPPONENT_CODY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TIMO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cody + }, + + [OPPONENT_STAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("BALTHASAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Stan + }, + + [OPPONENT_BARRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("BASIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Barry + }, + + [OPPONENT_DEAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DAGOBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dean + }, + + [OPPONENT_RODNEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DIETER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rodney + }, + + [OPPONENT_RICHARD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("ENNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Richard + }, + + [OPPONENT_HERMAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("BENNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Herman + }, + + [OPPONENT_ANONYMOUS_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous4 + }, + + [OPPONENT_GILBERT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("ERICH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Gilbert + }, + + [OPPONENT_FRANKLIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KASPER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Franklin + }, + + [OPPONENT_DANNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("MARCEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Danny + }, + + [OPPONENT_JACK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("PEDRO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jack + }, + + [OPPONENT_DUDLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("THEODOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dudley + }, + + [OPPONENT_CHAD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("JANNIK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Chad + }, + + [OPPONENT_TONY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tony2 + }, + + [OPPONENT_TONY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tony3 + }, + + [OPPONENT_TONY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tony4 + }, + + [OPPONENT_TONY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("KEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tony5 + }, + + [OPPONENT_HIDEKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("SATORU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hideki + }, + + [OPPONENT_HITOSHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("SHIGERU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Hitoshi + }, + + [OPPONENT_KIYO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("YU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Kiyo + }, + + [OPPONENT_KOICHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("JUNICHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Koichi + }, + + [OPPONENT_NOB_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("MINORU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nob1 + }, + + [OPPONENT_NOB_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("MINORU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nob2 + }, + + [OPPONENT_NOB_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("MINORU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nob3 + }, + + [OPPONENT_NOB_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("MINORU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nob4 + }, + + [OPPONENT_NOB_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("MINORU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Nob5 + }, + + [OPPONENT_YUJI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("HIDEO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Yuji + }, + + [OPPONENT_DAISUKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KENJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Daisuke + }, + + [OPPONENT_ATSUSHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("HIROSHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Atsushi + }, + + [OPPONENT_KIRK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("CHUCK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kirk + }, + + [OPPONENT_SCOTT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("TREY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Scott + }, + + [OPPONENT_HARVEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Harvey + }, + + [OPPONENT_SHAWN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("REINHARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Shawn + }, + + [OPPONENT_RANDY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("JEFF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Randy + }, + + [OPPONENT_DALTON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KIRK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton1 + }, + + [OPPONENT_DALTON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KIRK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton2 + }, + + [OPPONENT_DALTON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KIRK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton3 + }, + + [OPPONENT_DALTON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KIRK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton4 + }, + + [OPPONENT_DALTON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KIRK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton5 + }, + + [OPPONENT_COLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HENDRIK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Cole + }, + + [OPPONENT_FLINT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HEINZ"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Flint + }, + + [OPPONENT_AXLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HAGEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Axle + }, + + [OPPONENT_JAKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HANNES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jake + }, + + [OPPONENT_ANDY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HARTMANN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Andy + }, + + [OPPONENT_BERNIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HASSO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie1 + }, + + [OPPONENT_BERNIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HASSO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie2 + }, + + [OPPONENT_BERNIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HASSO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie3 + }, + + [OPPONENT_BERNIE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HASSO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie4 + }, + + [OPPONENT_BERNIE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("HASSO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie5 + }, + + [OPPONENT_DREW] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ISSIDOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Drew + }, + + [OPPONENT_CLIFF] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("IVAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Cliff + }, + + [OPPONENT_LARRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("KAREL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Larry + }, + + [OPPONENT_SHANE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("KUNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Shane + }, + + [OPPONENT_JUSTIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("LAURENZ"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Justin + }, + + [OPPONENT_ETHAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("EWALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Ethan1 + }, + + [OPPONENT_JEFF] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("RAPHAEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jeff + }, + + [OPPONENT_TRAVIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("RONALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Travis + }, + + [OPPONENT_ETHAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("EWALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Ethan2 + }, + + [OPPONENT_ETHAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("EWALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Ethan3 + }, + + [OPPONENT_ETHAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("EWALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ethan4 + }, + + [OPPONENT_ETHAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("EWALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ethan5 + }, + + [OPPONENT_BRENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("ROMEO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Brent + }, + + [OPPONENT_DONALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("TILL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Donald + }, + + [OPPONENT_TAYLOR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("URIEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Taylor + }, + + [OPPONENT_BRANDON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRUNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Brandon1 + }, + + [OPPONENT_DEREK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BURKARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Derek + }, + + [OPPONENT_BRANDON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRUNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Brandon2 + }, + + [OPPONENT_BRANDON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRUNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Brandon3 + }, + + [OPPONENT_BRANDON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRUNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Brandon4 + }, + + [OPPONENT_BRANDON_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRUNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 5, + .party = gTrainerParty_Brandon5 + }, + + [OPPONENT_EDWARD] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("WENDELIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Edward + }, + + [OPPONENT_PRESTON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("URBAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Preston + }, + + [OPPONENT_VIRGIL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("ZOLTAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Virgil + }, + + [OPPONENT_FRITZ] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("XAVER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Fritz + }, + + [OPPONENT_WILLIAM] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("WULF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_William + }, + + [OPPONENT_JOSHUA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("JONAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Joshua + }, + + [OPPONENT_CAMERON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("MAXIMILIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron1 + }, + + [OPPONENT_CAMERON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("MAXIMILIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron2 + }, + + [OPPONENT_CAMERON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("MAXIMILIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron3 + }, + + [OPPONENT_CAMERON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("MAXIMILIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron4 + }, + + [OPPONENT_CAMERON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("MAXIMILIAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron5 + }, + + [OPPONENT_JACLYN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("COSIMA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jaclyn + }, + + [OPPONENT_HANNAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Hannah + }, + + [OPPONENT_SAMANTHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Samantha + }, + + [OPPONENT_MAURA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("DOLORES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Maura + }, + + [OPPONENT_KAYLA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("CAMILLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kayla + }, + + [OPPONENT_ALEXIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Alexis + }, + + [OPPONENT_JACKI_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("KORNELIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki1 + }, + + [OPPONENT_JACKI_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("KORNELIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki2 + }, + + [OPPONENT_JACKI_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("KORNELIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki3 + }, + + [OPPONENT_JACKI_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("KORNELIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki4 + }, + + [OPPONENT_JACKI_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_F, + .trainerName = _("KORNELIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki5 + }, + + [OPPONENT_WALTER_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("ABRAHAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Walter1 + }, + + [OPPONENT_TUCKER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("CLAUDIO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tucker + }, + + [OPPONENT_THOMAS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("NIKOLAI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Thomas + }, + + [OPPONENT_WALTER_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("ABRAHAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Walter2 + }, + + [OPPONENT_WALTER_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("ABRAHAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Walter3 + }, + + [OPPONENT_WALTER_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("ABRAHAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Walter4 + }, + + [OPPONENT_WALTER_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("ABRAHAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Walter5 + }, + + [OPPONENT_SIDNEY] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_SIDNEY, + .trainerName = _("ULRICH"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Sidney + }, + + [OPPONENT_PHOEBE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_PHOEBE, + .trainerName = _("ANTONIA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Phoebe + }, + + [OPPONENT_GLACIA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_GLACIA, + .trainerName = _("FROSINA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Glacia + }, + + [OPPONENT_DRAKE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_DRAKE, + .trainerName = _("DRAGAN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Drake + }, + + [OPPONENT_ROXANNE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_ROXANNE, + .trainerName = _("FELIZIA"), + .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Roxanne + }, + + [OPPONENT_BRAWLY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRAWLY, + .trainerName = _("KAMILLO"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Brawly + }, + + [OPPONENT_WATTSON] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WATTSON, + .trainerName = _("WALTER"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wattson + }, + + [OPPONENT_FLANNERY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_FLANNERY, + .trainerName = _("FLAVIA"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Flannery + }, + + [OPPONENT_NORMAN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_NORMAN, + .trainerName = _("NORMAN"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Norman + }, + + [OPPONENT_WINONA] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_WINONA, + .trainerName = _("WIBKE"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Winona + }, + + [OPPONENT_TATE_AND_LIZA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_TATE_AND_LIZA, + .trainerName = _("BEN&SVENJA"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_TateAndLiza + }, + + [OPPONENT_WALLACE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLACE, + .trainerName = _("WASSILI"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wallace + }, + + [OPPONENT_JERRY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("ORLANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jerry1 + }, + + [OPPONENT_TED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("RAMON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ted + }, + + [OPPONENT_PAUL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JÜRGEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Paul + }, + + [OPPONENT_JERRY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("ORLANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerry2 + }, + + [OPPONENT_JERRY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("ORLANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerry3 + }, + + [OPPONENT_JERRY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("ORLANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerry4 + }, + + [OPPONENT_JERRY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("ORLANDO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jerry5 + }, + + [OPPONENT_KAREN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KERSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen1 + }, + + [OPPONENT_GEORGIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("ARIANE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Georgia + }, + + [OPPONENT_KAREN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KERSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen2 + }, + + [OPPONENT_KAREN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KERSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen3 + }, + + [OPPONENT_KAREN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KERSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen4 + }, + + [OPPONENT_KAREN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_SCHOOL_KID_F, + .trainerName = _("KERSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen5 + }, + + [OPPONENT_KATE_AND_JOY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("EVA & UTE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_KateAndJoy + }, + + [OPPONENT_ANNA_AND_MEG_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("IRM & IDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg1 + }, + + [OPPONENT_ANNA_AND_MEG_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("IRM & IDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg2 + }, + + [OPPONENT_ANNA_AND_MEG_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("IRM & IDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg3 + }, + + [OPPONENT_ANNA_AND_MEG_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("IRM & IDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg4 + }, + + [OPPONENT_ANNA_AND_MEG_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("IRM & IDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg5 + }, + + [OPPONENT_VICTOR] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("VIKTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Victor + }, + + [OPPONENT_MIGUEL_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel1 + }, + + [OPPONENT_COLTON] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("ATTILA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Colton + }, + + [OPPONENT_MIGUEL_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel2 + }, + + [OPPONENT_MIGUEL_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel3 + }, + + [OPPONENT_MIGUEL_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel4 + }, + + [OPPONENT_MIGUEL_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel5 + }, + + [OPPONENT_VICTORIA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("VIKTORIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 1, + .party = gTrainerParty_Victoria + }, + + [OPPONENT_VANESSA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("VANESSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Vanessa + }, + + [OPPONENT_MARISSA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("EVELYN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Marissa + }, + + [OPPONENT_ISABEL_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel1 + }, + + [OPPONENT_ISABEL_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel2 + }, + + [OPPONENT_ISABEL_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel3 + }, + + [OPPONENT_ISABEL_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel4 + }, + + [OPPONENT_ISABEL_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel5 + }, + + [OPPONENT_TIMOTHY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("THEOBALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy1 + }, + + [OPPONENT_TIMOTHY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("THEOBALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy2 + }, + + [OPPONENT_TIMOTHY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("THEOBALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy3 + }, + + [OPPONENT_TIMOTHY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("THEOBALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy4 + }, + + [OPPONENT_TIMOTHY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("THEOBALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy5 + }, + + [OPPONENT_VICKY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Vicky + }, + + [OPPONENT_SHELBY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("WALTRAUD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby1 + }, + + [OPPONENT_SHELBY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("WALTRAUD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby2 + }, + + [OPPONENT_SHELBY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("WALTRAUD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby3 + }, + + [OPPONENT_SHELBY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("WALTRAUD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby4 + }, + + [OPPONENT_SHELBY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_F, + .trainerName = _("WALTRAUD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby5 + }, + + [OPPONENT_CALVIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ANSGAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Calvin1 + }, + + [OPPONENT_BILLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("FRIDOLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Billy + }, + + [OPPONENT_JOSH] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("GASTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Josh + }, + + [OPPONENT_TOMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("DOMINIK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tommy + }, + + [OPPONENT_JOEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("LUDGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Joey + }, + + [OPPONENT_BEN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("EGON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ben + }, + + [OPPONENT_ANONYMOUS_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Anonymous5 + }, + + [OPPONENT_KEVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("JULIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kevin + }, + + [OPPONENT_NEAL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("MORITZ"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Neal + }, + + [OPPONENT_DILLON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("SÖNCKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dillon + }, + + [OPPONENT_CALVIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ANSGAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Calvin2 + }, + + [OPPONENT_CALVIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ANSGAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Calvin3 + }, + + [OPPONENT_CALVIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ANSGAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Calvin4 + }, + + [OPPONENT_CALVIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ANSGAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Calvin5 + }, + + [OPPONENT_EDDIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("HENRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Eddie + }, + + [OPPONENT_ALLEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("HUGO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Allen + }, + + [OPPONENT_TIMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("FRIEDER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Timmy + }, + + [OPPONENT_STEVEN] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CHAMPION, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_STEVEN, + .trainerName = _("TROY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 6, + .party = gTrainerParty_Steven + }, + + [OPPONENT_ANDREW] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ANSGAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Andrew + }, + + [OPPONENT_IVAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ANGELO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ivan + }, + + [OPPONENT_CLAUDE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ANSELM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Claude + }, + + [OPPONENT_ELLIOT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALOIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Elliot1 + }, + + [OPPONENT_NED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ARTHUR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ned + }, + + [OPPONENT_DALE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALBIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Dale + }, + + [OPPONENT_NOLAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("AMADEUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nolan + }, + + [OPPONENT_BARNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALBRECHT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Barny + }, + + [OPPONENT_WADE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALAIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Wade + }, + + [OPPONENT_CARTER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ARMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Carter + }, + + [OPPONENT_ELLIOT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALOIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Elliot2 + }, + + [OPPONENT_ELLIOT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALOIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Elliot3 + }, + + [OPPONENT_ELLIOT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALOIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Elliot4 + }, + + [OPPONENT_ELLIOT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALOIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 4, + .party = gTrainerParty_Elliot5 + }, + + [OPPONENT_RONALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ACHMED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Ronald + }, + + [OPPONENT_JACOB] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("ROMAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jacob + }, + + [OPPONENT_ANTHONY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("EMIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Anthony + }, + + [OPPONENT_BENJAMIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("EGIDIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin1 + }, + + [OPPONENT_BENJAMIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("EGIDIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin2 + }, + + [OPPONENT_BENJAMIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("EGIDIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin3 + }, + + [OPPONENT_BENJAMIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("EGIDIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin4 + }, + + [OPPONENT_BENJAMIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("EGIDIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin5 + }, + + [OPPONENT_ABIGAIL_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("IRMGARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail1 + }, + + [OPPONENT_JASMINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("MARTHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jasmine + }, + + [OPPONENT_ABIGAIL_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("IRMGARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail2 + }, + + [OPPONENT_ABIGAIL_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("IRMGARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail3 + }, + + [OPPONENT_ABIGAIL_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("IRMGARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail4 + }, + + [OPPONENT_ABIGAIL_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_F, + .trainerName = _("IRMGARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail5 + }, + + [OPPONENT_DYLAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("IGOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan1 + }, + + [OPPONENT_DYLAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("IGOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan2 + }, + + [OPPONENT_DYLAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("IGOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan3 + }, + + [OPPONENT_DYLAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("IGOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan4 + }, + + [OPPONENT_DYLAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("IGOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan5 + }, + + [OPPONENT_MARIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("JUTTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria1 + }, + + [OPPONENT_MARIA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("JUTTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria2 + }, + + [OPPONENT_MARIA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("JUTTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria3 + }, + + [OPPONENT_MARIA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("JUTTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria4 + }, + + [OPPONENT_MARIA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_F, + .trainerName = _("JUTTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria5 + }, + + [OPPONENT_CALEB] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("OLEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Caleb + }, + + [OPPONENT_ANONYMOUS_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous6 + }, + + [OPPONENT_ISAIAH_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("KASPAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah1 + }, + + [OPPONENT_ANONYMOUS_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous7 + }, + + [OPPONENT_CHASE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("FERDINAND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Chase + }, + + [OPPONENT_ISAIAH_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("KASPAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah2 + }, + + [OPPONENT_ISAIAH_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("KASPAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah3 + }, + + [OPPONENT_ISAIAH_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("KASPAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah4 + }, + + [OPPONENT_ISAIAH_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("KASPAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah5 + }, + + [OPPONENT_ANONYMOUS_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Anonymous8 + }, + + [OPPONENT_CONNOR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("MIRA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Connor + }, + + [OPPONENT_ANONYMOUS_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous9 + }, + + [OPPONENT_KATELYN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("MECHTHILD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn1 + }, + + [OPPONENT_ALLISON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("LOTTE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Allison + }, + + [OPPONENT_KATELYN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("MECHTHILD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn2 + }, + + [OPPONENT_KATELYN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("MECHTHILD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn3 + }, + + [OPPONENT_KATELYN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("MECHTHILD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn4 + }, + + [OPPONENT_KATELYN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("MECHTHILD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn5 + }, + + [OPPONENT_NICOLAS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("ALFONS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nicolas1 + }, + + [OPPONENT_NICOLAS_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("ALFONS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nicolas2 + }, + + [OPPONENT_NICOLAS_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("ALFONS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nicolas3 + }, + + [OPPONENT_NICOLAS_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("ALFONS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nicolas4 + }, + + [OPPONENT_NICOLAS_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("ALFONS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nicolas5 + }, + + [OPPONENT_AARON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("EDMUND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Aaron + }, + + [OPPONENT_PERRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("JOSCHKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Perry + }, + + [OPPONENT_HUGH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ENRICO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hugh + }, + + [OPPONENT_PHIL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("HENRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Phil + }, + + [OPPONENT_JARED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("HIOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jared + }, + + [OPPONENT_ANONYMOUS_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Anonymous10 + }, + + [OPPONENT_TANNER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ANATOL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tanner + }, + + [OPPONENT_WILL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("BJÖRN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Will + }, + + [OPPONENT_COLIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("WIM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Colin + }, + + [OPPONENT_ROBERT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("FRITJOF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Robert1 + }, + + [OPPONENT_BENNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("GENADI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Benny + }, + + [OPPONENT_CHESTER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("VITALI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Chester + }, + + [OPPONENT_ROBERT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("FRITJOF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert2 + }, + + [OPPONENT_ROBERT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("FRITJOF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert3 + }, + + [OPPONENT_ROBERT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("FRITJOF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert4 + }, + + [OPPONENT_ROBERT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("FRITJOF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert5 + }, + + [OPPONENT_ALEX] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ARNE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Alex + }, + + [OPPONENT_BECK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("VINCENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Beck + }, + + [OPPONENT_YASU] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("VALENTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 1, + .party = gTrainerParty_Yasu + }, + + [OPPONENT_TAKASHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("EUGEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 3, + .party = gTrainerParty_Takashi + }, + + [OPPONENT_MAKOTO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("HERIBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = gTrainerParty_Makoto + }, + + [OPPONENT_HIDEO_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("SAUL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Hideo1 + }, + + [OPPONENT_LAO_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("EDUARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao1 + }, + + [OPPONENT_LUNG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("ARND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 2, + .party = gTrainerParty_Lung + }, + + [OPPONENT_LAO_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("EDUARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao2 + }, + + [OPPONENT_LAO_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("EDUARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao3 + }, + + [OPPONENT_LAO_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("EDUARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao4 + }, + + [OPPONENT_LAO_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("EDUARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao5 + }, + + [OPPONENT_TESSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("TAMARA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tessa + }, + + [OPPONENT_LAURA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Laura + }, + + [OPPONENT_CYNDY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("ELFI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy1 + }, + + [OPPONENT_CORA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("THEA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cora + }, + + [OPPONENT_JILL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("AGNES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jill + }, + + [OPPONENT_CYNDY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("ELFI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy2 + }, + + [OPPONENT_CYNDY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("ELFI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy3 + }, + + [OPPONENT_CYNDY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("ELFI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy4 + }, + + [OPPONENT_CYNDY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("ELFI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy5 + }, + + [OPPONENT_MADELINE_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("SASKIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Madeline1 + }, + + [OPPONENT_CLARISSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("GERDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Clarissa + }, + + [OPPONENT_ANGELICA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("MARIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Angelica + }, + + [OPPONENT_MADELINE_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("SASKIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Madeline2 + }, + + [OPPONENT_MADELINE_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("SASKIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Madeline3 + }, + + [OPPONENT_MADELINE_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("SASKIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Madeline4 + }, + + [OPPONENT_MADELINE_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_PARASOL_LADY, + .trainerName = _("SASKIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Madeline5 + }, + + [OPPONENT_BEVERLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("DAGMAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Beverly + }, + + [OPPONENT_DAWN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("HEIDRUN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dawn + }, + + [OPPONENT_NICOLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("NICOLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nicole + }, + + [OPPONENT_DENISE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Denise + }, + + [OPPONENT_BETH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("ALMUT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Beth + }, + + [OPPONENT_TARA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("SIEGLINDE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tara + }, + + [OPPONENT_MISSY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("MARION"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Missy + }, + + [OPPONENT_ALICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Alice + }, + + [OPPONENT_JENNY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("MONIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jenny1 + }, + + [OPPONENT_GRACE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("ILONA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grace + }, + + [OPPONENT_TANYA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("EMILIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tanya + }, + + [OPPONENT_SHARON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("GUDRUN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Sharon + }, + + [OPPONENT_NIKKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("ASTRID"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nikki + }, + + [OPPONENT_BRENDA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("OTTILIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Brenda + }, + + [OPPONENT_KATIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("SENTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Katie + }, + + [OPPONENT_SUSIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("JANKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Susie + }, + + [OPPONENT_KARA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("RENATE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kara + }, + + [OPPONENT_DANA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("VICKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dana + }, + + [OPPONENT_ERIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("REBECCA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Erin + }, + + [OPPONENT_DEBRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("ANJA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Debra + }, + + [OPPONENT_LINDA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("GISELA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Linda + }, + + [OPPONENT_KAYLEE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("PAOLA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kaylee + }, + + [OPPONENT_LAUREL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("BIRTE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Laurel + }, + + [OPPONENT_DARCY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("DOROTHEA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Darcy + }, + + [OPPONENT_JENNY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("MONIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jenny2 + }, + + [OPPONENT_JENNY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("MONIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jenny3 + }, + + [OPPONENT_JENNY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("MONIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jenny4 + }, + + [OPPONENT_JENNY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("MONIKA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jenny5 + }, + + [OPPONENT_HEIDI] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("JANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Heidi + }, + + [OPPONENT_BECKY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("HEIDI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Becky + }, + + [OPPONENT_CAROL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("NATALIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Carol + }, + + [OPPONENT_NANCY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("NANCY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nancy + }, + + [OPPONENT_MARTHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("MARTHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Martha + }, + + [OPPONENT_DIANA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("GWENDOLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana1 + }, + + [OPPONENT_NINA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("NADJA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nina + }, + + [OPPONENT_IRENE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("IRENE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Irene + }, + + [OPPONENT_DIANA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("GWENDOLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana2 + }, + + [OPPONENT_DIANA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("GWENDOLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana3 + }, + + [OPPONENT_DIANA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("GWENDOLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana4 + }, + + [OPPONENT_DIANA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("GWENDOLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana5 + }, + + [OPPONENT_AMY_AND_LIV_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("NORA & JO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv1 + }, + + [OPPONENT_AMY_AND_LIV_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("NORA & JO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv2 + }, + + [OPPONENT_GINA_AND_MIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("GINA & MIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GinaAndMia1 + }, + + [OPPONENT_MIU_AND_YUKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("LEA & GRIT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_MiuAndYuki + }, + + [OPPONENT_AMY_AND_LIV_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("NORA & JO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv3 + }, + + [OPPONENT_GINA_AND_MIA_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("GINA & MIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GinaAndMia2 + }, + + [OPPONENT_AMY_AND_LIV_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("NORA & JO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv4 + }, + + [OPPONENT_AMY_AND_LIV_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("NORA & JO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv5 + }, + + [OPPONENT_AMY_AND_LIV_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("NORA & JO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv6 + }, + + [OPPONENT_HUEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("TASSILO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Huey + }, + + [OPPONENT_EDMOND] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("MONTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Edmond + }, + + [OPPONENT_ERNEST_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ELERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest1 + }, + + [OPPONENT_DWAYNE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("RETO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dwayne + }, + + [OPPONENT_PHILLIP] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("GUNNAR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Phillip + }, + + [OPPONENT_LEONARD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("LEONARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Leonard + }, + + [OPPONENT_DUNCAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("PIERRE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Duncan + }, + + [OPPONENT_ERNEST_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ELERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest2 + }, + + [OPPONENT_ERNEST_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ELERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest3 + }, + + [OPPONENT_ERNEST_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ELERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest4 + }, + + [OPPONENT_ERNEST_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ELERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest5 + }, + + [OPPONENT_ANONYMOUS_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Anonymous11 + }, + + [OPPONENT_ANONYMOUS_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Anonymous12 + }, + + [OPPONENT_ANONYMOUS_13] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous13 + }, + + [OPPONENT_SONNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("WENZEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sonny + }, + + [OPPONENT_DONOVAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("STANISLAUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Donovan + }, + + [OPPONENT_GERALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("GERALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Gerald + }, + + [OPPONENT_KELVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("AARON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kelvin + }, + + [OPPONENT_KODY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ALBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Kody + }, + + [OPPONENT_TEVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ANDRE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tevin + }, + + [OPPONENT_DAMON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("AMON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Damon + }, + + [OPPONENT_PABLO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("PABLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Pablo + }, + + [OPPONENT_EDWIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin1 + }, + + [OPPONENT_HECTOR_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("HEKTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hector1 + }, + + [OPPONENT_HECTOR_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("HEKTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hector2 + }, + + [OPPONENT_EDWIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin2 + }, + + [OPPONENT_EDWIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin3 + }, + + [OPPONENT_EDWIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin4 + }, + + [OPPONENT_EDWIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin5 + }, + + [OPPONENT_WALLY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("HEIKO"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally1 + }, + + [OPPONENT_BRENDAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Brendan1 + }, + + [OPPONENT_BRENDAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan2 + }, + + [OPPONENT_BRENDAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan3 + }, + + [OPPONENT_BRENDAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Brendan4 + }, + + [OPPONENT_BRENDAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan5 + }, + + [OPPONENT_BRENDAN_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan6 + }, + + [OPPONENT_BRENDAN_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Brendan7 + }, + + [OPPONENT_BRENDAN_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan8 + }, + + [OPPONENT_BRENDAN_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan9 + }, + + [OPPONENT_MAY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_May1 + }, + + [OPPONENT_MAY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May2 + }, + + [OPPONENT_MAY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May3 + }, + + [OPPONENT_MAY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_May4 + }, + + [OPPONENT_MAY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May5 + }, + + [OPPONENT_MAY_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May6 + }, + + [OPPONENT_MAY_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_May7 + }, + + [OPPONENT_MAY_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May8 + }, + + [OPPONENT_MAY_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May9 + }, + + [OPPONENT_ISAAC_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("BLASIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac1 + }, + + [OPPONENT_RILEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("CLIFF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Riley + }, + + [OPPONENT_AIDAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("DARIO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Aidan + }, + + [OPPONENT_ISAAC_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("BLASIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac2 + }, + + [OPPONENT_ISAAC_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("BLASIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac3 + }, + + [OPPONENT_ISAAC_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("BLASIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac4 + }, + + [OPPONENT_ISAAC_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("BLASIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac5 + }, + + [OPPONENT_LYDIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia1 + }, + + [OPPONENT_ALEXIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("DORIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Alexia + }, + + [OPPONENT_DANIELLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("DUNJA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Danielle + }, + + [OPPONENT_LYDIA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia2 + }, + + [OPPONENT_LYDIA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia3 + }, + + [OPPONENT_LYDIA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia4 + }, + + [OPPONENT_LYDIA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia5 + }, + + [OPPONENT_JACKSON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("ECKBERT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Jackson1 + }, + + [OPPONENT_CARLOS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("EDWARD"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Carlos + }, + + [OPPONENT_SEBASTIAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("EILMAR"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Sebastian + }, + + [OPPONENT_JACKSON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("ECKBERT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Jackson2 + }, + + [OPPONENT_JACKSON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("ECKBERT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Jackson3 + }, + + [OPPONENT_JACKSON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("ECKBERT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Jackson4 + }, + + [OPPONENT_JACKSON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("ECKBERT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Jackson5 + }, + + [OPPONENT_CATHERINE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("HANNELORE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Catherine1 + }, + + [OPPONENT_JENNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("INGEBORG"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Jenna + }, + + [OPPONENT_SOPHIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("SOPHIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Sophia + }, + + [OPPONENT_CATHERINE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("HANNELORE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Catherine2 + }, + + [OPPONENT_CATHERINE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("HANNELORE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Catherine3 + }, + + [OPPONENT_CATHERINE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("HANNELORE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Catherine4 + }, + + [OPPONENT_CATHERINE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("HANNELORE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Catherine5 + }, + + [OPPONENT_MAXIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAXIE, + .trainerName = _("MARC"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Maxie1 + }, + + [OPPONENT_GRUNT_28] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt28 + }, + + [OPPONENT_GRUNT_29] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Grunt29 + }, + + [OPPONENT_GRUNT_30] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt30 + }, + + [OPPONENT_GRUNT_31] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt31 + }, + + [OPPONENT_GRUNT_32] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt32 + }, + + [OPPONENT_GRUNT_33] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt33 + }, + + [OPPONENT_GRUNT_34] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt34 + }, + + [OPPONENT_GRUNT_35] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt35 + }, + + [OPPONENT_GRUNT_36] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt36 + }, + + [OPPONENT_GRUNT_37] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt37 + }, + + [OPPONENT_GRUNT_38] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt38 + }, + + [OPPONENT_GRUNT_39] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt39 + }, + + [OPPONENT_GRUNT_40] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt40 + }, + + [OPPONENT_GRUNT_41] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt41 + }, + + [OPPONENT_GRUNT_42] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt42 + }, + + [OPPONENT_GRUNT_43] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt43 + }, + + [OPPONENT_GRUNT_44] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt44 + }, + + [OPPONENT_GRUNT_45] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt45 + }, + + [OPPONENT_GRUNT_46] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt46 + }, + + [OPPONENT_GRUNT_47] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt47 + }, + + [OPPONENT_GRUNT_48] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt48 + }, + + [OPPONENT_GRUNT_49] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt49 + }, + + [OPPONENT_GRUNT_50] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt50 + }, + + [OPPONENT_GRUNT_51] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt51 + }, + + [OPPONENT_GRUNT_52] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt52 + }, + + [OPPONENT_GRUNT_53] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt53 + }, + + [OPPONENT_GRUNT_54] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_F, + .trainerName = _("RÜPEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt54 + }, + + [OPPONENT_ANONYMOUS_14] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Anonymous14 + }, + + [OPPONENT_ANONYMOUS_15] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Anonymous15 + }, + + [OPPONENT_TABITHA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _("KALLE"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Tabitha1 + }, + + [OPPONENT_TABITHA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _("KALLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Tabitha2 + }, + + [OPPONENT_ANONYMOUS_16] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Anonymous16 + }, + + [OPPONENT_COURTNEY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_F, + .trainerName = _("JÖRDIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Courtney1 + }, + + [OPPONENT_COURTNEY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_F, + .trainerName = _("JÖRDIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Courtney2 + }, + + [OPPONENT_MAXIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAXIE, + .trainerName = _("MARC"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Maxie2 + }, + + [OPPONENT_MAXIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAXIE, + .trainerName = _("MARC"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Maxie3 + }, + + [OPPONENT_TIANA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("KARIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tiana + }, + + [OPPONENT_HALEY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ELISA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley1 + }, + + [OPPONENT_JANICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("RICARDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Janice + }, + + [OPPONENT_VIVI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("SIEGLINDE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Vivi + }, + + [OPPONENT_HALEY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ELISA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley2 + }, + + [OPPONENT_HALEY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ELISA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley3 + }, + + [OPPONENT_HALEY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ELISA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley4 + }, + + [OPPONENT_HALEY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ELISA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Haley5 + }, + + [OPPONENT_SALLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("FREDERIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sally + }, + + [OPPONENT_ROBIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ROBIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Robin + }, + + [OPPONENT_ANDREA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("FRIEDA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Andrea + }, + + [OPPONENT_CRISSY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ADELHEID"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Crissy + }, + + [OPPONENT_RICK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("BALDUR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rick + }, + + [OPPONENT_LYLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("DETWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lyle + }, + + [OPPONENT_JOSE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("EROS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jose + }, + + [OPPONENT_DOUG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("EUSEBIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Doug + }, + + [OPPONENT_GREG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GANGOLF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Greg + }, + + [OPPONENT_KENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GERIT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kent + }, + + [OPPONENT_JAMES_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GERNOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_James1 + }, + + [OPPONENT_JAMES_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GERNOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_James2 + }, + + [OPPONENT_JAMES_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GERNOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_James3 + }, + + [OPPONENT_JAMES_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GERNOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_James4 + }, + + [OPPONENT_JAMES_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GERNOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_James5 + }, + + [OPPONENT_BRICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("GISBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Brice + }, + + [OPPONENT_TRENT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("HEIMKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent1 + }, + + [OPPONENT_LENNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("JANNO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lenny + }, + + [OPPONENT_LUCAS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("KLODWIG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Lucas1 + }, + + [OPPONENT_ALAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LANZELOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Alan + }, + + [OPPONENT_CLARK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LUZIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Clark + }, + + [OPPONENT_ERIC] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MAURIZIO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Eric + }, + + [OPPONENT_LUCAS_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("KLODWIG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Lucas2 + }, + + [OPPONENT_MIKE_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MELVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Mike1 + }, + + [OPPONENT_MIKE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MELVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Mike2 + }, + + [OPPONENT_TRENT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("HEIMKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent2 + }, + + [OPPONENT_TRENT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("HEIMKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent3 + }, + + [OPPONENT_TRENT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("HEIMKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent4 + }, + + [OPPONENT_TRENT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("HEIMKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent5 + }, + + [OPPONENT_DEZ_AND_LUKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("INA & LEIF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_DezAndLuke + }, + + [OPPONENT_LEA_AND_JED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LENA & UWE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LeaAndJed + }, + + [OPPONENT_LOIS_AND_HAL_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("GESA & PIT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal1 + }, + + [OPPONENT_LOIS_AND_HAL_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("GESA & PIT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal2 + }, + + [OPPONENT_LOIS_AND_HAL_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("GESA & PIT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal3 + }, + + [OPPONENT_LOIS_AND_HAL_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("GESA & PIT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal4 + }, + + [OPPONENT_LOIS_AND_HAL_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("GESA & PIT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal5 + }, + + [OPPONENT_JOHANNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("CORDULA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Johanna + }, + + [OPPONENT_ZANE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("OTBERT"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Zane + }, + + [OPPONENT_VIVIAN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("BÄRBEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Vivian + }, + + [OPPONENT_SADIE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("CHANTAL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sadie + }, + + [OPPONENT_HIDEO_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("SAUL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = gTrainerParty_Hideo2 + }, + + [OPPONENT_KEIGO] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("NELSON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = gTrainerParty_Keigo + }, + + [OPPONENT_TSUNAO] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("NIKODEMUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 3, + .party = gTrainerParty_Tsunao + }, + + [OPPONENT_TERRELL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("NESTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Terrell + }, + + [OPPONENT_KYLEE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("MIREILLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kylee + }, + + [OPPONENT_WALLY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("HEIKO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Wally2 + }, + + [OPPONENT_WALLY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("HEIKO"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally3 + }, + + [OPPONENT_WALLY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("HEIKO"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally4 + }, + + [OPPONENT_WALLY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("HEIKO"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally5 + }, + + [OPPONENT_WALLY_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("HEIKO"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally6 + }, + + [OPPONENT_BRENDAN_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Brendan10 + }, + + [OPPONENT_BRENDAN_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Brendan11 + }, + + [OPPONENT_BRENDAN_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRIX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Brendan12 + }, + + [OPPONENT_MAY_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_May10 + }, + + [OPPONENT_MAY_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_May11 + }, + + [OPPONENT_MAY_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_May12 + }, + + [OPPONENT_JONAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("OLOF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Jonah + }, + + [OPPONENT_HENRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("PIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Henry + }, + + [OPPONENT_ROGER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("AMATUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Roger + }, + + [OPPONENT_ALEXA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("ANNABEL"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Alexa + }, + + [OPPONENT_RUBEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("TRUTZ"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Ruben + }, + + [OPPONENT_KOJI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("REMIGIUS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Koji + }, + + [OPPONENT_WAYNE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ALVARO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Wayne + }, + + [OPPONENT_BYRON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("AMALRICH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Byron + }, + + [OPPONENT_REED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("ANDOLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Reed + }, + + [OPPONENT_TISHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("IMKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tisha + }, + + [OPPONENT_TORI_AND_TIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("LI & FLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_ToriAndTia + }, + + [OPPONENT_KIM_AND_IRIS] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ZOE & IRIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_KimAndIris + }, + + [OPPONENT_TYRA_AND_IVY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("TYRA & IVY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_TyraAndIvy + }, + + [OPPONENT_MEL_AND_PAUL] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("GELI & OLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_MelAndPaul + }, + + [OPPONENT_JOHN_AND_JAY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("URS & EVI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay1 + }, + + [OPPONENT_JOHN_AND_JAY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("URS & EVI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay2 + }, + + [OPPONENT_JOHN_AND_JAY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("URS & EVI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay3 + }, + + [OPPONENT_JOHN_AND_JAY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("URS & EVI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_JohnAndJay4 + }, + + [OPPONENT_JOHN_AND_JAY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("URS & EVI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay5 + }, + + [OPPONENT_RELI_AND_IAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("TOBI & UNA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_ReliAndIan + }, + + [OPPONENT_RITA_AND_SAM_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("TOM & UTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam1 + }, + + [OPPONENT_RITA_AND_SAM_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("TOM & UTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam2 + }, + + [OPPONENT_RITA_AND_SAM_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("TOM & UTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam3 + }, + + [OPPONENT_RITA_AND_SAM_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("TOM & UTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam4 + }, + + [OPPONENT_RITA_AND_SAM_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("TOM & UTA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam5 + }, + + [OPPONENT_LISA_AND_RAY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("ERKO & BEA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LisaAndRay + }, + + [OPPONENT_EUGENE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ABELKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Eugene + } +}; diff --git a/src/data/trainers_en.h b/src/data/trainers_en.h new file mode 100644 index 000000000..fbcdd5a4e --- /dev/null +++ b/src/data/trainers_en.h @@ -0,0 +1,9717 @@ +const struct Trainer gTrainers[] = { + [OPPONENT_NONE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_1, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 0, + .party = NULL + }, + + [OPPONENT_ARCHIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_ARCHIE, + .trainerName = _("ARCHIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Archie1 + }, + + [OPPONENT_GRUNT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt1 + }, + + [OPPONENT_GRUNT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Grunt2 + }, + + [OPPONENT_GRUNT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt3 + }, + + [OPPONENT_GRUNT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt4 + }, + + [OPPONENT_GRUNT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt5 + }, + + [OPPONENT_GRUNT_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt6 + }, + + [OPPONENT_GRUNT_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt7 + }, + + [OPPONENT_GRUNT_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt8 + }, + + [OPPONENT_GRUNT_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt9 + }, + + [OPPONENT_GRUNT_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt10 + }, + + [OPPONENT_GRUNT_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt11 + }, + + [OPPONENT_GRUNT_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt12 + }, + + [OPPONENT_GRUNT_13] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt13 + }, + + [OPPONENT_GRUNT_14] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt14 + }, + + [OPPONENT_GRUNT_15] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt15 + }, + + [OPPONENT_GRUNT_16] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt16 + }, + + [OPPONENT_GRUNT_17] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt17 + }, + + [OPPONENT_GRUNT_18] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt18 + }, + + [OPPONENT_GRUNT_19] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt19 + }, + + [OPPONENT_GRUNT_20] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt20 + }, + + [OPPONENT_GRUNT_21] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt21 + }, + + [OPPONENT_GRUNT_22] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt22 + }, + + [OPPONENT_GRUNT_23] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt23 + }, + + [OPPONENT_GRUNT_24] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt24 + }, + + [OPPONENT_GRUNT_25] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt25 + }, + + [OPPONENT_GRUNT_26] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt26 + }, + + [OPPONENT_GRUNT_27] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_AQUA, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt27 + }, + + [OPPONENT_ANONYMOUS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Anonymous1 + }, + + [OPPONENT_MATT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, + .trainerName = _("MATT"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Matt1 + }, + + [OPPONENT_MATT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_AQUA_ADMIN_M, + .trainerName = _("MATT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Matt2 + }, + + [OPPONENT_SHELLY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelly1 + }, + + [OPPONENT_SHELLY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_ADMIN, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelly2 + }, + + [OPPONENT_ARCHIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_ARCHIE, + .trainerName = _("ARCHIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Archie2 + }, + + [OPPONENT_ARCHIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AQUA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_AQUA, + .trainerPic = TRAINER_PIC_ARCHIE, + .trainerName = _("ARCHIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Archie3 + }, + + [OPPONENT_DAISY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Daisy + }, + + [OPPONENT_ROSE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rose1 + }, + + [OPPONENT_LILY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_AROMA_LADY, + .trainerName = _("LILY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lily + }, + + [OPPONENT_VIOLET] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Violet + }, + + [OPPONENT_ROSE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rose2 + }, + + [OPPONENT_ROSE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Rose3 + }, + + [OPPONENT_ROSE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Rose4 + }, + + [OPPONENT_ROSE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_AROMA_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Rose5 + }, + + [OPPONENT_DUSTY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty1 + }, + + [OPPONENT_CHIP] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("CHIP"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Chip + }, + + [OPPONENT_FOSTER] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("FOSTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Foster + }, + + [OPPONENT_DUSTY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty2 + }, + + [OPPONENT_DUSTY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty3 + }, + + [OPPONENT_DUSTY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty4 + }, + + [OPPONENT_DUSTY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RUIN_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_RUIN_MANIAC, + .trainerName = _("DUSTY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dusty5 + }, + + [OPPONENT_GABBY_AND_TY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy1 + }, + + [OPPONENT_GABBY_AND_TY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy2 + }, + + [OPPONENT_GABBY_AND_TY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy3 + }, + + [OPPONENT_GABBY_AND_TY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy4 + }, + + [OPPONENT_GABBY_AND_TY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy5 + }, + + [OPPONENT_GABBY_AND_TY_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_INTERVIEWER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTERVIEWER, + .trainerPic = TRAINER_PIC_INTERVIEWER, + .trainerName = _("GABBY & TY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GabbyAndTy6 + }, + + [OPPONENT_LOLA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola1 + }, + + [OPPONENT_CARMEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_F, + .trainerName = _("CARMEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Carmen + }, + + [OPPONENT_GWEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Gwen + }, + + [OPPONENT_LOLA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola2 + }, + + [OPPONENT_LOLA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola3 + }, + + [OPPONENT_LOLA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola4 + }, + + [OPPONENT_LOLA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lola5 + }, + + [OPPONENT_RICKY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky1 + }, + + [OPPONENT_SIMON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("SIMON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Simon + }, + + [OPPONENT_CHARLIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("CHARLIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Charlie + }, + + [OPPONENT_RICKY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky2 + }, + + [OPPONENT_RICKY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky3 + }, + + [OPPONENT_RICKY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky4 + }, + + [OPPONENT_RICKY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TUBER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_TUBER_M, + .trainerName = _("RICKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ricky5 + }, + + [OPPONENT_RANDALL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("RANDALL"), + .items = {ITEM_X_SPEED, ITEM_X_SPEED, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Randall + }, + + [OPPONENT_PARKER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("PARKER"), + .items = {ITEM_GUARD_SPEC, ITEM_GUARD_SPEC, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Parker + }, + + [OPPONENT_GEORGE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("GEORGE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_George + }, + + [OPPONENT_BERKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("BERKE"), + .items = {ITEM_DIRE_HIT, ITEM_DIRE_HIT, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Berke + }, + + [OPPONENT_CLYDE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("CLYDE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Clyde + }, + + [OPPONENT_VINCENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("VINCENT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Vincent + }, + + [OPPONENT_LEROY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("LEROY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Leroy + }, + + [OPPONENT_WILTON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton1 + }, + + [OPPONENT_EDGAR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("EDGAR"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Edgar + }, + + [OPPONENT_ALBERT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("ALBERT"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Albert + }, + + [OPPONENT_SAMUEL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("SAMUEL"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Samuel + }, + + [OPPONENT_VITO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("VITO"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Vito + }, + + [OPPONENT_OWEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("OWEN"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Owen + }, + + [OPPONENT_WILTON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton2 + }, + + [OPPONENT_WILTON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton3 + }, + + [OPPONENT_WILTON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton4 + }, + + [OPPONENT_WILTON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WILTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wilton5 + }, + + [OPPONENT_WARREN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("WARREN"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Warren + }, + + [OPPONENT_MARY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MARY"), + .items = {ITEM_X_ACCURACY, ITEM_X_ACCURACY, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Mary + }, + + [OPPONENT_LORI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("LORI"), + .items = {ITEM_X_DEFEND, ITEM_X_DEFEND, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Lori + }, + + [OPPONENT_JODY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("JODY"), + .items = {ITEM_X_ATTACK, ITEM_X_ATTACK, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Jody + }, + + [OPPONENT_WENDY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("WENDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Wendy + }, + + [OPPONENT_ELAINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("ELAINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Elaine + }, + + [OPPONENT_BROOKE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke1 + }, + + [OPPONENT_JENNIFER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("JENNIFER"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Jennifer + }, + + [OPPONENT_HOPE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("HOPE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Hope + }, + + [OPPONENT_SHANNON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("SHANNON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Shannon + }, + + [OPPONENT_MICHELLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("MICHELLE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Michelle + }, + + [OPPONENT_CAROLINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("CAROLINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Caroline + }, + + [OPPONENT_JULIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("JULIE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Julie + }, + + [OPPONENT_BROOKE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke2 + }, + + [OPPONENT_BROOKE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke3 + }, + + [OPPONENT_BROOKE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke4 + }, + + [OPPONENT_BROOKE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("BROOKE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brooke5 + }, + + [OPPONENT_PATRICIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Patricia + }, + + [OPPONENT_KINDRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kindra + }, + + [OPPONENT_TAMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tammy + }, + + [OPPONENT_VALERIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Valerie1 + }, + + [OPPONENT_TASHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tasha + }, + + [OPPONENT_VALERIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Valerie2 + }, + + [OPPONENT_VALERIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Valerie3 + }, + + [OPPONENT_VALERIE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Valerie4 + }, + + [OPPONENT_VALERIE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HEX_MANIAC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Valerie5 + }, + + [OPPONENT_CINDY_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy1 + }, + + [OPPONENT_ANONYMOUS_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _(""), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous2 + }, + + [OPPONENT_BRIANNA_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("BRIANNA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Brianna1 + }, + + [OPPONENT_CINDY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy2 + }, + + [OPPONENT_BRIANNA_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("BRIANNA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Brianna2 + }, + + [OPPONENT_ANETTE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("ANETTE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anette + }, + + [OPPONENT_CINDY_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy3 + }, + + [OPPONENT_CINDY_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy4 + }, + + [OPPONENT_CINDY_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy5 + }, + + [OPPONENT_CINDY_6] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LADY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LADY, + .trainerName = _("CINDY"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cindy6 + }, + + [OPPONENT_MELISSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("MELISSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Melissa + }, + + [OPPONENT_SHEILA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("SHEILA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sheila + }, + + [OPPONENT_SHIRLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("SHIRLEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Shirley + }, + + [OPPONENT_JESSICA_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica1 + }, + + [OPPONENT_CONNIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("CONNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Connie + }, + + [OPPONENT_BRIDGET] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("BRIDGET"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Bridget + }, + + [OPPONENT_OLIVIA] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("OLIVIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Olivia + }, + + [OPPONENT_TIFFANY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("TIFFANY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tiffany + }, + + [OPPONENT_JESSICA_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica2 + }, + + [OPPONENT_JESSICA_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica3 + }, + + [OPPONENT_JESSICA_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica4 + }, + + [OPPONENT_JESSICA_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JESSICA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jessica5 + }, + + [OPPONENT_WINSTON_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston1 + }, + + [OPPONENT_ANONYMOUS_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _(""), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous3 + }, + + [OPPONENT_GARRET] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("GARRET"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Garret + }, + + [OPPONENT_WINSTON_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston2 + }, + + [OPPONENT_WINSTON_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston3 + }, + + [OPPONENT_WINSTON_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston4 + }, + + [OPPONENT_WINSTON_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_RICH_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_RICH_BOY, + .trainerName = _("WINSTON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Winston5 + }, + + [OPPONENT_STEVE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Steve1 + }, + + [OPPONENT_CHRIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("CHRIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Chris + }, + + [OPPONENT_MARK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("MARK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Mark + }, + + [OPPONENT_KENN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("KENN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kenn + }, + + [OPPONENT_STEVE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Steve2 + }, + + [OPPONENT_STEVE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Steve3 + }, + + [OPPONENT_STEVE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Steve4 + }, + + [OPPONENT_STEVE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_POKEMANIAC, + .trainerName = _("STEVE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Steve5 + }, + + [OPPONENT_LUIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("LUIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Luis + }, + + [OPPONENT_AUSTIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("AUSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Austin + }, + + [OPPONENT_DOUGLAS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DOUGLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Douglas + }, + + [OPPONENT_DARRIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DARRIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Darrin + }, + + [OPPONENT_TONY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tony1 + }, + + [OPPONENT_JEROME] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("JEROME"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerome + }, + + [OPPONENT_MATTHEW] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("MATTHEW"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Matthew + }, + + [OPPONENT_DAVID] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DAVID"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_David + }, + + [OPPONENT_SPENCER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("SPENCER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Spencer + }, + + [OPPONENT_ROLAND] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("ROLAND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Roland + }, + + [OPPONENT_CODY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("CODY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cody + }, + + [OPPONENT_STAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("STAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Stan + }, + + [OPPONENT_BARRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("BARRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Barry + }, + + [OPPONENT_DEAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DEAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dean + }, + + [OPPONENT_RODNEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("RODNEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rodney + }, + + [OPPONENT_RICHARD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("RICHARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Richard + }, + + [OPPONENT_HERMAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("HERMAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Herman + }, + + [OPPONENT_ANONYMOUS_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous4 + }, + + [OPPONENT_GILBERT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("GILBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Gilbert + }, + + [OPPONENT_FRANKLIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("FRANKLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Franklin + }, + + [OPPONENT_DANNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DANNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Danny + }, + + [OPPONENT_JACK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("JACK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jack + }, + + [OPPONENT_DUDLEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("DUDLEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dudley + }, + + [OPPONENT_CHAD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("CHAD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Chad + }, + + [OPPONENT_TONY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tony2 + }, + + [OPPONENT_TONY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tony3 + }, + + [OPPONENT_TONY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tony4 + }, + + [OPPONENT_TONY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("TONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tony5 + }, + + [OPPONENT_HIDEKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("HIDEKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hideki + }, + + [OPPONENT_HITOSHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("HITOSHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Hitoshi + }, + + [OPPONENT_KIYO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KIYO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Kiyo + }, + + [OPPONENT_KOICHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOICHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Koichi + }, + + [OPPONENT_NOB_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nob1 + }, + + [OPPONENT_NOB_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nob2 + }, + + [OPPONENT_NOB_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nob3 + }, + + [OPPONENT_NOB_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nob4 + }, + + [OPPONENT_NOB_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("NOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Nob5 + }, + + [OPPONENT_YUJI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("YUJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Yuji + }, + + [OPPONENT_DAISUKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("DAISUKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Daisuke + }, + + [OPPONENT_ATSUSHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("ATSUSHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Atsushi + }, + + [OPPONENT_KIRK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("KIRK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kirk + }, + + [OPPONENT_SCOTT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("SCOTT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Scott + }, + + [OPPONENT_HARVEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("HARVEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Harvey + }, + + [OPPONENT_SHAWN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("SHAWN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Shawn + }, + + [OPPONENT_RANDY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("RANDY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Randy + }, + + [OPPONENT_DALTON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton1 + }, + + [OPPONENT_DALTON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton2 + }, + + [OPPONENT_DALTON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton3 + }, + + [OPPONENT_DALTON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton4 + }, + + [OPPONENT_DALTON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GUITARIST, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_GUITARIST, + .trainerName = _("DALTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dalton5 + }, + + [OPPONENT_COLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("COLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Cole + }, + + [OPPONENT_FLINT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("FLINT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Flint + }, + + [OPPONENT_AXLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("AXLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Axle + }, + + [OPPONENT_JAKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("JAKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jake + }, + + [OPPONENT_ANDY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("ANDY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Andy + }, + + [OPPONENT_BERNIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie1 + }, + + [OPPONENT_BERNIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie2 + }, + + [OPPONENT_BERNIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie3 + }, + + [OPPONENT_BERNIE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie4 + }, + + [OPPONENT_BERNIE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_KINDLER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_KINDLER, + .trainerName = _("BERNIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Bernie5 + }, + + [OPPONENT_DREW] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("DREW"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Drew + }, + + [OPPONENT_CLIFF] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("CLIFF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Cliff + }, + + [OPPONENT_LARRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("LARRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Larry + }, + + [OPPONENT_SHANE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("SHANE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Shane + }, + + [OPPONENT_JUSTIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("JUSTIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Justin + }, + + [OPPONENT_ETHAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Ethan1 + }, + + [OPPONENT_JEFF] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("JEFF"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jeff + }, + + [OPPONENT_TRAVIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("TRAVIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Travis + }, + + [OPPONENT_ETHAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Ethan2 + }, + + [OPPONENT_ETHAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Ethan3 + }, + + [OPPONENT_ETHAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ethan4 + }, + + [OPPONENT_ETHAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("ETHAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ethan5 + }, + + [OPPONENT_BRENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Brent + }, + + [OPPONENT_DONALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("DONALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Donald + }, + + [OPPONENT_TAYLOR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("TAYLOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Taylor + }, + + [OPPONENT_BRANDON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRANDON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Brandon1 + }, + + [OPPONENT_DEREK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("DEREK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Derek + }, + + [OPPONENT_BRANDON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRANDON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Brandon2 + }, + + [OPPONENT_BRANDON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRANDON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Brandon3 + }, + + [OPPONENT_BRANDON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRANDON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Brandon4 + }, + + [OPPONENT_BRANDON_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_BUG_MANIAC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_BUG_MANIAC, + .trainerName = _("BRANDON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 5, + .party = gTrainerParty_Brandon5 + }, + + [OPPONENT_EDWARD] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("EDWARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Edward + }, + + [OPPONENT_PRESTON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("PRESTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Preston + }, + + [OPPONENT_VIRGIL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("VIRGIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Virgil + }, + + [OPPONENT_FRITZ] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("FRITZ"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Fritz + }, + + [OPPONENT_WILLIAM] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("WILLIAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_William + }, + + [OPPONENT_JOSHUA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("JOSHUA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Joshua + }, + + [OPPONENT_CAMERON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron1 + }, + + [OPPONENT_CAMERON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron2 + }, + + [OPPONENT_CAMERON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron3 + }, + + [OPPONENT_CAMERON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron4 + }, + + [OPPONENT_CAMERON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_PSYCHIC_M, + .trainerName = _("CAMERON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cameron5 + }, + + [OPPONENT_JACLYN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jaclyn + }, + + [OPPONENT_HANNAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Hannah + }, + + [OPPONENT_SAMANTHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Samantha + }, + + [OPPONENT_MAURA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Maura + }, + + [OPPONENT_KAYLA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kayla + }, + + [OPPONENT_ALEXIS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Alexis + }, + + [OPPONENT_JACKI_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki1 + }, + + [OPPONENT_JACKI_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki2 + }, + + [OPPONENT_JACKI_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki3 + }, + + [OPPONENT_JACKI_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki4 + }, + + [OPPONENT_JACKI_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PSYCHIC, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jacki5 + }, + + [OPPONENT_WALTER_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Walter1 + }, + + [OPPONENT_TUCKER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("TUCKER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tucker + }, + + [OPPONENT_THOMAS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("THOMAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Thomas + }, + + [OPPONENT_WALTER_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Walter2 + }, + + [OPPONENT_WALTER_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Walter3 + }, + + [OPPONENT_WALTER_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Walter4 + }, + + [OPPONENT_WALTER_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_GENTLEMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_RICH, + .trainerPic = TRAINER_PIC_GENTLEMAN, + .trainerName = _("WALTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Walter5 + }, + + [OPPONENT_SIDNEY] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_SIDNEY, + .trainerName = _("SIDNEY"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Sidney + }, + + [OPPONENT_PHOEBE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_PHOEBE, + .trainerName = _("PHOEBE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Phoebe + }, + + [OPPONENT_GLACIA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_GLACIA, + .trainerName = _("GLACIA"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Glacia + }, + + [OPPONENT_DRAKE] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_ELITE_FOUR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR, + .trainerPic = TRAINER_PIC_DRAKE, + .trainerName = _("DRAKE"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Drake + }, + + [OPPONENT_ROXANNE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_ROXANNE, + .trainerName = _("ROXANNE"), + .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Roxanne + }, + + [OPPONENT_BRAWLY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRAWLY, + .trainerName = _("BRAWLY"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Brawly + }, + + [OPPONENT_WATTSON] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WATTSON, + .trainerName = _("WATTSON"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Wattson + }, + + [OPPONENT_FLANNERY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_FLANNERY, + .trainerName = _("FLANNERY"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Flannery + }, + + [OPPONENT_NORMAN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_NORMAN, + .trainerName = _("NORMAN"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Norman + }, + + [OPPONENT_WINONA] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_WINONA, + .trainerName = _("WINONA"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Winona + }, + + [OPPONENT_TATE_AND_LIZA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_TATE_AND_LIZA, + .trainerName = _("TATE&LIZA"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_TateAndLiza + }, + + [OPPONENT_WALLACE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLACE, + .trainerName = _("WALLACE"), + .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wallace + }, + + [OPPONENT_JERRY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jerry1 + }, + + [OPPONENT_TED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("TED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ted + }, + + [OPPONENT_PAUL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("PAUL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Paul + }, + + [OPPONENT_JERRY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerry2 + }, + + [OPPONENT_JERRY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerry3 + }, + + [OPPONENT_JERRY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jerry4 + }, + + [OPPONENT_JERRY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SCHOOL_KID_M, + .trainerName = _("JERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jerry5 + }, + + [OPPONENT_KAREN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen1 + }, + + [OPPONENT_GEORGIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Georgia + }, + + [OPPONENT_KAREN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen2 + }, + + [OPPONENT_KAREN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen3 + }, + + [OPPONENT_KAREN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen4 + }, + + [OPPONENT_KAREN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SCHOOL_KID, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Karen5 + }, + + [OPPONENT_KATE_AND_JOY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("KATE & JOY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_KateAndJoy + }, + + [OPPONENT_ANNA_AND_MEG_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg1 + }, + + [OPPONENT_ANNA_AND_MEG_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg2 + }, + + [OPPONENT_ANNA_AND_MEG_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg3 + }, + + [OPPONENT_ANNA_AND_MEG_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg4 + }, + + [OPPONENT_ANNA_AND_MEG_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("ANNA & MEG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AnnaAndMeg5 + }, + + [OPPONENT_VICTOR] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("VICTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Victor + }, + + [OPPONENT_MIGUEL_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel1 + }, + + [OPPONENT_COLTON] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("COLTON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Colton + }, + + [OPPONENT_MIGUEL_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel2 + }, + + [OPPONENT_MIGUEL_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel3 + }, + + [OPPONENT_MIGUEL_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel4 + }, + + [OPPONENT_MIGUEL_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_M, + .trainerName = _("MIGUEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Miguel5 + }, + + [OPPONENT_VICTORIA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("VICTORIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 1, + .party = gTrainerParty_Victoria + }, + + [OPPONENT_VANESSA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("VANESSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Vanessa + }, + + [OPPONENT_MARISSA] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("MARISSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Marissa + }, + + [OPPONENT_ISABEL_1] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel1 + }, + + [OPPONENT_ISABEL_2] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel2 + }, + + [OPPONENT_ISABEL_3] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel3 + }, + + [OPPONENT_ISABEL_4] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel4 + }, + + [OPPONENT_ISABEL_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_POKEFAN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_POKEFAN_F, + .trainerName = _("ISABEL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Isabel5 + }, + + [OPPONENT_TIMOTHY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy1 + }, + + [OPPONENT_TIMOTHY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy2 + }, + + [OPPONENT_TIMOTHY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy3 + }, + + [OPPONENT_TIMOTHY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy4 + }, + + [OPPONENT_TIMOTHY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_EXPERT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_EXPERT_M, + .trainerName = _("TIMOTHY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Timothy5 + }, + + [OPPONENT_VICKY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Vicky + }, + + [OPPONENT_SHELBY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby1 + }, + + [OPPONENT_SHELBY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby2 + }, + + [OPPONENT_SHELBY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby3 + }, + + [OPPONENT_SHELBY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby4 + }, + + [OPPONENT_SHELBY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_EXPERT, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Shelby5 + }, + + [OPPONENT_CALVIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Calvin1 + }, + + [OPPONENT_BILLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("BILLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Billy + }, + + [OPPONENT_JOSH] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("JOSH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Josh + }, + + [OPPONENT_TOMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("TOMMY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tommy + }, + + [OPPONENT_JOEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("JOEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Joey + }, + + [OPPONENT_BEN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("BEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ben + }, + + [OPPONENT_ANONYMOUS_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Anonymous5 + }, + + [OPPONENT_KEVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("KEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kevin + }, + + [OPPONENT_NEAL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("NEAL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Neal + }, + + [OPPONENT_DILLON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("DILLON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dillon + }, + + [OPPONENT_CALVIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Calvin2 + }, + + [OPPONENT_CALVIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Calvin3 + }, + + [OPPONENT_CALVIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Calvin4 + }, + + [OPPONENT_CALVIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("CALVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Calvin5 + }, + + [OPPONENT_EDDIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("EDDIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Eddie + }, + + [OPPONENT_ALLEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("ALLEN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Allen + }, + + [OPPONENT_TIMMY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNGSTER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("TIMMY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Timmy + }, + + [OPPONENT_STEVEN] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_CHAMPION, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_STEVEN, + .trainerName = _("STEVEN"), + .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 6, + .party = gTrainerParty_Steven + }, + + [OPPONENT_ANDREW] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ANDREW"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Andrew + }, + + [OPPONENT_IVAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("IVAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ivan + }, + + [OPPONENT_CLAUDE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("CLAUDE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Claude + }, + + [OPPONENT_ELLIOT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Elliot1 + }, + + [OPPONENT_NED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("NED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Ned + }, + + [OPPONENT_DALE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("DALE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Dale + }, + + [OPPONENT_NOLAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("NOLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nolan + }, + + [OPPONENT_BARNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("BARNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Barny + }, + + [OPPONENT_WADE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("WADE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Wade + }, + + [OPPONENT_CARTER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("CARTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Carter + }, + + [OPPONENT_ELLIOT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Elliot2 + }, + + [OPPONENT_ELLIOT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Elliot3 + }, + + [OPPONENT_ELLIOT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Elliot4 + }, + + [OPPONENT_ELLIOT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ELLIOT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 4, + .party = gTrainerParty_Elliot5 + }, + + [OPPONENT_RONALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("RONALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Ronald + }, + + [OPPONENT_JACOB] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("JACOB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jacob + }, + + [OPPONENT_ANTHONY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("ANTHONY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Anthony + }, + + [OPPONENT_BENJAMIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin1 + }, + + [OPPONENT_BENJAMIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin2 + }, + + [OPPONENT_BENJAMIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin3 + }, + + [OPPONENT_BENJAMIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin4 + }, + + [OPPONENT_BENJAMIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CYCLING_TRIATHLETE_M, + .trainerName = _("BENJAMIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Benjamin5 + }, + + [OPPONENT_ABIGAIL_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail1 + }, + + [OPPONENT_JASMINE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jasmine + }, + + [OPPONENT_ABIGAIL_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail2 + }, + + [OPPONENT_ABIGAIL_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail3 + }, + + [OPPONENT_ABIGAIL_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail4 + }, + + [OPPONENT_ABIGAIL_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Abigail5 + }, + + [OPPONENT_DYLAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan1 + }, + + [OPPONENT_DYLAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan2 + }, + + [OPPONENT_DYLAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan3 + }, + + [OPPONENT_DYLAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan4 + }, + + [OPPONENT_DYLAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_RUNNING_TRIATHLETE_M, + .trainerName = _("DYLAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dylan5 + }, + + [OPPONENT_MARIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria1 + }, + + [OPPONENT_MARIA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria2 + }, + + [OPPONENT_MARIA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria3 + }, + + [OPPONENT_MARIA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria4 + }, + + [OPPONENT_MARIA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Maria5 + }, + + [OPPONENT_CALEB] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("CALEB"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Caleb + }, + + [OPPONENT_ANONYMOUS_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous6 + }, + + [OPPONENT_ISAIAH_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah1 + }, + + [OPPONENT_ANONYMOUS_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous7 + }, + + [OPPONENT_CHASE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("CHASE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Chase + }, + + [OPPONENT_ISAIAH_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah2 + }, + + [OPPONENT_ISAIAH_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah3 + }, + + [OPPONENT_ISAIAH_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah4 + }, + + [OPPONENT_ISAIAH_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_M, + .trainerName = _("ISAIAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Isaiah5 + }, + + [OPPONENT_ANONYMOUS_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Anonymous8 + }, + + [OPPONENT_CONNOR] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _("CONNOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Connor + }, + + [OPPONENT_ANONYMOUS_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMING_TRIATHLETE_F, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous9 + }, + + [OPPONENT_KATELYN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn1 + }, + + [OPPONENT_ALLISON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Allison + }, + + [OPPONENT_KATELYN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn2 + }, + + [OPPONENT_KATELYN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn3 + }, + + [OPPONENT_KATELYN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn4 + }, + + [OPPONENT_KATELYN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TRIATHLETE, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Katelyn5 + }, + + [OPPONENT_NICOLAS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nicolas1 + }, + + [OPPONENT_NICOLAS_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nicolas2 + }, + + [OPPONENT_NICOLAS_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nicolas3 + }, + + [OPPONENT_NICOLAS_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nicolas4 + }, + + [OPPONENT_NICOLAS_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("NICOLAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nicolas5 + }, + + [OPPONENT_AARON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_DRAGON_TAMER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_DRAGON_TAMER, + .trainerName = _("AARON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Aaron + }, + + [OPPONENT_PERRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("PERRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Perry + }, + + [OPPONENT_HUGH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("HUGH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hugh + }, + + [OPPONENT_PHIL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("PHIL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Phil + }, + + [OPPONENT_JARED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("JARED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jared + }, + + [OPPONENT_ANONYMOUS_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Anonymous10 + }, + + [OPPONENT_TANNER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("TANNER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tanner + }, + + [OPPONENT_WILL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("WILL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Will + }, + + [OPPONENT_COLIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("COLIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Colin + }, + + [OPPONENT_ROBERT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Robert1 + }, + + [OPPONENT_BENNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("BENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Benny + }, + + [OPPONENT_CHESTER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("CHESTER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Chester + }, + + [OPPONENT_ROBERT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert2 + }, + + [OPPONENT_ROBERT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert3 + }, + + [OPPONENT_ROBERT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert4 + }, + + [OPPONENT_ROBERT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ROBERT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Robert5 + }, + + [OPPONENT_ALEX] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("ALEX"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Alex + }, + + [OPPONENT_BECK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("BECK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Beck + }, + + [OPPONENT_YASU] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("YASU"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 1, + .party = gTrainerParty_Yasu + }, + + [OPPONENT_TAKASHI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("TAKASHI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 3, + .party = gTrainerParty_Takashi + }, + + [OPPONENT_MAKOTO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("MAKOTO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 1, + .party = gTrainerParty_Makoto + }, + + [OPPONENT_HIDEO_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("HIDEO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Hideo1 + }, + + [OPPONENT_LAO_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao1 + }, + + [OPPONENT_LUNG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LUNG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 2, + .party = gTrainerParty_Lung + }, + + [OPPONENT_LAO_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao2 + }, + + [OPPONENT_LAO_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao3 + }, + + [OPPONENT_LAO_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao4 + }, + + [OPPONENT_LAO_5] = + { + .partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("LAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x0, + .partySize = 4, + .party = gTrainerParty_Lao5 + }, + + [OPPONENT_TESSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("TESSA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tessa + }, + + [OPPONENT_LAURA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Laura + }, + + [OPPONENT_CYNDY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy1 + }, + + [OPPONENT_CORA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Cora + }, + + [OPPONENT_JILL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("JILL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jill + }, + + [OPPONENT_CYNDY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy2 + }, + + [OPPONENT_CYNDY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy3 + }, + + [OPPONENT_CYNDY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy4 + }, + + [OPPONENT_CYNDY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Cyndy5 + }, + + [OPPONENT_MADELINE_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Madeline1 + }, + + [OPPONENT_CLARISSA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Clarissa + }, + + [OPPONENT_ANGELICA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Angelica + }, + + [OPPONENT_MADELINE_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Madeline2 + }, + + [OPPONENT_MADELINE_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Madeline3 + }, + + [OPPONENT_MADELINE_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Madeline4 + }, + + [OPPONENT_MADELINE_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PARASOL_LADY, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Madeline5 + }, + + [OPPONENT_BEVERLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Beverly + }, + + [OPPONENT_DAWN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("DAWN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Dawn + }, + + [OPPONENT_NICOLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("NICOLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Nicole + }, + + [OPPONENT_DENISE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Denise + }, + + [OPPONENT_BETH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Beth + }, + + [OPPONENT_TARA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tara + }, + + [OPPONENT_MISSY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Missy + }, + + [OPPONENT_ALICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Alice + }, + + [OPPONENT_JENNY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jenny1 + }, + + [OPPONENT_GRACE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grace + }, + + [OPPONENT_TANYA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tanya + }, + + [OPPONENT_SHARON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Sharon + }, + + [OPPONENT_NIKKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Nikki + }, + + [OPPONENT_BRENDA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Brenda + }, + + [OPPONENT_KATIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Katie + }, + + [OPPONENT_SUSIE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Susie + }, + + [OPPONENT_KARA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kara + }, + + [OPPONENT_DANA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dana + }, + + [OPPONENT_ERIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("ERIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Erin + }, + + [OPPONENT_DEBRA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Debra + }, + + [OPPONENT_LINDA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Linda + }, + + [OPPONENT_KAYLEE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kaylee + }, + + [OPPONENT_LAUREL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Laurel + }, + + [OPPONENT_DARCY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_F, + .trainerName = _("DARCY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Darcy + }, + + [OPPONENT_JENNY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jenny2 + }, + + [OPPONENT_JENNY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Jenny3 + }, + + [OPPONENT_JENNY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Jenny4 + }, + + [OPPONENT_JENNY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jenny5 + }, + + [OPPONENT_HEIDI] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("HEIDI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Heidi + }, + + [OPPONENT_BECKY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("BECKY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Becky + }, + + [OPPONENT_CAROL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("CAROL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Carol + }, + + [OPPONENT_NANCY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("NANCY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nancy + }, + + [OPPONENT_MARTHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("MARTHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Martha + }, + + [OPPONENT_DIANA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana1 + }, + + [OPPONENT_NINA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("NINA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Nina + }, + + [OPPONENT_IRENE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("IRENE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Irene + }, + + [OPPONENT_DIANA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana2 + }, + + [OPPONENT_DIANA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana3 + }, + + [OPPONENT_DIANA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana4 + }, + + [OPPONENT_DIANA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("DIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Diana5 + }, + + [OPPONENT_AMY_AND_LIV_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv1 + }, + + [OPPONENT_AMY_AND_LIV_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv2 + }, + + [OPPONENT_GINA_AND_MIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("GINA & MIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GinaAndMia1 + }, + + [OPPONENT_MIU_AND_YUKI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("MIU & YUKI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_MiuAndYuki + }, + + [OPPONENT_AMY_AND_LIV_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv3 + }, + + [OPPONENT_GINA_AND_MIA_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("GINA & MIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_GinaAndMia2 + }, + + [OPPONENT_AMY_AND_LIV_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv4 + }, + + [OPPONENT_AMY_AND_LIV_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv5 + }, + + [OPPONENT_AMY_AND_LIV_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("AMY & LIV"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_AmyAndLiv6 + }, + + [OPPONENT_HUEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("HUEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Huey + }, + + [OPPONENT_EDMOND] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("EDMOND"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Edmond + }, + + [OPPONENT_ERNEST_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest1 + }, + + [OPPONENT_DWAYNE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("DWAYNE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Dwayne + }, + + [OPPONENT_PHILLIP] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("PHILLIP"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Phillip + }, + + [OPPONENT_LEONARD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("LEONARD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Leonard + }, + + [OPPONENT_DUNCAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("DUNCAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Duncan + }, + + [OPPONENT_ERNEST_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest2 + }, + + [OPPONENT_ERNEST_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest3 + }, + + [OPPONENT_ERNEST_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest4 + }, + + [OPPONENT_ERNEST_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SAILOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_SAILOR, + .trainerName = _("ERNEST"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Ernest5 + }, + + [OPPONENT_ANONYMOUS_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Anonymous11 + }, + + [OPPONENT_ANONYMOUS_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Anonymous12 + }, + + [OPPONENT_ANONYMOUS_13] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Anonymous13 + }, + + [OPPONENT_SONNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("SONNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sonny + }, + + [OPPONENT_DONOVAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("DONOVAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Donovan + }, + + [OPPONENT_GERALD] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("GERALD"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Gerald + }, + + [OPPONENT_KELVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("KELVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Kelvin + }, + + [OPPONENT_KODY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("KODY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Kody + }, + + [OPPONENT_TEVIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("TEVIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Tevin + }, + + [OPPONENT_DAMON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("DAMON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Damon + }, + + [OPPONENT_PABLO] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BOARDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_YOUNGSTER, + .trainerName = _("PABLO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Pablo + }, + + [OPPONENT_EDWIN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin1 + }, + + [OPPONENT_HECTOR_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("HECTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hector1 + }, + + [OPPONENT_HECTOR_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("HECTOR"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Hector2 + }, + + [OPPONENT_EDWIN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin2 + }, + + [OPPONENT_EDWIN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin3 + }, + + [OPPONENT_EDWIN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin4 + }, + + [OPPONENT_EDWIN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COLLECTOR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_COLLECTOR, + .trainerName = _("EDWIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Edwin5 + }, + + [OPPONENT_WALLY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally1 + }, + + [OPPONENT_BRENDAN_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Brendan1 + }, + + [OPPONENT_BRENDAN_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan2 + }, + + [OPPONENT_BRENDAN_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan3 + }, + + [OPPONENT_BRENDAN_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Brendan4 + }, + + [OPPONENT_BRENDAN_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan5 + }, + + [OPPONENT_BRENDAN_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan6 + }, + + [OPPONENT_BRENDAN_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Brendan7 + }, + + [OPPONENT_BRENDAN_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan8 + }, + + [OPPONENT_BRENDAN_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Brendan9 + }, + + [OPPONENT_MAY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_May1 + }, + + [OPPONENT_MAY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May2 + }, + + [OPPONENT_MAY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May3 + }, + + [OPPONENT_MAY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_May4 + }, + + [OPPONENT_MAY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May5 + }, + + [OPPONENT_MAY_6] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May6 + }, + + [OPPONENT_MAY_7] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_May7 + }, + + [OPPONENT_MAY_8] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May8 + }, + + [OPPONENT_MAY_9] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_May9 + }, + + [OPPONENT_ISAAC_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac1 + }, + + [OPPONENT_RILEY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("RILEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Riley + }, + + [OPPONENT_AIDAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("AIDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Aidan + }, + + [OPPONENT_ISAAC_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac2 + }, + + [OPPONENT_ISAAC_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac3 + }, + + [OPPONENT_ISAAC_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac4 + }, + + [OPPONENT_ISAAC_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_M, + .trainerName = _("ISAAC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Isaac5 + }, + + [OPPONENT_LYDIA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia1 + }, + + [OPPONENT_ALEXIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("ALEXIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Alexia + }, + + [OPPONENT_DANIELLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_POKEMON_BREEDER_F, + .trainerName = _("DANIELLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Danielle + }, + + [OPPONENT_LYDIA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia2 + }, + + [OPPONENT_LYDIA_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia3 + }, + + [OPPONENT_LYDIA_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia4 + }, + + [OPPONENT_LYDIA_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_BREEDER, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lydia5 + }, + + [OPPONENT_JACKSON_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Jackson1 + }, + + [OPPONENT_CARLOS] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("CARLOS"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Carlos + }, + + [OPPONENT_SEBASTIAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("SEBASTIAN"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Sebastian + }, + + [OPPONENT_JACKSON_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Jackson2 + }, + + [OPPONENT_JACKSON_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Jackson3 + }, + + [OPPONENT_JACKSON_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 1, + .party = gTrainerParty_Jackson4 + }, + + [OPPONENT_JACKSON_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_M, + .trainerName = _("JACKSON"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Jackson5 + }, + + [OPPONENT_CATHERINE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Catherine1 + }, + + [OPPONENT_JENNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("JENNA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Jenna + }, + + [OPPONENT_SOPHIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("SOPHIA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Sophia + }, + + [OPPONENT_CATHERINE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Catherine2 + }, + + [OPPONENT_CATHERINE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Catherine3 + }, + + [OPPONENT_CATHERINE_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Catherine4 + }, + + [OPPONENT_CATHERINE_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_RANGER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_POKEMON_RANGER_F, + .trainerName = _("CATHERINE"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Catherine5 + }, + + [OPPONENT_MAXIE_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAXIE, + .trainerName = _("MAXIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Maxie1 + }, + + [OPPONENT_GRUNT_28] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt28 + }, + + [OPPONENT_GRUNT_29] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Grunt29 + }, + + [OPPONENT_GRUNT_30] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt30 + }, + + [OPPONENT_GRUNT_31] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt31 + }, + + [OPPONENT_GRUNT_32] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt32 + }, + + [OPPONENT_GRUNT_33] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt33 + }, + + [OPPONENT_GRUNT_34] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt34 + }, + + [OPPONENT_GRUNT_35] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt35 + }, + + [OPPONENT_GRUNT_36] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt36 + }, + + [OPPONENT_GRUNT_37] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt37 + }, + + [OPPONENT_GRUNT_38] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt38 + }, + + [OPPONENT_GRUNT_39] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt39 + }, + + [OPPONENT_GRUNT_40] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt40 + }, + + [OPPONENT_GRUNT_41] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt41 + }, + + [OPPONENT_GRUNT_42] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt42 + }, + + [OPPONENT_GRUNT_43] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt43 + }, + + [OPPONENT_GRUNT_44] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt44 + }, + + [OPPONENT_GRUNT_45] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt45 + }, + + [OPPONENT_GRUNT_46] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt46 + }, + + [OPPONENT_GRUNT_47] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt47 + }, + + [OPPONENT_GRUNT_48] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt48 + }, + + [OPPONENT_GRUNT_49] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt49 + }, + + [OPPONENT_GRUNT_50] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt50 + }, + + [OPPONENT_GRUNT_51] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_GRUNT_M, + .trainerName = _("GRUNT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Grunt51 + }, + + [OPPONENT_GRUNT_52] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt52 + }, + + [OPPONENT_GRUNT_53] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Grunt53 + }, + + [OPPONENT_GRUNT_54] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TEAM_MAGMA, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Grunt54 + }, + + [OPPONENT_ANONYMOUS_14] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Anonymous14 + }, + + [OPPONENT_ANONYMOUS_15] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Anonymous15 + }, + + [OPPONENT_TABITHA_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _("TABITHA"), + .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 3, + .party = gTrainerParty_Tabitha1 + }, + + [OPPONENT_TABITHA_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _("TABITHA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Tabitha2 + }, + + [OPPONENT_ANONYMOUS_16] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_M, + .trainerName = _(""), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Anonymous16 + }, + + [OPPONENT_COURTNEY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_F, + .trainerName = _("COURTNEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Courtney1 + }, + + [OPPONENT_COURTNEY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_ADMIN, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAGMA_ADMIN_F, + .trainerName = _("COURTNEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_Courtney2 + }, + + [OPPONENT_MAXIE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAXIE, + .trainerName = _("MAXIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Maxie2 + }, + + [OPPONENT_MAXIE_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_MAGMA_LEADER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MAGMA, + .trainerPic = TRAINER_PIC_MAXIE, + .trainerName = _("MAXIE"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Maxie3 + }, + + [OPPONENT_TIANA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("TIANA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Tiana + }, + + [OPPONENT_HALEY_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley1 + }, + + [OPPONENT_JANICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("JANICE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Janice + }, + + [OPPONENT_VIVI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_WINSTRATE, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("VIVI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Vivi + }, + + [OPPONENT_HALEY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley2 + }, + + [OPPONENT_HALEY_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley3 + }, + + [OPPONENT_HALEY_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Haley4 + }, + + [OPPONENT_HALEY_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("HALEY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Haley5 + }, + + [OPPONENT_SALLY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("SALLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sally + }, + + [OPPONENT_ROBIN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ROBIN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Robin + }, + + [OPPONENT_ANDREA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("ANDREA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Andrea + }, + + [OPPONENT_CRISSY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_LASS, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_LASS, + .trainerName = _("CRISSY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Crissy + }, + + [OPPONENT_RICK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("RICK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Rick + }, + + [OPPONENT_LYLE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("LYLE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 6, + .party = gTrainerParty_Lyle + }, + + [OPPONENT_JOSE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JOSE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Jose + }, + + [OPPONENT_DOUG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("DOUG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Doug + }, + + [OPPONENT_GREG] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("GREG"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Greg + }, + + [OPPONENT_KENT] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("KENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kent + }, + + [OPPONENT_JAMES_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_James1 + }, + + [OPPONENT_JAMES_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_James2 + }, + + [OPPONENT_JAMES_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_James3 + }, + + [OPPONENT_JAMES_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_James4 + }, + + [OPPONENT_JAMES_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BUG_CATCHER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BUG_CATCHER, + .trainerName = _("JAMES"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_James5 + }, + + [OPPONENT_BRICE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("BRICE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Brice + }, + + [OPPONENT_TRENT_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent1 + }, + + [OPPONENT_LENNY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LENNY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Lenny + }, + + [OPPONENT_LUCAS_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LUCAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Lucas1 + }, + + [OPPONENT_ALAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("ALAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Alan + }, + + [OPPONENT_CLARK] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("CLARK"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Clark + }, + + [OPPONENT_ERIC] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("ERIC"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Eric + }, + + [OPPONENT_LUCAS_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("LUCAS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Lucas2 + }, + + [OPPONENT_MIKE_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Mike1 + }, + + [OPPONENT_MIKE_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("MIKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Mike2 + }, + + [OPPONENT_TRENT_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent2 + }, + + [OPPONENT_TRENT_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent3 + }, + + [OPPONENT_TRENT_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent4 + }, + + [OPPONENT_TRENT_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_HIKER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_HIKER, + .trainerName = _("TRENT"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Trent5 + }, + + [OPPONENT_DEZ_AND_LUKE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("DEZ & LUKE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_DezAndLuke + }, + + [OPPONENT_LEA_AND_JED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LEA & JED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LeaAndJed + }, + + [OPPONENT_LOIS_AND_HAL_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LOIS & HAL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal1 + }, + + [OPPONENT_LOIS_AND_HAL_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LOIS & HAL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal2 + }, + + [OPPONENT_LOIS_AND_HAL_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LOIS & HAL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal3 + }, + + [OPPONENT_LOIS_AND_HAL_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LOIS & HAL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal4 + }, + + [OPPONENT_LOIS_AND_HAL_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("LOIS & HAL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LoisAndHal5 + }, + + [OPPONENT_JOHANNA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BEAUTY, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_BEAUTY, + .trainerName = _("JOHANNA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Johanna + }, + + [OPPONENT_ZANE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("ZANE"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Zane + }, + + [OPPONENT_VIVIAN] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Vivian + }, + + [OPPONENT_SADIE] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_BATTLE_GIRL, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BATTLE_GIRL, + .trainerName = _("SADIE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Sadie + }, + + [OPPONENT_HIDEO_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("HIDEO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = gTrainerParty_Hideo2 + }, + + [OPPONENT_KEIGO] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("KEIGO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 2, + .party = gTrainerParty_Keigo + }, + + [OPPONENT_TSUNAO] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_NINJA_BOY, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS, + .trainerPic = TRAINER_PIC_NINJA_BOY, + .trainerName = _("TSUNAO"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x3, + .partySize = 3, + .party = gTrainerParty_Tsunao + }, + + [OPPONENT_TERRELL] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_CAMPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_CAMPER, + .trainerName = _("TERRELL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Terrell + }, + + [OPPONENT_KYLEE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_PICNICKER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_PICNICKER, + .trainerName = _("KYLEE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 1, + .party = gTrainerParty_Kylee + }, + + [OPPONENT_WALLY_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 1, + .party = gTrainerParty_Wally2 + }, + + [OPPONENT_WALLY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally3 + }, + + [OPPONENT_WALLY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally4 + }, + + [OPPONENT_WALLY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally5 + }, + + [OPPONENT_WALLY_6] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_WALLY, + .trainerName = _("WALLY"), + .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 5, + .party = gTrainerParty_Wally6 + }, + + [OPPONENT_BRENDAN_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Brendan10 + }, + + [OPPONENT_BRENDAN_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Brendan11 + }, + + [OPPONENT_BRENDAN_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, + .trainerPic = TRAINER_PIC_BRENDAN, + .trainerName = _("BRENDAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_Brendan12 + }, + + [OPPONENT_MAY_10] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_May10 + }, + + [OPPONENT_MAY_11] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_May11 + }, + + [OPPONENT_MAY_12] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_POKEMON_TRAINER_3, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_FEMALE, + .trainerPic = TRAINER_PIC_MAY, + .trainerName = _("MAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 4, + .party = gTrainerParty_May12 + }, + + [OPPONENT_JONAH] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("JONAH"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Jonah + }, + + [OPPONENT_HENRY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("HENRY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Henry + }, + + [OPPONENT_ROGER] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("ROGER"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Roger + }, + + [OPPONENT_ALEXA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_F, + .trainerName = _("ALEXA"), + .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_Alexa + }, + + [OPPONENT_RUBEN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_COOL_TRAINER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_COOL_TRAINER_M, + .trainerName = _("RUBEN"), + .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x7, + .partySize = 3, + .party = gTrainerParty_Ruben + }, + + [OPPONENT_KOJI] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BLACK_BELT, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_BLACK_BELT, + .trainerName = _("KOJI"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Koji + }, + + [OPPONENT_WAYNE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("WAYNE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Wayne + }, + + [OPPONENT_BYRON] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_BIRD_KEEPER, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL, + .trainerPic = TRAINER_PIC_BIRD_KEEPER, + .trainerName = _("BYRON"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_Byron + }, + + [OPPONENT_REED] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_M, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SWIMMER_M, + .trainerName = _("REED"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Reed + }, + + [OPPONENT_TISHA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SWIMMER_F, + .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}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 3, + .party = gTrainerParty_Tisha + }, + + [OPPONENT_TORI_AND_TIA] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_TWINS, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_TWINS, + .trainerName = _("TORI & TIA"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_ToriAndTia + }, + + [OPPONENT_KIM_AND_IRIS] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("KIM & IRIS"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_KimAndIris + }, + + [OPPONENT_TYRA_AND_IVY] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_SR_AND_JR, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS, + .trainerPic = TRAINER_PIC_SR_AND_JR, + .trainerName = _("TYRA & IVY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_TyraAndIvy + }, + + [OPPONENT_MEL_AND_PAUL] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_YOUNG_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL, + .trainerPic = TRAINER_PIC_YOUNG_COUPLE, + .trainerName = _("MEL & PAUL"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_MelAndPaul + }, + + [OPPONENT_JOHN_AND_JAY_1] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay1 + }, + + [OPPONENT_JOHN_AND_JAY_2] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay2 + }, + + [OPPONENT_JOHN_AND_JAY_3] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay3 + }, + + [OPPONENT_JOHN_AND_JAY_4] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0xb, + .partySize = 2, + .party = gTrainerParty_JohnAndJay4 + }, + + [OPPONENT_JOHN_AND_JAY_5] = + { + .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET, + .trainerClass = TRAINER_CLASS_OLD_COUPLE, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_INTENSE, + .trainerPic = TRAINER_PIC_OLD_COUPLE, + .trainerName = _("JOHN & JAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x7, + .partySize = 2, + .party = gTrainerParty_JohnAndJay5 + }, + + [OPPONENT_RELI_AND_IAN] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("RELI & IAN"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_ReliAndIan + }, + + [OPPONENT_RITA_AND_SAM_1] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("RITA & SAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam1 + }, + + [OPPONENT_RITA_AND_SAM_2] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("RITA & SAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam2 + }, + + [OPPONENT_RITA_AND_SAM_3] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("RITA & SAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam3 + }, + + [OPPONENT_RITA_AND_SAM_4] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("RITA & SAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam4 + }, + + [OPPONENT_RITA_AND_SAM_5] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("RITA & SAM"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_RitaAndSam5 + }, + + [OPPONENT_LISA_AND_RAY] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_SIS_AND_BRO, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_SWIMMER, + .trainerPic = TRAINER_PIC_SIS_AND_BRO, + .trainerName = _("LISA & RAY"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = TRUE, + .aiFlags = 0x1, + .partySize = 2, + .party = gTrainerParty_LisaAndRay + }, + + [OPPONENT_EUGENE] = + { + .partyFlags = 0, + .trainerClass = TRAINER_CLASS_FISHERMAN, + .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_HIKER, + .trainerPic = TRAINER_PIC_FISHERMAN, + .trainerName = _("EUGENE"), + .items = {ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, + .doubleBattle = FALSE, + .aiFlags = 0x1, + .partySize = 4, + .party = gTrainerParty_Eugene + }, +}; -- cgit v1.2.3 From 6e8522af591a7ddc731078e296eece9e0bc720e7 Mon Sep 17 00:00:00 2001 From: Blampharos Date: Fri, 26 Jan 2018 07:20:50 +0100 Subject: Decompile species names --- src/battle/battle_1.c | 2 + src/data/text/species_names_de.h | 414 +++++++++++++++++++++++++++++++++++++++ src/data/text/species_names_en.h | 414 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 830 insertions(+) create mode 100644 src/data/text/species_names_de.h create mode 100644 src/data/text/species_names_en.h (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index 210d2c2ab..f25a6330f 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -456,8 +456,10 @@ const u8 gEnemyMonElevation[] = { #if ENGLISH #include "../data/text/trainer_class_names_en.h" #include "../data/trainers_en.h" +#include "../data/text/species_names_en.h" #elif GERMAN #include "../data/text/trainer_class_names_de.h" #include "../data/trainers_de.h" +#include "../data/text/species_names_de.h" #endif diff --git a/src/data/text/species_names_de.h b/src/data/text/species_names_de.h new file mode 100644 index 000000000..cad800c3e --- /dev/null +++ b/src/data/text/species_names_de.h @@ -0,0 +1,414 @@ +const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { + [SPECIES_NONE] = _("??????????"), + [SPECIES_BULBASAUR] = _("BISASAM"), + [SPECIES_IVYSAUR] = _("BISAKNOSP"), + [SPECIES_VENUSAUR] = _("BISAFLOR"), + [SPECIES_CHARMANDER] = _("GLUMANDA"), + [SPECIES_CHARMELEON] = _("GLUTEXO"), + [SPECIES_CHARIZARD] = _("GLURAK"), + [SPECIES_SQUIRTLE] = _("SCHIGGY"), + [SPECIES_WARTORTLE] = _("SCHILLOK"), + [SPECIES_BLASTOISE] = _("TURTOK"), + [SPECIES_CATERPIE] = _("RAUPY"), + [SPECIES_METAPOD] = _("SAFCON"), + [SPECIES_BUTTERFREE] = _("SMETTBO"), + [SPECIES_WEEDLE] = _("HORNLIU"), + [SPECIES_KAKUNA] = _("KOKUNA"), + [SPECIES_BEEDRILL] = _("BIBOR"), + [SPECIES_PIDGEY] = _("TAUBSI"), + [SPECIES_PIDGEOTTO] = _("TAUBOGA"), + [SPECIES_PIDGEOT] = _("TAUBOSS"), + [SPECIES_RATTATA] = _("RATTFRATZ"), + [SPECIES_RATICATE] = _("RATTIKARL"), + [SPECIES_SPEAROW] = _("HABITAK"), + [SPECIES_FEAROW] = _("IBITAK"), + [SPECIES_EKANS] = _("RETTAN"), + [SPECIES_ARBOK] = _("ARBOK"), + [SPECIES_PIKACHU] = _("PIKACHU"), + [SPECIES_RAICHU] = _("RAICHU"), + [SPECIES_SANDSHREW] = _("SANDAN"), + [SPECIES_SANDSLASH] = _("SANDAMER"), + [SPECIES_NIDORAN_F] = _("NIDORAN♀"), + [SPECIES_NIDORINA] = _("NIDORINA"), + [SPECIES_NIDOQUEEN] = _("NIDOQUEEN"), + [SPECIES_NIDORAN_M] = _("NIDORAN♂"), + [SPECIES_NIDORINO] = _("NIDORINO"), + [SPECIES_NIDOKING] = _("NIDOKING"), + [SPECIES_CLEFAIRY] = _("PIEPI"), + [SPECIES_CLEFABLE] = _("PIXI"), + [SPECIES_VULPIX] = _("VULPIX"), + [SPECIES_NINETALES] = _("VULNONA"), + [SPECIES_JIGGLYPUFF] = _("PUMMELUFF"), + [SPECIES_WIGGLYTUFF] = _("KNUDDELUFF"), + [SPECIES_ZUBAT] = _("ZUBAT"), + [SPECIES_GOLBAT] = _("GOLBAT"), + [SPECIES_ODDISH] = _("MYRAPLA"), + [SPECIES_GLOOM] = _("DUFLOR"), + [SPECIES_VILEPLUME] = _("GIFLOR"), + [SPECIES_PARAS] = _("PARAS"), + [SPECIES_PARASECT] = _("PARASEK"), + [SPECIES_VENONAT] = _("BLUZUK"), + [SPECIES_VENOMOTH] = _("OMOT"), + [SPECIES_DIGLETT] = _("DIGDA"), + [SPECIES_DUGTRIO] = _("DIGDRI"), + [SPECIES_MEOWTH] = _("MAUZI"), + [SPECIES_PERSIAN] = _("SNOBILIKAT"), + [SPECIES_PSYDUCK] = _("ENTON"), + [SPECIES_GOLDUCK] = _("ENTORON"), + [SPECIES_MANKEY] = _("MENKI"), + [SPECIES_PRIMEAPE] = _("RASAFF"), + [SPECIES_GROWLITHE] = _("FUKANO"), + [SPECIES_ARCANINE] = _("ARKANI"), + [SPECIES_POLIWAG] = _("QUAPSEL"), + [SPECIES_POLIWHIRL] = _("QUAPUTZI"), + [SPECIES_POLIWRATH] = _("QUAPPO"), + [SPECIES_ABRA] = _("ABRA"), + [SPECIES_KADABRA] = _("KADABRA"), + [SPECIES_ALAKAZAM] = _("SIMSALA"), + [SPECIES_MACHOP] = _("MACHOLLO"), + [SPECIES_MACHOKE] = _("MASCHOCK"), + [SPECIES_MACHAMP] = _("MACHOMEI"), + [SPECIES_BELLSPROUT] = _("KNOFENSA"), + [SPECIES_WEEPINBELL] = _("ULTRIGARIA"), + [SPECIES_VICTREEBEL] = _("SARZENIA"), + [SPECIES_TENTACOOL] = _("TENTACHA"), + [SPECIES_TENTACRUEL] = _("TENTOXA"), + [SPECIES_GEODUDE] = _("KLEINSTEIN"), + [SPECIES_GRAVELER] = _("GEOROK"), + [SPECIES_GOLEM] = _("GEOWAZ"), + [SPECIES_PONYTA] = _("PONITA"), + [SPECIES_RAPIDASH] = _("GALLOPA"), + [SPECIES_SLOWPOKE] = _("FLEGMON"), + [SPECIES_SLOWBRO] = _("LAHMUS"), + [SPECIES_MAGNEMITE] = _("MAGNETILO"), + [SPECIES_MAGNETON] = _("MAGNETON"), + [SPECIES_FARFETCHD] = _("PORENTA"), + [SPECIES_DODUO] = _("DODU"), + [SPECIES_DODRIO] = _("DODRI"), + [SPECIES_SEEL] = _("JUROB"), + [SPECIES_DEWGONG] = _("JUGONG"), + [SPECIES_GRIMER] = _("SLEIMA"), + [SPECIES_MUK] = _("SLEIMOK"), + [SPECIES_SHELLDER] = _("MUSCHAS"), + [SPECIES_CLOYSTER] = _("AUSTOS"), + [SPECIES_GASTLY] = _("NEBULAK"), + [SPECIES_HAUNTER] = _("ALPOLLO"), + [SPECIES_GENGAR] = _("GENGAR"), + [SPECIES_ONIX] = _("ONIX"), + [SPECIES_DROWZEE] = _("TRAUMATO"), + [SPECIES_HYPNO] = _("HYPNO"), + [SPECIES_KRABBY] = _("KRABBY"), + [SPECIES_KINGLER] = _("KINGLER"), + [SPECIES_VOLTORB] = _("VOLTOBAL"), + [SPECIES_ELECTRODE] = _("LEKTROBAL"), + [SPECIES_EXEGGCUTE] = _("OWEI"), + [SPECIES_EXEGGUTOR] = _("KOKOWEI"), + [SPECIES_CUBONE] = _("TRAGOSSO"), + [SPECIES_MAROWAK] = _("KNOGGA"), + [SPECIES_HITMONLEE] = _("KICKLEE"), + [SPECIES_HITMONCHAN] = _("NOCKCHAN"), + [SPECIES_LICKITUNG] = _("SCHLURP"), + [SPECIES_KOFFING] = _("SMOGON"), + [SPECIES_WEEZING] = _("SMOGMOG"), + [SPECIES_RHYHORN] = _("RIHORN"), + [SPECIES_RHYDON] = _("RIZEROS"), + [SPECIES_CHANSEY] = _("CHANEIRA"), + [SPECIES_TANGELA] = _("TANGELA"), + [SPECIES_KANGASKHAN] = _("KANGAMA"), + [SPECIES_HORSEA] = _("SEEPER"), + [SPECIES_SEADRA] = _("SEEMON"), + [SPECIES_GOLDEEN] = _("GOLDINI"), + [SPECIES_SEAKING] = _("GOLKING"), + [SPECIES_STARYU] = _("STERNDU"), + [SPECIES_STARMIE] = _("STARMIE"), + [SPECIES_MR_MIME] = _("PANTIMOS"), + [SPECIES_SCYTHER] = _("SICHLOR"), + [SPECIES_JYNX] = _("ROSSANA"), + [SPECIES_ELECTABUZZ] = _("ELEKTEK"), + [SPECIES_MAGMAR] = _("MAGMAR"), + [SPECIES_PINSIR] = _("PINSIR"), + [SPECIES_TAUROS] = _("TAUROS"), + [SPECIES_MAGIKARP] = _("KARPADOR"), + [SPECIES_GYARADOS] = _("GARADOS"), + [SPECIES_LAPRAS] = _("LAPRAS"), + [SPECIES_DITTO] = _("DITTO"), + [SPECIES_EEVEE] = _("EVOLI"), + [SPECIES_VAPOREON] = _("AQUANA"), + [SPECIES_JOLTEON] = _("BLITZA"), + [SPECIES_FLAREON] = _("FLAMARA"), + [SPECIES_PORYGON] = _("PORYGON"), + [SPECIES_OMANYTE] = _("AMONITAS"), + [SPECIES_OMASTAR] = _("AMOROSO"), + [SPECIES_KABUTO] = _("KABUTO"), + [SPECIES_KABUTOPS] = _("KABUTOPS"), + [SPECIES_AERODACTYL] = _("AERODACTYL"), + [SPECIES_SNORLAX] = _("RELAXO"), + [SPECIES_ARTICUNO] = _("ARKTOS"), + [SPECIES_ZAPDOS] = _("ZAPDOS"), + [SPECIES_MOLTRES] = _("LAVADOS"), + [SPECIES_DRATINI] = _("DRATINI"), + [SPECIES_DRAGONAIR] = _("DRAGONIR"), + [SPECIES_DRAGONITE] = _("DRAGORAN"), + [SPECIES_MEWTWO] = _("MEWTU"), + [SPECIES_MEW] = _("MEW"), + [SPECIES_CHIKORITA] = _("ENDIVIE"), + [SPECIES_BAYLEEF] = _("LORBLATT"), + [SPECIES_MEGANIUM] = _("MEGANIE"), + [SPECIES_CYNDAQUIL] = _("FEURIGEL"), + [SPECIES_QUILAVA] = _("IGELAVAR"), + [SPECIES_TYPHLOSION] = _("TORNUPTO"), + [SPECIES_TOTODILE] = _("KARNIMANI"), + [SPECIES_CROCONAW] = _("TYRACROC"), + [SPECIES_FERALIGATR] = _("IMPERGATOR"), + [SPECIES_SENTRET] = _("WIESOR"), + [SPECIES_FURRET] = _("WIESENIOR"), + [SPECIES_HOOTHOOT] = _("HOOTHOOT"), + [SPECIES_NOCTOWL] = _("NOCTUH"), + [SPECIES_LEDYBA] = _("LEDYBA"), + [SPECIES_LEDIAN] = _("LEDIAN"), + [SPECIES_SPINARAK] = _("WEBARAK"), + [SPECIES_ARIADOS] = _("ARIADOS"), + [SPECIES_CROBAT] = _("IKSBAT"), + [SPECIES_CHINCHOU] = _("LAMPI"), + [SPECIES_LANTURN] = _("LANTURN"), + [SPECIES_PICHU] = _("PICHU"), + [SPECIES_CLEFFA] = _("PII"), + [SPECIES_IGGLYBUFF] = _("FLUFFELUFF"), + [SPECIES_TOGEPI] = _("TOGEPI"), + [SPECIES_TOGETIC] = _("TOGETIC"), + [SPECIES_NATU] = _("NATU"), + [SPECIES_XATU] = _("XATU"), + [SPECIES_MAREEP] = _("VOLTILAMM"), + [SPECIES_FLAAFFY] = _("WAATY"), + [SPECIES_AMPHAROS] = _("AMPHAROS"), + [SPECIES_BELLOSSOM] = _("BLUBELLA"), + [SPECIES_MARILL] = _("MARILL"), + [SPECIES_AZUMARILL] = _("AZUMARILL"), + [SPECIES_SUDOWOODO] = _("MOGELBAUM"), + [SPECIES_POLITOED] = _("QUAXO"), + [SPECIES_HOPPIP] = _("HOPPSPROSS"), + [SPECIES_SKIPLOOM] = _("HUBELUPF"), + [SPECIES_JUMPLUFF] = _("PAPUNGHA"), + [SPECIES_AIPOM] = _("GRIFFEL"), + [SPECIES_SUNKERN] = _("SONNKERN"), + [SPECIES_SUNFLORA] = _("SONNFLORA"), + [SPECIES_YANMA] = _("YANMA"), + [SPECIES_WOOPER] = _("FELINO"), + [SPECIES_QUAGSIRE] = _("MORLORD"), + [SPECIES_ESPEON] = _("PSIANA"), + [SPECIES_UMBREON] = _("NACHTARA"), + [SPECIES_MURKROW] = _("KRAMURX"), + [SPECIES_SLOWKING] = _("LASCHOKING"), + [SPECIES_MISDREAVUS] = _("TRAUNFUGIL"), + [SPECIES_UNOWN] = _("ICOGNITO"), + [SPECIES_WOBBUFFET] = _("WOINGENAU"), + [SPECIES_GIRAFARIG] = _("GIRAFARIG"), + [SPECIES_PINECO] = _("TANNZA"), + [SPECIES_FORRETRESS] = _("FORSTELLKA"), + [SPECIES_DUNSPARCE] = _("DUMMISEL"), + [SPECIES_GLIGAR] = _("SKORGLA"), + [SPECIES_STEELIX] = _("STAHLOS"), + [SPECIES_SNUBBULL] = _("SNUBBULL"), + [SPECIES_GRANBULL] = _("GRANBULL"), + [SPECIES_QWILFISH] = _("BALDORFISH"), + [SPECIES_SCIZOR] = _("SCHEROX"), + [SPECIES_SHUCKLE] = _("POTTROTT"), + [SPECIES_HERACROSS] = _("SKARABORN"), + [SPECIES_SNEASEL] = _("SNIEBEL"), + [SPECIES_TEDDIURSA] = _("TEDDIURSA"), + [SPECIES_URSARING] = _("URSARING"), + [SPECIES_SLUGMA] = _("SCHNECKMAG"), + [SPECIES_MAGCARGO] = _("MAGCARGO"), + [SPECIES_SWINUB] = _("QUIEKEL"), + [SPECIES_PILOSWINE] = _("KEIFEL"), + [SPECIES_CORSOLA] = _("CORASONN"), + [SPECIES_REMORAID] = _("REMORAID"), + [SPECIES_OCTILLERY] = _("OCTILLERY"), + [SPECIES_DELIBIRD] = _("BOTOGEL"), + [SPECIES_MANTINE] = _("MANTAX"), + [SPECIES_SKARMORY] = _("PANZAERON"), + [SPECIES_HOUNDOUR] = _("HUNDUSTER"), + [SPECIES_HOUNDOOM] = _("HUNDEMON"), + [SPECIES_KINGDRA] = _("SEEDRAKING"), + [SPECIES_PHANPY] = _("PHANPY"), + [SPECIES_DONPHAN] = _("DONPHAN"), + [SPECIES_PORYGON2] = _("PORYGON2"), + [SPECIES_STANTLER] = _("DAMHIRPLEX"), + [SPECIES_SMEARGLE] = _("FARBEAGLE"), + [SPECIES_TYROGUE] = _("RABAUZ"), + [SPECIES_HITMONTOP] = _("KAPOERA"), + [SPECIES_SMOOCHUM] = _("KUSSILLA"), + [SPECIES_ELEKID] = _("ELEKID"), + [SPECIES_MAGBY] = _("MAGBY"), + [SPECIES_MILTANK] = _("MILTANK"), + [SPECIES_BLISSEY] = _("HEITEIRA"), + [SPECIES_RAIKOU] = _("RAIKOU"), + [SPECIES_ENTEI] = _("ENTEI"), + [SPECIES_SUICUNE] = _("SUICUNE"), + [SPECIES_LARVITAR] = _("LARVITAR"), + [SPECIES_PUPITAR] = _("PUPITAR"), + [SPECIES_TYRANITAR] = _("DESPOTAR"), + [SPECIES_LUGIA] = _("LUGIA"), + [SPECIES_HO_OH] = _("HO-OH"), + [SPECIES_CELEBI] = _("CELEBI"), + [SPECIES_OLD_UNOWN_B] = _("?"), + [SPECIES_OLD_UNOWN_C] = _("?"), + [SPECIES_OLD_UNOWN_D] = _("?"), + [SPECIES_OLD_UNOWN_E] = _("?"), + [SPECIES_OLD_UNOWN_F] = _("?"), + [SPECIES_OLD_UNOWN_G] = _("?"), + [SPECIES_OLD_UNOWN_H] = _("?"), + [SPECIES_OLD_UNOWN_I] = _("?"), + [SPECIES_OLD_UNOWN_J] = _("?"), + [SPECIES_OLD_UNOWN_K] = _("?"), + [SPECIES_OLD_UNOWN_L] = _("?"), + [SPECIES_OLD_UNOWN_M] = _("?"), + [SPECIES_OLD_UNOWN_N] = _("?"), + [SPECIES_OLD_UNOWN_O] = _("?"), + [SPECIES_OLD_UNOWN_P] = _("?"), + [SPECIES_OLD_UNOWN_Q] = _("?"), + [SPECIES_OLD_UNOWN_R] = _("?"), + [SPECIES_OLD_UNOWN_S] = _("?"), + [SPECIES_OLD_UNOWN_T] = _("?"), + [SPECIES_OLD_UNOWN_U] = _("?"), + [SPECIES_OLD_UNOWN_V] = _("?"), + [SPECIES_OLD_UNOWN_W] = _("?"), + [SPECIES_OLD_UNOWN_X] = _("?"), + [SPECIES_OLD_UNOWN_Y] = _("?"), + [SPECIES_OLD_UNOWN_Z] = _("?"), + [SPECIES_TREECKO] = _("GECKARBOR"), + [SPECIES_GROVYLE] = _("REPTAIN"), + [SPECIES_SCEPTILE] = _("GEWALDRO"), + [SPECIES_TORCHIC] = _("FLEMMLI"), + [SPECIES_COMBUSKEN] = _("JUNGGLUT"), + [SPECIES_BLAZIKEN] = _("LOHGOCK"), + [SPECIES_MUDKIP] = _("HYDROPI"), + [SPECIES_MARSHTOMP] = _("MOORABBEL"), + [SPECIES_SWAMPERT] = _("SUMPEX"), + [SPECIES_POOCHYENA] = _("FIFFYEN"), + [SPECIES_MIGHTYENA] = _("MAGNAYEN"), + [SPECIES_ZIGZAGOON] = _("ZIGZACHS"), + [SPECIES_LINOONE] = _("GERADAKS"), + [SPECIES_WURMPLE] = _("WAUMPEL"), + [SPECIES_SILCOON] = _("SCHALOKO"), + [SPECIES_BEAUTIFLY] = _("PAPINELLA"), + [SPECIES_CASCOON] = _("PANEKON"), + [SPECIES_DUSTOX] = _("PUDOX"), + [SPECIES_LOTAD] = _("LOTURZEL"), + [SPECIES_LOMBRE] = _("LOMBRERO"), + [SPECIES_LUDICOLO] = _("KAPPALORES"), + [SPECIES_SEEDOT] = _("SAMURZEL"), + [SPECIES_NUZLEAF] = _("BLANAS"), + [SPECIES_SHIFTRY] = _("TENGULIST"), + [SPECIES_NINCADA] = _("NINCADA"), + [SPECIES_NINJASK] = _("NINJASK"), + [SPECIES_SHEDINJA] = _("NINJATOM"), + [SPECIES_TAILLOW] = _("SCHWALBINI"), + [SPECIES_SWELLOW] = _("SCHWALBOSS"), + [SPECIES_SHROOMISH] = _("KNILZ"), + [SPECIES_BRELOOM] = _("KAPILZ"), + [SPECIES_SPINDA] = _("PANDIR"), + [SPECIES_WINGULL] = _("WINGULL"), + [SPECIES_PELIPPER] = _("PELIPPER"), + [SPECIES_SURSKIT] = _("GEHWEIHER"), + [SPECIES_MASQUERAIN] = _("MASKEREGEN"), + [SPECIES_WAILMER] = _("WAILMER"), + [SPECIES_WAILORD] = _("WAILORD"), + [SPECIES_SKITTY] = _("ENECO"), + [SPECIES_DELCATTY] = _("ENEKORO"), + [SPECIES_KECLEON] = _("KECLEON"), + [SPECIES_BALTOY] = _("PUPPANCE"), + [SPECIES_CLAYDOL] = _("LEPUMENTAS"), + [SPECIES_NOSEPASS] = _("NASGNET"), + [SPECIES_TORKOAL] = _("QURTEL"), + [SPECIES_SABLEYE] = _("ZOBIRIS"), + [SPECIES_BARBOACH] = _("SCHMERBE"), + [SPECIES_WHISCASH] = _("WELSAR"), + [SPECIES_LUVDISC] = _("LIEBISKUS"), + [SPECIES_CORPHISH] = _("KREBSCORPS"), + [SPECIES_CRAWDAUNT] = _("KREBUTACK"), + [SPECIES_FEEBAS] = _("BARSCHWA"), + [SPECIES_MILOTIC] = _("MILOTIC"), + [SPECIES_CARVANHA] = _("KANIVANHA"), + [SPECIES_SHARPEDO] = _("TOHAIDO"), + [SPECIES_TRAPINCH] = _("KNACKLION"), + [SPECIES_VIBRAVA] = _("VIBRAVA"), + [SPECIES_FLYGON] = _("LIBELLDRA"), + [SPECIES_MAKUHITA] = _("MAKUHITA"), + [SPECIES_HARIYAMA] = _("HARIYAMA"), + [SPECIES_ELECTRIKE] = _("FRIZELBLIZ"), + [SPECIES_MANECTRIC] = _("VOLTENSO"), + [SPECIES_NUMEL] = _("CAMAUB"), + [SPECIES_CAMERUPT] = _("CAMERUPT"), + [SPECIES_SPHEAL] = _("SEEMOPS"), + [SPECIES_SEALEO] = _("SEEJONG"), + [SPECIES_WALREIN] = _("WALRAISA"), + [SPECIES_CACNEA] = _("TUSKA"), + [SPECIES_CACTURNE] = _("NOKTUSKA"), + [SPECIES_SNORUNT] = _("SCHNEPPKE"), + [SPECIES_GLALIE] = _("FIRNONTOR"), + [SPECIES_LUNATONE] = _("LUNASTEIN"), + [SPECIES_SOLROCK] = _("SONNFEL"), + [SPECIES_AZURILL] = _("AZURILL"), + [SPECIES_SPOINK] = _("SPOINK"), + [SPECIES_GRUMPIG] = _("GROINK"), + [SPECIES_PLUSLE] = _("PLUSLE"), + [SPECIES_MINUN] = _("MINUN"), + [SPECIES_MAWILE] = _("FLUNKIFER"), + [SPECIES_MEDITITE] = _("MEDITIE"), + [SPECIES_MEDICHAM] = _("MEDITALIS"), + [SPECIES_SWABLU] = _("WABLU"), + [SPECIES_ALTARIA] = _("ALTARIA"), + [SPECIES_WYNAUT] = _("ISSO"), + [SPECIES_DUSKULL] = _("ZWIRRLICHT"), + [SPECIES_DUSCLOPS] = _("ZWIRRKLOP"), + [SPECIES_ROSELIA] = _("ROSELIA"), + [SPECIES_SLAKOTH] = _("BUMMELZ"), + [SPECIES_VIGOROTH] = _("MUNTIER"), + [SPECIES_SLAKING] = _("LETARKING"), + [SPECIES_GULPIN] = _("SCHLUPPUCK"), + [SPECIES_SWALOT] = _("SCHLUKWECH"), + [SPECIES_TROPIUS] = _("TROPIUS"), + [SPECIES_WHISMUR] = _("FLURMEL"), + [SPECIES_LOUDRED] = _("KRAKEELO"), + [SPECIES_EXPLOUD] = _("KRAWUMMS"), + [SPECIES_CLAMPERL] = _("PERLU"), + [SPECIES_HUNTAIL] = _("AALABYSS"), + [SPECIES_GOREBYSS] = _("SAGANABYSS"), + [SPECIES_ABSOL] = _("ABSOL"), + [SPECIES_SHUPPET] = _("SHUPPET"), + [SPECIES_BANETTE] = _("BANETTE"), + [SPECIES_SEVIPER] = _("VIPITIS"), + [SPECIES_ZANGOOSE] = _("SENGO"), + [SPECIES_RELICANTH] = _("RELICANTH"), + [SPECIES_ARON] = _("STOLLUNIOR"), + [SPECIES_LAIRON] = _("STOLLRAK"), + [SPECIES_AGGRON] = _("STOLLOSS"), + [SPECIES_CASTFORM] = _("FORMEO"), + [SPECIES_VOLBEAT] = _("VOLBEAT"), + [SPECIES_ILLUMISE] = _("ILLUMISE"), + [SPECIES_LILEEP] = _("LILIEP"), + [SPECIES_CRADILY] = _("WIELIE"), + [SPECIES_ANORITH] = _("ANORITH"), + [SPECIES_ARMALDO] = _("ARMALDO"), + [SPECIES_RALTS] = _("TRASLA"), + [SPECIES_KIRLIA] = _("KIRLIA"), + [SPECIES_GARDEVOIR] = _("GUARDEVOIR"), + [SPECIES_BAGON] = _("KINDWURM"), + [SPECIES_SHELGON] = _("DRASCHEL"), + [SPECIES_SALAMENCE] = _("BRUTALANDA"), + [SPECIES_BELDUM] = _("TANHEL"), + [SPECIES_METANG] = _("METANG"), + [SPECIES_METAGROSS] = _("METAGROSS"), + [SPECIES_REGIROCK] = _("REGIROCK"), + [SPECIES_REGICE] = _("REGICE"), + [SPECIES_REGISTEEL] = _("REGISTEEL"), + [SPECIES_KYOGRE] = _("KYOGRE"), + [SPECIES_GROUDON] = _("GROUDON"), + [SPECIES_RAYQUAZA] = _("RAYQUAZA"), + [SPECIES_LATIAS] = _("LATIAS"), + [SPECIES_LATIOS] = _("LATIOS"), + [SPECIES_JIRACHI] = _("JIRACHI"), + [SPECIES_DEOXYS] = _("DEOXYS"), + [SPECIES_CHIMECHO] = _("PALIMPALIM"), +}; diff --git a/src/data/text/species_names_en.h b/src/data/text/species_names_en.h new file mode 100644 index 000000000..840beb22b --- /dev/null +++ b/src/data/text/species_names_en.h @@ -0,0 +1,414 @@ +const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { + [SPECIES_NONE] = _("??????????"), + [SPECIES_BULBASAUR] = _("BULBASAUR"), + [SPECIES_IVYSAUR] = _("IVYSAUR"), + [SPECIES_VENUSAUR] = _("VENUSAUR"), + [SPECIES_CHARMANDER] = _("CHARMANDER"), + [SPECIES_CHARMELEON] = _("CHARMELEON"), + [SPECIES_CHARIZARD] = _("CHARIZARD"), + [SPECIES_SQUIRTLE] = _("SQUIRTLE"), + [SPECIES_WARTORTLE] = _("WARTORTLE"), + [SPECIES_BLASTOISE] = _("BLASTOISE"), + [SPECIES_CATERPIE] = _("CATERPIE"), + [SPECIES_METAPOD] = _("METAPOD"), + [SPECIES_BUTTERFREE] = _("BUTTERFREE"), + [SPECIES_WEEDLE] = _("WEEDLE"), + [SPECIES_KAKUNA] = _("KAKUNA"), + [SPECIES_BEEDRILL] = _("BEEDRILL"), + [SPECIES_PIDGEY] = _("PIDGEY"), + [SPECIES_PIDGEOTTO] = _("PIDGEOTTO"), + [SPECIES_PIDGEOT] = _("PIDGEOT"), + [SPECIES_RATTATA] = _("RATTATA"), + [SPECIES_RATICATE] = _("RATICATE"), + [SPECIES_SPEAROW] = _("SPEAROW"), + [SPECIES_FEAROW] = _("FEAROW"), + [SPECIES_EKANS] = _("EKANS"), + [SPECIES_ARBOK] = _("ARBOK"), + [SPECIES_PIKACHU] = _("PIKACHU"), + [SPECIES_RAICHU] = _("RAICHU"), + [SPECIES_SANDSHREW] = _("SANDSHREW"), + [SPECIES_SANDSLASH] = _("SANDSLASH"), + [SPECIES_NIDORAN_F] = _("NIDORAN♀"), + [SPECIES_NIDORINA] = _("NIDORINA"), + [SPECIES_NIDOQUEEN] = _("NIDOQUEEN"), + [SPECIES_NIDORAN_M] = _("NIDORAN♂"), + [SPECIES_NIDORINO] = _("NIDORINO"), + [SPECIES_NIDOKING] = _("NIDOKING"), + [SPECIES_CLEFAIRY] = _("CLEFAIRY"), + [SPECIES_CLEFABLE] = _("CLEFABLE"), + [SPECIES_VULPIX] = _("VULPIX"), + [SPECIES_NINETALES] = _("NINETALES"), + [SPECIES_JIGGLYPUFF] = _("JIGGLYPUFF"), + [SPECIES_WIGGLYTUFF] = _("WIGGLYTUFF"), + [SPECIES_ZUBAT] = _("ZUBAT"), + [SPECIES_GOLBAT] = _("GOLBAT"), + [SPECIES_ODDISH] = _("ODDISH"), + [SPECIES_GLOOM] = _("GLOOM"), + [SPECIES_VILEPLUME] = _("VILEPLUME"), + [SPECIES_PARAS] = _("PARAS"), + [SPECIES_PARASECT] = _("PARASECT"), + [SPECIES_VENONAT] = _("VENONAT"), + [SPECIES_VENOMOTH] = _("VENOMOTH"), + [SPECIES_DIGLETT] = _("DIGLETT"), + [SPECIES_DUGTRIO] = _("DUGTRIO"), + [SPECIES_MEOWTH] = _("MEOWTH"), + [SPECIES_PERSIAN] = _("PERSIAN"), + [SPECIES_PSYDUCK] = _("PSYDUCK"), + [SPECIES_GOLDUCK] = _("GOLDUCK"), + [SPECIES_MANKEY] = _("MANKEY"), + [SPECIES_PRIMEAPE] = _("PRIMEAPE"), + [SPECIES_GROWLITHE] = _("GROWLITHE"), + [SPECIES_ARCANINE] = _("ARCANINE"), + [SPECIES_POLIWAG] = _("POLIWAG"), + [SPECIES_POLIWHIRL] = _("POLIWHIRL"), + [SPECIES_POLIWRATH] = _("POLIWRATH"), + [SPECIES_ABRA] = _("ABRA"), + [SPECIES_KADABRA] = _("KADABRA"), + [SPECIES_ALAKAZAM] = _("ALAKAZAM"), + [SPECIES_MACHOP] = _("MACHOP"), + [SPECIES_MACHOKE] = _("MACHOKE"), + [SPECIES_MACHAMP] = _("MACHAMP"), + [SPECIES_BELLSPROUT] = _("BELLSPROUT"), + [SPECIES_WEEPINBELL] = _("WEEPINBELL"), + [SPECIES_VICTREEBEL] = _("VICTREEBEL"), + [SPECIES_TENTACOOL] = _("TENTACOOL"), + [SPECIES_TENTACRUEL] = _("TENTACRUEL"), + [SPECIES_GEODUDE] = _("GEODUDE"), + [SPECIES_GRAVELER] = _("GRAVELER"), + [SPECIES_GOLEM] = _("GOLEM"), + [SPECIES_PONYTA] = _("PONYTA"), + [SPECIES_RAPIDASH] = _("RAPIDASH"), + [SPECIES_SLOWPOKE] = _("SLOWPOKE"), + [SPECIES_SLOWBRO] = _("SLOWBRO"), + [SPECIES_MAGNEMITE] = _("MAGNEMITE"), + [SPECIES_MAGNETON] = _("MAGNETON"), + [SPECIES_FARFETCHD] = _("FARFETCH’D"), + [SPECIES_DODUO] = _("DODUO"), + [SPECIES_DODRIO] = _("DODRIO"), + [SPECIES_SEEL] = _("SEEL"), + [SPECIES_DEWGONG] = _("DEWGONG"), + [SPECIES_GRIMER] = _("GRIMER"), + [SPECIES_MUK] = _("MUK"), + [SPECIES_SHELLDER] = _("SHELLDER"), + [SPECIES_CLOYSTER] = _("CLOYSTER"), + [SPECIES_GASTLY] = _("GASTLY"), + [SPECIES_HAUNTER] = _("HAUNTER"), + [SPECIES_GENGAR] = _("GENGAR"), + [SPECIES_ONIX] = _("ONIX"), + [SPECIES_DROWZEE] = _("DROWZEE"), + [SPECIES_HYPNO] = _("HYPNO"), + [SPECIES_KRABBY] = _("KRABBY"), + [SPECIES_KINGLER] = _("KINGLER"), + [SPECIES_VOLTORB] = _("VOLTORB"), + [SPECIES_ELECTRODE] = _("ELECTRODE"), + [SPECIES_EXEGGCUTE] = _("EXEGGCUTE"), + [SPECIES_EXEGGUTOR] = _("EXEGGUTOR"), + [SPECIES_CUBONE] = _("CUBONE"), + [SPECIES_MAROWAK] = _("MAROWAK"), + [SPECIES_HITMONLEE] = _("HITMONLEE"), + [SPECIES_HITMONCHAN] = _("HITMONCHAN"), + [SPECIES_LICKITUNG] = _("LICKITUNG"), + [SPECIES_KOFFING] = _("KOFFING"), + [SPECIES_WEEZING] = _("WEEZING"), + [SPECIES_RHYHORN] = _("RHYHORN"), + [SPECIES_RHYDON] = _("RHYDON"), + [SPECIES_CHANSEY] = _("CHANSEY"), + [SPECIES_TANGELA] = _("TANGELA"), + [SPECIES_KANGASKHAN] = _("KANGASKHAN"), + [SPECIES_HORSEA] = _("HORSEA"), + [SPECIES_SEADRA] = _("SEADRA"), + [SPECIES_GOLDEEN] = _("GOLDEEN"), + [SPECIES_SEAKING] = _("SEAKING"), + [SPECIES_STARYU] = _("STARYU"), + [SPECIES_STARMIE] = _("STARMIE"), + [SPECIES_MR_MIME] = _("MR. MIME"), + [SPECIES_SCYTHER] = _("SCYTHER"), + [SPECIES_JYNX] = _("JYNX"), + [SPECIES_ELECTABUZZ] = _("ELECTABUZZ"), + [SPECIES_MAGMAR] = _("MAGMAR"), + [SPECIES_PINSIR] = _("PINSIR"), + [SPECIES_TAUROS] = _("TAUROS"), + [SPECIES_MAGIKARP] = _("MAGIKARP"), + [SPECIES_GYARADOS] = _("GYARADOS"), + [SPECIES_LAPRAS] = _("LAPRAS"), + [SPECIES_DITTO] = _("DITTO"), + [SPECIES_EEVEE] = _("EEVEE"), + [SPECIES_VAPOREON] = _("VAPOREON"), + [SPECIES_JOLTEON] = _("JOLTEON"), + [SPECIES_FLAREON] = _("FLAREON"), + [SPECIES_PORYGON] = _("PORYGON"), + [SPECIES_OMANYTE] = _("OMANYTE"), + [SPECIES_OMASTAR] = _("OMASTAR"), + [SPECIES_KABUTO] = _("KABUTO"), + [SPECIES_KABUTOPS] = _("KABUTOPS"), + [SPECIES_AERODACTYL] = _("AERODACTYL"), + [SPECIES_SNORLAX] = _("SNORLAX"), + [SPECIES_ARTICUNO] = _("ARTICUNO"), + [SPECIES_ZAPDOS] = _("ZAPDOS"), + [SPECIES_MOLTRES] = _("MOLTRES"), + [SPECIES_DRATINI] = _("DRATINI"), + [SPECIES_DRAGONAIR] = _("DRAGONAIR"), + [SPECIES_DRAGONITE] = _("DRAGONITE"), + [SPECIES_MEWTWO] = _("MEWTWO"), + [SPECIES_MEW] = _("MEW"), + [SPECIES_CHIKORITA] = _("CHIKORITA"), + [SPECIES_BAYLEEF] = _("BAYLEEF"), + [SPECIES_MEGANIUM] = _("MEGANIUM"), + [SPECIES_CYNDAQUIL] = _("CYNDAQUIL"), + [SPECIES_QUILAVA] = _("QUILAVA"), + [SPECIES_TYPHLOSION] = _("TYPHLOSION"), + [SPECIES_TOTODILE] = _("TOTODILE"), + [SPECIES_CROCONAW] = _("CROCONAW"), + [SPECIES_FERALIGATR] = _("FERALIGATR"), + [SPECIES_SENTRET] = _("SENTRET"), + [SPECIES_FURRET] = _("FURRET"), + [SPECIES_HOOTHOOT] = _("HOOTHOOT"), + [SPECIES_NOCTOWL] = _("NOCTOWL"), + [SPECIES_LEDYBA] = _("LEDYBA"), + [SPECIES_LEDIAN] = _("LEDIAN"), + [SPECIES_SPINARAK] = _("SPINARAK"), + [SPECIES_ARIADOS] = _("ARIADOS"), + [SPECIES_CROBAT] = _("CROBAT"), + [SPECIES_CHINCHOU] = _("CHINCHOU"), + [SPECIES_LANTURN] = _("LANTURN"), + [SPECIES_PICHU] = _("PICHU"), + [SPECIES_CLEFFA] = _("CLEFFA"), + [SPECIES_IGGLYBUFF] = _("IGGLYBUFF"), + [SPECIES_TOGEPI] = _("TOGEPI"), + [SPECIES_TOGETIC] = _("TOGETIC"), + [SPECIES_NATU] = _("NATU"), + [SPECIES_XATU] = _("XATU"), + [SPECIES_MAREEP] = _("MAREEP"), + [SPECIES_FLAAFFY] = _("FLAAFFY"), + [SPECIES_AMPHAROS] = _("AMPHAROS"), + [SPECIES_BELLOSSOM] = _("BELLOSSOM"), + [SPECIES_MARILL] = _("MARILL"), + [SPECIES_AZUMARILL] = _("AZUMARILL"), + [SPECIES_SUDOWOODO] = _("SUDOWOODO"), + [SPECIES_POLITOED] = _("POLITOED"), + [SPECIES_HOPPIP] = _("HOPPIP"), + [SPECIES_SKIPLOOM] = _("SKIPLOOM"), + [SPECIES_JUMPLUFF] = _("JUMPLUFF"), + [SPECIES_AIPOM] = _("AIPOM"), + [SPECIES_SUNKERN] = _("SUNKERN"), + [SPECIES_SUNFLORA] = _("SUNFLORA"), + [SPECIES_YANMA] = _("YANMA"), + [SPECIES_WOOPER] = _("WOOPER"), + [SPECIES_QUAGSIRE] = _("QUAGSIRE"), + [SPECIES_ESPEON] = _("ESPEON"), + [SPECIES_UMBREON] = _("UMBREON"), + [SPECIES_MURKROW] = _("MURKROW"), + [SPECIES_SLOWKING] = _("SLOWKING"), + [SPECIES_MISDREAVUS] = _("MISDREAVUS"), + [SPECIES_UNOWN] = _("UNOWN"), + [SPECIES_WOBBUFFET] = _("WOBBUFFET"), + [SPECIES_GIRAFARIG] = _("GIRAFARIG"), + [SPECIES_PINECO] = _("PINECO"), + [SPECIES_FORRETRESS] = _("FORRETRESS"), + [SPECIES_DUNSPARCE] = _("DUNSPARCE"), + [SPECIES_GLIGAR] = _("GLIGAR"), + [SPECIES_STEELIX] = _("STEELIX"), + [SPECIES_SNUBBULL] = _("SNUBBULL"), + [SPECIES_GRANBULL] = _("GRANBULL"), + [SPECIES_QWILFISH] = _("QWILFISH"), + [SPECIES_SCIZOR] = _("SCIZOR"), + [SPECIES_SHUCKLE] = _("SHUCKLE"), + [SPECIES_HERACROSS] = _("HERACROSS"), + [SPECIES_SNEASEL] = _("SNEASEL"), + [SPECIES_TEDDIURSA] = _("TEDDIURSA"), + [SPECIES_URSARING] = _("URSARING"), + [SPECIES_SLUGMA] = _("SLUGMA"), + [SPECIES_MAGCARGO] = _("MAGCARGO"), + [SPECIES_SWINUB] = _("SWINUB"), + [SPECIES_PILOSWINE] = _("PILOSWINE"), + [SPECIES_CORSOLA] = _("CORSOLA"), + [SPECIES_REMORAID] = _("REMORAID"), + [SPECIES_OCTILLERY] = _("OCTILLERY"), + [SPECIES_DELIBIRD] = _("DELIBIRD"), + [SPECIES_MANTINE] = _("MANTINE"), + [SPECIES_SKARMORY] = _("SKARMORY"), + [SPECIES_HOUNDOUR] = _("HOUNDOUR"), + [SPECIES_HOUNDOOM] = _("HOUNDOOM"), + [SPECIES_KINGDRA] = _("KINGDRA"), + [SPECIES_PHANPY] = _("PHANPY"), + [SPECIES_DONPHAN] = _("DONPHAN"), + [SPECIES_PORYGON2] = _("PORYGON2"), + [SPECIES_STANTLER] = _("STANTLER"), + [SPECIES_SMEARGLE] = _("SMEARGLE"), + [SPECIES_TYROGUE] = _("TYROGUE"), + [SPECIES_HITMONTOP] = _("HITMONTOP"), + [SPECIES_SMOOCHUM] = _("SMOOCHUM"), + [SPECIES_ELEKID] = _("ELEKID"), + [SPECIES_MAGBY] = _("MAGBY"), + [SPECIES_MILTANK] = _("MILTANK"), + [SPECIES_BLISSEY] = _("BLISSEY"), + [SPECIES_RAIKOU] = _("RAIKOU"), + [SPECIES_ENTEI] = _("ENTEI"), + [SPECIES_SUICUNE] = _("SUICUNE"), + [SPECIES_LARVITAR] = _("LARVITAR"), + [SPECIES_PUPITAR] = _("PUPITAR"), + [SPECIES_TYRANITAR] = _("TYRANITAR"), + [SPECIES_LUGIA] = _("LUGIA"), + [SPECIES_HO_OH] = _("HO-OH"), + [SPECIES_CELEBI] = _("CELEBI"), + [SPECIES_OLD_UNOWN_B] = _("?"), + [SPECIES_OLD_UNOWN_C] = _("?"), + [SPECIES_OLD_UNOWN_D] = _("?"), + [SPECIES_OLD_UNOWN_E] = _("?"), + [SPECIES_OLD_UNOWN_F] = _("?"), + [SPECIES_OLD_UNOWN_G] = _("?"), + [SPECIES_OLD_UNOWN_H] = _("?"), + [SPECIES_OLD_UNOWN_I] = _("?"), + [SPECIES_OLD_UNOWN_J] = _("?"), + [SPECIES_OLD_UNOWN_K] = _("?"), + [SPECIES_OLD_UNOWN_L] = _("?"), + [SPECIES_OLD_UNOWN_M] = _("?"), + [SPECIES_OLD_UNOWN_N] = _("?"), + [SPECIES_OLD_UNOWN_O] = _("?"), + [SPECIES_OLD_UNOWN_P] = _("?"), + [SPECIES_OLD_UNOWN_Q] = _("?"), + [SPECIES_OLD_UNOWN_R] = _("?"), + [SPECIES_OLD_UNOWN_S] = _("?"), + [SPECIES_OLD_UNOWN_T] = _("?"), + [SPECIES_OLD_UNOWN_U] = _("?"), + [SPECIES_OLD_UNOWN_V] = _("?"), + [SPECIES_OLD_UNOWN_W] = _("?"), + [SPECIES_OLD_UNOWN_X] = _("?"), + [SPECIES_OLD_UNOWN_Y] = _("?"), + [SPECIES_OLD_UNOWN_Z] = _("?"), + [SPECIES_TREECKO] = _("TREECKO"), + [SPECIES_GROVYLE] = _("GROVYLE"), + [SPECIES_SCEPTILE] = _("SCEPTILE"), + [SPECIES_TORCHIC] = _("TORCHIC"), + [SPECIES_COMBUSKEN] = _("COMBUSKEN"), + [SPECIES_BLAZIKEN] = _("BLAZIKEN"), + [SPECIES_MUDKIP] = _("MUDKIP"), + [SPECIES_MARSHTOMP] = _("MARSHTOMP"), + [SPECIES_SWAMPERT] = _("SWAMPERT"), + [SPECIES_POOCHYENA] = _("POOCHYENA"), + [SPECIES_MIGHTYENA] = _("MIGHTYENA"), + [SPECIES_ZIGZAGOON] = _("ZIGZAGOON"), + [SPECIES_LINOONE] = _("LINOONE"), + [SPECIES_WURMPLE] = _("WURMPLE"), + [SPECIES_SILCOON] = _("SILCOON"), + [SPECIES_BEAUTIFLY] = _("BEAUTIFLY"), + [SPECIES_CASCOON] = _("CASCOON"), + [SPECIES_DUSTOX] = _("DUSTOX"), + [SPECIES_LOTAD] = _("LOTAD"), + [SPECIES_LOMBRE] = _("LOMBRE"), + [SPECIES_LUDICOLO] = _("LUDICOLO"), + [SPECIES_SEEDOT] = _("SEEDOT"), + [SPECIES_NUZLEAF] = _("NUZLEAF"), + [SPECIES_SHIFTRY] = _("SHIFTRY"), + [SPECIES_NINCADA] = _("NINCADA"), + [SPECIES_NINJASK] = _("NINJASK"), + [SPECIES_SHEDINJA] = _("SHEDINJA"), + [SPECIES_TAILLOW] = _("TAILLOW"), + [SPECIES_SWELLOW] = _("SWELLOW"), + [SPECIES_SHROOMISH] = _("SHROOMISH"), + [SPECIES_BRELOOM] = _("BRELOOM"), + [SPECIES_SPINDA] = _("SPINDA"), + [SPECIES_WINGULL] = _("WINGULL"), + [SPECIES_PELIPPER] = _("PELIPPER"), + [SPECIES_SURSKIT] = _("SURSKIT"), + [SPECIES_MASQUERAIN] = _("MASQUERAIN"), + [SPECIES_WAILMER] = _("WAILMER"), + [SPECIES_WAILORD] = _("WAILORD"), + [SPECIES_SKITTY] = _("SKITTY"), + [SPECIES_DELCATTY] = _("DELCATTY"), + [SPECIES_KECLEON] = _("KECLEON"), + [SPECIES_BALTOY] = _("BALTOY"), + [SPECIES_CLAYDOL] = _("CLAYDOL"), + [SPECIES_NOSEPASS] = _("NOSEPASS"), + [SPECIES_TORKOAL] = _("TORKOAL"), + [SPECIES_SABLEYE] = _("SABLEYE"), + [SPECIES_BARBOACH] = _("BARBOACH"), + [SPECIES_WHISCASH] = _("WHISCASH"), + [SPECIES_LUVDISC] = _("LUVDISC"), + [SPECIES_CORPHISH] = _("CORPHISH"), + [SPECIES_CRAWDAUNT] = _("CRAWDAUNT"), + [SPECIES_FEEBAS] = _("FEEBAS"), + [SPECIES_MILOTIC] = _("MILOTIC"), + [SPECIES_CARVANHA] = _("CARVANHA"), + [SPECIES_SHARPEDO] = _("SHARPEDO"), + [SPECIES_TRAPINCH] = _("TRAPINCH"), + [SPECIES_VIBRAVA] = _("VIBRAVA"), + [SPECIES_FLYGON] = _("FLYGON"), + [SPECIES_MAKUHITA] = _("MAKUHITA"), + [SPECIES_HARIYAMA] = _("HARIYAMA"), + [SPECIES_ELECTRIKE] = _("ELECTRIKE"), + [SPECIES_MANECTRIC] = _("MANECTRIC"), + [SPECIES_NUMEL] = _("NUMEL"), + [SPECIES_CAMERUPT] = _("CAMERUPT"), + [SPECIES_SPHEAL] = _("SPHEAL"), + [SPECIES_SEALEO] = _("SEALEO"), + [SPECIES_WALREIN] = _("WALREIN"), + [SPECIES_CACNEA] = _("CACNEA"), + [SPECIES_CACTURNE] = _("CACTURNE"), + [SPECIES_SNORUNT] = _("SNORUNT"), + [SPECIES_GLALIE] = _("GLALIE"), + [SPECIES_LUNATONE] = _("LUNATONE"), + [SPECIES_SOLROCK] = _("SOLROCK"), + [SPECIES_AZURILL] = _("AZURILL"), + [SPECIES_SPOINK] = _("SPOINK"), + [SPECIES_GRUMPIG] = _("GRUMPIG"), + [SPECIES_PLUSLE] = _("PLUSLE"), + [SPECIES_MINUN] = _("MINUN"), + [SPECIES_MAWILE] = _("MAWILE"), + [SPECIES_MEDITITE] = _("MEDITITE"), + [SPECIES_MEDICHAM] = _("MEDICHAM"), + [SPECIES_SWABLU] = _("SWABLU"), + [SPECIES_ALTARIA] = _("ALTARIA"), + [SPECIES_WYNAUT] = _("WYNAUT"), + [SPECIES_DUSKULL] = _("DUSKULL"), + [SPECIES_DUSCLOPS] = _("DUSCLOPS"), + [SPECIES_ROSELIA] = _("ROSELIA"), + [SPECIES_SLAKOTH] = _("SLAKOTH"), + [SPECIES_VIGOROTH] = _("VIGOROTH"), + [SPECIES_SLAKING] = _("SLAKING"), + [SPECIES_GULPIN] = _("GULPIN"), + [SPECIES_SWALOT] = _("SWALOT"), + [SPECIES_TROPIUS] = _("TROPIUS"), + [SPECIES_WHISMUR] = _("WHISMUR"), + [SPECIES_LOUDRED] = _("LOUDRED"), + [SPECIES_EXPLOUD] = _("EXPLOUD"), + [SPECIES_CLAMPERL] = _("CLAMPERL"), + [SPECIES_HUNTAIL] = _("HUNTAIL"), + [SPECIES_GOREBYSS] = _("GOREBYSS"), + [SPECIES_ABSOL] = _("ABSOL"), + [SPECIES_SHUPPET] = _("SHUPPET"), + [SPECIES_BANETTE] = _("BANETTE"), + [SPECIES_SEVIPER] = _("SEVIPER"), + [SPECIES_ZANGOOSE] = _("ZANGOOSE"), + [SPECIES_RELICANTH] = _("RELICANTH"), + [SPECIES_ARON] = _("ARON"), + [SPECIES_LAIRON] = _("LAIRON"), + [SPECIES_AGGRON] = _("AGGRON"), + [SPECIES_CASTFORM] = _("CASTFORM"), + [SPECIES_VOLBEAT] = _("VOLBEAT"), + [SPECIES_ILLUMISE] = _("ILLUMISE"), + [SPECIES_LILEEP] = _("LILEEP"), + [SPECIES_CRADILY] = _("CRADILY"), + [SPECIES_ANORITH] = _("ANORITH"), + [SPECIES_ARMALDO] = _("ARMALDO"), + [SPECIES_RALTS] = _("RALTS"), + [SPECIES_KIRLIA] = _("KIRLIA"), + [SPECIES_GARDEVOIR] = _("GARDEVOIR"), + [SPECIES_BAGON] = _("BAGON"), + [SPECIES_SHELGON] = _("SHELGON"), + [SPECIES_SALAMENCE] = _("SALAMENCE"), + [SPECIES_BELDUM] = _("BELDUM"), + [SPECIES_METANG] = _("METANG"), + [SPECIES_METAGROSS] = _("METAGROSS"), + [SPECIES_REGIROCK] = _("REGIROCK"), + [SPECIES_REGICE] = _("REGICE"), + [SPECIES_REGISTEEL] = _("REGISTEEL"), + [SPECIES_KYOGRE] = _("KYOGRE"), + [SPECIES_GROUDON] = _("GROUDON"), + [SPECIES_RAYQUAZA] = _("RAYQUAZA"), + [SPECIES_LATIAS] = _("LATIAS"), + [SPECIES_LATIOS] = _("LATIOS"), + [SPECIES_JIRACHI] = _("JIRACHI"), + [SPECIES_DEOXYS] = _("DEOXYS"), + [SPECIES_CHIMECHO] = _("CHIMECHO"), +}; -- cgit v1.2.3 From c9f885eaa6b2b018a20e4aba6d15e2b5c634ffb6 Mon Sep 17 00:00:00 2001 From: Blampharos Date: Fri, 26 Jan 2018 14:54:23 +0100 Subject: Decompile move names --- src/battle/battle_1.c | 2 + src/data/text/move_names_de.h | 357 ++++++++++++++++++++++++++++++++++++++++++ src/data/text/move_names_en.h | 357 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 716 insertions(+) create mode 100644 src/data/text/move_names_de.h create mode 100644 src/data/text/move_names_en.h (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index f25a6330f..70674b3b4 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -457,9 +457,11 @@ const u8 gEnemyMonElevation[] = { #include "../data/text/trainer_class_names_en.h" #include "../data/trainers_en.h" #include "../data/text/species_names_en.h" +#include "../data/text/move_names_en.h" #elif GERMAN #include "../data/text/trainer_class_names_de.h" #include "../data/trainers_de.h" #include "../data/text/species_names_de.h" +#include "../data/text/move_names_de.h" #endif diff --git a/src/data/text/move_names_de.h b/src/data/text/move_names_de.h new file mode 100644 index 000000000..44d898433 --- /dev/null +++ b/src/data/text/move_names_de.h @@ -0,0 +1,357 @@ +const u8 gMoveNames[][13] = { + [MOVE_NONE] = _("-$$$$$$"), + [MOVE_POUND] = _("PFUND"), + [MOVE_KARATE_CHOP] = _("KARATESCHLAG"), + [MOVE_DOUBLE_SLAP] = _("DUPLEXHIEB"), + [MOVE_COMET_PUNCH] = _("KOMETENHIEB"), + [MOVE_MEGA_PUNCH] = _("MEGAHIEB"), + [MOVE_PAY_DAY] = _("ZAHLTAG"), + [MOVE_FIRE_PUNCH] = _("FEUERSCHLAG"), + [MOVE_ICE_PUNCH] = _("EISHIEB"), + [MOVE_THUNDER_PUNCH] = _("DONNERSCHLAG"), + [MOVE_SCRATCH] = _("KRATZER"), + [MOVE_VICE_GRIP] = _("KLAMMER"), + [MOVE_GUILLOTINE] = _("GUILLOTINE"), + [MOVE_RAZOR_WIND] = _("KLINGENSTURM"), + [MOVE_SWORDS_DANCE] = _("SCHWERTTANZ"), + [MOVE_CUT] = _("ZERSCHNEIDER"), + [MOVE_GUST] = _("WINDSTOSS"), + [MOVE_WING_ATTACK] = _("FLÜGELSCHLAG"), + [MOVE_WHIRLWIND] = _("WIRBELWIND"), + [MOVE_FLY] = _("FLIEGEN"), + [MOVE_BIND] = _("KLAMMERGRIFF"), + [MOVE_SLAM] = _("SLAM"), + [MOVE_VINE_WHIP] = _("RANKENHIEB"), + [MOVE_STOMP] = _("STAMPFER"), + [MOVE_DOUBLE_KICK] = _("DOPPELKICK"), + [MOVE_MEGA_KICK] = _("MEGAKICK"), + [MOVE_JUMP_KICK] = _("SPRUNGKICK"), + [MOVE_ROLLING_KICK] = _("FEGEKICK"), + [MOVE_SAND_ATTACK] = _("SANDWIRBEL"), + [MOVE_HEADBUTT] = _("KOPFNUSS"), + [MOVE_HORN_ATTACK] = _("HORNATTACKE"), + [MOVE_FURY_ATTACK] = _("FURIENSCHLAG"), + [MOVE_HORN_DRILL] = _("HORNBOHRER"), + [MOVE_TACKLE] = _("TACKLE"), + [MOVE_BODY_SLAM] = _("BODYSLAM"), + [MOVE_WRAP] = _("WICKEL"), + [MOVE_TAKE_DOWN] = _("BODYCHECK"), + [MOVE_THRASH] = _("FUCHTLER"), + [MOVE_DOUBLE_EDGE] = _("RISIKOTACKLE"), + [MOVE_TAIL_WHIP] = _("RUTENSCHLAG"), + [MOVE_POISON_STING] = _("GIFTSTACHEL"), + [MOVE_TWINEEDLE] = _("DUONADEL"), + [MOVE_PIN_MISSILE] = _("NADELRAKETE"), + [MOVE_LEER] = _("SILBERBLICK"), + [MOVE_BITE] = _("BISS"), + [MOVE_GROWL] = _("HEULER"), + [MOVE_ROAR] = _("BRÜLLER"), + [MOVE_SING] = _("GESANG"), + [MOVE_SUPERSONIC] = _("SUPERSCHALL"), + [MOVE_SONIC_BOOM] = _("ULTRASCHALL"), + [MOVE_DISABLE] = _("AUSSETZER"), + [MOVE_ACID] = _("SÄURE"), + [MOVE_EMBER] = _("GLUT"), + [MOVE_FLAMETHROWER] = _("FLAMMENWURF"), + [MOVE_MIST] = _("WEISSNEBEL"), + [MOVE_WATER_GUN] = _("AQUAKNARRE"), + [MOVE_HYDRO_PUMP] = _("HYDROPUMPE"), + [MOVE_SURF] = _("SURFER"), + [MOVE_ICE_BEAM] = _("EISSTRAHL"), + [MOVE_BLIZZARD] = _("BLIZZARD"), + [MOVE_PSYBEAM] = _("PSYSTRAHL"), + [MOVE_BUBBLE_BEAM] = _("BLUBBSTRAHL"), + [MOVE_AURORA_BEAM] = _("AURORASTRAHL"), + [MOVE_HYPER_BEAM] = _("HYPERSTRAHL"), + [MOVE_PECK] = _("SCHNABEL"), + [MOVE_DRILL_PECK] = _("BOHRSCHNABEL"), + [MOVE_SUBMISSION] = _("ÜBERROLLER"), + [MOVE_LOW_KICK] = _("FUSSKICK"), + [MOVE_COUNTER] = _("KONTER"), + [MOVE_SEISMIC_TOSS] = _("GEOWURF"), + [MOVE_STRENGTH] = _("STÄRKE"), + [MOVE_ABSORB] = _("ABSORBER"), + [MOVE_MEGA_DRAIN] = _("MEGASAUGER"), + [MOVE_LEECH_SEED] = _("EGELSAMEN"), + [MOVE_GROWTH] = _("WACHSTUM"), + [MOVE_RAZOR_LEAF] = _("RASIERBLATT"), + [MOVE_SOLAR_BEAM] = _("SOLARSTRAHL"), + [MOVE_POISON_POWDER] = _("GIFTPUDER"), + [MOVE_STUN_SPORE] = _("STACHELSPORE"), + [MOVE_SLEEP_POWDER] = _("SCHLAFPUDER"), + [MOVE_PETAL_DANCE] = _("BLÄTTERTANZ"), + [MOVE_STRING_SHOT] = _("FADENSCHUSS"), + [MOVE_DRAGON_RAGE] = _("DRACHENWUT"), + [MOVE_FIRE_SPIN] = _("FEUERWIRBEL"), + [MOVE_THUNDER_SHOCK] = _("DONNERSCHOCK"), + [MOVE_THUNDERBOLT] = _("DONNERBLITZ"), + [MOVE_THUNDER_WAVE] = _("DONNERWELLE"), + [MOVE_THUNDER] = _("DONNER"), + [MOVE_ROCK_THROW] = _("STEINWURF"), + [MOVE_EARTHQUAKE] = _("ERDBEBEN"), + [MOVE_FISSURE] = _("GEOFISSUR"), + [MOVE_DIG] = _("SCHAUFLER"), + [MOVE_TOXIC] = _("TOXIN"), + [MOVE_CONFUSION] = _("KONFUSION"), + [MOVE_PSYCHIC] = _("PSYCHOKINESE"), + [MOVE_HYPNOSIS] = _("HYPNOSE"), + [MOVE_MEDITATE] = _("MEDITATION"), + [MOVE_AGILITY] = _("AGILITÄT"), + [MOVE_QUICK_ATTACK] = _("RUCKZUCKHIEB"), + [MOVE_RAGE] = _("RASEREI"), + [MOVE_TELEPORT] = _("TELEPORT"), + [MOVE_NIGHT_SHADE] = _("NACHTNEBEL"), + [MOVE_MIMIC] = _("MIMIKRY"), + [MOVE_SCREECH] = _("KREIDESCHREI"), + [MOVE_DOUBLE_TEAM] = _("DOPPELTEAM"), + [MOVE_RECOVER] = _("GENESUNG"), + [MOVE_HARDEN] = _("HÄRTNER"), + [MOVE_MINIMIZE] = _("KOMPRIMATOR"), + [MOVE_SMOKESCREEN] = _("RAUCHWOLKE"), + [MOVE_CONFUSE_RAY] = _("KONFUSTRAHL"), + [MOVE_WITHDRAW] = _("PANZERSCHUTZ"), + [MOVE_DEFENSE_CURL] = _("EINIGLER"), + [MOVE_BARRIER] = _("BARRIERE"), + [MOVE_LIGHT_SCREEN] = _("LICHTSCHILD"), + [MOVE_HAZE] = _("DUNKELNEBEL"), + [MOVE_REFLECT] = _("REFLEKTOR"), + [MOVE_FOCUS_ENERGY] = _("ENERGIEFOKUS"), + [MOVE_BIDE] = _("GEDULD"), + [MOVE_METRONOME] = _("METRONOM"), + [MOVE_MIRROR_MOVE] = _("SPIEGELTRICK"), + [MOVE_SELF_DESTRUCT] = _("FINALE"), + [MOVE_EGG_BOMB] = _("EIERBOMBE"), + [MOVE_LICK] = _("SCHLECKER"), + [MOVE_SMOG] = _("SMOG"), + [MOVE_SLUDGE] = _("SCHLAMMBAD"), + [MOVE_BONE_CLUB] = _("KNOCHENKEULE"), + [MOVE_FIRE_BLAST] = _("FEUERSTURM"), + [MOVE_WATERFALL] = _("KASKADE"), + [MOVE_CLAMP] = _("SCHNAPPER"), + [MOVE_SWIFT] = _("STERNSCHAUER"), + [MOVE_SKULL_BASH] = _("SCHÄDELWUMME"), + [MOVE_SPIKE_CANNON] = _("DORNKANONE"), + [MOVE_CONSTRICT] = _("UMKLAMMERUNG"), + [MOVE_AMNESIA] = _("AMNESIE"), + [MOVE_KINESIS] = _("PSYKRAFT"), + [MOVE_SOFT_BOILED] = _("WEICHEI"), + [MOVE_HI_JUMP_KICK] = _("TURMKICK"), + [MOVE_GLARE] = _("GIFTBLICK"), + [MOVE_DREAM_EATER] = _("TRAUMFRESSER"), + [MOVE_POISON_GAS] = _("GIFTWOLKE"), + [MOVE_BARRAGE] = _("STAKKATO"), + [MOVE_LEECH_LIFE] = _("BLUTSAUGER"), + [MOVE_LOVELY_KISS] = _("TODESKUSS"), + [MOVE_SKY_ATTACK] = _("HIMMELSFEGER"), + [MOVE_TRANSFORM] = _("WANDLER"), + [MOVE_BUBBLE] = _("BLUBBER"), + [MOVE_DIZZY_PUNCH] = _("IRRSCHLAG"), + [MOVE_SPORE] = _("PILZSPORE"), + [MOVE_FLASH] = _("BLITZ"), + [MOVE_PSYWAVE] = _("PSYWELLE"), + [MOVE_SPLASH] = _("PLATSCHER"), + [MOVE_ACID_ARMOR] = _("SÄUREPANZER"), + [MOVE_CRABHAMMER] = _("KRABBHAMMER"), + [MOVE_EXPLOSION] = _("EXPLOSION"), + [MOVE_FURY_SWIPES] = _("KRATZFURIE"), + [MOVE_BONEMERANG] = _("KNOCHMERANG"), + [MOVE_REST] = _("ERHOLUNG"), + [MOVE_ROCK_SLIDE] = _("STEINHAGEL"), + [MOVE_HYPER_FANG] = _("HYPERZAHN"), + [MOVE_SHARPEN] = _("SCHÄRFER"), + [MOVE_CONVERSION] = _("UMWANDLUNG"), + [MOVE_TRI_ATTACK] = _("TRIPLETTE"), + [MOVE_SUPER_FANG] = _("SUPERZAHN"), + [MOVE_SLASH] = _("SCHLITZER"), + [MOVE_SUBSTITUTE] = _("DELEGATOR"), + [MOVE_STRUGGLE] = _("VERZWEIFLER"), + [MOVE_SKETCH] = _("NACHAHMER"), + [MOVE_TRIPLE_KICK] = _("DREIFACHKICK"), + [MOVE_THIEF] = _("RAUB"), + [MOVE_SPIDER_WEB] = _("SPINNENNETZ"), + [MOVE_MIND_READER] = _("WILLENSLESER"), + [MOVE_NIGHTMARE] = _("NACHTMAHR"), + [MOVE_FLAME_WHEEL] = _("FLAMMENRAD"), + [MOVE_SNORE] = _("SCHNARCHER"), + [MOVE_CURSE] = _("FLUCH"), + [MOVE_FLAIL] = _("DRESCHFLEGEL"), + [MOVE_CONVERSION_2] = _("UMWANDLUNG2"), + [MOVE_AEROBLAST] = _("LUFTSTOSS"), + [MOVE_COTTON_SPORE] = _("BAUMWOLLSAAT"), + [MOVE_REVERSAL] = _("GEGENSCHLAG"), + [MOVE_SPITE] = _("GROLL"), + [MOVE_POWDER_SNOW] = _("PULVERSCHNEE"), + [MOVE_PROTECT] = _("SCHUTZSCHILD"), + [MOVE_MACH_PUNCH] = _("TEMPOHIEB"), + [MOVE_SCARY_FACE] = _("GRIMASSE"), + [MOVE_FAINT_ATTACK] = _("FINTE"), + [MOVE_SWEET_KISS] = _("BITTERKUSS"), + [MOVE_BELLY_DRUM] = _("BAUCHTROMMEL"), + [MOVE_SLUDGE_BOMB] = _("MATSCHBOMBE"), + [MOVE_MUD_SLAP] = _("LEHMSCHELLE"), + [MOVE_OCTAZOOKA] = _("OCTAZOOKA"), + [MOVE_SPIKES] = _("STACHLER"), + [MOVE_ZAP_CANNON] = _("BLITZKANONE"), + [MOVE_FORESIGHT] = _("GESICHTE"), + [MOVE_DESTINY_BOND] = _("ABGANGSBUND"), + [MOVE_PERISH_SONG] = _("ABGESANG"), + [MOVE_ICY_WIND] = _("EISSTURM"), + [MOVE_DETECT] = _("SCANNER"), + [MOVE_BONE_RUSH] = _("KNOCHENHATZ"), + [MOVE_LOCK_ON] = _("ZIELSCHUSS"), + [MOVE_OUTRAGE] = _("WUTANFALL"), + [MOVE_SANDSTORM] = _("SANDSTURM"), + [MOVE_GIGA_DRAIN] = _("GIGASAUGER"), + [MOVE_ENDURE] = _("AUSDAUER"), + [MOVE_CHARM] = _("CHARME"), + [MOVE_ROLLOUT] = _("WALZER"), + [MOVE_FALSE_SWIPE] = _("TRUGSCHLAG"), + [MOVE_SWAGGER] = _("ANGEBEREI"), + [MOVE_MILK_DRINK] = _("MILCHGETRÄNK"), + [MOVE_SPARK] = _("FUNKENSPRUNG"), + [MOVE_FURY_CUTTER] = _("ZORNKLINGE"), + [MOVE_STEEL_WING] = _("STAHLFLÜGEL"), + [MOVE_MEAN_LOOK] = _("HORRORBLICK"), + [MOVE_ATTRACT] = _("ANZIEHUNG"), + [MOVE_SLEEP_TALK] = _("SCHLAFREDE"), + [MOVE_HEAL_BELL] = _("VITALGLOCKE"), + [MOVE_RETURN] = _("RÜCKKEHR"), + [MOVE_PRESENT] = _("GESCHENK"), + [MOVE_FRUSTRATION] = _("FRUSTRATION"), + [MOVE_SAFEGUARD] = _("BODYGUARD"), + [MOVE_PAIN_SPLIT] = _("LEIDTEILER"), + [MOVE_SACRED_FIRE] = _("LÄUTERFEUER"), + [MOVE_MAGNITUDE] = _("INTENSITÄT"), + [MOVE_DYNAMIC_PUNCH] = _("WUCHTSCHLAG"), + [MOVE_MEGAHORN] = _("VIELENDER"), + [MOVE_DRAGON_BREATH] = _("FEUERODEM"), + [MOVE_BATON_PASS] = _("STAFFETTE"), + [MOVE_ENCORE] = _("ZUGABE"), + [MOVE_PURSUIT] = _("VERFOLGUNG"), + [MOVE_RAPID_SPIN] = _("TURBODREHER"), + [MOVE_SWEET_SCENT] = _("LOCKDUFT"), + [MOVE_IRON_TAIL] = _("EISENSCHWEIF"), + [MOVE_METAL_CLAW] = _("METALLKLAUE"), + [MOVE_VITAL_THROW] = _("ÜBERWURF"), + [MOVE_MORNING_SUN] = _("MORGENGRAUEN"), + [MOVE_SYNTHESIS] = _("SYNTHESE"), + [MOVE_MOONLIGHT] = _("MONDSCHEIN"), + [MOVE_HIDDEN_POWER] = _("KRAFTRESERVE"), + [MOVE_CROSS_CHOP] = _("KREUZHIEB"), + [MOVE_TWISTER] = _("WINDHOSE"), + [MOVE_RAIN_DANCE] = _("REGENTANZ"), + [MOVE_SUNNY_DAY] = _("SONNENTAG"), + [MOVE_CRUNCH] = _("KNIRSCHER"), + [MOVE_MIRROR_COAT] = _("SPIEGELCAPE"), + [MOVE_PSYCH_UP] = _("PSYCHO-PLUS"), + [MOVE_EXTREME_SPEED] = _("TURBOTEMPO"), + [MOVE_ANCIENT_POWER] = _("ANTIK-KRAFT"), + [MOVE_SHADOW_BALL] = _("SPUKBALL"), + [MOVE_FUTURE_SIGHT] = _("SEHER"), + [MOVE_ROCK_SMASH] = _("ZERTRÜMMERER"), + [MOVE_WHIRLPOOL] = _("WHIRLPOOL"), + [MOVE_BEAT_UP] = _("PRÜGLER"), + [MOVE_FAKE_OUT] = _("MOGELHIEB"), + [MOVE_UPROAR] = _("AUFRUHR"), + [MOVE_STOCKPILE] = _("HORTER"), + [MOVE_SPIT_UP] = _("ENTFESSLER"), + [MOVE_SWALLOW] = _("VERZEHRER"), + [MOVE_HEAT_WAVE] = _("HITZEWELLE"), + [MOVE_HAIL] = _("HAGELSTURM"), + [MOVE_TORMENT] = _("FOLTERKNECHT"), + [MOVE_FLATTER] = _("SCHMEICHLER"), + [MOVE_WILL_O_WISP] = _("IRRLICHT"), + [MOVE_MEMENTO] = _("MEMENTO-MORI"), + [MOVE_FACADE] = _("FASSADE"), + [MOVE_FOCUS_PUNCH] = _("POWER-PUNCH"), + [MOVE_SMELLING_SALT] = _("RIECHSALZ"), + [MOVE_FOLLOW_ME] = _("SPOTLIGHT"), + [MOVE_NATURE_POWER] = _("NATUR-KRAFT"), + [MOVE_CHARGE] = _("LADEVORGANG"), + [MOVE_TAUNT] = _("VERHÖHNER"), + [MOVE_HELPING_HAND] = _("RECHTE HAND"), + [MOVE_TRICK] = _("TRICKBETRUG"), + [MOVE_ROLE_PLAY] = _("ROLLENTAUSCH"), + [MOVE_WISH] = _("WUNSCHTRAUM"), + [MOVE_ASSIST] = _("ZUSCHUSS"), + [MOVE_INGRAIN] = _("VERWURZLER"), + [MOVE_SUPERPOWER] = _("KRAFTKOLOSS"), + [MOVE_MAGIC_COAT] = _("MAGIEMANTEL"), + [MOVE_RECYCLE] = _("AUFBEREITUNG"), + [MOVE_REVENGE] = _("VERGELTUNG"), + [MOVE_BRICK_BREAK] = _("DURCHBRUCH"), + [MOVE_YAWN] = _("GÄHNER"), + [MOVE_KNOCK_OFF] = _("ABSCHLAG"), + [MOVE_ENDEAVOR] = _("NOTSITUATION"), + [MOVE_ERUPTION] = _("ERUPTION"), + [MOVE_SKILL_SWAP] = _("WERTEWECHSEL"), + [MOVE_IMPRISON] = _("BEGRENZER"), + [MOVE_REFRESH] = _("HEILUNG"), + [MOVE_GRUDGE] = _("NACHSPIEL"), + [MOVE_SNATCH] = _("ÜBERNAHME"), + [MOVE_SECRET_POWER] = _("GEHEIMPOWER"), + [MOVE_DIVE] = _("TAUCHER"), + [MOVE_ARM_THRUST] = _("ARMSTOSS"), + [MOVE_CAMOUFLAGE] = _("TARNUNG"), + [MOVE_TAIL_GLOW] = _("SCHWEIFGLANZ"), + [MOVE_LUSTER_PURGE] = _("SCHEINWERFER"), + [MOVE_MIST_BALL] = _("NEBELBALL"), + [MOVE_FEATHER_DANCE] = _("DAUNENREIGEN"), + [MOVE_TEETER_DANCE] = _("TAUMELTANZ"), + [MOVE_BLAZE_KICK] = _("FEUERFEGER"), + [MOVE_MUD_SPORT] = _("LEHMSUHLER"), + [MOVE_ICE_BALL] = _("FROSTBEULE"), + [MOVE_NEEDLE_ARM] = _("NIETENRANKE"), + [MOVE_SLACK_OFF] = _("TAGEDIEB"), + [MOVE_HYPER_VOICE] = _("SCHALLWELLE"), + [MOVE_POISON_FANG] = _("GIFTZAHN"), + [MOVE_CRUSH_CLAW] = _("ZERMALMKLAUE"), + [MOVE_BLAST_BURN] = _("LOHEKANONADE"), + [MOVE_HYDRO_CANNON] = _("AQUAHAUBITZE"), + [MOVE_METEOR_MASH] = _("STERNENHIEB"), + [MOVE_ASTONISH] = _("ERSTAUNER"), + [MOVE_WEATHER_BALL] = _("METEOROLOGE"), + [MOVE_AROMATHERAPY] = _("AROMAKUR"), + [MOVE_FAKE_TEARS] = _("TRUGTRÄNE"), + [MOVE_AIR_CUTTER] = _("WINDSCHNITT"), + [MOVE_OVERHEAT] = _("HITZEKOLLER"), + [MOVE_ODOR_SLEUTH] = _("SCHNÜFFLER"), + [MOVE_ROCK_TOMB] = _("FELSGRAB"), + [MOVE_SILVER_WIND] = _("SILBERHAUCH"), + [MOVE_METAL_SOUND] = _("METALLSOUND"), + [MOVE_GRASS_WHISTLE] = _("GRASFLÖTE"), + [MOVE_TICKLE] = _("SPASSKANONE"), + [MOVE_COSMIC_POWER] = _("KOSMIK-KRAFT"), + [MOVE_WATER_SPOUT] = _("FONTRÄNEN"), + [MOVE_SIGNAL_BEAM] = _("AMPELLEUCHTE"), + [MOVE_SHADOW_PUNCH] = _("FINSTERFAUST"), + [MOVE_EXTRASENSORY] = _("SONDERSENSOR"), + [MOVE_SKY_UPPERCUT] = _("HIMMELHIEB"), + [MOVE_SAND_TOMB] = _("SANDGRAB"), + [MOVE_SHEER_COLD] = _("EISESKÄLTE"), + [MOVE_MUDDY_WATER] = _("LEHMBRÜHE"), + [MOVE_BULLET_SEED] = _("KUGELSAAT"), + [MOVE_AERIAL_ACE] = _("AERO-ASS"), + [MOVE_ICICLE_SPEAR] = _("EISSPEER"), + [MOVE_IRON_DEFENSE] = _("EISENABWEHR"), + [MOVE_BLOCK] = _("RÜCKENTZUG"), + [MOVE_HOWL] = _("JAULER"), + [MOVE_DRAGON_CLAW] = _("DRACHENKLAUE"), + [MOVE_FRENZY_PLANT] = _("FAUNA-STATUE"), + [MOVE_BULK_UP] = _("PROTZER"), + [MOVE_BOUNCE] = _("SPRUNGFEDER"), + [MOVE_MUD_SHOT] = _("LEHMSCHUSS"), + [MOVE_POISON_TAIL] = _("GIFTSCHWEIF"), + [MOVE_COVET] = _("BEZIRZER"), + [MOVE_VOLT_TACKLE] = _("VOLTTACKLE"), + [MOVE_MAGICAL_LEAF] = _("ZAUBERBLATT"), + [MOVE_WATER_SPORT] = _("NASSMACHER"), + [MOVE_CALM_MIND] = _("GEDANKENGUT"), + [MOVE_LEAF_BLADE] = _("LAUBKLINGE"), + [MOVE_DRAGON_DANCE] = _("DRACHENTANZ"), + [MOVE_ROCK_BLAST] = _("FELSWURF"), + [MOVE_SHOCK_WAVE] = _("SCHOCKWELLE"), + [MOVE_WATER_PULSE] = _("AQUAWELLE"), + [MOVE_DOOM_DESIRE] = _("KISMETWUNSCH"), + [MOVE_PSYCHO_BOOST] = _("PSYSCHUB"), +}; diff --git a/src/data/text/move_names_en.h b/src/data/text/move_names_en.h new file mode 100644 index 000000000..57b4d0035 --- /dev/null +++ b/src/data/text/move_names_en.h @@ -0,0 +1,357 @@ +const u8 gMoveNames[][13] = { + [MOVE_NONE] = _("-$$$$$$"), + [MOVE_POUND] = _("POUND"), + [MOVE_KARATE_CHOP] = _("KARATE CHOP"), + [MOVE_DOUBLE_SLAP] = _("DOUBLESLAP"), + [MOVE_COMET_PUNCH] = _("COMET PUNCH"), + [MOVE_MEGA_PUNCH] = _("MEGA PUNCH"), + [MOVE_PAY_DAY] = _("PAY DAY"), + [MOVE_FIRE_PUNCH] = _("FIRE PUNCH"), + [MOVE_ICE_PUNCH] = _("ICE PUNCH"), + [MOVE_THUNDER_PUNCH] = _("THUNDERPUNCH"), + [MOVE_SCRATCH] = _("SCRATCH"), + [MOVE_VICE_GRIP] = _("VICEGRIP"), + [MOVE_GUILLOTINE] = _("GUILLOTINE"), + [MOVE_RAZOR_WIND] = _("RAZOR WIND"), + [MOVE_SWORDS_DANCE] = _("SWORDS DANCE"), + [MOVE_CUT] = _("CUT"), + [MOVE_GUST] = _("GUST"), + [MOVE_WING_ATTACK] = _("WING ATTACK"), + [MOVE_WHIRLWIND] = _("WHIRLWIND"), + [MOVE_FLY] = _("FLY"), + [MOVE_BIND] = _("BIND"), + [MOVE_SLAM] = _("SLAM"), + [MOVE_VINE_WHIP] = _("VINE WHIP"), + [MOVE_STOMP] = _("STOMP"), + [MOVE_DOUBLE_KICK] = _("DOUBLE KICK"), + [MOVE_MEGA_KICK] = _("MEGA KICK"), + [MOVE_JUMP_KICK] = _("JUMP KICK"), + [MOVE_ROLLING_KICK] = _("ROLLING KICK"), + [MOVE_SAND_ATTACK] = _("SAND-ATTACK"), + [MOVE_HEADBUTT] = _("HEADBUTT"), + [MOVE_HORN_ATTACK] = _("HORN ATTACK"), + [MOVE_FURY_ATTACK] = _("FURY ATTACK"), + [MOVE_HORN_DRILL] = _("HORN DRILL"), + [MOVE_TACKLE] = _("TACKLE"), + [MOVE_BODY_SLAM] = _("BODY SLAM"), + [MOVE_WRAP] = _("WRAP"), + [MOVE_TAKE_DOWN] = _("TAKE DOWN"), + [MOVE_THRASH] = _("THRASH"), + [MOVE_DOUBLE_EDGE] = _("DOUBLE-EDGE"), + [MOVE_TAIL_WHIP] = _("TAIL WHIP"), + [MOVE_POISON_STING] = _("POISON STING"), + [MOVE_TWINEEDLE] = _("TWINEEDLE"), + [MOVE_PIN_MISSILE] = _("PIN MISSILE"), + [MOVE_LEER] = _("LEER"), + [MOVE_BITE] = _("BITE"), + [MOVE_GROWL] = _("GROWL"), + [MOVE_ROAR] = _("ROAR"), + [MOVE_SING] = _("SING"), + [MOVE_SUPERSONIC] = _("SUPERSONIC"), + [MOVE_SONIC_BOOM] = _("SONICBOOM"), + [MOVE_DISABLE] = _("DISABLE"), + [MOVE_ACID] = _("ACID"), + [MOVE_EMBER] = _("EMBER"), + [MOVE_FLAMETHROWER] = _("FLAMETHROWER"), + [MOVE_MIST] = _("MIST"), + [MOVE_WATER_GUN] = _("WATER GUN"), + [MOVE_HYDRO_PUMP] = _("HYDRO PUMP"), + [MOVE_SURF] = _("SURF"), + [MOVE_ICE_BEAM] = _("ICE BEAM"), + [MOVE_BLIZZARD] = _("BLIZZARD"), + [MOVE_PSYBEAM] = _("PSYBEAM"), + [MOVE_BUBBLE_BEAM] = _("BUBBLEBEAM"), + [MOVE_AURORA_BEAM] = _("AURORA BEAM"), + [MOVE_HYPER_BEAM] = _("HYPER BEAM"), + [MOVE_PECK] = _("PECK"), + [MOVE_DRILL_PECK] = _("DRILL PECK"), + [MOVE_SUBMISSION] = _("SUBMISSION"), + [MOVE_LOW_KICK] = _("LOW KICK"), + [MOVE_COUNTER] = _("COUNTER"), + [MOVE_SEISMIC_TOSS] = _("SEISMIC TOSS"), + [MOVE_STRENGTH] = _("STRENGTH"), + [MOVE_ABSORB] = _("ABSORB"), + [MOVE_MEGA_DRAIN] = _("MEGA DRAIN"), + [MOVE_LEECH_SEED] = _("LEECH SEED"), + [MOVE_GROWTH] = _("GROWTH"), + [MOVE_RAZOR_LEAF] = _("RAZOR LEAF"), + [MOVE_SOLAR_BEAM] = _("SOLARBEAM"), + [MOVE_POISON_POWDER] = _("POISONPOWDER"), + [MOVE_STUN_SPORE] = _("STUN SPORE"), + [MOVE_SLEEP_POWDER] = _("SLEEP POWDER"), + [MOVE_PETAL_DANCE] = _("PETAL DANCE"), + [MOVE_STRING_SHOT] = _("STRING SHOT"), + [MOVE_DRAGON_RAGE] = _("DRAGON RAGE"), + [MOVE_FIRE_SPIN] = _("FIRE SPIN"), + [MOVE_THUNDER_SHOCK] = _("THUNDERSHOCK"), + [MOVE_THUNDERBOLT] = _("THUNDERBOLT"), + [MOVE_THUNDER_WAVE] = _("THUNDER WAVE"), + [MOVE_THUNDER] = _("THUNDER"), + [MOVE_ROCK_THROW] = _("ROCK THROW"), + [MOVE_EARTHQUAKE] = _("EARTHQUAKE"), + [MOVE_FISSURE] = _("FISSURE"), + [MOVE_DIG] = _("DIG"), + [MOVE_TOXIC] = _("TOXIC"), + [MOVE_CONFUSION] = _("CONFUSION"), + [MOVE_PSYCHIC] = _("PSYCHIC"), + [MOVE_HYPNOSIS] = _("HYPNOSIS"), + [MOVE_MEDITATE] = _("MEDITATE"), + [MOVE_AGILITY] = _("AGILITY"), + [MOVE_QUICK_ATTACK] = _("QUICK ATTACK"), + [MOVE_RAGE] = _("RAGE"), + [MOVE_TELEPORT] = _("TELEPORT"), + [MOVE_NIGHT_SHADE] = _("NIGHT SHADE"), + [MOVE_MIMIC] = _("MIMIC"), + [MOVE_SCREECH] = _("SCREECH"), + [MOVE_DOUBLE_TEAM] = _("DOUBLE TEAM"), + [MOVE_RECOVER] = _("RECOVER"), + [MOVE_HARDEN] = _("HARDEN"), + [MOVE_MINIMIZE] = _("MINIMIZE"), + [MOVE_SMOKESCREEN] = _("SMOKESCREEN"), + [MOVE_CONFUSE_RAY] = _("CONFUSE RAY"), + [MOVE_WITHDRAW] = _("WITHDRAW"), + [MOVE_DEFENSE_CURL] = _("DEFENSE CURL"), + [MOVE_BARRIER] = _("BARRIER"), + [MOVE_LIGHT_SCREEN] = _("LIGHT SCREEN"), + [MOVE_HAZE] = _("HAZE"), + [MOVE_REFLECT] = _("REFLECT"), + [MOVE_FOCUS_ENERGY] = _("FOCUS ENERGY"), + [MOVE_BIDE] = _("BIDE"), + [MOVE_METRONOME] = _("METRONOME"), + [MOVE_MIRROR_MOVE] = _("MIRROR MOVE"), + [MOVE_SELF_DESTRUCT] = _("SELFDESTRUCT"), + [MOVE_EGG_BOMB] = _("EGG BOMB"), + [MOVE_LICK] = _("LICK"), + [MOVE_SMOG] = _("SMOG"), + [MOVE_SLUDGE] = _("SLUDGE"), + [MOVE_BONE_CLUB] = _("BONE CLUB"), + [MOVE_FIRE_BLAST] = _("FIRE BLAST"), + [MOVE_WATERFALL] = _("WATERFALL"), + [MOVE_CLAMP] = _("CLAMP"), + [MOVE_SWIFT] = _("SWIFT"), + [MOVE_SKULL_BASH] = _("SKULL BASH"), + [MOVE_SPIKE_CANNON] = _("SPIKE CANNON"), + [MOVE_CONSTRICT] = _("CONSTRICT"), + [MOVE_AMNESIA] = _("AMNESIA"), + [MOVE_KINESIS] = _("KINESIS"), + [MOVE_SOFT_BOILED] = _("SOFTBOILED"), + [MOVE_HI_JUMP_KICK] = _("HI JUMP KICK"), + [MOVE_GLARE] = _("GLARE"), + [MOVE_DREAM_EATER] = _("DREAM EATER"), + [MOVE_POISON_GAS] = _("POISON GAS"), + [MOVE_BARRAGE] = _("BARRAGE"), + [MOVE_LEECH_LIFE] = _("LEECH LIFE"), + [MOVE_LOVELY_KISS] = _("LOVELY KISS"), + [MOVE_SKY_ATTACK] = _("SKY ATTACK"), + [MOVE_TRANSFORM] = _("TRANSFORM"), + [MOVE_BUBBLE] = _("BUBBLE"), + [MOVE_DIZZY_PUNCH] = _("DIZZY PUNCH"), + [MOVE_SPORE] = _("SPORE"), + [MOVE_FLASH] = _("FLASH"), + [MOVE_PSYWAVE] = _("PSYWAVE"), + [MOVE_SPLASH] = _("SPLASH"), + [MOVE_ACID_ARMOR] = _("ACID ARMOR"), + [MOVE_CRABHAMMER] = _("CRABHAMMER"), + [MOVE_EXPLOSION] = _("EXPLOSION"), + [MOVE_FURY_SWIPES] = _("FURY SWIPES"), + [MOVE_BONEMERANG] = _("BONEMERANG"), + [MOVE_REST] = _("REST"), + [MOVE_ROCK_SLIDE] = _("ROCK SLIDE"), + [MOVE_HYPER_FANG] = _("HYPER FANG"), + [MOVE_SHARPEN] = _("SHARPEN"), + [MOVE_CONVERSION] = _("CONVERSION"), + [MOVE_TRI_ATTACK] = _("TRI ATTACK"), + [MOVE_SUPER_FANG] = _("SUPER FANG"), + [MOVE_SLASH] = _("SLASH"), + [MOVE_SUBSTITUTE] = _("SUBSTITUTE"), + [MOVE_STRUGGLE] = _("STRUGGLE"), + [MOVE_SKETCH] = _("SKETCH"), + [MOVE_TRIPLE_KICK] = _("TRIPLE KICK"), + [MOVE_THIEF] = _("THIEF"), + [MOVE_SPIDER_WEB] = _("SPIDER WEB"), + [MOVE_MIND_READER] = _("MIND READER"), + [MOVE_NIGHTMARE] = _("NIGHTMARE"), + [MOVE_FLAME_WHEEL] = _("FLAME WHEEL"), + [MOVE_SNORE] = _("SNORE"), + [MOVE_CURSE] = _("CURSE"), + [MOVE_FLAIL] = _("FLAIL"), + [MOVE_CONVERSION_2] = _("CONVERSION 2"), + [MOVE_AEROBLAST] = _("AEROBLAST"), + [MOVE_COTTON_SPORE] = _("COTTON SPORE"), + [MOVE_REVERSAL] = _("REVERSAL"), + [MOVE_SPITE] = _("SPITE"), + [MOVE_POWDER_SNOW] = _("POWDER SNOW"), + [MOVE_PROTECT] = _("PROTECT"), + [MOVE_MACH_PUNCH] = _("MACH PUNCH"), + [MOVE_SCARY_FACE] = _("SCARY FACE"), + [MOVE_FAINT_ATTACK] = _("FAINT ATTACK"), + [MOVE_SWEET_KISS] = _("SWEET KISS"), + [MOVE_BELLY_DRUM] = _("BELLY DRUM"), + [MOVE_SLUDGE_BOMB] = _("SLUDGE BOMB"), + [MOVE_MUD_SLAP] = _("MUD-SLAP"), + [MOVE_OCTAZOOKA] = _("OCTAZOOKA"), + [MOVE_SPIKES] = _("SPIKES"), + [MOVE_ZAP_CANNON] = _("ZAP CANNON"), + [MOVE_FORESIGHT] = _("FORESIGHT"), + [MOVE_DESTINY_BOND] = _("DESTINY BOND"), + [MOVE_PERISH_SONG] = _("PERISH SONG"), + [MOVE_ICY_WIND] = _("ICY WIND"), + [MOVE_DETECT] = _("DETECT"), + [MOVE_BONE_RUSH] = _("BONE RUSH"), + [MOVE_LOCK_ON] = _("LOCK-ON"), + [MOVE_OUTRAGE] = _("OUTRAGE"), + [MOVE_SANDSTORM] = _("SANDSTORM"), + [MOVE_GIGA_DRAIN] = _("GIGA DRAIN"), + [MOVE_ENDURE] = _("ENDURE"), + [MOVE_CHARM] = _("CHARM"), + [MOVE_ROLLOUT] = _("ROLLOUT"), + [MOVE_FALSE_SWIPE] = _("FALSE SWIPE"), + [MOVE_SWAGGER] = _("SWAGGER"), + [MOVE_MILK_DRINK] = _("MILK DRINK"), + [MOVE_SPARK] = _("SPARK"), + [MOVE_FURY_CUTTER] = _("FURY CUTTER"), + [MOVE_STEEL_WING] = _("STEEL WING"), + [MOVE_MEAN_LOOK] = _("MEAN LOOK"), + [MOVE_ATTRACT] = _("ATTRACT"), + [MOVE_SLEEP_TALK] = _("SLEEP TALK"), + [MOVE_HEAL_BELL] = _("HEAL BELL"), + [MOVE_RETURN] = _("RETURN"), + [MOVE_PRESENT] = _("PRESENT"), + [MOVE_FRUSTRATION] = _("FRUSTRATION"), + [MOVE_SAFEGUARD] = _("SAFEGUARD"), + [MOVE_PAIN_SPLIT] = _("PAIN SPLIT"), + [MOVE_SACRED_FIRE] = _("SACRED FIRE"), + [MOVE_MAGNITUDE] = _("MAGNITUDE"), + [MOVE_DYNAMIC_PUNCH] = _("DYNAMICPUNCH"), + [MOVE_MEGAHORN] = _("MEGAHORN"), + [MOVE_DRAGON_BREATH] = _("DRAGONBREATH"), + [MOVE_BATON_PASS] = _("BATON PASS"), + [MOVE_ENCORE] = _("ENCORE"), + [MOVE_PURSUIT] = _("PURSUIT"), + [MOVE_RAPID_SPIN] = _("RAPID SPIN"), + [MOVE_SWEET_SCENT] = _("SWEET SCENT"), + [MOVE_IRON_TAIL] = _("IRON TAIL"), + [MOVE_METAL_CLAW] = _("METAL CLAW"), + [MOVE_VITAL_THROW] = _("VITAL THROW"), + [MOVE_MORNING_SUN] = _("MORNING SUN"), + [MOVE_SYNTHESIS] = _("SYNTHESIS"), + [MOVE_MOONLIGHT] = _("MOONLIGHT"), + [MOVE_HIDDEN_POWER] = _("HIDDEN POWER"), + [MOVE_CROSS_CHOP] = _("CROSS CHOP"), + [MOVE_TWISTER] = _("TWISTER"), + [MOVE_RAIN_DANCE] = _("RAIN DANCE"), + [MOVE_SUNNY_DAY] = _("SUNNY DAY"), + [MOVE_CRUNCH] = _("CRUNCH"), + [MOVE_MIRROR_COAT] = _("MIRROR COAT"), + [MOVE_PSYCH_UP] = _("PSYCH UP"), + [MOVE_EXTREME_SPEED] = _("EXTREMESPEED"), + [MOVE_ANCIENT_POWER] = _("ANCIENTPOWER"), + [MOVE_SHADOW_BALL] = _("SHADOW BALL"), + [MOVE_FUTURE_SIGHT] = _("FUTURE SIGHT"), + [MOVE_ROCK_SMASH] = _("ROCK SMASH"), + [MOVE_WHIRLPOOL] = _("WHIRLPOOL"), + [MOVE_BEAT_UP] = _("BEAT UP"), + [MOVE_FAKE_OUT] = _("FAKE OUT"), + [MOVE_UPROAR] = _("UPROAR"), + [MOVE_STOCKPILE] = _("STOCKPILE"), + [MOVE_SPIT_UP] = _("SPIT UP"), + [MOVE_SWALLOW] = _("SWALLOW"), + [MOVE_HEAT_WAVE] = _("HEAT WAVE"), + [MOVE_HAIL] = _("HAIL"), + [MOVE_TORMENT] = _("TORMENT"), + [MOVE_FLATTER] = _("FLATTER"), + [MOVE_WILL_O_WISP] = _("WILL-O-WISP"), + [MOVE_MEMENTO] = _("MEMENTO"), + [MOVE_FACADE] = _("FACADE"), + [MOVE_FOCUS_PUNCH] = _("FOCUS PUNCH"), + [MOVE_SMELLING_SALT] = _("SMELLINGSALT"), + [MOVE_FOLLOW_ME] = _("FOLLOW ME"), + [MOVE_NATURE_POWER] = _("NATURE POWER"), + [MOVE_CHARGE] = _("CHARGE"), + [MOVE_TAUNT] = _("TAUNT"), + [MOVE_HELPING_HAND] = _("HELPING HAND"), + [MOVE_TRICK] = _("TRICK"), + [MOVE_ROLE_PLAY] = _("ROLE PLAY"), + [MOVE_WISH] = _("WISH"), + [MOVE_ASSIST] = _("ASSIST"), + [MOVE_INGRAIN] = _("INGRAIN"), + [MOVE_SUPERPOWER] = _("SUPERPOWER"), + [MOVE_MAGIC_COAT] = _("MAGIC COAT"), + [MOVE_RECYCLE] = _("RECYCLE"), + [MOVE_REVENGE] = _("REVENGE"), + [MOVE_BRICK_BREAK] = _("BRICK BREAK"), + [MOVE_YAWN] = _("YAWN"), + [MOVE_KNOCK_OFF] = _("KNOCK OFF"), + [MOVE_ENDEAVOR] = _("ENDEAVOR"), + [MOVE_ERUPTION] = _("ERUPTION"), + [MOVE_SKILL_SWAP] = _("SKILL SWAP"), + [MOVE_IMPRISON] = _("IMPRISON"), + [MOVE_REFRESH] = _("REFRESH"), + [MOVE_GRUDGE] = _("GRUDGE"), + [MOVE_SNATCH] = _("SNATCH"), + [MOVE_SECRET_POWER] = _("SECRET POWER"), + [MOVE_DIVE] = _("DIVE"), + [MOVE_ARM_THRUST] = _("ARM THRUST"), + [MOVE_CAMOUFLAGE] = _("CAMOUFLAGE"), + [MOVE_TAIL_GLOW] = _("TAIL GLOW"), + [MOVE_LUSTER_PURGE] = _("LUSTER PURGE"), + [MOVE_MIST_BALL] = _("MIST BALL"), + [MOVE_FEATHER_DANCE] = _("FEATHERDANCE"), + [MOVE_TEETER_DANCE] = _("TEETER DANCE"), + [MOVE_BLAZE_KICK] = _("BLAZE KICK"), + [MOVE_MUD_SPORT] = _("MUD SPORT"), + [MOVE_ICE_BALL] = _("ICE BALL"), + [MOVE_NEEDLE_ARM] = _("NEEDLE ARM"), + [MOVE_SLACK_OFF] = _("SLACK OFF"), + [MOVE_HYPER_VOICE] = _("HYPER VOICE"), + [MOVE_POISON_FANG] = _("POISON FANG"), + [MOVE_CRUSH_CLAW] = _("CRUSH CLAW"), + [MOVE_BLAST_BURN] = _("BLAST BURN"), + [MOVE_HYDRO_CANNON] = _("HYDRO CANNON"), + [MOVE_METEOR_MASH] = _("METEOR MASH"), + [MOVE_ASTONISH] = _("ASTONISH"), + [MOVE_WEATHER_BALL] = _("WEATHER BALL"), + [MOVE_AROMATHERAPY] = _("AROMATHERAPY"), + [MOVE_FAKE_TEARS] = _("FAKE TEARS"), + [MOVE_AIR_CUTTER] = _("AIR CUTTER"), + [MOVE_OVERHEAT] = _("OVERHEAT"), + [MOVE_ODOR_SLEUTH] = _("ODOR SLEUTH"), + [MOVE_ROCK_TOMB] = _("ROCK TOMB"), + [MOVE_SILVER_WIND] = _("SILVER WIND"), + [MOVE_METAL_SOUND] = _("METAL SOUND"), + [MOVE_GRASS_WHISTLE] = _("GRASSWHISTLE"), + [MOVE_TICKLE] = _("TICKLE"), + [MOVE_COSMIC_POWER] = _("COSMIC POWER"), + [MOVE_WATER_SPOUT] = _("WATER SPOUT"), + [MOVE_SIGNAL_BEAM] = _("SIGNAL BEAM"), + [MOVE_SHADOW_PUNCH] = _("SHADOW PUNCH"), + [MOVE_EXTRASENSORY] = _("EXTRASENSORY"), + [MOVE_SKY_UPPERCUT] = _("SKY UPPERCUT"), + [MOVE_SAND_TOMB] = _("SAND TOMB"), + [MOVE_SHEER_COLD] = _("SHEER COLD"), + [MOVE_MUDDY_WATER] = _("MUDDY WATER"), + [MOVE_BULLET_SEED] = _("BULLET SEED"), + [MOVE_AERIAL_ACE] = _("AERIAL ACE"), + [MOVE_ICICLE_SPEAR] = _("ICICLE SPEAR"), + [MOVE_IRON_DEFENSE] = _("IRON DEFENSE"), + [MOVE_BLOCK] = _("BLOCK"), + [MOVE_HOWL] = _("HOWL"), + [MOVE_DRAGON_CLAW] = _("DRAGON CLAW"), + [MOVE_FRENZY_PLANT] = _("FRENZY PLANT"), + [MOVE_BULK_UP] = _("BULK UP"), + [MOVE_BOUNCE] = _("BOUNCE"), + [MOVE_MUD_SHOT] = _("MUD SHOT"), + [MOVE_POISON_TAIL] = _("POISON TAIL"), + [MOVE_COVET] = _("COVET"), + [MOVE_VOLT_TACKLE] = _("VOLT TACKLE"), + [MOVE_MAGICAL_LEAF] = _("MAGICAL LEAF"), + [MOVE_WATER_SPORT] = _("WATER SPORT"), + [MOVE_CALM_MIND] = _("CALM MIND"), + [MOVE_LEAF_BLADE] = _("LEAF BLADE"), + [MOVE_DRAGON_DANCE] = _("DRAGON DANCE"), + [MOVE_ROCK_BLAST] = _("ROCK BLAST"), + [MOVE_SHOCK_WAVE] = _("SHOCK WAVE"), + [MOVE_WATER_PULSE] = _("WATER PULSE"), + [MOVE_DOOM_DESIRE] = _("DOOM DESIRE"), + [MOVE_PSYCHO_BOOST] = _("PSYCHO BOOST"), +}; -- cgit v1.2.3 From 0b469a6439be412f36639cb608bd2558959b0c1d Mon Sep 17 00:00:00 2001 From: Blampharos Date: Sat, 27 Jan 2018 11:41:52 +0100 Subject: Decompile link battle animation data --- src/battle/battle_1.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index 70674b3b4..9ef0b92cd 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -3,6 +3,7 @@ #include "battle_setup.h" #include "battle.h" #include "trainer.h" +#include "gba/types.h" #include "constants/species.h" #include "constants/moves.h" #include "constants/items.h" @@ -465,3 +466,58 @@ const u8 gEnemyMonElevation[] = { #include "../data/text/move_names_de.h" #endif +const u32 gUnknown_81F9528 = 0x101; + +const struct OamData gOamData_81F952C = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .size = 3 +}; + +const struct OamData gOamData_81F9534 = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .size = 3, + .tileNum = 64 +}; + +const union AffineAnimCmd gSpriteAffineAnim_81F953C[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gSpriteAffineAnim_81F954C[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0, -128), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0, -128), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_81F956C[] = { + gSpriteAffineAnim_81F953C, + gSpriteAffineAnim_81F954C +}; + +const struct SpriteTemplate gSpriteTemplate_81F9574 = { + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_81F952C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_81F956C, + .callback = nullsub_36 +}; + +const struct SpriteTemplate gSpriteTemplate_81F958C = { + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_81F9534, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_81F956C, + .callback = nullsub_36 +}; + +extern const u8 gUnknown_08E5DC2C[]; + +const struct CompressedSpriteSheet gUnknown_081F95A4[] = { + {gUnknown_08E5DC2C, 4096, 0x2710}, +}; -- cgit v1.2.3 From 171dd32df8a56e1f10956be8b944cb216edb8f9d Mon Sep 17 00:00:00 2001 From: Blampharos Date: Sun, 28 Jan 2018 07:47:04 +0100 Subject: Decompile gBattleTerrainTable Forward declares introduced into graphics.h --- src/battle/battle_1.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index 9ef0b92cd..0eaca7b76 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -3,6 +3,7 @@ #include "battle_setup.h" #include "battle.h" #include "trainer.h" +#include "graphics.h" #include "gba/types.h" #include "constants/species.h" #include "constants/moves.h" @@ -521,3 +522,85 @@ extern const u8 gUnknown_08E5DC2C[]; const struct CompressedSpriteSheet gUnknown_081F95A4[] = { {gUnknown_08E5DC2C, 4096, 0x2710}, }; + +struct BattleBackground +{ + const void *tileset; + const void *tilemap; + const void *entryTileset; + const void *entryTilemap; + const void *palette; +}; + +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 + }, + { + .tileset = gBattleTerrainTiles_Building, + .tilemap = gBattleTerrainTilemap_Building, + .entryTileset = gBattleTerrainAnimTiles_Building, + .entryTilemap = gBattleTerrainAnimTilemap_Building, + .palette = gBattleTerrainPalette_Plain + } +}; -- cgit v1.2.3 From 48ef425d46b5879940fdad6641a5040cba900ca0 Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 28 Jan 2018 14:31:39 -0500 Subject: try to match trailing battle_1 section --- src/rom_800D42C.c | 913 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 913 insertions(+) (limited to 'src') diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c index a1b0f5ecb..032d979b8 100644 --- a/src/rom_800D42C.c +++ b/src/rom_800D42C.c @@ -117,3 +117,916 @@ void PrintLinkBattleWinLossTie(void) } } } + + +#include "global.h" +#include "decompress.h" +#include "palette.h" +#include "battle.h" +#include "text.h" +#include "trig.h" +#include "sound.h" +#include "constants/songs.h" +#include "task.h" +#include "link.h" + + +#define gBattle gBattleStruct + +extern const u8 gGameVersion; +extern u8 gUnknown_08D00000[]; +extern u16 gUnknown_08D00524[]; +extern u16 gUnknown_08D004E0[]; +extern u16 gBattleTypeFlags; +extern struct Trainer gTrainers[]; +extern u16 gTrainerBattleOpponent; + +extern void *gBattleTerrainTable[][5]; +extern u8 gBattleTerrain; + +extern u8 gBattleTerrainTiles_Cave[]; +extern u8 gBattleTerrainTiles_Water[]; +extern u8 gBattleTerrainTiles_Building[]; +extern u8 gBattleTerrainTiles_Stadium[]; + +extern u16 gBattleTerrainTilemap_Cave[]; +extern u16 gBattleTerrainTilemap_Water[]; +extern u16 gBattleTerrainTilemap_Building[]; +extern u16 gBattleTerrainTilemap_Stadium[]; + +extern u16 gBattleTerrainPalette_Groudon[]; +extern u16 gBattleTerrainPalette_Kyogre[]; +extern u16 gBattleTerrainPalette_BuildingLeader[]; +extern u16 gBattleTerrainPalette_StadiumSteven[]; +extern u16 gBattleTerrainPalette_BuildingGym[]; +extern u16 gBattleTerrainPalette_StadiumMagma[]; +extern u16 gBattleTerrainPalette_StadiumAqua[]; +extern u16 gBattleTerrainPalette_StadiumSidney[]; +extern u16 gBattleTerrainPalette_StadiumPhoebe[]; +extern u16 gBattleTerrainPalette_StadiumGlacia[]; +extern u16 gBattleTerrainPalette_StadiumDrake[]; +extern u16 gBattleTerrainPalette_BattleTower[]; + +extern u8 gBattleTerrainAnimTiles_Building[]; +extern u16 gBattleTerrainAnimTilemap_Building[]; +extern u8 gBattleTerrainAnimTiles_Cave[]; +extern u16 gBattleTerrainAnimTilemap_Cave[]; +extern u8 gBattleTerrainAnimTiles_Underwater[]; +extern u16 gBattleTerrainAnimTilemap_Underwater[]; +extern u8 gVersusFrameGfx[]; +extern u16 gVersusFrameTilemap[]; +extern u8 gUnknown_08E5DC2C[]; +extern u16 gVersusFramePal[]; + +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_Y; +extern struct CompressedSpriteSheet gUnknown_081F95A4; + +extern u8 sav1_map_get_battletype(void); +extern void sub_800D74C(void); + +struct Struct_081F9680 { + struct Window *window; + u16 offset; + u8 left; + u8 top; + u8 *field_8; +}; + +extern struct Struct_081F9680 gUnknown_081F9680[]; +extern void PrintLinkBattleWinLossTie(void); +extern void sub_800DAF8(u8, u8, u8 *); + +extern struct SpriteTemplate gSpriteTemplate_81F9574; +extern struct SpriteTemplate gSpriteTemplate_81F958C; + +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG2_X; + + + + +#ifdef NONMATCHING + +void sub_800DE30(u8 taskId) +{ + int palette; + int i; + + switch (gTasks[taskId].data[0]) { + + case 0: + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { + for (i = 0; i < 4; i++) { + u8 sp8 = (gLinkPlayers[i].lp_field_18 & 3); + struct Window *window; + Text_InitWindow8002E4C( + window = gUnknown_081F9680[sp8].window, + gLinkPlayers[i].name, + gUnknown_081F9680[sp8].offset, + gUnknown_081F9680[sp8].left, + gUnknown_081F9680[sp8].top, + 1); + Text_PrintWindow8002F44(window); + sub_800DAF8(taskId, sp8, gUnknown_081F9680[sp8].field_8); + } + } else { + int r7 = gBattle->linkPlayerIndex; + int r6 = gBattle->linkPlayerIndex ^ 1; + int r1 = r6; + if (gLinkPlayers[r7].lp_field_18) { + r6 = r7; + r7 = r1; + } + + i = 4; + Text_InitWindow8002E4C( + gUnknown_081F9680[i].window, + gLinkPlayers[r7].name, + gUnknown_081F9680[i].offset, + gUnknown_081F9680[i].left, + gUnknown_081F9680[i].top, + 1); + Text_PrintWindow8002F44(gUnknown_081F9680[i].window); + sub_800DAF8(taskId, r7, gUnknown_081F9680[i].field_8); + + i = 5; + Text_InitWindow8002E4C( + gUnknown_081F9680[i].window, + gLinkPlayers[r6].name, + gUnknown_081F9680[i].offset, + gUnknown_081F9680[i].left, + gUnknown_081F9680[i].top, + 1); + Text_PrintWindow8002F44(gUnknown_081F9680[i].window); + sub_800DAF8(taskId, r6, gUnknown_081F9680[i].field_8); + } + gTasks[taskId].data[0]++; + break; + + case 1: + palette = AllocSpritePalette(10000); + gPlttBufferUnfaded[palette * 16 + 0x10f] = gPlttBufferFaded[palette * 16 + 0x10f] = 0x7fff; + gBattle->unk1608A = CreateSprite(&gSpriteTemplate_81F9574, 108, 80, 0); + gBattle->unk1608B = CreateSprite(&gSpriteTemplate_81F958C, 132, 80, 0); + gSprites[gBattle->unk1608A].invisible = TRUE; + gSprites[gBattle->unk1608B].invisible = TRUE; + gTasks[taskId].data[0]++; + break; + + case 2: + if (gTasks[taskId].data[5]) { + gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG1_Y = -36; + gBattle_BG2_Y = -36; + } else { + gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG1_Y = (-164) + (Cos2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG2_Y = (-164) + (Cos2(gTasks[taskId].data[2]) / 32); + } + if (gTasks[taskId].data[2]) { + gTasks[taskId].data[2] -= 2; + gTasks[taskId].data[1] += 2; + } else { + if (gTasks[taskId].data[5]) { + PrintLinkBattleWinLossTie(); + } + PlaySE(SE_W231); + DestroyTask(taskId); + gSprites[gBattle->unk1608B].invisible = gSprites[gBattle->unk1608A].invisible = FALSE; + gSprites[gBattle->unk1608B].oam.tileNum += 0x40; + gSprites[gBattle->unk1608A].data[0] = 0; + gSprites[gBattle->unk1608B].data[0] = 1; + gSprites[gBattle->unk1608A].data[1] = gSprites[gBattle->unk1608A].pos1.x; + gSprites[gBattle->unk1608B].data[1] = gSprites[gBattle->unk1608B].pos1.x; + gSprites[gBattle->unk1608A].data[2] = 0; + gSprites[gBattle->unk1608B].data[2] = 0; + } + break; + } +} + +#else + +asm_unified( +".include \"macros.inc\"\n" +" thumb_func_start sub_800DE30\n" +"sub_800DE30: @ 800DE30\n" +" push {r4-r7,lr}\n" +" mov r7, r10\n" +" mov r6, r9\n" +" mov r5, r8\n" +" push {r5-r7}\n" +" sub sp, 0x10\n" +" lsls r0, 24\n" +" lsrs r0, 24\n" +" mov r9, r0\n" +" ldr r1, _0800DE64 @ =gTasks\n" +" lsls r0, 2\n" +" mov r10, r0\n" +" add r0, r9\n" +" lsls r0, 3\n" +" adds r6, r0, r1\n" +" movs r1, 0x8\n" +" ldrsh r0, [r6, r1]\n" +" cmp r0, 0x1\n" +" bne _0800DE58\n" +" b _0800DF9C\n" +"_0800DE58:\n" +" cmp r0, 0x1\n" +" bgt _0800DE68\n" +" cmp r0, 0\n" +" beq _0800DE70\n" +" b _0800E212\n" +" .align 2, 0\n" +"_0800DE64: .4byte gTasks\n" +"_0800DE68:\n" +" cmp r0, 0x2\n" +" bne _0800DE6E\n" +" b _0800E03C\n" +"_0800DE6E:\n" +" b _0800E212\n" +"_0800DE70:\n" +" ldr r0, _0800DED0 @ =gBattleTypeFlags\n" +" ldrh r1, [r0]\n" +" movs r0, 0x40\n" +" ands r0, r1\n" +" cmp r0, 0\n" +" beq _0800DEE0\n" +" ldr r0, _0800DED4 @ =gLinkPlayers\n" +" ldr r2, _0800DED8 @ =gUnknown_081F9680\n" +" mov r8, r2\n" +" adds r7, r0, 0\n" +" adds r7, 0x8\n" +" movs r5, 0x3\n" +"_0800DE88:\n" +" ldrb r0, [r7, 0x10]\n" +" movs r1, 0x3\n" +" ands r1, r0\n" +" str r1, [sp, 0x8]\n" +" lsls r4, r1, 1\n" +" adds r4, r1\n" +" lsls r4, 2\n" +" mov r2, r8\n" +" adds r0, r4, r2\n" +" ldr r1, [r0]\n" +" str r1, [sp, 0xC]\n" +" ldrh r2, [r0, 0x4]\n" +" ldrb r3, [r0, 0x6]\n" +" ldrb r0, [r0, 0x7]\n" +" str r0, [sp]\n" +" movs r0, 0x1\n" +" str r0, [sp, 0x4]\n" +" adds r0, r1, 0\n" +" adds r1, r7, 0\n" +" bl Text_InitWindow8002E4C\n" +" ldr r0, [sp, 0xC]\n" +" bl Text_PrintWindow8002F44\n" +" ldr r2, _0800DEDC @ =gUnknown_081F9680 + 0x8\n" +" adds r4, r2\n" +" ldr r2, [r4]\n" +" mov r0, r9\n" +" ldr r1, [sp, 0x8]\n" +" bl sub_800DAF8\n" +" adds r7, 0x1C\n" +" subs r5, 0x1\n" +" cmp r5, 0\n" +" bge _0800DE88\n" +" b _0800DF70\n" +" .align 2, 0\n" +"_0800DED0: .4byte gBattleTypeFlags\n" +"_0800DED4: .4byte gLinkPlayers\n" +"_0800DED8: .4byte gUnknown_081F9680\n" +"_0800DEDC: .4byte gUnknown_081F9680 + 0x8\n" +"_0800DEE0:\n" +" ldr r0, _0800DF84 @ =0x02000000\n" +" ldr r5, _0800DF88 @ =0x000160cb\n" +" adds r0, r5\n" +" ldrb r7, [r0]\n" +" movs r0, 0x1\n" +" adds r6, r7, 0\n" +" eors r6, r0\n" +" adds r1, r6, 0\n" +" ldr r2, _0800DF8C @ =gLinkPlayers\n" +" lsls r0, r7, 3\n" +" subs r0, r7\n" +" lsls r0, 2\n" +" adds r0, r2\n" +" ldrh r0, [r0, 0x18]\n" +" cmp r0, 0\n" +" beq _0800DF04\n" +" adds r6, r7, 0\n" +" adds r7, r1, 0\n" +"_0800DF04:\n" +" ldr r0, _0800DF90 @ =gUnknown_081F9680\n" +" mov r8, r0\n" +" adds r0, 0x30\n" +" mov r1, r8\n" +" ldr r4, [r1, 0x30]\n" +" lsls r1, r7, 3\n" +" subs r1, r7\n" +" lsls r1, 2\n" +" ldr r2, _0800DF94 @ =gLinkPlayers + 0x8\n" +" adds r1, r2\n" +" ldrh r2, [r0, 0x4]\n" +" ldrb r3, [r0, 0x6]\n" +" ldrb r0, [r0, 0x7]\n" +" str r0, [sp]\n" +" movs r5, 0x1\n" +" str r5, [sp, 0x4]\n" +" adds r0, r4, 0\n" +" bl Text_InitWindow8002E4C\n" +" adds r0, r4, 0\n" +" bl Text_PrintWindow8002F44\n" +" mov r0, r8\n" +" ldr r2, [r0, 0x38]\n" +" mov r0, r9\n" +" adds r1, r7, 0\n" +" bl sub_800DAF8\n" +" mov r0, r8\n" +" adds r0, 0x3C\n" +" mov r1, r8\n" +" ldr r4, [r1, 0x3C]\n" +" lsls r1, r6, 3\n" +" subs r1, r6\n" +" lsls r1, 2\n" +" ldr r2, _0800DF94 @ =gLinkPlayers + 0x8\n" +" adds r1, r2\n" +" ldrh r2, [r0, 0x4]\n" +" ldrb r3, [r0, 0x6]\n" +" ldrb r0, [r0, 0x7]\n" +" str r0, [sp]\n" +" str r5, [sp, 0x4]\n" +" adds r0, r4, 0\n" +" bl Text_InitWindow8002E4C\n" +" adds r0, r4, 0\n" +" bl Text_PrintWindow8002F44\n" +" mov r5, r8\n" +" ldr r2, [r5, 0x44]\n" +" mov r0, r9\n" +" adds r1, r6, 0\n" +" bl sub_800DAF8\n" +"_0800DF70:\n" +" ldr r0, _0800DF98 @ =gTasks\n" +" mov r1, r10\n" +" add r1, r9\n" +" lsls r1, 3\n" +" adds r1, r0\n" +" ldrh r0, [r1, 0x8]\n" +" adds r0, 0x1\n" +" strh r0, [r1, 0x8]\n" +" b _0800E212\n" +" .align 2, 0\n" +"_0800DF84: .4byte 0x02000000\n" +"_0800DF88: .4byte 0x000160cb\n" +"_0800DF8C: .4byte gLinkPlayers\n" +"_0800DF90: .4byte gUnknown_081F9680\n" +"_0800DF94: .4byte gLinkPlayers + 0x8\n" +"_0800DF98: .4byte gTasks\n" +"_0800DF9C:\n" +" ldr r0, _0800E010 @ =0x00002710\n" +" bl AllocSpritePalette\n" +" lsls r0, 24\n" +" ldr r2, _0800E014 @ =gPlttBufferUnfaded\n" +" lsrs r0, 19\n" +" ldr r1, _0800E018 @ =0x0000021e\n" +" adds r0, r1\n" +" adds r2, r0, r2\n" +" ldr r1, _0800E01C @ =gPlttBufferFaded\n" +" adds r0, r1\n" +" ldr r1, _0800E020 @ =0x00007fff\n" +" strh r1, [r0]\n" +" strh r1, [r2]\n" +" ldr r0, _0800E024 @ =gSpriteTemplate_81F9574\n" +" movs r1, 0x6C\n" +" movs r2, 0x50\n" +" movs r3, 0\n" +" bl CreateSprite\n" +" ldr r4, _0800E028 @ =0x02000000\n" +" ldr r2, _0800E02C @ =0x0001608a\n" +" adds r7, r4, r2\n" +" strb r0, [r7]\n" +" ldr r0, _0800E030 @ =gSpriteTemplate_81F958C\n" +" movs r1, 0x84\n" +" movs r2, 0x50\n" +" movs r3, 0\n" +" bl CreateSprite\n" +" ldr r5, _0800E034 @ =0x0001608b\n" +" adds r4, r5\n" +" strb r0, [r4]\n" +" ldr r3, _0800E038 @ =gSprites\n" +" ldrb r1, [r7]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r3\n" +" adds r0, 0x3E\n" +" ldrb r1, [r0]\n" +" movs r2, 0x4\n" +" orrs r1, r2\n" +" strb r1, [r0]\n" +" ldrb r1, [r4]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r3\n" +" adds r0, 0x3E\n" +" ldrb r1, [r0]\n" +" orrs r1, r2\n" +" strb r1, [r0]\n" +" ldrh r0, [r6, 0x8]\n" +" adds r0, 0x1\n" +" strh r0, [r6, 0x8]\n" +" b _0800E212\n" +" .align 2, 0\n" +"_0800E010: .4byte 0x00002710\n" +"_0800E014: .4byte gPlttBufferUnfaded\n" +"_0800E018: .4byte 0x0000021e\n" +"_0800E01C: .4byte gPlttBufferFaded\n" +"_0800E020: .4byte 0x00007fff\n" +"_0800E024: .4byte gSpriteTemplate_81F9574\n" +"_0800E028: .4byte 0x02000000\n" +"_0800E02C: .4byte 0x0001608a\n" +"_0800E030: .4byte gSpriteTemplate_81F958C\n" +"_0800E034: .4byte 0x0001608b\n" +"_0800E038: .4byte gSprites\n" +"_0800E03C:\n" +" movs r1, 0x12\n" +" ldrsh r0, [r6, r1]\n" +" cmp r0, 0\n" +" beq _0800E0A4\n" +" ldr r4, _0800E090 @ =gBattle_BG1_X\n" +" ldrh r0, [r6, 0xA]\n" +" bl Sin2\n" +" lsls r0, 16\n" +" asrs r0, 16\n" +" cmp r0, 0\n" +" bge _0800E056\n" +" adds r0, 0x1F\n" +"_0800E056:\n" +" asrs r1, r0, 5\n" +" movs r2, 0x14\n" +" negs r2, r2\n" +" adds r0, r2, 0\n" +" subs r0, r1\n" +" strh r0, [r4]\n" +" ldr r4, _0800E094 @ =gBattle_BG2_X\n" +" ldrh r0, [r6, 0xC]\n" +" bl Sin2\n" +" lsls r0, 16\n" +" asrs r0, 16\n" +" cmp r0, 0\n" +" bge _0800E074\n" +" adds r0, 0x1F\n" +"_0800E074:\n" +" asrs r1, r0, 5\n" +" movs r5, 0x8C\n" +" negs r5, r5\n" +" adds r0, r5, 0\n" +" subs r0, r1\n" +" strh r0, [r4]\n" +" ldr r0, _0800E098 @ =gBattle_BG1_Y\n" +" ldr r2, _0800E09C @ =0x0000ffdc\n" +" adds r1, r2, 0\n" +" strh r1, [r0]\n" +" ldr r0, _0800E0A0 @ =gBattle_BG2_Y\n" +" strh r1, [r0]\n" +" b _0800E110\n" +" .align 2, 0\n" +"_0800E090: .4byte gBattle_BG1_X\n" +"_0800E094: .4byte gBattle_BG2_X\n" +"_0800E098: .4byte gBattle_BG1_Y\n" +"_0800E09C: .4byte 0x0000ffdc\n" +"_0800E0A0: .4byte gBattle_BG2_Y\n" +"_0800E0A4:\n" +" ldr r4, _0800E134 @ =gBattle_BG1_X\n" +" ldrh r0, [r6, 0xA]\n" +" bl Sin2\n" +" lsls r0, 16\n" +" asrs r0, 16\n" +" cmp r0, 0\n" +" bge _0800E0B6\n" +" adds r0, 0x1F\n" +"_0800E0B6:\n" +" asrs r1, r0, 5\n" +" movs r5, 0x14\n" +" negs r5, r5\n" +" adds r0, r5, 0\n" +" subs r0, r1\n" +" strh r0, [r4]\n" +" ldr r4, _0800E138 @ =gBattle_BG1_Y\n" +" ldrh r0, [r6, 0xA]\n" +" bl Cos2\n" +" lsls r0, 16\n" +" asrs r0, 16\n" +" cmp r0, 0\n" +" bge _0800E0D4\n" +" adds r0, 0x1F\n" +"_0800E0D4:\n" +" asrs r0, 5\n" +" subs r0, 0xA4\n" +" strh r0, [r4]\n" +" ldr r4, _0800E13C @ =gBattle_BG2_X\n" +" ldrh r0, [r6, 0xC]\n" +" bl Sin2\n" +" lsls r0, 16\n" +" asrs r0, 16\n" +" cmp r0, 0\n" +" bge _0800E0EC\n" +" adds r0, 0x1F\n" +"_0800E0EC:\n" +" asrs r1, r0, 5\n" +" movs r2, 0x8C\n" +" negs r2, r2\n" +" adds r0, r2, 0\n" +" subs r0, r1\n" +" strh r0, [r4]\n" +" ldr r4, _0800E140 @ =gBattle_BG2_Y\n" +" ldrh r0, [r6, 0xC]\n" +" bl Cos2\n" +" lsls r0, 16\n" +" asrs r0, 16\n" +" cmp r0, 0\n" +" bge _0800E10A\n" +" adds r0, 0x1F\n" +"_0800E10A:\n" +" asrs r0, 5\n" +" subs r0, 0xA4\n" +" strh r0, [r4]\n" +"_0800E110:\n" +" ldr r1, _0800E144 @ =gTasks\n" +" mov r5, r9\n" +" lsls r0, r5, 2\n" +" add r0, r9\n" +" lsls r0, 3\n" +" adds r1, r0, r1\n" +" ldrh r0, [r1, 0xC]\n" +" movs r2, 0xC\n" +" ldrsh r7, [r1, r2]\n" +" cmp r7, 0\n" +" beq _0800E148\n" +" subs r0, 0x2\n" +" strh r0, [r1, 0xC]\n" +" ldrh r0, [r1, 0xA]\n" +" adds r0, 0x2\n" +" strh r0, [r1, 0xA]\n" +" b _0800E212\n" +" .align 2, 0\n" +"_0800E134: .4byte gBattle_BG1_X\n" +"_0800E138: .4byte gBattle_BG1_Y\n" +"_0800E13C: .4byte gBattle_BG2_X\n" +"_0800E140: .4byte gBattle_BG2_Y\n" +"_0800E144: .4byte gTasks\n" +"_0800E148:\n" +" movs r5, 0x12\n" +" ldrsh r0, [r1, r5]\n" +" cmp r0, 0\n" +" beq _0800E154\n" +" bl PrintLinkBattleWinLossTie\n" +"_0800E154:\n" +" movs r0, 0x78\n" +" bl PlaySE\n" +" mov r0, r9\n" +" bl DestroyTask\n" +" ldr r4, _0800E224 @ =gSprites\n" +" ldr r0, _0800E228 @ =0x02000000\n" +" mov r8, r0\n" +" ldr r1, _0800E22C @ =0x0001608a\n" +" add r1, r8\n" +" mov r9, r1\n" +" ldrb r0, [r1]\n" +" lsls r1, r0, 4\n" +" adds r1, r0\n" +" lsls r1, 2\n" +" adds r1, r4\n" +" adds r1, 0x3E\n" +" ldrb r3, [r1]\n" +" movs r2, 0x5\n" +" negs r2, r2\n" +" adds r0, r2, 0\n" +" ands r0, r3\n" +" strb r0, [r1]\n" +" ldr r5, _0800E230 @ =0x0001608b\n" +" add r8, r5\n" +" mov r0, r8\n" +" ldrb r1, [r0]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r4\n" +" adds r0, 0x3E\n" +" ldrb r1, [r0]\n" +" ands r2, r1\n" +" strb r2, [r0]\n" +" mov r1, r8\n" +" ldrb r0, [r1]\n" +" lsls r2, r0, 4\n" +" adds r2, r0\n" +" lsls r2, 2\n" +" adds r2, r4\n" +" ldrh r3, [r2, 0x4]\n" +" lsls r1, r3, 22\n" +" lsrs r1, 22\n" +" adds r1, 0x40\n" +" ldr r5, _0800E234 @ =0x000003ff\n" +" adds r0, r5, 0\n" +" ands r1, r0\n" +" ldr r0, _0800E238 @ =0xfffffc00\n" +" ands r0, r3\n" +" orrs r0, r1\n" +" strh r0, [r2, 0x4]\n" +" mov r0, r9\n" +" ldrb r1, [r0]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r4\n" +" strh r7, [r0, 0x2E]\n" +" mov r2, r8\n" +" ldrb r1, [r2]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r4\n" +" movs r1, 0x1\n" +" strh r1, [r0, 0x2E]\n" +" mov r5, r9\n" +" ldrb r1, [r5]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r4\n" +" ldrh r1, [r0, 0x20]\n" +" strh r1, [r0, 0x30]\n" +" ldrb r1, [r2]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r4\n" +" ldrh r1, [r0, 0x20]\n" +" strh r1, [r0, 0x30]\n" +" ldrb r1, [r5]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r4\n" +" strh r7, [r0, 0x32]\n" +" ldrb r1, [r2]\n" +" lsls r0, r1, 4\n" +" adds r0, r1\n" +" lsls r0, 2\n" +" adds r0, r4\n" +" strh r7, [r0, 0x32]\n" +"_0800E212:\n" +" add sp, 0x10\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" +" .align 2, 0\n" +"_0800E224: .4byte gSprites\n" +"_0800E228: .4byte 0x02000000\n" +"_0800E22C: .4byte 0x0001608a\n" +"_0800E230: .4byte 0x0001608b\n" +"_0800E234: .4byte 0x000003ff\n" +"_0800E238: .4byte 0xfffffc00\n" +" thumb_func_end sub_800DE30\n" +); + +#endif // NONMATCHING + + +void sub_800E23C(void) { + if (gBattleTypeFlags & BATTLE_TYPE_LINK) { + LZDecompressVram(gVersusFrameGfx, (void *)0x6004000); + LZDecompressVram(gVersusFrameTilemap, (void *)0x600e000); + LZDecompressVram(gVersusFrameTilemap, (void *)0x600f000); + LZDecompressVram(gUnknown_08E5DC2C, (void *)0x6010000); + LoadCompressedPalette(gVersusFramePal, 0x60, 0x20); + REG_BG1CNT = 0x5c04; + REG_WININ = 0x36; + REG_WINOUT = 0x36; + gBattle_BG1_Y = 0xff5c; + gBattle_BG2_Y = 0xff5c; + LoadCompressedObjectPic(&gUnknown_081F95A4); + return; + } else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == VERSION_RUBY) { + LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)0x600e000); + return; + } else { + LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)0x600e000); + return; + } + } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } + } + if (sav1_map_get_battletype() == 0) { + LZDecompressVram(gBattleTerrainTable[gBattleTerrain][2], (void *)0x6004000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain][3], (void *)0x600e000); + return; + } + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); +} + +int sub_800E414(u8 a1) { + int ret = 0; + switch (a1) { + case 0: + LZDecompressVram(&gUnknown_08D00000, (void *)0x6000000); + break; + case 1: + CpuCopy16(gUnknown_08D00524, (void *)0x600c000, 0x1000); + break; + case 2: + LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); + break; + case 3: // tiles + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == VERSION_RUBY) { + LZDecompressVram(gBattleTerrainTiles_Cave, (void *)0x6008000); + break; + } else { + LZDecompressVram(gBattleTerrainTiles_Water, (void *)0x6008000); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain][0], (void *)0x6008000); + break; + case 2: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 3: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 4: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 5: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 6: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 7: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 1: + case 8: + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } + break; + } + } else { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } + case 4: // tilemap + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == 2) { + LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)0x600d000); + break; + } else { + LZDecompressVram(gBattleTerrainTilemap_Water, (void *)0x600d000); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain][1], (void *)0x600d000); + break; + case 2: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 3: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 4: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 5: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 6: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 7: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 1: + case 8: + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } + break; + } + } else { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } + case 5: // palette + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == 2) { + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + break; + } else { + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain][4], 0x20, 0x60); + break; + case 1: + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case 2: + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case 3: + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case 4: + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case 5: + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case 6: + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case 7: + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case 8: + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + break; + } + } else { + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + case 6: + sub_800D74C(); + break; + default: + ret = 1; + } + return ret; +} -- cgit v1.2.3 From d1f5ea0c0b74e821d1585195cffd69ba23adc74f Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 28 Jan 2018 22:34:45 -0500 Subject: match sub_800DE30 (thanks cam) --- src/rom_800D42C.c | 543 +++--------------------------------------------------- 1 file changed, 23 insertions(+), 520 deletions(-) (limited to 'src') diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c index 032d979b8..55986fed3 100644 --- a/src/rom_800D42C.c +++ b/src/rom_800D42C.c @@ -193,7 +193,7 @@ struct Struct_081F9680 { u8 *field_8; }; -extern struct Struct_081F9680 gUnknown_081F9680[]; +extern const struct Struct_081F9680 gUnknown_081F9680[]; extern void PrintLinkBattleWinLossTie(void); extern void sub_800DAF8(u8, u8, u8 *); @@ -204,10 +204,6 @@ extern u16 gBattle_BG1_X; extern u16 gBattle_BG2_X; - - -#ifdef NONMATCHING - void sub_800DE30(u8 taskId) { int palette; @@ -219,47 +215,45 @@ void sub_800DE30(u8 taskId) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { for (i = 0; i < 4; i++) { u8 sp8 = (gLinkPlayers[i].lp_field_18 & 3); - struct Window *window; Text_InitWindow8002E4C( - window = gUnknown_081F9680[sp8].window, + gUnknown_081F9680[sp8].window, gLinkPlayers[i].name, gUnknown_081F9680[sp8].offset, gUnknown_081F9680[sp8].left, gUnknown_081F9680[sp8].top, 1); - Text_PrintWindow8002F44(window); + Text_PrintWindow8002F44(gUnknown_081F9680[sp8].window); sub_800DAF8(taskId, sp8, gUnknown_081F9680[sp8].field_8); } } else { - int r7 = gBattle->linkPlayerIndex; - int r6 = gBattle->linkPlayerIndex ^ 1; - int r1 = r6; + u8 sp8 = 4; + + u8 r7 = gBattle->linkPlayerIndex; + u8 r6 = gBattle->linkPlayerIndex ^ 1; if (gLinkPlayers[r7].lp_field_18) { - r6 = r7; - r7 = r1; + r6 = gBattle->linkPlayerIndex; + r7 = gBattle->linkPlayerIndex ^ 1; } - i = 4; Text_InitWindow8002E4C( - gUnknown_081F9680[i].window, + gUnknown_081F9680[sp8].window, gLinkPlayers[r7].name, - gUnknown_081F9680[i].offset, - gUnknown_081F9680[i].left, - gUnknown_081F9680[i].top, + gUnknown_081F9680[sp8].offset, + gUnknown_081F9680[sp8].left, + gUnknown_081F9680[sp8].top, 1); - Text_PrintWindow8002F44(gUnknown_081F9680[i].window); - sub_800DAF8(taskId, r7, gUnknown_081F9680[i].field_8); + Text_PrintWindow8002F44(gUnknown_081F9680[sp8].window); + sub_800DAF8(taskId, r7, gUnknown_081F9680[sp8].field_8); - i = 5; Text_InitWindow8002E4C( - gUnknown_081F9680[i].window, + gUnknown_081F9680[sp8 + 1].window, gLinkPlayers[r6].name, - gUnknown_081F9680[i].offset, - gUnknown_081F9680[i].left, - gUnknown_081F9680[i].top, + gUnknown_081F9680[sp8 + 1].offset, + gUnknown_081F9680[sp8 + 1].left, + gUnknown_081F9680[sp8 + 1].top, 1); - Text_PrintWindow8002F44(gUnknown_081F9680[i].window); - sub_800DAF8(taskId, r6, gUnknown_081F9680[i].field_8); + Text_PrintWindow8002F44(gUnknown_081F9680[sp8 + 1].window); + sub_800DAF8(taskId, r6, gUnknown_081F9680[sp8 + 1].field_8); } gTasks[taskId].data[0]++; break; @@ -295,7 +289,8 @@ void sub_800DE30(u8 taskId) } PlaySE(SE_W231); DestroyTask(taskId); - gSprites[gBattle->unk1608B].invisible = gSprites[gBattle->unk1608A].invisible = FALSE; + gSprites[gBattle->unk1608A].invisible = FALSE; + gSprites[gBattle->unk1608B].invisible = FALSE; gSprites[gBattle->unk1608B].oam.tileNum += 0x40; gSprites[gBattle->unk1608A].data[0] = 0; gSprites[gBattle->unk1608B].data[0] = 1; @@ -308,498 +303,6 @@ void sub_800DE30(u8 taskId) } } -#else - -asm_unified( -".include \"macros.inc\"\n" -" thumb_func_start sub_800DE30\n" -"sub_800DE30: @ 800DE30\n" -" push {r4-r7,lr}\n" -" mov r7, r10\n" -" mov r6, r9\n" -" mov r5, r8\n" -" push {r5-r7}\n" -" sub sp, 0x10\n" -" lsls r0, 24\n" -" lsrs r0, 24\n" -" mov r9, r0\n" -" ldr r1, _0800DE64 @ =gTasks\n" -" lsls r0, 2\n" -" mov r10, r0\n" -" add r0, r9\n" -" lsls r0, 3\n" -" adds r6, r0, r1\n" -" movs r1, 0x8\n" -" ldrsh r0, [r6, r1]\n" -" cmp r0, 0x1\n" -" bne _0800DE58\n" -" b _0800DF9C\n" -"_0800DE58:\n" -" cmp r0, 0x1\n" -" bgt _0800DE68\n" -" cmp r0, 0\n" -" beq _0800DE70\n" -" b _0800E212\n" -" .align 2, 0\n" -"_0800DE64: .4byte gTasks\n" -"_0800DE68:\n" -" cmp r0, 0x2\n" -" bne _0800DE6E\n" -" b _0800E03C\n" -"_0800DE6E:\n" -" b _0800E212\n" -"_0800DE70:\n" -" ldr r0, _0800DED0 @ =gBattleTypeFlags\n" -" ldrh r1, [r0]\n" -" movs r0, 0x40\n" -" ands r0, r1\n" -" cmp r0, 0\n" -" beq _0800DEE0\n" -" ldr r0, _0800DED4 @ =gLinkPlayers\n" -" ldr r2, _0800DED8 @ =gUnknown_081F9680\n" -" mov r8, r2\n" -" adds r7, r0, 0\n" -" adds r7, 0x8\n" -" movs r5, 0x3\n" -"_0800DE88:\n" -" ldrb r0, [r7, 0x10]\n" -" movs r1, 0x3\n" -" ands r1, r0\n" -" str r1, [sp, 0x8]\n" -" lsls r4, r1, 1\n" -" adds r4, r1\n" -" lsls r4, 2\n" -" mov r2, r8\n" -" adds r0, r4, r2\n" -" ldr r1, [r0]\n" -" str r1, [sp, 0xC]\n" -" ldrh r2, [r0, 0x4]\n" -" ldrb r3, [r0, 0x6]\n" -" ldrb r0, [r0, 0x7]\n" -" str r0, [sp]\n" -" movs r0, 0x1\n" -" str r0, [sp, 0x4]\n" -" adds r0, r1, 0\n" -" adds r1, r7, 0\n" -" bl Text_InitWindow8002E4C\n" -" ldr r0, [sp, 0xC]\n" -" bl Text_PrintWindow8002F44\n" -" ldr r2, _0800DEDC @ =gUnknown_081F9680 + 0x8\n" -" adds r4, r2\n" -" ldr r2, [r4]\n" -" mov r0, r9\n" -" ldr r1, [sp, 0x8]\n" -" bl sub_800DAF8\n" -" adds r7, 0x1C\n" -" subs r5, 0x1\n" -" cmp r5, 0\n" -" bge _0800DE88\n" -" b _0800DF70\n" -" .align 2, 0\n" -"_0800DED0: .4byte gBattleTypeFlags\n" -"_0800DED4: .4byte gLinkPlayers\n" -"_0800DED8: .4byte gUnknown_081F9680\n" -"_0800DEDC: .4byte gUnknown_081F9680 + 0x8\n" -"_0800DEE0:\n" -" ldr r0, _0800DF84 @ =0x02000000\n" -" ldr r5, _0800DF88 @ =0x000160cb\n" -" adds r0, r5\n" -" ldrb r7, [r0]\n" -" movs r0, 0x1\n" -" adds r6, r7, 0\n" -" eors r6, r0\n" -" adds r1, r6, 0\n" -" ldr r2, _0800DF8C @ =gLinkPlayers\n" -" lsls r0, r7, 3\n" -" subs r0, r7\n" -" lsls r0, 2\n" -" adds r0, r2\n" -" ldrh r0, [r0, 0x18]\n" -" cmp r0, 0\n" -" beq _0800DF04\n" -" adds r6, r7, 0\n" -" adds r7, r1, 0\n" -"_0800DF04:\n" -" ldr r0, _0800DF90 @ =gUnknown_081F9680\n" -" mov r8, r0\n" -" adds r0, 0x30\n" -" mov r1, r8\n" -" ldr r4, [r1, 0x30]\n" -" lsls r1, r7, 3\n" -" subs r1, r7\n" -" lsls r1, 2\n" -" ldr r2, _0800DF94 @ =gLinkPlayers + 0x8\n" -" adds r1, r2\n" -" ldrh r2, [r0, 0x4]\n" -" ldrb r3, [r0, 0x6]\n" -" ldrb r0, [r0, 0x7]\n" -" str r0, [sp]\n" -" movs r5, 0x1\n" -" str r5, [sp, 0x4]\n" -" adds r0, r4, 0\n" -" bl Text_InitWindow8002E4C\n" -" adds r0, r4, 0\n" -" bl Text_PrintWindow8002F44\n" -" mov r0, r8\n" -" ldr r2, [r0, 0x38]\n" -" mov r0, r9\n" -" adds r1, r7, 0\n" -" bl sub_800DAF8\n" -" mov r0, r8\n" -" adds r0, 0x3C\n" -" mov r1, r8\n" -" ldr r4, [r1, 0x3C]\n" -" lsls r1, r6, 3\n" -" subs r1, r6\n" -" lsls r1, 2\n" -" ldr r2, _0800DF94 @ =gLinkPlayers + 0x8\n" -" adds r1, r2\n" -" ldrh r2, [r0, 0x4]\n" -" ldrb r3, [r0, 0x6]\n" -" ldrb r0, [r0, 0x7]\n" -" str r0, [sp]\n" -" str r5, [sp, 0x4]\n" -" adds r0, r4, 0\n" -" bl Text_InitWindow8002E4C\n" -" adds r0, r4, 0\n" -" bl Text_PrintWindow8002F44\n" -" mov r5, r8\n" -" ldr r2, [r5, 0x44]\n" -" mov r0, r9\n" -" adds r1, r6, 0\n" -" bl sub_800DAF8\n" -"_0800DF70:\n" -" ldr r0, _0800DF98 @ =gTasks\n" -" mov r1, r10\n" -" add r1, r9\n" -" lsls r1, 3\n" -" adds r1, r0\n" -" ldrh r0, [r1, 0x8]\n" -" adds r0, 0x1\n" -" strh r0, [r1, 0x8]\n" -" b _0800E212\n" -" .align 2, 0\n" -"_0800DF84: .4byte 0x02000000\n" -"_0800DF88: .4byte 0x000160cb\n" -"_0800DF8C: .4byte gLinkPlayers\n" -"_0800DF90: .4byte gUnknown_081F9680\n" -"_0800DF94: .4byte gLinkPlayers + 0x8\n" -"_0800DF98: .4byte gTasks\n" -"_0800DF9C:\n" -" ldr r0, _0800E010 @ =0x00002710\n" -" bl AllocSpritePalette\n" -" lsls r0, 24\n" -" ldr r2, _0800E014 @ =gPlttBufferUnfaded\n" -" lsrs r0, 19\n" -" ldr r1, _0800E018 @ =0x0000021e\n" -" adds r0, r1\n" -" adds r2, r0, r2\n" -" ldr r1, _0800E01C @ =gPlttBufferFaded\n" -" adds r0, r1\n" -" ldr r1, _0800E020 @ =0x00007fff\n" -" strh r1, [r0]\n" -" strh r1, [r2]\n" -" ldr r0, _0800E024 @ =gSpriteTemplate_81F9574\n" -" movs r1, 0x6C\n" -" movs r2, 0x50\n" -" movs r3, 0\n" -" bl CreateSprite\n" -" ldr r4, _0800E028 @ =0x02000000\n" -" ldr r2, _0800E02C @ =0x0001608a\n" -" adds r7, r4, r2\n" -" strb r0, [r7]\n" -" ldr r0, _0800E030 @ =gSpriteTemplate_81F958C\n" -" movs r1, 0x84\n" -" movs r2, 0x50\n" -" movs r3, 0\n" -" bl CreateSprite\n" -" ldr r5, _0800E034 @ =0x0001608b\n" -" adds r4, r5\n" -" strb r0, [r4]\n" -" ldr r3, _0800E038 @ =gSprites\n" -" ldrb r1, [r7]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r3\n" -" adds r0, 0x3E\n" -" ldrb r1, [r0]\n" -" movs r2, 0x4\n" -" orrs r1, r2\n" -" strb r1, [r0]\n" -" ldrb r1, [r4]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r3\n" -" adds r0, 0x3E\n" -" ldrb r1, [r0]\n" -" orrs r1, r2\n" -" strb r1, [r0]\n" -" ldrh r0, [r6, 0x8]\n" -" adds r0, 0x1\n" -" strh r0, [r6, 0x8]\n" -" b _0800E212\n" -" .align 2, 0\n" -"_0800E010: .4byte 0x00002710\n" -"_0800E014: .4byte gPlttBufferUnfaded\n" -"_0800E018: .4byte 0x0000021e\n" -"_0800E01C: .4byte gPlttBufferFaded\n" -"_0800E020: .4byte 0x00007fff\n" -"_0800E024: .4byte gSpriteTemplate_81F9574\n" -"_0800E028: .4byte 0x02000000\n" -"_0800E02C: .4byte 0x0001608a\n" -"_0800E030: .4byte gSpriteTemplate_81F958C\n" -"_0800E034: .4byte 0x0001608b\n" -"_0800E038: .4byte gSprites\n" -"_0800E03C:\n" -" movs r1, 0x12\n" -" ldrsh r0, [r6, r1]\n" -" cmp r0, 0\n" -" beq _0800E0A4\n" -" ldr r4, _0800E090 @ =gBattle_BG1_X\n" -" ldrh r0, [r6, 0xA]\n" -" bl Sin2\n" -" lsls r0, 16\n" -" asrs r0, 16\n" -" cmp r0, 0\n" -" bge _0800E056\n" -" adds r0, 0x1F\n" -"_0800E056:\n" -" asrs r1, r0, 5\n" -" movs r2, 0x14\n" -" negs r2, r2\n" -" adds r0, r2, 0\n" -" subs r0, r1\n" -" strh r0, [r4]\n" -" ldr r4, _0800E094 @ =gBattle_BG2_X\n" -" ldrh r0, [r6, 0xC]\n" -" bl Sin2\n" -" lsls r0, 16\n" -" asrs r0, 16\n" -" cmp r0, 0\n" -" bge _0800E074\n" -" adds r0, 0x1F\n" -"_0800E074:\n" -" asrs r1, r0, 5\n" -" movs r5, 0x8C\n" -" negs r5, r5\n" -" adds r0, r5, 0\n" -" subs r0, r1\n" -" strh r0, [r4]\n" -" ldr r0, _0800E098 @ =gBattle_BG1_Y\n" -" ldr r2, _0800E09C @ =0x0000ffdc\n" -" adds r1, r2, 0\n" -" strh r1, [r0]\n" -" ldr r0, _0800E0A0 @ =gBattle_BG2_Y\n" -" strh r1, [r0]\n" -" b _0800E110\n" -" .align 2, 0\n" -"_0800E090: .4byte gBattle_BG1_X\n" -"_0800E094: .4byte gBattle_BG2_X\n" -"_0800E098: .4byte gBattle_BG1_Y\n" -"_0800E09C: .4byte 0x0000ffdc\n" -"_0800E0A0: .4byte gBattle_BG2_Y\n" -"_0800E0A4:\n" -" ldr r4, _0800E134 @ =gBattle_BG1_X\n" -" ldrh r0, [r6, 0xA]\n" -" bl Sin2\n" -" lsls r0, 16\n" -" asrs r0, 16\n" -" cmp r0, 0\n" -" bge _0800E0B6\n" -" adds r0, 0x1F\n" -"_0800E0B6:\n" -" asrs r1, r0, 5\n" -" movs r5, 0x14\n" -" negs r5, r5\n" -" adds r0, r5, 0\n" -" subs r0, r1\n" -" strh r0, [r4]\n" -" ldr r4, _0800E138 @ =gBattle_BG1_Y\n" -" ldrh r0, [r6, 0xA]\n" -" bl Cos2\n" -" lsls r0, 16\n" -" asrs r0, 16\n" -" cmp r0, 0\n" -" bge _0800E0D4\n" -" adds r0, 0x1F\n" -"_0800E0D4:\n" -" asrs r0, 5\n" -" subs r0, 0xA4\n" -" strh r0, [r4]\n" -" ldr r4, _0800E13C @ =gBattle_BG2_X\n" -" ldrh r0, [r6, 0xC]\n" -" bl Sin2\n" -" lsls r0, 16\n" -" asrs r0, 16\n" -" cmp r0, 0\n" -" bge _0800E0EC\n" -" adds r0, 0x1F\n" -"_0800E0EC:\n" -" asrs r1, r0, 5\n" -" movs r2, 0x8C\n" -" negs r2, r2\n" -" adds r0, r2, 0\n" -" subs r0, r1\n" -" strh r0, [r4]\n" -" ldr r4, _0800E140 @ =gBattle_BG2_Y\n" -" ldrh r0, [r6, 0xC]\n" -" bl Cos2\n" -" lsls r0, 16\n" -" asrs r0, 16\n" -" cmp r0, 0\n" -" bge _0800E10A\n" -" adds r0, 0x1F\n" -"_0800E10A:\n" -" asrs r0, 5\n" -" subs r0, 0xA4\n" -" strh r0, [r4]\n" -"_0800E110:\n" -" ldr r1, _0800E144 @ =gTasks\n" -" mov r5, r9\n" -" lsls r0, r5, 2\n" -" add r0, r9\n" -" lsls r0, 3\n" -" adds r1, r0, r1\n" -" ldrh r0, [r1, 0xC]\n" -" movs r2, 0xC\n" -" ldrsh r7, [r1, r2]\n" -" cmp r7, 0\n" -" beq _0800E148\n" -" subs r0, 0x2\n" -" strh r0, [r1, 0xC]\n" -" ldrh r0, [r1, 0xA]\n" -" adds r0, 0x2\n" -" strh r0, [r1, 0xA]\n" -" b _0800E212\n" -" .align 2, 0\n" -"_0800E134: .4byte gBattle_BG1_X\n" -"_0800E138: .4byte gBattle_BG1_Y\n" -"_0800E13C: .4byte gBattle_BG2_X\n" -"_0800E140: .4byte gBattle_BG2_Y\n" -"_0800E144: .4byte gTasks\n" -"_0800E148:\n" -" movs r5, 0x12\n" -" ldrsh r0, [r1, r5]\n" -" cmp r0, 0\n" -" beq _0800E154\n" -" bl PrintLinkBattleWinLossTie\n" -"_0800E154:\n" -" movs r0, 0x78\n" -" bl PlaySE\n" -" mov r0, r9\n" -" bl DestroyTask\n" -" ldr r4, _0800E224 @ =gSprites\n" -" ldr r0, _0800E228 @ =0x02000000\n" -" mov r8, r0\n" -" ldr r1, _0800E22C @ =0x0001608a\n" -" add r1, r8\n" -" mov r9, r1\n" -" ldrb r0, [r1]\n" -" lsls r1, r0, 4\n" -" adds r1, r0\n" -" lsls r1, 2\n" -" adds r1, r4\n" -" adds r1, 0x3E\n" -" ldrb r3, [r1]\n" -" movs r2, 0x5\n" -" negs r2, r2\n" -" adds r0, r2, 0\n" -" ands r0, r3\n" -" strb r0, [r1]\n" -" ldr r5, _0800E230 @ =0x0001608b\n" -" add r8, r5\n" -" mov r0, r8\n" -" ldrb r1, [r0]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r4\n" -" adds r0, 0x3E\n" -" ldrb r1, [r0]\n" -" ands r2, r1\n" -" strb r2, [r0]\n" -" mov r1, r8\n" -" ldrb r0, [r1]\n" -" lsls r2, r0, 4\n" -" adds r2, r0\n" -" lsls r2, 2\n" -" adds r2, r4\n" -" ldrh r3, [r2, 0x4]\n" -" lsls r1, r3, 22\n" -" lsrs r1, 22\n" -" adds r1, 0x40\n" -" ldr r5, _0800E234 @ =0x000003ff\n" -" adds r0, r5, 0\n" -" ands r1, r0\n" -" ldr r0, _0800E238 @ =0xfffffc00\n" -" ands r0, r3\n" -" orrs r0, r1\n" -" strh r0, [r2, 0x4]\n" -" mov r0, r9\n" -" ldrb r1, [r0]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r4\n" -" strh r7, [r0, 0x2E]\n" -" mov r2, r8\n" -" ldrb r1, [r2]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r4\n" -" movs r1, 0x1\n" -" strh r1, [r0, 0x2E]\n" -" mov r5, r9\n" -" ldrb r1, [r5]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r4\n" -" ldrh r1, [r0, 0x20]\n" -" strh r1, [r0, 0x30]\n" -" ldrb r1, [r2]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r4\n" -" ldrh r1, [r0, 0x20]\n" -" strh r1, [r0, 0x30]\n" -" ldrb r1, [r5]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r4\n" -" strh r7, [r0, 0x32]\n" -" ldrb r1, [r2]\n" -" lsls r0, r1, 4\n" -" adds r0, r1\n" -" lsls r0, 2\n" -" adds r0, r4\n" -" strh r7, [r0, 0x32]\n" -"_0800E212:\n" -" add sp, 0x10\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" -" .align 2, 0\n" -"_0800E224: .4byte gSprites\n" -"_0800E228: .4byte 0x02000000\n" -"_0800E22C: .4byte 0x0001608a\n" -"_0800E230: .4byte 0x0001608b\n" -"_0800E234: .4byte 0x000003ff\n" -"_0800E238: .4byte 0xfffffc00\n" -" thumb_func_end sub_800DE30\n" -); - -#endif // NONMATCHING - void sub_800E23C(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { -- cgit v1.2.3 From 07a2892bec1356ea7b1ddcec3b95c04360258cbb Mon Sep 17 00:00:00 2001 From: yenatch Date: Sun, 28 Jan 2018 23:10:31 -0500 Subject: name some battle_bg variables --- src/rom_800D42C.c | 253 ++++++++++++++++++++++++++---------------------------- 1 file changed, 123 insertions(+), 130 deletions(-) (limited to 'src') diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c index 55986fed3..54886c1f9 100644 --- a/src/rom_800D42C.c +++ b/src/rom_800D42C.c @@ -1,8 +1,15 @@ #include "global.h" #include "battle.h" +#include "constants/songs.h" +#include "decompress.h" +#include "ewram.h" #include "link.h" +#include "palette.h" +#include "task.h" #include "text.h" -#include "ewram.h" +#include "trig.h" +#include "sound.h" + extern u16 gBattleTypeFlags; extern u8 gBattleOutcome; @@ -13,6 +20,78 @@ extern u8 BattleText_Win[]; extern u8 BattleText_Loss[]; extern u8 BattleText_Tie[]; +extern const u8 gGameVersion; +extern u8 gUnknown_08D00000[]; +extern u16 gUnknown_08D00524[]; +extern u16 gUnknown_08D004E0[]; +extern u16 gBattleTypeFlags; +extern struct Trainer gTrainers[]; +extern u16 gTrainerBattleOpponent; + +extern void *gBattleTerrainTable[][5]; +extern u8 gBattleTerrain; + +extern u8 gBattleTerrainTiles_Cave[]; +extern u8 gBattleTerrainTiles_Water[]; +extern u8 gBattleTerrainTiles_Building[]; +extern u8 gBattleTerrainTiles_Stadium[]; + +extern u16 gBattleTerrainTilemap_Cave[]; +extern u16 gBattleTerrainTilemap_Water[]; +extern u16 gBattleTerrainTilemap_Building[]; +extern u16 gBattleTerrainTilemap_Stadium[]; + +extern u16 gBattleTerrainPalette_Groudon[]; +extern u16 gBattleTerrainPalette_Kyogre[]; +extern u16 gBattleTerrainPalette_BuildingLeader[]; +extern u16 gBattleTerrainPalette_StadiumSteven[]; +extern u16 gBattleTerrainPalette_BuildingGym[]; +extern u16 gBattleTerrainPalette_StadiumMagma[]; +extern u16 gBattleTerrainPalette_StadiumAqua[]; +extern u16 gBattleTerrainPalette_StadiumSidney[]; +extern u16 gBattleTerrainPalette_StadiumPhoebe[]; +extern u16 gBattleTerrainPalette_StadiumGlacia[]; +extern u16 gBattleTerrainPalette_StadiumDrake[]; +extern u16 gBattleTerrainPalette_BattleTower[]; + +extern u8 gBattleTerrainAnimTiles_Building[]; +extern u16 gBattleTerrainAnimTilemap_Building[]; +extern u8 gBattleTerrainAnimTiles_Cave[]; +extern u16 gBattleTerrainAnimTilemap_Cave[]; +extern u8 gBattleTerrainAnimTiles_Underwater[]; +extern u16 gBattleTerrainAnimTilemap_Underwater[]; +extern u8 gVersusFrameGfx[]; +extern u16 gVersusFrameTilemap[]; +extern u8 gUnknown_08E5DC2C[]; +extern u16 gVersusFramePal[]; + +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_Y; +extern struct CompressedSpriteSheet gUnknown_081F95A4; + +extern u8 sav1_map_get_battletype(void); +extern void sub_800D74C(void); + +struct LinkResultWindow { + struct Window *window; + u16 offset; + u8 left; + u8 top; + u8 *dest; +}; + +#define gLinkResultWindows gUnknown_081F9680 +extern const struct LinkResultWindow gLinkResultWindows[]; +extern void PrintLinkBattleWinLossTie(void); +extern void sub_800DAF8(u8, u8, u8 *); + +extern struct SpriteTemplate gSpriteTemplate_81F9574; +extern struct SpriteTemplate gSpriteTemplate_81F958C; + +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG2_X; + + #if ENGLISH #define LEFT_MESSAGE_X 6 #define RIGHT_MESSAGE_X 21 @@ -119,94 +198,9 @@ void PrintLinkBattleWinLossTie(void) } -#include "global.h" -#include "decompress.h" -#include "palette.h" -#include "battle.h" -#include "text.h" -#include "trig.h" -#include "sound.h" -#include "constants/songs.h" -#include "task.h" -#include "link.h" - - -#define gBattle gBattleStruct - -extern const u8 gGameVersion; -extern u8 gUnknown_08D00000[]; -extern u16 gUnknown_08D00524[]; -extern u16 gUnknown_08D004E0[]; -extern u16 gBattleTypeFlags; -extern struct Trainer gTrainers[]; -extern u16 gTrainerBattleOpponent; - -extern void *gBattleTerrainTable[][5]; -extern u8 gBattleTerrain; - -extern u8 gBattleTerrainTiles_Cave[]; -extern u8 gBattleTerrainTiles_Water[]; -extern u8 gBattleTerrainTiles_Building[]; -extern u8 gBattleTerrainTiles_Stadium[]; - -extern u16 gBattleTerrainTilemap_Cave[]; -extern u16 gBattleTerrainTilemap_Water[]; -extern u16 gBattleTerrainTilemap_Building[]; -extern u16 gBattleTerrainTilemap_Stadium[]; - -extern u16 gBattleTerrainPalette_Groudon[]; -extern u16 gBattleTerrainPalette_Kyogre[]; -extern u16 gBattleTerrainPalette_BuildingLeader[]; -extern u16 gBattleTerrainPalette_StadiumSteven[]; -extern u16 gBattleTerrainPalette_BuildingGym[]; -extern u16 gBattleTerrainPalette_StadiumMagma[]; -extern u16 gBattleTerrainPalette_StadiumAqua[]; -extern u16 gBattleTerrainPalette_StadiumSidney[]; -extern u16 gBattleTerrainPalette_StadiumPhoebe[]; -extern u16 gBattleTerrainPalette_StadiumGlacia[]; -extern u16 gBattleTerrainPalette_StadiumDrake[]; -extern u16 gBattleTerrainPalette_BattleTower[]; - -extern u8 gBattleTerrainAnimTiles_Building[]; -extern u16 gBattleTerrainAnimTilemap_Building[]; -extern u8 gBattleTerrainAnimTiles_Cave[]; -extern u16 gBattleTerrainAnimTilemap_Cave[]; -extern u8 gBattleTerrainAnimTiles_Underwater[]; -extern u16 gBattleTerrainAnimTilemap_Underwater[]; -extern u8 gVersusFrameGfx[]; -extern u16 gVersusFrameTilemap[]; -extern u8 gUnknown_08E5DC2C[]; -extern u16 gVersusFramePal[]; - -extern u16 gBattle_BG1_Y; -extern u16 gBattle_BG2_Y; -extern struct CompressedSpriteSheet gUnknown_081F95A4; - -extern u8 sav1_map_get_battletype(void); -extern void sub_800D74C(void); - -struct Struct_081F9680 { - struct Window *window; - u16 offset; - u8 left; - u8 top; - u8 *field_8; -}; - -extern const struct Struct_081F9680 gUnknown_081F9680[]; -extern void PrintLinkBattleWinLossTie(void); -extern void sub_800DAF8(u8, u8, u8 *); - -extern struct SpriteTemplate gSpriteTemplate_81F9574; -extern struct SpriteTemplate gSpriteTemplate_81F958C; - -extern u16 gBattle_BG1_X; -extern u16 gBattle_BG2_X; - - void sub_800DE30(u8 taskId) { - int palette; + u8 palette; int i; switch (gTasks[taskId].data[0]) { @@ -214,46 +208,46 @@ void sub_800DE30(u8 taskId) case 0: if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { for (i = 0; i < 4; i++) { - u8 sp8 = (gLinkPlayers[i].lp_field_18 & 3); + u8 windowId = (gLinkPlayers[i].lp_field_18 & 3); Text_InitWindow8002E4C( - gUnknown_081F9680[sp8].window, + gLinkResultWindows[windowId].window, gLinkPlayers[i].name, - gUnknown_081F9680[sp8].offset, - gUnknown_081F9680[sp8].left, - gUnknown_081F9680[sp8].top, + gLinkResultWindows[windowId].offset, + gLinkResultWindows[windowId].left, + gLinkResultWindows[windowId].top, 1); - Text_PrintWindow8002F44(gUnknown_081F9680[sp8].window); - sub_800DAF8(taskId, sp8, gUnknown_081F9680[sp8].field_8); + Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); + sub_800DAF8(taskId, windowId, gLinkResultWindows[windowId].dest); } } else { - u8 sp8 = 4; + u8 windowId = 4; - u8 r7 = gBattle->linkPlayerIndex; - u8 r6 = gBattle->linkPlayerIndex ^ 1; - if (gLinkPlayers[r7].lp_field_18) { - r6 = gBattle->linkPlayerIndex; - r7 = gBattle->linkPlayerIndex ^ 1; + u8 playerId = gBattleStruct->linkPlayerIndex; + u8 opponentId = gBattleStruct->linkPlayerIndex ^ 1; + if (gLinkPlayers[playerId].lp_field_18) { + opponentId = gBattleStruct->linkPlayerIndex; + playerId = gBattleStruct->linkPlayerIndex ^ 1; } Text_InitWindow8002E4C( - gUnknown_081F9680[sp8].window, - gLinkPlayers[r7].name, - gUnknown_081F9680[sp8].offset, - gUnknown_081F9680[sp8].left, - gUnknown_081F9680[sp8].top, + gLinkResultWindows[windowId].window, + gLinkPlayers[playerId].name, + gLinkResultWindows[windowId].offset, + gLinkResultWindows[windowId].left, + gLinkResultWindows[windowId].top, 1); - Text_PrintWindow8002F44(gUnknown_081F9680[sp8].window); - sub_800DAF8(taskId, r7, gUnknown_081F9680[sp8].field_8); + Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); + sub_800DAF8(taskId, playerId, gLinkResultWindows[windowId].dest); Text_InitWindow8002E4C( - gUnknown_081F9680[sp8 + 1].window, - gLinkPlayers[r6].name, - gUnknown_081F9680[sp8 + 1].offset, - gUnknown_081F9680[sp8 + 1].left, - gUnknown_081F9680[sp8 + 1].top, + gLinkResultWindows[windowId + 1].window, + gLinkPlayers[opponentId].name, + gLinkResultWindows[windowId + 1].offset, + gLinkResultWindows[windowId + 1].left, + gLinkResultWindows[windowId + 1].top, 1); - Text_PrintWindow8002F44(gUnknown_081F9680[sp8 + 1].window); - sub_800DAF8(taskId, r6, gUnknown_081F9680[sp8 + 1].field_8); + Text_PrintWindow8002F44(gLinkResultWindows[windowId + 1].window); + sub_800DAF8(taskId, opponentId, gLinkResultWindows[windowId + 1].dest); } gTasks[taskId].data[0]++; break; @@ -261,10 +255,10 @@ void sub_800DE30(u8 taskId) case 1: palette = AllocSpritePalette(10000); gPlttBufferUnfaded[palette * 16 + 0x10f] = gPlttBufferFaded[palette * 16 + 0x10f] = 0x7fff; - gBattle->unk1608A = CreateSprite(&gSpriteTemplate_81F9574, 108, 80, 0); - gBattle->unk1608B = CreateSprite(&gSpriteTemplate_81F958C, 132, 80, 0); - gSprites[gBattle->unk1608A].invisible = TRUE; - gSprites[gBattle->unk1608B].invisible = TRUE; + gBattleStruct->unk1608A = CreateSprite(&gSpriteTemplate_81F9574, 108, 80, 0); + gBattleStruct->unk1608B = CreateSprite(&gSpriteTemplate_81F958C, 132, 80, 0); + gSprites[gBattleStruct->unk1608A].invisible = TRUE; + gSprites[gBattleStruct->unk1608B].invisible = TRUE; gTasks[taskId].data[0]++; break; @@ -289,21 +283,20 @@ void sub_800DE30(u8 taskId) } PlaySE(SE_W231); DestroyTask(taskId); - gSprites[gBattle->unk1608A].invisible = FALSE; - gSprites[gBattle->unk1608B].invisible = FALSE; - gSprites[gBattle->unk1608B].oam.tileNum += 0x40; - gSprites[gBattle->unk1608A].data[0] = 0; - gSprites[gBattle->unk1608B].data[0] = 1; - gSprites[gBattle->unk1608A].data[1] = gSprites[gBattle->unk1608A].pos1.x; - gSprites[gBattle->unk1608B].data[1] = gSprites[gBattle->unk1608B].pos1.x; - gSprites[gBattle->unk1608A].data[2] = 0; - gSprites[gBattle->unk1608B].data[2] = 0; + gSprites[gBattleStruct->unk1608A].invisible = FALSE; + gSprites[gBattleStruct->unk1608B].invisible = FALSE; + gSprites[gBattleStruct->unk1608B].oam.tileNum += 0x40; + gSprites[gBattleStruct->unk1608A].data[0] = 0; + gSprites[gBattleStruct->unk1608B].data[0] = 1; + gSprites[gBattleStruct->unk1608A].data[1] = gSprites[gBattleStruct->unk1608A].pos1.x; + gSprites[gBattleStruct->unk1608B].data[1] = gSprites[gBattleStruct->unk1608B].pos1.x; + gSprites[gBattleStruct->unk1608A].data[2] = 0; + gSprites[gBattleStruct->unk1608B].data[2] = 0; } break; } } - void sub_800E23C(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { LZDecompressVram(gVersusFrameGfx, (void *)0x6004000); @@ -352,9 +345,9 @@ void sub_800E23C(void) { LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); } -int sub_800E414(u8 a1) { +int sub_800E414(u8 type) { int ret = 0; - switch (a1) { + switch (type) { case 0: LZDecompressVram(&gUnknown_08D00000, (void *)0x6000000); break; -- cgit v1.2.3 From 3ed97d94be70bee91b581517311c01cf20c917de Mon Sep 17 00:00:00 2001 From: yenatch Date: Mon, 29 Jan 2018 23:51:07 -0500 Subject: more battle_1 functions --- src/rom_800D42C.c | 241 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 235 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c index 54886c1f9..243945360 100644 --- a/src/rom_800D42C.c +++ b/src/rom_800D42C.c @@ -4,9 +4,12 @@ #include "decompress.h" #include "ewram.h" #include "link.h" +#include "main.h" #include "palette.h" #include "task.h" #include "text.h" +#include "text_window.h" +#include "trainer.h" #include "trig.h" #include "sound.h" @@ -20,6 +23,11 @@ extern u8 BattleText_Win[]; extern u8 BattleText_Loss[]; extern u8 BattleText_Tie[]; +extern void sub_8032A38(void); + +#define GetCurrentMapBattleScene sav1_map_get_battletype +//extern u8 GetCurrentMapBattleScene(void); + extern const u8 gGameVersion; extern u8 gUnknown_08D00000[]; extern u16 gUnknown_08D00524[]; @@ -28,7 +36,15 @@ extern u16 gBattleTypeFlags; extern struct Trainer gTrainers[]; extern u16 gTrainerBattleOpponent; -extern void *gBattleTerrainTable[][5]; +struct BattleBackground { + void *tileset; + void *tilemap; + void *entryTiles; + void *entryTilemap; + void *palette; +}; +extern struct BattleBackground gBattleTerrainTable[]; + extern u8 gBattleTerrain; extern u8 gBattleTerrainTiles_Cave[]; @@ -87,11 +103,224 @@ extern void sub_800DAF8(u8, u8, u8 *); extern struct SpriteTemplate gSpriteTemplate_81F9574; extern struct SpriteTemplate gSpriteTemplate_81F958C; +extern struct SpriteTemplate gSpriteTemplate_81F96D0; extern u16 gBattle_BG1_X; extern u16 gBattle_BG2_X; +void sub_800D6C4(void); + + +void unref_sub_800D684(void) +{ + u8 spriteId; + ResetSpriteData(); + spriteId = CreateSprite(&gSpriteTemplate_81F96D0, 0, 0, 0); + gSprites[spriteId].invisible = TRUE; + SetMainCallback2(sub_800D6C4); +} + +void sub_800D6C4(void) +{ + AnimateSprites(); + BuildOamBuffer(); +} + +void sub_800D6D4(void) +{ + u16 ime = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = ime; + REG_DISPSTAT = DISPSTAT_VBLANK_INTR; + REG_BG0CNT = 0x9800; + REG_BG1CNT = 0x9c04; + REG_BG2CNT = 0x5e05; + REG_BG3CNT = 0x5a0b; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + REG_DISPCNT = 0xbf40; +} + +// ApplyPlayerChosenFrameToBattleMenu +void sub_800D74C(void) +{ + TextWindow_SetBaseTileNum(0x12); + TextWindow_LoadStdFrameGraphicsOverridePal(&gUnknown_03004210, 1); + TextWindow_SetBaseTileNum(0x22); + TextWindow_LoadStdFrameGraphicsOverridePal(&gUnknown_03004210, 1); + gPlttBufferUnfaded[92] = 0x7fe0; + gPlttBufferUnfaded[93] = 0x2529; + gPlttBufferUnfaded[94] = 0x7fff; + gPlttBufferUnfaded[95] = 0x675a; + CpuSet(&gPlttBufferUnfaded[92], &gPlttBufferFaded[92], 4); + sub_8032A38(); +} + +void DrawMainBattleBackground(void) +{ + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER /*| BATTLE_TYPE_x2000000*/)) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_RUBY) + { + LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + } + else + { + LZDecompressVram(gBattleTerrainTiles_Water, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + } + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent].trainerClass; + if (trainerClass == TRAINER_CLASS_LEADER) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + return; + } + else if (trainerClass == TRAINER_CLASS_CHAMPION) + { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); + return; + } + } + + switch (GetCurrentMapBattleScene()) + { + case MAP_BATTLE_SCENE_NORMAL: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GYM: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_MAGMA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_AQUA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_SIDNEY: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_PHOEBE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GLACIA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_DRAKE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_BATTLE_TOWER: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + } +} + + + +void sub_800DAB8(void) +{ + LZDecompressVram(gUnknown_08D00000, (void *)0x6000000); + CpuSet(gUnknown_08D00524, (void *)0x600c000, 0x800); + LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); + sub_800D74C(); + DrawMainBattleBackground(); +} + +void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) +{ + int i; + u16 r4 = 0; + u16 src[6]; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { + if (gTasks[taskId].data[5]) { + switch (windowId) { + case 0: + r4 = gTasks[taskId].data[3] & 0x3f; + break; + case 1: + r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; + break; + case 2: + r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; + break; + case 3: + r4 = gTasks[taskId].data[4] & 0x3f; + break; + } + } else { + switch (windowId) { + case 0: + r4 = gTasks[taskId].data[3] & 0x3f; + break; + case 1: + r4 = gTasks[taskId].data[4] & 0x3f; + break; + case 2: + r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; + break; + case 3: + r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; + break; + } + } + for (i = 0; i < 3; i++) { + src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + CpuSet(src, dest, 3); + } else { + if (windowId == gBattleStruct->linkPlayerIndex) { + r4 = gTasks[taskId].data[3]; + } else { + r4 = gTasks[taskId].data[4]; + } + for (i = 0; i < 6; i++) { + src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + CpuSet(src, dest, 6); + } +} + + #if ENGLISH #define LEFT_MESSAGE_X 6 #define RIGHT_MESSAGE_X 21 @@ -337,8 +566,8 @@ void sub_800E23C(void) { } } if (sav1_map_get_battletype() == 0) { - LZDecompressVram(gBattleTerrainTable[gBattleTerrain][2], (void *)0x6004000); - LZDecompressVram(gBattleTerrainTable[gBattleTerrain][3], (void *)0x600e000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTiles, (void *)0x6004000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)0x600e000); return; } LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); @@ -379,7 +608,7 @@ int sub_800E414(u8 type) { } switch (sav1_map_get_battletype()) { case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain][0], (void *)0x6008000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void *)0x6008000); break; case 2: LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); @@ -432,7 +661,7 @@ int sub_800E414(u8 type) { } switch (sav1_map_get_battletype()) { case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain][1], (void *)0x600d000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void *)0x600d000); break; case 2: LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); @@ -485,7 +714,7 @@ int sub_800E414(u8 type) { } switch (sav1_map_get_battletype()) { case 0: - LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain][4], 0x20, 0x60); + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); break; case 1: LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); -- cgit v1.2.3 From b07c9d88326dc5b1383a2179a24b4c5ba954474a Mon Sep 17 00:00:00 2001 From: yenatch Date: Sat, 3 Feb 2018 13:39:04 -0500 Subject: fix a goto in battle_2 --- src/battle/battle_2.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 2ad2adb04..6f885b20e 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -727,16 +727,14 @@ void sub_800F298(void) ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); gBattleCommunication[0]++; - goto step_2; - } - break; + // fallthrough case 2: - step_2: - if (IsLinkTaskFinished()) - { - SendBlock(bitmask_all_link_players_but_self(), ewram1D000, sizeof(struct Pokemon) * 2); - gBattleCommunication[0]++; - } + if (IsLinkTaskFinished()) + { + SendBlock(bitmask_all_link_players_but_self(), ewram1D000, sizeof(struct Pokemon) * 2); + gBattleCommunication[0]++; + } + } break; case 3: if ((GetBlockReceivedStatus() & 0xF) == 0xF) -- cgit v1.2.3 From 2c4d7844e48864d962573eb66fe4b9e68b9631f0 Mon Sep 17 00:00:00 2001 From: yenatch Date: Sat, 3 Feb 2018 13:41:36 -0500 Subject: trainer constants in battle_setup and pokemon_2 --- src/battle/battle_setup.c | 18 +++++++++--------- src/pokemon/pokemon_2.c | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index 15555f833..83283b9e2 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -802,25 +802,25 @@ static u8 GetTrainerBattleTransition(void) u8 enemyLevel; u8 playerLevel; - if (gTrainerBattleOpponent == SECRET_BASE_OPPONENT) // link battle? + if (gTrainerBattleOpponent == SECRET_BASE_OPPONENT) return B_TRANSITION_STEVEN; trainer = gTrainers; - if (trainer[gTrainerBattleOpponent].trainerClass == 24) // league? + if (trainer[gTrainerBattleOpponent].trainerClass == TRAINER_CLASS_ELITE_FOUR) { - if (gTrainerBattleOpponent == 261) + if (gTrainerBattleOpponent == OPPONENT_SIDNEY) return B_TRANSITION_SYDNEY; - if (gTrainerBattleOpponent == 262) + if (gTrainerBattleOpponent == OPPONENT_PHOEBE) return B_TRANSITION_PHOEBE; - if (gTrainerBattleOpponent == 263) + if (gTrainerBattleOpponent == OPPONENT_GLACIA) return B_TRANSITION_GLACIA; - if (gTrainerBattleOpponent == 264) + if (gTrainerBattleOpponent == OPPONENT_DRAKE) return B_TRANSITION_DRAKE; return B_TRANSITION_STEVEN; } - if (trainer[gTrainerBattleOpponent].trainerClass == 32) // team leader? + if (trainer[gTrainerBattleOpponent].trainerClass == TRAINER_CLASS_CHAMPION) return B_TRANSITION_STEVEN; if (trainer[gTrainerBattleOpponent].doubleBattle == TRUE) @@ -1096,7 +1096,7 @@ void CB2_EndTrainerBattle(void) { if (gTrainerBattleOpponent == SECRET_BASE_OPPONENT) { - SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); // link battle? + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { @@ -1113,7 +1113,7 @@ void CB2_EndTrainerEyeRematchBattle(void) { if (gTrainerBattleOpponent == SECRET_BASE_OPPONENT) { - SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); // link battle? + SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music); } else if (IsPlayerDefeated(gBattleOutcome) == TRUE) { diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c index 7fd1aa7b2..17f073815 100644 --- a/src/pokemon/pokemon_2.c +++ b/src/pokemon/pokemon_2.c @@ -1102,8 +1102,8 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) } } - gBattleTypeFlags = 8; - gTrainerBattleOpponent = 1024; + gBattleTypeFlags = BATTLE_TYPE_TRAINER; + gTrainerBattleOpponent = SECRET_BASE_OPPONENT; } const u8 gSecretBaseTrainerClasses[][5] = { -- cgit v1.2.3 From 78ba4a3f3d75a0224e2b2592ff8f0953d01e5229 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 09:54:44 -0500 Subject: through TomomichiDebugMenu_ContestGraphics --- src/debug/tomomichi_debug_menu.c | 118 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index c3616797e..143989c66 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1,11 +1,17 @@ #if DEBUG #include "global.h" +#include "constants/songs.h" +#include "overworld.h" +#include "menu.h" +#include "start_menu.h" +#include "main.h" +#include "sound.h" // These should be static, uninitialized once it gets decompiled. #define BSS_DATA __attribute__((section(".bss"))) -BSS_DATA u8 gDebug_03000700[4] = {0}; -BSS_DATA u8 gDebug_03000704[4] = {0}; -BSS_DATA u8 gDebug_03000708[4] = {0}; +BSS_DATA u16 gDebug_03000700 = 0; +BSS_DATA u32 gDebug_03000704 = 0; +BSS_DATA u32 gDebug_03000708 = 0; BSS_DATA u8 gDebug_0300070C = 0; BSS_DATA u8 gDebug_0300070D = 0; BSS_DATA u8 gDebug_0300070E = 0; @@ -17,4 +23,110 @@ BSS_DATA u8 gDebug_0300071F = 0; BSS_DATA u8 gDebug_03000720 = 0; BSS_DATA u8 gDebug_03000721 = 0; +bool8 debug_sub_808B874(void); +bool8 debug_sub_808B8C8(void); +bool8 TomomichiDebugMenu_ContestGraphics(void); +bool8 TomomichiDebugMenu_ArtMusGraphics(void); +bool8 TomomichiDebugMenu_PreviewData(void); +bool8 TomomichiDebugMenu_TrickHouse(void); +bool8 TomomichiDebugMenu_ControlEvents(void); +bool8 TomomichiDebugMenu_ControlFlags(void); +bool8 TomomichiDebugMenu_ControlWorks(void); +bool8 TomomichiDebugMenu_Config(void); +bool8 TomomichiDebugMenu_ContestGraphics_Show(void); +bool8 debug_sub_808BC48(void); + +const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); +const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); +const u8 gUnknown_Debug_083C0C77[] = _("Preview data"); +const u8 gUnknown_Debug_083C0C84[] = _("TRICK HOUSE"); +const u8 gUnknown_Debug_083C0C90[] = _("Control events"); +const u8 gUnknown_Debug_083C0C9F[] = _("Control flags"); +const u8 gUnknown_Debug_083C0CAD[] = _("Control WORK"); + +const struct MenuAction gUnknown_Debug_083C0CBA[] = { + {gUnknown_Debug_083C0C54, TomomichiDebugMenu_ContestGraphics}, + {gUnknown_Debug_083C0C65, TomomichiDebugMenu_ArtMusGraphics}, + {gUnknown_Debug_083C0C77, TomomichiDebugMenu_PreviewData}, + {gUnknown_Debug_083C0C84, TomomichiDebugMenu_TrickHouse}, + {gUnknown_Debug_083C0C90, TomomichiDebugMenu_ControlEvents}, + {gUnknown_Debug_083C0C9F, TomomichiDebugMenu_ControlFlags}, + {gUnknown_Debug_083C0CAD, TomomichiDebugMenu_ControlWorks}, +}; + +const u8 gUnknown_Debug_083C0CF4[] = _("Contest"); + +const u8 gUnknown_Debug_083C0CFC[] = _("Pokémon No."); +const u8 gUnknown_Debug_083C0D08[] = _("ID rnd. digit"); +const u8 gUnknown_Debug_083C0D16[] = _("Contest Type"); +const u8 gUnknown_Debug_083C0D23[] = _("Poké Art"); + +const struct MenuAction gUnknown_Debug_083C0D2C[] = { + {gUnknown_Debug_083C0CFC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0D08, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0D16, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0D23, TomomichiDebugMenu_ContestGraphics_Show} +}; + +bool8 InitTomomichiDebugWindow(void) +{ + debug_sub_808B874(); + return FALSE; +} + +void debug_sub_808B868(void) +{ + c2_exit_to_overworld_1_continue_scripts_restart_music(); +} + +bool8 debug_sub_808B874(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 13, 15); + Menu_PrintItems(1, 1, 7, gUnknown_Debug_083C0CBA); + InitMenu(0, 1, 1, 7, gDebug_0300071D, 12); + gMenuCallback = debug_sub_808B8C8; + return FALSE; +} + +bool8 debug_sub_808B8C8(void) +{ + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gDebug_0300071D = Menu_MoveCursor(-1); + } + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gDebug_0300071D = Menu_MoveCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_Debug_083C0CBA[gDebug_0300071D].func(); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +bool8 TomomichiDebugMenu_ContestGraphics(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 20, 11); + Menu_PrintText(gUnknown_Debug_083C0CF4, 1, 1); + Menu_PrintItems(2, 3, 4, gUnknown_Debug_083C0D2C); + InitMenu(0, 1, 3, 4, 0, 19); + gMenuCallback = debug_sub_808BC48; + gDebug_03000700 = 1; + gDebug_03000704 = 0x6f33; + gDebug_03000708 = 0; + gDebug_0300070C = 1; + return FALSE; +} + #endif -- cgit v1.2.3 From 5eb0b5fbe2f95b360f6da9503bbe240039c15b1f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 10:48:07 -0500 Subject: through TomomichiDebugMenu_ControlWorks --- src/debug/tomomichi_debug_menu.c | 184 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 180 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 143989c66..11c66ace1 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -35,6 +35,31 @@ bool8 TomomichiDebugMenu_ControlWorks(void); bool8 TomomichiDebugMenu_Config(void); bool8 TomomichiDebugMenu_ContestGraphics_Show(void); bool8 debug_sub_808BC48(void); +bool8 debug_sub_808BCBC(void); +bool8 TomomichiDebugMenu_MuseumGraphics_Show(void); +bool8 debug_sub_808BD30(void); +bool8 debug_sub_808BDA4(void); +bool8 debug_sub_808BE2C(void); +bool8 debug_sub_808BEB4(void); +bool8 debug_sub_808BF3C(void); +bool8 debug_sub_808ECA4(void); +bool8 debug_sub_808EB58(void); +bool8 debug_sub_808EBB4(void); +bool8 debug_sub_808BFC4(void); +bool8 debug_sub_808C014(void); +bool8 debug_sub_808C31C(void); +bool8 debug_sub_808C7C8(void); +bool8 debug_sub_808CC74(void); +bool8 debug_sub_808CF10(void); +bool8 debug_sub_808D844(void); +bool8 debug_sub_808D600(void); +bool8 debug_sub_808D3BC(void); +bool8 debug_sub_808DB0C(void); +bool8 debug_sub_808E36C(void); +bool8 debug_sub_808E6C0(void); +bool8 debug_sub_808E90C(void); +bool8 debug_sub_808DA30(void); +bool8 debug_sub_808DFC0(void); const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); @@ -68,6 +93,86 @@ const struct MenuAction gUnknown_Debug_083C0D2C[] = { {gUnknown_Debug_083C0D23, TomomichiDebugMenu_ContestGraphics_Show} }; +const u8 gUnknown_Debug_083C0D4C[] = _("Art Mus."); +const u8 gUnknown_Debug_083C0D55[] = _("Pokémon No."); +const u8 gUnknown_Debug_083C0D61[] = _("ID rnd. digit"); +const u8 gUnknown_Debug_083C0D6F[] = _("Title Type"); +const u8 gUnknown_Debug_083C0D7A[] = _("Poké Art"); + +const struct MenuAction gUnknown_Debug_083C0D83[] = { + {gUnknown_Debug_083C0D55, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0D61, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0D6F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0D7A, TomomichiDebugMenu_MuseumGraphics_Show} +}; + +const u8 gUnknown_Debug_083C0DA4[] = _("Preview"); + +const u8 gUnknown_Debug_083C0DAC[] = _("Pokémon No."); +const u8 gUnknown_Debug_083C0DB8[] = _("ID rnd. digit"); +const u8 gUnknown_Debug_083C0DC6[] = _("Type"); +const u8 gUnknown_Debug_083C0DCB[] = _("Poké Art"); + +const struct MenuAction gUnknown_Debug_083C0DD4[] = { + {gUnknown_Debug_083C0DAC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0DB8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0DC6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C0DCB, debug_sub_808ECA4} +}; + +const u8 gUnknown_Debug_083C0DF4[] = _("Trick related"); + +const u8 gUnknown_Debug_083C0E02[] = _("Level"); +const u8 gUnknown_Debug_083C0E08[] = _("Trick Master"); + +const struct MenuAction gUnknown_Debug_083C0E15[] = { + {gUnknown_Debug_083C0E02, debug_sub_808EB58}, + {gUnknown_Debug_083C0E08, debug_sub_808EBB4} +}; + +const u8 gUnknown_Debug_083C0E28[] = _("パート1"); +const u8 gUnknown_Debug_083C0E2D[] = _("パート2"); + +const struct MenuAction gUnknown_Debug_083C0E32[] = { + {gUnknown_Debug_083C0E28, debug_sub_808BFC4}, + {gUnknown_Debug_083C0E2D, debug_sub_808C014} +}; + +const u8 gUnknown_Debug_083C0E44[] = _("イベントFLAG"); +const u8 gUnknown_Debug_083C0E4D[] = _("バニシュFLAG"); +const u8 gUnknown_Debug_083C0E56[] = _("トレーナーFLAG"); +const u8 gUnknown_Debug_083C0E60[] = _("SYSFLAG"); +const u8 gUnknown_Debug_083C0E68[] = _("BALLバニシュFLAG"); +const u8 gUnknown_Debug_083C0E75[] = _("FH"); +const u8 gUnknown_Debug_083C0E78[] = _("FH-OBJ"); + +const struct MenuAction gUnknown_Debug_083C0E7F[] = { + {gUnknown_Debug_083C0E44, debug_sub_808C31C}, + {gUnknown_Debug_083C0E4D, debug_sub_808C7C8}, + {gUnknown_Debug_083C0E56, debug_sub_808CC74}, + {gUnknown_Debug_083C0E60, debug_sub_808CF10}, + {gUnknown_Debug_083C0E68, debug_sub_808D844}, + {gUnknown_Debug_083C0E75, debug_sub_808D600}, + {gUnknown_Debug_083C0E78, debug_sub_808D3BC} +}; + +const u8 gUnknown_Debug_083C0EB8[] = _("SAVEWORK"); + +const u8 gUnknown_Debug_083C0EC1[] = _("SYSWORK"); +const u8 gUnknown_Debug_083C0EC9[] = _("LOCALWORK"); +const u8 gUnknown_Debug_083C0ED3[] = _("OBJWORK"); +const u8 gUnknown_Debug_083C0EDB[] = _("ANSWORK"); +const u8 gUnknown_Debug_083C0EE3[] = _("SAVEWORK パート2"); + +const struct MenuAction gUnknown_Debug_083C0EF1[] = { + {gUnknown_Debug_083C0EB8, debug_sub_808DB0C}, + {gUnknown_Debug_083C0EC1, debug_sub_808E36C}, + {gUnknown_Debug_083C0EC9, debug_sub_808E6C0}, + {gUnknown_Debug_083C0ED3, debug_sub_808E90C}, + {gUnknown_Debug_083C0EDB, debug_sub_808DA30}, + {gUnknown_Debug_083C0EE3, debug_sub_808DFC0} +}; + bool8 InitTomomichiDebugWindow(void) { debug_sub_808B874(); @@ -83,8 +188,8 @@ bool8 debug_sub_808B874(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 13, 15); - Menu_PrintItems(1, 1, 7, gUnknown_Debug_083C0CBA); - InitMenu(0, 1, 1, 7, gDebug_0300071D, 12); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C0CBA), gUnknown_Debug_083C0CBA); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0CBA), gDebug_0300071D, 12); gMenuCallback = debug_sub_808B8C8; return FALSE; } @@ -119,8 +224,8 @@ bool8 TomomichiDebugMenu_ContestGraphics(void) Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); Menu_PrintText(gUnknown_Debug_083C0CF4, 1, 1); - Menu_PrintItems(2, 3, 4, gUnknown_Debug_083C0D2C); - InitMenu(0, 1, 3, 4, 0, 19); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0D2C), gUnknown_Debug_083C0D2C); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0D2C), 0, 19); gMenuCallback = debug_sub_808BC48; gDebug_03000700 = 1; gDebug_03000704 = 0x6f33; @@ -129,4 +234,75 @@ bool8 TomomichiDebugMenu_ContestGraphics(void) return FALSE; } +bool8 TomomichiDebugMenu_ArtMusGraphics(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 20, 11); + Menu_PrintText(gUnknown_Debug_083C0D4C, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0D83), gUnknown_Debug_083C0D83); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0D83), 0, 19); + gMenuCallback = debug_sub_808BCBC; + gDebug_03000700 = 1; + gDebug_03000704 = 0x6f33; + gDebug_03000708 = 0; + gDebug_0300070D = 1; + return FALSE; +} + +bool8 TomomichiDebugMenu_PreviewData(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 20, 11); + Menu_PrintText(gUnknown_Debug_083C0DA4, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0DD4), gUnknown_Debug_083C0DD4); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0DD4), 0, 19); + gMenuCallback = debug_sub_808BD30; + gDebug_03000700 = 1; + gDebug_03000704 = 0x6f33; + gDebug_03000708 = 0; + gDebug_0300070E = 1; + return FALSE; +} + +bool8 TomomichiDebugMenu_TrickHouse(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 7); + Menu_PrintText(gUnknown_Debug_083C0DF4, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0E15), gUnknown_Debug_083C0E15); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0E15), gDebug_0300071E, 23); + gMenuCallback = debug_sub_808BDA4; + return FALSE; +} + +bool8 TomomichiDebugMenu_ControlEvents(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 5); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0E32), gUnknown_Debug_083C0E32); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E32), gDebug_0300071F, 23); + gMenuCallback = debug_sub_808BE2C; + return FALSE; +} + +bool8 TomomichiDebugMenu_ControlFlags(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 15); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0E7F), gUnknown_Debug_083C0E7F); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E7F), gDebug_03000720, 23); + gMenuCallback = debug_sub_808BEB4; + return FALSE; +} + +bool8 TomomichiDebugMenu_ControlWorks(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 13); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0EF1), gUnknown_Debug_083C0EF1); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0EF1), gDebug_03000721, 23); + gMenuCallback = debug_sub_808BF3C; + return FALSE; +} + #endif -- cgit v1.2.3 From bfaa4de6e8abd81cc7e592ad9f4df3750f71c359 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 11:02:00 -0500 Subject: debug_sub_808BC48 --- src/debug/tomomichi_debug_menu.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 11c66ace1..fef72e4b3 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -60,6 +60,10 @@ bool8 debug_sub_808E6C0(void); bool8 debug_sub_808E90C(void); bool8 debug_sub_808DA30(void); bool8 debug_sub_808DFC0(void); +void debug_sub_808ED0C(void); +void debug_sub_808ED9C(void); +void debug_sub_808EE3C(void); +void debug_sub_808EF8C(u32 a0); const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); @@ -305,4 +309,37 @@ bool8 TomomichiDebugMenu_ControlWorks(void) return FALSE; } +bool8 debug_sub_808BC48(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + switch (cursorPos) + { + case 0: + debug_sub_808ED0C(); + break; + case 1: + debug_sub_808ED9C(); + break; + case 2: + debug_sub_808EE3C(); + break; + } + debug_sub_808EF8C(0); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + if (input == 3) + { + gMenuCallback = gUnknown_Debug_083C0D2C[3].func; + return FALSE; + } + return FALSE; +} + #endif -- cgit v1.2.3 From c9f82001883cb3c2828467bee7fc70ba18ce2569 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 11:17:46 -0500 Subject: through debug_sub_808BDA4 --- src/debug/tomomichi_debug_menu.c | 93 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index fef72e4b3..c90364647 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -63,6 +63,8 @@ bool8 debug_sub_808DFC0(void); void debug_sub_808ED0C(void); void debug_sub_808ED9C(void); void debug_sub_808EE3C(void); +void debug_sub_808EE9C(void); +void debug_sub_808EF14(void); void debug_sub_808EF8C(u32 a0); const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); @@ -342,4 +344,95 @@ bool8 debug_sub_808BC48(void) return FALSE; } +bool8 debug_sub_808BCBC(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + switch (cursorPos) + { + case 0: + debug_sub_808ED0C(); + break; + case 1: + debug_sub_808ED9C(); + break; + case 2: + debug_sub_808EE9C(); + break; + } + debug_sub_808EF8C(1); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + if (input == 3) + { + gMenuCallback = gUnknown_Debug_083C0D83[3].func; + return FALSE; + } + return FALSE; +} + +bool8 debug_sub_808BD30(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + switch (cursorPos) + { + case 0: + debug_sub_808ED0C(); + break; + case 1: + debug_sub_808ED9C(); + break; + case 2: + debug_sub_808EF14(); + break; + } + debug_sub_808EF8C(2); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + if (input == 3) + { + gMenuCallback = gUnknown_Debug_083C0DD4[3].func; + return FALSE; + } + return FALSE; +} + +bool8 debug_sub_808BDA4(void) +{ + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gDebug_0300071E = Menu_MoveCursor(-1); + } + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gDebug_0300071E = Menu_MoveCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_Debug_083C0E15[gDebug_0300071E].func(); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + #endif -- cgit v1.2.3 From a3000fb0837d5ff8cd262b13d0ca8a36335c3806 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 13:04:34 -0500 Subject: through debug_sub_808BF3C --- src/debug/tomomichi_debug_menu.c | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index c90364647..00340c39a 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -435,4 +435,79 @@ bool8 debug_sub_808BDA4(void) return FALSE; } +bool8 debug_sub_808BE2C(void) +{ + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gDebug_0300071F = Menu_MoveCursor(-1); + } + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gDebug_0300071F = Menu_MoveCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_Debug_083C0E32[gDebug_0300071F].func(); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +bool8 debug_sub_808BEB4(void) +{ + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gDebug_03000720 = Menu_MoveCursor(-1); + } + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gDebug_03000720 = Menu_MoveCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_Debug_083C0E7F[gDebug_03000720].func(); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +bool8 debug_sub_808BF3C(void) +{ + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gDebug_03000721 = Menu_MoveCursor(-1); + } + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gDebug_03000721 = Menu_MoveCursor(+1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gUnknown_Debug_083C0EF1[gDebug_03000721].func(); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + #endif -- cgit v1.2.3 From 01192893628501cf1062bab1e580bace858d00ac Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 16:16:31 -0500 Subject: text through debug_sub_808C014; rodata through gDebug_0x83C1974 --- src/debug/tomomichi_debug_menu.c | 482 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 482 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 00340c39a..a5f7964a1 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -66,6 +66,36 @@ void debug_sub_808EE3C(void); void debug_sub_808EE9C(void); void debug_sub_808EF14(void); void debug_sub_808EF8C(u32 a0); +bool8 debug_sub_808C064(void); +bool8 debug_sub_808C0EC(void); +bool8 debug_sub_808C104(void); +bool8 debug_sub_808C11C(void); +bool8 debug_sub_808C134(void); +bool8 debug_sub_808C14C(void); +bool8 debug_sub_808C164(void); +bool8 debug_sub_808C17C(void); +bool8 debug_sub_808C194(void); +bool8 debug_sub_808C1AC(void); +bool8 debug_sub_808C0A8(void); +bool8 debug_sub_808C1C4(void); +bool8 debug_sub_808C1DC(void); +bool8 debug_sub_808C1F4(void); +bool8 debug_sub_808C20C(void); +bool8 debug_sub_808C224(void); +bool8 debug_sub_808C23C(void); +bool8 debug_sub_808D450(void); +bool8 debug_sub_808D4A8(void); +bool8 debug_sub_808D694(void); +bool8 debug_sub_808D6EC(void); +bool8 debug_sub_808CFA4(void); +bool8 debug_sub_808CFFC(void); +bool8 debug_sub_808D054(void); +bool8 debug_sub_808D0AC(void); +bool8 debug_sub_808D104(void); +bool8 debug_sub_808D15C(void); +bool8 debug_sub_808D1B4(void); +bool8 debug_sub_808D20C(void); +bool8 debug_sub_808D264(void); const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); @@ -179,6 +209,438 @@ const struct MenuAction gUnknown_Debug_083C0EF1[] = { {gUnknown_Debug_083C0EE3, debug_sub_808DFC0} }; +const u8 gUnknown_Debug_083C0F24[] = _("クリアご"); +const u8 gUnknown_Debug_083C0F29[] = _("コインこうにゅうかのう"); +const u8 gUnknown_Debug_083C0F35[] = _("コトキサポーターセット"); +const u8 gUnknown_Debug_083C0F41[] = _("ニューキンセツOPEN"); +const u8 gUnknown_Debug_083C0F4D[] = _("れんらくせんにのれる"); +const u8 gUnknown_Debug_083C0F58[] = _("タマゴついか"); +const u8 gUnknown_Debug_083C0F5F[] = _("アイテムいっぱい"); +const u8 gUnknown_Debug_083C0F68[] = _("グッズいっぱい"); +const u8 gUnknown_Debug_083C0F70[] = _("COINいっぱい"); + +const struct MenuAction gUnknown_Debug_083C0F79[] = { + {gUnknown_Debug_083C0F24, debug_sub_808C0EC}, + {gUnknown_Debug_083C0F29, debug_sub_808C104}, + {gUnknown_Debug_083C0F35, debug_sub_808C11C}, + {gUnknown_Debug_083C0F41, debug_sub_808C134}, + {gUnknown_Debug_083C0F4D, debug_sub_808C14C}, + {gUnknown_Debug_083C0F58, debug_sub_808C164}, + {gUnknown_Debug_083C0F5F, debug_sub_808C17C}, + {gUnknown_Debug_083C0F68, debug_sub_808C194}, + {gUnknown_Debug_083C0F70, debug_sub_808C1AC} +}; + +const u8 gUnknown_Debug_083C0FC4[] = _("ムロジムOPEN"); +const u8 gUnknown_Debug_083C0FCD[] = _("おかねを0へ"); +const u8 gUnknown_Debug_083C0FD4[] = _("ドジョッチ FULL"); +const u8 gUnknown_Debug_083C0FDF[] = _("キノココ FULL"); +const u8 gUnknown_Debug_083C0FE9[] = _("ドジョッチ タマゴ"); +const u8 gUnknown_Debug_083C0FF3[] = _("キノココ タマゴ"); + +const struct MenuAction gUnknown_Debug_083C0FFC[] = { + {gUnknown_Debug_083C0FC4, debug_sub_808C1C4}, + {gUnknown_Debug_083C0FCD, debug_sub_808C1DC}, + {gUnknown_Debug_083C0FD4, debug_sub_808C1F4}, + {gUnknown_Debug_083C0FDF, debug_sub_808C20C}, + {gUnknown_Debug_083C0FE9, debug_sub_808C224}, + {gUnknown_Debug_083C0FF3, debug_sub_808C23C} +}; + +const u8 gUnknown_Debug_083C102C[] = _("ANSWORK みかんせい"); + +const struct MenuAction gUnknown_Debug_083C103A[] = { + {gUnknown_Debug_083C102C, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1044[] = _("FHーOBJ00ー08"); +const u8 gUnknown_Debug_083C1050[] = _("FHーOBJ09ー15"); + +const struct MenuAction gUnknown_Debug_083C105C[] = { + {gUnknown_Debug_083C1044, debug_sub_808D450}, + {gUnknown_Debug_083C1050, debug_sub_808D4A8} +}; + +const u8 gUnknown_Debug_083C106C[] = _("FHーOBJ00"); +const u8 gUnknown_Debug_083C1075[] = _("FHーOBJ01"); +const u8 gUnknown_Debug_083C107E[] = _("FHーOBJ02"); +const u8 gUnknown_Debug_083C1087[] = _("FHーOBJ03"); +const u8 gUnknown_Debug_083C1090[] = _("FHーOBJ04"); +const u8 gUnknown_Debug_083C1099[] = _("FHーOBJ05"); +const u8 gUnknown_Debug_083C10A2[] = _("FHーOBJ06"); +const u8 gUnknown_Debug_083C10AB[] = _("FHーOBJ07"); +const u8 gUnknown_Debug_083C10B4[] = _("FHーOBJ08"); + +const struct MenuAction gUnknown_Debug_083C10BD[] = { + {gUnknown_Debug_083C106C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1075, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C107E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1087, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1090, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1099, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C10A2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C10AB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C10B4, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1108[] = _("FH-OBJ09"); +const u8 gUnknown_Debug_083C1111[] = _("FH-OBJ10"); +const u8 gUnknown_Debug_083C111A[] = _("FH-OBJ11"); +const u8 gUnknown_Debug_083C1123[] = _("FH-OBJ12"); +const u8 gUnknown_Debug_083C112C[] = _("FH-OBJ13"); +const u8 gUnknown_Debug_083C1135[] = _("FH-OBJ14"); +const u8 gUnknown_Debug_083C113E[] = _("FH-OBJ15"); +const u8 gUnknown_Debug_083C1147[] = _(""); +const u8 gUnknown_Debug_083C1148[] = _(""); + +const struct MenuAction gUnknown_Debug_083C1149[] = { + {gUnknown_Debug_083C1108, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1111, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C111A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1123, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C112C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1135, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C113E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1147, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1148, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1194[] = {9, 7}; + +const u16 gUnknown_Debug_083C1196[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x00, 0x00}; + +const u8 gUnknown_Debug_083C11BA[] = _("FH-00-08"); +const u8 gUnknown_Debug_083C11C3[] = _("FH-09-15"); + +const struct MenuAction gUnknown_Debug_083C11CC[] = { + {gUnknown_Debug_083C11BA, debug_sub_808D694}, + {gUnknown_Debug_083C11C3, debug_sub_808D6EC} +}; + +const u8 gUnknown_Debug_083C11DC[] = _("FH-00"); +const u8 gUnknown_Debug_083C11E2[] = _("FH-01"); +const u8 gUnknown_Debug_083C11E8[] = _("FH-02"); +const u8 gUnknown_Debug_083C11EE[] = _("FH-03"); +const u8 gUnknown_Debug_083C11F4[] = _("FH-04"); +const u8 gUnknown_Debug_083C11FA[] = _("FH-05"); +const u8 gUnknown_Debug_083C1200[] = _("FH-06"); +const u8 gUnknown_Debug_083C1206[] = _("FH-07"); +const u8 gUnknown_Debug_083C120C[] = _("FH-08"); + +const struct MenuAction gUnknown_Debug_083C1212[] = { + {gUnknown_Debug_083C11DC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C11E2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C11E8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C11EE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C11F4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C11FA, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1200, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1206, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C120C, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C125C[] = _("FHー09"); +const u8 gUnknown_Debug_083C1262[] = _("FHー10"); +const u8 gUnknown_Debug_083C1268[] = _("FHー11"); +const u8 gUnknown_Debug_083C126E[] = _("FHー12"); +const u8 gUnknown_Debug_083C1274[] = _("FHー13"); +const u8 gUnknown_Debug_083C127A[] = _("FHー14"); +const u8 gUnknown_Debug_083C1280[] = _("FHー15"); +const u8 gUnknown_Debug_083C1286[] = _(""); +const u8 gUnknown_Debug_083C1287[] = _(""); + +const struct MenuAction gUnknown_Debug_083C1288[] = { + {gUnknown_Debug_083C125C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1262, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1268, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C126E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1274, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C127A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1280, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1286, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1287, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C12D0[] = {9, 7}; + +const u16 gUnknown_Debug_083C12D2[] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x00, 0x00}; + +const u8 gUnknown_Debug_083C12F6[] = _("BATCH"); + +const u8 gUnknown_Debug_083C12FC[] = _("タウンとうちゃく"); + +const u8 gUnknown_Debug_083C1305[] = _("シティとうちゃく"); + +const u8 gUnknown_Debug_083C130E[] = _("GET"); + +const u8 gUnknown_Debug_083C1312[] = _("そのた1"); + +const u8 gUnknown_Debug_083C1317[] = _("そのた2"); + +const u8 gUnknown_Debug_083C131C[] = _("そのた3"); + +const u8 gUnknown_Debug_083C1321[] = _("そのた4"); + +const u8 gUnknown_Debug_083C1326[] = _("そのた とうちゃく"); + +const struct MenuAction gUnknown_Debug_083C1330[] = { + {gUnknown_Debug_083C12F6, debug_sub_808CFA4}, + {gUnknown_Debug_083C12FC, debug_sub_808CFFC}, + {gUnknown_Debug_083C1305, debug_sub_808D054}, + {gUnknown_Debug_083C130E, debug_sub_808D0AC}, + {gUnknown_Debug_083C1312, debug_sub_808D104}, + {gUnknown_Debug_083C1317, debug_sub_808D15C}, + {gUnknown_Debug_083C131C, debug_sub_808D1B4}, + {gUnknown_Debug_083C1321, debug_sub_808D20C}, + {gUnknown_Debug_083C1326, debug_sub_808D264} +}; + +const u8 gUnknown_Debug_083C1378[] = _("BATCH01ーGET"); + +const u8 gUnknown_Debug_083C1384[] = _("BATCH02ーGET"); + +const u8 gUnknown_Debug_083C1390[] = _("BATCH03ーGET"); + +const u8 gUnknown_Debug_083C139C[] = _("BATCH04ーGET"); + +const u8 gUnknown_Debug_083C13A8[] = _("BATCH05ーGET"); + +const u8 gUnknown_Debug_083C13B4[] = _("BATCH06ーGET"); + +const u8 gUnknown_Debug_083C13C0[] = _("BATCH07ーGET"); + +const u8 gUnknown_Debug_083C13CC[] = _("BATCH08ーGET"); + +const struct MenuAction gUnknown_Debug_083C13D8[] = { + {gUnknown_Debug_083C1378, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1384, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1390, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C139C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C13A8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C13B4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C13C0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C13CC, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1418[] = _("T101ARRIVE"); + +const u8 gUnknown_Debug_083C1423[] = _("T102ARRIVE"); + +const u8 gUnknown_Debug_083C142E[] = _("T103ARRIVE"); + +const u8 gUnknown_Debug_083C1439[] = _("T104ARRIVE"); + +const u8 gUnknown_Debug_083C1444[] = _("T105ARRIVE"); + +const u8 gUnknown_Debug_083C144F[] = _("T106ARRIVE"); + +const u8 gUnknown_Debug_083C145A[] = _("T107ARRIVE"); + +const struct MenuAction gUnknown_Debug_083C1465[] = { + {gUnknown_Debug_083C1418, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1423, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C142E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1439, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1444, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C144F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C145A, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C14A0[] = _("C101ARRIVE"); + +const u8 gUnknown_Debug_083C14AB[] = _("C102ARRIVE"); + +const u8 gUnknown_Debug_083C14B6[] = _("C103ARRIVE"); + +const u8 gUnknown_Debug_083C14C1[] = _("C104ARRIVE"); + +const u8 gUnknown_Debug_083C14CC[] = _("C105ARRIVE"); + +const u8 gUnknown_Debug_083C14D7[] = _("C106ARRIVE"); + +const u8 gUnknown_Debug_083C14E2[] = _("C107ARRIVE"); + +const u8 gUnknown_Debug_083C14ED[] = _("C108ARRIVE"); + +const u8 gUnknown_Debug_083C14F8[] = _("C109ARRIVE"); + +const struct MenuAction gUnknown_Debug_083C1503[] = { + {gUnknown_Debug_083C14A0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14AB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14B6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14C1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14CC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14D7, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14E2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14ED, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C14F8, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C154C[] = _("SYSーPOKEMONーGET"); + +const u8 gUnknown_Debug_083C155C[] = _("SYSーZUKANーGET"); + +const u8 gUnknown_Debug_083C156A[] = _("SYSーPOKEGEARーGET"); + +const u8 gUnknown_Debug_083C157B[] = _("SYSーRIBBONーGET"); + +const struct MenuAction gUnknown_Debug_083C158A[] = { + {gUnknown_Debug_083C154C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C155C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C156A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C157B, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C15AC[] = _("SYSーGAMEーCLEAR"); + +const u8 gUnknown_Debug_083C15BB[] = _("SYSーKAIWAーUSED"); + +const u8 gUnknown_Debug_083C15CA[] = _("SYSーNOWーOYAJIーMEET"); + +const u8 gUnknown_Debug_083C15DD[] = _("SYSーUSEーWAZAーFLASH"); + +const u8 gUnknown_Debug_083C15F0[] = _("SYSーUSEーWAZAーKAIRIKI"); + +const u8 gUnknown_Debug_083C1605[] = _("SYSーWEATHERーCTRL"); + +const u8 gUnknown_Debug_083C1616[] = _("SYSーCYCLINGーROAD"); + +const u8 gUnknown_Debug_083C1627[] = _("SYSーSAFARIーMODE"); + +const u8 gUnknown_Debug_083C1637[] = _("SYSーCRUISEーMODE"); + +const struct MenuAction gUnknown_Debug_083C1647[] = { + {gUnknown_Debug_083C15AC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C15BB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C15CA, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C15DD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C15F0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1605, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1616, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1627, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1637, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1690[] = _("SYSーTVーHOME"); + +const u8 gUnknown_Debug_083C169C[] = _("SYSーTVーWATCH"); + +const u8 gUnknown_Debug_083C16A9[] = _("SYSーTVSTART"); + +const u8 gUnknown_Debug_083C16B5[] = _("SYSーPOPWORDーINPUT"); + +const u8 gUnknown_Debug_083C16C7[] = _("SYSーMIXーRECORD"); + +const u8 gUnknown_Debug_083C16D6[] = _("SYSーCLOCKーSET"); + +const u8 gUnknown_Debug_083C16E4[] = _("SYSーCAVEーSHIP"); + +const u8 gUnknown_Debug_083C16F2[] = _("SYSーCAVEーWONDER"); + +const u8 gUnknown_Debug_083C1702[] = _("SYSーCAVEーBATTLE"); + +const struct MenuAction gUnknown_Debug_083C1712[] = { + {gUnknown_Debug_083C1690, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C169C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C16A9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C16B5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C16C7, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C16D6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C16E4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C16F2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1702, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C175C[] = _("SYSーSPECIALーZUKAN"); + +const u8 gUnknown_Debug_083C176E[] = _("SYSーASASEーTIDE"); + +const u8 gUnknown_Debug_083C177D[] = _("SYSーRIBBONーGET"); + +const u8 gUnknown_Debug_083C178C[] = _("SYSーPASOーMAYUMI"); + +const u8 gUnknown_Debug_083C179C[] = _("SYSーEXDATAーENABLE"); + +const u8 gUnknown_Debug_083C17AE[] = _("SYSーTENJIーANAWOHORU"); + +const u8 gUnknown_Debug_083C17C2[] = _("SYSーTENJIーKAIRIKI"); + +const u8 gUnknown_Debug_083C17D4[] = _("SYSーTENJIーWAIT"); + +const u8 gUnknown_Debug_083C17E3[] = _("SYSーTENJIーSORAWOTOBU"); + +const struct MenuAction gUnknown_Debug_083C17F8[] = { + {gUnknown_Debug_083C175C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C176E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C177D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C178C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C179C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C17AE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C17C2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C17D4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C17E3, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1840[] = _("SYSーENCーUPーITEM"); + +const u8 gUnknown_Debug_083C1850[] = _("SYSーENEーDOWNーITEM"); + +const u8 gUnknown_Debug_083C1862[] = _("SYSーKOKOROーEVENT"); + +const u8 gUnknown_Debug_083C1873[] = _("SYSーMOVEーPOKEーNEWS"); + +const u8 gUnknown_Debug_083C1886[] = _("SYSーASASEーITEM"); + +const u8 gUnknown_Debug_083C1895[] = _("SYSーBーDASH"); + +const u8 gUnknown_Debug_083C18A0[] = _("SYSーCTRLーOBJーDELETE"); + +const u8 gUnknown_Debug_083C18B4[] = _(""); + +const u8 gUnknown_Debug_083C18B5[] = _(""); + +const struct MenuAction gUnknown_Debug_083C18B8[] = { + {gUnknown_Debug_083C1840, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1850, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1862, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1873, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1886, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1895, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C18A0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C18B4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C18B5, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1900[] = _("SYSーARRIVEーSUBMARINECAVE"); + +const u8 gUnknown_Debug_083C1919[] = _("SYSーARRIVEーBATTLETOWER"); + +const u8 gUnknown_Debug_083C1930[] = _("SYSーARRIVEーISLAND"); + +const u8 gUnknown_Debug_083C1942[] = _("SYSーARRIVEーLEAGUE"); + +const u8 gUnknown_Debug_083C1954[] = _("SYSーARRIVEーSORANOHASHIRA"); + +const u8 gUnknown_Debug_083C196D[] = _(""); + +const u8 gUnknown_Debug_083C196E[] = _(""); + +const u8 gUnknown_Debug_083C196F[] = _(""); + +const u8 gUnknown_Debug_083C1970[] = _(""); + +const struct MenuAction gDebug_0x83C1974[] = { + {gUnknown_Debug_083C1900, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1919, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1930, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1942, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1954, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C196D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C196E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C196F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1970, TomomichiDebugMenu_Config} +}; + bool8 InitTomomichiDebugWindow(void) { debug_sub_808B874(); @@ -510,4 +972,24 @@ bool8 debug_sub_808BF3C(void) return FALSE; } +bool8 debug_sub_808BFC4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0F79), gUnknown_Debug_083C0F79); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0F79), 0, 27); + gMenuCallback = debug_sub_808C064; + return FALSE; +} + +bool8 debug_sub_808C014(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 13); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0FFC), gUnknown_Debug_083C0FFC); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0FFC), 0, 27); + gMenuCallback = debug_sub_808C0A8; + return FALSE; +} + #endif -- cgit v1.2.3 From fdb38c53d73071b4264db1707011ec0ae807d4a5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 16:31:26 -0500 Subject: through debug_sub_808C23C --- src/debug/tomomichi_debug_menu.c | 152 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index a5f7964a1..9db8898e2 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -2,6 +2,7 @@ #include "global.h" #include "constants/songs.h" #include "overworld.h" +#include "script.h" #include "menu.h" #include "start_menu.h" #include "main.h" @@ -97,6 +98,22 @@ bool8 debug_sub_808D1B4(void); bool8 debug_sub_808D20C(void); bool8 debug_sub_808D264(void); +extern const u8 DebugScript_081C1CFE[]; +extern const u8 DebugScript_081C1D07[]; +extern const u8 DebugScript_081C1D1E[]; +extern const u8 DebugScript_081C1D24[]; +extern const u8 DebugScript_081C1D2A[]; +extern const u8 DebugScript_081C1D35[]; +extern const u8 DebugScript_081C1D46[]; +extern const u8 DebugScript_081C221F[]; +extern const u8 DebugScript_081C23E2[]; +extern const u8 DebugScript_081C23E6[]; +extern const u8 DebugScript_081C23F6[]; +extern const u8 DebugScript_081C2482[]; +extern const u8 DebugScript_081C23FD[]; +extern const u8 DebugScript_081C2518[]; +extern const u8 DebugScript_081C2507[]; + const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); const u8 gUnknown_Debug_083C0C77[] = _("Preview data"); @@ -992,4 +1009,139 @@ bool8 debug_sub_808C014(void) return FALSE; } +bool8 debug_sub_808C064(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C0F79[input].func; + return FALSE; +} + +bool8 debug_sub_808C0A8(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C0FFC[input].func; + return FALSE; +} + +bool8 debug_sub_808C0EC(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1CFE); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C104(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D07); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C11C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D1E); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C134(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D24); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C14C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D2A); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C164(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D35); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C17C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C1D46); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C194(void) +{ + ScriptContext1_SetupScript(DebugScript_081C221F); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1AC(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23E2); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1C4(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23E6); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1DC(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23F6); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C1F4(void) +{ + ScriptContext1_SetupScript(DebugScript_081C2482); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C20C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C23FD); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C224(void) +{ + ScriptContext1_SetupScript(DebugScript_081C2518); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808C23C(void) +{ + ScriptContext1_SetupScript(DebugScript_081C2507); + CloseMenu(); + return TRUE; +} + #endif -- cgit v1.2.3 From efc82a067589a041219dbb933762878cee9b2ccd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 20:57:33 -0500 Subject: through debug_sub_808C31C --- src/debug/tomomichi_debug_menu.c | 609 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 609 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 9db8898e2..3d3fe2ff8 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1,11 +1,13 @@ #if DEBUG #include "global.h" +#include "palette.h" #include "constants/songs.h" #include "overworld.h" #include "script.h" #include "menu.h" #include "start_menu.h" #include "main.h" +#include "contest_painting.h" #include "sound.h" // These should be static, uninitialized once it gets decompiled. @@ -97,6 +99,32 @@ bool8 debug_sub_808D15C(void); bool8 debug_sub_808D1B4(void); bool8 debug_sub_808D20C(void); bool8 debug_sub_808D264(void); +bool8 debug_sub_808C280(void); +void debug_sub_808F168(u32 a0); +bool8 debug_sub_808C2E4(void); +bool8 debug_sub_808D8D8(void); +bool8 debug_sub_808CD08(void); +bool8 debug_sub_808CD60(void); +bool8 debug_sub_808CDB8(void); +bool8 debug_sub_808C85C(void); +bool8 debug_sub_808C8B4(void); +bool8 debug_sub_808C90C(void); +bool8 debug_sub_808C964(void); +bool8 debug_sub_808C9BC(void); +bool8 debug_sub_808CA14(void); +bool8 debug_sub_808CA6C(void); +bool8 debug_sub_808CAC4(void); +bool8 debug_sub_808CB1C(void); +bool8 debug_sub_808C3B0(void); +bool8 debug_sub_808C408(void); +bool8 debug_sub_808C460(void); +bool8 debug_sub_808C4B8(void); +bool8 debug_sub_808C510(void); +bool8 debug_sub_808C568(void); +bool8 debug_sub_808C5C0(void); +bool8 debug_sub_808C618(void); +bool8 debug_sub_808C670(void); +bool8 debug_sub_808C36C(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -658,6 +686,537 @@ const struct MenuAction gDebug_0x83C1974[] = { {gUnknown_Debug_083C1970, TomomichiDebugMenu_Config} }; +const u8 gUnknown_Debug_083C19BC[] = {0x08, 0x07, 0x09, 0x04, 0x09, 0x09, 0x09, 0x07, 0x05, 0x00}; + +const u16 gUnknown_Debug_083C19C6[] = {0x0807, 0x0808, 0x0809, 0x080a, 0x080b, 0x080c, 0x080d, 0x080e, 0x0000, + 0x080f, 0x0810, 0x0811, 0x0812, 0x0813, 0x0814, 0x0815, 0x0000, 0x0000, + 0x0816, 0x0817, 0x0818, 0x0819, 0x081a, 0x081b, 0x081c, 0x081d, 0x081e, + 0x0800, 0x0801, 0x0802, 0x083b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0804, 0x0805, 0x0806, 0x0828, 0x0829, 0x082a, 0x082b, 0x082c, 0x082d, + 0x0830, 0x0831, 0x0832, 0x0833, 0x0834, 0x0835, 0x0837, 0x0838, 0x0839, + 0x0836, 0x083a, 0x083b, 0x084b, 0x084c, 0x084f, 0x0850, 0x0851, 0x0852, + 0x084d, 0x084e, 0x0853, 0x085d, 0x085f, 0x0860, 0x0861, 0x0000, 0x0000, + 0x0847, 0x0848, 0x0849, 0x0854, 0x085e, 0x0000, 0x0000, 0x0000, 0x0000}; + +const u8 gDebug_0x83C1A68[] = _("FVーBALL パート1"); + +const struct MenuAction gUnknown_Debug_083C1A78[] = { + {gDebug_0x83C1A68, debug_sub_808D8D8} +}; + +const u8 gUnknown_Debug_083C1A80[] = _("FVーBALL1ー78"); +const u8 gUnknown_Debug_083C1A8C[] = _("FVーBALL1ー133"); + +const struct MenuAction gUnknown_Debug_083C1A9C[] = { + {gUnknown_Debug_083C1A80, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1A8C, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1AAC[] = {2, 0}; + +const u16 gUnknown_Debug_083C1AAE[] = {0x0436, 0x046d, 0, 0, 0, 0, 0, 0, 0}; + +const u8 gUnknown_Debug_083C1AC0[] = _("ジムリーダー"); +const u8 gUnknown_Debug_083C1AC7[] = _("してんのう"); +const u8 gUnknown_Debug_083C1ACD[] = _("みつる/Champロード"); + +const struct MenuAction gUnknown_Debug_083C1ADC[] = { + {gUnknown_Debug_083C1AC0, debug_sub_808CD08}, + {gUnknown_Debug_083C1AC7, debug_sub_808CD60}, + {gUnknown_Debug_083C1ACD, debug_sub_808CDB8} +}; + +const u8 gUnknown_Debug_083C1AF4[] = _("FTーGYMー01ーLEADER"); +const u8 gUnknown_Debug_083C1B05[] = _("FTーGYMー02ーLEADER"); +const u8 gUnknown_Debug_083C1B16[] = _("FTーGYMー03ーLEADER"); +const u8 gUnknown_Debug_083C1B27[] = _("FTーGYMー04ーLEADER"); +const u8 gUnknown_Debug_083C1B38[] = _("FTーGYMー05ーLEADER"); +const u8 gUnknown_Debug_083C1B49[] = _("FTーGYMー06ーLEADER"); +const u8 gUnknown_Debug_083C1B5A[] = _("FTーGYMー07ーLEADER"); +const u8 gUnknown_Debug_083C1B6B[] = _("FTーGYMー08ーLEADER"); + +const struct MenuAction gUnknown_Debug_083C1B7C[] = { + {gUnknown_Debug_083C1AF4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1B05, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1B16, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1B27, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1B38, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1B49, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1B5A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1B6B, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1BBC[] = _("FTーSHITENー01"); +const u8 gUnknown_Debug_083C1BC9[] = _("FTーSHITENー02"); +const u8 gUnknown_Debug_083C1BD6[] = _("FTーSHITENー03"); +const u8 gUnknown_Debug_083C1BE3[] = _("FTーSHITENー04"); + +const struct MenuAction gUnknown_Debug_083C1BF0[] = { + {gUnknown_Debug_083C1BBC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1BC9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1BD6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1BE3, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1C10[] = _("FTーMITSURUー01ーCAVEーD1301"); + +const struct MenuAction gUnknown_Debug_083C1C2C[] = { + {gUnknown_Debug_083C1C10, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1C34[] = {0x08, 0x04, 0x01, 0x00}; +const u16 gUnknown_Debug_083C1C38[] = {0x04B1, 0x04B4, 0x04B8, 0x04BD, 0x04C1, 0x04C9, 0x04CD, 0x04D4, 0x0000, 0x04DD, 0x04DE, 0x04DF, 0x04E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04E1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; + +const u8 gUnknown_Debug_083C1C6E[] = _("120/119ばんどうろカクレオン"); +const u8 gUnknown_Debug_083C1C80[] = _("そのた1 / SUPPORTM/W"); +const u8 gUnknown_Debug_083C1C92[] = _("ODAMAKI/FIGHTER1"); +const u8 gUnknown_Debug_083C1CA3[] = _("MITSURU/TENKI"); +const u8 gUnknown_Debug_083C1CB1[] = _("そのた2 /DAIGO"); +const u8 gUnknown_Debug_083C1CBD[] = _("POKE/POKEMON"); +const u8 gUnknown_Debug_083C1CCA[] = _("MAMA/SUPPORT02"); +const u8 gUnknown_Debug_083C1CD9[] = _("HAGI"); +const u8 gUnknown_Debug_083C1CDE[] = _("SUPPORT01"); + +const struct MenuAction gUnknown_Debug_083C1CE8[] = { + {gUnknown_Debug_083C1C6E, debug_sub_808C85C}, + {gUnknown_Debug_083C1C80, debug_sub_808C8B4}, + {gUnknown_Debug_083C1C92, debug_sub_808C90C}, + {gUnknown_Debug_083C1CA3, debug_sub_808C964}, + {gUnknown_Debug_083C1CB1, debug_sub_808C9BC}, + {gUnknown_Debug_083C1CBD, debug_sub_808CA14}, + {gUnknown_Debug_083C1CCA, debug_sub_808CA6C}, + {gUnknown_Debug_083C1CD9, debug_sub_808CAC4}, + {gUnknown_Debug_083C1CDE, debug_sub_808CB1C} +}; + +const u8 gUnknown_Debug_083C1D30[] = _("FVーKAKUREONBー01ーFIELDーR120"); +const u8 gUnknown_Debug_083C1D4B[] = _("FVーKAKUREー01ーFIELDーR120"); +const u8 gUnknown_Debug_083C1D63[] = _("FVーKAKUREー02ーFIELDーR120"); +const u8 gUnknown_Debug_083C1D7B[] = _("FVーKAKUREー03ーFIELDーR120"); +const u8 gUnknown_Debug_083C1D93[] = _("FVーKAKUREー04ーFIELDーR120"); +const u8 gUnknown_Debug_083C1DAB[] = _("FVーKAKUREー05ーFIELDーR120"); +const u8 gUnknown_Debug_083C1DC3[] = _("FVーKAKUREー06ーFIELDーR120"); +const u8 gUnknown_Debug_083C1DDB[] = _("FVーKAKUREー01ーFIELDーR119"); +const u8 gUnknown_Debug_083C1DF3[] = _("FVーKAKUREー02ーFIELDーR119"); + +const struct MenuAction gUnknown_Debug_083C1E0C[] = { + {gUnknown_Debug_083C1D30, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1D4B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1D63, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1D7B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1D93, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1DAB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1DC3, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1DDB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1DF3, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1E54[] = _("FVーBALLー01ーC107ーR0501"); +const u8 gUnknown_Debug_083C1E6A[] = _("FVーWORKERM1ー04ーFIELDーC104"); +const u8 gUnknown_Debug_083C1E84[] = _("FVーSUBMARINEー06ーCAVEーD1101"); +const u8 gUnknown_Debug_083C1E9F[] = _("FVーGUESTーALLーC106ーR0102"); +const u8 gUnknown_Debug_083C1EB7[] = _("FVーHORIDASIー01ーC106ーR1106"); +const u8 gUnknown_Debug_083C1ED1[] = _("FVーMIDDLEM1ー01ーR110ーR0101"); +const u8 gUnknown_Debug_083C1EEB[] = _("FVーFUNEー01ーC102ーR0601"); +const u8 gUnknown_Debug_083C1F01[] = _("FVーSUPPORTWー01ーT101ーR0202"); +const u8 gUnknown_Debug_083C1F1B[] = _("FVーSUPPORTMー01ーT101ーR0102"); + +const struct MenuAction gUnknown_Debug_083C1F38[] = { + {gUnknown_Debug_083C1E54, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1E6A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1E84, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1E9F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1EB7, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1ED1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1EEB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1F01, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1F1B, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C1F80[] = _("FVーODAMAKIー01ーFIELDーR101"); +const u8 gUnknown_Debug_083C1F99[] = _("FVーODAMAKIー01ーT101ーR0301"); +const u8 gUnknown_Debug_083C1FB2[] = _("FVーODAMAKIーHYOKAーT101ーR0301"); +const u8 gUnknown_Debug_083C1FCE[] = _("FVーODAMAKIーHYOKAーFIELDーR101"); +const u8 gUnknown_Debug_083C1FEA[] = _("FVーODAMAKIーHYOKAーFIELDーR103"); +const u8 gUnknown_Debug_083C2006[] = _("FVーODAMAKIー01ーC109ーR0105"); +const u8 gUnknown_Debug_083C201F[] = _("FVーFIGHTERー01ーCAVEーD0201"); +const u8 gUnknown_Debug_083C2038[] = _("FVーFIGHTERー01ーT106ーR0201"); +const u8 gUnknown_Debug_083C2051[] = _("FVーFIGHTERー01ーFIELDーR116"); + +const struct MenuAction gUnknown_Debug_083C206C[] = { + {gUnknown_Debug_083C1F80, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1F99, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1FB2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1FCE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C1FEA, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2006, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C201F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2038, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2051, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C20B4[] = _("FVーMITSURUー01ーFIELDーC101"); +const u8 gUnknown_Debug_083C20CD[] = _("FVーMITSURUー02ーCAVEーD1301"); +const u8 gUnknown_Debug_083C20E6[] = _("FVーMITSURUー01ーFIELDーC103"); +const u8 gUnknown_Debug_083C20FF[] = _("FVーMITSURUー01ーT106ーR0201"); +const u8 gUnknown_Debug_083C2118[] = _("FVーMITSURUー01ーCAVEーD1301"); +const u8 gUnknown_Debug_083C2131[] = _("FVーMITSURUー01ーC101ーR0201"); +const u8 gUnknown_Debug_083C214A[] = _("FVーMITSURUー01ーFIELDーR102"); +const u8 gUnknown_Debug_083C2163[] = _("FVーTENKIー01ーR119ーR101"); +const u8 gUnknown_Debug_083C2179[] = _("FVーTENKIー01ーR119ーR102"); + +const struct MenuAction gUnknown_Debug_083C2190[] = { + {gUnknown_Debug_083C20B4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C20CD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C20E6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C20FF, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2118, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2131, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C214A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2163, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2179, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C21D8[] = _("FVーDAIGOー01ーCAVEーD0504"); +const u8 gUnknown_Debug_083C21EF[] = _("FVーDAIGOー01ーFIELDーR128"); +const u8 gUnknown_Debug_083C2206[] = _("FVーDAIGOー01ーFIELDーR118"); +const u8 gUnknown_Debug_083C221D[] = _("FVーDAIGOー01ーC107ーR0501"); +const u8 gUnknown_Debug_083C2234[] = _("FVーDAIGOー01ーFIELDーR120"); +const u8 gUnknown_Debug_083C224B[] = _("FVーDAIGOー01ーFIELDーR108"); + +const struct MenuAction gUnknown_Debug_083C2264[] = { + {gUnknown_Debug_083C21D8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C21EF, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2206, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C221D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2234, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C224B, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2294[] = _("FVーPOKE1ー02ーCAVEーD1111"); +const u8 gUnknown_Debug_083C22AB[] = _("FVーPOKE1ー01ーCAVEーD0601"); +const u8 gUnknown_Debug_083C22C2[] = _("FVーPOKE1ー02ーCAVEーD0601"); +const u8 gUnknown_Debug_083C22D9[] = _("FVーPOKE1ー01ーFIELDーR101"); +const u8 gUnknown_Debug_083C22F0[] = _("FVーPOKE1ー01ーOPENINGーROOM01"); +const u8 gUnknown_Debug_083C230B[] = _("FVーPOKE1ー02ーOPENINGーROOM01"); +const u8 gUnknown_Debug_083C2326[] = _("FVーPOKE1ー01ーCAVEーD2308"); +const u8 gUnknown_Debug_083C233D[] = _("FVーPOKEMONー01ーCAVEーD0201"); +const u8 gUnknown_Debug_083C2356[] = _("FVーPOKEMONー01ーR104ーR0101"); + +const struct MenuAction gUnknown_Debug_083C2370[] = { + {gUnknown_Debug_083C2294, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C22AB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C22C2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C22D9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C22F0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C230B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2326, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C233D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2356, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C23B8[] = _("FVーMAMAー01ーFIELDーT101"); +const u8 gUnknown_Debug_083C23CE[] = _("FVーMAMAー01ーOPENINGーROOM02"); +const u8 gUnknown_Debug_083C23E8[] = _("FVーMAMAー01ーT101ーR0101"); +const u8 gUnknown_Debug_083C23FE[] = _("FVーMAMAー01ーT101ーR0201"); +const u8 gUnknown_Debug_083C2414[] = _("FVーMAMAー02ーT101ーR0101"); +const u8 gUnknown_Debug_083C242A[] = _("FVーMAMAー02ーT101ーR0201"); +const u8 gUnknown_Debug_083C2440[] = _("FVーSUPPORTー02ーFIELDーR110"); +const u8 gUnknown_Debug_083C2459[] = _("FVーSUPPORTー02ーFIELDーR119"); +const u8 gUnknown_Debug_083C2472[] = _("FVーSUPPORTー02ーFIELDーT104"); + +const struct MenuAction gUnknown_Debug_083C248C[] = { + {gUnknown_Debug_083C23B8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C23CE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C23E8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C23FE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2414, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C242A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2440, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2459, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2472, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C24D4[] = _("FVーHAGIー01ーFIELDーR104"); +const u8 gUnknown_Debug_083C24EA[] = _("FVーHAGIー01ーR104ーR0101"); +const u8 gUnknown_Debug_083C2500[] = _("FVーHAGIー01ーFIELDーT103"); +const u8 gUnknown_Debug_083C2516[] = _("FVーHAGIー01ーFIELDーR109"); +const u8 gUnknown_Debug_083C252C[] = _("FVーHAGIー01ーC102ーR0601"); +const u8 gUnknown_Debug_083C2542[] = _("FVーHAGIー01ーC102ーR0101"); +const u8 gUnknown_Debug_083C2558[] = _("FVーHAGIー01ーCAVEーD0201"); +const u8 gUnknown_Debug_083C256E[] = _("FVーHAGIー01ーFIELDーR116"); +const u8 gUnknown_Debug_083C2584[] = _("FVーHAGIー01ーSPーSHIP01"); + +const struct MenuAction gUnknown_Debug_083C259C[] = { + {gUnknown_Debug_083C24D4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C24EA, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2500, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2516, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C252C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2542, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2558, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C256E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2584, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C25E4[] = _("FVーSUPPORTー01ーT101ーR0301"); +const u8 gUnknown_Debug_083C25FD[] = _("FVーSUPPORTー01ーC109ーR0105"); +const u8 gUnknown_Debug_083C2616[] = _("FVーSUPPORTー01ーFIELDーC104"); +const u8 gUnknown_Debug_083C262F[] = _("FVーSUPPORTー01ーFIELDーC106"); +const u8 gUnknown_Debug_083C2648[] = _("FVーSUPPORTー01ーFIELDーR103"); +const u8 gUnknown_Debug_083C2661[] = _("FVーSUPPORTー01ーFIELDーR110"); +const u8 gUnknown_Debug_083C267A[] = _("FVーSUPPORTー01ーFIELDーR119"); +const u8 gUnknown_Debug_083C2693[] = _("FVーSUPPORTー01ーFIELDーT104"); +const u8 gUnknown_Debug_083C26AC[] = _("FVーSUPPORTー01ーFIELDーT102"); + +const struct MenuAction gUnknown_Debug_083C26C8[] = { + {gUnknown_Debug_083C25E4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C25FD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2616, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C262F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2648, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2661, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C267A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2693, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C26AC, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2710[] = {9, 9, 9, 9, 6, 9, 9, 9, 9, 0}; + +const u16 gUnknown_Debug_083C271A[] = { + 0x03d5, 0x03ca, 0x03d6, 0x03d9, 0x03da, 0x03db, 0x03dc, + 0x03dd, 0x03de, 0x03c8, 0x02dc, 0x03d4, 0x039d, 0x03c2, + 0x0368, 0x0352, 0x02d2, 0x02f8, 0x02d0, 0x02d1, 0x0380, + 0x0381, 0x0382, 0x0399, 0x0327, 0x0328, 0x037e, 0x02d6, + 0x02ef, 0x0324, 0x0326, 0x035a, 0x0362, 0x0363, 0x037c, + 0x037d, 0x0341, 0x0342, 0x03c6, 0x03c7, 0x03cc, 0x03cd, + 0x0000, 0x0000, 0x0000, 0x02dd, 0x02e1, 0x02ec, 0x02ee, + 0x02f2, 0x02f3, 0x0305, 0x0370, 0x0371, 0x02f0, 0x02f5, + 0x02f6, 0x02f7, 0x030e, 0x030f, 0x039a, 0x039b, 0x03a2, + 0x02e2, 0x02e3, 0x02e4, 0x02e5, 0x034f, 0x0365, 0x036f, + 0x037b, 0x03b6, 0x0379, 0x0398, 0x032e, 0x03cb, 0x02d3, + 0x0397, 0x0353, 0x03a1, 0x03d3}; + +const u8 gUnknown_Debug_083C27BC[] = _("FEひでんわざ/デボンかんれん"); +const u8 gUnknown_Debug_083C27CC[] = _("FEだいじなアイテムPART1"); +const u8 gUnknown_Debug_083C27DC[] = _("そのた1"); +const u8 gUnknown_Debug_083C27E1[] = _("MITSURU/DOOR"); +const u8 gUnknown_Debug_083C27EE[] = _("カラクリやしき10のやじるし/GYM07"); +const u8 gUnknown_Debug_083C2803[] = _("SUPPORT/そのた4"); +const u8 gUnknown_Debug_083C2810[] = _("DAISUKI/そのた5"); +const u8 gUnknown_Debug_083C281D[] = _("そのた2"); +const u8 gUnknown_Debug_083C2822[] = _("そのた6"); + +const struct MenuAction gUnknown_Debug_083C2828[] = { + {gUnknown_Debug_083C27BC, debug_sub_808C3B0}, + {gUnknown_Debug_083C27CC, debug_sub_808C408}, + {gUnknown_Debug_083C27DC, debug_sub_808C460}, + {gUnknown_Debug_083C27E1, debug_sub_808C4B8}, + {gUnknown_Debug_083C27EE, debug_sub_808C510}, + {gUnknown_Debug_083C2803, debug_sub_808C568}, + {gUnknown_Debug_083C2810, debug_sub_808C5C0}, + {gUnknown_Debug_083C281D, debug_sub_808C618}, + {gUnknown_Debug_083C2822, debug_sub_808C670} +}; + +const u8 gUnknown_Debug_083C2870[] = _("FEーHWAZA01ーGET"); +const u8 gUnknown_Debug_083C287F[] = _("FEーHWAZA02ー01ーFIELDR119"); +const u8 gUnknown_Debug_083C2897[] = _("FEーHWAZA03ーGET"); +const u8 gUnknown_Debug_083C28A6[] = _("FEーHWAZA04ー01ーT106ーR0201"); +const u8 gUnknown_Debug_083C28BF[] = _("FEーHWAZA05ー01ーCAVEーD0502"); +const u8 gUnknown_Debug_083C28D8[] = _("FEーHWAZA04ー01ーC103ーR0301"); +const u8 gUnknown_Debug_083C28F1[] = _("FEーDEBONーNIMOTSUーRETURN"); +const u8 gUnknown_Debug_083C2909[] = _("FEーDEBONー01ーFIELDーC104"); +const u8 gUnknown_Debug_083C2920[] = _("FEーDEBONー02ーFIELDーC104"); + +const struct MenuAction gUnknown_Debug_083C2938[] = { + {gUnknown_Debug_083C2870, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C287F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2897, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C28A6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C28BF, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C28D8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C28F1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2909, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2920, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2980[] = _("FEーCYCLEー01ーP01ーP01ーC103ーR0201"); +const u8 gUnknown_Debug_083C299F[] = _("FEーSCOOPー01ーP01ーFIELDーR115"); +const u8 gUnknown_Debug_083C29BA[] = _("FEーROPEー01ーP01ーFIELDーR114"); +const u8 gUnknown_Debug_083C29D4[] = _("FEーKAMAー01ーP01ーFIELDーR119"); +const u8 gUnknown_Debug_083C29EE[] = _("FEーZYOUROーGET"); +const u8 gUnknown_Debug_083C29FC[] = _("FEーCUBECASEーGET"); +const u8 gUnknown_Debug_083C2A0C[] = _("FEーBORONOTURIZAOーGET"); +const u8 gUnknown_Debug_083C2A21[] = _("FEーIITURIZAOーGET"); +const u8 gUnknown_Debug_083C2A32[] = _("FEーSUGOITURIZAOーGET"); + +const struct MenuAction gUnknown_Debug_083C2A48[] = { + {gUnknown_Debug_083C2980, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C299F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C29BA, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C29D4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C29EE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C29FC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2A0C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2A21, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2A32, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2A90[] = _("FEーBOSSー01ーCAVEーD0701"); +const u8 gUnknown_Debug_083C2AA6[] = _("FEーTANTIKIーRETURN"); +const u8 gUnknown_Debug_083C2AB8[] = _("FEーPOKE1ー01ーCAVEーD1111"); +const u8 gUnknown_Debug_083C2ACF[] = _("FEーPOKE1ー01ーCAVEーD1206"); +const u8 gUnknown_Debug_083C2AE6[] = _("FEーSHOPー01ーC104ーFS01"); +const u8 gUnknown_Debug_083C2AFB[] = _("FEーHUNENOTIKETTーGET"); +const u8 gUnknown_Debug_083C2B0F[] = _("FEーKAKUREー01ーFIELDーC105"); +const u8 gUnknown_Debug_083C2B27[] = _("FEーKASEKIーRETURN"); +const u8 gUnknown_Debug_083C2B38[] = _("FEーWINー01ーSPーSHIP01"); + +const struct MenuAction gUnknown_Debug_083C2B4C[] = { + {gUnknown_Debug_083C2A90, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2AA6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2AB8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2ACF, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2AE6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2AFB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2B0F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2B27, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2B38, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2B94[] = _("FEーMITSURUー01ーT106ーR0201"); +const u8 gUnknown_Debug_083C2BAD[] = _("FEーMITSURUー01ーCAVEーD1301"); +const u8 gUnknown_Debug_083C2BC6[] = _("FEーMITSURUー02ーFIELDーC103"); +const u8 gUnknown_Debug_083C2BDF[] = _("FEーMITSURUー02ーT106ーR0201"); +const u8 gUnknown_Debug_083C2BF8[] = _("FEーMITSURUー01ーFIELDーC103"); +const u8 gUnknown_Debug_083C2C11[] = _("FEーDOORーOPENー01ーCAVEーD1712"); +const u8 gUnknown_Debug_083C2C2C[] = _("FEーDOORーOPENー02ーCAVEーD1712"); +const u8 gUnknown_Debug_083C2C47[] = _("FEーDOORーOPENー04ーCAVEーD1712"); +const u8 gUnknown_Debug_083C2C62[] = _("FEーDOORーOPENー06ーCAVEーD1712"); + +const struct MenuAction gUnknown_Debug_083C2C80[] = { + {gUnknown_Debug_083C2B94, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2BAD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2BC6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2BDF, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2BF8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2C11, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2C2C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2C47, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2C62, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2CC8[] = _("FEーKARAKURI10ーSWITCHー01"); +const u8 gUnknown_Debug_083C2CE0[] = _("FEーKARAKURI10ーSWITCHー02"); +const u8 gUnknown_Debug_083C2CF8[] = _("FEーKARAKURI10ーSWITCHー03"); +const u8 gUnknown_Debug_083C2D10[] = _("FEーKARAKURI10ーSWITCHー04"); +const u8 gUnknown_Debug_083C2D28[] = _("FEーKARAKURI10ーSWITCHー05"); +const u8 gUnknown_Debug_083C2D40[] = _("FEーGYM07ーSWITCHー01"); +const u8 gUnknown_Debug_083C2D53[] = _("FEーGYM07ーSWITCHー02"); +const u8 gUnknown_Debug_083C2D66[] = _("FEーGYM07ーSWITCHー03"); +const u8 gUnknown_Debug_083C2D79[] = _("FEーGYM07ーSWITCHー04"); + +const struct MenuAction gUnknown_Debug_083C2D8C[] = { + {gUnknown_Debug_083C2CC8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2CE0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2CF8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2D10, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2D28, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2D40, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2D53, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2D66, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2D79, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2DD4[] = _("FEーSUPPORTー01ーFIELDーR103"); +const u8 gUnknown_Debug_083C2DED[] = _("FEーSUPPORTー01ーFIELDーC106"); +const u8 gUnknown_Debug_083C2E06[] = _("FEーSUPPORTー01ーFIELDーR104"); +const u8 gUnknown_Debug_083C2E1F[] = _("FEーSUPPORTー02ーFIELDーC106"); +const u8 gUnknown_Debug_083C2E38[] = _("FEーSUPPORTー01ーT101ーR0202"); +const u8 gUnknown_Debug_083C2E51[] = _("FEーMAMAー01ーP01ーT101ーR0101"); +const u8 gUnknown_Debug_083C2E6B[] = _("FEーCLOCKーSET"); +const u8 gUnknown_Debug_083C2E78[] = _("FEーODAMAKIー01ーP01ーT101ーR03"); +const u8 gUnknown_Debug_083C2E93[] = _("FEーPAPAー01ーP01ーC101ーR0201"); + +const struct MenuAction gUnknown_Debug_083C2EB0[] = { + {gUnknown_Debug_083C2DD4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2DED, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2E06, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2E1F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2E38, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2E51, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2E6B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2E78, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2E93, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C2EF8[] = _("FEーDAISUKIーGOODSーFLAG01"); +const u8 gUnknown_Debug_083C2F10[] = _("FEーDAISUKIーGOODSーFLAG02"); +const u8 gUnknown_Debug_083C2F28[] = _("FEーDAISUKIーGOODSーFLAG03"); +const u8 gUnknown_Debug_083C2F40[] = _("FEーDAISUKIーGOODSーFLAG04"); +const u8 gUnknown_Debug_083C2F58[] = _("FEーDAISUKIーGOODSーFLAG05"); +const u8 gUnknown_Debug_083C2F70[] = _("FEーBASHAー01ーP01ーFIELDーC101ー"); +const u8 gUnknown_Debug_083C2F8C[] = _("FEーBASHAー01ーP02ーFIELDーC101ー"); +const u8 gUnknown_Debug_083C2FA8[] = _("FEーBALLー01ーP01ーSPーCONTEST"); +const u8 gUnknown_Debug_083C2FC2[] = _("FEーWOMAN2ー01ーP01ーT101ーR0201"); + +const struct MenuAction gUnknown_Debug_083C2FE0[] = { + {gUnknown_Debug_083C2EF8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2F10, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2F28, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2F40, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2F58, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2F70, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2F8C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2FA8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C2FC2, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C3028[] = _("FEーSOUKOーOPENーCAVEーD1704"); +const u8 gUnknown_Debug_083C3041[] = _("FEーSORAISIー01ーCAVEーD0101"); +const u8 gUnknown_Debug_083C305A[] = _("FEーMAYUMIー01ーーR114ーR0201"); +const u8 gUnknown_Debug_083C3073[] = _("FEーKUSUNOKIー01ーC102ーR0601"); +const u8 gUnknown_Debug_083C308D[] = _("FEーOLDWOMAN1ー01ーCAVEーD0808"); +const u8 gUnknown_Debug_083C30A8[] = _("FEーTRAINERM1ー01ーC109ーR0206"); +const u8 gUnknown_Debug_083C30C3[] = _("FEーSOONANOーTAMAGOーGET"); +const u8 gUnknown_Debug_083C30D9[] = _("FEーDASHーSHOESーGET"); +const u8 gUnknown_Debug_083C30EB[] = _("FEーDEBONSUKOOPUーGET"); + +const struct MenuAction gUnknown_Debug_083C3100[] = { + {gUnknown_Debug_083C3028, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3041, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C305A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3073, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C308D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C30A8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C30C3, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C30D9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C30EB, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C3148[] = _("FEーSTUDYM1ー01ーP01ーT101R0301"); +const u8 gUnknown_Debug_083C3164[] = _("FEーWORKERM1ー01ーC103ーR0201"); +const u8 gUnknown_Debug_083C317E[] = _("FEーHIMITSUーGET"); +const u8 gUnknown_Debug_083C318D[] = _(""); +const u8 gUnknown_Debug_083C318E[] = _(""); +const u8 gUnknown_Debug_083C318F[] = _(""); +const u8 gUnknown_Debug_083C3190[] = _(""); +const u8 gUnknown_Debug_083C3191[] = _(""); +const u8 gUnknown_Debug_083C3192[] = _(""); + +const struct MenuAction gUnknown_Debug_083C3194[] = { + {gUnknown_Debug_083C3148, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3164, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C317E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C318D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C318E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C318F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3190, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3191, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3192, TomomichiDebugMenu_Config} +}; + bool8 InitTomomichiDebugWindow(void) { debug_sub_808B874(); @@ -1144,4 +1703,54 @@ bool8 debug_sub_808C23C(void) return TRUE; } +bool8 TomomichiDebugMenu_ContestGraphics_Show(void) +{ + BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + gMenuCallback = debug_sub_808C280; + return FALSE; +} + +bool8 debug_sub_808C280(void) +{ + if (!UpdatePaletteFade()) + { + CloseMenu(); + debug_sub_808F168(0); + SetMainCallback2(CB2_ContestPainting); + gMain.savedCallback = debug_sub_808B868; + return TRUE; + } + return FALSE; +} + +bool8 TomomichiDebugMenu_MuseumGraphics_Show(void) +{ + BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + gMenuCallback = debug_sub_808C2E4; + return FALSE; +} + +bool8 debug_sub_808C2E4(void) +{ + if (!UpdatePaletteFade()) + { + CloseMenu(); + debug_sub_808F168(1); + SetMainCallback2(CB2_ContestPainting); + gMain.savedCallback = debug_sub_808B868; + return TRUE; + } + return FALSE; +} + +bool8 debug_sub_808C31C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2828), gUnknown_Debug_083C2828); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2828), 0, 27); + gMenuCallback = debug_sub_808C36C; + return FALSE; +} + #endif -- cgit v1.2.3 From 937451db9d86f60bb87bbeb1a19f27354bf9d8f0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 10 Mar 2018 21:25:13 -0500 Subject: through debug_sub_808C4B8 --- src/debug/tomomichi_debug_menu.c | 60 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 3d3fe2ff8..89885070a 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -125,6 +125,7 @@ bool8 debug_sub_808C5C0(void); bool8 debug_sub_808C618(void); bool8 debug_sub_808C670(void); bool8 debug_sub_808C36C(void); +bool8 debug_sub_808C6C8(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -1753,4 +1754,63 @@ bool8 debug_sub_808C31C(void) return FALSE; } +bool8 debug_sub_808C36C(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C2828[input].func; + return FALSE; +} + +bool8 debug_sub_808C3B0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), gUnknown_Debug_083C2938); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C408(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), gUnknown_Debug_083C2A48); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C460(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), gUnknown_Debug_083C2B4C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C4B8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), gUnknown_Debug_083C2C80); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + #endif -- cgit v1.2.3 From 0e0651c0283bf1d11d9984acaea878cb409c4e6a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 11 Mar 2018 18:30:26 -0400 Subject: through debug_sub_808C764 --- src/debug/tomomichi_debug_menu.c | 112 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 89885070a..f2d8d8096 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1,6 +1,7 @@ #if DEBUG #include "global.h" #include "palette.h" +#include "event_data.h" #include "constants/songs.h" #include "overworld.h" #include "script.h" @@ -126,6 +127,9 @@ bool8 debug_sub_808C618(void); bool8 debug_sub_808C670(void); bool8 debug_sub_808C36C(void); bool8 debug_sub_808C6C8(void); +void debug_sub_808C714(u8, u8); +void debug_sub_808C764(u8); +void debug_sub_808F2E0(u8, u8, bool8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -1218,6 +1222,20 @@ const struct MenuAction gUnknown_Debug_083C3194[] = { {gUnknown_Debug_083C3192, TomomichiDebugMenu_Config} }; +const u8 gUnknown_Debug_083C31DC[] = {9, 9, 9, 9, 9, 9, 9, 9, 3, 0}; + +const u16 gUnknown_Debug_83C31E6[][9] = { + {0x89, 0x6E, 0x7A, 0x6A, 0x6D, 0x6B, 0x90, 0x8E, 0x8F}, + {0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x101, 0xE3, 0x98}, + {0x8B, 0x126, 0x81, 0x71, 0x100, 0x123, 0x127, 0x10B, 0xF7}, + {0x6C, 0x7E, 0xBE, 0xC1, 0x11C, 0xF0, 0xF1, 0xF2, 0xF3}, + {0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0x64, 0x65, 0x66, 0x67}, + {0x82, 0x11E, 0x120, 0x124, 0x125, 0x50, 0x51, 0x52, 0x55}, + {0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0x53, 0x54, 0x56, 0x57}, + {0xEF, 0xF4, 0x83, 0x10F, 0x103, 0x107, 0x10A, 0x112, 0x11D}, + {0x58, 0x59, 0x60, 0, 0, 0, 0, 0, 0} +}; + bool8 InitTomomichiDebugWindow(void) { debug_sub_808B874(); @@ -1813,4 +1831,98 @@ bool8 debug_sub_808C4B8(void) return FALSE; } +bool8 debug_sub_808C510(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2D8C), gUnknown_Debug_083C2D8C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2D8C), 0, 28); + gDebug_0300070F = 4; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C568(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2EB0), gUnknown_Debug_083C2EB0); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2EB0), 0, 28); + gDebug_0300070F = 5; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C5C0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2FE0), gUnknown_Debug_083C2FE0); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2FE0), 0, 28); + gDebug_0300070F = 6; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C618(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3100), gUnknown_Debug_083C3100); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3100), 0, 28); + gDebug_0300070F = 7; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C670(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 7); + Menu_PrintItems(2, 1, 3, gUnknown_Debug_083C3194); + InitMenu(0, 1, 1, 3, 0, 28); + gDebug_0300070F = 8; + gMenuCallback = debug_sub_808C6C8; + return FALSE; +} + +bool8 debug_sub_808C6C8(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808C714(gDebug_0300070F, cursorPos); + debug_sub_808C764(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808C714(u8 whichMenu, u8 cursorPos) +{ + if (gMain.newKeys & R_BUTTON) + { + u16 flag = gUnknown_Debug_83C31E6[whichMenu][cursorPos]; + if (!FlagGet(flag)) + FlagSet(flag); + else + FlagClear(flag); + } +} + +void debug_sub_808C764(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C31DC[whichMenu]; i++) + { + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_83C31E6[whichMenu][i]) ? TRUE : FALSE); + } +} + #endif -- cgit v1.2.3 From a856e2171f7dc246eb02a6e891cdbe43811a5fd9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 11 Mar 2018 18:45:16 -0400 Subject: through debug_sub_808CB1C --- src/debug/tomomichi_debug_menu.c | 144 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 135 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index f2d8d8096..de4a75f90 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -130,6 +130,8 @@ bool8 debug_sub_808C6C8(void); void debug_sub_808C714(u8, u8); void debug_sub_808C764(u8); void debug_sub_808F2E0(u8, u8, bool8); +bool8 debug_sub_808C818(void); +bool8 debug_sub_808CB74(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -1790,7 +1792,7 @@ bool8 debug_sub_808C36C(void) bool8 debug_sub_808C3B0(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2938) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), gUnknown_Debug_083C2938); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), 0, 28); gDebug_0300070F = 0; @@ -1801,7 +1803,7 @@ bool8 debug_sub_808C3B0(void) bool8 debug_sub_808C408(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2A48) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), gUnknown_Debug_083C2A48); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), 0, 28); gDebug_0300070F = 1; @@ -1812,7 +1814,7 @@ bool8 debug_sub_808C408(void) bool8 debug_sub_808C460(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2B4C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), gUnknown_Debug_083C2B4C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), 0, 28); gDebug_0300070F = 2; @@ -1823,7 +1825,7 @@ bool8 debug_sub_808C460(void) bool8 debug_sub_808C4B8(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2C80) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), gUnknown_Debug_083C2C80); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), 0, 28); gDebug_0300070F = 3; @@ -1834,7 +1836,7 @@ bool8 debug_sub_808C4B8(void) bool8 debug_sub_808C510(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2D8C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2D8C), gUnknown_Debug_083C2D8C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2D8C), 0, 28); gDebug_0300070F = 4; @@ -1845,7 +1847,7 @@ bool8 debug_sub_808C510(void) bool8 debug_sub_808C568(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2EB0) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2EB0), gUnknown_Debug_083C2EB0); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2EB0), 0, 28); gDebug_0300070F = 5; @@ -1856,7 +1858,7 @@ bool8 debug_sub_808C568(void) bool8 debug_sub_808C5C0(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2FE0) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2FE0), gUnknown_Debug_083C2FE0); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2FE0), 0, 28); gDebug_0300070F = 6; @@ -1867,7 +1869,7 @@ bool8 debug_sub_808C5C0(void) bool8 debug_sub_808C618(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C3100) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3100), gUnknown_Debug_083C3100); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3100), 0, 28); gDebug_0300070F = 7; @@ -1878,7 +1880,7 @@ bool8 debug_sub_808C618(void) bool8 debug_sub_808C670(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 7); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 3 + 1); Menu_PrintItems(2, 1, 3, gUnknown_Debug_083C3194); InitMenu(0, 1, 1, 3, 0, 28); gDebug_0300070F = 8; @@ -1925,4 +1927,128 @@ void debug_sub_808C764(u8 whichMenu) } } +bool8 debug_sub_808C7C8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 19); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1CE8), gUnknown_Debug_083C1CE8); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1CE8), 0, 27); + gMenuCallback = debug_sub_808C818; + return FALSE; +} + +bool8 debug_sub_808C818(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C1CE8[input].func; + return FALSE; +} + +bool8 debug_sub_808C85C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1E0C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1E0C), gUnknown_Debug_083C1E0C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1E0C), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808C8B4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1F38) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1F38), gUnknown_Debug_083C1F38); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1F38), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808C90C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C206C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C206C), gUnknown_Debug_083C206C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C206C), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808C964(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2190) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2190), gUnknown_Debug_083C2190); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2190), 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808C9BC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2264) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2264), gUnknown_Debug_083C2264); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2264), 0, 28); + gDebug_0300070F = 4; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808CA14(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2370) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2370), gUnknown_Debug_083C2370); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2370), 0, 28); + gDebug_0300070F = 5; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808CA6C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C248C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C248C), gUnknown_Debug_083C248C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C248C), 0, 28); + gDebug_0300070F = 6; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808CAC4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C259C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C259C), gUnknown_Debug_083C259C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C259C), 0, 27); + gDebug_0300070F = 7; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + +bool8 debug_sub_808CB1C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C26C8) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C26C8), gUnknown_Debug_083C26C8); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C26C8), 0, 28); + gDebug_0300070F = 8; + gMenuCallback = debug_sub_808CB74; + return FALSE; +} + #endif -- cgit v1.2.3 From f2580f66856f3ee63ee411d089d79034f390c27a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 11 Mar 2018 19:36:02 -0400 Subject: Rearrange flag data objects --- src/debug/tomomichi_debug_menu.c | 169 +++++++++++++-------------------------- 1 file changed, 55 insertions(+), 114 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index de4a75f90..54d7fe8a7 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -2,6 +2,7 @@ #include "global.h" #include "palette.h" #include "event_data.h" +#include "constants/flags.h" #include "constants/songs.h" #include "overworld.h" #include "script.h" @@ -359,7 +360,10 @@ const struct MenuAction gUnknown_Debug_083C1149[] = { const u8 gUnknown_Debug_083C1194[] = {9, 7}; -const u16 gUnknown_Debug_083C1196[] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x00, 0x00}; +const u16 gUnknown_Debug_083C1196[][9] = { + {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19}, + {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20} +}; const u8 gUnknown_Debug_083C11BA[] = _("FH-00-08"); const u8 gUnknown_Debug_083C11C3[] = _("FH-09-15"); @@ -415,24 +419,19 @@ const struct MenuAction gUnknown_Debug_083C1288[] = { const u8 gUnknown_Debug_083C12D0[] = {9, 7}; -const u16 gUnknown_Debug_083C12D2[] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x00, 0x00}; +const u16 gUnknown_Debug_083C12D2[][9] = { + {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09}, + {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10} +}; const u8 gUnknown_Debug_083C12F6[] = _("BATCH"); - const u8 gUnknown_Debug_083C12FC[] = _("タウンとうちゃく"); - const u8 gUnknown_Debug_083C1305[] = _("シティとうちゃく"); - const u8 gUnknown_Debug_083C130E[] = _("GET"); - const u8 gUnknown_Debug_083C1312[] = _("そのた1"); - const u8 gUnknown_Debug_083C1317[] = _("そのた2"); - const u8 gUnknown_Debug_083C131C[] = _("そのた3"); - const u8 gUnknown_Debug_083C1321[] = _("そのた4"); - const u8 gUnknown_Debug_083C1326[] = _("そのた とうちゃく"); const struct MenuAction gUnknown_Debug_083C1330[] = { @@ -448,19 +447,12 @@ const struct MenuAction gUnknown_Debug_083C1330[] = { }; const u8 gUnknown_Debug_083C1378[] = _("BATCH01ーGET"); - const u8 gUnknown_Debug_083C1384[] = _("BATCH02ーGET"); - const u8 gUnknown_Debug_083C1390[] = _("BATCH03ーGET"); - const u8 gUnknown_Debug_083C139C[] = _("BATCH04ーGET"); - const u8 gUnknown_Debug_083C13A8[] = _("BATCH05ーGET"); - const u8 gUnknown_Debug_083C13B4[] = _("BATCH06ーGET"); - const u8 gUnknown_Debug_083C13C0[] = _("BATCH07ーGET"); - const u8 gUnknown_Debug_083C13CC[] = _("BATCH08ーGET"); const struct MenuAction gUnknown_Debug_083C13D8[] = { @@ -475,17 +467,11 @@ const struct MenuAction gUnknown_Debug_083C13D8[] = { }; const u8 gUnknown_Debug_083C1418[] = _("T101ARRIVE"); - const u8 gUnknown_Debug_083C1423[] = _("T102ARRIVE"); - const u8 gUnknown_Debug_083C142E[] = _("T103ARRIVE"); - const u8 gUnknown_Debug_083C1439[] = _("T104ARRIVE"); - const u8 gUnknown_Debug_083C1444[] = _("T105ARRIVE"); - const u8 gUnknown_Debug_083C144F[] = _("T106ARRIVE"); - const u8 gUnknown_Debug_083C145A[] = _("T107ARRIVE"); const struct MenuAction gUnknown_Debug_083C1465[] = { @@ -499,21 +485,13 @@ const struct MenuAction gUnknown_Debug_083C1465[] = { }; const u8 gUnknown_Debug_083C14A0[] = _("C101ARRIVE"); - const u8 gUnknown_Debug_083C14AB[] = _("C102ARRIVE"); - const u8 gUnknown_Debug_083C14B6[] = _("C103ARRIVE"); - const u8 gUnknown_Debug_083C14C1[] = _("C104ARRIVE"); - const u8 gUnknown_Debug_083C14CC[] = _("C105ARRIVE"); - const u8 gUnknown_Debug_083C14D7[] = _("C106ARRIVE"); - const u8 gUnknown_Debug_083C14E2[] = _("C107ARRIVE"); - const u8 gUnknown_Debug_083C14ED[] = _("C108ARRIVE"); - const u8 gUnknown_Debug_083C14F8[] = _("C109ARRIVE"); const struct MenuAction gUnknown_Debug_083C1503[] = { @@ -529,11 +507,8 @@ const struct MenuAction gUnknown_Debug_083C1503[] = { }; const u8 gUnknown_Debug_083C154C[] = _("SYSーPOKEMONーGET"); - const u8 gUnknown_Debug_083C155C[] = _("SYSーZUKANーGET"); - const u8 gUnknown_Debug_083C156A[] = _("SYSーPOKEGEARーGET"); - const u8 gUnknown_Debug_083C157B[] = _("SYSーRIBBONーGET"); const struct MenuAction gUnknown_Debug_083C158A[] = { @@ -544,21 +519,13 @@ const struct MenuAction gUnknown_Debug_083C158A[] = { }; const u8 gUnknown_Debug_083C15AC[] = _("SYSーGAMEーCLEAR"); - const u8 gUnknown_Debug_083C15BB[] = _("SYSーKAIWAーUSED"); - const u8 gUnknown_Debug_083C15CA[] = _("SYSーNOWーOYAJIーMEET"); - const u8 gUnknown_Debug_083C15DD[] = _("SYSーUSEーWAZAーFLASH"); - const u8 gUnknown_Debug_083C15F0[] = _("SYSーUSEーWAZAーKAIRIKI"); - const u8 gUnknown_Debug_083C1605[] = _("SYSーWEATHERーCTRL"); - const u8 gUnknown_Debug_083C1616[] = _("SYSーCYCLINGーROAD"); - const u8 gUnknown_Debug_083C1627[] = _("SYSーSAFARIーMODE"); - const u8 gUnknown_Debug_083C1637[] = _("SYSーCRUISEーMODE"); const struct MenuAction gUnknown_Debug_083C1647[] = { @@ -574,21 +541,13 @@ const struct MenuAction gUnknown_Debug_083C1647[] = { }; const u8 gUnknown_Debug_083C1690[] = _("SYSーTVーHOME"); - const u8 gUnknown_Debug_083C169C[] = _("SYSーTVーWATCH"); - const u8 gUnknown_Debug_083C16A9[] = _("SYSーTVSTART"); - const u8 gUnknown_Debug_083C16B5[] = _("SYSーPOPWORDーINPUT"); - const u8 gUnknown_Debug_083C16C7[] = _("SYSーMIXーRECORD"); - const u8 gUnknown_Debug_083C16D6[] = _("SYSーCLOCKーSET"); - const u8 gUnknown_Debug_083C16E4[] = _("SYSーCAVEーSHIP"); - const u8 gUnknown_Debug_083C16F2[] = _("SYSーCAVEーWONDER"); - const u8 gUnknown_Debug_083C1702[] = _("SYSーCAVEーBATTLE"); const struct MenuAction gUnknown_Debug_083C1712[] = { @@ -604,21 +563,13 @@ const struct MenuAction gUnknown_Debug_083C1712[] = { }; const u8 gUnknown_Debug_083C175C[] = _("SYSーSPECIALーZUKAN"); - const u8 gUnknown_Debug_083C176E[] = _("SYSーASASEーTIDE"); - const u8 gUnknown_Debug_083C177D[] = _("SYSーRIBBONーGET"); - const u8 gUnknown_Debug_083C178C[] = _("SYSーPASOーMAYUMI"); - const u8 gUnknown_Debug_083C179C[] = _("SYSーEXDATAーENABLE"); - const u8 gUnknown_Debug_083C17AE[] = _("SYSーTENJIーANAWOHORU"); - const u8 gUnknown_Debug_083C17C2[] = _("SYSーTENJIーKAIRIKI"); - const u8 gUnknown_Debug_083C17D4[] = _("SYSーTENJIーWAIT"); - const u8 gUnknown_Debug_083C17E3[] = _("SYSーTENJIーSORAWOTOBU"); const struct MenuAction gUnknown_Debug_083C17F8[] = { @@ -634,21 +585,13 @@ const struct MenuAction gUnknown_Debug_083C17F8[] = { }; const u8 gUnknown_Debug_083C1840[] = _("SYSーENCーUPーITEM"); - const u8 gUnknown_Debug_083C1850[] = _("SYSーENEーDOWNーITEM"); - const u8 gUnknown_Debug_083C1862[] = _("SYSーKOKOROーEVENT"); - const u8 gUnknown_Debug_083C1873[] = _("SYSーMOVEーPOKEーNEWS"); - const u8 gUnknown_Debug_083C1886[] = _("SYSーASASEーITEM"); - const u8 gUnknown_Debug_083C1895[] = _("SYSーBーDASH"); - const u8 gUnknown_Debug_083C18A0[] = _("SYSーCTRLーOBJーDELETE"); - const u8 gUnknown_Debug_083C18B4[] = _(""); - const u8 gUnknown_Debug_083C18B5[] = _(""); const struct MenuAction gUnknown_Debug_083C18B8[] = { @@ -664,21 +607,13 @@ const struct MenuAction gUnknown_Debug_083C18B8[] = { }; const u8 gUnknown_Debug_083C1900[] = _("SYSーARRIVEーSUBMARINECAVE"); - const u8 gUnknown_Debug_083C1919[] = _("SYSーARRIVEーBATTLETOWER"); - const u8 gUnknown_Debug_083C1930[] = _("SYSーARRIVEーISLAND"); - const u8 gUnknown_Debug_083C1942[] = _("SYSーARRIVEーLEAGUE"); - const u8 gUnknown_Debug_083C1954[] = _("SYSーARRIVEーSORANOHASHIRA"); - const u8 gUnknown_Debug_083C196D[] = _(""); - const u8 gUnknown_Debug_083C196E[] = _(""); - const u8 gUnknown_Debug_083C196F[] = _(""); - const u8 gUnknown_Debug_083C1970[] = _(""); const struct MenuAction gDebug_0x83C1974[] = { @@ -693,17 +628,19 @@ const struct MenuAction gDebug_0x83C1974[] = { {gUnknown_Debug_083C1970, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C19BC[] = {0x08, 0x07, 0x09, 0x04, 0x09, 0x09, 0x09, 0x07, 0x05, 0x00}; - -const u16 gUnknown_Debug_083C19C6[] = {0x0807, 0x0808, 0x0809, 0x080a, 0x080b, 0x080c, 0x080d, 0x080e, 0x0000, - 0x080f, 0x0810, 0x0811, 0x0812, 0x0813, 0x0814, 0x0815, 0x0000, 0x0000, - 0x0816, 0x0817, 0x0818, 0x0819, 0x081a, 0x081b, 0x081c, 0x081d, 0x081e, - 0x0800, 0x0801, 0x0802, 0x083b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0804, 0x0805, 0x0806, 0x0828, 0x0829, 0x082a, 0x082b, 0x082c, 0x082d, - 0x0830, 0x0831, 0x0832, 0x0833, 0x0834, 0x0835, 0x0837, 0x0838, 0x0839, - 0x0836, 0x083a, 0x083b, 0x084b, 0x084c, 0x084f, 0x0850, 0x0851, 0x0852, - 0x084d, 0x084e, 0x0853, 0x085d, 0x085f, 0x0860, 0x0861, 0x0000, 0x0000, - 0x0847, 0x0848, 0x0849, 0x0854, 0x085e, 0x0000, 0x0000, 0x0000, 0x0000}; +const u8 gUnknown_Debug_083C19BC[] = {8, 7, 9, 4, 9, 9, 9, 7, 5}; + +const u16 gUnknown_Debug_083C19C6[][9] = { + {FLAG_BADGE01_GET, FLAG_BADGE02_GET, FLAG_BADGE03_GET, FLAG_BADGE04_GET, FLAG_BADGE05_GET, FLAG_BADGE06_GET, FLAG_BADGE07_GET, FLAG_BADGE08_GET}, + {FLAG_VISITED_LITTLEROOT_TOWN, FLAG_VISITED_OLDALE_TOWN, FLAG_VISITED_DEWFORD_TOWN, FLAG_VISITED_LAVARIDGE_TOWN, FLAG_VISITED_FALLARBOR_TOWN, FLAG_VISITED_VERDANTURF_TOWN, FLAG_VISITED_PACIFIDLOG_TOWN}, + {FLAG_VISITED_PETALBURG_CITY, FLAG_VISITED_SLATEPORT_CITY, FLAG_VISITED_MAUVILLE_CITY, FLAG_VISITED_RUSTBORO_CITY, FLAG_VISITED_FORTREE_CITY, FLAG_VISITED_LILYCOVE_CITY, FLAG_VISITED_MOSSDEEP_CITY, FLAG_VISITED_SOOTOPOLIS_CITY, FLAG_VISITED_EVER_GRANDE_CITY}, + {FLAG_SYS_POKEMON_GET, FLAG_SYS_POKEDEX_GET, FLAG_SYS_POKENAV_GET, FLAG_SYS_RIBBON_GET}, + {FLAG_SYS_GAME_CLEAR, FLAG_SYS_CHAT_USED, FLAG_SYS_HIPSTER_MEET, FLAG_SYS_USE_FLASH, FLAG_SYS_USE_STRENGTH, FLAG_SYS_WEATHER_CTRL, FLAG_SYS_CYCLING_ROAD, FLAG_SYS_SAFARI_MODE, FLAG_SYS_CRUISE_MODE}, + {FLAG_SYS_TV_HOME, FLAG_SYS_TV_WATCH, FLAG_SYS_TV_START, FLAG_SYS_POPWORD_INPUT, FLAG_SYS_MIX_RECORD, FLAG_SYS_CLOCK_SET, FLAG_SYS_CAVE_SHIP, FLAG_SYS_CAVE_WONDER, FLAG_SYS_CAVE_BATTLE}, + {FLAG_SYS_NATIONAL_DEX, FLAG_SYS_SHOAL_TIDE, FLAG_SYS_RIBBON_GET, FLAG_SYS_PC_LANETTE, FLAG_SYS_EXDATA_ENABLE, FLAG_SYS_BRAILLE_DIG, FLAG_SYS_BRAILLE_STRENGTH, FLAG_SYS_BRAILLE_WAIT, FLAG_SYS_BRAILLE_FLY}, + {FLAG_SYS_ENC_UP_ITEM, FLAG_SYS_ENC_DOWN_ITEM, FLAG_SYS_HAS_EON_TICKET, FLAG_SYS_TV_LATI, FLAG_SYS_SHOAL_ITEM, FLAG_SYS_B_DASH, FLAG_SYS_CTRL_OBJ_DELETE}, + {FLAG_LANDMARK_SEAFLOOR_CAVERN, FLAG_LANDMARK_BATTLE_TOWER, FLAG_LANDMARK_SOUTHERN_ISLAND, FLAG_SYS_POKEMON_LEAGUE_FLY, FLAG_LANDMARK_SKY_PILLAR} +}; const u8 gDebug_0x83C1A68[] = _("FVーBALL パート1"); @@ -719,9 +656,11 @@ const struct MenuAction gUnknown_Debug_083C1A9C[] = { {gUnknown_Debug_083C1A8C, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1AAC[] = {2, 0}; +const u8 gUnknown_Debug_083C1AAC[] = {2}; -const u16 gUnknown_Debug_083C1AAE[] = {0x0436, 0x046d, 0, 0, 0, 0, 0, 0, 0}; +const u16 gUnknown_Debug_083C1AAE[][9] = { + {FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2, FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_1} +}; const u8 gUnknown_Debug_083C1AC0[] = _("ジムリーダー"); const u8 gUnknown_Debug_083C1AC7[] = _("してんのう"); @@ -771,8 +710,12 @@ const struct MenuAction gUnknown_Debug_083C1C2C[] = { {gUnknown_Debug_083C1C10, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1C34[] = {0x08, 0x04, 0x01, 0x00}; -const u16 gUnknown_Debug_083C1C38[] = {0x04B1, 0x04B4, 0x04B8, 0x04BD, 0x04C1, 0x04C9, 0x04CD, 0x04D4, 0x0000, 0x04DD, 0x04DE, 0x04DF, 0x04E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04E1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}; +const u8 gUnknown_Debug_083C1C34[] = {8, 4, 1}; +const u16 gUnknown_Debug_083C1C38[][9] = { + {FLAG_DEFEATED_RUSTBORO_GYM, FLAG_DEFEATED_DEWFORD_GYM, FLAG_DEFEATED_MAUVILLE_GYM, FLAG_DEFEATED_LAVARIDGE_GYM, FLAG_DEFEATED_PETALBURG_GYM, FLAG_DEFEATED_FORTREE_GYM, FLAG_DEFEATED_MOSSDEEP_GYM, FLAG_DEFEATED_SOOTOPOLIS_GYM}, + {FLAG_DEFEATED_ELITE_4_SYDNEY, FLAG_DEFEATED_ELITE_4_PHOEBE, FLAG_DEFEATED_ELITE_4_GLACIA, FLAG_DEFEATED_ELITE_4_DRAKE}, + {0x04E1} +}; const u8 gUnknown_Debug_083C1C6E[] = _("120/119ばんどうろカクレオン"); const u8 gUnknown_Debug_083C1C80[] = _("そのた1 / SUPPORTM/W"); @@ -988,21 +931,19 @@ const struct MenuAction gUnknown_Debug_083C26C8[] = { {gUnknown_Debug_083C26AC, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2710[] = {9, 9, 9, 9, 6, 9, 9, 9, 9, 0}; - -const u16 gUnknown_Debug_083C271A[] = { - 0x03d5, 0x03ca, 0x03d6, 0x03d9, 0x03da, 0x03db, 0x03dc, - 0x03dd, 0x03de, 0x03c8, 0x02dc, 0x03d4, 0x039d, 0x03c2, - 0x0368, 0x0352, 0x02d2, 0x02f8, 0x02d0, 0x02d1, 0x0380, - 0x0381, 0x0382, 0x0399, 0x0327, 0x0328, 0x037e, 0x02d6, - 0x02ef, 0x0324, 0x0326, 0x035a, 0x0362, 0x0363, 0x037c, - 0x037d, 0x0341, 0x0342, 0x03c6, 0x03c7, 0x03cc, 0x03cd, - 0x0000, 0x0000, 0x0000, 0x02dd, 0x02e1, 0x02ec, 0x02ee, - 0x02f2, 0x02f3, 0x0305, 0x0370, 0x0371, 0x02f0, 0x02f5, - 0x02f6, 0x02f7, 0x030e, 0x030f, 0x039a, 0x039b, 0x03a2, - 0x02e2, 0x02e3, 0x02e4, 0x02e5, 0x034f, 0x0365, 0x036f, - 0x037b, 0x03b6, 0x0379, 0x0398, 0x032e, 0x03cb, 0x02d3, - 0x0397, 0x0353, 0x03a1, 0x03d3}; +const u8 gUnknown_Debug_083C2710[] = {9, 9, 9, 9, 6, 9, 9, 9, 9}; + +const u16 gUnknown_Debug_083C271A[][9] = { + {FLAG_HIDE_KECLEON_ROUTE120_2, FLAG_HIDE_KECLEON_ROUTE120_1, FLAG_HIDE_KECLEON_ROUTE120_3, FLAG_HIDE_KECLEON_ROUTE120_4, FLAG_HIDE_KECLEON_ROUTE120_5, FLAG_HIDE_KECLEON_ROUTE120_6, FLAG_HIDE_KECLEON_ROUTE120_7, FLAG_HIDE_KECLEON_ROUTE119_1, FLAG_HIDE_KECLEON_ROUTE119_2}, + {FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE, FLAG_HIDE_DEVON_RUSTBORO, FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE, FLAG_HIDE_ROOFTOP_LADY_LILYCOVE_MART, FLAG_HIDE_TRICKMASTER_ENTRANCE, 0x352, FLAG_HIDE_MAY_UPSTAIRS, FLAG_HIDE_BRENDAN_UPSTAIRS}, + {FLAG_HIDE_BIRCH_BATTLE_POOCHYENA, FLAG_HIDE_BIRCH_IN_LAB, FLAG_UNKNOWN_BIRCH_380, FLAG_HIDE_BIRCH_ROUTE101, FLAG_HIDE_BIRCH_ROUTE103, FLAG_HIDE_BIRCH_CHAMPIONS_ROOM, FLAG_HIDE_BOYFRIEND_RUSTURF_TUNNEL, FLAG_HIDE_BOYFRIEND_WANDAS_HOUSE, FLAG_HIDE_TUNNER_DIGGER_ROUTE116}, + {FLAG_HIDE_WALLY_PETALBURG, FLAG_HIDE_WALLY_DEFEATED_VICTORY_ROAD, FLAG_HIDE_WALLY_MAUVILLE, FLAG_HIDE_WALLY_WANDAS_HOUSE, FLAG_HIDE_WALLY_BATTLE_VICTORY_ROAD, FLAG_HIDE_WALLY_PETALBURG_GYM, FLAG_UNKNOWN_363, FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_1F, FLAG_HIDE_WEATHER_INSTITUTE_WORKERS_2F}, + {FLAG_HIDE_STEVEN_GRANITE_CAVE, FLAG_HIDE_STEVEN_ROUTE128, FLAG_HIDE_STEVEN_ROUTE118, FLAG_HIDE_STEVEN_STEVENS_HOUSE, FLAG_HIDE_STEVEN_ROUTE120, FLAG_HIDE_STEVEN_SOOTOPOLIS}, + {FLAG_HIDE_SLEEPING_MON_SEAFLOOR_CAVERN, FLAG_UNKNOWN_2E1, FLAG_UNKNOWN_2EC, FLAG_HIDE_POOCHYENA_ROUTE101, FLAG_HIDE_MACHOKE_MOVER_1, FLAG_HIDE_MACHOKE_MOVER_2, 0x305, FLAG_HIDE_PEEKO_RUSTURF_TUNNEL, FLAG_HIDE_PEEKO_BRINEY_HOUSE}, + {FLAG_HIDE_MOM_LITTLEROOT, FLAG_HIDE_MOM_UPSTAIRS, FLAG_HIDE_BRENDAN_MOM_DOWNSTAIRS, FLAG_HIDE_MAY_MOM_DOWNSTAIRS, FLAG_UNKNOWN_30E, FLAG_UNKNOWN_30F, FLAG_HIDE_RIVAL_ON_BIKE_ROUTE110, FLAG_HIDE_RIVAL_ROUTE119_ON_BIKE, FLAG_HIDE_RIVAL_LAVARIDGE_2}, + {FLAG_HIDE_MR_BRINEY_ROUTE104, FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE, FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN, FLAG_HIDE_MR_BRINEY_ROUTE109, FLAG_UNKNOWN_34F, FLAG_HIDE_BRINEY_SLATEPORT_SHIPYARD, FLAG_HIDE_BRINEY_RUSTURF_TUNNEL, FLAG_HIDE_BRINEY_ROUTE116, FLAG_HIDE_BRINEY_AND_PEEKO_SS_TIDAL}, + {FLAG_HIDE_RIVAL_BIRCH_LAB, FLAG_HIDE_RIVAL_CHAMPIONS_ROOM, FLAG_HIDE_RIVAL_RUSTBORO, FLAG_HIDE_RIVAL_LILYCOVE_MART, FLAG_HIDE_RIVAL_ROUTE103, FLAG_HIDE_RIVAL_ROUTE110, FLAG_HIDE_RIVAL_ROUTE119, FLAG_HIDE_RIVAL_LAVARIDGE_1, FLAG_HIDE_RIVAL_OLDALE_TOWN} +}; const u8 gUnknown_Debug_083C27BC[] = _("FEひでんわざ/デボンかんれん"); const u8 gUnknown_Debug_083C27CC[] = _("FEだいじなアイテムPART1"); @@ -1224,18 +1165,18 @@ const struct MenuAction gUnknown_Debug_083C3194[] = { {gUnknown_Debug_083C3192, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C31DC[] = {9, 9, 9, 9, 9, 9, 9, 9, 3, 0}; +const u8 gUnknown_Debug_083C31DC[] = {9, 9, 9, 9, 9, 9, 9, 9, 3}; const u16 gUnknown_Debug_83C31E6[][9] = { - {0x89, 0x6E, 0x7A, 0x6A, 0x6D, 0x6B, 0x90, 0x8E, 0x8F}, - {0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x101, 0xE3, 0x98}, - {0x8B, 0x126, 0x81, 0x71, 0x100, 0x123, 0x127, 0x10B, 0xF7}, - {0x6C, 0x7E, 0xBE, 0xC1, 0x11C, 0xF0, 0xF1, 0xF2, 0xF3}, - {0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0x64, 0x65, 0x66, 0x67}, - {0x82, 0x11E, 0x120, 0x124, 0x125, 0x50, 0x51, 0x52, 0x55}, - {0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0x53, 0x54, 0x56, 0x57}, - {0xEF, 0xF4, 0x83, 0x10F, 0x103, 0x107, 0x10A, 0x112, 0x11D}, - {0x58, 0x59, 0x60, 0, 0, 0, 0, 0, 0} + {FLAG_RECEIVED_HM01, FLAG_RECEIVED_HM02, FLAG_RECEIVED_HM03, FLAG_RECEIVED_HM04, FLAG_RECEIVED_HM05, FLAG_RECEIVED_HM06, FLAG_RETURNED_DEVON_GOODS, FLAG_DEVON_GOODS_STOLEN, FLAG_RECOVERED_DEVON_GOODS}, + {FLAG_RECEIVED_BIKE, 0x05B, 0x05C, 0x05D, FLAG_RECEIVED_WAILMER_PAIL, FLAG_RECEIVED_POKEBLOCK_CASE, FLAG_RECEIVED_OLD_ROD, FLAG_RECEIVED_GOOD_ROD, FLAG_RECEIVED_SUPER_ROD}, + {FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FLAG_EXCHANGED_SCANNER, FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, FLAG_LEGENDARY_BATTLE_COMPLETED, FLAG_RECEIVED_REPEAT_BALL, FLAG_RECEIVED_SS_TICKET, FLAG_KECLEON_FLED_FORTREE, FLAG_RECEIVED_FOSSIL_MON, FLAG_DEFEATED_SS_TIDAL_TRAINERS}, + {0x06C, FLAG_DEFEATED_WALLY_VICTORY_ROAD, FLAG_DEFEATED_WALLY_MAUVILLE, FLAG_WALLY_SPEECH, FLAG_DECLINED_WALLY_BATTLE_MAUVILLE, FLAG_USED_ROOM_1_KEY, FLAG_USED_ROOM_2_KEY, FLAG_USED_ROOM_4_KEY, FLAG_USED_ROOM_6_KEY}, + {FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1, FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2, FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3, FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4, FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5, FLAG_MOSSDEEP_GYM_SWITCH_1, FLAG_MOSSDEEP_GYM_SWITCH_2, FLAG_MOSSDEEP_GYM_SWITCH_3, FLAG_MOSSDEEP_GYM_SWITCH_4}, + {FLAG_DEFEATED_RIVAL_ROUTE103, FLAG_DECLINED_RIVAL_BATTLE_LILYCOVE, FLAG_MET_RIVAL_RUSTBORO, FLAG_MET_RIVAL_LILYCOVE, FLAG_MET_RIVAL_IN_HOUSE_AFTER_LILYCOVE, 0x050, FLAG_SET_WALL_CLOCK, FLAG_RESCUED_BIRCH, 0x055}, + {FLAG_RECEIVED_RED_SCARF, FLAG_RECEIVED_BLUE_SCARF, FLAG_RECEIVED_PINK_SCARF, FLAG_RECEIVED_GREEN_SCARF, FLAG_RECEIVED_YELLOW_SCARF, 0x053, 0x054, FLAG_LINK_CONTEST_ROOM_POKEBALL, FLAG_MET_RIVAL_MOM}, + {FLAG_USED_STORAGE_KEY, FLAG_MET_PROF_COSMO, FLAG_RECEIVED_DOLL_LANETTE, FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE, FLAG_RETURNED_RED_OR_BLUE_ORB, FLAG_ENTERED_ELITE_FOUR, FLAG_RECEIVED_LAVARIDGE_EGG, FLAG_RECEIVED_RUNNING_SHOES, FLAG_RECEIVED_DEVON_SCOPE}, + {FLAG_BIRCH_AIDE_MET, FLAG_DECLINED_BIKE, FLAG_RECEIVED_SECRET_POWER} }; bool8 InitTomomichiDebugWindow(void) -- cgit v1.2.3 From 79df78752440b70646399fc2a02901d8c3d4eff9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 11 Mar 2018 20:02:27 -0400 Subject: Remaining data --- src/debug/tomomichi_debug_menu.c | 646 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 646 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 54d7fe8a7..bc626262f 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -133,6 +133,30 @@ void debug_sub_808C764(u8); void debug_sub_808F2E0(u8, u8, bool8); bool8 debug_sub_808C818(void); bool8 debug_sub_808CB74(void); +bool8 debug_sub_808E400(void); +bool8 debug_sub_808E458(void); +bool8 debug_sub_808E4B0(void); +bool8 debug_sub_808E508(void); +bool8 debug_sub_808E560(void); +bool8 debug_sub_808E9A0(void); +bool8 debug_sub_808E9F8(void); +bool8 debug_sub_808E054(void); +bool8 debug_sub_808E0AC(void); +bool8 debug_sub_808E104(void); +bool8 debug_sub_808E15C(void); +bool8 debug_sub_808E1B4(void); +bool8 debug_sub_808E20C(void); +bool8 debug_sub_808DBA0(void); +bool8 debug_sub_808DBF8(void); +bool8 debug_sub_808DC50(void); +bool8 debug_sub_808DCA8(void); +bool8 debug_sub_808DD00(void); +bool8 debug_sub_808DD58(void); +bool8 debug_sub_808DDB0(void); +bool8 debug_sub_808DE08(void); +bool8 debug_sub_808DE60(void); +bool8 debug_sub_808E754(void); +bool8 debug_sub_808E7AC(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -1179,6 +1203,628 @@ const u16 gUnknown_Debug_83C31E6[][9] = { {FLAG_BIRCH_AIDE_MET, FLAG_DECLINED_BIKE, FLAG_RECEIVED_SECRET_POWER} }; +const u8 gUnknown_Debug_083C3288[] = _("CYCLEかんれん"); +const u8 gUnknown_Debug_083C3292[] = _("おおきさくらべ"); +const u8 gUnknown_Debug_083C329A[] = _("カウンタ"); +const u8 gUnknown_Debug_083C329F[] = _("そのた1"); +const u8 gUnknown_Debug_083C32A4[] = _("そのた2"); + +const struct MenuAction gUnknown_Debug_083C32AC[] = { + {gUnknown_Debug_083C3288, debug_sub_808E400}, + {gUnknown_Debug_083C3292, debug_sub_808E458}, + {gUnknown_Debug_083C329A, debug_sub_808E4B0}, + {gUnknown_Debug_083C329F, debug_sub_808E508}, + {gUnknown_Debug_083C32A4, debug_sub_808E560} +}; + +const u8 gUnknown_Debug_083C32D4[] = _("WKーCYCLEーROADーHIT"); +const u8 gUnknown_Debug_083C32E6[] = _("WKーCYCLEーROADーTIMエ1"); +const u8 gUnknown_Debug_083C32FA[] = _("WKーCYCLEーROADーTIMエ2"); + +const u8 gUnknown_Debug_083C330E[] = _("WKーSIZEーKINOKOKOーOYAJI"); +const u8 gUnknown_Debug_083C3325[] = _("WKーSIZEーNAMAZOーOYAJI"); + +const u8 gUnknown_Debug_083C333A[] = _("WKーSPRAYーCOUNT"); +const u8 gUnknown_Debug_083C3349[] = _("WKーICEーCOUNT"); +const u8 gUnknown_Debug_083C3356[] = _("WKーASHーGATHERーCOUNT"); +const u8 gUnknown_Debug_083C336A[] = _("WKーCRUISEーCOUNT"); +const u8 gUnknown_Debug_083C337A[] = _("WKーFRIENDLYーSTEPーCOUNT"); +const u8 gUnknown_Debug_083C3391[] = _("WKーPOISONーSTEPーCOUNT"); + +const u8 gUnknown_Debug_083C33A6[] = _("WKRECYCLEーGOODS"); +const u8 gUnknown_Debug_083C33B6[] = _("WKーFIRSTーPOKE"); +const u8 gUnknown_Debug_083C33C4[] = _("WKーMABOROSIRNDーH"); +const u8 gUnknown_Debug_083C33D5[] = _("WKーMABOROSIRNDーL"); +const u8 gUnknown_Debug_083C33E6[] = _("EVーONEーDAYーWORK"); +const u8 gUnknown_Debug_083C33F6[] = _("EVーFANWORK"); +const u8 gUnknown_Debug_083C3401[] = _("EVーFANTIME"); +const u8 gUnknown_Debug_083C340C[] = _("WKーKARAKURIーLEVEL"); +const u8 gUnknown_Debug_083C341E[] = _("WKーPOKELOTーPRIZE"); + +const u8 gUnknown_Debug_083C342F[] = _("WKーSPECIALーZUKN"); +const u8 gUnknown_Debug_083C343F[] = _("WKーHYOUKAーDAYS"); +const u8 gUnknown_Debug_083C344E[] = _("WKーPOKELOTーRND1"); +const u8 gUnknown_Debug_083C345E[] = _("WKーPOKELOTーRND2"); +const u8 gUnknown_Debug_083C346E[] = _("WKーBASEーMAPNO"); + +const struct MenuAction gUnknown_Debug_083C347C[] = { + {gUnknown_Debug_083C32D4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C32E6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C32FA, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C3494[] = { + {gUnknown_Debug_083C330E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3325, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C34A4[] = { + {gUnknown_Debug_083C333A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3349, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3356, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C336A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C337A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3391, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C34D4[] = { + {gUnknown_Debug_083C33A6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C33B6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C33C4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C33D5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C33E6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C33F6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3401, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C340C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C341E, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C351C[] = { + {gUnknown_Debug_083C342F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C343F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C344E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C345E, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C346E, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C3544[] = {3, 2, 6, 9, 5}; + +const u16 gUnknown_Debug_083C354A[][9] = { + {0x4027, 0x4028, 0x4029}, + {0x4047, 0x404F}, + {0x4021, 0x4022, 0x4048, 0x404A, 0x402A, 0x402B}, + {0x4020, 0x4023, 0x4024, 0x4025, 0x4040, 0x4041, 0x4042, 0x4044, 0x4045}, + {0x4046, 0x4049, 0x404B, 0x404C, 0x4026} +}; + +const u8 gUnknown_Debug_083C35A4[] = _("OBJCHRWORK0ー8"); +const u8 gUnknown_Debug_083C35B2[] = _("OBJCHRWORK9ー15"); + +const struct MenuAction gUnknown_Debug_083C35C4[] = { + {gUnknown_Debug_083C35A4, debug_sub_808E9A0}, + {gUnknown_Debug_083C35B2, debug_sub_808E9F8} +}; + +const u8 gUnknown_Debug_083C35D4[] = _("OBJCHRWORK1"); +const u8 gUnknown_Debug_083C35E0[] = _("OBJCHRWORK2"); +const u8 gUnknown_Debug_083C35EC[] = _("OBJCHRWORK3"); +const u8 gUnknown_Debug_083C35F8[] = _("OBJCHRWORK4"); +const u8 gUnknown_Debug_083C3604[] = _("OBJCHRWORK5"); +const u8 gUnknown_Debug_083C3610[] = _("OBJCHRWORK6"); +const u8 gUnknown_Debug_083C361C[] = _("OBJCHRWORK7"); +const u8 gUnknown_Debug_083C3628[] = _("OBJCHRWORK8"); +const u8 gUnknown_Debug_083C3634[] = _("OBJCHRWORK9"); + +const u8 gUnknown_Debug_083C3640[] = _("OBJCHRWORK10"); +const u8 gUnknown_Debug_083C364D[] = _("OBJCHRWORK11"); +const u8 gUnknown_Debug_083C365A[] = _("OBJCHRWORK12"); +const u8 gUnknown_Debug_083C3667[] = _("OBJCHRWORK13"); +const u8 gUnknown_Debug_083C3674[] = _("OBJCHRWORK14"); +const u8 gUnknown_Debug_083C3681[] = _("OBJCHRWORK15"); +const u8 gUnknown_Debug_083C368E[] = _("OBJCHRWORK16"); + +const struct MenuAction gUnknown_Debug_083C369C[] = { + {gUnknown_Debug_083C35D4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C35E0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C35EC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C35F8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3604, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3610, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C361C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3628, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3634, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C36E4[] = { + {gUnknown_Debug_083C3640, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C364D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C365A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3667, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3674, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3681, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C368E, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C371C[] = {9, 7}; + +const u16 gUnknown_Debug_083C371E[][9] = { + {0x4010, 0x4011, 0x4012, 0x4013, 0x4014, 0x4015, 0x4016, 0x4017, 0x4018}, + {0x4019, 0x401A, 0x401B, 0x401C, 0x401D, 0x401E, 0x401F} +}; + +const u8 gUnknown_Debug_083C3742[] = _("SP"); +const u8 gUnknown_Debug_083C3745[] = _("ルーム R110 PART1/カラクリ"); +const u8 gUnknown_Debug_083C3759[] = _("ルーム R110 PART2"); +const u8 gUnknown_Debug_083C3768[] = _("ルーム ロード"); +const u8 gUnknown_Debug_083C3770[] = _("ソノタ1"); +const u8 gUnknown_Debug_083C3775[] = _("ソノタ2"); + +const struct MenuAction gUnknown_Debug_083C377C[] = { + {gUnknown_Debug_083C3742, debug_sub_808E054}, + {gUnknown_Debug_083C3745, debug_sub_808E0AC}, + {gUnknown_Debug_083C3759, debug_sub_808E104}, + {gUnknown_Debug_083C3768, debug_sub_808E15C}, + {gUnknown_Debug_083C3770, debug_sub_808E1B4}, + {gUnknown_Debug_083C3775, debug_sub_808E20C} +}; + +const u8 gUnknown_Debug_083C37AC[] = _("WKーSCENEーSPーCONTEST"); +const u8 gUnknown_Debug_083C37C0[] = _("WKーSCENEーSPーPC"); +const u8 gUnknown_Debug_083C37CF[] = _("WKーSCENEーSPーCONTEST03"); +const u8 gUnknown_Debug_083C37E5[] = _("WKーSCENEーSPーCONTESTITEM"); +const u8 gUnknown_Debug_083C37FD[] = _("WKーSCENEーSPーOPENING"); +const u8 gUnknown_Debug_083C3811[] = _("WKーSCENEーSPーSHIP01"); +const u8 gUnknown_Debug_083C3824[] = _(""); +const u8 gUnknown_Debug_083C3825[] = _(""); +const u8 gUnknown_Debug_083C3826[] = _(""); + +const u8 gUnknown_Debug_083C3827[] = _("WKーSCENEーR110ーR0101"); +const u8 gUnknown_Debug_083C383B[] = _("WKーSCENEーR110ーR0102"); +const u8 gUnknown_Debug_083C384F[] = _("WKーSCENEーR110ーR0103"); +const u8 gUnknown_Debug_083C3863[] = _("WKーKARAKURIーDAIOU"); +const u8 gUnknown_Debug_083C3875[] = _("WKーSCENEーSHISEN"); +const u8 gUnknown_Debug_083C3885[] = _(""); +const u8 gUnknown_Debug_083C3886[] = _(""); +const u8 gUnknown_Debug_083C3887[] = _(""); +const u8 gUnknown_Debug_083C3888[] = _(""); + +const u8 gUnknown_Debug_083C3889[] = _("WKーSCENEーR110ーR0104"); +const u8 gUnknown_Debug_083C389D[] = _("WKーSCENEーR110ーR0105"); +const u8 gUnknown_Debug_083C38B1[] = _("WKーSCENEーR110ーR0106"); +const u8 gUnknown_Debug_083C38C5[] = _("WKーSCENEーR110ーR0107"); +const u8 gUnknown_Debug_083C38D9[] = _("WKーSCENEーR110ーR0108"); +const u8 gUnknown_Debug_083C38ED[] = _("WKーSCENEーR110ーR0109"); +const u8 gUnknown_Debug_083C3901[] = _("WKーSCENEーR110ーR0110"); +const u8 gUnknown_Debug_083C3915[] = _("WKーSCENEーR110ーR0111"); +const u8 gUnknown_Debug_083C3929[] = _("WKーSCENEー02ーR110ーR0110"); + +const u8 gUnknown_Debug_083C3940[] = _("WKーSCENEーR104ーR0101"); +const u8 gUnknown_Debug_083C3954[] = _("WKーSCENEーR113ーR0101"); +const u8 gUnknown_Debug_083C3968[] = _(""); +const u8 gUnknown_Debug_083C3969[] = _(""); +const u8 gUnknown_Debug_083C396A[] = _(""); +const u8 gUnknown_Debug_083C396B[] = _(""); +const u8 gUnknown_Debug_083C396C[] = _(""); +const u8 gUnknown_Debug_083C396D[] = _(""); +const u8 gUnknown_Debug_083C396E[] = _(""); + +const u8 gUnknown_Debug_083C396F[] = _("WKーSCENEーBASEーGDOODS"); +const u8 gUnknown_Debug_083C3984[] = _("WKーSCENEーHAGIーFUNE"); +const u8 gUnknown_Debug_083C3997[] = _("WKーSCENEーFUNEーPOS"); +const u8 gUnknown_Debug_083C39A9[] = _("WKーSCENEーBASEーMAKE"); +const u8 gUnknown_Debug_083C39BC[] = _("WKーSCENEーARTISTーC106ーR"); +const u8 gUnknown_Debug_083C39D3[] = _("WKーSCENEーPOKEーLEAGUE"); +const u8 gUnknown_Debug_083C39E8[] = _("WKーSCENEーROPEWAY"); +const u8 gUnknown_Debug_083C39F9[] = _("WKーSCENEーSAFARIーZONE"); +const u8 gUnknown_Debug_083C3A0E[] = _("WKーSCENEーCYCLEーROAD"); + +const u8 gUnknown_Debug_083C3A22[] = _("WKーSCENEーR119ーTENKI"); +const u8 gUnknown_Debug_083C3A36[] = _("WKーSCENEー01ーC102ーR0401"); +const u8 gUnknown_Debug_083C3A4D[] = _("WKーFUTAGOー01ーFIELDーR104"); +const u8 gUnknown_Debug_083C3A65[] = _("WKーSCENEーBATTLEーTOWER"); +const u8 gUnknown_Debug_083C3A7B[] = _("WKーSCENEーTRーHOUSE"); +const u8 gUnknown_Debug_083C3A8D[] = _("WKーKASEKIーTYPE"); +const u8 gUnknown_Debug_083C3A9C[] = _(""); +const u8 gUnknown_Debug_083C3A9D[] = _(""); +const u8 gUnknown_Debug_083C3A9E[] = _(""); + +const struct MenuAction gUnknown_Debug_083C3AA0[] = { + {gUnknown_Debug_083C37AC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C37C0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C37CF, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C37E5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C37FD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3811, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3824, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3825, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_83C3AE0[] = { + {gUnknown_Debug_083C3827, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C383B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C384F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3863, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3875, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3885, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3886, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3887, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3888, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_83C3B28[] = { + {gUnknown_Debug_083C3889, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C389D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C38B1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C38C5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C38D9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C38ED, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3901, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3915, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3929, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_83C3B70[] = { + {gUnknown_Debug_083C3940, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3954, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3968, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3969, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C396A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C396B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C396C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C396D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C396E, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_83C3BB8[] = { + {gUnknown_Debug_083C396F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3984, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3997, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C39A9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C39BC, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C39D3, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C39E8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C39F9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A0E, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_83C3C00[] = { + {gUnknown_Debug_083C3A22, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A36, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A4D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A65, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A7B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A8D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A9C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A9D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3A9E, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C3C48[] = {6, 5, 9, 2, 9, 6}; + +const u16 gUnknown_Debug_83C3C4E[][9] = { + {0x4086, 0x4087, 0x4088, 0x408A, 0x4092, 0x40B4}, + {0x40A6, 0x40C1, 0x40B5, 0x40A7, 0x40A5}, + {0x40AB, 0x40AC, 0x40AD, 0x40AE, 0x40AF, 0x40B0, 0x40B1, 0x40B2, 0x40B6}, + {0x4090, 0x40BE}, + {0x4089, 0x408E, 0x4096, 0x4097, 0x4099, 0x409C, 0x40A3, 0x40A4, 0x40A9}, + {0x40B3, 0x40B7, 0x40BB, 0x40BC, 0x40C0, 0x40C5} +}; + +const u8 gUnknown_Debug_083C3CBA[] = _("タウン"); +const u8 gUnknown_Debug_083C3CBE[] = _("シティ"); +const u8 gUnknown_Debug_083C3CC2[] = _("ロード101ー109"); +const u8 gUnknown_Debug_083C3CCD[] = _("ロード110ー118"); +const u8 gUnknown_Debug_083C3CD8[] = _("ロード119ー127"); +const u8 gUnknown_Debug_083C3CE3[] = _("ロード128ー134"); +const u8 gUnknown_Debug_083C3CEE[] = _("ルーム タウン"); +const u8 gUnknown_Debug_083C3CF6[] = _("ルーム シティ"); +const u8 gUnknown_Debug_083C3CFE[] = _("ダンジョンない"); + +const struct MenuAction gUnknown_Debug_083C3D08[] = { + {gUnknown_Debug_083C3CBA, debug_sub_808DBA0}, + {gUnknown_Debug_083C3CBE, debug_sub_808DBF8}, + {gUnknown_Debug_083C3CC2, debug_sub_808DC50}, + {gUnknown_Debug_083C3CCD, debug_sub_808DCA8}, + {gUnknown_Debug_083C3CD8, debug_sub_808DD00}, + {gUnknown_Debug_083C3CE3, debug_sub_808DD58}, + {gUnknown_Debug_083C3CEE, debug_sub_808DDB0}, + {gUnknown_Debug_083C3CF6, debug_sub_808DE08}, + {gUnknown_Debug_083C3CFE, debug_sub_808DE60} +}; + +const u8 gUnknown_Debug_083C3D50[] = _("WKーSCENEーFIELDーT101"); +const u8 gUnknown_Debug_083C3D64[] = _("WKーSCENEーFIELDーT102"); +const u8 gUnknown_Debug_083C3D78[] = _("WKーSCENEーFIELDーT103"); +const u8 gUnknown_Debug_083C3D8C[] = _("WKーSCENEーFIELDーT104"); +const u8 gUnknown_Debug_083C3DA0[] = _("WKーBASEーPOSNO"); +const u8 gUnknown_Debug_083C3DAE[] = _("WKーSCENEーFIELDーT106"); +const u8 gUnknown_Debug_083C3DC2[] = _("WKーSCENEーFIELDーT107"); +const u8 gUnknown_Debug_083C3DD6[] = _("WKーSCENEー02ーFIELDーT102"); + +const u8 gUnknown_Debug_083C3DED[] = _("WKーSCENEーFIELDーC101"); +const u8 gUnknown_Debug_083C3E01[] = _("WKーSCENEーFIELDーC102"); +const u8 gUnknown_Debug_083C3E15[] = _("WKーSCENEーFIELDーC103"); +const u8 gUnknown_Debug_083C3E29[] = _("WKーSCENEーFIELDーC104"); +const u8 gUnknown_Debug_083C3E3D[] = _("WKーSCENEーFIELDーC105"); +const u8 gUnknown_Debug_083C3E51[] = _("WKーSCENEーFIELDーC106"); +const u8 gUnknown_Debug_083C3E65[] = _("WKーSCENEーFIELDーC107"); +const u8 gUnknown_Debug_083C3E79[] = _("WKーSCENEーFIELDーC108"); +const u8 gUnknown_Debug_083C3E8D[] = _("WKーSCENEーFIELDーC109"); + +const u8 gUnknown_Debug_083C3EA1[] = _("WKーSCENEーFIELDーR101"); +const u8 gUnknown_Debug_083C3EB5[] = _("WKーSCENEーFIELDーR102"); +const u8 gUnknown_Debug_083C3EC9[] = _("WKーSCENEーFIELDーR103"); +const u8 gUnknown_Debug_083C3EDD[] = _("WKーSCENEーFIELDーR104"); +const u8 gUnknown_Debug_083C3EF1[] = _("WKーSCENEーFIELDーR105"); +const u8 gUnknown_Debug_083C3F05[] = _("WKーSCENEーFIELDーR106"); +const u8 gUnknown_Debug_083C3F19[] = _("WKーSCENEーFIELDーR107"); +const u8 gUnknown_Debug_083C3F2D[] = _("WKーSCENEーFIELDーR108"); +const u8 gUnknown_Debug_083C3F41[] = _("WKーSCENEーFIELDーR109"); + +const u8 gUnknown_Debug_083C3F55[] = _("WKーSCENEーFIELDーR110"); +const u8 gUnknown_Debug_083C3F69[] = _("WKーSCENEーFIELDーR111"); +const u8 gUnknown_Debug_083C3F7D[] = _("WKーSCENEーFIELDーR112"); +const u8 gUnknown_Debug_083C3F91[] = _("WKーSCENEーFIELDーR113"); +const u8 gUnknown_Debug_083C3FA5[] = _("WKーSCENEーFIELDーR114"); +const u8 gUnknown_Debug_083C3FB9[] = _("WKーSCENEーFIELDーR115"); +const u8 gUnknown_Debug_083C3FCD[] = _("WKーSCENEーFIELDーR116"); +const u8 gUnknown_Debug_083C3FE1[] = _("WKーSCENEーFIELDーR117"); +const u8 gUnknown_Debug_083C3FF5[] = _("WKーSCENEーFIELDーR118"); + +const u8 gUnknown_Debug_083C4009[] = _("WKーSCENEーFIELDーR119"); +const u8 gUnknown_Debug_083C401D[] = _("WKーSCENEーFIELDーR120"); +const u8 gUnknown_Debug_083C4031[] = _("WKーSCENEーFIELDーR121"); +const u8 gUnknown_Debug_083C4045[] = _("WKーSCENEーFIELDーR122"); +const u8 gUnknown_Debug_083C4059[] = _("WKーSCENEーFIELDーR123"); +const u8 gUnknown_Debug_083C406D[] = _("WKーSCENEーFIELDーR124"); +const u8 gUnknown_Debug_083C4081[] = _("WKーSCENEーFIELDーR125"); +const u8 gUnknown_Debug_083C4095[] = _("WKーSCENEーFIELDーR126"); +const u8 gUnknown_Debug_083C40A9[] = _("WKーSCENEーFIELDーR127"); + +const u8 gUnknown_Debug_083C40BD[] = _("WKーSCENEーFIELDーR128"); +const u8 gUnknown_Debug_083C40D1[] = _("WKーSCENEーFIELDーR129"); +const u8 gUnknown_Debug_083C40E5[] = _("WKーSCENEーFIELDーR130"); +const u8 gUnknown_Debug_083C40F9[] = _("WKーSCENEーFIELDーR131"); +const u8 gUnknown_Debug_083C410D[] = _("WKーSCENEーFIELDーR132"); +const u8 gUnknown_Debug_083C4121[] = _("WKーSCENEーFIELDーR133"); +const u8 gUnknown_Debug_083C4135[] = _("WKーSCENEーFIELDーR134"); + +const u8 gUnknown_Debug_083C4149[] = _("WKーSCENEーT101ーR0101"); +const u8 gUnknown_Debug_083C415D[] = _("WKーSCENEーT101ーR0102"); +const u8 gUnknown_Debug_083C4171[] = _("WKーSCENEーT101ーR0301"); +const u8 gUnknown_Debug_083C4185[] = _("WKーSCENEーT101ーR0201"); +const u8 gUnknown_Debug_083C4199[] = _("WKーSCENEーT101ーR0202"); +const u8 gUnknown_Debug_083C41AD[] = _("WKーSCENEーT107ーR0201"); + +const u8 gUnknown_Debug_083C41C1[] = _("WKーSCENEーC101ーR0201"); +const u8 gUnknown_Debug_083C41D5[] = _("WKーSCENEーC104ーR0103"); +const u8 gUnknown_Debug_083C41E9[] = _("WKーSCENEーC103ーR0101"); +const u8 gUnknown_Debug_083C41FD[] = _("WKーSCENEーC106ーR0202"); +const u8 gUnknown_Debug_083C4211[] = _("WKーSCENEーC106ーR0401"); +const u8 gUnknown_Debug_083C4225[] = _("WKーSCENEーC102ーR0601"); +const u8 gUnknown_Debug_083C4239[] = _("WKーSCENEーC102ーR0501"); +const u8 gUnknown_Debug_083C424D[] = _("WKーSCENEーC104ーR0102"); +const u8 gUnknown_Debug_083C4261[] = _("WKーSCENEーC107ーR0501"); + +const u8 gUnknown_Debug_083C4275[] = _("WKーSCENEーCAVEーD0601"); +const u8 gUnknown_Debug_083C4289[] = _("WKーSCENEーCAVEーD0201"); +const u8 gUnknown_Debug_083C429D[] = _("WKーSCENEーCAVEーD1206"); +const u8 gUnknown_Debug_083C42B1[] = _("WKーSCENEーCAVEーD1111"); +const u8 gUnknown_Debug_083C42C5[] = _("WKーSCENEーCAVEーD0701"); +const u8 gUnknown_Debug_083C42D9[] = _("WKーSCENEーCAVEーD0808"); +const u8 gUnknown_Debug_083C42ED[] = _("WKーSCENEーCAVEーD1602"); +const u8 gUnknown_Debug_083C4301[] = _("WKーSCENEーCAVEーD0101"); +const u8 gUnknown_Debug_083C4315[] = _("WKーSCENEーCAVEーD1301"); + +const struct MenuAction gUnknown_Debug_083C432C[] = { + {gUnknown_Debug_083C3D50, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3D64, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3D78, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3D8C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3DA0, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3DAE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3DC2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3DD6, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C436C[] = { + {gUnknown_Debug_083C3DED, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E01, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E15, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E29, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E3D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E51, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E65, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E79, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3E8D, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C43B4[] = { + {gUnknown_Debug_083C3EA1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3EB5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3EC9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3EDD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3EF1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3F05, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3F19, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3F2D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3F41, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C43FC[] = { + {gUnknown_Debug_083C3F55, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3F69, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3F7D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3F91, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3FA5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3FB9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3FCD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3FE1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C3FF5, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C4444[] = { + {gUnknown_Debug_083C4009, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C401D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4031, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4045, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4059, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C406D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4081, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4095, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C40A9, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C448C[] = { + {gUnknown_Debug_083C40BD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C40D1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C40E5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C40F9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C410D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4121, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4135, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_83C44C4[] = { + {gUnknown_Debug_083C4149, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C415D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4171, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4185, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4199, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_83C44EC[] = { + {gUnknown_Debug_083C41C1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C41D5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C41E9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C41FD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4211, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4225, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4239, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C424D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4261, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C4534[] = { + {gUnknown_Debug_083C4275, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4289, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C429D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C42B1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C42C5, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C42D9, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C42ED, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4301, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4315, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9}; + +const u16 gUnknown_Debug_083C4586[][9] = { + {0x4050, 0x4051, 0x4052, 0x4053, 0x4054, 0x4055, 0x4056, 0x40C7, 0x0000}, + {0x4057, 0x4058, 0x4059, 0x405A, 0x405B, 0x405C, 0x405D, 0x405E, 0x405F}, + {0x4060, 0x4061, 0x4062, 0x4063, 0x4064, 0x4065, 0x4066, 0x4067, 0x4068}, + {0x4069, 0x406A, 0x406B, 0x406C, 0x406D, 0x406E, 0x406F, 0x4070, 0x4071}, + {0x4072, 0x4073, 0x4074, 0x4075, 0x4076, 0x4077, 0x4078, 0x4079, 0x407A}, + {0x407B, 0x407C, 0x407D, 0x407E, 0x407F, 0x4080, 0x4081, 0x0000, 0x0000}, + {0x4082, 0x4083, 0x4084, 0x408C, 0x408D, 0x40C2, 0x0000, 0x0000, 0x0000}, + {0x4085, 0x408F, 0x4093, 0x4094, 0x4095, 0x40A0, 0x40AA, 0x40C4, 0x40C6}, + {0x4098, 0x409A, 0x409B, 0x40A2, 0x40A8, 0x40B9, 0x40BA, 0x40BF, 0x40C3} +}; + +const u8 gUnknown_Debug_083C4628[] = _("LOCALWORK0ー8"); +const u8 gUnknown_Debug_083C4635[] = _("LOCALWORK9ー15"); + +const struct MenuAction gUnknown_Debug_083C4644[] = { + {gUnknown_Debug_083C4628, debug_sub_808E754}, + {gUnknown_Debug_083C4635, debug_sub_808E7AC} +}; + +const u8 gUnknown_Debug_083C4654[] = _("LOCALWORK0"); +const u8 gUnknown_Debug_083C465F[] = _("LOCALWORK1"); +const u8 gUnknown_Debug_083C466A[] = _("LOCALWORK2"); +const u8 gUnknown_Debug_083C4675[] = _("LOCALWORK3"); +const u8 gUnknown_Debug_083C4680[] = _("LOCALWORK4"); +const u8 gUnknown_Debug_083C468B[] = _("LOCALWORK5"); +const u8 gUnknown_Debug_083C4696[] = _("LOCALWORK6"); +const u8 gUnknown_Debug_083C46A1[] = _("LOCALWORK7"); +const u8 gUnknown_Debug_083C46AC[] = _("LOCALWORK8"); + +const u8 gUnknown_Debug_083C46B7[] = _("LOCALWORK9"); +const u8 gUnknown_Debug_083C46C2[] = _("LOCALWORK10"); +const u8 gUnknown_Debug_083C46CE[] = _("LOCALWORK11"); +const u8 gUnknown_Debug_083C46DA[] = _("LOCALWORK12"); +const u8 gUnknown_Debug_083C46E6[] = _("LOCALWORK13"); +const u8 gUnknown_Debug_083C46F2[] = _("LOCALWORK14"); +const u8 gUnknown_Debug_083C46FE[] = _("LOCALWORK15"); + +const struct MenuAction gUnknown_Debug_083C470C[] = { + {gUnknown_Debug_083C4654, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C465F, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C466A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4675, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4680, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C468B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4696, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46A1, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46AC, TomomichiDebugMenu_Config} +}; + +const struct MenuAction gUnknown_Debug_083C4754C[] = { + {gUnknown_Debug_083C46B7, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46C2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46CE, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46DA, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46E6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46F2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C46FE, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C478C[] = {9, 7}; + +const u16 gUnknown_Debug_083C478E[][9] = { + {0x4000, 0x4001, 0x4002, 0x4003, 0x4004, 0x4005, 0x4006, 0x4007, 0x4008}, + {0x4009, 0x400A, 0x400B, 0x400C, 0x400D, 0x400E, 0x400F} +}; + +const u8 gUnknown_Debug_083C47B2[] = _("Level"); +const u8 gUnknown_Debug_083C47B8[] = _("Scene1"); +const u8 gUnknown_Debug_083C47BF[] = _("Scene2"); +const u8 gUnknown_Debug_083C47C6[] = _("Scene3"); +const u8 gUnknown_Debug_083C47CD[] = _("Scene4"); +const u8 gUnknown_Debug_083C47D4[] = _("Scene5"); +const u8 gUnknown_Debug_083C47DB[] = _("Scene6"); +const u8 gUnknown_Debug_083C47E2[] = _("Scene7"); +const u8 gUnknown_Debug_083C47E9[] = _("Scene8"); + +const struct MenuAction gUnknown_Debug_083C47F0[] = { + {gUnknown_Debug_083C47B8, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C47BF, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C47C6, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C47CD, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C47D4, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C47DB, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C47E2, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C47E9, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C4830[] = _("Trick Master"); +const u8 gUnknown_Debug_083C483D[] = _("Hidden MASTER"); +const u8 gUnknown_Debug_083C484B[] = _("Inside the HOUSE"); +const u8 gUnknown_Debug_083C485C[] = _("Pass a reward"); +const u8 gUnknown_Debug_083C486A[] = _("Rig a trick"); +const u8 gUnknown_Debug_083C4876[] = _("MASTER is gone"); + +const struct MenuAction gUnknown_Debug_083C4888[] = { + {gUnknown_Debug_083C483D, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C484B, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C485C, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C486A, TomomichiDebugMenu_Config}, + {gUnknown_Debug_083C4876, TomomichiDebugMenu_Config} +}; + +const u8 gUnknown_Debug_083C48B0[] = _("PMNICKNAME"); +const u8 gUnknown_Debug_083C48BB[] = _("BREEDER"); + bool8 InitTomomichiDebugWindow(void) { debug_sub_808B874(); -- cgit v1.2.3 From 593a22679d127c880ef729354ce400dab17ee7fc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 11 Mar 2018 21:13:19 -0400 Subject: through debug_sub_808CEAC --- src/debug/tomomichi_debug_menu.c | 142 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index bc626262f..f572862c3 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -157,6 +157,12 @@ bool8 debug_sub_808DE08(void); bool8 debug_sub_808DE60(void); bool8 debug_sub_808E754(void); bool8 debug_sub_808E7AC(void); +void debug_sub_808CBC0(u8, u8); +bool8 debug_sub_808CCC4(void); +bool8 debug_sub_808CE10(void); +void debug_sub_808CC10(u8); +void debug_sub_808CE5C(u8, u8); +void debug_sub_808CEAC(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -2638,4 +2644,140 @@ bool8 debug_sub_808CB1C(void) return FALSE; } +bool8 debug_sub_808CB74(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808CBC0(gDebug_0300070F, cursorPos); + debug_sub_808CC10(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808CBC0(u8 whichMenu, u8 cursorPos) +{ + if (gMain.newKeys & R_BUTTON) + { + u16 flag = gUnknown_Debug_083C271A[whichMenu][cursorPos]; + if (!FlagGet(flag)) + FlagSet(flag); + else + FlagClear(flag); + } +} + +void debug_sub_808CC10(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C2710[whichMenu]; i++) + { + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C271A[whichMenu][i]) ? TRUE : FALSE); + } +} + +bool8 debug_sub_808CC74(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1ADC) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1ADC), gUnknown_Debug_083C1ADC); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1ADC), 0, 27); + gMenuCallback = debug_sub_808CCC4; + return FALSE; +} + +bool8 debug_sub_808CCC4(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C1ADC[input].func; + return FALSE; +} + +bool8 debug_sub_808CD08(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1B7C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1B7C), gUnknown_Debug_083C1B7C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1B7C), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808CE10; + return FALSE; +} + +bool8 debug_sub_808CD60(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1BF0) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1BF0), gUnknown_Debug_083C1BF0); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1BF0), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808CE10; + return FALSE; +} + +bool8 debug_sub_808CDB8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1C2C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1C2C), gUnknown_Debug_083C1C2C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1C2C), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808CE10; + return FALSE; +} + +bool8 debug_sub_808CE10(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808CE5C(gDebug_0300070F, cursorPos); + debug_sub_808CEAC(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808CE5C(u8 whichMenu, u8 cursorPos) +{ + if (gMain.newKeys & R_BUTTON) + { + u16 flag = gUnknown_Debug_083C1C38[whichMenu][cursorPos]; + if (!FlagGet(flag)) + FlagSet(flag); + else + FlagClear(flag); + } +} + +void debug_sub_808CEAC(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C1C34[whichMenu]; i++) + { + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1C38[whichMenu][i]) ? TRUE : FALSE); + } +} + #endif -- cgit v1.2.3 From c710d746a1bae3342a3065595afea75d0348bcbd Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 11 Mar 2018 21:35:29 -0400 Subject: through debug_sub_808D264 --- src/debug/tomomichi_debug_menu.c | 126 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index f572862c3..93b17a1f8 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -163,6 +163,8 @@ bool8 debug_sub_808CE10(void); void debug_sub_808CC10(u8); void debug_sub_808CE5C(u8, u8); void debug_sub_808CEAC(u8); +bool8 debug_sub_808CF60(void); +bool8 debug_sub_808D2BC(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -2780,4 +2782,128 @@ void debug_sub_808CEAC(u8 whichMenu) } } +bool8 debug_sub_808CF10(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1330) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1330), gUnknown_Debug_083C1330); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1330), 0, 27); + gMenuCallback = debug_sub_808CF60; + return FALSE; +} + +bool8 debug_sub_808CF60(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C1330[input].func; + return FALSE; +} + +bool8 debug_sub_808CFA4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C13D8) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C13D8), gUnknown_Debug_083C13D8); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C13D8), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808CFFC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1465) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1465), gUnknown_Debug_083C1465); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1465), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D054(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1503) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1503), gUnknown_Debug_083C1503); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1503), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D0AC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C158A) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C158A), gUnknown_Debug_083C158A); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C158A), 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D104(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1647) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1647), gUnknown_Debug_083C1647); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1647), 0, 28); + gDebug_0300070F = 4; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D15C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1712) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1712), gUnknown_Debug_083C1712); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1712), 0, 28); + gDebug_0300070F = 5; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D1B4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C17F8) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C17F8), gUnknown_Debug_083C17F8); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C17F8), 0, 28); + gDebug_0300070F = 6; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D20C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); + Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C18B8); + InitMenu(0, 1, 1, 7, 0, 28); + gDebug_0300070F = 7; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + +bool8 debug_sub_808D264(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); + Menu_PrintItems(2, 1, 5, gDebug_0x83C1974); + InitMenu(0, 1, 1, 5, 0, 28); + gDebug_0300070F = 8; + gMenuCallback = debug_sub_808D2BC; + return FALSE; +} + #endif -- cgit v1.2.3 From aa1e7c8cd89bde9fd044ed12cdce294e0d3ba53d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 11 Mar 2018 22:32:35 -0400 Subject: through debug_sub_808D358 --- src/debug/tomomichi_debug_menu.c | 63 +++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 93b17a1f8..4d2d234bf 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -162,9 +162,11 @@ bool8 debug_sub_808CCC4(void); bool8 debug_sub_808CE10(void); void debug_sub_808CC10(u8); void debug_sub_808CE5C(u8, u8); -void debug_sub_808CEAC(u8); bool8 debug_sub_808CF60(void); bool8 debug_sub_808D2BC(void); +void debug_sub_808CEAC(u8); +void debug_sub_808D308(u8, u8); +void debug_sub_808D358(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -2504,11 +2506,10 @@ void debug_sub_808C714(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { - u16 flag = gUnknown_Debug_83C31E6[whichMenu][cursorPos]; - if (!FlagGet(flag)) - FlagSet(flag); + if (!FlagGet(gUnknown_Debug_83C31E6[whichMenu][cursorPos])) + FlagSet(gUnknown_Debug_83C31E6[whichMenu][cursorPos]); else - FlagClear(flag); + FlagClear(gUnknown_Debug_83C31E6[whichMenu][cursorPos]); } } @@ -2667,11 +2668,10 @@ void debug_sub_808CBC0(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { - u16 flag = gUnknown_Debug_083C271A[whichMenu][cursorPos]; - if (!FlagGet(flag)) - FlagSet(flag); + if (!FlagGet(gUnknown_Debug_083C271A[whichMenu][cursorPos])) + FlagSet(gUnknown_Debug_083C271A[whichMenu][cursorPos]); else - FlagClear(flag); + FlagClear(gUnknown_Debug_083C271A[whichMenu][cursorPos]); } } @@ -2764,11 +2764,10 @@ void debug_sub_808CE5C(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { - u16 flag = gUnknown_Debug_083C1C38[whichMenu][cursorPos]; - if (!FlagGet(flag)) - FlagSet(flag); + if (!FlagGet(gUnknown_Debug_083C1C38[whichMenu][cursorPos])) + FlagSet(gUnknown_Debug_083C1C38[whichMenu][cursorPos]); else - FlagClear(flag); + FlagClear(gUnknown_Debug_083C1C38[whichMenu][cursorPos]); } } @@ -2906,4 +2905,42 @@ bool8 debug_sub_808D264(void) return FALSE; } +bool8 debug_sub_808D2BC(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808D308(gDebug_0300070F, cursorPos); + debug_sub_808D358(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808D308(u8 whichMenu, u8 cursorPos) +{ + if (gMain.newKeys & R_BUTTON) + { + if (!FlagGet(gUnknown_Debug_083C19C6[whichMenu][cursorPos])) + FlagSet(gUnknown_Debug_083C19C6[whichMenu][cursorPos]); + else + FlagClear(gUnknown_Debug_083C19C6[whichMenu][cursorPos]); + } +} + +void debug_sub_808D358(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C19BC[whichMenu]; i++) + { + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? TRUE : FALSE); + } +} + #endif -- cgit v1.2.3 From 2467956243043cff17fa6636098d5b7e5506f5d7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 12 Mar 2018 08:25:17 -0400 Subject: through debug_sub_808D59C --- src/debug/tomomichi_debug_menu.c | 93 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 4d2d234bf..f0c11c8d6 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -158,15 +158,19 @@ bool8 debug_sub_808DE60(void); bool8 debug_sub_808E754(void); bool8 debug_sub_808E7AC(void); void debug_sub_808CBC0(u8, u8); +void debug_sub_808CC10(u8); bool8 debug_sub_808CCC4(void); bool8 debug_sub_808CE10(void); -void debug_sub_808CC10(u8); void debug_sub_808CE5C(u8, u8); +void debug_sub_808CEAC(u8); bool8 debug_sub_808CF60(void); bool8 debug_sub_808D2BC(void); -void debug_sub_808CEAC(u8); void debug_sub_808D308(u8, u8); void debug_sub_808D358(u8); +bool8 debug_sub_808D40C(void); +bool8 debug_sub_808D500(void); +void debug_sub_808D54C(u8, u8); +void debug_sub_808D59C(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -2943,4 +2947,89 @@ void debug_sub_808D358(u8 whichMenu) } } +bool8 debug_sub_808D3BC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C105C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C105C), gUnknown_Debug_083C105C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C105C), 0, 27); + gMenuCallback = debug_sub_808D40C; + return FALSE; +} + +bool8 debug_sub_808D40C(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C105C[input].func; + return FALSE; +} + +bool8 debug_sub_808D450(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C10BD) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C10BD), gUnknown_Debug_083C10BD); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C10BD), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808D500; + return FALSE; +} + +bool8 debug_sub_808D4A8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); + Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C1149); + InitMenu(0, 1, 1, 7, 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808D500; + return FALSE; +} + +bool8 debug_sub_808D500(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808D54C(gDebug_0300070F, cursorPos); + debug_sub_808D59C(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808D54C(u8 whichMenu, u8 cursorPos) +{ + if (gMain.newKeys & R_BUTTON) + { + if (!FlagGet(gUnknown_Debug_083C1196[whichMenu][cursorPos])) + FlagSet(gUnknown_Debug_083C1196[whichMenu][cursorPos]); + else + FlagClear(gUnknown_Debug_083C1196[whichMenu][cursorPos]); + } +} + +void debug_sub_808D59C(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C1194[whichMenu]; i++) + { + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? TRUE : FALSE); + } +} + #endif -- cgit v1.2.3 From d5ccd132e0043405bae5337919c8678817417b4c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 12 Mar 2018 08:28:40 -0400 Subject: through debug_sub_808D7E0 --- src/debug/tomomichi_debug_menu.c | 89 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index f0c11c8d6..0c72b8e66 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -171,6 +171,10 @@ bool8 debug_sub_808D40C(void); bool8 debug_sub_808D500(void); void debug_sub_808D54C(u8, u8); void debug_sub_808D59C(u8); +bool8 debug_sub_808D650(void); +bool8 debug_sub_808D744(void); +void debug_sub_808D790(u8, u8); +void debug_sub_808D7E0(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -3032,4 +3036,89 @@ void debug_sub_808D59C(u8 whichMenu) } } +bool8 debug_sub_808D600(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C11CC) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C11CC), gUnknown_Debug_083C11CC); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C11CC), 0, 27); + gMenuCallback = debug_sub_808D650; + return FALSE; +} + +bool8 debug_sub_808D650(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C11CC[input].func; + return FALSE; +} + +bool8 debug_sub_808D694(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1212) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1212), gUnknown_Debug_083C1212); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1212), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808D744; + return FALSE; +} + +bool8 debug_sub_808D6EC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); + Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C1288); + InitMenu(0, 1, 1, 7, 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808D744; + return FALSE; +} + +bool8 debug_sub_808D744(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808D790(gDebug_0300070F, cursorPos); + debug_sub_808D7E0(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808D790(u8 whichMenu, u8 cursorPos) +{ + if (gMain.newKeys & R_BUTTON) + { + if (!FlagGet(gUnknown_Debug_083C12D2[whichMenu][cursorPos])) + FlagSet(gUnknown_Debug_083C12D2[whichMenu][cursorPos]); + else + FlagClear(gUnknown_Debug_083C12D2[whichMenu][cursorPos]); + } +} + +void debug_sub_808D7E0(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C12D0[whichMenu]; i++) + { + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C12D2[whichMenu][i]) ? TRUE : FALSE); + } +} + #endif -- cgit v1.2.3 From 017d462feddbf3101c22c8d95901c1ad50f8f406 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 12 Mar 2018 23:21:23 -0400 Subject: through debug_sub_808DF64 --- src/debug/tomomichi_debug_menu.c | 359 +++++++++++++++++++++++++++++++++++---- 1 file changed, 329 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 0c72b8e66..03c520018 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -175,6 +175,18 @@ bool8 debug_sub_808D650(void); bool8 debug_sub_808D744(void); void debug_sub_808D790(u8, u8); void debug_sub_808D7E0(u8); +bool8 debug_sub_808D894(void); +bool8 debug_sub_808D930(void); +void debug_sub_808D97C(u8, u8); +void debug_sub_808D9CC(u8); +bool8 debug_sub_808DA80(void); +void debug_sub_808DAD4(void); +void debug_sub_808DABC(void); +void debug_sub_808F31C(u8, u8, u16); +bool8 debug_sub_808DB5C(void); +bool8 debug_sub_808DEB8(void); +void debug_sub_808DF64(u8, u8); +void debug_sub_808DF04(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -1308,11 +1320,11 @@ const struct MenuAction gUnknown_Debug_083C351C[] = { const u8 gUnknown_Debug_083C3544[] = {3, 2, 6, 9, 5}; const u16 gUnknown_Debug_083C354A[][9] = { - {0x4027, 0x4028, 0x4029}, - {0x4047, 0x404F}, - {0x4021, 0x4022, 0x4048, 0x404A, 0x402A, 0x402B}, - {0x4020, 0x4023, 0x4024, 0x4025, 0x4040, 0x4041, 0x4042, 0x4044, 0x4045}, - {0x4046, 0x4049, 0x404B, 0x404C, 0x4026} + {VAR_CYCLING_ROAD_RECORD_COLLISIONS, VAR_CYCLING_ROAD_RECORD_TIME_L, VAR_CYCLING_ROAD_RECORD_TIME_H}, + {VAR_SHROOMISH_SIZE_RECORD, VAR_BARBOACH_SIZE_RECORD}, + {VAR_REPEL_STEP_COUNT, VAR_ICE_STEP_COUNT, VAR_ASH_GATHER_COUNT, VAR_CRUISE_STEP_COUNT, VAR_HAPPINESS_STEP_COUNTER, VAR_POISON_STEP_COUNTER}, + {VAR_RECYCLE_GOODS, VAR_STARTER_MON, VAR_MIRAGE_RND_H, VAR_MIRAGE_RND_L, VAR_DAYS, VAR_FANCLUB_UNKNOWN_1, VAR_FANCLUB_UNKNOWN_2, VAR_TRICK_HOUSE_ROOMS_COMPLETED, VAR_LOTTERY_PRIZE}, + {VAR_NATIONAL_DEX, VAR_BIRCH_STATE, VAR_LOTTERY_RND_L, VAR_LOTTERY_RND_H, VAR_SECRET_BASE_MAP} }; const u8 gUnknown_Debug_083C35A4[] = _("OBJCHRWORK0ー8"); @@ -1366,8 +1378,8 @@ const struct MenuAction gUnknown_Debug_083C36E4[] = { const u8 gUnknown_Debug_083C371C[] = {9, 7}; const u16 gUnknown_Debug_083C371E[][9] = { - {0x4010, 0x4011, 0x4012, 0x4013, 0x4014, 0x4015, 0x4016, 0x4017, 0x4018}, - {0x4019, 0x401A, 0x401B, 0x401C, 0x401D, 0x401E, 0x401F} + {VAR_OBJ_GFX_ID_0, VAR_OBJ_GFX_ID_1, VAR_OBJ_GFX_ID_2, VAR_OBJ_GFX_ID_3, VAR_OBJ_GFX_ID_4, VAR_OBJ_GFX_ID_5, VAR_OBJ_GFX_ID_6, VAR_OBJ_GFX_ID_7, VAR_OBJ_GFX_ID_8}, + {VAR_OBJ_GFX_ID_9, VAR_OBJ_GFX_ID_A, VAR_OBJ_GFX_ID_B, VAR_OBJ_GFX_ID_C, VAR_OBJ_GFX_ID_D, VAR_OBJ_GFX_ID_E, VAR_OBJ_GFX_ID_F} }; const u8 gUnknown_Debug_083C3742[] = _("SP"); @@ -1520,12 +1532,12 @@ const struct MenuAction gUnknown_Debug_83C3C00[] = { const u8 gUnknown_Debug_083C3C48[] = {6, 5, 9, 2, 9, 6}; const u16 gUnknown_Debug_83C3C4E[][9] = { - {0x4086, 0x4087, 0x4088, 0x408A, 0x4092, 0x40B4}, - {0x40A6, 0x40C1, 0x40B5, 0x40A7, 0x40A5}, - {0x40AB, 0x40AC, 0x40AD, 0x40AE, 0x40AF, 0x40B0, 0x40B1, 0x40B2, 0x40B6}, - {0x4090, 0x40BE}, - {0x4089, 0x408E, 0x4096, 0x4097, 0x4099, 0x409C, 0x40A3, 0x40A4, 0x40A9}, - {0x40B3, 0x40B7, 0x40BB, 0x40BC, 0x40C0, 0x40C5} + {VAR_LINK_CONTEST_ROOM_STATE, VAR_CABLE_CLUB_STATE, VAR_CONTEST_LOCATION, VAR_CONTEST_PRIZE_PICKUP, VAR_LITTLEROOT_INTRO_STATE, VAR_PORTHOLE_STATE}, + {VAR_TRICK_HOUSE_ENTRANCE_STATE_2, VAR_TRICK_HOUSE_PRIZE_PICKUP, VAR_TRICK_HOUSE_STATE, VAR_TRICK_HOUSE_ENTRANCE_STATE_3, VAR_TRICK_HOUSE_ENTRANCE_STATE}, + {VAR_TRICK_HOUSE_PUZZLE_1_STATE, VAR_TRICK_HOUSE_PUZZLE_2_STATE, VAR_TRICK_HOUSE_PUZZLE_3_STATE, VAR_TRICK_HOUSE_PUZZLE_4_STATE, VAR_TRICK_HOUSE_PUZZLE_5_STATE, VAR_TRICK_HOUSE_PUZZLE_6_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE, VAR_TRICK_HOUSE_PUZZLE_8_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE_2}, + {VAR_BRINEY_HOUSE_STATE, VAR_GLASS_WORKSHOP_STATE}, + {VAR_0x4089, VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE, VAR_BRINEY_LOCATION, VAR_0x4097, VAR_LILYCOVE_CONTEST_LOBBY_STATE, VAR_ELITE_4_STATE, VAR_CABLE_CAR_STATION_STATE, VAR_SAFARI_ZONE_STATE, VAR_CYCLING_CHALLENGE_STATE}, + {VAR_WEATHER_INSTITUTE_STATE, VAR_SLATEPORT_FAN_CLUB_STATE, 0x40BB, VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, VAR_GAME_CORNER_STATE, VAR_WHICH_FOSSIL_REVIVED} }; const u8 gUnknown_Debug_083C3CBA[] = _("タウン"); @@ -1738,15 +1750,15 @@ const struct MenuAction gUnknown_Debug_083C4534[] = { const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9}; const u16 gUnknown_Debug_083C4586[][9] = { - {0x4050, 0x4051, 0x4052, 0x4053, 0x4054, 0x4055, 0x4056, 0x40C7, 0x0000}, - {0x4057, 0x4058, 0x4059, 0x405A, 0x405B, 0x405C, 0x405D, 0x405E, 0x405F}, - {0x4060, 0x4061, 0x4062, 0x4063, 0x4064, 0x4065, 0x4066, 0x4067, 0x4068}, - {0x4069, 0x406A, 0x406B, 0x406C, 0x406D, 0x406E, 0x406F, 0x4070, 0x4071}, - {0x4072, 0x4073, 0x4074, 0x4075, 0x4076, 0x4077, 0x4078, 0x4079, 0x407A}, - {0x407B, 0x407C, 0x407D, 0x407E, 0x407F, 0x4080, 0x4081, 0x0000, 0x0000}, - {0x4082, 0x4083, 0x4084, 0x408C, 0x408D, 0x40C2, 0x0000, 0x0000, 0x0000}, - {0x4085, 0x408F, 0x4093, 0x4094, 0x4095, 0x40A0, 0x40AA, 0x40C4, 0x40C6}, - {0x4098, 0x409A, 0x409B, 0x40A2, 0x40A8, 0x40B9, 0x40BA, 0x40BF, 0x40C3} + {VAR_LITTLEROOT_STATE, VAR_ROUTE102_ACCESSIBLE, 0x4052, VAR_LAVARIDGE_RIVAL_STATE, VAR_CURRENT_SECRET_BASE, 0x4055, 0x4056, VAR_OLDALE_STATE}, + {VAR_PETALBURG_STATE, VAR_SLATEPORT_STATE, 0x4059, VAR_RUSTBORO_STATE, 0x405B, 0x405C, 0x405D, VAR_SOOTOPOLIS_STATE, 0x405F}, + {VAR_ROUTE101_STATE, 0x4061, VAR_ROUTE103_STATE, 0x4063, 0x4064, 0x4065, 0x4066, 0x4067, 0x4068}, + {VAR_ROUTE110_STATE, 0x406A, 0x406B, 0x406C, 0x406D, 0x406E, VAR_ROUTE116_STATE, 0x4070, VAR_ROUTE118_STATE}, + {VAR_ROUTE119_STATE, 0x4073, VAR_ROUTE121_STATE, 0x4075, 0x4076, 0x4077, 0x4078, 0x4079, 0x407A}, + {VAR_ROUTE128_STATE, 0x407C, 0x407D, 0x407E, 0x407F, 0x4080, 0x4081}, + {VAR_LITTLEROOT_HOUSES_STATE, 0x4083, VAR_BIRCH_LAB_STATE, VAR_LITTLEROOT_HOUSES_STATE_2, VAR_LITTLEROOT_RIVAL_STATE, VAR_PACIFIDLOG_TM_RECEIVED_DAY}, + {VAR_PETALBURG_GYM_STATE, VAR_DEVON_CORP_3F_STATE, VAR_MAUVILLE_GYM_STATE, VAR_LILYCOVE_MUSEUM_2F_STATE, VAR_LILYCOVE_FAN_CLUB_STATE, VAR_SLATEPORT_HARBOR_STATE, VAR_SLATEPORT_MUSEUM_1F_STATE, VAR_FOSSIL_RESURRECTION_STATE, VAR_STEVENS_HOUSE_STATE}, + {VAR_PETALBURG_WOODS_STATE, VAR_RUSTURF_TUNNEL_STATE, VAR_CAVE_OF_ORIGIN_B4F_STATE, VAR_SEAFLOOR_CAVERN_STATE, 0x40A8, VAR_MT_PYRE_STATE, VAR_NEW_MAUVILLE_STATE, VAR_METEOR_FALLS_STATE, VAR_VICTORY_ROAD_1F_STATE} }; const u8 gUnknown_Debug_083C4628[] = _("LOCALWORK0ー8"); @@ -1800,8 +1812,8 @@ const struct MenuAction gUnknown_Debug_083C4754C[] = { const u8 gUnknown_Debug_083C478C[] = {9, 7}; const u16 gUnknown_Debug_083C478E[][9] = { - {0x4000, 0x4001, 0x4002, 0x4003, 0x4004, 0x4005, 0x4006, 0x4007, 0x4008}, - {0x4009, 0x400A, 0x400B, 0x400C, 0x400D, 0x400E, 0x400F} + {VAR_TEMP_0, VAR_TEMP_1, VAR_TEMP_2, VAR_TEMP_3, VAR_TEMP_4, VAR_TEMP_5, VAR_TEMP_6, VAR_TEMP_7, VAR_TEMP_8}, + {VAR_TEMP_9, VAR_TEMP_A, VAR_TEMP_B, VAR_TEMP_C, VAR_TEMP_D, VAR_TEMP_E, VAR_TEMP_F} }; const u8 gUnknown_Debug_083C47B2[] = _("Level"); @@ -2527,7 +2539,7 @@ void debug_sub_808C764(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C31DC[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_83C31E6[whichMenu][i]) ? TRUE : FALSE); + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_83C31E6[whichMenu][i]) ? 1 : 0); } } @@ -2689,7 +2701,7 @@ void debug_sub_808CC10(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C2710[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C271A[whichMenu][i]) ? TRUE : FALSE); + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C271A[whichMenu][i]) ? 1 : 0); } } @@ -2785,7 +2797,7 @@ void debug_sub_808CEAC(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C1C34[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1C38[whichMenu][i]) ? TRUE : FALSE); + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1C38[whichMenu][i]) ? 1 : 0); } } @@ -2947,7 +2959,7 @@ void debug_sub_808D358(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C19BC[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? TRUE : FALSE); + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? 1 : 0); } } @@ -3032,7 +3044,7 @@ void debug_sub_808D59C(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C1194[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? TRUE : FALSE); + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? 1 : 0); } } @@ -3117,8 +3129,295 @@ void debug_sub_808D7E0(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C12D0[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C12D2[whichMenu][i]) ? TRUE : FALSE); + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C12D2[whichMenu][i]) ? 1 : 0); } } +bool8 debug_sub_808D844(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A78) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1A78), gUnknown_Debug_083C1A78); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1A78), 0, 27); + gMenuCallback = debug_sub_808D894; + return FALSE; +} + +bool8 debug_sub_808D894(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C1A78[input].func; + return FALSE; +} + +bool8 debug_sub_808D8D8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A9C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1A9C), gUnknown_Debug_083C1A9C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1A9C), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808D930; + return FALSE; +} + +bool8 debug_sub_808D930(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808D97C(gDebug_0300070F, cursorPos); + debug_sub_808D9CC(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808D97C(u8 whichMenu, u8 cursorPos) +{ + if (gMain.newKeys & R_BUTTON) + { + if (!FlagGet(gUnknown_Debug_083C1AAE[whichMenu][cursorPos])) + FlagSet(gUnknown_Debug_083C1AAE[whichMenu][cursorPos]); + else + FlagClear(gUnknown_Debug_083C1AAE[whichMenu][cursorPos]); + } +} + +void debug_sub_808D9CC(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C1AAC[whichMenu]; i++) + { + debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1AAE[whichMenu][i]) ? 1 : 0); + } +} + +bool8 debug_sub_808DA30(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C103A) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C103A), gUnknown_Debug_083C103A); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C103A), 0, 28); + gMenuCallback = debug_sub_808DA80; + return FALSE; +} + +bool8 debug_sub_808DA80(void) +{ + s8 input = Menu_ProcessInput(); + /*s8 cursorPos = */Menu_GetCursorPos(); + + debug_sub_808DAD4(); + debug_sub_808DABC(); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808DABC(void) +{ + debug_sub_808F31C(24, 1, gSpecialVar_Result); +} + +void debug_sub_808DAD4(void) +{ + u16 delta; + + if (gMain.newKeys & R_BUTTON) + { + delta = +1; + } + else if (gMain.newKeys & L_BUTTON) + { + delta = -1; + } + else + return; + gSpecialVar_Result += delta; +} + +bool8 debug_sub_808DB0C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C3D08) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3D08), gUnknown_Debug_083C3D08); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3D08), 0, 23); + gMenuCallback = debug_sub_808DB5C; + return FALSE; +} + +bool8 debug_sub_808DB5C(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C3D08[input].func; + return FALSE; +} + +bool8 debug_sub_808DBA0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C432C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), gUnknown_Debug_083C432C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DBF8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C436C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), gUnknown_Debug_083C436C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DC50(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43B4) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), gUnknown_Debug_083C43B4); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DCA8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43FC) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), gUnknown_Debug_083C43FC); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DD00(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4444) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), gUnknown_Debug_083C4444); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), 0, 28); + gDebug_0300070F = 4; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DD58(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C448C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), gUnknown_Debug_083C448C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), 0, 28); + gDebug_0300070F = 5; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DDB0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); + Menu_PrintItems(2, 1, 6, gUnknown_Debug_83C44C4); // overflows into the next menu + InitMenu(0, 1, 1, 6, 0, 28); + gDebug_0300070F = 6; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DE08(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C44EC) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), gUnknown_Debug_83C44EC); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), 0, 28); + gDebug_0300070F = 7; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DE60(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4534) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), gUnknown_Debug_083C4534); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), 0, 28); + gDebug_0300070F = 8; + gMenuCallback = debug_sub_808DEB8; + return FALSE; +} + +bool8 debug_sub_808DEB8(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808DF64(gDebug_0300070F, cursorPos); + debug_sub_808DF04(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808DF04(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C457C[whichMenu]; i++) + { + debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C4586[whichMenu][i])); + } +} + +void debug_sub_808DF64(u8 whichMenu, u8 cursorPos) +{ + u16 delta; + + if (gMain.newKeys & R_BUTTON) + delta = +1; + else if (gMain.newKeys & L_BUTTON) + delta = -1; + else + return; + VarSet(gUnknown_Debug_083C4586[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C4586[whichMenu][cursorPos]) + delta); +} + #endif -- cgit v1.2.3 From 187bc5f6a17ca53390fa95d9ec836fcc228d4b03 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 12 Mar 2018 23:37:16 -0400 Subject: through debug_sub_808E310 --- src/debug/tomomichi_debug_menu.c | 135 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 03c520018..b741436a2 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -187,6 +187,10 @@ bool8 debug_sub_808DB5C(void); bool8 debug_sub_808DEB8(void); void debug_sub_808DF64(u8, u8); void debug_sub_808DF04(u8); +bool8 debug_sub_808E010(void); +bool8 debug_sub_808E264(void); +void debug_sub_808E310(u8, u8); +void debug_sub_808E2B0(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -3420,4 +3424,135 @@ void debug_sub_808DF64(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C4586[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C4586[whichMenu][cursorPos]) + delta); } +bool8 debug_sub_808DFC0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C377C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C377C), gUnknown_Debug_083C377C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C377C), 0, 23); + gMenuCallback = debug_sub_808E010; + return FALSE; +} + +bool8 debug_sub_808E010(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C377C[input].func; + return FALSE; +} + +bool8 debug_sub_808E054(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); + Menu_PrintItems(2, 1, 6, gUnknown_Debug_083C3AA0); + InitMenu(0, 1, 1, 6, 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808E264; + return FALSE; +} + +bool8 debug_sub_808E0AC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); + Menu_PrintItems(2, 1, 5, gUnknown_Debug_83C3AE0); + InitMenu(0, 1, 1, 5, 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808E264; + return FALSE; +} + +bool8 debug_sub_808E104(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C3B28) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C3B28), gUnknown_Debug_83C3B28); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C3B28), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808E264; + return FALSE; +} + +bool8 debug_sub_808E15C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 2 + 1); + Menu_PrintItems(2, 1, 2, gUnknown_Debug_83C3B70); + InitMenu(0, 1, 1, 2, 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808E264; + return FALSE; +} + +bool8 debug_sub_808E1B4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C3BB8) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C3BB8), gUnknown_Debug_83C3BB8); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C3BB8), 0, 28); + gDebug_0300070F = 4; + gMenuCallback = debug_sub_808E264; + return FALSE; +} + +bool8 debug_sub_808E20C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); + Menu_PrintItems(2, 1, 6, gUnknown_Debug_83C3C00); + InitMenu(0, 1, 1, 6, 0, 28); + gDebug_0300070F = 5; + gMenuCallback = debug_sub_808E264; + return FALSE; +} + +bool8 debug_sub_808E264(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808E310(gDebug_0300070F, cursorPos); + debug_sub_808E2B0(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808E2B0(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C3C48[whichMenu]; i++) + { + debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_83C3C4E[whichMenu][i])); + } +} + +void debug_sub_808E310(u8 whichMenu, u8 cursorPos) +{ + u16 delta; + + if (gMain.newKeys & R_BUTTON) + delta = +1; + else if (gMain.newKeys & L_BUTTON) + delta = -1; + else + return; + VarSet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos], VarGet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos]) + delta); +} + #endif -- cgit v1.2.3 From 7705a3d44fe4c0f282eee51380f11fd936f642ca Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 12 Mar 2018 23:50:06 -0400 Subject: through debug_sub_808E660 --- src/debug/tomomichi_debug_menu.c | 124 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index b741436a2..a2dcbabae 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -191,6 +191,10 @@ bool8 debug_sub_808E010(void); bool8 debug_sub_808E264(void); void debug_sub_808E310(u8, u8); void debug_sub_808E2B0(u8); +bool8 debug_sub_808E3BC(void); +bool8 debug_sub_808E5B8(void); +void debug_sub_808E604(u8, u8); +void debug_sub_808E660(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -3555,4 +3559,124 @@ void debug_sub_808E310(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos], VarGet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos]) + delta); } +bool8 debug_sub_808E36C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C32AC) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C32AC), gUnknown_Debug_083C32AC); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C32AC), 0, 23); + gMenuCallback = debug_sub_808E3BC; + return FALSE; +} + +bool8 debug_sub_808E3BC(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C32AC[input].func; + return FALSE; +} + +bool8 debug_sub_808E400(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C347C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C347C), gUnknown_Debug_083C347C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C347C), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808E5B8; + return FALSE; +} + +bool8 debug_sub_808E458(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C3494) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3494), gUnknown_Debug_083C3494); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3494), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808E5B8; + return FALSE; +} + +bool8 debug_sub_808E4B0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C34A4) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C34A4), gUnknown_Debug_083C34A4); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C34A4), 0, 28); + gDebug_0300070F = 2; + gMenuCallback = debug_sub_808E5B8; + return FALSE; +} + +bool8 debug_sub_808E508(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C34D4) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C34D4), gUnknown_Debug_083C34D4); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C34D4), 0, 28); + gDebug_0300070F = 3; + gMenuCallback = debug_sub_808E5B8; + return FALSE; +} + +bool8 debug_sub_808E560(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C351C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C351C), gUnknown_Debug_083C351C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C351C), 0, 28); + gDebug_0300070F = 4; + gMenuCallback = debug_sub_808E5B8; + return FALSE; +} + +bool8 debug_sub_808E5B8(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808E604(gDebug_0300070F, cursorPos); + debug_sub_808E660(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808E604(u8 whichMenu, u8 cursorPos) +{ + u16 delta; + + if (gMain.newAndRepeatedKeys & R_BUTTON) + delta = +1; + else if (gMain.newAndRepeatedKeys & L_BUTTON) + delta = -1; + else + return; + VarSet(gUnknown_Debug_083C354A[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C354A[whichMenu][cursorPos]) + delta); +} + +void debug_sub_808E660(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C3544[whichMenu]; i++) + { + debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C354A[whichMenu][i])); + } +} + #endif -- cgit v1.2.3 From 301b0c546e7a8b08333f3988e13a8486eeef850b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 12 Mar 2018 23:55:13 -0400 Subject: through debug_sub_808E8AC --- src/debug/tomomichi_debug_menu.c | 91 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index a2dcbabae..7602885c2 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -195,6 +195,10 @@ bool8 debug_sub_808E3BC(void); bool8 debug_sub_808E5B8(void); void debug_sub_808E604(u8, u8); void debug_sub_808E660(u8); +bool8 debug_sub_808E710(void); +bool8 debug_sub_808E804(void); +void debug_sub_808E850(u8, u8); +void debug_sub_808E8AC(u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -3679,4 +3683,91 @@ void debug_sub_808E660(u8 whichMenu) } } +bool8 debug_sub_808E6C0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C4644) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4644), gUnknown_Debug_083C4644); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4644), 0, 23); + gMenuCallback = debug_sub_808E710; + return FALSE; +} + +bool8 debug_sub_808E710(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C4644[input].func; + return FALSE; +} + +bool8 debug_sub_808E754(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C470C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C470C), gUnknown_Debug_083C470C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C470C), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808E804; + return FALSE; +} + +bool8 debug_sub_808E7AC(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4754C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4754C), gUnknown_Debug_083C4754C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4754C), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808E804; + return FALSE; +} + +bool8 debug_sub_808E804(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808E850(gDebug_0300070F, cursorPos); + debug_sub_808E8AC(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808E850(u8 whichMenu, u8 cursorPos) +{ + u16 delta; + + if (gMain.newKeys & R_BUTTON) + delta = +1; + else if (gMain.newKeys & L_BUTTON) + delta = -1; + else + return; + VarSet(gUnknown_Debug_083C478E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C478E[whichMenu][cursorPos]) + delta); +} + +void debug_sub_808E8AC(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C478C[whichMenu]; i++) + { + debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C478E[whichMenu][i])); + } +} + #endif -- cgit v1.2.3 From 7e4093ea780cce8bc367aceb7cb7671979928c76 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 12 Mar 2018 23:58:28 -0400 Subject: through debug_sub_808EAFC --- src/debug/tomomichi_debug_menu.c | 91 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 7602885c2..66b6f5add 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -199,6 +199,10 @@ bool8 debug_sub_808E710(void); bool8 debug_sub_808E804(void); void debug_sub_808E850(u8, u8); void debug_sub_808E8AC(u8); +bool8 debug_sub_808E95C(void); +bool8 debug_sub_808EA50(void); +void debug_sub_808EA9C(u8); +void debug_sub_808EAFC(u8, u8); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -3770,4 +3774,91 @@ void debug_sub_808E8AC(u8 whichMenu) } } +bool8 debug_sub_808E90C(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C35C4) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C35C4), gUnknown_Debug_083C35C4); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C35C4), 0, 23); + gMenuCallback = debug_sub_808E95C; + return FALSE; +} + +bool8 debug_sub_808E95C(void) +{ + s8 input = Menu_ProcessInput(); + + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + gMenuCallback = gUnknown_Debug_083C35C4[input].func; + return FALSE; +} + +bool8 debug_sub_808E9A0(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C369C) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C369C), gUnknown_Debug_083C369C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C369C), 0, 28); + gDebug_0300070F = 0; + gMenuCallback = debug_sub_808EA50; + return FALSE; +} + +bool8 debug_sub_808E9F8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C36E4) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C36E4), gUnknown_Debug_083C36E4); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C36E4), 0, 28); + gDebug_0300070F = 1; + gMenuCallback = debug_sub_808EA50; + return FALSE; +} + +bool8 debug_sub_808EA50(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + debug_sub_808EAFC(gDebug_0300070F, cursorPos); + debug_sub_808EA9C(gDebug_0300070F); + if (input == -2) + return FALSE; + if (input == -1) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +void debug_sub_808EA9C(u8 whichMenu) +{ + u8 i; + + for (i = 0; i < gUnknown_Debug_083C371C[whichMenu]; i++) + { + debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C371E[whichMenu][i])); + } +} + +void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos) +{ + u16 delta; + + if (gMain.newKeys & R_BUTTON) + delta = +1; + else if (gMain.newKeys & L_BUTTON) + delta = -1; + else + return; + VarSet(gUnknown_Debug_083C371E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C371E[whichMenu][cursorPos]) + delta); +} + #endif -- cgit v1.2.3 From d3aab0707b15555e248438ebfbb557f12e24aa3a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 13 Mar 2018 00:11:13 -0400 Subject: through TomomichiDebugMenu_Config --- src/debug/tomomichi_debug_menu.c | 86 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 66b6f5add..fe3b37f34 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -203,6 +203,9 @@ bool8 debug_sub_808E95C(void); bool8 debug_sub_808EA50(void); void debug_sub_808EA9C(u8); void debug_sub_808EAFC(u8, u8); +bool8 debug_sub_808EC10(void); +bool8 debug_sub_808EC5C(void); +bool8 debug_sub_808ECD0(void); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -3861,4 +3864,87 @@ void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C371E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C371E[whichMenu][cursorPos]) + delta); } +bool8 debug_sub_808EB58(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 12, 2 * ARRAY_COUNT(gUnknown_Debug_083C47F0) + 3); + Menu_PrintText(gUnknown_Debug_083C47B2, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C47F0), gUnknown_Debug_083C47F0); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C47F0), 0, 11); + gMenuCallback = debug_sub_808EC10; + return FALSE; +} + +bool8 debug_sub_808EBB4(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 13, 2 * ARRAY_COUNT(gUnknown_Debug_083C4888) + 3); + Menu_PrintText(gUnknown_Debug_083C4830, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C4888), gUnknown_Debug_083C4888); + InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C4888), 0, 12); + gMenuCallback = debug_sub_808EC5C; + return FALSE; +} + +bool8 debug_sub_808EC10(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + if (input == -2) + { + return FALSE; + } + if (input == -1) + { + return FALSE; + } + gSaveBlock1.vars[VAR_TRICK_HOUSE_ROOMS_COMPLETED - VARS_START] = cursorPos; + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808EC5C(void) +{ + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + if (input == -2) + { + return FALSE; + } + if (input == -1) + { + return FALSE; + } + VarSet(VAR_TRICK_HOUSE_ENTRANCE_STATE_3, cursorPos); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808ECA4(void) +{ + BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + gMenuCallback = debug_sub_808ECD0; + return FALSE; +} + +bool8 debug_sub_808ECD0(void) +{ + if (!UpdatePaletteFade()) + { + CloseMenu(); + debug_sub_808F168(2); + SetMainCallback2(CB2_ContestPainting); + gMain.savedCallback = debug_sub_808B868; + return TRUE; + } + return FALSE; +} + +bool8 TomomichiDebugMenu_Config(void) +{ + return FALSE; +} + #endif -- cgit v1.2.3 From 8ae683d744c77d1fe34a265b80fa03d2dcf26b03 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 13 Mar 2018 00:42:26 -0400 Subject: through debug_sub_808EF14 --- src/debug/tomomichi_debug_menu.c | 135 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index fe3b37f34..68fdc9bd1 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -4,6 +4,7 @@ #include "event_data.h" #include "constants/flags.h" #include "constants/songs.h" +#include "constants/species.h" #include "overworld.h" #include "script.h" #include "menu.h" @@ -3947,4 +3948,138 @@ bool8 TomomichiDebugMenu_Config(void) return FALSE; } +void debug_sub_808ED0C(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gDebug_03000700 != SPECIES_BULBASAUR) + gDebug_03000700--; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gDebug_03000700 != SPECIES_CHIMECHO) + gDebug_03000700++; + } + if (gMain.newAndRepeatedKeys & L_BUTTON) + { + if (gDebug_03000700 >= SPECIES_BULBASAUR + 10) + gDebug_03000700 -= 10; + else + gDebug_03000700 = SPECIES_BULBASAUR; + } + if (gMain.newAndRepeatedKeys & R_BUTTON) + { + if (gDebug_03000700 <= SPECIES_CHIMECHO - 10) + gDebug_03000700 += 10; + else + gDebug_03000700 = SPECIES_CHIMECHO; + } +} + +void debug_sub_808ED9C(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gDebug_03000708 != 0) + gDebug_03000708--; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gDebug_03000708 != UINT32_MAX) + gDebug_03000708++; + } + if (gMain.newAndRepeatedKeys & L_BUTTON) + { + if (gDebug_03000708 >= 0x10) + gDebug_03000708 -= 0x10; + else + gDebug_03000708 = 0; + } + if (gMain.newAndRepeatedKeys & R_BUTTON) + { + if (gDebug_03000708 <= UINT32_MAX - 0x10) + gDebug_03000708 += 0x10; + else + gDebug_03000708 = UINT32_MAX; + } + if ((gMain.newKeys & (L_BUTTON | R_BUTTON)) == (L_BUTTON | R_BUTTON)) + { + gDebug_03000708 = UINT32_MAX; + } +} + +void debug_sub_808EE3C(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gDebug_0300070C != 1) + gDebug_0300070C--; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gDebug_0300070C != 5) + gDebug_0300070C++; + } + if (gMain.newAndRepeatedKeys & L_BUTTON) + gDebug_0300070C = 1; + if (gMain.newAndRepeatedKeys & R_BUTTON) + gDebug_0300070C = 5; +} + +void debug_sub_808EE9C(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gDebug_0300070D != 1) + gDebug_0300070D--; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gDebug_0300070D != 15) + gDebug_0300070D++; + } + if (gMain.newAndRepeatedKeys & L_BUTTON) + { + if (gDebug_0300070D >= 11) + gDebug_0300070D -= 10; + else + gDebug_0300070D = 0; // Causes underflow when pressing left on the dpad shortly thereafter. + } + if (gMain.newAndRepeatedKeys & R_BUTTON) + { + if (gDebug_0300070D <= 5) + gDebug_0300070D += 10; + else + gDebug_0300070D = 15; + } +} + +void debug_sub_808EF14(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gDebug_0300070E != 1) + gDebug_0300070E--; + } + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gDebug_0300070E != 15) + gDebug_0300070E++; + } + if (gMain.newAndRepeatedKeys & L_BUTTON) + { + if (gDebug_0300070E >= 11) + gDebug_0300070E -= 10; + else + gDebug_0300070E = 0; // Causes underflow when pressing left on the dpad shortly thereafter. + } + if (gMain.newAndRepeatedKeys & R_BUTTON) + { + if (gDebug_0300070E <= 5) + gDebug_0300070E += 10; + else + gDebug_0300070E = 15; + } +} + #endif -- cgit v1.2.3 From e6c587bd92ad5e4ef5ebceaf8e1b12c399b2c0bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 13 Mar 2018 08:24:11 -0400 Subject: nonmatching debug_sub_808EF8C --- src/debug/tomomichi_debug_menu.c | 328 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 326 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 68fdc9bd1..2ce2329d3 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1,6 +1,7 @@ #if DEBUG #include "global.h" #include "palette.h" +#include "data2.h" #include "event_data.h" #include "constants/flags.h" #include "constants/songs.h" @@ -71,7 +72,7 @@ void debug_sub_808ED9C(void); void debug_sub_808EE3C(void); void debug_sub_808EE9C(void); void debug_sub_808EF14(void); -void debug_sub_808EF8C(u32 a0); +void debug_sub_808EF8C(u8 a0); bool8 debug_sub_808C064(void); bool8 debug_sub_808C0EC(void); bool8 debug_sub_808C104(void); @@ -4082,4 +4083,327 @@ void debug_sub_808EF14(void) } } -#endif +#ifdef NONMATCHING +void debug_sub_808EF8C(u8 a0) +{ + u8 i; + u8 digit; + u16 species; + + switch (a0) + { + case 0: + case 1: + case 2: + for (i = 0; i < 8; i++) + { + digit = (gDebug_03000708 >> (4 * (7 - i))) & 0xf; + if (digit < 10) + gDebug_03000710[i] = digit + CHAR_0; + else + gDebug_03000710[i] = digit + CHAR_A - 10; + } + gDebug_03000710[i] = EOS; + Menu_PrintText(gDebug_03000710, 12, 5); + break; + } + for (i = 0; i < POKEMON_NAME_LENGTH; i++) + { + gDebug_03000710[i + 1] = CHAR_SPACE; + } + + for (i = 0, species = gDebug_03000700; gSpeciesNames[species][i] != EOS && i < POKEMON_NAME_LENGTH; i++) + { + gDebug_03000710[i + 1] = gSpeciesNames[species][i]; + } + + gDebug_03000710[0] = 0xB1; + gDebug_03000710[POKEMON_NAME_LENGTH + 1] = 0xB2; + gDebug_03000710[POKEMON_NAME_LENGTH + 2] = EOS; + switch (a0) + { + case 0: + case 1: + case 2: + Menu_PrintText(gDebug_03000710, 8, 1); + break; + default: + Menu_PrintText(gDebug_03000710, 12, 1); + break; + } + gDebug_03000710[3] = EOS; + gDebug_03000710[0] = gDebug_03000700 / 100 + CHAR_0; + gDebug_03000710[1] = (gDebug_03000700 % 100) / 10 + CHAR_0; + gDebug_03000710[2] = gDebug_03000700 % 10 + CHAR_0; + Menu_PrintText(gDebug_03000710, 12, 3); + + switch (a0) + { + case 0: + gDebug_03000710[0] = gDebug_0300070C / 100 + CHAR_0; + gDebug_03000710[1] = (gDebug_0300070C % 100) / 10 + CHAR_0; + gDebug_03000710[2] = gDebug_0300070C % 10 + CHAR_0; + Menu_PrintText(gDebug_03000710, 12, 7); + break; + case 1: + gDebug_03000710[0] = gDebug_0300070D / 100 + CHAR_0; + gDebug_03000710[1] = (gDebug_0300070D % 100) / 10 + CHAR_0; + gDebug_03000710[2] = gDebug_0300070D % 10 + CHAR_0; + Menu_PrintText(gDebug_03000710, 12, 7); + break; + case 2: + gDebug_03000710[0] = gDebug_0300070E / 100 + CHAR_0; + gDebug_03000710[1] = (gDebug_0300070E % 100) / 10 + CHAR_0; + gDebug_03000710[2] = gDebug_0300070E % 10 + CHAR_0; + Menu_PrintText(gDebug_03000710, 12, 7); + break; + } +} +#else +__attribute__((naked)) void debug_sub_808EF8C(u8 a0) +{ + asm("\tpush\t{r4, r5, r6, r7, lr}\n" + "\tmov\tr7, r8\n" + "\tpush\t{r7}\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr6, r0, #0x18\n" + "\tcmp\tr6, #0x2\n" + "\tbgt\t._653\t@cond_branch\n" + "\tcmp\tr6, #0\n" + "\tblt\t._653\t@cond_branch\n" + "\tmov\tr3, #0x0\n" + "\tldr\tr0, ._656 @ gDebug_03000708\n" + "\tmov\tr8, r0\n" + "\tldr\tr4, ._656 + 4 @ gDebug_03000710\n" + "\tmov\tr7, #0x7\n" + "\tmov\tr5, #0xf\n" + "._658:\n" + "\tsub\tr0, r7, r3\n" + "\tlsl\tr0, r0, #0x2\n" + "\tmov\tr1, r8\n" + "\tldr\tr2, [r1]\n" + "\tLSR\tr2, r0\n" + "\tand\tr2, r2, r5\n" + "\tcmp\tr2, #0x9\n" + "\tbhi\t._654\t@cond_branch\n" + "\tadd\tr1, r3, r4\n" + "\tadd\tr0, r2, #0\n" + "\tadd\tr0, r0, #0xa1\n" + "\tb\t._655\n" + "._657:\n" + "\t.align\t2, 0\n" + "._656:\n" + "\t.word\tgDebug_03000708\n" + "\t.word\tgDebug_03000710\n" + "._654:\n" + "\tadd\tr1, r3, r4\n" + "\tadd\tr0, r2, #0\n" + "\tsub\tr0, r0, #0x4f\n" + "._655:\n" + "\tstrb\tr0, [r1]\n" + "\tadd\tr0, r3, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr3, r0, #0x18\n" + "\tcmp\tr3, #0x7\n" + "\tbls\t._658\t@cond_branch\n" + "\tldr\tr0, ._666 @ gDebug_03000710\n" + "\tmov\tr1, #0xff\n" + "\tstrb\tr1, [r0, #0x8]\n" + "\tmov\tr1, #0xc\n" + "\tmov\tr2, #0x5\n" + "\tbl\tMenu_PrintText\n" + "._653:\n" + "\tmov\tr3, #0x0\n" + "\tldr\tr7, ._666 @ gDebug_03000710\n" + "\tldr\tr5, ._666 + 4 @ gDebug_03000700\n" + "\tldr\tr2, ._666 + 8 @ gSpeciesNames\n" + "\tmov\tr8, r2\n" + "\tadd\tr4, r7, #0\n" + "\tmov\tr2, #0x0\n" + "._659:\n" + "\tadd\tr1, r3, #1\n" + "\tadd\tr0, r1, r4\n" + "\tstrb\tr2, [r0]\n" + "\tlsl\tr1, r1, #0x18\n" + "\tlsr\tr3, r1, #0x18\n" + "\tcmp\tr3, #0x9\n" + "\tbls\t._659\t@cond_branch\n" + "\tmov\tr3, #0x0\n" + "\tldrh\tr2, [r5]\n" + "\tmov\tr0, #0xb\n" + "\tadd\tr1, r2, #0\n" + "\tmul\tr1, r1, r0\n" + "\tmov\tr2, r8\n" + "\tadd\tr0, r1, r2\n" + "\tldrb\tr0, [r0]\n" + "\tcmp\tr0, #0xff\n" + "\tbeq\t._661\t@cond_branch\n" + "\tldr\tr0, ._666 @ gDebug_03000710\n" + "\tmov\tip, r0\n" + "\tmov\tr5, r8\n" + "\tadd\tr4, r1, #0\n" + "._662:\n" + "\tadd\tr1, r3, #1\n" + "\tmov\tr0, ip\n" + "\tadd\tr2, r1, r0\n" + "\tadd\tr0, r3, r4\n" + "\tadd\tr0, r0, r5\n" + "\tldrb\tr0, [r0]\n" + "\tstrb\tr0, [r2]\n" + "\tlsl\tr1, r1, #0x18\n" + "\tlsr\tr3, r1, #0x18\n" + "\tadd\tr0, r3, r4\n" + "\tadd\tr0, r0, r5\n" + "\tldrb\tr0, [r0]\n" + "\tcmp\tr0, #0xff\n" + "\tbeq\t._661\t@cond_branch\n" + "\tcmp\tr3, #0x9\n" + "\tbls\t._662\t@cond_branch\n" + "._661:\n" + "\tmov\tr0, #0xb1\n" + "\tstrb\tr0, [r7]\n" + "\tmov\tr0, #0xb2\n" + "\tstrb\tr0, [r7, #0xb]\n" + "\tmov\tr0, #0xff\n" + "\tstrb\tr0, [r7, #0xc]\n" + "\tcmp\tr6, #0x2\n" + "\tbgt\t._664\t@cond_branch\n" + "\tcmp\tr6, #0\n" + "\tblt\t._664\t@cond_branch\n" + "\tadd\tr0, r7, #0\n" + "\tmov\tr1, #0x8\n" + "\tmov\tr2, #0x1\n" + "\tbl\tMenu_PrintText\n" + "\tb\t._665\n" + "._667:\n" + "\t.align\t2, 0\n" + "._666:\n" + "\t.word\tgDebug_03000710\n" + "\t.word\tgDebug_03000700\n" + "\t.word\tgSpeciesNames\n" + "._664:\n" + "\tldr\tr0, ._672 @ gDebug_03000710\n" + "\tmov\tr1, #0xc\n" + "\tmov\tr2, #0x1\n" + "\tbl\tMenu_PrintText\n" + "._665:\n" + "\tldr\tr5, ._672 @ gDebug_03000710\n" + "\tmov\tr0, #0xff\n" + "\tstrb\tr0, [r5, #0x3]\n" + "\tldr\tr4, ._672 + 4 @ gDebug_03000700\n" + "\tldrh\tr0, [r4]\n" + "\tmov\tr1, #0x64\n" + "\tbl\t__udivsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5]\n" + "\tldrh\tr0, [r4]\n" + "\tmov\tr1, #0x64\n" + "\tbl\t__umodsi3\n" + "\tlsl\tr0, r0, #0x10\n" + "\tlsr\tr0, r0, #0x10\n" + "\tmov\tr1, #0xa\n" + "\tbl\t__udivsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5, #0x1]\n" + "\tldrh\tr0, [r4]\n" + "\tmov\tr1, #0xa\n" + "\tbl\t__umodsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5, #0x2]\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0xc\n" + "\tmov\tr2, #0x3\n" + "\tbl\tMenu_PrintText\n" + "\tcmp\tr6, #0x1\n" + "\tbeq\t._668\t@cond_branch\n" + "\tcmp\tr6, #0x1\n" + "\tbgt\t._669\t@cond_branch\n" + "\tcmp\tr6, #0\n" + "\tbeq\t._670\t@cond_branch\n" + "\tb\t._679\n" + "._673:\n" + "\t.align\t2, 0\n" + "._672:\n" + "\t.word\tgDebug_03000710\n" + "\t.word\tgDebug_03000700\n" + "._669:\n" + "\tcmp\tr6, #0x2\n" + "\tbeq\t._674\t@cond_branch\n" + "\tb\t._679\n" + "._670:\n" + "\tldr\tr4, ._677 @ gDebug_0300070C\n" + "\tb\t._676\n" + "._678:\n" + "\t.align\t2, 0\n" + "._677:\n" + "\t.word\tgDebug_0300070C\n" + "._668:\n" + "\tldr\tr4, ._680 @ gDebug_0300070D\n" + "._676:\n" + "\tldrb\tr0, [r4]\n" + "\tmov\tr1, #0x64\n" + "\tbl\t__udivsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5]\n" + "\tldrb\tr0, [r4]\n" + "\tmov\tr1, #0x64\n" + "\tbl\t__umodsi3\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr0, r0, #0x18\n" + "\tmov\tr1, #0xa\n" + "\tbl\t__udivsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5, #0x1]\n" + "\tldrb\tr0, [r4]\n" + "\tmov\tr1, #0xa\n" + "\tbl\t__umodsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5, #0x2]\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0xc\n" + "\tmov\tr2, #0x7\n" + "\tbl\tMenu_PrintText\n" + "\tb\t._679\n" + "._681:\n" + "\t.align\t2, 0\n" + "._680:\n" + "\t.word\tgDebug_0300070D\n" + "._674:\n" + "\tldr\tr4, ._682 @ gDebug_0300070E\n" + "\tldrb\tr0, [r4]\n" + "\tmov\tr1, #0x64\n" + "\tbl\t__udivsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5]\n" + "\tldrb\tr0, [r4]\n" + "\tmov\tr1, #0x64\n" + "\tbl\t__umodsi3\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr0, r0, #0x18\n" + "\tmov\tr1, #0xa\n" + "\tbl\t__udivsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5, #0x1]\n" + "\tldrb\tr0, [r4]\n" + "\tmov\tr1, #0xa\n" + "\tbl\t__umodsi3\n" + "\tadd\tr0, r0, #0xa1\n" + "\tstrb\tr0, [r5, #0x2]\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0xc\n" + "\tmov\tr2, #0x7\n" + "\tbl\tMenu_PrintText\n" + "._679:\n" + "\tpop\t{r3}\n" + "\tmov\tr8, r3\n" + "\tpop\t{r4, r5, r6, r7}\n" + "\tpop\t{r0}\n" + "\tbx\tr0\n" + "._683:\n" + "\t.align\t2, 0\n" + "._682:\n" + "\t.word\tgDebug_0300070E"); +} +#endif // NONMATCHING + +#endif // DEBUG -- cgit v1.2.3 From 3f8fdccac5909e7dc80de42a3fae24ccab45b321 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 13 Mar 2018 08:45:25 -0400 Subject: Complete decompilation of tomomichi_debug_menu --- src/debug/tomomichi_debug_menu.c | 2345 ++++++++++++++++++++------------------ 1 file changed, 1209 insertions(+), 1136 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 2ce2329d3..255fefdce 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -1,5 +1,7 @@ #if DEBUG #include "global.h" +#include "ewram.h" +#include "string_util.h" #include "palette.h" #include "data2.h" #include "event_data.h" @@ -14,200 +16,198 @@ #include "contest_painting.h" #include "sound.h" -// These should be static, uninitialized once it gets decompiled. -#define BSS_DATA __attribute__((section(".bss"))) -BSS_DATA u16 gDebug_03000700 = 0; -BSS_DATA u32 gDebug_03000704 = 0; -BSS_DATA u32 gDebug_03000708 = 0; -BSS_DATA u8 gDebug_0300070C = 0; -BSS_DATA u8 gDebug_0300070D = 0; -BSS_DATA u8 gDebug_0300070E = 0; -BSS_DATA u8 gDebug_0300070F = 0; -BSS_DATA u8 gDebug_03000710[13] = {0}; -BSS_DATA u8 gDebug_0300071D = 0; -BSS_DATA u8 gDebug_0300071E = 0; -BSS_DATA u8 gDebug_0300071F = 0; -BSS_DATA u8 gDebug_03000720 = 0; -BSS_DATA u8 gDebug_03000721 = 0; - -bool8 debug_sub_808B874(void); -bool8 debug_sub_808B8C8(void); -bool8 TomomichiDebugMenu_ContestGraphics(void); -bool8 TomomichiDebugMenu_ArtMusGraphics(void); -bool8 TomomichiDebugMenu_PreviewData(void); -bool8 TomomichiDebugMenu_TrickHouse(void); -bool8 TomomichiDebugMenu_ControlEvents(void); -bool8 TomomichiDebugMenu_ControlFlags(void); -bool8 TomomichiDebugMenu_ControlWorks(void); -bool8 TomomichiDebugMenu_Config(void); -bool8 TomomichiDebugMenu_ContestGraphics_Show(void); -bool8 debug_sub_808BC48(void); -bool8 debug_sub_808BCBC(void); -bool8 TomomichiDebugMenu_MuseumGraphics_Show(void); -bool8 debug_sub_808BD30(void); -bool8 debug_sub_808BDA4(void); -bool8 debug_sub_808BE2C(void); -bool8 debug_sub_808BEB4(void); -bool8 debug_sub_808BF3C(void); -bool8 debug_sub_808ECA4(void); -bool8 debug_sub_808EB58(void); -bool8 debug_sub_808EBB4(void); -bool8 debug_sub_808BFC4(void); -bool8 debug_sub_808C014(void); -bool8 debug_sub_808C31C(void); -bool8 debug_sub_808C7C8(void); -bool8 debug_sub_808CC74(void); -bool8 debug_sub_808CF10(void); -bool8 debug_sub_808D844(void); -bool8 debug_sub_808D600(void); -bool8 debug_sub_808D3BC(void); -bool8 debug_sub_808DB0C(void); -bool8 debug_sub_808E36C(void); -bool8 debug_sub_808E6C0(void); -bool8 debug_sub_808E90C(void); -bool8 debug_sub_808DA30(void); -bool8 debug_sub_808DFC0(void); -void debug_sub_808ED0C(void); -void debug_sub_808ED9C(void); -void debug_sub_808EE3C(void); -void debug_sub_808EE9C(void); -void debug_sub_808EF14(void); -void debug_sub_808EF8C(u8 a0); -bool8 debug_sub_808C064(void); -bool8 debug_sub_808C0EC(void); -bool8 debug_sub_808C104(void); -bool8 debug_sub_808C11C(void); -bool8 debug_sub_808C134(void); -bool8 debug_sub_808C14C(void); -bool8 debug_sub_808C164(void); -bool8 debug_sub_808C17C(void); -bool8 debug_sub_808C194(void); -bool8 debug_sub_808C1AC(void); -bool8 debug_sub_808C0A8(void); -bool8 debug_sub_808C1C4(void); -bool8 debug_sub_808C1DC(void); -bool8 debug_sub_808C1F4(void); -bool8 debug_sub_808C20C(void); -bool8 debug_sub_808C224(void); -bool8 debug_sub_808C23C(void); -bool8 debug_sub_808D450(void); -bool8 debug_sub_808D4A8(void); -bool8 debug_sub_808D694(void); -bool8 debug_sub_808D6EC(void); -bool8 debug_sub_808CFA4(void); -bool8 debug_sub_808CFFC(void); -bool8 debug_sub_808D054(void); -bool8 debug_sub_808D0AC(void); -bool8 debug_sub_808D104(void); -bool8 debug_sub_808D15C(void); -bool8 debug_sub_808D1B4(void); -bool8 debug_sub_808D20C(void); -bool8 debug_sub_808D264(void); -bool8 debug_sub_808C280(void); -void debug_sub_808F168(u32 a0); -bool8 debug_sub_808C2E4(void); -bool8 debug_sub_808D8D8(void); -bool8 debug_sub_808CD08(void); -bool8 debug_sub_808CD60(void); -bool8 debug_sub_808CDB8(void); -bool8 debug_sub_808C85C(void); -bool8 debug_sub_808C8B4(void); -bool8 debug_sub_808C90C(void); -bool8 debug_sub_808C964(void); -bool8 debug_sub_808C9BC(void); -bool8 debug_sub_808CA14(void); -bool8 debug_sub_808CA6C(void); -bool8 debug_sub_808CAC4(void); -bool8 debug_sub_808CB1C(void); -bool8 debug_sub_808C3B0(void); -bool8 debug_sub_808C408(void); -bool8 debug_sub_808C460(void); -bool8 debug_sub_808C4B8(void); -bool8 debug_sub_808C510(void); -bool8 debug_sub_808C568(void); -bool8 debug_sub_808C5C0(void); -bool8 debug_sub_808C618(void); -bool8 debug_sub_808C670(void); -bool8 debug_sub_808C36C(void); -bool8 debug_sub_808C6C8(void); -void debug_sub_808C714(u8, u8); -void debug_sub_808C764(u8); -void debug_sub_808F2E0(u8, u8, bool8); -bool8 debug_sub_808C818(void); -bool8 debug_sub_808CB74(void); -bool8 debug_sub_808E400(void); -bool8 debug_sub_808E458(void); -bool8 debug_sub_808E4B0(void); -bool8 debug_sub_808E508(void); -bool8 debug_sub_808E560(void); -bool8 debug_sub_808E9A0(void); -bool8 debug_sub_808E9F8(void); -bool8 debug_sub_808E054(void); -bool8 debug_sub_808E0AC(void); -bool8 debug_sub_808E104(void); -bool8 debug_sub_808E15C(void); -bool8 debug_sub_808E1B4(void); -bool8 debug_sub_808E20C(void); -bool8 debug_sub_808DBA0(void); -bool8 debug_sub_808DBF8(void); -bool8 debug_sub_808DC50(void); -bool8 debug_sub_808DCA8(void); -bool8 debug_sub_808DD00(void); -bool8 debug_sub_808DD58(void); -bool8 debug_sub_808DDB0(void); -bool8 debug_sub_808DE08(void); -bool8 debug_sub_808DE60(void); -bool8 debug_sub_808E754(void); -bool8 debug_sub_808E7AC(void); -void debug_sub_808CBC0(u8, u8); -void debug_sub_808CC10(u8); -bool8 debug_sub_808CCC4(void); -bool8 debug_sub_808CE10(void); -void debug_sub_808CE5C(u8, u8); -void debug_sub_808CEAC(u8); -bool8 debug_sub_808CF60(void); -bool8 debug_sub_808D2BC(void); -void debug_sub_808D308(u8, u8); -void debug_sub_808D358(u8); -bool8 debug_sub_808D40C(void); -bool8 debug_sub_808D500(void); -void debug_sub_808D54C(u8, u8); -void debug_sub_808D59C(u8); -bool8 debug_sub_808D650(void); -bool8 debug_sub_808D744(void); -void debug_sub_808D790(u8, u8); -void debug_sub_808D7E0(u8); -bool8 debug_sub_808D894(void); -bool8 debug_sub_808D930(void); -void debug_sub_808D97C(u8, u8); -void debug_sub_808D9CC(u8); -bool8 debug_sub_808DA80(void); -void debug_sub_808DAD4(void); -void debug_sub_808DABC(void); -void debug_sub_808F31C(u8, u8, u16); -bool8 debug_sub_808DB5C(void); -bool8 debug_sub_808DEB8(void); -void debug_sub_808DF64(u8, u8); -void debug_sub_808DF04(u8); -bool8 debug_sub_808E010(void); -bool8 debug_sub_808E264(void); -void debug_sub_808E310(u8, u8); -void debug_sub_808E2B0(u8); -bool8 debug_sub_808E3BC(void); -bool8 debug_sub_808E5B8(void); -void debug_sub_808E604(u8, u8); -void debug_sub_808E660(u8); -bool8 debug_sub_808E710(void); -bool8 debug_sub_808E804(void); -void debug_sub_808E850(u8, u8); -void debug_sub_808E8AC(u8); -bool8 debug_sub_808E95C(void); -bool8 debug_sub_808EA50(void); -void debug_sub_808EA9C(u8); -void debug_sub_808EAFC(u8, u8); -bool8 debug_sub_808EC10(void); -bool8 debug_sub_808EC5C(void); -bool8 debug_sub_808ECD0(void); +static u16 gDebug_03000700; +static u32 gDebug_03000704; +static u32 gDebug_03000708; +static u8 gDebug_0300070C; +static u8 gDebug_0300070D; +static u8 gDebug_0300070E; +static u8 gDebug_0300070F; +static u8 gDebug_03000710[13]; +static u8 gDebug_0300071D; +static u8 gDebug_0300071E; +static u8 gDebug_0300071F; +static u8 gDebug_03000720; +static u8 gDebug_03000721; + +static bool8 TomomichiDebugMenu_ArtMusGraphics(void); +static bool8 TomomichiDebugMenu_Config(void); +static bool8 TomomichiDebugMenu_ContestGraphics(void); +static bool8 TomomichiDebugMenu_ContestGraphics_Show(void); +static bool8 TomomichiDebugMenu_ControlEvents(void); +static bool8 TomomichiDebugMenu_ControlFlags(void); +static bool8 TomomichiDebugMenu_ControlWorks(void); +static bool8 TomomichiDebugMenu_MuseumGraphics_Show(void); +static bool8 TomomichiDebugMenu_PreviewData(void); +static bool8 TomomichiDebugMenu_TrickHouse(void); +static bool8 debug_sub_808B874(void); +static bool8 debug_sub_808B8C8(void); +static bool8 debug_sub_808BC48(void); +static bool8 debug_sub_808BCBC(void); +static bool8 debug_sub_808BD30(void); +static bool8 debug_sub_808BDA4(void); +static bool8 debug_sub_808BE2C(void); +static bool8 debug_sub_808BEB4(void); +static bool8 debug_sub_808BF3C(void); +static bool8 debug_sub_808BFC4(void); +static bool8 debug_sub_808C014(void); +static bool8 debug_sub_808C064(void); +static bool8 debug_sub_808C0A8(void); +static bool8 debug_sub_808C0EC(void); +static bool8 debug_sub_808C104(void); +static bool8 debug_sub_808C11C(void); +static bool8 debug_sub_808C134(void); +static bool8 debug_sub_808C14C(void); +static bool8 debug_sub_808C164(void); +static bool8 debug_sub_808C17C(void); +static bool8 debug_sub_808C194(void); +static bool8 debug_sub_808C1AC(void); +static bool8 debug_sub_808C1C4(void); +static bool8 debug_sub_808C1DC(void); +static bool8 debug_sub_808C1F4(void); +static bool8 debug_sub_808C20C(void); +static bool8 debug_sub_808C224(void); +static bool8 debug_sub_808C23C(void); +static bool8 debug_sub_808C280(void); +static bool8 debug_sub_808C2E4(void); +static bool8 debug_sub_808C31C(void); +static bool8 debug_sub_808C36C(void); +static bool8 debug_sub_808C3B0(void); +static bool8 debug_sub_808C408(void); +static bool8 debug_sub_808C460(void); +static bool8 debug_sub_808C4B8(void); +static bool8 debug_sub_808C510(void); +static bool8 debug_sub_808C568(void); +static bool8 debug_sub_808C5C0(void); +static bool8 debug_sub_808C618(void); +static bool8 debug_sub_808C670(void); +static bool8 debug_sub_808C6C8(void); +static void debug_sub_808C714(u8, u8); +static void debug_sub_808C764(u8); +static bool8 debug_sub_808C7C8(void); +static bool8 debug_sub_808C818(void); +static bool8 debug_sub_808C85C(void); +static bool8 debug_sub_808C8B4(void); +static bool8 debug_sub_808C90C(void); +static bool8 debug_sub_808C964(void); +static bool8 debug_sub_808C9BC(void); +static bool8 debug_sub_808CA14(void); +static bool8 debug_sub_808CA6C(void); +static bool8 debug_sub_808CAC4(void); +static bool8 debug_sub_808CB1C(void); +static bool8 debug_sub_808CB74(void); +static void debug_sub_808CBC0(u8, u8); +static void debug_sub_808CC10(u8); +static bool8 debug_sub_808CC74(void); +static bool8 debug_sub_808CCC4(void); +static bool8 debug_sub_808CD08(void); +static bool8 debug_sub_808CD60(void); +static bool8 debug_sub_808CDB8(void); +static bool8 debug_sub_808CE10(void); +static void debug_sub_808CE5C(u8, u8); +static void debug_sub_808CEAC(u8); +static bool8 debug_sub_808CF10(void); +static bool8 debug_sub_808CF60(void); +static bool8 debug_sub_808CFA4(void); +static bool8 debug_sub_808CFFC(void); +static bool8 debug_sub_808D054(void); +static bool8 debug_sub_808D0AC(void); +static bool8 debug_sub_808D104(void); +static bool8 debug_sub_808D15C(void); +static bool8 debug_sub_808D1B4(void); +static bool8 debug_sub_808D20C(void); +static bool8 debug_sub_808D264(void); +static bool8 debug_sub_808D2BC(void); +static void debug_sub_808D308(u8, u8); +static void debug_sub_808D358(u8); +static bool8 debug_sub_808D3BC(void); +static bool8 debug_sub_808D40C(void); +static bool8 debug_sub_808D450(void); +static bool8 debug_sub_808D4A8(void); +static bool8 debug_sub_808D500(void); +static void debug_sub_808D54C(u8, u8); +static void debug_sub_808D59C(u8); +static bool8 debug_sub_808D600(void); +static bool8 debug_sub_808D650(void); +static bool8 debug_sub_808D694(void); +static bool8 debug_sub_808D6EC(void); +static bool8 debug_sub_808D744(void); +static void debug_sub_808D790(u8, u8); +static void debug_sub_808D7E0(u8); +static bool8 debug_sub_808D844(void); +static bool8 debug_sub_808D894(void); +static bool8 debug_sub_808D8D8(void); +static bool8 debug_sub_808D930(void); +static void debug_sub_808D97C(u8, u8); +static void debug_sub_808D9CC(u8); +static bool8 debug_sub_808DA30(void); +static bool8 debug_sub_808DA80(void); +static void debug_sub_808DABC(void); +static void debug_sub_808DAD4(void); +static bool8 debug_sub_808DB0C(void); +static bool8 debug_sub_808DB5C(void); +static bool8 debug_sub_808DBA0(void); +static bool8 debug_sub_808DBF8(void); +static bool8 debug_sub_808DC50(void); +static bool8 debug_sub_808DCA8(void); +static bool8 debug_sub_808DD00(void); +static bool8 debug_sub_808DD58(void); +static bool8 debug_sub_808DDB0(void); +static bool8 debug_sub_808DE08(void); +static bool8 debug_sub_808DE60(void); +static bool8 debug_sub_808DEB8(void); +static void debug_sub_808DF04(u8); +static void debug_sub_808DF64(u8, u8); +static bool8 debug_sub_808DFC0(void); +static bool8 debug_sub_808E010(void); +static bool8 debug_sub_808E054(void); +static bool8 debug_sub_808E0AC(void); +static bool8 debug_sub_808E104(void); +static bool8 debug_sub_808E15C(void); +static bool8 debug_sub_808E1B4(void); +static bool8 debug_sub_808E20C(void); +static bool8 debug_sub_808E264(void); +static void debug_sub_808E2B0(u8); +static void debug_sub_808E310(u8, u8); +static bool8 debug_sub_808E36C(void); +static bool8 debug_sub_808E3BC(void); +static bool8 debug_sub_808E400(void); +static bool8 debug_sub_808E458(void); +static bool8 debug_sub_808E4B0(void); +static bool8 debug_sub_808E508(void); +static bool8 debug_sub_808E560(void); +static bool8 debug_sub_808E5B8(void); +static void debug_sub_808E604(u8, u8); +static void debug_sub_808E660(u8); +static bool8 debug_sub_808E6C0(void); +static bool8 debug_sub_808E710(void); +static bool8 debug_sub_808E754(void); +static bool8 debug_sub_808E7AC(void); +static bool8 debug_sub_808E804(void); +static void debug_sub_808E850(u8, u8); +static void debug_sub_808E8AC(u8); +static bool8 debug_sub_808E90C(void); +static bool8 debug_sub_808E95C(void); +static bool8 debug_sub_808E9A0(void); +static bool8 debug_sub_808E9F8(void); +static bool8 debug_sub_808EA50(void); +static void debug_sub_808EA9C(u8); +static void debug_sub_808EAFC(u8, u8); +static bool8 debug_sub_808EB58(void); +static bool8 debug_sub_808EBB4(void); +static bool8 debug_sub_808EC10(void); +static bool8 debug_sub_808EC5C(void); +static bool8 debug_sub_808ECA4(void); +static bool8 debug_sub_808ECD0(void); +static void debug_sub_808ED0C(void); +static void debug_sub_808ED9C(void); +static void debug_sub_808EE3C(void); +static void debug_sub_808EE9C(void); +static void debug_sub_808EF14(void); +static void debug_sub_808EF8C(u8 a0); +static void debug_sub_808F168(u8 a0); +static void debug_sub_808F2E0(u8, u8, bool8); +static void debug_sub_808F31C(u8, u8, u16); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -225,15 +225,15 @@ extern const u8 DebugScript_081C23FD[]; extern const u8 DebugScript_081C2518[]; extern const u8 DebugScript_081C2507[]; -const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); -const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); -const u8 gUnknown_Debug_083C0C77[] = _("Preview data"); -const u8 gUnknown_Debug_083C0C84[] = _("TRICK HOUSE"); -const u8 gUnknown_Debug_083C0C90[] = _("Control events"); -const u8 gUnknown_Debug_083C0C9F[] = _("Control flags"); -const u8 gUnknown_Debug_083C0CAD[] = _("Control WORK"); +static const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); +static const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); +static const u8 gUnknown_Debug_083C0C77[] = _("Preview data"); +static const u8 gUnknown_Debug_083C0C84[] = _("TRICK HOUSE"); +static const u8 gUnknown_Debug_083C0C90[] = _("Control events"); +static const u8 gUnknown_Debug_083C0C9F[] = _("Control flags"); +static const u8 gUnknown_Debug_083C0CAD[] = _("Control WORK"); -const struct MenuAction gUnknown_Debug_083C0CBA[] = { +static const struct MenuAction gUnknown_Debug_083C0CBA[] = { {gUnknown_Debug_083C0C54, TomomichiDebugMenu_ContestGraphics}, {gUnknown_Debug_083C0C65, TomomichiDebugMenu_ArtMusGraphics}, {gUnknown_Debug_083C0C77, TomomichiDebugMenu_PreviewData}, @@ -243,74 +243,74 @@ const struct MenuAction gUnknown_Debug_083C0CBA[] = { {gUnknown_Debug_083C0CAD, TomomichiDebugMenu_ControlWorks}, }; -const u8 gUnknown_Debug_083C0CF4[] = _("Contest"); +static const u8 gUnknown_Debug_083C0CF4[] = _("Contest"); -const u8 gUnknown_Debug_083C0CFC[] = _("Pokémon No."); -const u8 gUnknown_Debug_083C0D08[] = _("ID rnd. digit"); -const u8 gUnknown_Debug_083C0D16[] = _("Contest Type"); -const u8 gUnknown_Debug_083C0D23[] = _("Poké Art"); +static const u8 gUnknown_Debug_083C0CFC[] = _("Pokémon No."); +static const u8 gUnknown_Debug_083C0D08[] = _("ID rnd. digit"); +static const u8 gUnknown_Debug_083C0D16[] = _("Contest Type"); +static const u8 gUnknown_Debug_083C0D23[] = _("Poké Art"); -const struct MenuAction gUnknown_Debug_083C0D2C[] = { +static const struct MenuAction gUnknown_Debug_083C0D2C[] = { {gUnknown_Debug_083C0CFC, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0D08, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0D16, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0D23, TomomichiDebugMenu_ContestGraphics_Show} }; -const u8 gUnknown_Debug_083C0D4C[] = _("Art Mus."); -const u8 gUnknown_Debug_083C0D55[] = _("Pokémon No."); -const u8 gUnknown_Debug_083C0D61[] = _("ID rnd. digit"); -const u8 gUnknown_Debug_083C0D6F[] = _("Title Type"); -const u8 gUnknown_Debug_083C0D7A[] = _("Poké Art"); +static const u8 gUnknown_Debug_083C0D4C[] = _("Art Mus."); +static const u8 gUnknown_Debug_083C0D55[] = _("Pokémon No."); +static const u8 gUnknown_Debug_083C0D61[] = _("ID rnd. digit"); +static const u8 gUnknown_Debug_083C0D6F[] = _("Title Type"); +static const u8 gUnknown_Debug_083C0D7A[] = _("Poké Art"); -const struct MenuAction gUnknown_Debug_083C0D83[] = { +static const struct MenuAction gUnknown_Debug_083C0D83[] = { {gUnknown_Debug_083C0D55, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0D61, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0D6F, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0D7A, TomomichiDebugMenu_MuseumGraphics_Show} }; -const u8 gUnknown_Debug_083C0DA4[] = _("Preview"); +static const u8 gUnknown_Debug_083C0DA4[] = _("Preview"); -const u8 gUnknown_Debug_083C0DAC[] = _("Pokémon No."); -const u8 gUnknown_Debug_083C0DB8[] = _("ID rnd. digit"); -const u8 gUnknown_Debug_083C0DC6[] = _("Type"); -const u8 gUnknown_Debug_083C0DCB[] = _("Poké Art"); +static const u8 gUnknown_Debug_083C0DAC[] = _("Pokémon No."); +static const u8 gUnknown_Debug_083C0DB8[] = _("ID rnd. digit"); +static const u8 gUnknown_Debug_083C0DC6[] = _("Type"); +static const u8 gUnknown_Debug_083C0DCB[] = _("Poké Art"); -const struct MenuAction gUnknown_Debug_083C0DD4[] = { +static const struct MenuAction gUnknown_Debug_083C0DD4[] = { {gUnknown_Debug_083C0DAC, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0DB8, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0DC6, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C0DCB, debug_sub_808ECA4} }; -const u8 gUnknown_Debug_083C0DF4[] = _("Trick related"); +static const u8 gUnknown_Debug_083C0DF4[] = _("Trick related"); -const u8 gUnknown_Debug_083C0E02[] = _("Level"); -const u8 gUnknown_Debug_083C0E08[] = _("Trick Master"); +static const u8 gUnknown_Debug_083C0E02[] = _("Level"); +static const u8 gUnknown_Debug_083C0E08[] = _("Trick Master"); -const struct MenuAction gUnknown_Debug_083C0E15[] = { +static const struct MenuAction gUnknown_Debug_083C0E15[] = { {gUnknown_Debug_083C0E02, debug_sub_808EB58}, {gUnknown_Debug_083C0E08, debug_sub_808EBB4} }; -const u8 gUnknown_Debug_083C0E28[] = _("パート1"); -const u8 gUnknown_Debug_083C0E2D[] = _("パート2"); +static const u8 gUnknown_Debug_083C0E28[] = _("パート1"); +static const u8 gUnknown_Debug_083C0E2D[] = _("パート2"); -const struct MenuAction gUnknown_Debug_083C0E32[] = { +static const struct MenuAction gUnknown_Debug_083C0E32[] = { {gUnknown_Debug_083C0E28, debug_sub_808BFC4}, {gUnknown_Debug_083C0E2D, debug_sub_808C014} }; -const u8 gUnknown_Debug_083C0E44[] = _("イベントFLAG"); -const u8 gUnknown_Debug_083C0E4D[] = _("バニシュFLAG"); -const u8 gUnknown_Debug_083C0E56[] = _("トレーナーFLAG"); -const u8 gUnknown_Debug_083C0E60[] = _("SYSFLAG"); -const u8 gUnknown_Debug_083C0E68[] = _("BALLバニシュFLAG"); -const u8 gUnknown_Debug_083C0E75[] = _("FH"); -const u8 gUnknown_Debug_083C0E78[] = _("FH-OBJ"); +static const u8 gUnknown_Debug_083C0E44[] = _("イベントFLAG"); +static const u8 gUnknown_Debug_083C0E4D[] = _("バニシュFLAG"); +static const u8 gUnknown_Debug_083C0E56[] = _("トレーナーFLAG"); +static const u8 gUnknown_Debug_083C0E60[] = _("SYSFLAG"); +static const u8 gUnknown_Debug_083C0E68[] = _("BALLバニシュFLAG"); +static const u8 gUnknown_Debug_083C0E75[] = _("FH"); +static const u8 gUnknown_Debug_083C0E78[] = _("FH-OBJ"); -const struct MenuAction gUnknown_Debug_083C0E7F[] = { +static const struct MenuAction gUnknown_Debug_083C0E7F[] = { {gUnknown_Debug_083C0E44, debug_sub_808C31C}, {gUnknown_Debug_083C0E4D, debug_sub_808C7C8}, {gUnknown_Debug_083C0E56, debug_sub_808CC74}, @@ -320,15 +320,15 @@ const struct MenuAction gUnknown_Debug_083C0E7F[] = { {gUnknown_Debug_083C0E78, debug_sub_808D3BC} }; -const u8 gUnknown_Debug_083C0EB8[] = _("SAVEWORK"); +static const u8 gUnknown_Debug_083C0EB8[] = _("SAVEWORK"); -const u8 gUnknown_Debug_083C0EC1[] = _("SYSWORK"); -const u8 gUnknown_Debug_083C0EC9[] = _("LOCALWORK"); -const u8 gUnknown_Debug_083C0ED3[] = _("OBJWORK"); -const u8 gUnknown_Debug_083C0EDB[] = _("ANSWORK"); -const u8 gUnknown_Debug_083C0EE3[] = _("SAVEWORK パート2"); +static const u8 gUnknown_Debug_083C0EC1[] = _("SYSWORK"); +static const u8 gUnknown_Debug_083C0EC9[] = _("LOCALWORK"); +static const u8 gUnknown_Debug_083C0ED3[] = _("OBJWORK"); +static const u8 gUnknown_Debug_083C0EDB[] = _("ANSWORK"); +static const u8 gUnknown_Debug_083C0EE3[] = _("SAVEWORK パート2"); -const struct MenuAction gUnknown_Debug_083C0EF1[] = { +static const struct MenuAction gUnknown_Debug_083C0EF1[] = { {gUnknown_Debug_083C0EB8, debug_sub_808DB0C}, {gUnknown_Debug_083C0EC1, debug_sub_808E36C}, {gUnknown_Debug_083C0EC9, debug_sub_808E6C0}, @@ -337,17 +337,17 @@ const struct MenuAction gUnknown_Debug_083C0EF1[] = { {gUnknown_Debug_083C0EE3, debug_sub_808DFC0} }; -const u8 gUnknown_Debug_083C0F24[] = _("クリアご"); -const u8 gUnknown_Debug_083C0F29[] = _("コインこうにゅうかのう"); -const u8 gUnknown_Debug_083C0F35[] = _("コトキサポーターセット"); -const u8 gUnknown_Debug_083C0F41[] = _("ニューキンセツOPEN"); -const u8 gUnknown_Debug_083C0F4D[] = _("れんらくせんにのれる"); -const u8 gUnknown_Debug_083C0F58[] = _("タマゴついか"); -const u8 gUnknown_Debug_083C0F5F[] = _("アイテムいっぱい"); -const u8 gUnknown_Debug_083C0F68[] = _("グッズいっぱい"); -const u8 gUnknown_Debug_083C0F70[] = _("COINいっぱい"); - -const struct MenuAction gUnknown_Debug_083C0F79[] = { +static const u8 gUnknown_Debug_083C0F24[] = _("クリアご"); +static const u8 gUnknown_Debug_083C0F29[] = _("コインこうにゅうかのう"); +static const u8 gUnknown_Debug_083C0F35[] = _("コトキサポーターセット"); +static const u8 gUnknown_Debug_083C0F41[] = _("ニューキンセツOPEN"); +static const u8 gUnknown_Debug_083C0F4D[] = _("れんらくせんにのれる"); +static const u8 gUnknown_Debug_083C0F58[] = _("タマゴついか"); +static const u8 gUnknown_Debug_083C0F5F[] = _("アイテムいっぱい"); +static const u8 gUnknown_Debug_083C0F68[] = _("グッズいっぱい"); +static const u8 gUnknown_Debug_083C0F70[] = _("COINいっぱい"); + +static const struct MenuAction gUnknown_Debug_083C0F79[] = { {gUnknown_Debug_083C0F24, debug_sub_808C0EC}, {gUnknown_Debug_083C0F29, debug_sub_808C104}, {gUnknown_Debug_083C0F35, debug_sub_808C11C}, @@ -359,14 +359,14 @@ const struct MenuAction gUnknown_Debug_083C0F79[] = { {gUnknown_Debug_083C0F70, debug_sub_808C1AC} }; -const u8 gUnknown_Debug_083C0FC4[] = _("ムロジムOPEN"); -const u8 gUnknown_Debug_083C0FCD[] = _("おかねを0へ"); -const u8 gUnknown_Debug_083C0FD4[] = _("ドジョッチ FULL"); -const u8 gUnknown_Debug_083C0FDF[] = _("キノココ FULL"); -const u8 gUnknown_Debug_083C0FE9[] = _("ドジョッチ タマゴ"); -const u8 gUnknown_Debug_083C0FF3[] = _("キノココ タマゴ"); +static const u8 gUnknown_Debug_083C0FC4[] = _("ムロジムOPEN"); +static const u8 gUnknown_Debug_083C0FCD[] = _("おかねを0へ"); +static const u8 gUnknown_Debug_083C0FD4[] = _("ドジョッチ FULL"); +static const u8 gUnknown_Debug_083C0FDF[] = _("キノココ FULL"); +static const u8 gUnknown_Debug_083C0FE9[] = _("ドジョッチ タマゴ"); +static const u8 gUnknown_Debug_083C0FF3[] = _("キノココ タマゴ"); -const struct MenuAction gUnknown_Debug_083C0FFC[] = { +static const struct MenuAction gUnknown_Debug_083C0FFC[] = { {gUnknown_Debug_083C0FC4, debug_sub_808C1C4}, {gUnknown_Debug_083C0FCD, debug_sub_808C1DC}, {gUnknown_Debug_083C0FD4, debug_sub_808C1F4}, @@ -375,31 +375,31 @@ const struct MenuAction gUnknown_Debug_083C0FFC[] = { {gUnknown_Debug_083C0FF3, debug_sub_808C23C} }; -const u8 gUnknown_Debug_083C102C[] = _("ANSWORK みかんせい"); +static const u8 gUnknown_Debug_083C102C[] = _("ANSWORK みかんせい"); -const struct MenuAction gUnknown_Debug_083C103A[] = { +static const struct MenuAction gUnknown_Debug_083C103A[] = { {gUnknown_Debug_083C102C, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1044[] = _("FHーOBJ00ー08"); -const u8 gUnknown_Debug_083C1050[] = _("FHーOBJ09ー15"); +static const u8 gUnknown_Debug_083C1044[] = _("FHーOBJ00ー08"); +static const u8 gUnknown_Debug_083C1050[] = _("FHーOBJ09ー15"); -const struct MenuAction gUnknown_Debug_083C105C[] = { +static const struct MenuAction gUnknown_Debug_083C105C[] = { {gUnknown_Debug_083C1044, debug_sub_808D450}, {gUnknown_Debug_083C1050, debug_sub_808D4A8} }; -const u8 gUnknown_Debug_083C106C[] = _("FHーOBJ00"); -const u8 gUnknown_Debug_083C1075[] = _("FHーOBJ01"); -const u8 gUnknown_Debug_083C107E[] = _("FHーOBJ02"); -const u8 gUnknown_Debug_083C1087[] = _("FHーOBJ03"); -const u8 gUnknown_Debug_083C1090[] = _("FHーOBJ04"); -const u8 gUnknown_Debug_083C1099[] = _("FHーOBJ05"); -const u8 gUnknown_Debug_083C10A2[] = _("FHーOBJ06"); -const u8 gUnknown_Debug_083C10AB[] = _("FHーOBJ07"); -const u8 gUnknown_Debug_083C10B4[] = _("FHーOBJ08"); - -const struct MenuAction gUnknown_Debug_083C10BD[] = { +static const u8 gUnknown_Debug_083C106C[] = _("FHーOBJ00"); +static const u8 gUnknown_Debug_083C1075[] = _("FHーOBJ01"); +static const u8 gUnknown_Debug_083C107E[] = _("FHーOBJ02"); +static const u8 gUnknown_Debug_083C1087[] = _("FHーOBJ03"); +static const u8 gUnknown_Debug_083C1090[] = _("FHーOBJ04"); +static const u8 gUnknown_Debug_083C1099[] = _("FHーOBJ05"); +static const u8 gUnknown_Debug_083C10A2[] = _("FHーOBJ06"); +static const u8 gUnknown_Debug_083C10AB[] = _("FHーOBJ07"); +static const u8 gUnknown_Debug_083C10B4[] = _("FHーOBJ08"); + +static const struct MenuAction gUnknown_Debug_083C10BD[] = { {gUnknown_Debug_083C106C, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1075, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C107E, TomomichiDebugMenu_Config}, @@ -411,17 +411,17 @@ const struct MenuAction gUnknown_Debug_083C10BD[] = { {gUnknown_Debug_083C10B4, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1108[] = _("FH-OBJ09"); -const u8 gUnknown_Debug_083C1111[] = _("FH-OBJ10"); -const u8 gUnknown_Debug_083C111A[] = _("FH-OBJ11"); -const u8 gUnknown_Debug_083C1123[] = _("FH-OBJ12"); -const u8 gUnknown_Debug_083C112C[] = _("FH-OBJ13"); -const u8 gUnknown_Debug_083C1135[] = _("FH-OBJ14"); -const u8 gUnknown_Debug_083C113E[] = _("FH-OBJ15"); -const u8 gUnknown_Debug_083C1147[] = _(""); -const u8 gUnknown_Debug_083C1148[] = _(""); - -const struct MenuAction gUnknown_Debug_083C1149[] = { +static const u8 gUnknown_Debug_083C1108[] = _("FH-OBJ09"); +static const u8 gUnknown_Debug_083C1111[] = _("FH-OBJ10"); +static const u8 gUnknown_Debug_083C111A[] = _("FH-OBJ11"); +static const u8 gUnknown_Debug_083C1123[] = _("FH-OBJ12"); +static const u8 gUnknown_Debug_083C112C[] = _("FH-OBJ13"); +static const u8 gUnknown_Debug_083C1135[] = _("FH-OBJ14"); +static const u8 gUnknown_Debug_083C113E[] = _("FH-OBJ15"); +static const u8 gUnknown_Debug_083C1147[] = _(""); +static const u8 gUnknown_Debug_083C1148[] = _(""); + +static const struct MenuAction gUnknown_Debug_083C1149[] = { {gUnknown_Debug_083C1108, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1111, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C111A, TomomichiDebugMenu_Config}, @@ -433,32 +433,32 @@ const struct MenuAction gUnknown_Debug_083C1149[] = { {gUnknown_Debug_083C1148, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1194[] = {9, 7}; +static const u8 gUnknown_Debug_083C1194[] = {9, 7}; -const u16 gUnknown_Debug_083C1196[][9] = { +static const u16 gUnknown_Debug_083C1196[][9] = { {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19}, {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20} }; -const u8 gUnknown_Debug_083C11BA[] = _("FH-00-08"); -const u8 gUnknown_Debug_083C11C3[] = _("FH-09-15"); +static const u8 gUnknown_Debug_083C11BA[] = _("FH-00-08"); +static const u8 gUnknown_Debug_083C11C3[] = _("FH-09-15"); -const struct MenuAction gUnknown_Debug_083C11CC[] = { +static const struct MenuAction gUnknown_Debug_083C11CC[] = { {gUnknown_Debug_083C11BA, debug_sub_808D694}, {gUnknown_Debug_083C11C3, debug_sub_808D6EC} }; -const u8 gUnknown_Debug_083C11DC[] = _("FH-00"); -const u8 gUnknown_Debug_083C11E2[] = _("FH-01"); -const u8 gUnknown_Debug_083C11E8[] = _("FH-02"); -const u8 gUnknown_Debug_083C11EE[] = _("FH-03"); -const u8 gUnknown_Debug_083C11F4[] = _("FH-04"); -const u8 gUnknown_Debug_083C11FA[] = _("FH-05"); -const u8 gUnknown_Debug_083C1200[] = _("FH-06"); -const u8 gUnknown_Debug_083C1206[] = _("FH-07"); -const u8 gUnknown_Debug_083C120C[] = _("FH-08"); - -const struct MenuAction gUnknown_Debug_083C1212[] = { +static const u8 gUnknown_Debug_083C11DC[] = _("FH-00"); +static const u8 gUnknown_Debug_083C11E2[] = _("FH-01"); +static const u8 gUnknown_Debug_083C11E8[] = _("FH-02"); +static const u8 gUnknown_Debug_083C11EE[] = _("FH-03"); +static const u8 gUnknown_Debug_083C11F4[] = _("FH-04"); +static const u8 gUnknown_Debug_083C11FA[] = _("FH-05"); +static const u8 gUnknown_Debug_083C1200[] = _("FH-06"); +static const u8 gUnknown_Debug_083C1206[] = _("FH-07"); +static const u8 gUnknown_Debug_083C120C[] = _("FH-08"); + +static const struct MenuAction gUnknown_Debug_083C1212[] = { {gUnknown_Debug_083C11DC, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C11E2, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C11E8, TomomichiDebugMenu_Config}, @@ -470,17 +470,17 @@ const struct MenuAction gUnknown_Debug_083C1212[] = { {gUnknown_Debug_083C120C, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C125C[] = _("FHー09"); -const u8 gUnknown_Debug_083C1262[] = _("FHー10"); -const u8 gUnknown_Debug_083C1268[] = _("FHー11"); -const u8 gUnknown_Debug_083C126E[] = _("FHー12"); -const u8 gUnknown_Debug_083C1274[] = _("FHー13"); -const u8 gUnknown_Debug_083C127A[] = _("FHー14"); -const u8 gUnknown_Debug_083C1280[] = _("FHー15"); -const u8 gUnknown_Debug_083C1286[] = _(""); -const u8 gUnknown_Debug_083C1287[] = _(""); - -const struct MenuAction gUnknown_Debug_083C1288[] = { +static const u8 gUnknown_Debug_083C125C[] = _("FHー09"); +static const u8 gUnknown_Debug_083C1262[] = _("FHー10"); +static const u8 gUnknown_Debug_083C1268[] = _("FHー11"); +static const u8 gUnknown_Debug_083C126E[] = _("FHー12"); +static const u8 gUnknown_Debug_083C1274[] = _("FHー13"); +static const u8 gUnknown_Debug_083C127A[] = _("FHー14"); +static const u8 gUnknown_Debug_083C1280[] = _("FHー15"); +static const u8 gUnknown_Debug_083C1286[] = _(""); +static const u8 gUnknown_Debug_083C1287[] = _(""); + +static const struct MenuAction gUnknown_Debug_083C1288[] = { {gUnknown_Debug_083C125C, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1262, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1268, TomomichiDebugMenu_Config}, @@ -492,24 +492,24 @@ const struct MenuAction gUnknown_Debug_083C1288[] = { {gUnknown_Debug_083C1287, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C12D0[] = {9, 7}; +static const u8 gUnknown_Debug_083C12D0[] = {9, 7}; -const u16 gUnknown_Debug_083C12D2[][9] = { +static const u16 gUnknown_Debug_083C12D2[][9] = { {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09}, {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10} }; -const u8 gUnknown_Debug_083C12F6[] = _("BATCH"); -const u8 gUnknown_Debug_083C12FC[] = _("タウンとうちゃく"); -const u8 gUnknown_Debug_083C1305[] = _("シティとうちゃく"); -const u8 gUnknown_Debug_083C130E[] = _("GET"); -const u8 gUnknown_Debug_083C1312[] = _("そのた1"); -const u8 gUnknown_Debug_083C1317[] = _("そのた2"); -const u8 gUnknown_Debug_083C131C[] = _("そのた3"); -const u8 gUnknown_Debug_083C1321[] = _("そのた4"); -const u8 gUnknown_Debug_083C1326[] = _("そのた とうちゃく"); - -const struct MenuAction gUnknown_Debug_083C1330[] = { +static const u8 gUnknown_Debug_083C12F6[] = _("BATCH"); +static const u8 gUnknown_Debug_083C12FC[] = _("タウンとうちゃく"); +static const u8 gUnknown_Debug_083C1305[] = _("シティとうちゃく"); +static const u8 gUnknown_Debug_083C130E[] = _("GET"); +static const u8 gUnknown_Debug_083C1312[] = _("そのた1"); +static const u8 gUnknown_Debug_083C1317[] = _("そのた2"); +static const u8 gUnknown_Debug_083C131C[] = _("そのた3"); +static const u8 gUnknown_Debug_083C1321[] = _("そのた4"); +static const u8 gUnknown_Debug_083C1326[] = _("そのた とうちゃく"); + +static const struct MenuAction gUnknown_Debug_083C1330[] = { {gUnknown_Debug_083C12F6, debug_sub_808CFA4}, {gUnknown_Debug_083C12FC, debug_sub_808CFFC}, {gUnknown_Debug_083C1305, debug_sub_808D054}, @@ -521,16 +521,16 @@ const struct MenuAction gUnknown_Debug_083C1330[] = { {gUnknown_Debug_083C1326, debug_sub_808D264} }; -const u8 gUnknown_Debug_083C1378[] = _("BATCH01ーGET"); -const u8 gUnknown_Debug_083C1384[] = _("BATCH02ーGET"); -const u8 gUnknown_Debug_083C1390[] = _("BATCH03ーGET"); -const u8 gUnknown_Debug_083C139C[] = _("BATCH04ーGET"); -const u8 gUnknown_Debug_083C13A8[] = _("BATCH05ーGET"); -const u8 gUnknown_Debug_083C13B4[] = _("BATCH06ーGET"); -const u8 gUnknown_Debug_083C13C0[] = _("BATCH07ーGET"); -const u8 gUnknown_Debug_083C13CC[] = _("BATCH08ーGET"); +static const u8 gUnknown_Debug_083C1378[] = _("BATCH01ーGET"); +static const u8 gUnknown_Debug_083C1384[] = _("BATCH02ーGET"); +static const u8 gUnknown_Debug_083C1390[] = _("BATCH03ーGET"); +static const u8 gUnknown_Debug_083C139C[] = _("BATCH04ーGET"); +static const u8 gUnknown_Debug_083C13A8[] = _("BATCH05ーGET"); +static const u8 gUnknown_Debug_083C13B4[] = _("BATCH06ーGET"); +static const u8 gUnknown_Debug_083C13C0[] = _("BATCH07ーGET"); +static const u8 gUnknown_Debug_083C13CC[] = _("BATCH08ーGET"); -const struct MenuAction gUnknown_Debug_083C13D8[] = { +static const struct MenuAction gUnknown_Debug_083C13D8[] = { {gUnknown_Debug_083C1378, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1384, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1390, TomomichiDebugMenu_Config}, @@ -541,15 +541,15 @@ const struct MenuAction gUnknown_Debug_083C13D8[] = { {gUnknown_Debug_083C13CC, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1418[] = _("T101ARRIVE"); -const u8 gUnknown_Debug_083C1423[] = _("T102ARRIVE"); -const u8 gUnknown_Debug_083C142E[] = _("T103ARRIVE"); -const u8 gUnknown_Debug_083C1439[] = _("T104ARRIVE"); -const u8 gUnknown_Debug_083C1444[] = _("T105ARRIVE"); -const u8 gUnknown_Debug_083C144F[] = _("T106ARRIVE"); -const u8 gUnknown_Debug_083C145A[] = _("T107ARRIVE"); +static const u8 gUnknown_Debug_083C1418[] = _("T101ARRIVE"); +static const u8 gUnknown_Debug_083C1423[] = _("T102ARRIVE"); +static const u8 gUnknown_Debug_083C142E[] = _("T103ARRIVE"); +static const u8 gUnknown_Debug_083C1439[] = _("T104ARRIVE"); +static const u8 gUnknown_Debug_083C1444[] = _("T105ARRIVE"); +static const u8 gUnknown_Debug_083C144F[] = _("T106ARRIVE"); +static const u8 gUnknown_Debug_083C145A[] = _("T107ARRIVE"); -const struct MenuAction gUnknown_Debug_083C1465[] = { +static const struct MenuAction gUnknown_Debug_083C1465[] = { {gUnknown_Debug_083C1418, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1423, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C142E, TomomichiDebugMenu_Config}, @@ -559,17 +559,17 @@ const struct MenuAction gUnknown_Debug_083C1465[] = { {gUnknown_Debug_083C145A, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C14A0[] = _("C101ARRIVE"); -const u8 gUnknown_Debug_083C14AB[] = _("C102ARRIVE"); -const u8 gUnknown_Debug_083C14B6[] = _("C103ARRIVE"); -const u8 gUnknown_Debug_083C14C1[] = _("C104ARRIVE"); -const u8 gUnknown_Debug_083C14CC[] = _("C105ARRIVE"); -const u8 gUnknown_Debug_083C14D7[] = _("C106ARRIVE"); -const u8 gUnknown_Debug_083C14E2[] = _("C107ARRIVE"); -const u8 gUnknown_Debug_083C14ED[] = _("C108ARRIVE"); -const u8 gUnknown_Debug_083C14F8[] = _("C109ARRIVE"); - -const struct MenuAction gUnknown_Debug_083C1503[] = { +static const u8 gUnknown_Debug_083C14A0[] = _("C101ARRIVE"); +static const u8 gUnknown_Debug_083C14AB[] = _("C102ARRIVE"); +static const u8 gUnknown_Debug_083C14B6[] = _("C103ARRIVE"); +static const u8 gUnknown_Debug_083C14C1[] = _("C104ARRIVE"); +static const u8 gUnknown_Debug_083C14CC[] = _("C105ARRIVE"); +static const u8 gUnknown_Debug_083C14D7[] = _("C106ARRIVE"); +static const u8 gUnknown_Debug_083C14E2[] = _("C107ARRIVE"); +static const u8 gUnknown_Debug_083C14ED[] = _("C108ARRIVE"); +static const u8 gUnknown_Debug_083C14F8[] = _("C109ARRIVE"); + +static const struct MenuAction gUnknown_Debug_083C1503[] = { {gUnknown_Debug_083C14A0, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C14AB, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C14B6, TomomichiDebugMenu_Config}, @@ -581,29 +581,29 @@ const struct MenuAction gUnknown_Debug_083C1503[] = { {gUnknown_Debug_083C14F8, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C154C[] = _("SYSーPOKEMONーGET"); -const u8 gUnknown_Debug_083C155C[] = _("SYSーZUKANーGET"); -const u8 gUnknown_Debug_083C156A[] = _("SYSーPOKEGEARーGET"); -const u8 gUnknown_Debug_083C157B[] = _("SYSーRIBBONーGET"); +static const u8 gUnknown_Debug_083C154C[] = _("SYSーPOKEMONーGET"); +static const u8 gUnknown_Debug_083C155C[] = _("SYSーZUKANーGET"); +static const u8 gUnknown_Debug_083C156A[] = _("SYSーPOKEGEARーGET"); +static const u8 gUnknown_Debug_083C157B[] = _("SYSーRIBBONーGET"); -const struct MenuAction gUnknown_Debug_083C158A[] = { +static const struct MenuAction gUnknown_Debug_083C158A[] = { {gUnknown_Debug_083C154C, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C155C, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C156A, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C157B, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C15AC[] = _("SYSーGAMEーCLEAR"); -const u8 gUnknown_Debug_083C15BB[] = _("SYSーKAIWAーUSED"); -const u8 gUnknown_Debug_083C15CA[] = _("SYSーNOWーOYAJIーMEET"); -const u8 gUnknown_Debug_083C15DD[] = _("SYSーUSEーWAZAーFLASH"); -const u8 gUnknown_Debug_083C15F0[] = _("SYSーUSEーWAZAーKAIRIKI"); -const u8 gUnknown_Debug_083C1605[] = _("SYSーWEATHERーCTRL"); -const u8 gUnknown_Debug_083C1616[] = _("SYSーCYCLINGーROAD"); -const u8 gUnknown_Debug_083C1627[] = _("SYSーSAFARIーMODE"); -const u8 gUnknown_Debug_083C1637[] = _("SYSーCRUISEーMODE"); - -const struct MenuAction gUnknown_Debug_083C1647[] = { +static const u8 gUnknown_Debug_083C15AC[] = _("SYSーGAMEーCLEAR"); +static const u8 gUnknown_Debug_083C15BB[] = _("SYSーKAIWAーUSED"); +static const u8 gUnknown_Debug_083C15CA[] = _("SYSーNOWーOYAJIーMEET"); +static const u8 gUnknown_Debug_083C15DD[] = _("SYSーUSEーWAZAーFLASH"); +static const u8 gUnknown_Debug_083C15F0[] = _("SYSーUSEーWAZAーKAIRIKI"); +static const u8 gUnknown_Debug_083C1605[] = _("SYSーWEATHERーCTRL"); +static const u8 gUnknown_Debug_083C1616[] = _("SYSーCYCLINGーROAD"); +static const u8 gUnknown_Debug_083C1627[] = _("SYSーSAFARIーMODE"); +static const u8 gUnknown_Debug_083C1637[] = _("SYSーCRUISEーMODE"); + +static const struct MenuAction gUnknown_Debug_083C1647[] = { {gUnknown_Debug_083C15AC, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C15BB, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C15CA, TomomichiDebugMenu_Config}, @@ -615,17 +615,17 @@ const struct MenuAction gUnknown_Debug_083C1647[] = { {gUnknown_Debug_083C1637, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1690[] = _("SYSーTVーHOME"); -const u8 gUnknown_Debug_083C169C[] = _("SYSーTVーWATCH"); -const u8 gUnknown_Debug_083C16A9[] = _("SYSーTVSTART"); -const u8 gUnknown_Debug_083C16B5[] = _("SYSーPOPWORDーINPUT"); -const u8 gUnknown_Debug_083C16C7[] = _("SYSーMIXーRECORD"); -const u8 gUnknown_Debug_083C16D6[] = _("SYSーCLOCKーSET"); -const u8 gUnknown_Debug_083C16E4[] = _("SYSーCAVEーSHIP"); -const u8 gUnknown_Debug_083C16F2[] = _("SYSーCAVEーWONDER"); -const u8 gUnknown_Debug_083C1702[] = _("SYSーCAVEーBATTLE"); - -const struct MenuAction gUnknown_Debug_083C1712[] = { +static const u8 gUnknown_Debug_083C1690[] = _("SYSーTVーHOME"); +static const u8 gUnknown_Debug_083C169C[] = _("SYSーTVーWATCH"); +static const u8 gUnknown_Debug_083C16A9[] = _("SYSーTVSTART"); +static const u8 gUnknown_Debug_083C16B5[] = _("SYSーPOPWORDーINPUT"); +static const u8 gUnknown_Debug_083C16C7[] = _("SYSーMIXーRECORD"); +static const u8 gUnknown_Debug_083C16D6[] = _("SYSーCLOCKーSET"); +static const u8 gUnknown_Debug_083C16E4[] = _("SYSーCAVEーSHIP"); +static const u8 gUnknown_Debug_083C16F2[] = _("SYSーCAVEーWONDER"); +static const u8 gUnknown_Debug_083C1702[] = _("SYSーCAVEーBATTLE"); + +static const struct MenuAction gUnknown_Debug_083C1712[] = { {gUnknown_Debug_083C1690, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C169C, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C16A9, TomomichiDebugMenu_Config}, @@ -637,17 +637,17 @@ const struct MenuAction gUnknown_Debug_083C1712[] = { {gUnknown_Debug_083C1702, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C175C[] = _("SYSーSPECIALーZUKAN"); -const u8 gUnknown_Debug_083C176E[] = _("SYSーASASEーTIDE"); -const u8 gUnknown_Debug_083C177D[] = _("SYSーRIBBONーGET"); -const u8 gUnknown_Debug_083C178C[] = _("SYSーPASOーMAYUMI"); -const u8 gUnknown_Debug_083C179C[] = _("SYSーEXDATAーENABLE"); -const u8 gUnknown_Debug_083C17AE[] = _("SYSーTENJIーANAWOHORU"); -const u8 gUnknown_Debug_083C17C2[] = _("SYSーTENJIーKAIRIKI"); -const u8 gUnknown_Debug_083C17D4[] = _("SYSーTENJIーWAIT"); -const u8 gUnknown_Debug_083C17E3[] = _("SYSーTENJIーSORAWOTOBU"); - -const struct MenuAction gUnknown_Debug_083C17F8[] = { +static const u8 gUnknown_Debug_083C175C[] = _("SYSーSPECIALーZUKAN"); +static const u8 gUnknown_Debug_083C176E[] = _("SYSーASASEーTIDE"); +static const u8 gUnknown_Debug_083C177D[] = _("SYSーRIBBONーGET"); +static const u8 gUnknown_Debug_083C178C[] = _("SYSーPASOーMAYUMI"); +static const u8 gUnknown_Debug_083C179C[] = _("SYSーEXDATAーENABLE"); +static const u8 gUnknown_Debug_083C17AE[] = _("SYSーTENJIーANAWOHORU"); +static const u8 gUnknown_Debug_083C17C2[] = _("SYSーTENJIーKAIRIKI"); +static const u8 gUnknown_Debug_083C17D4[] = _("SYSーTENJIーWAIT"); +static const u8 gUnknown_Debug_083C17E3[] = _("SYSーTENJIーSORAWOTOBU"); + +static const struct MenuAction gUnknown_Debug_083C17F8[] = { {gUnknown_Debug_083C175C, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C176E, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C177D, TomomichiDebugMenu_Config}, @@ -659,17 +659,17 @@ const struct MenuAction gUnknown_Debug_083C17F8[] = { {gUnknown_Debug_083C17E3, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1840[] = _("SYSーENCーUPーITEM"); -const u8 gUnknown_Debug_083C1850[] = _("SYSーENEーDOWNーITEM"); -const u8 gUnknown_Debug_083C1862[] = _("SYSーKOKOROーEVENT"); -const u8 gUnknown_Debug_083C1873[] = _("SYSーMOVEーPOKEーNEWS"); -const u8 gUnknown_Debug_083C1886[] = _("SYSーASASEーITEM"); -const u8 gUnknown_Debug_083C1895[] = _("SYSーBーDASH"); -const u8 gUnknown_Debug_083C18A0[] = _("SYSーCTRLーOBJーDELETE"); -const u8 gUnknown_Debug_083C18B4[] = _(""); -const u8 gUnknown_Debug_083C18B5[] = _(""); - -const struct MenuAction gUnknown_Debug_083C18B8[] = { +static const u8 gUnknown_Debug_083C1840[] = _("SYSーENCーUPーITEM"); +static const u8 gUnknown_Debug_083C1850[] = _("SYSーENEーDOWNーITEM"); +static const u8 gUnknown_Debug_083C1862[] = _("SYSーKOKOROーEVENT"); +static const u8 gUnknown_Debug_083C1873[] = _("SYSーMOVEーPOKEーNEWS"); +static const u8 gUnknown_Debug_083C1886[] = _("SYSーASASEーITEM"); +static const u8 gUnknown_Debug_083C1895[] = _("SYSーBーDASH"); +static const u8 gUnknown_Debug_083C18A0[] = _("SYSーCTRLーOBJーDELETE"); +static const u8 gUnknown_Debug_083C18B4[] = _(""); +static const u8 gUnknown_Debug_083C18B5[] = _(""); + +static const struct MenuAction gUnknown_Debug_083C18B8[] = { {gUnknown_Debug_083C1840, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1850, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1862, TomomichiDebugMenu_Config}, @@ -681,17 +681,17 @@ const struct MenuAction gUnknown_Debug_083C18B8[] = { {gUnknown_Debug_083C18B5, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1900[] = _("SYSーARRIVEーSUBMARINECAVE"); -const u8 gUnknown_Debug_083C1919[] = _("SYSーARRIVEーBATTLETOWER"); -const u8 gUnknown_Debug_083C1930[] = _("SYSーARRIVEーISLAND"); -const u8 gUnknown_Debug_083C1942[] = _("SYSーARRIVEーLEAGUE"); -const u8 gUnknown_Debug_083C1954[] = _("SYSーARRIVEーSORANOHASHIRA"); -const u8 gUnknown_Debug_083C196D[] = _(""); -const u8 gUnknown_Debug_083C196E[] = _(""); -const u8 gUnknown_Debug_083C196F[] = _(""); -const u8 gUnknown_Debug_083C1970[] = _(""); - -const struct MenuAction gDebug_0x83C1974[] = { +static const u8 gUnknown_Debug_083C1900[] = _("SYSーARRIVEーSUBMARINECAVE"); +static const u8 gUnknown_Debug_083C1919[] = _("SYSーARRIVEーBATTLETOWER"); +static const u8 gUnknown_Debug_083C1930[] = _("SYSーARRIVEーISLAND"); +static const u8 gUnknown_Debug_083C1942[] = _("SYSーARRIVEーLEAGUE"); +static const u8 gUnknown_Debug_083C1954[] = _("SYSーARRIVEーSORANOHASHIRA"); +static const u8 gUnknown_Debug_083C196D[] = _(""); +static const u8 gUnknown_Debug_083C196E[] = _(""); +static const u8 gUnknown_Debug_083C196F[] = _(""); +static const u8 gUnknown_Debug_083C1970[] = _(""); + +static const struct MenuAction gDebug_0x83C1974[] = { {gUnknown_Debug_083C1900, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1919, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1930, TomomichiDebugMenu_Config}, @@ -703,9 +703,9 @@ const struct MenuAction gDebug_0x83C1974[] = { {gUnknown_Debug_083C1970, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C19BC[] = {8, 7, 9, 4, 9, 9, 9, 7, 5}; +static const u8 gUnknown_Debug_083C19BC[] = {8, 7, 9, 4, 9, 9, 9, 7, 5}; -const u16 gUnknown_Debug_083C19C6[][9] = { +static const u16 gUnknown_Debug_083C19C6[][9] = { {FLAG_BADGE01_GET, FLAG_BADGE02_GET, FLAG_BADGE03_GET, FLAG_BADGE04_GET, FLAG_BADGE05_GET, FLAG_BADGE06_GET, FLAG_BADGE07_GET, FLAG_BADGE08_GET}, {FLAG_VISITED_LITTLEROOT_TOWN, FLAG_VISITED_OLDALE_TOWN, FLAG_VISITED_DEWFORD_TOWN, FLAG_VISITED_LAVARIDGE_TOWN, FLAG_VISITED_FALLARBOR_TOWN, FLAG_VISITED_VERDANTURF_TOWN, FLAG_VISITED_PACIFIDLOG_TOWN}, {FLAG_VISITED_PETALBURG_CITY, FLAG_VISITED_SLATEPORT_CITY, FLAG_VISITED_MAUVILLE_CITY, FLAG_VISITED_RUSTBORO_CITY, FLAG_VISITED_FORTREE_CITY, FLAG_VISITED_LILYCOVE_CITY, FLAG_VISITED_MOSSDEEP_CITY, FLAG_VISITED_SOOTOPOLIS_CITY, FLAG_VISITED_EVER_GRANDE_CITY}, @@ -717,46 +717,46 @@ const u16 gUnknown_Debug_083C19C6[][9] = { {FLAG_LANDMARK_SEAFLOOR_CAVERN, FLAG_LANDMARK_BATTLE_TOWER, FLAG_LANDMARK_SOUTHERN_ISLAND, FLAG_SYS_POKEMON_LEAGUE_FLY, FLAG_LANDMARK_SKY_PILLAR} }; -const u8 gDebug_0x83C1A68[] = _("FVーBALL パート1"); +static const u8 gDebug_0x83C1A68[] = _("FVーBALL パート1"); -const struct MenuAction gUnknown_Debug_083C1A78[] = { +static const struct MenuAction gUnknown_Debug_083C1A78[] = { {gDebug_0x83C1A68, debug_sub_808D8D8} }; -const u8 gUnknown_Debug_083C1A80[] = _("FVーBALL1ー78"); -const u8 gUnknown_Debug_083C1A8C[] = _("FVーBALL1ー133"); +static const u8 gUnknown_Debug_083C1A80[] = _("FVーBALL1ー78"); +static const u8 gUnknown_Debug_083C1A8C[] = _("FVーBALL1ー133"); -const struct MenuAction gUnknown_Debug_083C1A9C[] = { +static const struct MenuAction gUnknown_Debug_083C1A9C[] = { {gUnknown_Debug_083C1A80, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1A8C, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1AAC[] = {2}; +static const u8 gUnknown_Debug_083C1AAC[] = {2}; -const u16 gUnknown_Debug_083C1AAE[][9] = { +static const u16 gUnknown_Debug_083C1AAE[][9] = { {FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS_2, FLAG_ITEM_MOSSDEEP_STEVENS_HOUSE_1} }; -const u8 gUnknown_Debug_083C1AC0[] = _("ジムリーダー"); -const u8 gUnknown_Debug_083C1AC7[] = _("してんのう"); -const u8 gUnknown_Debug_083C1ACD[] = _("みつる/Champロード"); +static const u8 gUnknown_Debug_083C1AC0[] = _("ジムリーダー"); +static const u8 gUnknown_Debug_083C1AC7[] = _("してんのう"); +static const u8 gUnknown_Debug_083C1ACD[] = _("みつる/Champロード"); -const struct MenuAction gUnknown_Debug_083C1ADC[] = { +static const struct MenuAction gUnknown_Debug_083C1ADC[] = { {gUnknown_Debug_083C1AC0, debug_sub_808CD08}, {gUnknown_Debug_083C1AC7, debug_sub_808CD60}, {gUnknown_Debug_083C1ACD, debug_sub_808CDB8} }; -const u8 gUnknown_Debug_083C1AF4[] = _("FTーGYMー01ーLEADER"); -const u8 gUnknown_Debug_083C1B05[] = _("FTーGYMー02ーLEADER"); -const u8 gUnknown_Debug_083C1B16[] = _("FTーGYMー03ーLEADER"); -const u8 gUnknown_Debug_083C1B27[] = _("FTーGYMー04ーLEADER"); -const u8 gUnknown_Debug_083C1B38[] = _("FTーGYMー05ーLEADER"); -const u8 gUnknown_Debug_083C1B49[] = _("FTーGYMー06ーLEADER"); -const u8 gUnknown_Debug_083C1B5A[] = _("FTーGYMー07ーLEADER"); -const u8 gUnknown_Debug_083C1B6B[] = _("FTーGYMー08ーLEADER"); +static const u8 gUnknown_Debug_083C1AF4[] = _("FTーGYMー01ーLEADER"); +static const u8 gUnknown_Debug_083C1B05[] = _("FTーGYMー02ーLEADER"); +static const u8 gUnknown_Debug_083C1B16[] = _("FTーGYMー03ーLEADER"); +static const u8 gUnknown_Debug_083C1B27[] = _("FTーGYMー04ーLEADER"); +static const u8 gUnknown_Debug_083C1B38[] = _("FTーGYMー05ーLEADER"); +static const u8 gUnknown_Debug_083C1B49[] = _("FTーGYMー06ーLEADER"); +static const u8 gUnknown_Debug_083C1B5A[] = _("FTーGYMー07ーLEADER"); +static const u8 gUnknown_Debug_083C1B6B[] = _("FTーGYMー08ーLEADER"); -const struct MenuAction gUnknown_Debug_083C1B7C[] = { +static const struct MenuAction gUnknown_Debug_083C1B7C[] = { {gUnknown_Debug_083C1AF4, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1B05, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1B16, TomomichiDebugMenu_Config}, @@ -767,42 +767,42 @@ const struct MenuAction gUnknown_Debug_083C1B7C[] = { {gUnknown_Debug_083C1B6B, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1BBC[] = _("FTーSHITENー01"); -const u8 gUnknown_Debug_083C1BC9[] = _("FTーSHITENー02"); -const u8 gUnknown_Debug_083C1BD6[] = _("FTーSHITENー03"); -const u8 gUnknown_Debug_083C1BE3[] = _("FTーSHITENー04"); +static const u8 gUnknown_Debug_083C1BBC[] = _("FTーSHITENー01"); +static const u8 gUnknown_Debug_083C1BC9[] = _("FTーSHITENー02"); +static const u8 gUnknown_Debug_083C1BD6[] = _("FTーSHITENー03"); +static const u8 gUnknown_Debug_083C1BE3[] = _("FTーSHITENー04"); -const struct MenuAction gUnknown_Debug_083C1BF0[] = { +static const struct MenuAction gUnknown_Debug_083C1BF0[] = { {gUnknown_Debug_083C1BBC, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1BC9, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1BD6, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1BE3, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1C10[] = _("FTーMITSURUー01ーCAVEーD1301"); +static const u8 gUnknown_Debug_083C1C10[] = _("FTーMITSURUー01ーCAVEーD1301"); -const struct MenuAction gUnknown_Debug_083C1C2C[] = { +static const struct MenuAction gUnknown_Debug_083C1C2C[] = { {gUnknown_Debug_083C1C10, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1C34[] = {8, 4, 1}; -const u16 gUnknown_Debug_083C1C38[][9] = { +static const u8 gUnknown_Debug_083C1C34[] = {8, 4, 1}; +static const u16 gUnknown_Debug_083C1C38[][9] = { {FLAG_DEFEATED_RUSTBORO_GYM, FLAG_DEFEATED_DEWFORD_GYM, FLAG_DEFEATED_MAUVILLE_GYM, FLAG_DEFEATED_LAVARIDGE_GYM, FLAG_DEFEATED_PETALBURG_GYM, FLAG_DEFEATED_FORTREE_GYM, FLAG_DEFEATED_MOSSDEEP_GYM, FLAG_DEFEATED_SOOTOPOLIS_GYM}, {FLAG_DEFEATED_ELITE_4_SYDNEY, FLAG_DEFEATED_ELITE_4_PHOEBE, FLAG_DEFEATED_ELITE_4_GLACIA, FLAG_DEFEATED_ELITE_4_DRAKE}, {0x04E1} }; -const u8 gUnknown_Debug_083C1C6E[] = _("120/119ばんどうろカクレオン"); -const u8 gUnknown_Debug_083C1C80[] = _("そのた1 / SUPPORTM/W"); -const u8 gUnknown_Debug_083C1C92[] = _("ODAMAKI/FIGHTER1"); -const u8 gUnknown_Debug_083C1CA3[] = _("MITSURU/TENKI"); -const u8 gUnknown_Debug_083C1CB1[] = _("そのた2 /DAIGO"); -const u8 gUnknown_Debug_083C1CBD[] = _("POKE/POKEMON"); -const u8 gUnknown_Debug_083C1CCA[] = _("MAMA/SUPPORT02"); -const u8 gUnknown_Debug_083C1CD9[] = _("HAGI"); -const u8 gUnknown_Debug_083C1CDE[] = _("SUPPORT01"); - -const struct MenuAction gUnknown_Debug_083C1CE8[] = { +static const u8 gUnknown_Debug_083C1C6E[] = _("120/119ばんどうろカクレオン"); +static const u8 gUnknown_Debug_083C1C80[] = _("そのた1 / SUPPORTM/W"); +static const u8 gUnknown_Debug_083C1C92[] = _("ODAMAKI/FIGHTER1"); +static const u8 gUnknown_Debug_083C1CA3[] = _("MITSURU/TENKI"); +static const u8 gUnknown_Debug_083C1CB1[] = _("そのた2 /DAIGO"); +static const u8 gUnknown_Debug_083C1CBD[] = _("POKE/POKEMON"); +static const u8 gUnknown_Debug_083C1CCA[] = _("MAMA/SUPPORT02"); +static const u8 gUnknown_Debug_083C1CD9[] = _("HAGI"); +static const u8 gUnknown_Debug_083C1CDE[] = _("SUPPORT01"); + +static const struct MenuAction gUnknown_Debug_083C1CE8[] = { {gUnknown_Debug_083C1C6E, debug_sub_808C85C}, {gUnknown_Debug_083C1C80, debug_sub_808C8B4}, {gUnknown_Debug_083C1C92, debug_sub_808C90C}, @@ -814,17 +814,17 @@ const struct MenuAction gUnknown_Debug_083C1CE8[] = { {gUnknown_Debug_083C1CDE, debug_sub_808CB1C} }; -const u8 gUnknown_Debug_083C1D30[] = _("FVーKAKUREONBー01ーFIELDーR120"); -const u8 gUnknown_Debug_083C1D4B[] = _("FVーKAKUREー01ーFIELDーR120"); -const u8 gUnknown_Debug_083C1D63[] = _("FVーKAKUREー02ーFIELDーR120"); -const u8 gUnknown_Debug_083C1D7B[] = _("FVーKAKUREー03ーFIELDーR120"); -const u8 gUnknown_Debug_083C1D93[] = _("FVーKAKUREー04ーFIELDーR120"); -const u8 gUnknown_Debug_083C1DAB[] = _("FVーKAKUREー05ーFIELDーR120"); -const u8 gUnknown_Debug_083C1DC3[] = _("FVーKAKUREー06ーFIELDーR120"); -const u8 gUnknown_Debug_083C1DDB[] = _("FVーKAKUREー01ーFIELDーR119"); -const u8 gUnknown_Debug_083C1DF3[] = _("FVーKAKUREー02ーFIELDーR119"); - -const struct MenuAction gUnknown_Debug_083C1E0C[] = { +static const u8 gUnknown_Debug_083C1D30[] = _("FVーKAKUREONBー01ーFIELDーR120"); +static const u8 gUnknown_Debug_083C1D4B[] = _("FVーKAKUREー01ーFIELDーR120"); +static const u8 gUnknown_Debug_083C1D63[] = _("FVーKAKUREー02ーFIELDーR120"); +static const u8 gUnknown_Debug_083C1D7B[] = _("FVーKAKUREー03ーFIELDーR120"); +static const u8 gUnknown_Debug_083C1D93[] = _("FVーKAKUREー04ーFIELDーR120"); +static const u8 gUnknown_Debug_083C1DAB[] = _("FVーKAKUREー05ーFIELDーR120"); +static const u8 gUnknown_Debug_083C1DC3[] = _("FVーKAKUREー06ーFIELDーR120"); +static const u8 gUnknown_Debug_083C1DDB[] = _("FVーKAKUREー01ーFIELDーR119"); +static const u8 gUnknown_Debug_083C1DF3[] = _("FVーKAKUREー02ーFIELDーR119"); + +static const struct MenuAction gUnknown_Debug_083C1E0C[] = { {gUnknown_Debug_083C1D30, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1D4B, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1D63, TomomichiDebugMenu_Config}, @@ -836,17 +836,17 @@ const struct MenuAction gUnknown_Debug_083C1E0C[] = { {gUnknown_Debug_083C1DF3, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1E54[] = _("FVーBALLー01ーC107ーR0501"); -const u8 gUnknown_Debug_083C1E6A[] = _("FVーWORKERM1ー04ーFIELDーC104"); -const u8 gUnknown_Debug_083C1E84[] = _("FVーSUBMARINEー06ーCAVEーD1101"); -const u8 gUnknown_Debug_083C1E9F[] = _("FVーGUESTーALLーC106ーR0102"); -const u8 gUnknown_Debug_083C1EB7[] = _("FVーHORIDASIー01ーC106ーR1106"); -const u8 gUnknown_Debug_083C1ED1[] = _("FVーMIDDLEM1ー01ーR110ーR0101"); -const u8 gUnknown_Debug_083C1EEB[] = _("FVーFUNEー01ーC102ーR0601"); -const u8 gUnknown_Debug_083C1F01[] = _("FVーSUPPORTWー01ーT101ーR0202"); -const u8 gUnknown_Debug_083C1F1B[] = _("FVーSUPPORTMー01ーT101ーR0102"); - -const struct MenuAction gUnknown_Debug_083C1F38[] = { +static const u8 gUnknown_Debug_083C1E54[] = _("FVーBALLー01ーC107ーR0501"); +static const u8 gUnknown_Debug_083C1E6A[] = _("FVーWORKERM1ー04ーFIELDーC104"); +static const u8 gUnknown_Debug_083C1E84[] = _("FVーSUBMARINEー06ーCAVEーD1101"); +static const u8 gUnknown_Debug_083C1E9F[] = _("FVーGUESTーALLーC106ーR0102"); +static const u8 gUnknown_Debug_083C1EB7[] = _("FVーHORIDASIー01ーC106ーR1106"); +static const u8 gUnknown_Debug_083C1ED1[] = _("FVーMIDDLEM1ー01ーR110ーR0101"); +static const u8 gUnknown_Debug_083C1EEB[] = _("FVーFUNEー01ーC102ーR0601"); +static const u8 gUnknown_Debug_083C1F01[] = _("FVーSUPPORTWー01ーT101ーR0202"); +static const u8 gUnknown_Debug_083C1F1B[] = _("FVーSUPPORTMー01ーT101ーR0102"); + +static const struct MenuAction gUnknown_Debug_083C1F38[] = { {gUnknown_Debug_083C1E54, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1E6A, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1E84, TomomichiDebugMenu_Config}, @@ -858,17 +858,17 @@ const struct MenuAction gUnknown_Debug_083C1F38[] = { {gUnknown_Debug_083C1F1B, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C1F80[] = _("FVーODAMAKIー01ーFIELDーR101"); -const u8 gUnknown_Debug_083C1F99[] = _("FVーODAMAKIー01ーT101ーR0301"); -const u8 gUnknown_Debug_083C1FB2[] = _("FVーODAMAKIーHYOKAーT101ーR0301"); -const u8 gUnknown_Debug_083C1FCE[] = _("FVーODAMAKIーHYOKAーFIELDーR101"); -const u8 gUnknown_Debug_083C1FEA[] = _("FVーODAMAKIーHYOKAーFIELDーR103"); -const u8 gUnknown_Debug_083C2006[] = _("FVーODAMAKIー01ーC109ーR0105"); -const u8 gUnknown_Debug_083C201F[] = _("FVーFIGHTERー01ーCAVEーD0201"); -const u8 gUnknown_Debug_083C2038[] = _("FVーFIGHTERー01ーT106ーR0201"); -const u8 gUnknown_Debug_083C2051[] = _("FVーFIGHTERー01ーFIELDーR116"); - -const struct MenuAction gUnknown_Debug_083C206C[] = { +static const u8 gUnknown_Debug_083C1F80[] = _("FVーODAMAKIー01ーFIELDーR101"); +static const u8 gUnknown_Debug_083C1F99[] = _("FVーODAMAKIー01ーT101ーR0301"); +static const u8 gUnknown_Debug_083C1FB2[] = _("FVーODAMAKIーHYOKAーT101ーR0301"); +static const u8 gUnknown_Debug_083C1FCE[] = _("FVーODAMAKIーHYOKAーFIELDーR101"); +static const u8 gUnknown_Debug_083C1FEA[] = _("FVーODAMAKIーHYOKAーFIELDーR103"); +static const u8 gUnknown_Debug_083C2006[] = _("FVーODAMAKIー01ーC109ーR0105"); +static const u8 gUnknown_Debug_083C201F[] = _("FVーFIGHTERー01ーCAVEーD0201"); +static const u8 gUnknown_Debug_083C2038[] = _("FVーFIGHTERー01ーT106ーR0201"); +static const u8 gUnknown_Debug_083C2051[] = _("FVーFIGHTERー01ーFIELDーR116"); + +static const struct MenuAction gUnknown_Debug_083C206C[] = { {gUnknown_Debug_083C1F80, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1F99, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C1FB2, TomomichiDebugMenu_Config}, @@ -880,17 +880,17 @@ const struct MenuAction gUnknown_Debug_083C206C[] = { {gUnknown_Debug_083C2051, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C20B4[] = _("FVーMITSURUー01ーFIELDーC101"); -const u8 gUnknown_Debug_083C20CD[] = _("FVーMITSURUー02ーCAVEーD1301"); -const u8 gUnknown_Debug_083C20E6[] = _("FVーMITSURUー01ーFIELDーC103"); -const u8 gUnknown_Debug_083C20FF[] = _("FVーMITSURUー01ーT106ーR0201"); -const u8 gUnknown_Debug_083C2118[] = _("FVーMITSURUー01ーCAVEーD1301"); -const u8 gUnknown_Debug_083C2131[] = _("FVーMITSURUー01ーC101ーR0201"); -const u8 gUnknown_Debug_083C214A[] = _("FVーMITSURUー01ーFIELDーR102"); -const u8 gUnknown_Debug_083C2163[] = _("FVーTENKIー01ーR119ーR101"); -const u8 gUnknown_Debug_083C2179[] = _("FVーTENKIー01ーR119ーR102"); - -const struct MenuAction gUnknown_Debug_083C2190[] = { +static const u8 gUnknown_Debug_083C20B4[] = _("FVーMITSURUー01ーFIELDーC101"); +static const u8 gUnknown_Debug_083C20CD[] = _("FVーMITSURUー02ーCAVEーD1301"); +static const u8 gUnknown_Debug_083C20E6[] = _("FVーMITSURUー01ーFIELDーC103"); +static const u8 gUnknown_Debug_083C20FF[] = _("FVーMITSURUー01ーT106ーR0201"); +static const u8 gUnknown_Debug_083C2118[] = _("FVーMITSURUー01ーCAVEーD1301"); +static const u8 gUnknown_Debug_083C2131[] = _("FVーMITSURUー01ーC101ーR0201"); +static const u8 gUnknown_Debug_083C214A[] = _("FVーMITSURUー01ーFIELDーR102"); +static const u8 gUnknown_Debug_083C2163[] = _("FVーTENKIー01ーR119ーR101"); +static const u8 gUnknown_Debug_083C2179[] = _("FVーTENKIー01ーR119ーR102"); + +static const struct MenuAction gUnknown_Debug_083C2190[] = { {gUnknown_Debug_083C20B4, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C20CD, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C20E6, TomomichiDebugMenu_Config}, @@ -902,14 +902,14 @@ const struct MenuAction gUnknown_Debug_083C2190[] = { {gUnknown_Debug_083C2179, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C21D8[] = _("FVーDAIGOー01ーCAVEーD0504"); -const u8 gUnknown_Debug_083C21EF[] = _("FVーDAIGOー01ーFIELDーR128"); -const u8 gUnknown_Debug_083C2206[] = _("FVーDAIGOー01ーFIELDーR118"); -const u8 gUnknown_Debug_083C221D[] = _("FVーDAIGOー01ーC107ーR0501"); -const u8 gUnknown_Debug_083C2234[] = _("FVーDAIGOー01ーFIELDーR120"); -const u8 gUnknown_Debug_083C224B[] = _("FVーDAIGOー01ーFIELDーR108"); +static const u8 gUnknown_Debug_083C21D8[] = _("FVーDAIGOー01ーCAVEーD0504"); +static const u8 gUnknown_Debug_083C21EF[] = _("FVーDAIGOー01ーFIELDーR128"); +static const u8 gUnknown_Debug_083C2206[] = _("FVーDAIGOー01ーFIELDーR118"); +static const u8 gUnknown_Debug_083C221D[] = _("FVーDAIGOー01ーC107ーR0501"); +static const u8 gUnknown_Debug_083C2234[] = _("FVーDAIGOー01ーFIELDーR120"); +static const u8 gUnknown_Debug_083C224B[] = _("FVーDAIGOー01ーFIELDーR108"); -const struct MenuAction gUnknown_Debug_083C2264[] = { +static const struct MenuAction gUnknown_Debug_083C2264[] = { {gUnknown_Debug_083C21D8, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C21EF, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2206, TomomichiDebugMenu_Config}, @@ -918,17 +918,17 @@ const struct MenuAction gUnknown_Debug_083C2264[] = { {gUnknown_Debug_083C224B, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2294[] = _("FVーPOKE1ー02ーCAVEーD1111"); -const u8 gUnknown_Debug_083C22AB[] = _("FVーPOKE1ー01ーCAVEーD0601"); -const u8 gUnknown_Debug_083C22C2[] = _("FVーPOKE1ー02ーCAVEーD0601"); -const u8 gUnknown_Debug_083C22D9[] = _("FVーPOKE1ー01ーFIELDーR101"); -const u8 gUnknown_Debug_083C22F0[] = _("FVーPOKE1ー01ーOPENINGーROOM01"); -const u8 gUnknown_Debug_083C230B[] = _("FVーPOKE1ー02ーOPENINGーROOM01"); -const u8 gUnknown_Debug_083C2326[] = _("FVーPOKE1ー01ーCAVEーD2308"); -const u8 gUnknown_Debug_083C233D[] = _("FVーPOKEMONー01ーCAVEーD0201"); -const u8 gUnknown_Debug_083C2356[] = _("FVーPOKEMONー01ーR104ーR0101"); - -const struct MenuAction gUnknown_Debug_083C2370[] = { +static const u8 gUnknown_Debug_083C2294[] = _("FVーPOKE1ー02ーCAVEーD1111"); +static const u8 gUnknown_Debug_083C22AB[] = _("FVーPOKE1ー01ーCAVEーD0601"); +static const u8 gUnknown_Debug_083C22C2[] = _("FVーPOKE1ー02ーCAVEーD0601"); +static const u8 gUnknown_Debug_083C22D9[] = _("FVーPOKE1ー01ーFIELDーR101"); +static const u8 gUnknown_Debug_083C22F0[] = _("FVーPOKE1ー01ーOPENINGーROOM01"); +static const u8 gUnknown_Debug_083C230B[] = _("FVーPOKE1ー02ーOPENINGーROOM01"); +static const u8 gUnknown_Debug_083C2326[] = _("FVーPOKE1ー01ーCAVEーD2308"); +static const u8 gUnknown_Debug_083C233D[] = _("FVーPOKEMONー01ーCAVEーD0201"); +static const u8 gUnknown_Debug_083C2356[] = _("FVーPOKEMONー01ーR104ーR0101"); + +static const struct MenuAction gUnknown_Debug_083C2370[] = { {gUnknown_Debug_083C2294, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C22AB, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C22C2, TomomichiDebugMenu_Config}, @@ -940,17 +940,17 @@ const struct MenuAction gUnknown_Debug_083C2370[] = { {gUnknown_Debug_083C2356, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C23B8[] = _("FVーMAMAー01ーFIELDーT101"); -const u8 gUnknown_Debug_083C23CE[] = _("FVーMAMAー01ーOPENINGーROOM02"); -const u8 gUnknown_Debug_083C23E8[] = _("FVーMAMAー01ーT101ーR0101"); -const u8 gUnknown_Debug_083C23FE[] = _("FVーMAMAー01ーT101ーR0201"); -const u8 gUnknown_Debug_083C2414[] = _("FVーMAMAー02ーT101ーR0101"); -const u8 gUnknown_Debug_083C242A[] = _("FVーMAMAー02ーT101ーR0201"); -const u8 gUnknown_Debug_083C2440[] = _("FVーSUPPORTー02ーFIELDーR110"); -const u8 gUnknown_Debug_083C2459[] = _("FVーSUPPORTー02ーFIELDーR119"); -const u8 gUnknown_Debug_083C2472[] = _("FVーSUPPORTー02ーFIELDーT104"); - -const struct MenuAction gUnknown_Debug_083C248C[] = { +static const u8 gUnknown_Debug_083C23B8[] = _("FVーMAMAー01ーFIELDーT101"); +static const u8 gUnknown_Debug_083C23CE[] = _("FVーMAMAー01ーOPENINGーROOM02"); +static const u8 gUnknown_Debug_083C23E8[] = _("FVーMAMAー01ーT101ーR0101"); +static const u8 gUnknown_Debug_083C23FE[] = _("FVーMAMAー01ーT101ーR0201"); +static const u8 gUnknown_Debug_083C2414[] = _("FVーMAMAー02ーT101ーR0101"); +static const u8 gUnknown_Debug_083C242A[] = _("FVーMAMAー02ーT101ーR0201"); +static const u8 gUnknown_Debug_083C2440[] = _("FVーSUPPORTー02ーFIELDーR110"); +static const u8 gUnknown_Debug_083C2459[] = _("FVーSUPPORTー02ーFIELDーR119"); +static const u8 gUnknown_Debug_083C2472[] = _("FVーSUPPORTー02ーFIELDーT104"); + +static const struct MenuAction gUnknown_Debug_083C248C[] = { {gUnknown_Debug_083C23B8, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C23CE, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C23E8, TomomichiDebugMenu_Config}, @@ -962,17 +962,17 @@ const struct MenuAction gUnknown_Debug_083C248C[] = { {gUnknown_Debug_083C2472, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C24D4[] = _("FVーHAGIー01ーFIELDーR104"); -const u8 gUnknown_Debug_083C24EA[] = _("FVーHAGIー01ーR104ーR0101"); -const u8 gUnknown_Debug_083C2500[] = _("FVーHAGIー01ーFIELDーT103"); -const u8 gUnknown_Debug_083C2516[] = _("FVーHAGIー01ーFIELDーR109"); -const u8 gUnknown_Debug_083C252C[] = _("FVーHAGIー01ーC102ーR0601"); -const u8 gUnknown_Debug_083C2542[] = _("FVーHAGIー01ーC102ーR0101"); -const u8 gUnknown_Debug_083C2558[] = _("FVーHAGIー01ーCAVEーD0201"); -const u8 gUnknown_Debug_083C256E[] = _("FVーHAGIー01ーFIELDーR116"); -const u8 gUnknown_Debug_083C2584[] = _("FVーHAGIー01ーSPーSHIP01"); - -const struct MenuAction gUnknown_Debug_083C259C[] = { +static const u8 gUnknown_Debug_083C24D4[] = _("FVーHAGIー01ーFIELDーR104"); +static const u8 gUnknown_Debug_083C24EA[] = _("FVーHAGIー01ーR104ーR0101"); +static const u8 gUnknown_Debug_083C2500[] = _("FVーHAGIー01ーFIELDーT103"); +static const u8 gUnknown_Debug_083C2516[] = _("FVーHAGIー01ーFIELDーR109"); +static const u8 gUnknown_Debug_083C252C[] = _("FVーHAGIー01ーC102ーR0601"); +static const u8 gUnknown_Debug_083C2542[] = _("FVーHAGIー01ーC102ーR0101"); +static const u8 gUnknown_Debug_083C2558[] = _("FVーHAGIー01ーCAVEーD0201"); +static const u8 gUnknown_Debug_083C256E[] = _("FVーHAGIー01ーFIELDーR116"); +static const u8 gUnknown_Debug_083C2584[] = _("FVーHAGIー01ーSPーSHIP01"); + +static const struct MenuAction gUnknown_Debug_083C259C[] = { {gUnknown_Debug_083C24D4, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C24EA, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2500, TomomichiDebugMenu_Config}, @@ -984,17 +984,17 @@ const struct MenuAction gUnknown_Debug_083C259C[] = { {gUnknown_Debug_083C2584, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C25E4[] = _("FVーSUPPORTー01ーT101ーR0301"); -const u8 gUnknown_Debug_083C25FD[] = _("FVーSUPPORTー01ーC109ーR0105"); -const u8 gUnknown_Debug_083C2616[] = _("FVーSUPPORTー01ーFIELDーC104"); -const u8 gUnknown_Debug_083C262F[] = _("FVーSUPPORTー01ーFIELDーC106"); -const u8 gUnknown_Debug_083C2648[] = _("FVーSUPPORTー01ーFIELDーR103"); -const u8 gUnknown_Debug_083C2661[] = _("FVーSUPPORTー01ーFIELDーR110"); -const u8 gUnknown_Debug_083C267A[] = _("FVーSUPPORTー01ーFIELDーR119"); -const u8 gUnknown_Debug_083C2693[] = _("FVーSUPPORTー01ーFIELDーT104"); -const u8 gUnknown_Debug_083C26AC[] = _("FVーSUPPORTー01ーFIELDーT102"); - -const struct MenuAction gUnknown_Debug_083C26C8[] = { +static const u8 gUnknown_Debug_083C25E4[] = _("FVーSUPPORTー01ーT101ーR0301"); +static const u8 gUnknown_Debug_083C25FD[] = _("FVーSUPPORTー01ーC109ーR0105"); +static const u8 gUnknown_Debug_083C2616[] = _("FVーSUPPORTー01ーFIELDーC104"); +static const u8 gUnknown_Debug_083C262F[] = _("FVーSUPPORTー01ーFIELDーC106"); +static const u8 gUnknown_Debug_083C2648[] = _("FVーSUPPORTー01ーFIELDーR103"); +static const u8 gUnknown_Debug_083C2661[] = _("FVーSUPPORTー01ーFIELDーR110"); +static const u8 gUnknown_Debug_083C267A[] = _("FVーSUPPORTー01ーFIELDーR119"); +static const u8 gUnknown_Debug_083C2693[] = _("FVーSUPPORTー01ーFIELDーT104"); +static const u8 gUnknown_Debug_083C26AC[] = _("FVーSUPPORTー01ーFIELDーT102"); + +static const struct MenuAction gUnknown_Debug_083C26C8[] = { {gUnknown_Debug_083C25E4, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C25FD, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2616, TomomichiDebugMenu_Config}, @@ -1006,9 +1006,9 @@ const struct MenuAction gUnknown_Debug_083C26C8[] = { {gUnknown_Debug_083C26AC, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2710[] = {9, 9, 9, 9, 6, 9, 9, 9, 9}; +static const u8 gUnknown_Debug_083C2710[] = {9, 9, 9, 9, 6, 9, 9, 9, 9}; -const u16 gUnknown_Debug_083C271A[][9] = { +static const u16 gUnknown_Debug_083C271A[][9] = { {FLAG_HIDE_KECLEON_ROUTE120_2, FLAG_HIDE_KECLEON_ROUTE120_1, FLAG_HIDE_KECLEON_ROUTE120_3, FLAG_HIDE_KECLEON_ROUTE120_4, FLAG_HIDE_KECLEON_ROUTE120_5, FLAG_HIDE_KECLEON_ROUTE120_6, FLAG_HIDE_KECLEON_ROUTE120_7, FLAG_HIDE_KECLEON_ROUTE119_1, FLAG_HIDE_KECLEON_ROUTE119_2}, {FLAG_HIDE_BELDUM_BALL_STEVENS_HOUSE, FLAG_HIDE_DEVON_RUSTBORO, FLAG_HIDE_UNDERWATER_SUBMARINE_INTERACTION, FLAG_HIDE_LILYCOVE_MOTEL_PEOPLE, FLAG_HIDE_ROOFTOP_LADY_LILYCOVE_MART, FLAG_HIDE_TRICKMASTER_ENTRANCE, 0x352, FLAG_HIDE_MAY_UPSTAIRS, FLAG_HIDE_BRENDAN_UPSTAIRS}, {FLAG_HIDE_BIRCH_BATTLE_POOCHYENA, FLAG_HIDE_BIRCH_IN_LAB, FLAG_UNKNOWN_BIRCH_380, FLAG_HIDE_BIRCH_ROUTE101, FLAG_HIDE_BIRCH_ROUTE103, FLAG_HIDE_BIRCH_CHAMPIONS_ROOM, FLAG_HIDE_BOYFRIEND_RUSTURF_TUNNEL, FLAG_HIDE_BOYFRIEND_WANDAS_HOUSE, FLAG_HIDE_TUNNER_DIGGER_ROUTE116}, @@ -1020,17 +1020,17 @@ const u16 gUnknown_Debug_083C271A[][9] = { {FLAG_HIDE_RIVAL_BIRCH_LAB, FLAG_HIDE_RIVAL_CHAMPIONS_ROOM, FLAG_HIDE_RIVAL_RUSTBORO, FLAG_HIDE_RIVAL_LILYCOVE_MART, FLAG_HIDE_RIVAL_ROUTE103, FLAG_HIDE_RIVAL_ROUTE110, FLAG_HIDE_RIVAL_ROUTE119, FLAG_HIDE_RIVAL_LAVARIDGE_1, FLAG_HIDE_RIVAL_OLDALE_TOWN} }; -const u8 gUnknown_Debug_083C27BC[] = _("FEひでんわざ/デボンかんれん"); -const u8 gUnknown_Debug_083C27CC[] = _("FEだいじなアイテムPART1"); -const u8 gUnknown_Debug_083C27DC[] = _("そのた1"); -const u8 gUnknown_Debug_083C27E1[] = _("MITSURU/DOOR"); -const u8 gUnknown_Debug_083C27EE[] = _("カラクリやしき10のやじるし/GYM07"); -const u8 gUnknown_Debug_083C2803[] = _("SUPPORT/そのた4"); -const u8 gUnknown_Debug_083C2810[] = _("DAISUKI/そのた5"); -const u8 gUnknown_Debug_083C281D[] = _("そのた2"); -const u8 gUnknown_Debug_083C2822[] = _("そのた6"); - -const struct MenuAction gUnknown_Debug_083C2828[] = { +static const u8 gUnknown_Debug_083C27BC[] = _("FEひでんわざ/デボンかんれん"); +static const u8 gUnknown_Debug_083C27CC[] = _("FEだいじなアイテムPART1"); +static const u8 gUnknown_Debug_083C27DC[] = _("そのた1"); +static const u8 gUnknown_Debug_083C27E1[] = _("MITSURU/DOOR"); +static const u8 gUnknown_Debug_083C27EE[] = _("カラクリやしき10のやじるし/GYM07"); +static const u8 gUnknown_Debug_083C2803[] = _("SUPPORT/そのた4"); +static const u8 gUnknown_Debug_083C2810[] = _("DAISUKI/そのた5"); +static const u8 gUnknown_Debug_083C281D[] = _("そのた2"); +static const u8 gUnknown_Debug_083C2822[] = _("そのた6"); + +static const struct MenuAction gUnknown_Debug_083C2828[] = { {gUnknown_Debug_083C27BC, debug_sub_808C3B0}, {gUnknown_Debug_083C27CC, debug_sub_808C408}, {gUnknown_Debug_083C27DC, debug_sub_808C460}, @@ -1042,17 +1042,17 @@ const struct MenuAction gUnknown_Debug_083C2828[] = { {gUnknown_Debug_083C2822, debug_sub_808C670} }; -const u8 gUnknown_Debug_083C2870[] = _("FEーHWAZA01ーGET"); -const u8 gUnknown_Debug_083C287F[] = _("FEーHWAZA02ー01ーFIELDR119"); -const u8 gUnknown_Debug_083C2897[] = _("FEーHWAZA03ーGET"); -const u8 gUnknown_Debug_083C28A6[] = _("FEーHWAZA04ー01ーT106ーR0201"); -const u8 gUnknown_Debug_083C28BF[] = _("FEーHWAZA05ー01ーCAVEーD0502"); -const u8 gUnknown_Debug_083C28D8[] = _("FEーHWAZA04ー01ーC103ーR0301"); -const u8 gUnknown_Debug_083C28F1[] = _("FEーDEBONーNIMOTSUーRETURN"); -const u8 gUnknown_Debug_083C2909[] = _("FEーDEBONー01ーFIELDーC104"); -const u8 gUnknown_Debug_083C2920[] = _("FEーDEBONー02ーFIELDーC104"); - -const struct MenuAction gUnknown_Debug_083C2938[] = { +static const u8 gUnknown_Debug_083C2870[] = _("FEーHWAZA01ーGET"); +static const u8 gUnknown_Debug_083C287F[] = _("FEーHWAZA02ー01ーFIELDR119"); +static const u8 gUnknown_Debug_083C2897[] = _("FEーHWAZA03ーGET"); +static const u8 gUnknown_Debug_083C28A6[] = _("FEーHWAZA04ー01ーT106ーR0201"); +static const u8 gUnknown_Debug_083C28BF[] = _("FEーHWAZA05ー01ーCAVEーD0502"); +static const u8 gUnknown_Debug_083C28D8[] = _("FEーHWAZA04ー01ーC103ーR0301"); +static const u8 gUnknown_Debug_083C28F1[] = _("FEーDEBONーNIMOTSUーRETURN"); +static const u8 gUnknown_Debug_083C2909[] = _("FEーDEBONー01ーFIELDーC104"); +static const u8 gUnknown_Debug_083C2920[] = _("FEーDEBONー02ーFIELDーC104"); + +static const struct MenuAction gUnknown_Debug_083C2938[] = { {gUnknown_Debug_083C2870, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C287F, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2897, TomomichiDebugMenu_Config}, @@ -1064,17 +1064,17 @@ const struct MenuAction gUnknown_Debug_083C2938[] = { {gUnknown_Debug_083C2920, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2980[] = _("FEーCYCLEー01ーP01ーP01ーC103ーR0201"); -const u8 gUnknown_Debug_083C299F[] = _("FEーSCOOPー01ーP01ーFIELDーR115"); -const u8 gUnknown_Debug_083C29BA[] = _("FEーROPEー01ーP01ーFIELDーR114"); -const u8 gUnknown_Debug_083C29D4[] = _("FEーKAMAー01ーP01ーFIELDーR119"); -const u8 gUnknown_Debug_083C29EE[] = _("FEーZYOUROーGET"); -const u8 gUnknown_Debug_083C29FC[] = _("FEーCUBECASEーGET"); -const u8 gUnknown_Debug_083C2A0C[] = _("FEーBORONOTURIZAOーGET"); -const u8 gUnknown_Debug_083C2A21[] = _("FEーIITURIZAOーGET"); -const u8 gUnknown_Debug_083C2A32[] = _("FEーSUGOITURIZAOーGET"); - -const struct MenuAction gUnknown_Debug_083C2A48[] = { +static const u8 gUnknown_Debug_083C2980[] = _("FEーCYCLEー01ーP01ーP01ーC103ーR0201"); +static const u8 gUnknown_Debug_083C299F[] = _("FEーSCOOPー01ーP01ーFIELDーR115"); +static const u8 gUnknown_Debug_083C29BA[] = _("FEーROPEー01ーP01ーFIELDーR114"); +static const u8 gUnknown_Debug_083C29D4[] = _("FEーKAMAー01ーP01ーFIELDーR119"); +static const u8 gUnknown_Debug_083C29EE[] = _("FEーZYOUROーGET"); +static const u8 gUnknown_Debug_083C29FC[] = _("FEーCUBECASEーGET"); +static const u8 gUnknown_Debug_083C2A0C[] = _("FEーBORONOTURIZAOーGET"); +static const u8 gUnknown_Debug_083C2A21[] = _("FEーIITURIZAOーGET"); +static const u8 gUnknown_Debug_083C2A32[] = _("FEーSUGOITURIZAOーGET"); + +static const struct MenuAction gUnknown_Debug_083C2A48[] = { {gUnknown_Debug_083C2980, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C299F, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C29BA, TomomichiDebugMenu_Config}, @@ -1086,17 +1086,17 @@ const struct MenuAction gUnknown_Debug_083C2A48[] = { {gUnknown_Debug_083C2A32, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2A90[] = _("FEーBOSSー01ーCAVEーD0701"); -const u8 gUnknown_Debug_083C2AA6[] = _("FEーTANTIKIーRETURN"); -const u8 gUnknown_Debug_083C2AB8[] = _("FEーPOKE1ー01ーCAVEーD1111"); -const u8 gUnknown_Debug_083C2ACF[] = _("FEーPOKE1ー01ーCAVEーD1206"); -const u8 gUnknown_Debug_083C2AE6[] = _("FEーSHOPー01ーC104ーFS01"); -const u8 gUnknown_Debug_083C2AFB[] = _("FEーHUNENOTIKETTーGET"); -const u8 gUnknown_Debug_083C2B0F[] = _("FEーKAKUREー01ーFIELDーC105"); -const u8 gUnknown_Debug_083C2B27[] = _("FEーKASEKIーRETURN"); -const u8 gUnknown_Debug_083C2B38[] = _("FEーWINー01ーSPーSHIP01"); - -const struct MenuAction gUnknown_Debug_083C2B4C[] = { +static const u8 gUnknown_Debug_083C2A90[] = _("FEーBOSSー01ーCAVEーD0701"); +static const u8 gUnknown_Debug_083C2AA6[] = _("FEーTANTIKIーRETURN"); +static const u8 gUnknown_Debug_083C2AB8[] = _("FEーPOKE1ー01ーCAVEーD1111"); +static const u8 gUnknown_Debug_083C2ACF[] = _("FEーPOKE1ー01ーCAVEーD1206"); +static const u8 gUnknown_Debug_083C2AE6[] = _("FEーSHOPー01ーC104ーFS01"); +static const u8 gUnknown_Debug_083C2AFB[] = _("FEーHUNENOTIKETTーGET"); +static const u8 gUnknown_Debug_083C2B0F[] = _("FEーKAKUREー01ーFIELDーC105"); +static const u8 gUnknown_Debug_083C2B27[] = _("FEーKASEKIーRETURN"); +static const u8 gUnknown_Debug_083C2B38[] = _("FEーWINー01ーSPーSHIP01"); + +static const struct MenuAction gUnknown_Debug_083C2B4C[] = { {gUnknown_Debug_083C2A90, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2AA6, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2AB8, TomomichiDebugMenu_Config}, @@ -1108,17 +1108,17 @@ const struct MenuAction gUnknown_Debug_083C2B4C[] = { {gUnknown_Debug_083C2B38, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2B94[] = _("FEーMITSURUー01ーT106ーR0201"); -const u8 gUnknown_Debug_083C2BAD[] = _("FEーMITSURUー01ーCAVEーD1301"); -const u8 gUnknown_Debug_083C2BC6[] = _("FEーMITSURUー02ーFIELDーC103"); -const u8 gUnknown_Debug_083C2BDF[] = _("FEーMITSURUー02ーT106ーR0201"); -const u8 gUnknown_Debug_083C2BF8[] = _("FEーMITSURUー01ーFIELDーC103"); -const u8 gUnknown_Debug_083C2C11[] = _("FEーDOORーOPENー01ーCAVEーD1712"); -const u8 gUnknown_Debug_083C2C2C[] = _("FEーDOORーOPENー02ーCAVEーD1712"); -const u8 gUnknown_Debug_083C2C47[] = _("FEーDOORーOPENー04ーCAVEーD1712"); -const u8 gUnknown_Debug_083C2C62[] = _("FEーDOORーOPENー06ーCAVEーD1712"); - -const struct MenuAction gUnknown_Debug_083C2C80[] = { +static const u8 gUnknown_Debug_083C2B94[] = _("FEーMITSURUー01ーT106ーR0201"); +static const u8 gUnknown_Debug_083C2BAD[] = _("FEーMITSURUー01ーCAVEーD1301"); +static const u8 gUnknown_Debug_083C2BC6[] = _("FEーMITSURUー02ーFIELDーC103"); +static const u8 gUnknown_Debug_083C2BDF[] = _("FEーMITSURUー02ーT106ーR0201"); +static const u8 gUnknown_Debug_083C2BF8[] = _("FEーMITSURUー01ーFIELDーC103"); +static const u8 gUnknown_Debug_083C2C11[] = _("FEーDOORーOPENー01ーCAVEーD1712"); +static const u8 gUnknown_Debug_083C2C2C[] = _("FEーDOORーOPENー02ーCAVEーD1712"); +static const u8 gUnknown_Debug_083C2C47[] = _("FEーDOORーOPENー04ーCAVEーD1712"); +static const u8 gUnknown_Debug_083C2C62[] = _("FEーDOORーOPENー06ーCAVEーD1712"); + +static const struct MenuAction gUnknown_Debug_083C2C80[] = { {gUnknown_Debug_083C2B94, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2BAD, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2BC6, TomomichiDebugMenu_Config}, @@ -1130,17 +1130,17 @@ const struct MenuAction gUnknown_Debug_083C2C80[] = { {gUnknown_Debug_083C2C62, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2CC8[] = _("FEーKARAKURI10ーSWITCHー01"); -const u8 gUnknown_Debug_083C2CE0[] = _("FEーKARAKURI10ーSWITCHー02"); -const u8 gUnknown_Debug_083C2CF8[] = _("FEーKARAKURI10ーSWITCHー03"); -const u8 gUnknown_Debug_083C2D10[] = _("FEーKARAKURI10ーSWITCHー04"); -const u8 gUnknown_Debug_083C2D28[] = _("FEーKARAKURI10ーSWITCHー05"); -const u8 gUnknown_Debug_083C2D40[] = _("FEーGYM07ーSWITCHー01"); -const u8 gUnknown_Debug_083C2D53[] = _("FEーGYM07ーSWITCHー02"); -const u8 gUnknown_Debug_083C2D66[] = _("FEーGYM07ーSWITCHー03"); -const u8 gUnknown_Debug_083C2D79[] = _("FEーGYM07ーSWITCHー04"); - -const struct MenuAction gUnknown_Debug_083C2D8C[] = { +static const u8 gUnknown_Debug_083C2CC8[] = _("FEーKARAKURI10ーSWITCHー01"); +static const u8 gUnknown_Debug_083C2CE0[] = _("FEーKARAKURI10ーSWITCHー02"); +static const u8 gUnknown_Debug_083C2CF8[] = _("FEーKARAKURI10ーSWITCHー03"); +static const u8 gUnknown_Debug_083C2D10[] = _("FEーKARAKURI10ーSWITCHー04"); +static const u8 gUnknown_Debug_083C2D28[] = _("FEーKARAKURI10ーSWITCHー05"); +static const u8 gUnknown_Debug_083C2D40[] = _("FEーGYM07ーSWITCHー01"); +static const u8 gUnknown_Debug_083C2D53[] = _("FEーGYM07ーSWITCHー02"); +static const u8 gUnknown_Debug_083C2D66[] = _("FEーGYM07ーSWITCHー03"); +static const u8 gUnknown_Debug_083C2D79[] = _("FEーGYM07ーSWITCHー04"); + +static const struct MenuAction gUnknown_Debug_083C2D8C[] = { {gUnknown_Debug_083C2CC8, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2CE0, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2CF8, TomomichiDebugMenu_Config}, @@ -1152,17 +1152,17 @@ const struct MenuAction gUnknown_Debug_083C2D8C[] = { {gUnknown_Debug_083C2D79, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2DD4[] = _("FEーSUPPORTー01ーFIELDーR103"); -const u8 gUnknown_Debug_083C2DED[] = _("FEーSUPPORTー01ーFIELDーC106"); -const u8 gUnknown_Debug_083C2E06[] = _("FEーSUPPORTー01ーFIELDーR104"); -const u8 gUnknown_Debug_083C2E1F[] = _("FEーSUPPORTー02ーFIELDーC106"); -const u8 gUnknown_Debug_083C2E38[] = _("FEーSUPPORTー01ーT101ーR0202"); -const u8 gUnknown_Debug_083C2E51[] = _("FEーMAMAー01ーP01ーT101ーR0101"); -const u8 gUnknown_Debug_083C2E6B[] = _("FEーCLOCKーSET"); -const u8 gUnknown_Debug_083C2E78[] = _("FEーODAMAKIー01ーP01ーT101ーR03"); -const u8 gUnknown_Debug_083C2E93[] = _("FEーPAPAー01ーP01ーC101ーR0201"); - -const struct MenuAction gUnknown_Debug_083C2EB0[] = { +static const u8 gUnknown_Debug_083C2DD4[] = _("FEーSUPPORTー01ーFIELDーR103"); +static const u8 gUnknown_Debug_083C2DED[] = _("FEーSUPPORTー01ーFIELDーC106"); +static const u8 gUnknown_Debug_083C2E06[] = _("FEーSUPPORTー01ーFIELDーR104"); +static const u8 gUnknown_Debug_083C2E1F[] = _("FEーSUPPORTー02ーFIELDーC106"); +static const u8 gUnknown_Debug_083C2E38[] = _("FEーSUPPORTー01ーT101ーR0202"); +static const u8 gUnknown_Debug_083C2E51[] = _("FEーMAMAー01ーP01ーT101ーR0101"); +static const u8 gUnknown_Debug_083C2E6B[] = _("FEーCLOCKーSET"); +static const u8 gUnknown_Debug_083C2E78[] = _("FEーODAMAKIー01ーP01ーT101ーR03"); +static const u8 gUnknown_Debug_083C2E93[] = _("FEーPAPAー01ーP01ーC101ーR0201"); + +static const struct MenuAction gUnknown_Debug_083C2EB0[] = { {gUnknown_Debug_083C2DD4, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2DED, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2E06, TomomichiDebugMenu_Config}, @@ -1174,17 +1174,17 @@ const struct MenuAction gUnknown_Debug_083C2EB0[] = { {gUnknown_Debug_083C2E93, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C2EF8[] = _("FEーDAISUKIーGOODSーFLAG01"); -const u8 gUnknown_Debug_083C2F10[] = _("FEーDAISUKIーGOODSーFLAG02"); -const u8 gUnknown_Debug_083C2F28[] = _("FEーDAISUKIーGOODSーFLAG03"); -const u8 gUnknown_Debug_083C2F40[] = _("FEーDAISUKIーGOODSーFLAG04"); -const u8 gUnknown_Debug_083C2F58[] = _("FEーDAISUKIーGOODSーFLAG05"); -const u8 gUnknown_Debug_083C2F70[] = _("FEーBASHAー01ーP01ーFIELDーC101ー"); -const u8 gUnknown_Debug_083C2F8C[] = _("FEーBASHAー01ーP02ーFIELDーC101ー"); -const u8 gUnknown_Debug_083C2FA8[] = _("FEーBALLー01ーP01ーSPーCONTEST"); -const u8 gUnknown_Debug_083C2FC2[] = _("FEーWOMAN2ー01ーP01ーT101ーR0201"); - -const struct MenuAction gUnknown_Debug_083C2FE0[] = { +static const u8 gUnknown_Debug_083C2EF8[] = _("FEーDAISUKIーGOODSーFLAG01"); +static const u8 gUnknown_Debug_083C2F10[] = _("FEーDAISUKIーGOODSーFLAG02"); +static const u8 gUnknown_Debug_083C2F28[] = _("FEーDAISUKIーGOODSーFLAG03"); +static const u8 gUnknown_Debug_083C2F40[] = _("FEーDAISUKIーGOODSーFLAG04"); +static const u8 gUnknown_Debug_083C2F58[] = _("FEーDAISUKIーGOODSーFLAG05"); +static const u8 gUnknown_Debug_083C2F70[] = _("FEーBASHAー01ーP01ーFIELDーC101ー"); +static const u8 gUnknown_Debug_083C2F8C[] = _("FEーBASHAー01ーP02ーFIELDーC101ー"); +static const u8 gUnknown_Debug_083C2FA8[] = _("FEーBALLー01ーP01ーSPーCONTEST"); +static const u8 gUnknown_Debug_083C2FC2[] = _("FEーWOMAN2ー01ーP01ーT101ーR0201"); + +static const struct MenuAction gUnknown_Debug_083C2FE0[] = { {gUnknown_Debug_083C2EF8, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2F10, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C2F28, TomomichiDebugMenu_Config}, @@ -1196,17 +1196,17 @@ const struct MenuAction gUnknown_Debug_083C2FE0[] = { {gUnknown_Debug_083C2FC2, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C3028[] = _("FEーSOUKOーOPENーCAVEーD1704"); -const u8 gUnknown_Debug_083C3041[] = _("FEーSORAISIー01ーCAVEーD0101"); -const u8 gUnknown_Debug_083C305A[] = _("FEーMAYUMIー01ーーR114ーR0201"); -const u8 gUnknown_Debug_083C3073[] = _("FEーKUSUNOKIー01ーC102ーR0601"); -const u8 gUnknown_Debug_083C308D[] = _("FEーOLDWOMAN1ー01ーCAVEーD0808"); -const u8 gUnknown_Debug_083C30A8[] = _("FEーTRAINERM1ー01ーC109ーR0206"); -const u8 gUnknown_Debug_083C30C3[] = _("FEーSOONANOーTAMAGOーGET"); -const u8 gUnknown_Debug_083C30D9[] = _("FEーDASHーSHOESーGET"); -const u8 gUnknown_Debug_083C30EB[] = _("FEーDEBONSUKOOPUーGET"); - -const struct MenuAction gUnknown_Debug_083C3100[] = { +static const u8 gUnknown_Debug_083C3028[] = _("FEーSOUKOーOPENーCAVEーD1704"); +static const u8 gUnknown_Debug_083C3041[] = _("FEーSORAISIー01ーCAVEーD0101"); +static const u8 gUnknown_Debug_083C305A[] = _("FEーMAYUMIー01ーーR114ーR0201"); +static const u8 gUnknown_Debug_083C3073[] = _("FEーKUSUNOKIー01ーC102ーR0601"); +static const u8 gUnknown_Debug_083C308D[] = _("FEーOLDWOMAN1ー01ーCAVEーD0808"); +static const u8 gUnknown_Debug_083C30A8[] = _("FEーTRAINERM1ー01ーC109ーR0206"); +static const u8 gUnknown_Debug_083C30C3[] = _("FEーSOONANOーTAMAGOーGET"); +static const u8 gUnknown_Debug_083C30D9[] = _("FEーDASHーSHOESーGET"); +static const u8 gUnknown_Debug_083C30EB[] = _("FEーDEBONSUKOOPUーGET"); + +static const struct MenuAction gUnknown_Debug_083C3100[] = { {gUnknown_Debug_083C3028, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3041, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C305A, TomomichiDebugMenu_Config}, @@ -1218,17 +1218,17 @@ const struct MenuAction gUnknown_Debug_083C3100[] = { {gUnknown_Debug_083C30EB, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C3148[] = _("FEーSTUDYM1ー01ーP01ーT101R0301"); -const u8 gUnknown_Debug_083C3164[] = _("FEーWORKERM1ー01ーC103ーR0201"); -const u8 gUnknown_Debug_083C317E[] = _("FEーHIMITSUーGET"); -const u8 gUnknown_Debug_083C318D[] = _(""); -const u8 gUnknown_Debug_083C318E[] = _(""); -const u8 gUnknown_Debug_083C318F[] = _(""); -const u8 gUnknown_Debug_083C3190[] = _(""); -const u8 gUnknown_Debug_083C3191[] = _(""); -const u8 gUnknown_Debug_083C3192[] = _(""); - -const struct MenuAction gUnknown_Debug_083C3194[] = { +static const u8 gUnknown_Debug_083C3148[] = _("FEーSTUDYM1ー01ーP01ーT101R0301"); +static const u8 gUnknown_Debug_083C3164[] = _("FEーWORKERM1ー01ーC103ーR0201"); +static const u8 gUnknown_Debug_083C317E[] = _("FEーHIMITSUーGET"); +static const u8 gUnknown_Debug_083C318D[] = _(""); +static const u8 gUnknown_Debug_083C318E[] = _(""); +static const u8 gUnknown_Debug_083C318F[] = _(""); +static const u8 gUnknown_Debug_083C3190[] = _(""); +static const u8 gUnknown_Debug_083C3191[] = _(""); +static const u8 gUnknown_Debug_083C3192[] = _(""); + +static const struct MenuAction gUnknown_Debug_083C3194[] = { {gUnknown_Debug_083C3148, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3164, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C317E, TomomichiDebugMenu_Config}, @@ -1240,9 +1240,9 @@ const struct MenuAction gUnknown_Debug_083C3194[] = { {gUnknown_Debug_083C3192, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C31DC[] = {9, 9, 9, 9, 9, 9, 9, 9, 3}; +static const u8 gUnknown_Debug_083C31DC[] = {9, 9, 9, 9, 9, 9, 9, 9, 3}; -const u16 gUnknown_Debug_83C31E6[][9] = { +static const u16 gUnknown_Debug_83C31E6[][9] = { {FLAG_RECEIVED_HM01, FLAG_RECEIVED_HM02, FLAG_RECEIVED_HM03, FLAG_RECEIVED_HM04, FLAG_RECEIVED_HM05, FLAG_RECEIVED_HM06, FLAG_RETURNED_DEVON_GOODS, FLAG_DEVON_GOODS_STOLEN, FLAG_RECOVERED_DEVON_GOODS}, {FLAG_RECEIVED_BIKE, 0x05B, 0x05C, 0x05D, FLAG_RECEIVED_WAILMER_PAIL, FLAG_RECEIVED_POKEBLOCK_CASE, FLAG_RECEIVED_OLD_ROD, FLAG_RECEIVED_GOOD_ROD, FLAG_RECEIVED_SUPER_ROD}, {FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FLAG_EXCHANGED_SCANNER, FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN, FLAG_LEGENDARY_BATTLE_COMPLETED, FLAG_RECEIVED_REPEAT_BALL, FLAG_RECEIVED_SS_TICKET, FLAG_KECLEON_FLED_FORTREE, FLAG_RECEIVED_FOSSIL_MON, FLAG_DEFEATED_SS_TIDAL_TRAINERS}, @@ -1254,13 +1254,13 @@ const u16 gUnknown_Debug_83C31E6[][9] = { {FLAG_BIRCH_AIDE_MET, FLAG_DECLINED_BIKE, FLAG_RECEIVED_SECRET_POWER} }; -const u8 gUnknown_Debug_083C3288[] = _("CYCLEかんれん"); -const u8 gUnknown_Debug_083C3292[] = _("おおきさくらべ"); -const u8 gUnknown_Debug_083C329A[] = _("カウンタ"); -const u8 gUnknown_Debug_083C329F[] = _("そのた1"); -const u8 gUnknown_Debug_083C32A4[] = _("そのた2"); +static const u8 gUnknown_Debug_083C3288[] = _("CYCLEかんれん"); +static const u8 gUnknown_Debug_083C3292[] = _("おおきさくらべ"); +static const u8 gUnknown_Debug_083C329A[] = _("カウンタ"); +static const u8 gUnknown_Debug_083C329F[] = _("そのた1"); +static const u8 gUnknown_Debug_083C32A4[] = _("そのた2"); -const struct MenuAction gUnknown_Debug_083C32AC[] = { +static const struct MenuAction gUnknown_Debug_083C32AC[] = { {gUnknown_Debug_083C3288, debug_sub_808E400}, {gUnknown_Debug_083C3292, debug_sub_808E458}, {gUnknown_Debug_083C329A, debug_sub_808E4B0}, @@ -1268,48 +1268,48 @@ const struct MenuAction gUnknown_Debug_083C32AC[] = { {gUnknown_Debug_083C32A4, debug_sub_808E560} }; -const u8 gUnknown_Debug_083C32D4[] = _("WKーCYCLEーROADーHIT"); -const u8 gUnknown_Debug_083C32E6[] = _("WKーCYCLEーROADーTIMエ1"); -const u8 gUnknown_Debug_083C32FA[] = _("WKーCYCLEーROADーTIMエ2"); - -const u8 gUnknown_Debug_083C330E[] = _("WKーSIZEーKINOKOKOーOYAJI"); -const u8 gUnknown_Debug_083C3325[] = _("WKーSIZEーNAMAZOーOYAJI"); - -const u8 gUnknown_Debug_083C333A[] = _("WKーSPRAYーCOUNT"); -const u8 gUnknown_Debug_083C3349[] = _("WKーICEーCOUNT"); -const u8 gUnknown_Debug_083C3356[] = _("WKーASHーGATHERーCOUNT"); -const u8 gUnknown_Debug_083C336A[] = _("WKーCRUISEーCOUNT"); -const u8 gUnknown_Debug_083C337A[] = _("WKーFRIENDLYーSTEPーCOUNT"); -const u8 gUnknown_Debug_083C3391[] = _("WKーPOISONーSTEPーCOUNT"); - -const u8 gUnknown_Debug_083C33A6[] = _("WKRECYCLEーGOODS"); -const u8 gUnknown_Debug_083C33B6[] = _("WKーFIRSTーPOKE"); -const u8 gUnknown_Debug_083C33C4[] = _("WKーMABOROSIRNDーH"); -const u8 gUnknown_Debug_083C33D5[] = _("WKーMABOROSIRNDーL"); -const u8 gUnknown_Debug_083C33E6[] = _("EVーONEーDAYーWORK"); -const u8 gUnknown_Debug_083C33F6[] = _("EVーFANWORK"); -const u8 gUnknown_Debug_083C3401[] = _("EVーFANTIME"); -const u8 gUnknown_Debug_083C340C[] = _("WKーKARAKURIーLEVEL"); -const u8 gUnknown_Debug_083C341E[] = _("WKーPOKELOTーPRIZE"); - -const u8 gUnknown_Debug_083C342F[] = _("WKーSPECIALーZUKN"); -const u8 gUnknown_Debug_083C343F[] = _("WKーHYOUKAーDAYS"); -const u8 gUnknown_Debug_083C344E[] = _("WKーPOKELOTーRND1"); -const u8 gUnknown_Debug_083C345E[] = _("WKーPOKELOTーRND2"); -const u8 gUnknown_Debug_083C346E[] = _("WKーBASEーMAPNO"); - -const struct MenuAction gUnknown_Debug_083C347C[] = { +static const u8 gUnknown_Debug_083C32D4[] = _("WKーCYCLEーROADーHIT"); +static const u8 gUnknown_Debug_083C32E6[] = _("WKーCYCLEーROADーTIMエ1"); +static const u8 gUnknown_Debug_083C32FA[] = _("WKーCYCLEーROADーTIMエ2"); + +static const u8 gUnknown_Debug_083C330E[] = _("WKーSIZEーKINOKOKOーOYAJI"); +static const u8 gUnknown_Debug_083C3325[] = _("WKーSIZEーNAMAZOーOYAJI"); + +static const u8 gUnknown_Debug_083C333A[] = _("WKーSPRAYーCOUNT"); +static const u8 gUnknown_Debug_083C3349[] = _("WKーICEーCOUNT"); +static const u8 gUnknown_Debug_083C3356[] = _("WKーASHーGATHERーCOUNT"); +static const u8 gUnknown_Debug_083C336A[] = _("WKーCRUISEーCOUNT"); +static const u8 gUnknown_Debug_083C337A[] = _("WKーFRIENDLYーSTEPーCOUNT"); +static const u8 gUnknown_Debug_083C3391[] = _("WKーPOISONーSTEPーCOUNT"); + +static const u8 gUnknown_Debug_083C33A6[] = _("WKRECYCLEーGOODS"); +static const u8 gUnknown_Debug_083C33B6[] = _("WKーFIRSTーPOKE"); +static const u8 gUnknown_Debug_083C33C4[] = _("WKーMABOROSIRNDーH"); +static const u8 gUnknown_Debug_083C33D5[] = _("WKーMABOROSIRNDーL"); +static const u8 gUnknown_Debug_083C33E6[] = _("EVーONEーDAYーWORK"); +static const u8 gUnknown_Debug_083C33F6[] = _("EVーFANWORK"); +static const u8 gUnknown_Debug_083C3401[] = _("EVーFANTIME"); +static const u8 gUnknown_Debug_083C340C[] = _("WKーKARAKURIーLEVEL"); +static const u8 gUnknown_Debug_083C341E[] = _("WKーPOKELOTーPRIZE"); + +static const u8 gUnknown_Debug_083C342F[] = _("WKーSPECIALーZUKN"); +static const u8 gUnknown_Debug_083C343F[] = _("WKーHYOUKAーDAYS"); +static const u8 gUnknown_Debug_083C344E[] = _("WKーPOKELOTーRND1"); +static const u8 gUnknown_Debug_083C345E[] = _("WKーPOKELOTーRND2"); +static const u8 gUnknown_Debug_083C346E[] = _("WKーBASEーMAPNO"); + +static const struct MenuAction gUnknown_Debug_083C347C[] = { {gUnknown_Debug_083C32D4, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C32E6, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C32FA, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C3494[] = { +static const struct MenuAction gUnknown_Debug_083C3494[] = { {gUnknown_Debug_083C330E, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3325, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C34A4[] = { +static const struct MenuAction gUnknown_Debug_083C34A4[] = { {gUnknown_Debug_083C333A, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3349, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3356, TomomichiDebugMenu_Config}, @@ -1318,7 +1318,7 @@ const struct MenuAction gUnknown_Debug_083C34A4[] = { {gUnknown_Debug_083C3391, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C34D4[] = { +static const struct MenuAction gUnknown_Debug_083C34D4[] = { {gUnknown_Debug_083C33A6, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C33B6, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C33C4, TomomichiDebugMenu_Config}, @@ -1330,7 +1330,7 @@ const struct MenuAction gUnknown_Debug_083C34D4[] = { {gUnknown_Debug_083C341E, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C351C[] = { +static const struct MenuAction gUnknown_Debug_083C351C[] = { {gUnknown_Debug_083C342F, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C343F, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C344E, TomomichiDebugMenu_Config}, @@ -1338,9 +1338,9 @@ const struct MenuAction gUnknown_Debug_083C351C[] = { {gUnknown_Debug_083C346E, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C3544[] = {3, 2, 6, 9, 5}; +static const u8 gUnknown_Debug_083C3544[] = {3, 2, 6, 9, 5}; -const u16 gUnknown_Debug_083C354A[][9] = { +static const u16 gUnknown_Debug_083C354A[][9] = { {VAR_CYCLING_ROAD_RECORD_COLLISIONS, VAR_CYCLING_ROAD_RECORD_TIME_L, VAR_CYCLING_ROAD_RECORD_TIME_H}, {VAR_SHROOMISH_SIZE_RECORD, VAR_BARBOACH_SIZE_RECORD}, {VAR_REPEL_STEP_COUNT, VAR_ICE_STEP_COUNT, VAR_ASH_GATHER_COUNT, VAR_CRUISE_STEP_COUNT, VAR_HAPPINESS_STEP_COUNTER, VAR_POISON_STEP_COUNTER}, @@ -1348,33 +1348,33 @@ const u16 gUnknown_Debug_083C354A[][9] = { {VAR_NATIONAL_DEX, VAR_BIRCH_STATE, VAR_LOTTERY_RND_L, VAR_LOTTERY_RND_H, VAR_SECRET_BASE_MAP} }; -const u8 gUnknown_Debug_083C35A4[] = _("OBJCHRWORK0ー8"); -const u8 gUnknown_Debug_083C35B2[] = _("OBJCHRWORK9ー15"); +static const u8 gUnknown_Debug_083C35A4[] = _("OBJCHRWORK0ー8"); +static const u8 gUnknown_Debug_083C35B2[] = _("OBJCHRWORK9ー15"); -const struct MenuAction gUnknown_Debug_083C35C4[] = { +static const struct MenuAction gUnknown_Debug_083C35C4[] = { {gUnknown_Debug_083C35A4, debug_sub_808E9A0}, {gUnknown_Debug_083C35B2, debug_sub_808E9F8} }; -const u8 gUnknown_Debug_083C35D4[] = _("OBJCHRWORK1"); -const u8 gUnknown_Debug_083C35E0[] = _("OBJCHRWORK2"); -const u8 gUnknown_Debug_083C35EC[] = _("OBJCHRWORK3"); -const u8 gUnknown_Debug_083C35F8[] = _("OBJCHRWORK4"); -const u8 gUnknown_Debug_083C3604[] = _("OBJCHRWORK5"); -const u8 gUnknown_Debug_083C3610[] = _("OBJCHRWORK6"); -const u8 gUnknown_Debug_083C361C[] = _("OBJCHRWORK7"); -const u8 gUnknown_Debug_083C3628[] = _("OBJCHRWORK8"); -const u8 gUnknown_Debug_083C3634[] = _("OBJCHRWORK9"); - -const u8 gUnknown_Debug_083C3640[] = _("OBJCHRWORK10"); -const u8 gUnknown_Debug_083C364D[] = _("OBJCHRWORK11"); -const u8 gUnknown_Debug_083C365A[] = _("OBJCHRWORK12"); -const u8 gUnknown_Debug_083C3667[] = _("OBJCHRWORK13"); -const u8 gUnknown_Debug_083C3674[] = _("OBJCHRWORK14"); -const u8 gUnknown_Debug_083C3681[] = _("OBJCHRWORK15"); -const u8 gUnknown_Debug_083C368E[] = _("OBJCHRWORK16"); - -const struct MenuAction gUnknown_Debug_083C369C[] = { +static const u8 gUnknown_Debug_083C35D4[] = _("OBJCHRWORK1"); +static const u8 gUnknown_Debug_083C35E0[] = _("OBJCHRWORK2"); +static const u8 gUnknown_Debug_083C35EC[] = _("OBJCHRWORK3"); +static const u8 gUnknown_Debug_083C35F8[] = _("OBJCHRWORK4"); +static const u8 gUnknown_Debug_083C3604[] = _("OBJCHRWORK5"); +static const u8 gUnknown_Debug_083C3610[] = _("OBJCHRWORK6"); +static const u8 gUnknown_Debug_083C361C[] = _("OBJCHRWORK7"); +static const u8 gUnknown_Debug_083C3628[] = _("OBJCHRWORK8"); +static const u8 gUnknown_Debug_083C3634[] = _("OBJCHRWORK9"); + +static const u8 gUnknown_Debug_083C3640[] = _("OBJCHRWORK10"); +static const u8 gUnknown_Debug_083C364D[] = _("OBJCHRWORK11"); +static const u8 gUnknown_Debug_083C365A[] = _("OBJCHRWORK12"); +static const u8 gUnknown_Debug_083C3667[] = _("OBJCHRWORK13"); +static const u8 gUnknown_Debug_083C3674[] = _("OBJCHRWORK14"); +static const u8 gUnknown_Debug_083C3681[] = _("OBJCHRWORK15"); +static const u8 gUnknown_Debug_083C368E[] = _("OBJCHRWORK16"); + +static const struct MenuAction gUnknown_Debug_083C369C[] = { {gUnknown_Debug_083C35D4, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C35E0, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C35EC, TomomichiDebugMenu_Config}, @@ -1386,7 +1386,7 @@ const struct MenuAction gUnknown_Debug_083C369C[] = { {gUnknown_Debug_083C3634, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C36E4[] = { +static const struct MenuAction gUnknown_Debug_083C36E4[] = { {gUnknown_Debug_083C3640, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C364D, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C365A, TomomichiDebugMenu_Config}, @@ -1396,21 +1396,21 @@ const struct MenuAction gUnknown_Debug_083C36E4[] = { {gUnknown_Debug_083C368E, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C371C[] = {9, 7}; +static const u8 gUnknown_Debug_083C371C[] = {9, 7}; -const u16 gUnknown_Debug_083C371E[][9] = { +static const u16 gUnknown_Debug_083C371E[][9] = { {VAR_OBJ_GFX_ID_0, VAR_OBJ_GFX_ID_1, VAR_OBJ_GFX_ID_2, VAR_OBJ_GFX_ID_3, VAR_OBJ_GFX_ID_4, VAR_OBJ_GFX_ID_5, VAR_OBJ_GFX_ID_6, VAR_OBJ_GFX_ID_7, VAR_OBJ_GFX_ID_8}, {VAR_OBJ_GFX_ID_9, VAR_OBJ_GFX_ID_A, VAR_OBJ_GFX_ID_B, VAR_OBJ_GFX_ID_C, VAR_OBJ_GFX_ID_D, VAR_OBJ_GFX_ID_E, VAR_OBJ_GFX_ID_F} }; -const u8 gUnknown_Debug_083C3742[] = _("SP"); -const u8 gUnknown_Debug_083C3745[] = _("ルーム R110 PART1/カラクリ"); -const u8 gUnknown_Debug_083C3759[] = _("ルーム R110 PART2"); -const u8 gUnknown_Debug_083C3768[] = _("ルーム ロード"); -const u8 gUnknown_Debug_083C3770[] = _("ソノタ1"); -const u8 gUnknown_Debug_083C3775[] = _("ソノタ2"); +static const u8 gUnknown_Debug_083C3742[] = _("SP"); +static const u8 gUnknown_Debug_083C3745[] = _("ルーム R110 PART1/カラクリ"); +static const u8 gUnknown_Debug_083C3759[] = _("ルーム R110 PART2"); +static const u8 gUnknown_Debug_083C3768[] = _("ルーム ロード"); +static const u8 gUnknown_Debug_083C3770[] = _("ソノタ1"); +static const u8 gUnknown_Debug_083C3775[] = _("ソノタ2"); -const struct MenuAction gUnknown_Debug_083C377C[] = { +static const struct MenuAction gUnknown_Debug_083C377C[] = { {gUnknown_Debug_083C3742, debug_sub_808E054}, {gUnknown_Debug_083C3745, debug_sub_808E0AC}, {gUnknown_Debug_083C3759, debug_sub_808E104}, @@ -1419,67 +1419,67 @@ const struct MenuAction gUnknown_Debug_083C377C[] = { {gUnknown_Debug_083C3775, debug_sub_808E20C} }; -const u8 gUnknown_Debug_083C37AC[] = _("WKーSCENEーSPーCONTEST"); -const u8 gUnknown_Debug_083C37C0[] = _("WKーSCENEーSPーPC"); -const u8 gUnknown_Debug_083C37CF[] = _("WKーSCENEーSPーCONTEST03"); -const u8 gUnknown_Debug_083C37E5[] = _("WKーSCENEーSPーCONTESTITEM"); -const u8 gUnknown_Debug_083C37FD[] = _("WKーSCENEーSPーOPENING"); -const u8 gUnknown_Debug_083C3811[] = _("WKーSCENEーSPーSHIP01"); -const u8 gUnknown_Debug_083C3824[] = _(""); -const u8 gUnknown_Debug_083C3825[] = _(""); -const u8 gUnknown_Debug_083C3826[] = _(""); - -const u8 gUnknown_Debug_083C3827[] = _("WKーSCENEーR110ーR0101"); -const u8 gUnknown_Debug_083C383B[] = _("WKーSCENEーR110ーR0102"); -const u8 gUnknown_Debug_083C384F[] = _("WKーSCENEーR110ーR0103"); -const u8 gUnknown_Debug_083C3863[] = _("WKーKARAKURIーDAIOU"); -const u8 gUnknown_Debug_083C3875[] = _("WKーSCENEーSHISEN"); -const u8 gUnknown_Debug_083C3885[] = _(""); -const u8 gUnknown_Debug_083C3886[] = _(""); -const u8 gUnknown_Debug_083C3887[] = _(""); -const u8 gUnknown_Debug_083C3888[] = _(""); - -const u8 gUnknown_Debug_083C3889[] = _("WKーSCENEーR110ーR0104"); -const u8 gUnknown_Debug_083C389D[] = _("WKーSCENEーR110ーR0105"); -const u8 gUnknown_Debug_083C38B1[] = _("WKーSCENEーR110ーR0106"); -const u8 gUnknown_Debug_083C38C5[] = _("WKーSCENEーR110ーR0107"); -const u8 gUnknown_Debug_083C38D9[] = _("WKーSCENEーR110ーR0108"); -const u8 gUnknown_Debug_083C38ED[] = _("WKーSCENEーR110ーR0109"); -const u8 gUnknown_Debug_083C3901[] = _("WKーSCENEーR110ーR0110"); -const u8 gUnknown_Debug_083C3915[] = _("WKーSCENEーR110ーR0111"); -const u8 gUnknown_Debug_083C3929[] = _("WKーSCENEー02ーR110ーR0110"); - -const u8 gUnknown_Debug_083C3940[] = _("WKーSCENEーR104ーR0101"); -const u8 gUnknown_Debug_083C3954[] = _("WKーSCENEーR113ーR0101"); -const u8 gUnknown_Debug_083C3968[] = _(""); -const u8 gUnknown_Debug_083C3969[] = _(""); -const u8 gUnknown_Debug_083C396A[] = _(""); -const u8 gUnknown_Debug_083C396B[] = _(""); -const u8 gUnknown_Debug_083C396C[] = _(""); -const u8 gUnknown_Debug_083C396D[] = _(""); -const u8 gUnknown_Debug_083C396E[] = _(""); - -const u8 gUnknown_Debug_083C396F[] = _("WKーSCENEーBASEーGDOODS"); -const u8 gUnknown_Debug_083C3984[] = _("WKーSCENEーHAGIーFUNE"); -const u8 gUnknown_Debug_083C3997[] = _("WKーSCENEーFUNEーPOS"); -const u8 gUnknown_Debug_083C39A9[] = _("WKーSCENEーBASEーMAKE"); -const u8 gUnknown_Debug_083C39BC[] = _("WKーSCENEーARTISTーC106ーR"); -const u8 gUnknown_Debug_083C39D3[] = _("WKーSCENEーPOKEーLEAGUE"); -const u8 gUnknown_Debug_083C39E8[] = _("WKーSCENEーROPEWAY"); -const u8 gUnknown_Debug_083C39F9[] = _("WKーSCENEーSAFARIーZONE"); -const u8 gUnknown_Debug_083C3A0E[] = _("WKーSCENEーCYCLEーROAD"); - -const u8 gUnknown_Debug_083C3A22[] = _("WKーSCENEーR119ーTENKI"); -const u8 gUnknown_Debug_083C3A36[] = _("WKーSCENEー01ーC102ーR0401"); -const u8 gUnknown_Debug_083C3A4D[] = _("WKーFUTAGOー01ーFIELDーR104"); -const u8 gUnknown_Debug_083C3A65[] = _("WKーSCENEーBATTLEーTOWER"); -const u8 gUnknown_Debug_083C3A7B[] = _("WKーSCENEーTRーHOUSE"); -const u8 gUnknown_Debug_083C3A8D[] = _("WKーKASEKIーTYPE"); -const u8 gUnknown_Debug_083C3A9C[] = _(""); -const u8 gUnknown_Debug_083C3A9D[] = _(""); -const u8 gUnknown_Debug_083C3A9E[] = _(""); - -const struct MenuAction gUnknown_Debug_083C3AA0[] = { +static const u8 gUnknown_Debug_083C37AC[] = _("WKーSCENEーSPーCONTEST"); +static const u8 gUnknown_Debug_083C37C0[] = _("WKーSCENEーSPーPC"); +static const u8 gUnknown_Debug_083C37CF[] = _("WKーSCENEーSPーCONTEST03"); +static const u8 gUnknown_Debug_083C37E5[] = _("WKーSCENEーSPーCONTESTITEM"); +static const u8 gUnknown_Debug_083C37FD[] = _("WKーSCENEーSPーOPENING"); +static const u8 gUnknown_Debug_083C3811[] = _("WKーSCENEーSPーSHIP01"); +static const u8 gUnknown_Debug_083C3824[] = _(""); +static const u8 gUnknown_Debug_083C3825[] = _(""); +static const u8 gUnknown_Debug_083C3826[] = _(""); + +static const u8 gUnknown_Debug_083C3827[] = _("WKーSCENEーR110ーR0101"); +static const u8 gUnknown_Debug_083C383B[] = _("WKーSCENEーR110ーR0102"); +static const u8 gUnknown_Debug_083C384F[] = _("WKーSCENEーR110ーR0103"); +static const u8 gUnknown_Debug_083C3863[] = _("WKーKARAKURIーDAIOU"); +static const u8 gUnknown_Debug_083C3875[] = _("WKーSCENEーSHISEN"); +static const u8 gUnknown_Debug_083C3885[] = _(""); +static const u8 gUnknown_Debug_083C3886[] = _(""); +static const u8 gUnknown_Debug_083C3887[] = _(""); +static const u8 gUnknown_Debug_083C3888[] = _(""); + +static const u8 gUnknown_Debug_083C3889[] = _("WKーSCENEーR110ーR0104"); +static const u8 gUnknown_Debug_083C389D[] = _("WKーSCENEーR110ーR0105"); +static const u8 gUnknown_Debug_083C38B1[] = _("WKーSCENEーR110ーR0106"); +static const u8 gUnknown_Debug_083C38C5[] = _("WKーSCENEーR110ーR0107"); +static const u8 gUnknown_Debug_083C38D9[] = _("WKーSCENEーR110ーR0108"); +static const u8 gUnknown_Debug_083C38ED[] = _("WKーSCENEーR110ーR0109"); +static const u8 gUnknown_Debug_083C3901[] = _("WKーSCENEーR110ーR0110"); +static const u8 gUnknown_Debug_083C3915[] = _("WKーSCENEーR110ーR0111"); +static const u8 gUnknown_Debug_083C3929[] = _("WKーSCENEー02ーR110ーR0110"); + +static const u8 gUnknown_Debug_083C3940[] = _("WKーSCENEーR104ーR0101"); +static const u8 gUnknown_Debug_083C3954[] = _("WKーSCENEーR113ーR0101"); +static const u8 gUnknown_Debug_083C3968[] = _(""); +static const u8 gUnknown_Debug_083C3969[] = _(""); +static const u8 gUnknown_Debug_083C396A[] = _(""); +static const u8 gUnknown_Debug_083C396B[] = _(""); +static const u8 gUnknown_Debug_083C396C[] = _(""); +static const u8 gUnknown_Debug_083C396D[] = _(""); +static const u8 gUnknown_Debug_083C396E[] = _(""); + +static const u8 gUnknown_Debug_083C396F[] = _("WKーSCENEーBASEーGDOODS"); +static const u8 gUnknown_Debug_083C3984[] = _("WKーSCENEーHAGIーFUNE"); +static const u8 gUnknown_Debug_083C3997[] = _("WKーSCENEーFUNEーPOS"); +static const u8 gUnknown_Debug_083C39A9[] = _("WKーSCENEーBASEーMAKE"); +static const u8 gUnknown_Debug_083C39BC[] = _("WKーSCENEーARTISTーC106ーR"); +static const u8 gUnknown_Debug_083C39D3[] = _("WKーSCENEーPOKEーLEAGUE"); +static const u8 gUnknown_Debug_083C39E8[] = _("WKーSCENEーROPEWAY"); +static const u8 gUnknown_Debug_083C39F9[] = _("WKーSCENEーSAFARIーZONE"); +static const u8 gUnknown_Debug_083C3A0E[] = _("WKーSCENEーCYCLEーROAD"); + +static const u8 gUnknown_Debug_083C3A22[] = _("WKーSCENEーR119ーTENKI"); +static const u8 gUnknown_Debug_083C3A36[] = _("WKーSCENEー01ーC102ーR0401"); +static const u8 gUnknown_Debug_083C3A4D[] = _("WKーFUTAGOー01ーFIELDーR104"); +static const u8 gUnknown_Debug_083C3A65[] = _("WKーSCENEーBATTLEーTOWER"); +static const u8 gUnknown_Debug_083C3A7B[] = _("WKーSCENEーTRーHOUSE"); +static const u8 gUnknown_Debug_083C3A8D[] = _("WKーKASEKIーTYPE"); +static const u8 gUnknown_Debug_083C3A9C[] = _(""); +static const u8 gUnknown_Debug_083C3A9D[] = _(""); +static const u8 gUnknown_Debug_083C3A9E[] = _(""); + +static const struct MenuAction gUnknown_Debug_083C3AA0[] = { {gUnknown_Debug_083C37AC, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C37C0, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C37CF, TomomichiDebugMenu_Config}, @@ -1490,7 +1490,7 @@ const struct MenuAction gUnknown_Debug_083C3AA0[] = { {gUnknown_Debug_083C3825, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_83C3AE0[] = { +static const struct MenuAction gUnknown_Debug_83C3AE0[] = { {gUnknown_Debug_083C3827, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C383B, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C384F, TomomichiDebugMenu_Config}, @@ -1502,7 +1502,7 @@ const struct MenuAction gUnknown_Debug_83C3AE0[] = { {gUnknown_Debug_083C3888, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_83C3B28[] = { +static const struct MenuAction gUnknown_Debug_83C3B28[] = { {gUnknown_Debug_083C3889, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C389D, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C38B1, TomomichiDebugMenu_Config}, @@ -1514,7 +1514,7 @@ const struct MenuAction gUnknown_Debug_83C3B28[] = { {gUnknown_Debug_083C3929, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_83C3B70[] = { +static const struct MenuAction gUnknown_Debug_83C3B70[] = { {gUnknown_Debug_083C3940, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3954, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3968, TomomichiDebugMenu_Config}, @@ -1526,7 +1526,7 @@ const struct MenuAction gUnknown_Debug_83C3B70[] = { {gUnknown_Debug_083C396E, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_83C3BB8[] = { +static const struct MenuAction gUnknown_Debug_83C3BB8[] = { {gUnknown_Debug_083C396F, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3984, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3997, TomomichiDebugMenu_Config}, @@ -1538,7 +1538,7 @@ const struct MenuAction gUnknown_Debug_83C3BB8[] = { {gUnknown_Debug_083C3A0E, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_83C3C00[] = { +static const struct MenuAction gUnknown_Debug_83C3C00[] = { {gUnknown_Debug_083C3A22, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3A36, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3A4D, TomomichiDebugMenu_Config}, @@ -1550,9 +1550,9 @@ const struct MenuAction gUnknown_Debug_83C3C00[] = { {gUnknown_Debug_083C3A9E, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C3C48[] = {6, 5, 9, 2, 9, 6}; +static const u8 gUnknown_Debug_083C3C48[] = {6, 5, 9, 2, 9, 6}; -const u16 gUnknown_Debug_83C3C4E[][9] = { +static const u16 gUnknown_Debug_83C3C4E[][9] = { {VAR_LINK_CONTEST_ROOM_STATE, VAR_CABLE_CLUB_STATE, VAR_CONTEST_LOCATION, VAR_CONTEST_PRIZE_PICKUP, VAR_LITTLEROOT_INTRO_STATE, VAR_PORTHOLE_STATE}, {VAR_TRICK_HOUSE_ENTRANCE_STATE_2, VAR_TRICK_HOUSE_PRIZE_PICKUP, VAR_TRICK_HOUSE_STATE, VAR_TRICK_HOUSE_ENTRANCE_STATE_3, VAR_TRICK_HOUSE_ENTRANCE_STATE}, {VAR_TRICK_HOUSE_PUZZLE_1_STATE, VAR_TRICK_HOUSE_PUZZLE_2_STATE, VAR_TRICK_HOUSE_PUZZLE_3_STATE, VAR_TRICK_HOUSE_PUZZLE_4_STATE, VAR_TRICK_HOUSE_PUZZLE_5_STATE, VAR_TRICK_HOUSE_PUZZLE_6_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE, VAR_TRICK_HOUSE_PUZZLE_8_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE_2}, @@ -1561,17 +1561,17 @@ const u16 gUnknown_Debug_83C3C4E[][9] = { {VAR_WEATHER_INSTITUTE_STATE, VAR_SLATEPORT_FAN_CLUB_STATE, 0x40BB, VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, VAR_GAME_CORNER_STATE, VAR_WHICH_FOSSIL_REVIVED} }; -const u8 gUnknown_Debug_083C3CBA[] = _("タウン"); -const u8 gUnknown_Debug_083C3CBE[] = _("シティ"); -const u8 gUnknown_Debug_083C3CC2[] = _("ロード101ー109"); -const u8 gUnknown_Debug_083C3CCD[] = _("ロード110ー118"); -const u8 gUnknown_Debug_083C3CD8[] = _("ロード119ー127"); -const u8 gUnknown_Debug_083C3CE3[] = _("ロード128ー134"); -const u8 gUnknown_Debug_083C3CEE[] = _("ルーム タウン"); -const u8 gUnknown_Debug_083C3CF6[] = _("ルーム シティ"); -const u8 gUnknown_Debug_083C3CFE[] = _("ダンジョンない"); - -const struct MenuAction gUnknown_Debug_083C3D08[] = { +static const u8 gUnknown_Debug_083C3CBA[] = _("タウン"); +static const u8 gUnknown_Debug_083C3CBE[] = _("シティ"); +static const u8 gUnknown_Debug_083C3CC2[] = _("ロード101ー109"); +static const u8 gUnknown_Debug_083C3CCD[] = _("ロード110ー118"); +static const u8 gUnknown_Debug_083C3CD8[] = _("ロード119ー127"); +static const u8 gUnknown_Debug_083C3CE3[] = _("ロード128ー134"); +static const u8 gUnknown_Debug_083C3CEE[] = _("ルーム タウン"); +static const u8 gUnknown_Debug_083C3CF6[] = _("ルーム シティ"); +static const u8 gUnknown_Debug_083C3CFE[] = _("ダンジョンない"); + +static const struct MenuAction gUnknown_Debug_083C3D08[] = { {gUnknown_Debug_083C3CBA, debug_sub_808DBA0}, {gUnknown_Debug_083C3CBE, debug_sub_808DBF8}, {gUnknown_Debug_083C3CC2, debug_sub_808DC50}, @@ -1583,91 +1583,91 @@ const struct MenuAction gUnknown_Debug_083C3D08[] = { {gUnknown_Debug_083C3CFE, debug_sub_808DE60} }; -const u8 gUnknown_Debug_083C3D50[] = _("WKーSCENEーFIELDーT101"); -const u8 gUnknown_Debug_083C3D64[] = _("WKーSCENEーFIELDーT102"); -const u8 gUnknown_Debug_083C3D78[] = _("WKーSCENEーFIELDーT103"); -const u8 gUnknown_Debug_083C3D8C[] = _("WKーSCENEーFIELDーT104"); -const u8 gUnknown_Debug_083C3DA0[] = _("WKーBASEーPOSNO"); -const u8 gUnknown_Debug_083C3DAE[] = _("WKーSCENEーFIELDーT106"); -const u8 gUnknown_Debug_083C3DC2[] = _("WKーSCENEーFIELDーT107"); -const u8 gUnknown_Debug_083C3DD6[] = _("WKーSCENEー02ーFIELDーT102"); - -const u8 gUnknown_Debug_083C3DED[] = _("WKーSCENEーFIELDーC101"); -const u8 gUnknown_Debug_083C3E01[] = _("WKーSCENEーFIELDーC102"); -const u8 gUnknown_Debug_083C3E15[] = _("WKーSCENEーFIELDーC103"); -const u8 gUnknown_Debug_083C3E29[] = _("WKーSCENEーFIELDーC104"); -const u8 gUnknown_Debug_083C3E3D[] = _("WKーSCENEーFIELDーC105"); -const u8 gUnknown_Debug_083C3E51[] = _("WKーSCENEーFIELDーC106"); -const u8 gUnknown_Debug_083C3E65[] = _("WKーSCENEーFIELDーC107"); -const u8 gUnknown_Debug_083C3E79[] = _("WKーSCENEーFIELDーC108"); -const u8 gUnknown_Debug_083C3E8D[] = _("WKーSCENEーFIELDーC109"); - -const u8 gUnknown_Debug_083C3EA1[] = _("WKーSCENEーFIELDーR101"); -const u8 gUnknown_Debug_083C3EB5[] = _("WKーSCENEーFIELDーR102"); -const u8 gUnknown_Debug_083C3EC9[] = _("WKーSCENEーFIELDーR103"); -const u8 gUnknown_Debug_083C3EDD[] = _("WKーSCENEーFIELDーR104"); -const u8 gUnknown_Debug_083C3EF1[] = _("WKーSCENEーFIELDーR105"); -const u8 gUnknown_Debug_083C3F05[] = _("WKーSCENEーFIELDーR106"); -const u8 gUnknown_Debug_083C3F19[] = _("WKーSCENEーFIELDーR107"); -const u8 gUnknown_Debug_083C3F2D[] = _("WKーSCENEーFIELDーR108"); -const u8 gUnknown_Debug_083C3F41[] = _("WKーSCENEーFIELDーR109"); - -const u8 gUnknown_Debug_083C3F55[] = _("WKーSCENEーFIELDーR110"); -const u8 gUnknown_Debug_083C3F69[] = _("WKーSCENEーFIELDーR111"); -const u8 gUnknown_Debug_083C3F7D[] = _("WKーSCENEーFIELDーR112"); -const u8 gUnknown_Debug_083C3F91[] = _("WKーSCENEーFIELDーR113"); -const u8 gUnknown_Debug_083C3FA5[] = _("WKーSCENEーFIELDーR114"); -const u8 gUnknown_Debug_083C3FB9[] = _("WKーSCENEーFIELDーR115"); -const u8 gUnknown_Debug_083C3FCD[] = _("WKーSCENEーFIELDーR116"); -const u8 gUnknown_Debug_083C3FE1[] = _("WKーSCENEーFIELDーR117"); -const u8 gUnknown_Debug_083C3FF5[] = _("WKーSCENEーFIELDーR118"); - -const u8 gUnknown_Debug_083C4009[] = _("WKーSCENEーFIELDーR119"); -const u8 gUnknown_Debug_083C401D[] = _("WKーSCENEーFIELDーR120"); -const u8 gUnknown_Debug_083C4031[] = _("WKーSCENEーFIELDーR121"); -const u8 gUnknown_Debug_083C4045[] = _("WKーSCENEーFIELDーR122"); -const u8 gUnknown_Debug_083C4059[] = _("WKーSCENEーFIELDーR123"); -const u8 gUnknown_Debug_083C406D[] = _("WKーSCENEーFIELDーR124"); -const u8 gUnknown_Debug_083C4081[] = _("WKーSCENEーFIELDーR125"); -const u8 gUnknown_Debug_083C4095[] = _("WKーSCENEーFIELDーR126"); -const u8 gUnknown_Debug_083C40A9[] = _("WKーSCENEーFIELDーR127"); - -const u8 gUnknown_Debug_083C40BD[] = _("WKーSCENEーFIELDーR128"); -const u8 gUnknown_Debug_083C40D1[] = _("WKーSCENEーFIELDーR129"); -const u8 gUnknown_Debug_083C40E5[] = _("WKーSCENEーFIELDーR130"); -const u8 gUnknown_Debug_083C40F9[] = _("WKーSCENEーFIELDーR131"); -const u8 gUnknown_Debug_083C410D[] = _("WKーSCENEーFIELDーR132"); -const u8 gUnknown_Debug_083C4121[] = _("WKーSCENEーFIELDーR133"); -const u8 gUnknown_Debug_083C4135[] = _("WKーSCENEーFIELDーR134"); - -const u8 gUnknown_Debug_083C4149[] = _("WKーSCENEーT101ーR0101"); -const u8 gUnknown_Debug_083C415D[] = _("WKーSCENEーT101ーR0102"); -const u8 gUnknown_Debug_083C4171[] = _("WKーSCENEーT101ーR0301"); -const u8 gUnknown_Debug_083C4185[] = _("WKーSCENEーT101ーR0201"); -const u8 gUnknown_Debug_083C4199[] = _("WKーSCENEーT101ーR0202"); -const u8 gUnknown_Debug_083C41AD[] = _("WKーSCENEーT107ーR0201"); - -const u8 gUnknown_Debug_083C41C1[] = _("WKーSCENEーC101ーR0201"); -const u8 gUnknown_Debug_083C41D5[] = _("WKーSCENEーC104ーR0103"); -const u8 gUnknown_Debug_083C41E9[] = _("WKーSCENEーC103ーR0101"); -const u8 gUnknown_Debug_083C41FD[] = _("WKーSCENEーC106ーR0202"); -const u8 gUnknown_Debug_083C4211[] = _("WKーSCENEーC106ーR0401"); -const u8 gUnknown_Debug_083C4225[] = _("WKーSCENEーC102ーR0601"); -const u8 gUnknown_Debug_083C4239[] = _("WKーSCENEーC102ーR0501"); -const u8 gUnknown_Debug_083C424D[] = _("WKーSCENEーC104ーR0102"); -const u8 gUnknown_Debug_083C4261[] = _("WKーSCENEーC107ーR0501"); - -const u8 gUnknown_Debug_083C4275[] = _("WKーSCENEーCAVEーD0601"); -const u8 gUnknown_Debug_083C4289[] = _("WKーSCENEーCAVEーD0201"); -const u8 gUnknown_Debug_083C429D[] = _("WKーSCENEーCAVEーD1206"); -const u8 gUnknown_Debug_083C42B1[] = _("WKーSCENEーCAVEーD1111"); -const u8 gUnknown_Debug_083C42C5[] = _("WKーSCENEーCAVEーD0701"); -const u8 gUnknown_Debug_083C42D9[] = _("WKーSCENEーCAVEーD0808"); -const u8 gUnknown_Debug_083C42ED[] = _("WKーSCENEーCAVEーD1602"); -const u8 gUnknown_Debug_083C4301[] = _("WKーSCENEーCAVEーD0101"); -const u8 gUnknown_Debug_083C4315[] = _("WKーSCENEーCAVEーD1301"); - -const struct MenuAction gUnknown_Debug_083C432C[] = { +static const u8 gUnknown_Debug_083C3D50[] = _("WKーSCENEーFIELDーT101"); +static const u8 gUnknown_Debug_083C3D64[] = _("WKーSCENEーFIELDーT102"); +static const u8 gUnknown_Debug_083C3D78[] = _("WKーSCENEーFIELDーT103"); +static const u8 gUnknown_Debug_083C3D8C[] = _("WKーSCENEーFIELDーT104"); +static const u8 gUnknown_Debug_083C3DA0[] = _("WKーBASEーPOSNO"); +static const u8 gUnknown_Debug_083C3DAE[] = _("WKーSCENEーFIELDーT106"); +static const u8 gUnknown_Debug_083C3DC2[] = _("WKーSCENEーFIELDーT107"); +static const u8 gUnknown_Debug_083C3DD6[] = _("WKーSCENEー02ーFIELDーT102"); + +static const u8 gUnknown_Debug_083C3DED[] = _("WKーSCENEーFIELDーC101"); +static const u8 gUnknown_Debug_083C3E01[] = _("WKーSCENEーFIELDーC102"); +static const u8 gUnknown_Debug_083C3E15[] = _("WKーSCENEーFIELDーC103"); +static const u8 gUnknown_Debug_083C3E29[] = _("WKーSCENEーFIELDーC104"); +static const u8 gUnknown_Debug_083C3E3D[] = _("WKーSCENEーFIELDーC105"); +static const u8 gUnknown_Debug_083C3E51[] = _("WKーSCENEーFIELDーC106"); +static const u8 gUnknown_Debug_083C3E65[] = _("WKーSCENEーFIELDーC107"); +static const u8 gUnknown_Debug_083C3E79[] = _("WKーSCENEーFIELDーC108"); +static const u8 gUnknown_Debug_083C3E8D[] = _("WKーSCENEーFIELDーC109"); + +static const u8 gUnknown_Debug_083C3EA1[] = _("WKーSCENEーFIELDーR101"); +static const u8 gUnknown_Debug_083C3EB5[] = _("WKーSCENEーFIELDーR102"); +static const u8 gUnknown_Debug_083C3EC9[] = _("WKーSCENEーFIELDーR103"); +static const u8 gUnknown_Debug_083C3EDD[] = _("WKーSCENEーFIELDーR104"); +static const u8 gUnknown_Debug_083C3EF1[] = _("WKーSCENEーFIELDーR105"); +static const u8 gUnknown_Debug_083C3F05[] = _("WKーSCENEーFIELDーR106"); +static const u8 gUnknown_Debug_083C3F19[] = _("WKーSCENEーFIELDーR107"); +static const u8 gUnknown_Debug_083C3F2D[] = _("WKーSCENEーFIELDーR108"); +static const u8 gUnknown_Debug_083C3F41[] = _("WKーSCENEーFIELDーR109"); + +static const u8 gUnknown_Debug_083C3F55[] = _("WKーSCENEーFIELDーR110"); +static const u8 gUnknown_Debug_083C3F69[] = _("WKーSCENEーFIELDーR111"); +static const u8 gUnknown_Debug_083C3F7D[] = _("WKーSCENEーFIELDーR112"); +static const u8 gUnknown_Debug_083C3F91[] = _("WKーSCENEーFIELDーR113"); +static const u8 gUnknown_Debug_083C3FA5[] = _("WKーSCENEーFIELDーR114"); +static const u8 gUnknown_Debug_083C3FB9[] = _("WKーSCENEーFIELDーR115"); +static const u8 gUnknown_Debug_083C3FCD[] = _("WKーSCENEーFIELDーR116"); +static const u8 gUnknown_Debug_083C3FE1[] = _("WKーSCENEーFIELDーR117"); +static const u8 gUnknown_Debug_083C3FF5[] = _("WKーSCENEーFIELDーR118"); + +static const u8 gUnknown_Debug_083C4009[] = _("WKーSCENEーFIELDーR119"); +static const u8 gUnknown_Debug_083C401D[] = _("WKーSCENEーFIELDーR120"); +static const u8 gUnknown_Debug_083C4031[] = _("WKーSCENEーFIELDーR121"); +static const u8 gUnknown_Debug_083C4045[] = _("WKーSCENEーFIELDーR122"); +static const u8 gUnknown_Debug_083C4059[] = _("WKーSCENEーFIELDーR123"); +static const u8 gUnknown_Debug_083C406D[] = _("WKーSCENEーFIELDーR124"); +static const u8 gUnknown_Debug_083C4081[] = _("WKーSCENEーFIELDーR125"); +static const u8 gUnknown_Debug_083C4095[] = _("WKーSCENEーFIELDーR126"); +static const u8 gUnknown_Debug_083C40A9[] = _("WKーSCENEーFIELDーR127"); + +static const u8 gUnknown_Debug_083C40BD[] = _("WKーSCENEーFIELDーR128"); +static const u8 gUnknown_Debug_083C40D1[] = _("WKーSCENEーFIELDーR129"); +static const u8 gUnknown_Debug_083C40E5[] = _("WKーSCENEーFIELDーR130"); +static const u8 gUnknown_Debug_083C40F9[] = _("WKーSCENEーFIELDーR131"); +static const u8 gUnknown_Debug_083C410D[] = _("WKーSCENEーFIELDーR132"); +static const u8 gUnknown_Debug_083C4121[] = _("WKーSCENEーFIELDーR133"); +static const u8 gUnknown_Debug_083C4135[] = _("WKーSCENEーFIELDーR134"); + +static const u8 gUnknown_Debug_083C4149[] = _("WKーSCENEーT101ーR0101"); +static const u8 gUnknown_Debug_083C415D[] = _("WKーSCENEーT101ーR0102"); +static const u8 gUnknown_Debug_083C4171[] = _("WKーSCENEーT101ーR0301"); +static const u8 gUnknown_Debug_083C4185[] = _("WKーSCENEーT101ーR0201"); +static const u8 gUnknown_Debug_083C4199[] = _("WKーSCENEーT101ーR0202"); +static const u8 gUnknown_Debug_083C41AD[] = _("WKーSCENEーT107ーR0201"); + +static const u8 gUnknown_Debug_083C41C1[] = _("WKーSCENEーC101ーR0201"); +static const u8 gUnknown_Debug_083C41D5[] = _("WKーSCENEーC104ーR0103"); +static const u8 gUnknown_Debug_083C41E9[] = _("WKーSCENEーC103ーR0101"); +static const u8 gUnknown_Debug_083C41FD[] = _("WKーSCENEーC106ーR0202"); +static const u8 gUnknown_Debug_083C4211[] = _("WKーSCENEーC106ーR0401"); +static const u8 gUnknown_Debug_083C4225[] = _("WKーSCENEーC102ーR0601"); +static const u8 gUnknown_Debug_083C4239[] = _("WKーSCENEーC102ーR0501"); +static const u8 gUnknown_Debug_083C424D[] = _("WKーSCENEーC104ーR0102"); +static const u8 gUnknown_Debug_083C4261[] = _("WKーSCENEーC107ーR0501"); + +static const u8 gUnknown_Debug_083C4275[] = _("WKーSCENEーCAVEーD0601"); +static const u8 gUnknown_Debug_083C4289[] = _("WKーSCENEーCAVEーD0201"); +static const u8 gUnknown_Debug_083C429D[] = _("WKーSCENEーCAVEーD1206"); +static const u8 gUnknown_Debug_083C42B1[] = _("WKーSCENEーCAVEーD1111"); +static const u8 gUnknown_Debug_083C42C5[] = _("WKーSCENEーCAVEーD0701"); +static const u8 gUnknown_Debug_083C42D9[] = _("WKーSCENEーCAVEーD0808"); +static const u8 gUnknown_Debug_083C42ED[] = _("WKーSCENEーCAVEーD1602"); +static const u8 gUnknown_Debug_083C4301[] = _("WKーSCENEーCAVEーD0101"); +static const u8 gUnknown_Debug_083C4315[] = _("WKーSCENEーCAVEーD1301"); + +static const struct MenuAction gUnknown_Debug_083C432C[] = { {gUnknown_Debug_083C3D50, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3D64, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3D78, TomomichiDebugMenu_Config}, @@ -1678,7 +1678,7 @@ const struct MenuAction gUnknown_Debug_083C432C[] = { {gUnknown_Debug_083C3DD6, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C436C[] = { +static const struct MenuAction gUnknown_Debug_083C436C[] = { {gUnknown_Debug_083C3DED, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3E01, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3E15, TomomichiDebugMenu_Config}, @@ -1690,7 +1690,7 @@ const struct MenuAction gUnknown_Debug_083C436C[] = { {gUnknown_Debug_083C3E8D, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C43B4[] = { +static const struct MenuAction gUnknown_Debug_083C43B4[] = { {gUnknown_Debug_083C3EA1, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3EB5, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3EC9, TomomichiDebugMenu_Config}, @@ -1702,7 +1702,7 @@ const struct MenuAction gUnknown_Debug_083C43B4[] = { {gUnknown_Debug_083C3F41, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C43FC[] = { +static const struct MenuAction gUnknown_Debug_083C43FC[] = { {gUnknown_Debug_083C3F55, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3F69, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C3F7D, TomomichiDebugMenu_Config}, @@ -1714,7 +1714,7 @@ const struct MenuAction gUnknown_Debug_083C43FC[] = { {gUnknown_Debug_083C3FF5, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C4444[] = { +static const struct MenuAction gUnknown_Debug_083C4444[] = { {gUnknown_Debug_083C4009, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C401D, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C4031, TomomichiDebugMenu_Config}, @@ -1726,7 +1726,7 @@ const struct MenuAction gUnknown_Debug_083C4444[] = { {gUnknown_Debug_083C40A9, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C448C[] = { +static const struct MenuAction gUnknown_Debug_083C448C[] = { {gUnknown_Debug_083C40BD, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C40D1, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C40E5, TomomichiDebugMenu_Config}, @@ -1736,7 +1736,7 @@ const struct MenuAction gUnknown_Debug_083C448C[] = { {gUnknown_Debug_083C4135, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_83C44C4[] = { +static const struct MenuAction gUnknown_Debug_83C44C4[] = { {gUnknown_Debug_083C4149, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C415D, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C4171, TomomichiDebugMenu_Config}, @@ -1744,7 +1744,7 @@ const struct MenuAction gUnknown_Debug_83C44C4[] = { {gUnknown_Debug_083C4199, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_83C44EC[] = { +static const struct MenuAction gUnknown_Debug_83C44EC[] = { {gUnknown_Debug_083C41C1, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C41D5, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C41E9, TomomichiDebugMenu_Config}, @@ -1756,7 +1756,7 @@ const struct MenuAction gUnknown_Debug_83C44EC[] = { {gUnknown_Debug_083C4261, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C4534[] = { +static const struct MenuAction gUnknown_Debug_083C4534[] = { {gUnknown_Debug_083C4275, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C4289, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C429D, TomomichiDebugMenu_Config}, @@ -1768,9 +1768,9 @@ const struct MenuAction gUnknown_Debug_083C4534[] = { {gUnknown_Debug_083C4315, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9}; +static const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9}; -const u16 gUnknown_Debug_083C4586[][9] = { +static const u16 gUnknown_Debug_083C4586[][9] = { {VAR_LITTLEROOT_STATE, VAR_ROUTE102_ACCESSIBLE, 0x4052, VAR_LAVARIDGE_RIVAL_STATE, VAR_CURRENT_SECRET_BASE, 0x4055, 0x4056, VAR_OLDALE_STATE}, {VAR_PETALBURG_STATE, VAR_SLATEPORT_STATE, 0x4059, VAR_RUSTBORO_STATE, 0x405B, 0x405C, 0x405D, VAR_SOOTOPOLIS_STATE, 0x405F}, {VAR_ROUTE101_STATE, 0x4061, VAR_ROUTE103_STATE, 0x4063, 0x4064, 0x4065, 0x4066, 0x4067, 0x4068}, @@ -1782,33 +1782,33 @@ const u16 gUnknown_Debug_083C4586[][9] = { {VAR_PETALBURG_WOODS_STATE, VAR_RUSTURF_TUNNEL_STATE, VAR_CAVE_OF_ORIGIN_B4F_STATE, VAR_SEAFLOOR_CAVERN_STATE, 0x40A8, VAR_MT_PYRE_STATE, VAR_NEW_MAUVILLE_STATE, VAR_METEOR_FALLS_STATE, VAR_VICTORY_ROAD_1F_STATE} }; -const u8 gUnknown_Debug_083C4628[] = _("LOCALWORK0ー8"); -const u8 gUnknown_Debug_083C4635[] = _("LOCALWORK9ー15"); +static const u8 gUnknown_Debug_083C4628[] = _("LOCALWORK0ー8"); +static const u8 gUnknown_Debug_083C4635[] = _("LOCALWORK9ー15"); -const struct MenuAction gUnknown_Debug_083C4644[] = { +static const struct MenuAction gUnknown_Debug_083C4644[] = { {gUnknown_Debug_083C4628, debug_sub_808E754}, {gUnknown_Debug_083C4635, debug_sub_808E7AC} }; -const u8 gUnknown_Debug_083C4654[] = _("LOCALWORK0"); -const u8 gUnknown_Debug_083C465F[] = _("LOCALWORK1"); -const u8 gUnknown_Debug_083C466A[] = _("LOCALWORK2"); -const u8 gUnknown_Debug_083C4675[] = _("LOCALWORK3"); -const u8 gUnknown_Debug_083C4680[] = _("LOCALWORK4"); -const u8 gUnknown_Debug_083C468B[] = _("LOCALWORK5"); -const u8 gUnknown_Debug_083C4696[] = _("LOCALWORK6"); -const u8 gUnknown_Debug_083C46A1[] = _("LOCALWORK7"); -const u8 gUnknown_Debug_083C46AC[] = _("LOCALWORK8"); - -const u8 gUnknown_Debug_083C46B7[] = _("LOCALWORK9"); -const u8 gUnknown_Debug_083C46C2[] = _("LOCALWORK10"); -const u8 gUnknown_Debug_083C46CE[] = _("LOCALWORK11"); -const u8 gUnknown_Debug_083C46DA[] = _("LOCALWORK12"); -const u8 gUnknown_Debug_083C46E6[] = _("LOCALWORK13"); -const u8 gUnknown_Debug_083C46F2[] = _("LOCALWORK14"); -const u8 gUnknown_Debug_083C46FE[] = _("LOCALWORK15"); - -const struct MenuAction gUnknown_Debug_083C470C[] = { +static const u8 gUnknown_Debug_083C4654[] = _("LOCALWORK0"); +static const u8 gUnknown_Debug_083C465F[] = _("LOCALWORK1"); +static const u8 gUnknown_Debug_083C466A[] = _("LOCALWORK2"); +static const u8 gUnknown_Debug_083C4675[] = _("LOCALWORK3"); +static const u8 gUnknown_Debug_083C4680[] = _("LOCALWORK4"); +static const u8 gUnknown_Debug_083C468B[] = _("LOCALWORK5"); +static const u8 gUnknown_Debug_083C4696[] = _("LOCALWORK6"); +static const u8 gUnknown_Debug_083C46A1[] = _("LOCALWORK7"); +static const u8 gUnknown_Debug_083C46AC[] = _("LOCALWORK8"); + +static const u8 gUnknown_Debug_083C46B7[] = _("LOCALWORK9"); +static const u8 gUnknown_Debug_083C46C2[] = _("LOCALWORK10"); +static const u8 gUnknown_Debug_083C46CE[] = _("LOCALWORK11"); +static const u8 gUnknown_Debug_083C46DA[] = _("LOCALWORK12"); +static const u8 gUnknown_Debug_083C46E6[] = _("LOCALWORK13"); +static const u8 gUnknown_Debug_083C46F2[] = _("LOCALWORK14"); +static const u8 gUnknown_Debug_083C46FE[] = _("LOCALWORK15"); + +static const struct MenuAction gUnknown_Debug_083C470C[] = { {gUnknown_Debug_083C4654, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C465F, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C466A, TomomichiDebugMenu_Config}, @@ -1820,7 +1820,7 @@ const struct MenuAction gUnknown_Debug_083C470C[] = { {gUnknown_Debug_083C46AC, TomomichiDebugMenu_Config} }; -const struct MenuAction gUnknown_Debug_083C4754C[] = { +static const struct MenuAction gUnknown_Debug_083C4754C[] = { {gUnknown_Debug_083C46B7, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C46C2, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C46CE, TomomichiDebugMenu_Config}, @@ -1830,24 +1830,24 @@ const struct MenuAction gUnknown_Debug_083C4754C[] = { {gUnknown_Debug_083C46FE, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C478C[] = {9, 7}; +static const u8 gUnknown_Debug_083C478C[] = {9, 7}; -const u16 gUnknown_Debug_083C478E[][9] = { +static const u16 gUnknown_Debug_083C478E[][9] = { {VAR_TEMP_0, VAR_TEMP_1, VAR_TEMP_2, VAR_TEMP_3, VAR_TEMP_4, VAR_TEMP_5, VAR_TEMP_6, VAR_TEMP_7, VAR_TEMP_8}, {VAR_TEMP_9, VAR_TEMP_A, VAR_TEMP_B, VAR_TEMP_C, VAR_TEMP_D, VAR_TEMP_E, VAR_TEMP_F} }; -const u8 gUnknown_Debug_083C47B2[] = _("Level"); -const u8 gUnknown_Debug_083C47B8[] = _("Scene1"); -const u8 gUnknown_Debug_083C47BF[] = _("Scene2"); -const u8 gUnknown_Debug_083C47C6[] = _("Scene3"); -const u8 gUnknown_Debug_083C47CD[] = _("Scene4"); -const u8 gUnknown_Debug_083C47D4[] = _("Scene5"); -const u8 gUnknown_Debug_083C47DB[] = _("Scene6"); -const u8 gUnknown_Debug_083C47E2[] = _("Scene7"); -const u8 gUnknown_Debug_083C47E9[] = _("Scene8"); - -const struct MenuAction gUnknown_Debug_083C47F0[] = { +static const u8 gUnknown_Debug_083C47B2[] = _("Level"); +static const u8 gUnknown_Debug_083C47B8[] = _("Scene1"); +static const u8 gUnknown_Debug_083C47BF[] = _("Scene2"); +static const u8 gUnknown_Debug_083C47C6[] = _("Scene3"); +static const u8 gUnknown_Debug_083C47CD[] = _("Scene4"); +static const u8 gUnknown_Debug_083C47D4[] = _("Scene5"); +static const u8 gUnknown_Debug_083C47DB[] = _("Scene6"); +static const u8 gUnknown_Debug_083C47E2[] = _("Scene7"); +static const u8 gUnknown_Debug_083C47E9[] = _("Scene8"); + +static const struct MenuAction gUnknown_Debug_083C47F0[] = { {gUnknown_Debug_083C47B8, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C47BF, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C47C6, TomomichiDebugMenu_Config}, @@ -1858,14 +1858,14 @@ const struct MenuAction gUnknown_Debug_083C47F0[] = { {gUnknown_Debug_083C47E9, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C4830[] = _("Trick Master"); -const u8 gUnknown_Debug_083C483D[] = _("Hidden MASTER"); -const u8 gUnknown_Debug_083C484B[] = _("Inside the HOUSE"); -const u8 gUnknown_Debug_083C485C[] = _("Pass a reward"); -const u8 gUnknown_Debug_083C486A[] = _("Rig a trick"); -const u8 gUnknown_Debug_083C4876[] = _("MASTER is gone"); +static const u8 gUnknown_Debug_083C4830[] = _("Trick Master"); +static const u8 gUnknown_Debug_083C483D[] = _("Hidden MASTER"); +static const u8 gUnknown_Debug_083C484B[] = _("Inside the HOUSE"); +static const u8 gUnknown_Debug_083C485C[] = _("Pass a reward"); +static const u8 gUnknown_Debug_083C486A[] = _("Rig a trick"); +static const u8 gUnknown_Debug_083C4876[] = _("MASTER is gone"); -const struct MenuAction gUnknown_Debug_083C4888[] = { +static const struct MenuAction gUnknown_Debug_083C4888[] = { {gUnknown_Debug_083C483D, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C484B, TomomichiDebugMenu_Config}, {gUnknown_Debug_083C485C, TomomichiDebugMenu_Config}, @@ -1873,8 +1873,8 @@ const struct MenuAction gUnknown_Debug_083C4888[] = { {gUnknown_Debug_083C4876, TomomichiDebugMenu_Config} }; -const u8 gUnknown_Debug_083C48B0[] = _("PMNICKNAME"); -const u8 gUnknown_Debug_083C48BB[] = _("BREEDER"); +static const u8 gUnknown_Debug_083C48B0[] = _("PMNICKNAME"); +static const u8 gUnknown_Debug_083C48BB[] = _("BREEDER"); bool8 InitTomomichiDebugWindow(void) { @@ -1882,12 +1882,12 @@ bool8 InitTomomichiDebugWindow(void) return FALSE; } -void debug_sub_808B868(void) +static void debug_sub_808B868(void) { c2_exit_to_overworld_1_continue_scripts_restart_music(); } -bool8 debug_sub_808B874(void) +static bool8 debug_sub_808B874(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 13, 15); @@ -1897,7 +1897,7 @@ bool8 debug_sub_808B874(void) return FALSE; } -bool8 debug_sub_808B8C8(void) +static bool8 debug_sub_808B8C8(void) { if (gMain.newKeys & DPAD_UP) { @@ -1922,7 +1922,7 @@ bool8 debug_sub_808B8C8(void) return FALSE; } -bool8 TomomichiDebugMenu_ContestGraphics(void) +static bool8 TomomichiDebugMenu_ContestGraphics(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); @@ -1937,7 +1937,7 @@ bool8 TomomichiDebugMenu_ContestGraphics(void) return FALSE; } -bool8 TomomichiDebugMenu_ArtMusGraphics(void) +static bool8 TomomichiDebugMenu_ArtMusGraphics(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); @@ -1952,7 +1952,7 @@ bool8 TomomichiDebugMenu_ArtMusGraphics(void) return FALSE; } -bool8 TomomichiDebugMenu_PreviewData(void) +static bool8 TomomichiDebugMenu_PreviewData(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); @@ -1967,7 +1967,7 @@ bool8 TomomichiDebugMenu_PreviewData(void) return FALSE; } -bool8 TomomichiDebugMenu_TrickHouse(void) +static bool8 TomomichiDebugMenu_TrickHouse(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 7); @@ -1978,7 +1978,7 @@ bool8 TomomichiDebugMenu_TrickHouse(void) return FALSE; } -bool8 TomomichiDebugMenu_ControlEvents(void) +static bool8 TomomichiDebugMenu_ControlEvents(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 5); @@ -1988,7 +1988,7 @@ bool8 TomomichiDebugMenu_ControlEvents(void) return FALSE; } -bool8 TomomichiDebugMenu_ControlFlags(void) +static bool8 TomomichiDebugMenu_ControlFlags(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 15); @@ -1998,7 +1998,7 @@ bool8 TomomichiDebugMenu_ControlFlags(void) return FALSE; } -bool8 TomomichiDebugMenu_ControlWorks(void) +static bool8 TomomichiDebugMenu_ControlWorks(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 13); @@ -2008,7 +2008,7 @@ bool8 TomomichiDebugMenu_ControlWorks(void) return FALSE; } -bool8 debug_sub_808BC48(void) +static bool8 debug_sub_808BC48(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2041,7 +2041,7 @@ bool8 debug_sub_808BC48(void) return FALSE; } -bool8 debug_sub_808BCBC(void) +static bool8 debug_sub_808BCBC(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2074,7 +2074,7 @@ bool8 debug_sub_808BCBC(void) return FALSE; } -bool8 debug_sub_808BD30(void) +static bool8 debug_sub_808BD30(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2107,7 +2107,7 @@ bool8 debug_sub_808BD30(void) return FALSE; } -bool8 debug_sub_808BDA4(void) +static bool8 debug_sub_808BDA4(void) { if (gMain.newKeys & DPAD_UP) { @@ -2132,7 +2132,7 @@ bool8 debug_sub_808BDA4(void) return FALSE; } -bool8 debug_sub_808BE2C(void) +static bool8 debug_sub_808BE2C(void) { if (gMain.newKeys & DPAD_UP) { @@ -2157,7 +2157,7 @@ bool8 debug_sub_808BE2C(void) return FALSE; } -bool8 debug_sub_808BEB4(void) +static bool8 debug_sub_808BEB4(void) { if (gMain.newKeys & DPAD_UP) { @@ -2182,7 +2182,7 @@ bool8 debug_sub_808BEB4(void) return FALSE; } -bool8 debug_sub_808BF3C(void) +static bool8 debug_sub_808BF3C(void) { if (gMain.newKeys & DPAD_UP) { @@ -2207,7 +2207,7 @@ bool8 debug_sub_808BF3C(void) return FALSE; } -bool8 debug_sub_808BFC4(void) +static bool8 debug_sub_808BFC4(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 19); @@ -2217,7 +2217,7 @@ bool8 debug_sub_808BFC4(void) return FALSE; } -bool8 debug_sub_808C014(void) +static bool8 debug_sub_808C014(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 13); @@ -2227,7 +2227,7 @@ bool8 debug_sub_808C014(void) return FALSE; } -bool8 debug_sub_808C064(void) +static bool8 debug_sub_808C064(void) { s8 input = Menu_ProcessInput(); @@ -2242,7 +2242,7 @@ bool8 debug_sub_808C064(void) return FALSE; } -bool8 debug_sub_808C0A8(void) +static bool8 debug_sub_808C0A8(void) { s8 input = Menu_ProcessInput(); @@ -2257,119 +2257,119 @@ bool8 debug_sub_808C0A8(void) return FALSE; } -bool8 debug_sub_808C0EC(void) +static bool8 debug_sub_808C0EC(void) { ScriptContext1_SetupScript(DebugScript_081C1CFE); CloseMenu(); return TRUE; } -bool8 debug_sub_808C104(void) +static bool8 debug_sub_808C104(void) { ScriptContext1_SetupScript(DebugScript_081C1D07); CloseMenu(); return TRUE; } -bool8 debug_sub_808C11C(void) +static bool8 debug_sub_808C11C(void) { ScriptContext1_SetupScript(DebugScript_081C1D1E); CloseMenu(); return TRUE; } -bool8 debug_sub_808C134(void) +static bool8 debug_sub_808C134(void) { ScriptContext1_SetupScript(DebugScript_081C1D24); CloseMenu(); return TRUE; } -bool8 debug_sub_808C14C(void) +static bool8 debug_sub_808C14C(void) { ScriptContext1_SetupScript(DebugScript_081C1D2A); CloseMenu(); return TRUE; } -bool8 debug_sub_808C164(void) +static bool8 debug_sub_808C164(void) { ScriptContext1_SetupScript(DebugScript_081C1D35); CloseMenu(); return TRUE; } -bool8 debug_sub_808C17C(void) +static bool8 debug_sub_808C17C(void) { ScriptContext1_SetupScript(DebugScript_081C1D46); CloseMenu(); return TRUE; } -bool8 debug_sub_808C194(void) +static bool8 debug_sub_808C194(void) { ScriptContext1_SetupScript(DebugScript_081C221F); CloseMenu(); return TRUE; } -bool8 debug_sub_808C1AC(void) +static bool8 debug_sub_808C1AC(void) { ScriptContext1_SetupScript(DebugScript_081C23E2); CloseMenu(); return TRUE; } -bool8 debug_sub_808C1C4(void) +static bool8 debug_sub_808C1C4(void) { ScriptContext1_SetupScript(DebugScript_081C23E6); CloseMenu(); return TRUE; } -bool8 debug_sub_808C1DC(void) +static bool8 debug_sub_808C1DC(void) { ScriptContext1_SetupScript(DebugScript_081C23F6); CloseMenu(); return TRUE; } -bool8 debug_sub_808C1F4(void) +static bool8 debug_sub_808C1F4(void) { ScriptContext1_SetupScript(DebugScript_081C2482); CloseMenu(); return TRUE; } -bool8 debug_sub_808C20C(void) +static bool8 debug_sub_808C20C(void) { ScriptContext1_SetupScript(DebugScript_081C23FD); CloseMenu(); return TRUE; } -bool8 debug_sub_808C224(void) +static bool8 debug_sub_808C224(void) { ScriptContext1_SetupScript(DebugScript_081C2518); CloseMenu(); return TRUE; } -bool8 debug_sub_808C23C(void) +static bool8 debug_sub_808C23C(void) { ScriptContext1_SetupScript(DebugScript_081C2507); CloseMenu(); return TRUE; } -bool8 TomomichiDebugMenu_ContestGraphics_Show(void) +static bool8 TomomichiDebugMenu_ContestGraphics_Show(void) { BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); gMenuCallback = debug_sub_808C280; return FALSE; } -bool8 debug_sub_808C280(void) +static bool8 debug_sub_808C280(void) { if (!UpdatePaletteFade()) { @@ -2382,14 +2382,14 @@ bool8 debug_sub_808C280(void) return FALSE; } -bool8 TomomichiDebugMenu_MuseumGraphics_Show(void) +static bool8 TomomichiDebugMenu_MuseumGraphics_Show(void) { BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); gMenuCallback = debug_sub_808C2E4; return FALSE; } -bool8 debug_sub_808C2E4(void) +static bool8 debug_sub_808C2E4(void) { if (!UpdatePaletteFade()) { @@ -2402,7 +2402,7 @@ bool8 debug_sub_808C2E4(void) return FALSE; } -bool8 debug_sub_808C31C(void) +static bool8 debug_sub_808C31C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 19); @@ -2412,7 +2412,7 @@ bool8 debug_sub_808C31C(void) return FALSE; } -bool8 debug_sub_808C36C(void) +static bool8 debug_sub_808C36C(void) { s8 input = Menu_ProcessInput(); @@ -2427,7 +2427,7 @@ bool8 debug_sub_808C36C(void) return FALSE; } -bool8 debug_sub_808C3B0(void) +static bool8 debug_sub_808C3B0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2938) + 1); @@ -2438,7 +2438,7 @@ bool8 debug_sub_808C3B0(void) return FALSE; } -bool8 debug_sub_808C408(void) +static bool8 debug_sub_808C408(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2A48) + 1); @@ -2449,7 +2449,7 @@ bool8 debug_sub_808C408(void) return FALSE; } -bool8 debug_sub_808C460(void) +static bool8 debug_sub_808C460(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2B4C) + 1); @@ -2460,7 +2460,7 @@ bool8 debug_sub_808C460(void) return FALSE; } -bool8 debug_sub_808C4B8(void) +static bool8 debug_sub_808C4B8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2C80) + 1); @@ -2471,7 +2471,7 @@ bool8 debug_sub_808C4B8(void) return FALSE; } -bool8 debug_sub_808C510(void) +static bool8 debug_sub_808C510(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2D8C) + 1); @@ -2482,7 +2482,7 @@ bool8 debug_sub_808C510(void) return FALSE; } -bool8 debug_sub_808C568(void) +static bool8 debug_sub_808C568(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2EB0) + 1); @@ -2493,7 +2493,7 @@ bool8 debug_sub_808C568(void) return FALSE; } -bool8 debug_sub_808C5C0(void) +static bool8 debug_sub_808C5C0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2FE0) + 1); @@ -2504,7 +2504,7 @@ bool8 debug_sub_808C5C0(void) return FALSE; } -bool8 debug_sub_808C618(void) +static bool8 debug_sub_808C618(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C3100) + 1); @@ -2515,7 +2515,7 @@ bool8 debug_sub_808C618(void) return FALSE; } -bool8 debug_sub_808C670(void) +static bool8 debug_sub_808C670(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 3 + 1); @@ -2526,7 +2526,7 @@ bool8 debug_sub_808C670(void) return FALSE; } -bool8 debug_sub_808C6C8(void) +static bool8 debug_sub_808C6C8(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2543,7 +2543,7 @@ bool8 debug_sub_808C6C8(void) return FALSE; } -void debug_sub_808C714(u8 whichMenu, u8 cursorPos) +static void debug_sub_808C714(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { @@ -2554,7 +2554,7 @@ void debug_sub_808C714(u8 whichMenu, u8 cursorPos) } } -void debug_sub_808C764(u8 whichMenu) +static void debug_sub_808C764(u8 whichMenu) { u8 i; @@ -2564,7 +2564,7 @@ void debug_sub_808C764(u8 whichMenu) } } -bool8 debug_sub_808C7C8(void) +static bool8 debug_sub_808C7C8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 19); @@ -2574,7 +2574,7 @@ bool8 debug_sub_808C7C8(void) return FALSE; } -bool8 debug_sub_808C818(void) +static bool8 debug_sub_808C818(void) { s8 input = Menu_ProcessInput(); @@ -2589,7 +2589,7 @@ bool8 debug_sub_808C818(void) return FALSE; } -bool8 debug_sub_808C85C(void) +static bool8 debug_sub_808C85C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1E0C) + 1); @@ -2600,7 +2600,7 @@ bool8 debug_sub_808C85C(void) return FALSE; } -bool8 debug_sub_808C8B4(void) +static bool8 debug_sub_808C8B4(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1F38) + 1); @@ -2611,7 +2611,7 @@ bool8 debug_sub_808C8B4(void) return FALSE; } -bool8 debug_sub_808C90C(void) +static bool8 debug_sub_808C90C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C206C) + 1); @@ -2622,7 +2622,7 @@ bool8 debug_sub_808C90C(void) return FALSE; } -bool8 debug_sub_808C964(void) +static bool8 debug_sub_808C964(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2190) + 1); @@ -2633,7 +2633,7 @@ bool8 debug_sub_808C964(void) return FALSE; } -bool8 debug_sub_808C9BC(void) +static bool8 debug_sub_808C9BC(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2264) + 1); @@ -2644,7 +2644,7 @@ bool8 debug_sub_808C9BC(void) return FALSE; } -bool8 debug_sub_808CA14(void) +static bool8 debug_sub_808CA14(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2370) + 1); @@ -2655,7 +2655,7 @@ bool8 debug_sub_808CA14(void) return FALSE; } -bool8 debug_sub_808CA6C(void) +static bool8 debug_sub_808CA6C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C248C) + 1); @@ -2666,7 +2666,7 @@ bool8 debug_sub_808CA6C(void) return FALSE; } -bool8 debug_sub_808CAC4(void) +static bool8 debug_sub_808CAC4(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C259C) + 1); @@ -2677,7 +2677,7 @@ bool8 debug_sub_808CAC4(void) return FALSE; } -bool8 debug_sub_808CB1C(void) +static bool8 debug_sub_808CB1C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C26C8) + 1); @@ -2688,7 +2688,7 @@ bool8 debug_sub_808CB1C(void) return FALSE; } -bool8 debug_sub_808CB74(void) +static bool8 debug_sub_808CB74(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2705,7 +2705,7 @@ bool8 debug_sub_808CB74(void) return FALSE; } -void debug_sub_808CBC0(u8 whichMenu, u8 cursorPos) +static void debug_sub_808CBC0(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { @@ -2716,7 +2716,7 @@ void debug_sub_808CBC0(u8 whichMenu, u8 cursorPos) } } -void debug_sub_808CC10(u8 whichMenu) +static void debug_sub_808CC10(u8 whichMenu) { u8 i; @@ -2726,7 +2726,7 @@ void debug_sub_808CC10(u8 whichMenu) } } -bool8 debug_sub_808CC74(void) +static bool8 debug_sub_808CC74(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1ADC) + 1); @@ -2736,7 +2736,7 @@ bool8 debug_sub_808CC74(void) return FALSE; } -bool8 debug_sub_808CCC4(void) +static bool8 debug_sub_808CCC4(void) { s8 input = Menu_ProcessInput(); @@ -2751,7 +2751,7 @@ bool8 debug_sub_808CCC4(void) return FALSE; } -bool8 debug_sub_808CD08(void) +static bool8 debug_sub_808CD08(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1B7C) + 1); @@ -2762,7 +2762,7 @@ bool8 debug_sub_808CD08(void) return FALSE; } -bool8 debug_sub_808CD60(void) +static bool8 debug_sub_808CD60(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1BF0) + 1); @@ -2773,7 +2773,7 @@ bool8 debug_sub_808CD60(void) return FALSE; } -bool8 debug_sub_808CDB8(void) +static bool8 debug_sub_808CDB8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1C2C) + 1); @@ -2784,7 +2784,7 @@ bool8 debug_sub_808CDB8(void) return FALSE; } -bool8 debug_sub_808CE10(void) +static bool8 debug_sub_808CE10(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2801,7 +2801,7 @@ bool8 debug_sub_808CE10(void) return FALSE; } -void debug_sub_808CE5C(u8 whichMenu, u8 cursorPos) +static void debug_sub_808CE5C(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { @@ -2812,7 +2812,7 @@ void debug_sub_808CE5C(u8 whichMenu, u8 cursorPos) } } -void debug_sub_808CEAC(u8 whichMenu) +static void debug_sub_808CEAC(u8 whichMenu) { u8 i; @@ -2822,7 +2822,7 @@ void debug_sub_808CEAC(u8 whichMenu) } } -bool8 debug_sub_808CF10(void) +static bool8 debug_sub_808CF10(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1330) + 1); @@ -2832,7 +2832,7 @@ bool8 debug_sub_808CF10(void) return FALSE; } -bool8 debug_sub_808CF60(void) +static bool8 debug_sub_808CF60(void) { s8 input = Menu_ProcessInput(); @@ -2847,7 +2847,7 @@ bool8 debug_sub_808CF60(void) return FALSE; } -bool8 debug_sub_808CFA4(void) +static bool8 debug_sub_808CFA4(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C13D8) + 1); @@ -2858,7 +2858,7 @@ bool8 debug_sub_808CFA4(void) return FALSE; } -bool8 debug_sub_808CFFC(void) +static bool8 debug_sub_808CFFC(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1465) + 1); @@ -2869,7 +2869,7 @@ bool8 debug_sub_808CFFC(void) return FALSE; } -bool8 debug_sub_808D054(void) +static bool8 debug_sub_808D054(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1503) + 1); @@ -2880,7 +2880,7 @@ bool8 debug_sub_808D054(void) return FALSE; } -bool8 debug_sub_808D0AC(void) +static bool8 debug_sub_808D0AC(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C158A) + 1); @@ -2891,7 +2891,7 @@ bool8 debug_sub_808D0AC(void) return FALSE; } -bool8 debug_sub_808D104(void) +static bool8 debug_sub_808D104(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1647) + 1); @@ -2902,7 +2902,7 @@ bool8 debug_sub_808D104(void) return FALSE; } -bool8 debug_sub_808D15C(void) +static bool8 debug_sub_808D15C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1712) + 1); @@ -2913,7 +2913,7 @@ bool8 debug_sub_808D15C(void) return FALSE; } -bool8 debug_sub_808D1B4(void) +static bool8 debug_sub_808D1B4(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C17F8) + 1); @@ -2924,7 +2924,7 @@ bool8 debug_sub_808D1B4(void) return FALSE; } -bool8 debug_sub_808D20C(void) +static bool8 debug_sub_808D20C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); @@ -2935,7 +2935,7 @@ bool8 debug_sub_808D20C(void) return FALSE; } -bool8 debug_sub_808D264(void) +static bool8 debug_sub_808D264(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); @@ -2946,7 +2946,7 @@ bool8 debug_sub_808D264(void) return FALSE; } -bool8 debug_sub_808D2BC(void) +static bool8 debug_sub_808D2BC(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2963,7 +2963,7 @@ bool8 debug_sub_808D2BC(void) return FALSE; } -void debug_sub_808D308(u8 whichMenu, u8 cursorPos) +static void debug_sub_808D308(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { @@ -2974,7 +2974,7 @@ void debug_sub_808D308(u8 whichMenu, u8 cursorPos) } } -void debug_sub_808D358(u8 whichMenu) +static void debug_sub_808D358(u8 whichMenu) { u8 i; @@ -2984,7 +2984,7 @@ void debug_sub_808D358(u8 whichMenu) } } -bool8 debug_sub_808D3BC(void) +static bool8 debug_sub_808D3BC(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C105C) + 1); @@ -2994,7 +2994,7 @@ bool8 debug_sub_808D3BC(void) return FALSE; } -bool8 debug_sub_808D40C(void) +static bool8 debug_sub_808D40C(void) { s8 input = Menu_ProcessInput(); @@ -3009,7 +3009,7 @@ bool8 debug_sub_808D40C(void) return FALSE; } -bool8 debug_sub_808D450(void) +static bool8 debug_sub_808D450(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C10BD) + 1); @@ -3020,7 +3020,7 @@ bool8 debug_sub_808D450(void) return FALSE; } -bool8 debug_sub_808D4A8(void) +static bool8 debug_sub_808D4A8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); @@ -3031,7 +3031,7 @@ bool8 debug_sub_808D4A8(void) return FALSE; } -bool8 debug_sub_808D500(void) +static bool8 debug_sub_808D500(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3048,7 +3048,7 @@ bool8 debug_sub_808D500(void) return FALSE; } -void debug_sub_808D54C(u8 whichMenu, u8 cursorPos) +static void debug_sub_808D54C(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { @@ -3059,7 +3059,7 @@ void debug_sub_808D54C(u8 whichMenu, u8 cursorPos) } } -void debug_sub_808D59C(u8 whichMenu) +static void debug_sub_808D59C(u8 whichMenu) { u8 i; @@ -3069,7 +3069,7 @@ void debug_sub_808D59C(u8 whichMenu) } } -bool8 debug_sub_808D600(void) +static bool8 debug_sub_808D600(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C11CC) + 1); @@ -3079,7 +3079,7 @@ bool8 debug_sub_808D600(void) return FALSE; } -bool8 debug_sub_808D650(void) +static bool8 debug_sub_808D650(void) { s8 input = Menu_ProcessInput(); @@ -3094,7 +3094,7 @@ bool8 debug_sub_808D650(void) return FALSE; } -bool8 debug_sub_808D694(void) +static bool8 debug_sub_808D694(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1212) + 1); @@ -3105,7 +3105,7 @@ bool8 debug_sub_808D694(void) return FALSE; } -bool8 debug_sub_808D6EC(void) +static bool8 debug_sub_808D6EC(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); @@ -3116,7 +3116,7 @@ bool8 debug_sub_808D6EC(void) return FALSE; } -bool8 debug_sub_808D744(void) +static bool8 debug_sub_808D744(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3133,7 +3133,7 @@ bool8 debug_sub_808D744(void) return FALSE; } -void debug_sub_808D790(u8 whichMenu, u8 cursorPos) +static void debug_sub_808D790(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { @@ -3144,7 +3144,7 @@ void debug_sub_808D790(u8 whichMenu, u8 cursorPos) } } -void debug_sub_808D7E0(u8 whichMenu) +static void debug_sub_808D7E0(u8 whichMenu) { u8 i; @@ -3154,7 +3154,7 @@ void debug_sub_808D7E0(u8 whichMenu) } } -bool8 debug_sub_808D844(void) +static bool8 debug_sub_808D844(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A78) + 1); @@ -3164,7 +3164,7 @@ bool8 debug_sub_808D844(void) return FALSE; } -bool8 debug_sub_808D894(void) +static bool8 debug_sub_808D894(void) { s8 input = Menu_ProcessInput(); @@ -3179,7 +3179,7 @@ bool8 debug_sub_808D894(void) return FALSE; } -bool8 debug_sub_808D8D8(void) +static bool8 debug_sub_808D8D8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A9C) + 1); @@ -3190,7 +3190,7 @@ bool8 debug_sub_808D8D8(void) return FALSE; } -bool8 debug_sub_808D930(void) +static bool8 debug_sub_808D930(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3207,7 +3207,7 @@ bool8 debug_sub_808D930(void) return FALSE; } -void debug_sub_808D97C(u8 whichMenu, u8 cursorPos) +static void debug_sub_808D97C(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { @@ -3218,7 +3218,7 @@ void debug_sub_808D97C(u8 whichMenu, u8 cursorPos) } } -void debug_sub_808D9CC(u8 whichMenu) +static void debug_sub_808D9CC(u8 whichMenu) { u8 i; @@ -3228,7 +3228,7 @@ void debug_sub_808D9CC(u8 whichMenu) } } -bool8 debug_sub_808DA30(void) +static bool8 debug_sub_808DA30(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C103A) + 1); @@ -3238,7 +3238,7 @@ bool8 debug_sub_808DA30(void) return FALSE; } -bool8 debug_sub_808DA80(void) +static bool8 debug_sub_808DA80(void) { s8 input = Menu_ProcessInput(); /*s8 cursorPos = */Menu_GetCursorPos(); @@ -3255,12 +3255,12 @@ bool8 debug_sub_808DA80(void) return FALSE; } -void debug_sub_808DABC(void) +static void debug_sub_808DABC(void) { debug_sub_808F31C(24, 1, gSpecialVar_Result); } -void debug_sub_808DAD4(void) +static void debug_sub_808DAD4(void) { u16 delta; @@ -3277,7 +3277,7 @@ void debug_sub_808DAD4(void) gSpecialVar_Result += delta; } -bool8 debug_sub_808DB0C(void) +static bool8 debug_sub_808DB0C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C3D08) + 1); @@ -3287,7 +3287,7 @@ bool8 debug_sub_808DB0C(void) return FALSE; } -bool8 debug_sub_808DB5C(void) +static bool8 debug_sub_808DB5C(void) { s8 input = Menu_ProcessInput(); @@ -3302,7 +3302,7 @@ bool8 debug_sub_808DB5C(void) return FALSE; } -bool8 debug_sub_808DBA0(void) +static bool8 debug_sub_808DBA0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C432C) + 1); @@ -3313,7 +3313,7 @@ bool8 debug_sub_808DBA0(void) return FALSE; } -bool8 debug_sub_808DBF8(void) +static bool8 debug_sub_808DBF8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C436C) + 1); @@ -3324,7 +3324,7 @@ bool8 debug_sub_808DBF8(void) return FALSE; } -bool8 debug_sub_808DC50(void) +static bool8 debug_sub_808DC50(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43B4) + 1); @@ -3335,7 +3335,7 @@ bool8 debug_sub_808DC50(void) return FALSE; } -bool8 debug_sub_808DCA8(void) +static bool8 debug_sub_808DCA8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43FC) + 1); @@ -3346,7 +3346,7 @@ bool8 debug_sub_808DCA8(void) return FALSE; } -bool8 debug_sub_808DD00(void) +static bool8 debug_sub_808DD00(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4444) + 1); @@ -3357,7 +3357,7 @@ bool8 debug_sub_808DD00(void) return FALSE; } -bool8 debug_sub_808DD58(void) +static bool8 debug_sub_808DD58(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C448C) + 1); @@ -3368,7 +3368,7 @@ bool8 debug_sub_808DD58(void) return FALSE; } -bool8 debug_sub_808DDB0(void) +static bool8 debug_sub_808DDB0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); @@ -3379,7 +3379,7 @@ bool8 debug_sub_808DDB0(void) return FALSE; } -bool8 debug_sub_808DE08(void) +static bool8 debug_sub_808DE08(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C44EC) + 1); @@ -3390,7 +3390,7 @@ bool8 debug_sub_808DE08(void) return FALSE; } -bool8 debug_sub_808DE60(void) +static bool8 debug_sub_808DE60(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4534) + 1); @@ -3401,7 +3401,7 @@ bool8 debug_sub_808DE60(void) return FALSE; } -bool8 debug_sub_808DEB8(void) +static bool8 debug_sub_808DEB8(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3418,7 +3418,7 @@ bool8 debug_sub_808DEB8(void) return FALSE; } -void debug_sub_808DF04(u8 whichMenu) +static void debug_sub_808DF04(u8 whichMenu) { u8 i; @@ -3428,7 +3428,7 @@ void debug_sub_808DF04(u8 whichMenu) } } -void debug_sub_808DF64(u8 whichMenu, u8 cursorPos) +static void debug_sub_808DF64(u8 whichMenu, u8 cursorPos) { u16 delta; @@ -3441,7 +3441,7 @@ void debug_sub_808DF64(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C4586[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C4586[whichMenu][cursorPos]) + delta); } -bool8 debug_sub_808DFC0(void) +static bool8 debug_sub_808DFC0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C377C) + 1); @@ -3451,7 +3451,7 @@ bool8 debug_sub_808DFC0(void) return FALSE; } -bool8 debug_sub_808E010(void) +static bool8 debug_sub_808E010(void) { s8 input = Menu_ProcessInput(); @@ -3466,7 +3466,7 @@ bool8 debug_sub_808E010(void) return FALSE; } -bool8 debug_sub_808E054(void) +static bool8 debug_sub_808E054(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); @@ -3477,7 +3477,7 @@ bool8 debug_sub_808E054(void) return FALSE; } -bool8 debug_sub_808E0AC(void) +static bool8 debug_sub_808E0AC(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); @@ -3488,7 +3488,7 @@ bool8 debug_sub_808E0AC(void) return FALSE; } -bool8 debug_sub_808E104(void) +static bool8 debug_sub_808E104(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C3B28) + 1); @@ -3499,7 +3499,7 @@ bool8 debug_sub_808E104(void) return FALSE; } -bool8 debug_sub_808E15C(void) +static bool8 debug_sub_808E15C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 2 + 1); @@ -3510,7 +3510,7 @@ bool8 debug_sub_808E15C(void) return FALSE; } -bool8 debug_sub_808E1B4(void) +static bool8 debug_sub_808E1B4(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C3BB8) + 1); @@ -3521,7 +3521,7 @@ bool8 debug_sub_808E1B4(void) return FALSE; } -bool8 debug_sub_808E20C(void) +static bool8 debug_sub_808E20C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); @@ -3532,7 +3532,7 @@ bool8 debug_sub_808E20C(void) return FALSE; } -bool8 debug_sub_808E264(void) +static bool8 debug_sub_808E264(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3549,7 +3549,7 @@ bool8 debug_sub_808E264(void) return FALSE; } -void debug_sub_808E2B0(u8 whichMenu) +static void debug_sub_808E2B0(u8 whichMenu) { u8 i; @@ -3559,7 +3559,7 @@ void debug_sub_808E2B0(u8 whichMenu) } } -void debug_sub_808E310(u8 whichMenu, u8 cursorPos) +static void debug_sub_808E310(u8 whichMenu, u8 cursorPos) { u16 delta; @@ -3572,7 +3572,7 @@ void debug_sub_808E310(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos], VarGet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos]) + delta); } -bool8 debug_sub_808E36C(void) +static bool8 debug_sub_808E36C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C32AC) + 1); @@ -3582,7 +3582,7 @@ bool8 debug_sub_808E36C(void) return FALSE; } -bool8 debug_sub_808E3BC(void) +static bool8 debug_sub_808E3BC(void) { s8 input = Menu_ProcessInput(); @@ -3597,7 +3597,7 @@ bool8 debug_sub_808E3BC(void) return FALSE; } -bool8 debug_sub_808E400(void) +static bool8 debug_sub_808E400(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C347C) + 1); @@ -3608,7 +3608,7 @@ bool8 debug_sub_808E400(void) return FALSE; } -bool8 debug_sub_808E458(void) +static bool8 debug_sub_808E458(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C3494) + 1); @@ -3619,7 +3619,7 @@ bool8 debug_sub_808E458(void) return FALSE; } -bool8 debug_sub_808E4B0(void) +static bool8 debug_sub_808E4B0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C34A4) + 1); @@ -3630,7 +3630,7 @@ bool8 debug_sub_808E4B0(void) return FALSE; } -bool8 debug_sub_808E508(void) +static bool8 debug_sub_808E508(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C34D4) + 1); @@ -3641,7 +3641,7 @@ bool8 debug_sub_808E508(void) return FALSE; } -bool8 debug_sub_808E560(void) +static bool8 debug_sub_808E560(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C351C) + 1); @@ -3652,7 +3652,7 @@ bool8 debug_sub_808E560(void) return FALSE; } -bool8 debug_sub_808E5B8(void) +static bool8 debug_sub_808E5B8(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3669,7 +3669,7 @@ bool8 debug_sub_808E5B8(void) return FALSE; } -void debug_sub_808E604(u8 whichMenu, u8 cursorPos) +static void debug_sub_808E604(u8 whichMenu, u8 cursorPos) { u16 delta; @@ -3682,7 +3682,7 @@ void debug_sub_808E604(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C354A[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C354A[whichMenu][cursorPos]) + delta); } -void debug_sub_808E660(u8 whichMenu) +static void debug_sub_808E660(u8 whichMenu) { u8 i; @@ -3692,7 +3692,7 @@ void debug_sub_808E660(u8 whichMenu) } } -bool8 debug_sub_808E6C0(void) +static bool8 debug_sub_808E6C0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C4644) + 1); @@ -3702,7 +3702,7 @@ bool8 debug_sub_808E6C0(void) return FALSE; } -bool8 debug_sub_808E710(void) +static bool8 debug_sub_808E710(void) { s8 input = Menu_ProcessInput(); @@ -3717,7 +3717,7 @@ bool8 debug_sub_808E710(void) return FALSE; } -bool8 debug_sub_808E754(void) +static bool8 debug_sub_808E754(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C470C) + 1); @@ -3728,7 +3728,7 @@ bool8 debug_sub_808E754(void) return FALSE; } -bool8 debug_sub_808E7AC(void) +static bool8 debug_sub_808E7AC(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4754C) + 1); @@ -3739,7 +3739,7 @@ bool8 debug_sub_808E7AC(void) return FALSE; } -bool8 debug_sub_808E804(void) +static bool8 debug_sub_808E804(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3756,7 +3756,7 @@ bool8 debug_sub_808E804(void) return FALSE; } -void debug_sub_808E850(u8 whichMenu, u8 cursorPos) +static void debug_sub_808E850(u8 whichMenu, u8 cursorPos) { u16 delta; @@ -3769,7 +3769,7 @@ void debug_sub_808E850(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C478E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C478E[whichMenu][cursorPos]) + delta); } -void debug_sub_808E8AC(u8 whichMenu) +static void debug_sub_808E8AC(u8 whichMenu) { u8 i; @@ -3779,7 +3779,7 @@ void debug_sub_808E8AC(u8 whichMenu) } } -bool8 debug_sub_808E90C(void) +static bool8 debug_sub_808E90C(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C35C4) + 1); @@ -3789,7 +3789,7 @@ bool8 debug_sub_808E90C(void) return FALSE; } -bool8 debug_sub_808E95C(void) +static bool8 debug_sub_808E95C(void) { s8 input = Menu_ProcessInput(); @@ -3804,7 +3804,7 @@ bool8 debug_sub_808E95C(void) return FALSE; } -bool8 debug_sub_808E9A0(void) +static bool8 debug_sub_808E9A0(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C369C) + 1); @@ -3815,7 +3815,7 @@ bool8 debug_sub_808E9A0(void) return FALSE; } -bool8 debug_sub_808E9F8(void) +static bool8 debug_sub_808E9F8(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C36E4) + 1); @@ -3826,7 +3826,7 @@ bool8 debug_sub_808E9F8(void) return FALSE; } -bool8 debug_sub_808EA50(void) +static bool8 debug_sub_808EA50(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3843,7 +3843,7 @@ bool8 debug_sub_808EA50(void) return FALSE; } -void debug_sub_808EA9C(u8 whichMenu) +static void debug_sub_808EA9C(u8 whichMenu) { u8 i; @@ -3853,7 +3853,7 @@ void debug_sub_808EA9C(u8 whichMenu) } } -void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos) +static void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos) { u16 delta; @@ -3866,7 +3866,7 @@ void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C371E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C371E[whichMenu][cursorPos]) + delta); } -bool8 debug_sub_808EB58(void) +static bool8 debug_sub_808EB58(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 12, 2 * ARRAY_COUNT(gUnknown_Debug_083C47F0) + 3); @@ -3877,7 +3877,7 @@ bool8 debug_sub_808EB58(void) return FALSE; } -bool8 debug_sub_808EBB4(void) +static bool8 debug_sub_808EBB4(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 13, 2 * ARRAY_COUNT(gUnknown_Debug_083C4888) + 3); @@ -3888,7 +3888,7 @@ bool8 debug_sub_808EBB4(void) return FALSE; } -bool8 debug_sub_808EC10(void) +static bool8 debug_sub_808EC10(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3906,7 +3906,7 @@ bool8 debug_sub_808EC10(void) return TRUE; } -bool8 debug_sub_808EC5C(void) +static bool8 debug_sub_808EC5C(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -3924,14 +3924,14 @@ bool8 debug_sub_808EC5C(void) return TRUE; } -bool8 debug_sub_808ECA4(void) +static bool8 debug_sub_808ECA4(void) { BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); gMenuCallback = debug_sub_808ECD0; return FALSE; } -bool8 debug_sub_808ECD0(void) +static bool8 debug_sub_808ECD0(void) { if (!UpdatePaletteFade()) { @@ -3944,12 +3944,12 @@ bool8 debug_sub_808ECD0(void) return FALSE; } -bool8 TomomichiDebugMenu_Config(void) +static bool8 TomomichiDebugMenu_Config(void) { return FALSE; } -void debug_sub_808ED0C(void) +static void debug_sub_808ED0C(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { @@ -3977,7 +3977,7 @@ void debug_sub_808ED0C(void) } } -void debug_sub_808ED9C(void) +static void debug_sub_808ED9C(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { @@ -4009,7 +4009,7 @@ void debug_sub_808ED9C(void) } } -void debug_sub_808EE3C(void) +static void debug_sub_808EE3C(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { @@ -4027,7 +4027,7 @@ void debug_sub_808EE3C(void) gDebug_0300070C = 5; } -void debug_sub_808EE9C(void) +static void debug_sub_808EE9C(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { @@ -4055,7 +4055,7 @@ void debug_sub_808EE9C(void) } } -void debug_sub_808EF14(void) +static void debug_sub_808EF14(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { @@ -4084,7 +4084,7 @@ void debug_sub_808EF14(void) } #ifdef NONMATCHING -void debug_sub_808EF8C(u8 a0) +static void debug_sub_808EF8C(u8 a0) { u8 i; u8 digit; @@ -4406,4 +4406,77 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) } #endif // NONMATCHING +static void debug_sub_808F168(u8 a0) +{ + struct ContestEntry *contestEntry = &ewram15DE0; + contestEntry->var8 = gDebug_03000700; + contestEntry->var4 = gDebug_03000704; + contestEntry->var0 = gDebug_03000708; + switch (a0) + { + case 0: + ewram15DDF = 0; + ewram15DDE = 0; + contestEntry->contestType = gDebug_0300070C - 1; + StringCopy(contestEntry->trainer_name, gUnknown_Debug_083C48BB); + StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + break; + case 1: + ewram15DDF = 0; + ewram15DDE = 8; + contestEntry->contestType = gDebug_0300070D - 1; + StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + break; + case 2: + ewram15DDF = 1; + ewram15DDE = 8; + contestEntry->contestType = gDebug_0300070E - 1; + break; + case 3: + ewram15DDF = 0; + ewram15DDE = 8; + contestEntry->contestType = 0; + StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + break; + case 4: + ewram15DDF = 0; + ewram15DDE = 8; + contestEntry->contestType = 3; + StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + break; + case 5: + ewram15DDF = 0; + ewram15DDE = 8; + contestEntry->contestType = 9; + StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + break; + } +} + +static void debug_sub_808F2E0(u8 a0, u8 a1, u8 a2) +{ + if (a2 == 0) + gDebug_03000710[0] = CHAR_0; + else + gDebug_03000710[0] = CHAR_0 + 1; + gDebug_03000710[1] = EOS; + Menu_PrintText(gDebug_03000710, a0, a1); +} + +static void debug_sub_808F31C(u8 a0, u8 a1, u16 a2) +{ + gDebug_03000710[0] = a2 / 10000 + CHAR_0; + gDebug_03000710[1] = (a2 % 10000) / 1000 + CHAR_0; + gDebug_03000710[2] = (a2 % 1000) / 100 + CHAR_0; + gDebug_03000710[3] = (a2 % 100) / 10 + CHAR_0; + gDebug_03000710[4] = a2 % 10 + CHAR_0; + gDebug_03000710[5] = EOS; + Menu_PrintText(gDebug_03000710, a0, a1); +} + +void debug_nullsub_66(void) +{ +// This function likely serves as the entry point into this file. +} + #endif // DEBUG -- cgit v1.2.3 From e49ff77a07d79d38cd909c5e824e70e91475b82d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 14 Mar 2018 08:54:30 -0400 Subject: Fix matching contest_painting --- src/debug/tomomichi_debug_menu.c | 1714 +++++++++++++++++++------------------- src/scene/contest_painting.c | 2 +- 2 files changed, 859 insertions(+), 857 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 255fefdce..1df6ff26c 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -16,35 +16,35 @@ #include "contest_painting.h" #include "sound.h" -static u16 gDebug_03000700; -static u32 gDebug_03000704; -static u32 gDebug_03000708; -static u8 gDebug_0300070C; -static u8 gDebug_0300070D; -static u8 gDebug_0300070E; -static u8 gDebug_0300070F; -static u8 gDebug_03000710[13]; -static u8 gDebug_0300071D; -static u8 gDebug_0300071E; -static u8 gDebug_0300071F; -static u8 gDebug_03000720; -static u8 gDebug_03000721; - -static bool8 TomomichiDebugMenu_ArtMusGraphics(void); -static bool8 TomomichiDebugMenu_Config(void); -static bool8 TomomichiDebugMenu_ContestGraphics(void); -static bool8 TomomichiDebugMenu_ContestGraphics_Show(void); -static bool8 TomomichiDebugMenu_ControlEvents(void); -static bool8 TomomichiDebugMenu_ControlFlags(void); -static bool8 TomomichiDebugMenu_ControlWorks(void); -static bool8 TomomichiDebugMenu_MuseumGraphics_Show(void); -static bool8 TomomichiDebugMenu_PreviewData(void); -static bool8 TomomichiDebugMenu_TrickHouse(void); +static u16 sPicTest_Species; +static u32 sPicTest_ContestEntryVar4; +static u32 sPicTest_IDrndDigit; +static u8 sPicTest_ContestType; +static u8 sPicTest_MuseumArtTitleType; +static u8 sPicTest_PreviewType; +static u8 sFlagAndVarTest_WhichSubmenu; +static u8 sPicTest_StringBuffer[13]; +static u8 sTopMenuCursorPos; +static u8 sTrickRelatedMenuCursorPos; +static u8 sControlEventsCursorPos; +static u8 sControlFlagsCursorPos; +static u8 sControlWORKCursorPos; + +static bool8 ArtMusGraphics(void); +static bool8 Config(void); +static bool8 ContestGraphics(void); +static bool8 ContestGraphics_Show(void); +static bool8 ControlEvents(void); +static bool8 ControlFlags(void); +static bool8 ControlWorks(void); +static bool8 MuseumGraphics_Show(void); +static bool8 PreviewData(void); +static bool8 TrickHouse(void); static bool8 debug_sub_808B874(void); static bool8 debug_sub_808B8C8(void); static bool8 debug_sub_808BC48(void); static bool8 debug_sub_808BCBC(void); -static bool8 debug_sub_808BD30(void); +static bool8 PreviewData_HandleInput(void); static bool8 debug_sub_808BDA4(void); static bool8 debug_sub_808BE2C(void); static bool8 debug_sub_808BEB4(void); @@ -199,15 +199,15 @@ static bool8 debug_sub_808EC10(void); static bool8 debug_sub_808EC5C(void); static bool8 debug_sub_808ECA4(void); static bool8 debug_sub_808ECD0(void); -static void debug_sub_808ED0C(void); -static void debug_sub_808ED9C(void); -static void debug_sub_808EE3C(void); -static void debug_sub_808EE9C(void); -static void debug_sub_808EF14(void); -static void debug_sub_808EF8C(u8 a0); -static void debug_sub_808F168(u8 a0); -static void debug_sub_808F2E0(u8, u8, bool8); -static void debug_sub_808F31C(u8, u8, u16); +static void PicTest_SelectPokemon(void); +static void PicTest_SelectIDrndDigit(void); +static void ContestPicTest_SelectContestType(void); +static void MuseumArtPicTest_SelectTitleType(void); +static void PreviewPicTest_SelectType(void); +static void PicTest_Redraw(u8 a0); +static void PrepareDebugOverlayBeforeShowingContestPainting(u8 a0); +static void PrintBool(u8, u8, bool8); +static void PrintUnsignedShort(u8, u8, u16); extern const u8 DebugScript_081C1CFE[]; extern const u8 DebugScript_081C1D07[]; @@ -225,49 +225,50 @@ extern const u8 DebugScript_081C23FD[]; extern const u8 DebugScript_081C2518[]; extern const u8 DebugScript_081C2507[]; -static const u8 gUnknown_Debug_083C0C54[] = _("Contest graphics"); -static const u8 gUnknown_Debug_083C0C65[] = _("Art Mus. graphics"); -static const u8 gUnknown_Debug_083C0C77[] = _("Preview data"); -static const u8 gUnknown_Debug_083C0C84[] = _("TRICK HOUSE"); -static const u8 gUnknown_Debug_083C0C90[] = _("Control events"); -static const u8 gUnknown_Debug_083C0C9F[] = _("Control flags"); -static const u8 gUnknown_Debug_083C0CAD[] = _("Control WORK"); +static const u8 sString_ContestGraphics[] = _("Contest graphics"); +static const u8 sString_ArtMuseumGraphics[] = _("Art Mus. graphics"); +static const u8 sString_PreviewData[] = _("Preview data"); +static const u8 sString_TrickHouse[] = _("TRICK HOUSE"); +static const u8 sString_ControlEvents[] = _("Control events"); +static const u8 sString_ControlFlags[] = _("Control flags"); +static const u8 sString_ControlWORK[] = _("Control WORK"); static const struct MenuAction gUnknown_Debug_083C0CBA[] = { - {gUnknown_Debug_083C0C54, TomomichiDebugMenu_ContestGraphics}, - {gUnknown_Debug_083C0C65, TomomichiDebugMenu_ArtMusGraphics}, - {gUnknown_Debug_083C0C77, TomomichiDebugMenu_PreviewData}, - {gUnknown_Debug_083C0C84, TomomichiDebugMenu_TrickHouse}, - {gUnknown_Debug_083C0C90, TomomichiDebugMenu_ControlEvents}, - {gUnknown_Debug_083C0C9F, TomomichiDebugMenu_ControlFlags}, - {gUnknown_Debug_083C0CAD, TomomichiDebugMenu_ControlWorks}, + {sString_ContestGraphics, ContestGraphics}, + {sString_ArtMuseumGraphics, ArtMusGraphics}, + {sString_PreviewData, PreviewData}, + {sString_TrickHouse, TrickHouse}, + {sString_ControlEvents, ControlEvents}, + {sString_ControlFlags, ControlFlags}, + {sString_ControlWORK, ControlWorks}, }; -static const u8 gUnknown_Debug_083C0CF4[] = _("Contest"); +static const u8 sString_ContestMenuTitle[] = _("Contest"); -static const u8 gUnknown_Debug_083C0CFC[] = _("Pokémon No."); -static const u8 gUnknown_Debug_083C0D08[] = _("ID rnd. digit"); -static const u8 gUnknown_Debug_083C0D16[] = _("Contest Type"); -static const u8 gUnknown_Debug_083C0D23[] = _("Poké Art"); +static const u8 sString_Contest_PokemonNo[] = _("Pokémon No."); +static const u8 sString_Contest_IDrndDigit[] = _("ID rnd. digit"); +static const u8 sString_Contest_Type[] = _("Contest Type"); +static const u8 sString_Contest_PokeArt[] = _("Poké Art"); -static const struct MenuAction gUnknown_Debug_083C0D2C[] = { - {gUnknown_Debug_083C0CFC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0D08, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0D16, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0D23, TomomichiDebugMenu_ContestGraphics_Show} +static const struct MenuAction sMenuActions_ContestPicTest[] = { + {sString_Contest_PokemonNo, Config}, + {sString_Contest_IDrndDigit, Config}, + {sString_Contest_Type, Config}, + {sString_Contest_PokeArt, ContestGraphics_Show} }; -static const u8 gUnknown_Debug_083C0D4C[] = _("Art Mus."); -static const u8 gUnknown_Debug_083C0D55[] = _("Pokémon No."); -static const u8 gUnknown_Debug_083C0D61[] = _("ID rnd. digit"); -static const u8 gUnknown_Debug_083C0D6F[] = _("Title Type"); -static const u8 gUnknown_Debug_083C0D7A[] = _("Poké Art"); - -static const struct MenuAction gUnknown_Debug_083C0D83[] = { - {gUnknown_Debug_083C0D55, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0D61, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0D6F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0D7A, TomomichiDebugMenu_MuseumGraphics_Show} +static const u8 sString_Contest_ArtMuseumTitle[] = _("Art Mus."); + +static const u8 sString_Contest_ArtMuseum_PokemonNo[] = _("Pokémon No."); +static const u8 sString_Contest_ArtMuseum_IDrndDigit[] = _("ID rnd. digit"); +static const u8 sString_Contest_ArtMuseum_Type[] = _("Title Type"); +static const u8 sString_Contest_ArtMuseum_PokeArt[] = _("Poké Art"); + +static const struct MenuAction sMenuActions_ArtMuseumPicTest[] = { + {sString_Contest_ArtMuseum_PokemonNo, Config}, + {sString_Contest_ArtMuseum_IDrndDigit, Config}, + {sString_Contest_ArtMuseum_Type, Config}, + {sString_Contest_ArtMuseum_PokeArt, MuseumGraphics_Show} }; static const u8 gUnknown_Debug_083C0DA4[] = _("Preview"); @@ -277,10 +278,10 @@ static const u8 gUnknown_Debug_083C0DB8[] = _("ID rnd. digit"); static const u8 gUnknown_Debug_083C0DC6[] = _("Type"); static const u8 gUnknown_Debug_083C0DCB[] = _("Poké Art"); -static const struct MenuAction gUnknown_Debug_083C0DD4[] = { - {gUnknown_Debug_083C0DAC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0DB8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C0DC6, TomomichiDebugMenu_Config}, +static const struct MenuAction sMenuActions_PreviewPicTest[] = { + {gUnknown_Debug_083C0DAC, Config}, + {gUnknown_Debug_083C0DB8, Config}, + {gUnknown_Debug_083C0DC6, Config}, {gUnknown_Debug_083C0DCB, debug_sub_808ECA4} }; @@ -289,7 +290,7 @@ static const u8 gUnknown_Debug_083C0DF4[] = _("Trick related"); static const u8 gUnknown_Debug_083C0E02[] = _("Level"); static const u8 gUnknown_Debug_083C0E08[] = _("Trick Master"); -static const struct MenuAction gUnknown_Debug_083C0E15[] = { +static const struct MenuAction sMenuActions_TrickRelated[] = { {gUnknown_Debug_083C0E02, debug_sub_808EB58}, {gUnknown_Debug_083C0E08, debug_sub_808EBB4} }; @@ -378,7 +379,7 @@ static const struct MenuAction gUnknown_Debug_083C0FFC[] = { static const u8 gUnknown_Debug_083C102C[] = _("ANSWORK みかんせい"); static const struct MenuAction gUnknown_Debug_083C103A[] = { - {gUnknown_Debug_083C102C, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C102C, Config} }; static const u8 gUnknown_Debug_083C1044[] = _("FHーOBJ00ー08"); @@ -400,15 +401,15 @@ static const u8 gUnknown_Debug_083C10AB[] = _("FHーOBJ07"); static const u8 gUnknown_Debug_083C10B4[] = _("FHーOBJ08"); static const struct MenuAction gUnknown_Debug_083C10BD[] = { - {gUnknown_Debug_083C106C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1075, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C107E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1087, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1090, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1099, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C10A2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C10AB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C10B4, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C106C, Config}, + {gUnknown_Debug_083C1075, Config}, + {gUnknown_Debug_083C107E, Config}, + {gUnknown_Debug_083C1087, Config}, + {gUnknown_Debug_083C1090, Config}, + {gUnknown_Debug_083C1099, Config}, + {gUnknown_Debug_083C10A2, Config}, + {gUnknown_Debug_083C10AB, Config}, + {gUnknown_Debug_083C10B4, Config} }; static const u8 gUnknown_Debug_083C1108[] = _("FH-OBJ09"); @@ -422,15 +423,15 @@ static const u8 gUnknown_Debug_083C1147[] = _(""); static const u8 gUnknown_Debug_083C1148[] = _(""); static const struct MenuAction gUnknown_Debug_083C1149[] = { - {gUnknown_Debug_083C1108, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1111, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C111A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1123, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C112C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1135, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C113E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1147, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1148, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1108, Config}, + {gUnknown_Debug_083C1111, Config}, + {gUnknown_Debug_083C111A, Config}, + {gUnknown_Debug_083C1123, Config}, + {gUnknown_Debug_083C112C, Config}, + {gUnknown_Debug_083C1135, Config}, + {gUnknown_Debug_083C113E, Config}, + {gUnknown_Debug_083C1147, Config}, + {gUnknown_Debug_083C1148, Config} }; static const u8 gUnknown_Debug_083C1194[] = {9, 7}; @@ -459,15 +460,15 @@ static const u8 gUnknown_Debug_083C1206[] = _("FH-07"); static const u8 gUnknown_Debug_083C120C[] = _("FH-08"); static const struct MenuAction gUnknown_Debug_083C1212[] = { - {gUnknown_Debug_083C11DC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C11E2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C11E8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C11EE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C11F4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C11FA, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1200, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1206, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C120C, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C11DC, Config}, + {gUnknown_Debug_083C11E2, Config}, + {gUnknown_Debug_083C11E8, Config}, + {gUnknown_Debug_083C11EE, Config}, + {gUnknown_Debug_083C11F4, Config}, + {gUnknown_Debug_083C11FA, Config}, + {gUnknown_Debug_083C1200, Config}, + {gUnknown_Debug_083C1206, Config}, + {gUnknown_Debug_083C120C, Config} }; static const u8 gUnknown_Debug_083C125C[] = _("FHー09"); @@ -481,15 +482,15 @@ static const u8 gUnknown_Debug_083C1286[] = _(""); static const u8 gUnknown_Debug_083C1287[] = _(""); static const struct MenuAction gUnknown_Debug_083C1288[] = { - {gUnknown_Debug_083C125C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1262, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1268, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C126E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1274, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C127A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1280, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1286, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1287, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C125C, Config}, + {gUnknown_Debug_083C1262, Config}, + {gUnknown_Debug_083C1268, Config}, + {gUnknown_Debug_083C126E, Config}, + {gUnknown_Debug_083C1274, Config}, + {gUnknown_Debug_083C127A, Config}, + {gUnknown_Debug_083C1280, Config}, + {gUnknown_Debug_083C1286, Config}, + {gUnknown_Debug_083C1287, Config} }; static const u8 gUnknown_Debug_083C12D0[] = {9, 7}; @@ -531,14 +532,14 @@ static const u8 gUnknown_Debug_083C13C0[] = _("BATCH07ーGET"); static const u8 gUnknown_Debug_083C13CC[] = _("BATCH08ーGET"); static const struct MenuAction gUnknown_Debug_083C13D8[] = { - {gUnknown_Debug_083C1378, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1384, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1390, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C139C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C13A8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C13B4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C13C0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C13CC, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1378, Config}, + {gUnknown_Debug_083C1384, Config}, + {gUnknown_Debug_083C1390, Config}, + {gUnknown_Debug_083C139C, Config}, + {gUnknown_Debug_083C13A8, Config}, + {gUnknown_Debug_083C13B4, Config}, + {gUnknown_Debug_083C13C0, Config}, + {gUnknown_Debug_083C13CC, Config} }; static const u8 gUnknown_Debug_083C1418[] = _("T101ARRIVE"); @@ -550,13 +551,13 @@ static const u8 gUnknown_Debug_083C144F[] = _("T106ARRIVE"); static const u8 gUnknown_Debug_083C145A[] = _("T107ARRIVE"); static const struct MenuAction gUnknown_Debug_083C1465[] = { - {gUnknown_Debug_083C1418, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1423, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C142E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1439, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1444, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C144F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C145A, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1418, Config}, + {gUnknown_Debug_083C1423, Config}, + {gUnknown_Debug_083C142E, Config}, + {gUnknown_Debug_083C1439, Config}, + {gUnknown_Debug_083C1444, Config}, + {gUnknown_Debug_083C144F, Config}, + {gUnknown_Debug_083C145A, Config} }; static const u8 gUnknown_Debug_083C14A0[] = _("C101ARRIVE"); @@ -570,15 +571,15 @@ static const u8 gUnknown_Debug_083C14ED[] = _("C108ARRIVE"); static const u8 gUnknown_Debug_083C14F8[] = _("C109ARRIVE"); static const struct MenuAction gUnknown_Debug_083C1503[] = { - {gUnknown_Debug_083C14A0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14AB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14B6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14C1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14CC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14D7, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14E2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14ED, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C14F8, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C14A0, Config}, + {gUnknown_Debug_083C14AB, Config}, + {gUnknown_Debug_083C14B6, Config}, + {gUnknown_Debug_083C14C1, Config}, + {gUnknown_Debug_083C14CC, Config}, + {gUnknown_Debug_083C14D7, Config}, + {gUnknown_Debug_083C14E2, Config}, + {gUnknown_Debug_083C14ED, Config}, + {gUnknown_Debug_083C14F8, Config} }; static const u8 gUnknown_Debug_083C154C[] = _("SYSーPOKEMONーGET"); @@ -587,10 +588,10 @@ static const u8 gUnknown_Debug_083C156A[] = _("SYSーPOKEGEARーGET"); static const u8 gUnknown_Debug_083C157B[] = _("SYSーRIBBONーGET"); static const struct MenuAction gUnknown_Debug_083C158A[] = { - {gUnknown_Debug_083C154C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C155C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C156A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C157B, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C154C, Config}, + {gUnknown_Debug_083C155C, Config}, + {gUnknown_Debug_083C156A, Config}, + {gUnknown_Debug_083C157B, Config} }; static const u8 gUnknown_Debug_083C15AC[] = _("SYSーGAMEーCLEAR"); @@ -604,15 +605,15 @@ static const u8 gUnknown_Debug_083C1627[] = _("SYSーSAFARIーMODE"); static const u8 gUnknown_Debug_083C1637[] = _("SYSーCRUISEーMODE"); static const struct MenuAction gUnknown_Debug_083C1647[] = { - {gUnknown_Debug_083C15AC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C15BB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C15CA, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C15DD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C15F0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1605, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1616, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1627, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1637, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C15AC, Config}, + {gUnknown_Debug_083C15BB, Config}, + {gUnknown_Debug_083C15CA, Config}, + {gUnknown_Debug_083C15DD, Config}, + {gUnknown_Debug_083C15F0, Config}, + {gUnknown_Debug_083C1605, Config}, + {gUnknown_Debug_083C1616, Config}, + {gUnknown_Debug_083C1627, Config}, + {gUnknown_Debug_083C1637, Config} }; static const u8 gUnknown_Debug_083C1690[] = _("SYSーTVーHOME"); @@ -626,15 +627,15 @@ static const u8 gUnknown_Debug_083C16F2[] = _("SYSーCAVEーWONDER"); static const u8 gUnknown_Debug_083C1702[] = _("SYSーCAVEーBATTLE"); static const struct MenuAction gUnknown_Debug_083C1712[] = { - {gUnknown_Debug_083C1690, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C169C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C16A9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C16B5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C16C7, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C16D6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C16E4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C16F2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1702, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1690, Config}, + {gUnknown_Debug_083C169C, Config}, + {gUnknown_Debug_083C16A9, Config}, + {gUnknown_Debug_083C16B5, Config}, + {gUnknown_Debug_083C16C7, Config}, + {gUnknown_Debug_083C16D6, Config}, + {gUnknown_Debug_083C16E4, Config}, + {gUnknown_Debug_083C16F2, Config}, + {gUnknown_Debug_083C1702, Config} }; static const u8 gUnknown_Debug_083C175C[] = _("SYSーSPECIALーZUKAN"); @@ -648,15 +649,15 @@ static const u8 gUnknown_Debug_083C17D4[] = _("SYSーTENJIーWAIT"); static const u8 gUnknown_Debug_083C17E3[] = _("SYSーTENJIーSORAWOTOBU"); static const struct MenuAction gUnknown_Debug_083C17F8[] = { - {gUnknown_Debug_083C175C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C176E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C177D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C178C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C179C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C17AE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C17C2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C17D4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C17E3, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C175C, Config}, + {gUnknown_Debug_083C176E, Config}, + {gUnknown_Debug_083C177D, Config}, + {gUnknown_Debug_083C178C, Config}, + {gUnknown_Debug_083C179C, Config}, + {gUnknown_Debug_083C17AE, Config}, + {gUnknown_Debug_083C17C2, Config}, + {gUnknown_Debug_083C17D4, Config}, + {gUnknown_Debug_083C17E3, Config} }; static const u8 gUnknown_Debug_083C1840[] = _("SYSーENCーUPーITEM"); @@ -670,15 +671,15 @@ static const u8 gUnknown_Debug_083C18B4[] = _(""); static const u8 gUnknown_Debug_083C18B5[] = _(""); static const struct MenuAction gUnknown_Debug_083C18B8[] = { - {gUnknown_Debug_083C1840, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1850, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1862, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1873, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1886, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1895, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C18A0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C18B4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C18B5, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1840, Config}, + {gUnknown_Debug_083C1850, Config}, + {gUnknown_Debug_083C1862, Config}, + {gUnknown_Debug_083C1873, Config}, + {gUnknown_Debug_083C1886, Config}, + {gUnknown_Debug_083C1895, Config}, + {gUnknown_Debug_083C18A0, Config}, + {gUnknown_Debug_083C18B4, Config}, + {gUnknown_Debug_083C18B5, Config} }; static const u8 gUnknown_Debug_083C1900[] = _("SYSーARRIVEーSUBMARINECAVE"); @@ -692,15 +693,15 @@ static const u8 gUnknown_Debug_083C196F[] = _(""); static const u8 gUnknown_Debug_083C1970[] = _(""); static const struct MenuAction gDebug_0x83C1974[] = { - {gUnknown_Debug_083C1900, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1919, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1930, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1942, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1954, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C196D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C196E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C196F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1970, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1900, Config}, + {gUnknown_Debug_083C1919, Config}, + {gUnknown_Debug_083C1930, Config}, + {gUnknown_Debug_083C1942, Config}, + {gUnknown_Debug_083C1954, Config}, + {gUnknown_Debug_083C196D, Config}, + {gUnknown_Debug_083C196E, Config}, + {gUnknown_Debug_083C196F, Config}, + {gUnknown_Debug_083C1970, Config} }; static const u8 gUnknown_Debug_083C19BC[] = {8, 7, 9, 4, 9, 9, 9, 7, 5}; @@ -727,8 +728,8 @@ static const u8 gUnknown_Debug_083C1A80[] = _("FVーBALL1ー78"); static const u8 gUnknown_Debug_083C1A8C[] = _("FVーBALL1ー133"); static const struct MenuAction gUnknown_Debug_083C1A9C[] = { - {gUnknown_Debug_083C1A80, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1A8C, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1A80, Config}, + {gUnknown_Debug_083C1A8C, Config} }; static const u8 gUnknown_Debug_083C1AAC[] = {2}; @@ -757,14 +758,14 @@ static const u8 gUnknown_Debug_083C1B5A[] = _("FTーGYMー07ーLEADER"); static const u8 gUnknown_Debug_083C1B6B[] = _("FTーGYMー08ーLEADER"); static const struct MenuAction gUnknown_Debug_083C1B7C[] = { - {gUnknown_Debug_083C1AF4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1B05, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1B16, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1B27, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1B38, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1B49, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1B5A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1B6B, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1AF4, Config}, + {gUnknown_Debug_083C1B05, Config}, + {gUnknown_Debug_083C1B16, Config}, + {gUnknown_Debug_083C1B27, Config}, + {gUnknown_Debug_083C1B38, Config}, + {gUnknown_Debug_083C1B49, Config}, + {gUnknown_Debug_083C1B5A, Config}, + {gUnknown_Debug_083C1B6B, Config} }; static const u8 gUnknown_Debug_083C1BBC[] = _("FTーSHITENー01"); @@ -773,16 +774,16 @@ static const u8 gUnknown_Debug_083C1BD6[] = _("FTーSHITENー03"); static const u8 gUnknown_Debug_083C1BE3[] = _("FTーSHITENー04"); static const struct MenuAction gUnknown_Debug_083C1BF0[] = { - {gUnknown_Debug_083C1BBC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1BC9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1BD6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1BE3, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1BBC, Config}, + {gUnknown_Debug_083C1BC9, Config}, + {gUnknown_Debug_083C1BD6, Config}, + {gUnknown_Debug_083C1BE3, Config} }; static const u8 gUnknown_Debug_083C1C10[] = _("FTーMITSURUー01ーCAVEーD1301"); static const struct MenuAction gUnknown_Debug_083C1C2C[] = { - {gUnknown_Debug_083C1C10, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1C10, Config} }; static const u8 gUnknown_Debug_083C1C34[] = {8, 4, 1}; @@ -825,15 +826,15 @@ static const u8 gUnknown_Debug_083C1DDB[] = _("FVーKAKUREー01ーFIELDーR119") static const u8 gUnknown_Debug_083C1DF3[] = _("FVーKAKUREー02ーFIELDーR119"); static const struct MenuAction gUnknown_Debug_083C1E0C[] = { - {gUnknown_Debug_083C1D30, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1D4B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1D63, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1D7B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1D93, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1DAB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1DC3, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1DDB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1DF3, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1D30, Config}, + {gUnknown_Debug_083C1D4B, Config}, + {gUnknown_Debug_083C1D63, Config}, + {gUnknown_Debug_083C1D7B, Config}, + {gUnknown_Debug_083C1D93, Config}, + {gUnknown_Debug_083C1DAB, Config}, + {gUnknown_Debug_083C1DC3, Config}, + {gUnknown_Debug_083C1DDB, Config}, + {gUnknown_Debug_083C1DF3, Config} }; static const u8 gUnknown_Debug_083C1E54[] = _("FVーBALLー01ーC107ーR0501"); @@ -847,15 +848,15 @@ static const u8 gUnknown_Debug_083C1F01[] = _("FVーSUPPORTWー01ーT101ーR0202 static const u8 gUnknown_Debug_083C1F1B[] = _("FVーSUPPORTMー01ーT101ーR0102"); static const struct MenuAction gUnknown_Debug_083C1F38[] = { - {gUnknown_Debug_083C1E54, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1E6A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1E84, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1E9F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1EB7, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1ED1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1EEB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1F01, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1F1B, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1E54, Config}, + {gUnknown_Debug_083C1E6A, Config}, + {gUnknown_Debug_083C1E84, Config}, + {gUnknown_Debug_083C1E9F, Config}, + {gUnknown_Debug_083C1EB7, Config}, + {gUnknown_Debug_083C1ED1, Config}, + {gUnknown_Debug_083C1EEB, Config}, + {gUnknown_Debug_083C1F01, Config}, + {gUnknown_Debug_083C1F1B, Config} }; static const u8 gUnknown_Debug_083C1F80[] = _("FVーODAMAKIー01ーFIELDーR101"); @@ -869,15 +870,15 @@ static const u8 gUnknown_Debug_083C2038[] = _("FVーFIGHTERー01ーT106ーR0201" static const u8 gUnknown_Debug_083C2051[] = _("FVーFIGHTERー01ーFIELDーR116"); static const struct MenuAction gUnknown_Debug_083C206C[] = { - {gUnknown_Debug_083C1F80, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1F99, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1FB2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1FCE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C1FEA, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2006, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C201F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2038, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2051, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C1F80, Config}, + {gUnknown_Debug_083C1F99, Config}, + {gUnknown_Debug_083C1FB2, Config}, + {gUnknown_Debug_083C1FCE, Config}, + {gUnknown_Debug_083C1FEA, Config}, + {gUnknown_Debug_083C2006, Config}, + {gUnknown_Debug_083C201F, Config}, + {gUnknown_Debug_083C2038, Config}, + {gUnknown_Debug_083C2051, Config} }; static const u8 gUnknown_Debug_083C20B4[] = _("FVーMITSURUー01ーFIELDーC101"); @@ -891,15 +892,15 @@ static const u8 gUnknown_Debug_083C2163[] = _("FVーTENKIー01ーR119ーR101"); static const u8 gUnknown_Debug_083C2179[] = _("FVーTENKIー01ーR119ーR102"); static const struct MenuAction gUnknown_Debug_083C2190[] = { - {gUnknown_Debug_083C20B4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C20CD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C20E6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C20FF, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2118, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2131, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C214A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2163, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2179, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C20B4, Config}, + {gUnknown_Debug_083C20CD, Config}, + {gUnknown_Debug_083C20E6, Config}, + {gUnknown_Debug_083C20FF, Config}, + {gUnknown_Debug_083C2118, Config}, + {gUnknown_Debug_083C2131, Config}, + {gUnknown_Debug_083C214A, Config}, + {gUnknown_Debug_083C2163, Config}, + {gUnknown_Debug_083C2179, Config} }; static const u8 gUnknown_Debug_083C21D8[] = _("FVーDAIGOー01ーCAVEーD0504"); @@ -910,12 +911,12 @@ static const u8 gUnknown_Debug_083C2234[] = _("FVーDAIGOー01ーFIELDーR120"); static const u8 gUnknown_Debug_083C224B[] = _("FVーDAIGOー01ーFIELDーR108"); static const struct MenuAction gUnknown_Debug_083C2264[] = { - {gUnknown_Debug_083C21D8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C21EF, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2206, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C221D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2234, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C224B, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C21D8, Config}, + {gUnknown_Debug_083C21EF, Config}, + {gUnknown_Debug_083C2206, Config}, + {gUnknown_Debug_083C221D, Config}, + {gUnknown_Debug_083C2234, Config}, + {gUnknown_Debug_083C224B, Config} }; static const u8 gUnknown_Debug_083C2294[] = _("FVーPOKE1ー02ーCAVEーD1111"); @@ -929,15 +930,15 @@ static const u8 gUnknown_Debug_083C233D[] = _("FVーPOKEMONー01ーCAVEーD0201" static const u8 gUnknown_Debug_083C2356[] = _("FVーPOKEMONー01ーR104ーR0101"); static const struct MenuAction gUnknown_Debug_083C2370[] = { - {gUnknown_Debug_083C2294, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C22AB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C22C2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C22D9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C22F0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C230B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2326, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C233D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2356, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2294, Config}, + {gUnknown_Debug_083C22AB, Config}, + {gUnknown_Debug_083C22C2, Config}, + {gUnknown_Debug_083C22D9, Config}, + {gUnknown_Debug_083C22F0, Config}, + {gUnknown_Debug_083C230B, Config}, + {gUnknown_Debug_083C2326, Config}, + {gUnknown_Debug_083C233D, Config}, + {gUnknown_Debug_083C2356, Config} }; static const u8 gUnknown_Debug_083C23B8[] = _("FVーMAMAー01ーFIELDーT101"); @@ -951,15 +952,15 @@ static const u8 gUnknown_Debug_083C2459[] = _("FVーSUPPORTー02ーFIELDーR119" static const u8 gUnknown_Debug_083C2472[] = _("FVーSUPPORTー02ーFIELDーT104"); static const struct MenuAction gUnknown_Debug_083C248C[] = { - {gUnknown_Debug_083C23B8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C23CE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C23E8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C23FE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2414, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C242A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2440, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2459, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2472, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C23B8, Config}, + {gUnknown_Debug_083C23CE, Config}, + {gUnknown_Debug_083C23E8, Config}, + {gUnknown_Debug_083C23FE, Config}, + {gUnknown_Debug_083C2414, Config}, + {gUnknown_Debug_083C242A, Config}, + {gUnknown_Debug_083C2440, Config}, + {gUnknown_Debug_083C2459, Config}, + {gUnknown_Debug_083C2472, Config} }; static const u8 gUnknown_Debug_083C24D4[] = _("FVーHAGIー01ーFIELDーR104"); @@ -973,15 +974,15 @@ static const u8 gUnknown_Debug_083C256E[] = _("FVーHAGIー01ーFIELDーR116"); static const u8 gUnknown_Debug_083C2584[] = _("FVーHAGIー01ーSPーSHIP01"); static const struct MenuAction gUnknown_Debug_083C259C[] = { - {gUnknown_Debug_083C24D4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C24EA, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2500, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2516, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C252C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2542, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2558, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C256E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2584, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C24D4, Config}, + {gUnknown_Debug_083C24EA, Config}, + {gUnknown_Debug_083C2500, Config}, + {gUnknown_Debug_083C2516, Config}, + {gUnknown_Debug_083C252C, Config}, + {gUnknown_Debug_083C2542, Config}, + {gUnknown_Debug_083C2558, Config}, + {gUnknown_Debug_083C256E, Config}, + {gUnknown_Debug_083C2584, Config} }; static const u8 gUnknown_Debug_083C25E4[] = _("FVーSUPPORTー01ーT101ーR0301"); @@ -995,15 +996,15 @@ static const u8 gUnknown_Debug_083C2693[] = _("FVーSUPPORTー01ーFIELDーT104" static const u8 gUnknown_Debug_083C26AC[] = _("FVーSUPPORTー01ーFIELDーT102"); static const struct MenuAction gUnknown_Debug_083C26C8[] = { - {gUnknown_Debug_083C25E4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C25FD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2616, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C262F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2648, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2661, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C267A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2693, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C26AC, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C25E4, Config}, + {gUnknown_Debug_083C25FD, Config}, + {gUnknown_Debug_083C2616, Config}, + {gUnknown_Debug_083C262F, Config}, + {gUnknown_Debug_083C2648, Config}, + {gUnknown_Debug_083C2661, Config}, + {gUnknown_Debug_083C267A, Config}, + {gUnknown_Debug_083C2693, Config}, + {gUnknown_Debug_083C26AC, Config} }; static const u8 gUnknown_Debug_083C2710[] = {9, 9, 9, 9, 6, 9, 9, 9, 9}; @@ -1053,15 +1054,15 @@ static const u8 gUnknown_Debug_083C2909[] = _("FEーDEBONー01ーFIELDーC104"); static const u8 gUnknown_Debug_083C2920[] = _("FEーDEBONー02ーFIELDーC104"); static const struct MenuAction gUnknown_Debug_083C2938[] = { - {gUnknown_Debug_083C2870, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C287F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2897, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C28A6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C28BF, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C28D8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C28F1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2909, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2920, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2870, Config}, + {gUnknown_Debug_083C287F, Config}, + {gUnknown_Debug_083C2897, Config}, + {gUnknown_Debug_083C28A6, Config}, + {gUnknown_Debug_083C28BF, Config}, + {gUnknown_Debug_083C28D8, Config}, + {gUnknown_Debug_083C28F1, Config}, + {gUnknown_Debug_083C2909, Config}, + {gUnknown_Debug_083C2920, Config} }; static const u8 gUnknown_Debug_083C2980[] = _("FEーCYCLEー01ーP01ーP01ーC103ーR0201"); @@ -1075,15 +1076,15 @@ static const u8 gUnknown_Debug_083C2A21[] = _("FEーIITURIZAOーGET"); static const u8 gUnknown_Debug_083C2A32[] = _("FEーSUGOITURIZAOーGET"); static const struct MenuAction gUnknown_Debug_083C2A48[] = { - {gUnknown_Debug_083C2980, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C299F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C29BA, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C29D4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C29EE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C29FC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2A0C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2A21, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2A32, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2980, Config}, + {gUnknown_Debug_083C299F, Config}, + {gUnknown_Debug_083C29BA, Config}, + {gUnknown_Debug_083C29D4, Config}, + {gUnknown_Debug_083C29EE, Config}, + {gUnknown_Debug_083C29FC, Config}, + {gUnknown_Debug_083C2A0C, Config}, + {gUnknown_Debug_083C2A21, Config}, + {gUnknown_Debug_083C2A32, Config} }; static const u8 gUnknown_Debug_083C2A90[] = _("FEーBOSSー01ーCAVEーD0701"); @@ -1097,15 +1098,15 @@ static const u8 gUnknown_Debug_083C2B27[] = _("FEーKASEKIーRETURN"); static const u8 gUnknown_Debug_083C2B38[] = _("FEーWINー01ーSPーSHIP01"); static const struct MenuAction gUnknown_Debug_083C2B4C[] = { - {gUnknown_Debug_083C2A90, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2AA6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2AB8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2ACF, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2AE6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2AFB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2B0F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2B27, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2B38, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2A90, Config}, + {gUnknown_Debug_083C2AA6, Config}, + {gUnknown_Debug_083C2AB8, Config}, + {gUnknown_Debug_083C2ACF, Config}, + {gUnknown_Debug_083C2AE6, Config}, + {gUnknown_Debug_083C2AFB, Config}, + {gUnknown_Debug_083C2B0F, Config}, + {gUnknown_Debug_083C2B27, Config}, + {gUnknown_Debug_083C2B38, Config} }; static const u8 gUnknown_Debug_083C2B94[] = _("FEーMITSURUー01ーT106ーR0201"); @@ -1119,15 +1120,15 @@ static const u8 gUnknown_Debug_083C2C47[] = _("FEーDOORーOPENー04ーCAVEーD1 static const u8 gUnknown_Debug_083C2C62[] = _("FEーDOORーOPENー06ーCAVEーD1712"); static const struct MenuAction gUnknown_Debug_083C2C80[] = { - {gUnknown_Debug_083C2B94, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2BAD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2BC6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2BDF, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2BF8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2C11, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2C2C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2C47, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2C62, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2B94, Config}, + {gUnknown_Debug_083C2BAD, Config}, + {gUnknown_Debug_083C2BC6, Config}, + {gUnknown_Debug_083C2BDF, Config}, + {gUnknown_Debug_083C2BF8, Config}, + {gUnknown_Debug_083C2C11, Config}, + {gUnknown_Debug_083C2C2C, Config}, + {gUnknown_Debug_083C2C47, Config}, + {gUnknown_Debug_083C2C62, Config} }; static const u8 gUnknown_Debug_083C2CC8[] = _("FEーKARAKURI10ーSWITCHー01"); @@ -1141,15 +1142,15 @@ static const u8 gUnknown_Debug_083C2D66[] = _("FEーGYM07ーSWITCHー03"); static const u8 gUnknown_Debug_083C2D79[] = _("FEーGYM07ーSWITCHー04"); static const struct MenuAction gUnknown_Debug_083C2D8C[] = { - {gUnknown_Debug_083C2CC8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2CE0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2CF8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2D10, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2D28, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2D40, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2D53, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2D66, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2D79, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2CC8, Config}, + {gUnknown_Debug_083C2CE0, Config}, + {gUnknown_Debug_083C2CF8, Config}, + {gUnknown_Debug_083C2D10, Config}, + {gUnknown_Debug_083C2D28, Config}, + {gUnknown_Debug_083C2D40, Config}, + {gUnknown_Debug_083C2D53, Config}, + {gUnknown_Debug_083C2D66, Config}, + {gUnknown_Debug_083C2D79, Config} }; static const u8 gUnknown_Debug_083C2DD4[] = _("FEーSUPPORTー01ーFIELDーR103"); @@ -1163,15 +1164,15 @@ static const u8 gUnknown_Debug_083C2E78[] = _("FEーODAMAKIー01ーP01ーT101ー static const u8 gUnknown_Debug_083C2E93[] = _("FEーPAPAー01ーP01ーC101ーR0201"); static const struct MenuAction gUnknown_Debug_083C2EB0[] = { - {gUnknown_Debug_083C2DD4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2DED, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2E06, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2E1F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2E38, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2E51, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2E6B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2E78, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2E93, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2DD4, Config}, + {gUnknown_Debug_083C2DED, Config}, + {gUnknown_Debug_083C2E06, Config}, + {gUnknown_Debug_083C2E1F, Config}, + {gUnknown_Debug_083C2E38, Config}, + {gUnknown_Debug_083C2E51, Config}, + {gUnknown_Debug_083C2E6B, Config}, + {gUnknown_Debug_083C2E78, Config}, + {gUnknown_Debug_083C2E93, Config} }; static const u8 gUnknown_Debug_083C2EF8[] = _("FEーDAISUKIーGOODSーFLAG01"); @@ -1185,15 +1186,15 @@ static const u8 gUnknown_Debug_083C2FA8[] = _("FEーBALLー01ーP01ーSPーCONTE static const u8 gUnknown_Debug_083C2FC2[] = _("FEーWOMAN2ー01ーP01ーT101ーR0201"); static const struct MenuAction gUnknown_Debug_083C2FE0[] = { - {gUnknown_Debug_083C2EF8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2F10, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2F28, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2F40, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2F58, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2F70, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2F8C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2FA8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C2FC2, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C2EF8, Config}, + {gUnknown_Debug_083C2F10, Config}, + {gUnknown_Debug_083C2F28, Config}, + {gUnknown_Debug_083C2F40, Config}, + {gUnknown_Debug_083C2F58, Config}, + {gUnknown_Debug_083C2F70, Config}, + {gUnknown_Debug_083C2F8C, Config}, + {gUnknown_Debug_083C2FA8, Config}, + {gUnknown_Debug_083C2FC2, Config} }; static const u8 gUnknown_Debug_083C3028[] = _("FEーSOUKOーOPENーCAVEーD1704"); @@ -1207,15 +1208,15 @@ static const u8 gUnknown_Debug_083C30D9[] = _("FEーDASHーSHOESーGET"); static const u8 gUnknown_Debug_083C30EB[] = _("FEーDEBONSUKOOPUーGET"); static const struct MenuAction gUnknown_Debug_083C3100[] = { - {gUnknown_Debug_083C3028, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3041, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C305A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3073, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C308D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C30A8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C30C3, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C30D9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C30EB, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3028, Config}, + {gUnknown_Debug_083C3041, Config}, + {gUnknown_Debug_083C305A, Config}, + {gUnknown_Debug_083C3073, Config}, + {gUnknown_Debug_083C308D, Config}, + {gUnknown_Debug_083C30A8, Config}, + {gUnknown_Debug_083C30C3, Config}, + {gUnknown_Debug_083C30D9, Config}, + {gUnknown_Debug_083C30EB, Config} }; static const u8 gUnknown_Debug_083C3148[] = _("FEーSTUDYM1ー01ーP01ーT101R0301"); @@ -1229,15 +1230,15 @@ static const u8 gUnknown_Debug_083C3191[] = _(""); static const u8 gUnknown_Debug_083C3192[] = _(""); static const struct MenuAction gUnknown_Debug_083C3194[] = { - {gUnknown_Debug_083C3148, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3164, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C317E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C318D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C318E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C318F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3190, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3191, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3192, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3148, Config}, + {gUnknown_Debug_083C3164, Config}, + {gUnknown_Debug_083C317E, Config}, + {gUnknown_Debug_083C318D, Config}, + {gUnknown_Debug_083C318E, Config}, + {gUnknown_Debug_083C318F, Config}, + {gUnknown_Debug_083C3190, Config}, + {gUnknown_Debug_083C3191, Config}, + {gUnknown_Debug_083C3192, Config} }; static const u8 gUnknown_Debug_083C31DC[] = {9, 9, 9, 9, 9, 9, 9, 9, 3}; @@ -1299,43 +1300,43 @@ static const u8 gUnknown_Debug_083C345E[] = _("WKーPOKELOTーRND2"); static const u8 gUnknown_Debug_083C346E[] = _("WKーBASEーMAPNO"); static const struct MenuAction gUnknown_Debug_083C347C[] = { - {gUnknown_Debug_083C32D4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C32E6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C32FA, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C32D4, Config}, + {gUnknown_Debug_083C32E6, Config}, + {gUnknown_Debug_083C32FA, Config} }; static const struct MenuAction gUnknown_Debug_083C3494[] = { - {gUnknown_Debug_083C330E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3325, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C330E, Config}, + {gUnknown_Debug_083C3325, Config} }; static const struct MenuAction gUnknown_Debug_083C34A4[] = { - {gUnknown_Debug_083C333A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3349, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3356, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C336A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C337A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3391, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C333A, Config}, + {gUnknown_Debug_083C3349, Config}, + {gUnknown_Debug_083C3356, Config}, + {gUnknown_Debug_083C336A, Config}, + {gUnknown_Debug_083C337A, Config}, + {gUnknown_Debug_083C3391, Config} }; static const struct MenuAction gUnknown_Debug_083C34D4[] = { - {gUnknown_Debug_083C33A6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C33B6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C33C4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C33D5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C33E6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C33F6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3401, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C340C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C341E, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C33A6, Config}, + {gUnknown_Debug_083C33B6, Config}, + {gUnknown_Debug_083C33C4, Config}, + {gUnknown_Debug_083C33D5, Config}, + {gUnknown_Debug_083C33E6, Config}, + {gUnknown_Debug_083C33F6, Config}, + {gUnknown_Debug_083C3401, Config}, + {gUnknown_Debug_083C340C, Config}, + {gUnknown_Debug_083C341E, Config} }; static const struct MenuAction gUnknown_Debug_083C351C[] = { - {gUnknown_Debug_083C342F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C343F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C344E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C345E, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C346E, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C342F, Config}, + {gUnknown_Debug_083C343F, Config}, + {gUnknown_Debug_083C344E, Config}, + {gUnknown_Debug_083C345E, Config}, + {gUnknown_Debug_083C346E, Config} }; static const u8 gUnknown_Debug_083C3544[] = {3, 2, 6, 9, 5}; @@ -1375,25 +1376,25 @@ static const u8 gUnknown_Debug_083C3681[] = _("OBJCHRWORK15"); static const u8 gUnknown_Debug_083C368E[] = _("OBJCHRWORK16"); static const struct MenuAction gUnknown_Debug_083C369C[] = { - {gUnknown_Debug_083C35D4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C35E0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C35EC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C35F8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3604, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3610, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C361C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3628, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3634, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C35D4, Config}, + {gUnknown_Debug_083C35E0, Config}, + {gUnknown_Debug_083C35EC, Config}, + {gUnknown_Debug_083C35F8, Config}, + {gUnknown_Debug_083C3604, Config}, + {gUnknown_Debug_083C3610, Config}, + {gUnknown_Debug_083C361C, Config}, + {gUnknown_Debug_083C3628, Config}, + {gUnknown_Debug_083C3634, Config} }; static const struct MenuAction gUnknown_Debug_083C36E4[] = { - {gUnknown_Debug_083C3640, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C364D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C365A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3667, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3674, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3681, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C368E, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3640, Config}, + {gUnknown_Debug_083C364D, Config}, + {gUnknown_Debug_083C365A, Config}, + {gUnknown_Debug_083C3667, Config}, + {gUnknown_Debug_083C3674, Config}, + {gUnknown_Debug_083C3681, Config}, + {gUnknown_Debug_083C368E, Config} }; static const u8 gUnknown_Debug_083C371C[] = {9, 7}; @@ -1480,74 +1481,74 @@ static const u8 gUnknown_Debug_083C3A9D[] = _(""); static const u8 gUnknown_Debug_083C3A9E[] = _(""); static const struct MenuAction gUnknown_Debug_083C3AA0[] = { - {gUnknown_Debug_083C37AC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C37C0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C37CF, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C37E5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C37FD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3811, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3824, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3825, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C37AC, Config}, + {gUnknown_Debug_083C37C0, Config}, + {gUnknown_Debug_083C37CF, Config}, + {gUnknown_Debug_083C37E5, Config}, + {gUnknown_Debug_083C37FD, Config}, + {gUnknown_Debug_083C3811, Config}, + {gUnknown_Debug_083C3824, Config}, + {gUnknown_Debug_083C3825, Config} }; static const struct MenuAction gUnknown_Debug_83C3AE0[] = { - {gUnknown_Debug_083C3827, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C383B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C384F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3863, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3875, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3885, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3886, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3887, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3888, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3827, Config}, + {gUnknown_Debug_083C383B, Config}, + {gUnknown_Debug_083C384F, Config}, + {gUnknown_Debug_083C3863, Config}, + {gUnknown_Debug_083C3875, Config}, + {gUnknown_Debug_083C3885, Config}, + {gUnknown_Debug_083C3886, Config}, + {gUnknown_Debug_083C3887, Config}, + {gUnknown_Debug_083C3888, Config} }; static const struct MenuAction gUnknown_Debug_83C3B28[] = { - {gUnknown_Debug_083C3889, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C389D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C38B1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C38C5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C38D9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C38ED, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3901, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3915, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3929, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3889, Config}, + {gUnknown_Debug_083C389D, Config}, + {gUnknown_Debug_083C38B1, Config}, + {gUnknown_Debug_083C38C5, Config}, + {gUnknown_Debug_083C38D9, Config}, + {gUnknown_Debug_083C38ED, Config}, + {gUnknown_Debug_083C3901, Config}, + {gUnknown_Debug_083C3915, Config}, + {gUnknown_Debug_083C3929, Config} }; static const struct MenuAction gUnknown_Debug_83C3B70[] = { - {gUnknown_Debug_083C3940, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3954, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3968, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3969, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C396A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C396B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C396C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C396D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C396E, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3940, Config}, + {gUnknown_Debug_083C3954, Config}, + {gUnknown_Debug_083C3968, Config}, + {gUnknown_Debug_083C3969, Config}, + {gUnknown_Debug_083C396A, Config}, + {gUnknown_Debug_083C396B, Config}, + {gUnknown_Debug_083C396C, Config}, + {gUnknown_Debug_083C396D, Config}, + {gUnknown_Debug_083C396E, Config} }; static const struct MenuAction gUnknown_Debug_83C3BB8[] = { - {gUnknown_Debug_083C396F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3984, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3997, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C39A9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C39BC, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C39D3, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C39E8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C39F9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A0E, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C396F, Config}, + {gUnknown_Debug_083C3984, Config}, + {gUnknown_Debug_083C3997, Config}, + {gUnknown_Debug_083C39A9, Config}, + {gUnknown_Debug_083C39BC, Config}, + {gUnknown_Debug_083C39D3, Config}, + {gUnknown_Debug_083C39E8, Config}, + {gUnknown_Debug_083C39F9, Config}, + {gUnknown_Debug_083C3A0E, Config} }; static const struct MenuAction gUnknown_Debug_83C3C00[] = { - {gUnknown_Debug_083C3A22, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A36, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A4D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A65, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A7B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A8D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A9C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A9D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3A9E, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3A22, Config}, + {gUnknown_Debug_083C3A36, Config}, + {gUnknown_Debug_083C3A4D, Config}, + {gUnknown_Debug_083C3A65, Config}, + {gUnknown_Debug_083C3A7B, Config}, + {gUnknown_Debug_083C3A8D, Config}, + {gUnknown_Debug_083C3A9C, Config}, + {gUnknown_Debug_083C3A9D, Config}, + {gUnknown_Debug_083C3A9E, Config} }; static const u8 gUnknown_Debug_083C3C48[] = {6, 5, 9, 2, 9, 6}; @@ -1668,104 +1669,104 @@ static const u8 gUnknown_Debug_083C4301[] = _("WKーSCENEーCAVEーD0101"); static const u8 gUnknown_Debug_083C4315[] = _("WKーSCENEーCAVEーD1301"); static const struct MenuAction gUnknown_Debug_083C432C[] = { - {gUnknown_Debug_083C3D50, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3D64, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3D78, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3D8C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3DA0, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3DAE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3DC2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3DD6, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3D50, Config}, + {gUnknown_Debug_083C3D64, Config}, + {gUnknown_Debug_083C3D78, Config}, + {gUnknown_Debug_083C3D8C, Config}, + {gUnknown_Debug_083C3DA0, Config}, + {gUnknown_Debug_083C3DAE, Config}, + {gUnknown_Debug_083C3DC2, Config}, + {gUnknown_Debug_083C3DD6, Config} }; static const struct MenuAction gUnknown_Debug_083C436C[] = { - {gUnknown_Debug_083C3DED, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E01, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E15, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E29, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E3D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E51, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E65, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E79, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3E8D, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3DED, Config}, + {gUnknown_Debug_083C3E01, Config}, + {gUnknown_Debug_083C3E15, Config}, + {gUnknown_Debug_083C3E29, Config}, + {gUnknown_Debug_083C3E3D, Config}, + {gUnknown_Debug_083C3E51, Config}, + {gUnknown_Debug_083C3E65, Config}, + {gUnknown_Debug_083C3E79, Config}, + {gUnknown_Debug_083C3E8D, Config} }; static const struct MenuAction gUnknown_Debug_083C43B4[] = { - {gUnknown_Debug_083C3EA1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3EB5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3EC9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3EDD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3EF1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3F05, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3F19, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3F2D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3F41, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3EA1, Config}, + {gUnknown_Debug_083C3EB5, Config}, + {gUnknown_Debug_083C3EC9, Config}, + {gUnknown_Debug_083C3EDD, Config}, + {gUnknown_Debug_083C3EF1, Config}, + {gUnknown_Debug_083C3F05, Config}, + {gUnknown_Debug_083C3F19, Config}, + {gUnknown_Debug_083C3F2D, Config}, + {gUnknown_Debug_083C3F41, Config} }; static const struct MenuAction gUnknown_Debug_083C43FC[] = { - {gUnknown_Debug_083C3F55, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3F69, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3F7D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3F91, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3FA5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3FB9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3FCD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3FE1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C3FF5, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C3F55, Config}, + {gUnknown_Debug_083C3F69, Config}, + {gUnknown_Debug_083C3F7D, Config}, + {gUnknown_Debug_083C3F91, Config}, + {gUnknown_Debug_083C3FA5, Config}, + {gUnknown_Debug_083C3FB9, Config}, + {gUnknown_Debug_083C3FCD, Config}, + {gUnknown_Debug_083C3FE1, Config}, + {gUnknown_Debug_083C3FF5, Config} }; static const struct MenuAction gUnknown_Debug_083C4444[] = { - {gUnknown_Debug_083C4009, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C401D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4031, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4045, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4059, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C406D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4081, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4095, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C40A9, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C4009, Config}, + {gUnknown_Debug_083C401D, Config}, + {gUnknown_Debug_083C4031, Config}, + {gUnknown_Debug_083C4045, Config}, + {gUnknown_Debug_083C4059, Config}, + {gUnknown_Debug_083C406D, Config}, + {gUnknown_Debug_083C4081, Config}, + {gUnknown_Debug_083C4095, Config}, + {gUnknown_Debug_083C40A9, Config} }; static const struct MenuAction gUnknown_Debug_083C448C[] = { - {gUnknown_Debug_083C40BD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C40D1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C40E5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C40F9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C410D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4121, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4135, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C40BD, Config}, + {gUnknown_Debug_083C40D1, Config}, + {gUnknown_Debug_083C40E5, Config}, + {gUnknown_Debug_083C40F9, Config}, + {gUnknown_Debug_083C410D, Config}, + {gUnknown_Debug_083C4121, Config}, + {gUnknown_Debug_083C4135, Config} }; static const struct MenuAction gUnknown_Debug_83C44C4[] = { - {gUnknown_Debug_083C4149, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C415D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4171, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4185, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4199, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C4149, Config}, + {gUnknown_Debug_083C415D, Config}, + {gUnknown_Debug_083C4171, Config}, + {gUnknown_Debug_083C4185, Config}, + {gUnknown_Debug_083C4199, Config} }; static const struct MenuAction gUnknown_Debug_83C44EC[] = { - {gUnknown_Debug_083C41C1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C41D5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C41E9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C41FD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4211, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4225, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4239, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C424D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4261, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C41C1, Config}, + {gUnknown_Debug_083C41D5, Config}, + {gUnknown_Debug_083C41E9, Config}, + {gUnknown_Debug_083C41FD, Config}, + {gUnknown_Debug_083C4211, Config}, + {gUnknown_Debug_083C4225, Config}, + {gUnknown_Debug_083C4239, Config}, + {gUnknown_Debug_083C424D, Config}, + {gUnknown_Debug_083C4261, Config} }; static const struct MenuAction gUnknown_Debug_083C4534[] = { - {gUnknown_Debug_083C4275, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4289, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C429D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C42B1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C42C5, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C42D9, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C42ED, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4301, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4315, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C4275, Config}, + {gUnknown_Debug_083C4289, Config}, + {gUnknown_Debug_083C429D, Config}, + {gUnknown_Debug_083C42B1, Config}, + {gUnknown_Debug_083C42C5, Config}, + {gUnknown_Debug_083C42D9, Config}, + {gUnknown_Debug_083C42ED, Config}, + {gUnknown_Debug_083C4301, Config}, + {gUnknown_Debug_083C4315, Config} }; static const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9}; @@ -1809,25 +1810,25 @@ static const u8 gUnknown_Debug_083C46F2[] = _("LOCALWORK14"); static const u8 gUnknown_Debug_083C46FE[] = _("LOCALWORK15"); static const struct MenuAction gUnknown_Debug_083C470C[] = { - {gUnknown_Debug_083C4654, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C465F, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C466A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4675, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4680, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C468B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4696, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46A1, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46AC, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C4654, Config}, + {gUnknown_Debug_083C465F, Config}, + {gUnknown_Debug_083C466A, Config}, + {gUnknown_Debug_083C4675, Config}, + {gUnknown_Debug_083C4680, Config}, + {gUnknown_Debug_083C468B, Config}, + {gUnknown_Debug_083C4696, Config}, + {gUnknown_Debug_083C46A1, Config}, + {gUnknown_Debug_083C46AC, Config} }; static const struct MenuAction gUnknown_Debug_083C4754C[] = { - {gUnknown_Debug_083C46B7, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46C2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46CE, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46DA, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46E6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46F2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C46FE, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C46B7, Config}, + {gUnknown_Debug_083C46C2, Config}, + {gUnknown_Debug_083C46CE, Config}, + {gUnknown_Debug_083C46DA, Config}, + {gUnknown_Debug_083C46E6, Config}, + {gUnknown_Debug_083C46F2, Config}, + {gUnknown_Debug_083C46FE, Config} }; static const u8 gUnknown_Debug_083C478C[] = {9, 7}; @@ -1848,17 +1849,18 @@ static const u8 gUnknown_Debug_083C47E2[] = _("Scene7"); static const u8 gUnknown_Debug_083C47E9[] = _("Scene8"); static const struct MenuAction gUnknown_Debug_083C47F0[] = { - {gUnknown_Debug_083C47B8, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C47BF, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C47C6, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C47CD, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C47D4, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C47DB, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C47E2, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C47E9, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C47B8, Config}, + {gUnknown_Debug_083C47BF, Config}, + {gUnknown_Debug_083C47C6, Config}, + {gUnknown_Debug_083C47CD, Config}, + {gUnknown_Debug_083C47D4, Config}, + {gUnknown_Debug_083C47DB, Config}, + {gUnknown_Debug_083C47E2, Config}, + {gUnknown_Debug_083C47E9, Config} }; static const u8 gUnknown_Debug_083C4830[] = _("Trick Master"); + static const u8 gUnknown_Debug_083C483D[] = _("Hidden MASTER"); static const u8 gUnknown_Debug_083C484B[] = _("Inside the HOUSE"); static const u8 gUnknown_Debug_083C485C[] = _("Pass a reward"); @@ -1866,15 +1868,15 @@ static const u8 gUnknown_Debug_083C486A[] = _("Rig a trick"); static const u8 gUnknown_Debug_083C4876[] = _("MASTER is gone"); static const struct MenuAction gUnknown_Debug_083C4888[] = { - {gUnknown_Debug_083C483D, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C484B, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C485C, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C486A, TomomichiDebugMenu_Config}, - {gUnknown_Debug_083C4876, TomomichiDebugMenu_Config} + {gUnknown_Debug_083C483D, Config}, + {gUnknown_Debug_083C484B, Config}, + {gUnknown_Debug_083C485C, Config}, + {gUnknown_Debug_083C486A, Config}, + {gUnknown_Debug_083C4876, Config} }; -static const u8 gUnknown_Debug_083C48B0[] = _("PMNICKNAME"); -static const u8 gUnknown_Debug_083C48BB[] = _("BREEDER"); +static const u8 sDummyNickname[] = _("PMNICKNAME"); +static const u8 sDummyTrainerName[] = _("BREEDER"); bool8 InitTomomichiDebugWindow(void) { @@ -1892,7 +1894,7 @@ static bool8 debug_sub_808B874(void) Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 13, 15); Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C0CBA), gUnknown_Debug_083C0CBA); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0CBA), gDebug_0300071D, 12); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0CBA), sTopMenuCursorPos, 12); gMenuCallback = debug_sub_808B8C8; return FALSE; } @@ -1902,17 +1904,17 @@ static bool8 debug_sub_808B8C8(void) if (gMain.newKeys & DPAD_UP) { PlaySE(SE_SELECT); - gDebug_0300071D = Menu_MoveCursor(-1); + sTopMenuCursorPos = Menu_MoveCursor(-1); } if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - gDebug_0300071D = Menu_MoveCursor(+1); + sTopMenuCursorPos = Menu_MoveCursor(+1); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0CBA[gDebug_0300071D].func(); + return gUnknown_Debug_083C0CBA[sTopMenuCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -1922,88 +1924,88 @@ static bool8 debug_sub_808B8C8(void) return FALSE; } -static bool8 TomomichiDebugMenu_ContestGraphics(void) +static bool8 ContestGraphics(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); - Menu_PrintText(gUnknown_Debug_083C0CF4, 1, 1); - Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0D2C), gUnknown_Debug_083C0D2C); - InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0D2C), 0, 19); + Menu_PrintText(sString_ContestMenuTitle, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_ContestPicTest), sMenuActions_ContestPicTest); + InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_ContestPicTest), 0, 19); gMenuCallback = debug_sub_808BC48; - gDebug_03000700 = 1; - gDebug_03000704 = 0x6f33; - gDebug_03000708 = 0; - gDebug_0300070C = 1; + sPicTest_Species = SPECIES_BULBASAUR; + sPicTest_ContestEntryVar4 = 0x6f33; + sPicTest_IDrndDigit = 0; + sPicTest_ContestType = 1; return FALSE; } -static bool8 TomomichiDebugMenu_ArtMusGraphics(void) +static bool8 ArtMusGraphics(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); - Menu_PrintText(gUnknown_Debug_083C0D4C, 1, 1); - Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0D83), gUnknown_Debug_083C0D83); - InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0D83), 0, 19); + Menu_PrintText(sString_Contest_ArtMuseumTitle, 1, 1); + Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_ArtMuseumPicTest), sMenuActions_ArtMuseumPicTest); + InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_ArtMuseumPicTest), 0, 19); gMenuCallback = debug_sub_808BCBC; - gDebug_03000700 = 1; - gDebug_03000704 = 0x6f33; - gDebug_03000708 = 0; - gDebug_0300070D = 1; + sPicTest_Species = SPECIES_BULBASAUR; + sPicTest_ContestEntryVar4 = 0x6f33; + sPicTest_IDrndDigit = 0; + sPicTest_MuseumArtTitleType = 1; return FALSE; } -static bool8 TomomichiDebugMenu_PreviewData(void) +static bool8 PreviewData(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); Menu_PrintText(gUnknown_Debug_083C0DA4, 1, 1); - Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0DD4), gUnknown_Debug_083C0DD4); - InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0DD4), 0, 19); - gMenuCallback = debug_sub_808BD30; - gDebug_03000700 = 1; - gDebug_03000704 = 0x6f33; - gDebug_03000708 = 0; - gDebug_0300070E = 1; + Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_PreviewPicTest), sMenuActions_PreviewPicTest); + InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_PreviewPicTest), 0, 19); + gMenuCallback = PreviewData_HandleInput; + sPicTest_Species = SPECIES_BULBASAUR; + sPicTest_ContestEntryVar4 = 0x6f33; + sPicTest_IDrndDigit = 0; + sPicTest_PreviewType = 1; return FALSE; } -static bool8 TomomichiDebugMenu_TrickHouse(void) +static bool8 TrickHouse(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 7); Menu_PrintText(gUnknown_Debug_083C0DF4, 1, 1); - Menu_PrintItems(2, 3, ARRAY_COUNT(gUnknown_Debug_083C0E15), gUnknown_Debug_083C0E15); - InitMenu(0, 1, 3, ARRAY_COUNT(gUnknown_Debug_083C0E15), gDebug_0300071E, 23); + Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_TrickRelated), sMenuActions_TrickRelated); + InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_TrickRelated), sTrickRelatedMenuCursorPos, 23); gMenuCallback = debug_sub_808BDA4; return FALSE; } -static bool8 TomomichiDebugMenu_ControlEvents(void) +static bool8 ControlEvents(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 5); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0E32), gUnknown_Debug_083C0E32); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E32), gDebug_0300071F, 23); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E32), sControlEventsCursorPos, 23); gMenuCallback = debug_sub_808BE2C; return FALSE; } -static bool8 TomomichiDebugMenu_ControlFlags(void) +static bool8 ControlFlags(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 15); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0E7F), gUnknown_Debug_083C0E7F); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E7F), gDebug_03000720, 23); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E7F), sControlFlagsCursorPos, 23); gMenuCallback = debug_sub_808BEB4; return FALSE; } -static bool8 TomomichiDebugMenu_ControlWorks(void) +static bool8 ControlWorks(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 13); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0EF1), gUnknown_Debug_083C0EF1); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0EF1), gDebug_03000721, 23); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0EF1), sControlWORKCursorPos, 23); gMenuCallback = debug_sub_808BF3C; return FALSE; } @@ -2016,16 +2018,16 @@ static bool8 debug_sub_808BC48(void) switch (cursorPos) { case 0: - debug_sub_808ED0C(); + PicTest_SelectPokemon(); break; case 1: - debug_sub_808ED9C(); + PicTest_SelectIDrndDigit(); break; case 2: - debug_sub_808EE3C(); + ContestPicTest_SelectContestType(); break; } - debug_sub_808EF8C(0); + PicTest_Redraw(0); if (input == -2) return FALSE; if (input == -1) @@ -2035,7 +2037,7 @@ static bool8 debug_sub_808BC48(void) } if (input == 3) { - gMenuCallback = gUnknown_Debug_083C0D2C[3].func; + gMenuCallback = sMenuActions_ContestPicTest[3].func; return FALSE; } return FALSE; @@ -2049,16 +2051,16 @@ static bool8 debug_sub_808BCBC(void) switch (cursorPos) { case 0: - debug_sub_808ED0C(); + PicTest_SelectPokemon(); break; case 1: - debug_sub_808ED9C(); + PicTest_SelectIDrndDigit(); break; case 2: - debug_sub_808EE9C(); + MuseumArtPicTest_SelectTitleType(); break; } - debug_sub_808EF8C(1); + PicTest_Redraw(1); if (input == -2) return FALSE; if (input == -1) @@ -2068,13 +2070,13 @@ static bool8 debug_sub_808BCBC(void) } if (input == 3) { - gMenuCallback = gUnknown_Debug_083C0D83[3].func; + gMenuCallback = sMenuActions_ArtMuseumPicTest[3].func; return FALSE; } return FALSE; } -static bool8 debug_sub_808BD30(void) +static bool8 PreviewData_HandleInput(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2082,16 +2084,16 @@ static bool8 debug_sub_808BD30(void) switch (cursorPos) { case 0: - debug_sub_808ED0C(); + PicTest_SelectPokemon(); break; case 1: - debug_sub_808ED9C(); + PicTest_SelectIDrndDigit(); break; case 2: - debug_sub_808EF14(); + PreviewPicTest_SelectType(); break; } - debug_sub_808EF8C(2); + PicTest_Redraw(2); if (input == -2) return FALSE; if (input == -1) @@ -2101,7 +2103,7 @@ static bool8 debug_sub_808BD30(void) } if (input == 3) { - gMenuCallback = gUnknown_Debug_083C0DD4[3].func; + gMenuCallback = sMenuActions_PreviewPicTest[3].func; return FALSE; } return FALSE; @@ -2112,17 +2114,17 @@ static bool8 debug_sub_808BDA4(void) if (gMain.newKeys & DPAD_UP) { PlaySE(SE_SELECT); - gDebug_0300071E = Menu_MoveCursor(-1); + sTrickRelatedMenuCursorPos = Menu_MoveCursor(-1); } if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - gDebug_0300071E = Menu_MoveCursor(+1); + sTrickRelatedMenuCursorPos = Menu_MoveCursor(+1); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0E15[gDebug_0300071E].func(); + return sMenuActions_TrickRelated[sTrickRelatedMenuCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -2137,17 +2139,17 @@ static bool8 debug_sub_808BE2C(void) if (gMain.newKeys & DPAD_UP) { PlaySE(SE_SELECT); - gDebug_0300071F = Menu_MoveCursor(-1); + sControlEventsCursorPos = Menu_MoveCursor(-1); } if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - gDebug_0300071F = Menu_MoveCursor(+1); + sControlEventsCursorPos = Menu_MoveCursor(+1); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0E32[gDebug_0300071F].func(); + return gUnknown_Debug_083C0E32[sControlEventsCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -2162,17 +2164,17 @@ static bool8 debug_sub_808BEB4(void) if (gMain.newKeys & DPAD_UP) { PlaySE(SE_SELECT); - gDebug_03000720 = Menu_MoveCursor(-1); + sControlFlagsCursorPos = Menu_MoveCursor(-1); } if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - gDebug_03000720 = Menu_MoveCursor(+1); + sControlFlagsCursorPos = Menu_MoveCursor(+1); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0E7F[gDebug_03000720].func(); + return gUnknown_Debug_083C0E7F[sControlFlagsCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -2187,17 +2189,17 @@ static bool8 debug_sub_808BF3C(void) if (gMain.newKeys & DPAD_UP) { PlaySE(SE_SELECT); - gDebug_03000721 = Menu_MoveCursor(-1); + sControlWORKCursorPos = Menu_MoveCursor(-1); } if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); - gDebug_03000721 = Menu_MoveCursor(+1); + sControlWORKCursorPos = Menu_MoveCursor(+1); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0EF1[gDebug_03000721].func(); + return gUnknown_Debug_083C0EF1[sControlWORKCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -2362,7 +2364,7 @@ static bool8 debug_sub_808C23C(void) return TRUE; } -static bool8 TomomichiDebugMenu_ContestGraphics_Show(void) +static bool8 ContestGraphics_Show(void) { BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); gMenuCallback = debug_sub_808C280; @@ -2374,7 +2376,7 @@ static bool8 debug_sub_808C280(void) if (!UpdatePaletteFade()) { CloseMenu(); - debug_sub_808F168(0); + PrepareDebugOverlayBeforeShowingContestPainting(0); SetMainCallback2(CB2_ContestPainting); gMain.savedCallback = debug_sub_808B868; return TRUE; @@ -2382,7 +2384,7 @@ static bool8 debug_sub_808C280(void) return FALSE; } -static bool8 TomomichiDebugMenu_MuseumGraphics_Show(void) +static bool8 MuseumGraphics_Show(void) { BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); gMenuCallback = debug_sub_808C2E4; @@ -2394,7 +2396,7 @@ static bool8 debug_sub_808C2E4(void) if (!UpdatePaletteFade()) { CloseMenu(); - debug_sub_808F168(1); + PrepareDebugOverlayBeforeShowingContestPainting(1); SetMainCallback2(CB2_ContestPainting); gMain.savedCallback = debug_sub_808B868; return TRUE; @@ -2433,7 +2435,7 @@ static bool8 debug_sub_808C3B0(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2938) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), gUnknown_Debug_083C2938); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2938), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2444,7 +2446,7 @@ static bool8 debug_sub_808C408(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2A48) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), gUnknown_Debug_083C2A48); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2A48), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2455,7 +2457,7 @@ static bool8 debug_sub_808C460(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2B4C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), gUnknown_Debug_083C2B4C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2B4C), 0, 28); - gDebug_0300070F = 2; + sFlagAndVarTest_WhichSubmenu = 2; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2466,7 +2468,7 @@ static bool8 debug_sub_808C4B8(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2C80) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), gUnknown_Debug_083C2C80); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2C80), 0, 28); - gDebug_0300070F = 3; + sFlagAndVarTest_WhichSubmenu = 3; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2477,7 +2479,7 @@ static bool8 debug_sub_808C510(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2D8C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2D8C), gUnknown_Debug_083C2D8C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2D8C), 0, 28); - gDebug_0300070F = 4; + sFlagAndVarTest_WhichSubmenu = 4; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2488,7 +2490,7 @@ static bool8 debug_sub_808C568(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2EB0) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2EB0), gUnknown_Debug_083C2EB0); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2EB0), 0, 28); - gDebug_0300070F = 5; + sFlagAndVarTest_WhichSubmenu = 5; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2499,7 +2501,7 @@ static bool8 debug_sub_808C5C0(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2FE0) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2FE0), gUnknown_Debug_083C2FE0); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2FE0), 0, 28); - gDebug_0300070F = 6; + sFlagAndVarTest_WhichSubmenu = 6; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2510,7 +2512,7 @@ static bool8 debug_sub_808C618(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C3100) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3100), gUnknown_Debug_083C3100); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3100), 0, 28); - gDebug_0300070F = 7; + sFlagAndVarTest_WhichSubmenu = 7; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2521,7 +2523,7 @@ static bool8 debug_sub_808C670(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 3 + 1); Menu_PrintItems(2, 1, 3, gUnknown_Debug_083C3194); InitMenu(0, 1, 1, 3, 0, 28); - gDebug_0300070F = 8; + sFlagAndVarTest_WhichSubmenu = 8; gMenuCallback = debug_sub_808C6C8; return FALSE; } @@ -2531,8 +2533,8 @@ static bool8 debug_sub_808C6C8(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808C714(gDebug_0300070F, cursorPos); - debug_sub_808C764(gDebug_0300070F); + debug_sub_808C714(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808C764(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -2560,7 +2562,7 @@ static void debug_sub_808C764(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C31DC[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_83C31E6[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_83C31E6[whichMenu][i]) ? 1 : 0); } } @@ -2595,7 +2597,7 @@ static bool8 debug_sub_808C85C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1E0C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1E0C), gUnknown_Debug_083C1E0C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1E0C), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2606,7 +2608,7 @@ static bool8 debug_sub_808C8B4(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1F38) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1F38), gUnknown_Debug_083C1F38); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1F38), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2617,7 +2619,7 @@ static bool8 debug_sub_808C90C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C206C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C206C), gUnknown_Debug_083C206C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C206C), 0, 28); - gDebug_0300070F = 2; + sFlagAndVarTest_WhichSubmenu = 2; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2628,7 +2630,7 @@ static bool8 debug_sub_808C964(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2190) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2190), gUnknown_Debug_083C2190); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2190), 0, 28); - gDebug_0300070F = 3; + sFlagAndVarTest_WhichSubmenu = 3; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2639,7 +2641,7 @@ static bool8 debug_sub_808C9BC(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2264) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2264), gUnknown_Debug_083C2264); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2264), 0, 28); - gDebug_0300070F = 4; + sFlagAndVarTest_WhichSubmenu = 4; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2650,7 +2652,7 @@ static bool8 debug_sub_808CA14(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C2370) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C2370), gUnknown_Debug_083C2370); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C2370), 0, 28); - gDebug_0300070F = 5; + sFlagAndVarTest_WhichSubmenu = 5; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2661,7 +2663,7 @@ static bool8 debug_sub_808CA6C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C248C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C248C), gUnknown_Debug_083C248C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C248C), 0, 28); - gDebug_0300070F = 6; + sFlagAndVarTest_WhichSubmenu = 6; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2672,7 +2674,7 @@ static bool8 debug_sub_808CAC4(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C259C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C259C), gUnknown_Debug_083C259C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C259C), 0, 27); - gDebug_0300070F = 7; + sFlagAndVarTest_WhichSubmenu = 7; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2683,7 +2685,7 @@ static bool8 debug_sub_808CB1C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C26C8) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C26C8), gUnknown_Debug_083C26C8); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C26C8), 0, 28); - gDebug_0300070F = 8; + sFlagAndVarTest_WhichSubmenu = 8; gMenuCallback = debug_sub_808CB74; return FALSE; } @@ -2693,8 +2695,8 @@ static bool8 debug_sub_808CB74(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808CBC0(gDebug_0300070F, cursorPos); - debug_sub_808CC10(gDebug_0300070F); + debug_sub_808CBC0(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808CC10(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -2722,7 +2724,7 @@ static void debug_sub_808CC10(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C2710[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C271A[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C271A[whichMenu][i]) ? 1 : 0); } } @@ -2757,7 +2759,7 @@ static bool8 debug_sub_808CD08(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1B7C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1B7C), gUnknown_Debug_083C1B7C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1B7C), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808CE10; return FALSE; } @@ -2768,7 +2770,7 @@ static bool8 debug_sub_808CD60(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1BF0) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1BF0), gUnknown_Debug_083C1BF0); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1BF0), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808CE10; return FALSE; } @@ -2779,7 +2781,7 @@ static bool8 debug_sub_808CDB8(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1C2C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1C2C), gUnknown_Debug_083C1C2C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1C2C), 0, 28); - gDebug_0300070F = 2; + sFlagAndVarTest_WhichSubmenu = 2; gMenuCallback = debug_sub_808CE10; return FALSE; } @@ -2789,8 +2791,8 @@ static bool8 debug_sub_808CE10(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808CE5C(gDebug_0300070F, cursorPos); - debug_sub_808CEAC(gDebug_0300070F); + debug_sub_808CE5C(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808CEAC(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -2818,7 +2820,7 @@ static void debug_sub_808CEAC(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C1C34[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1C38[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1C38[whichMenu][i]) ? 1 : 0); } } @@ -2853,7 +2855,7 @@ static bool8 debug_sub_808CFA4(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C13D8) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C13D8), gUnknown_Debug_083C13D8); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C13D8), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2864,7 +2866,7 @@ static bool8 debug_sub_808CFFC(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1465) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1465), gUnknown_Debug_083C1465); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1465), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2875,7 +2877,7 @@ static bool8 debug_sub_808D054(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1503) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1503), gUnknown_Debug_083C1503); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1503), 0, 28); - gDebug_0300070F = 2; + sFlagAndVarTest_WhichSubmenu = 2; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2886,7 +2888,7 @@ static bool8 debug_sub_808D0AC(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C158A) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C158A), gUnknown_Debug_083C158A); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C158A), 0, 28); - gDebug_0300070F = 3; + sFlagAndVarTest_WhichSubmenu = 3; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2897,7 +2899,7 @@ static bool8 debug_sub_808D104(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1647) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1647), gUnknown_Debug_083C1647); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1647), 0, 28); - gDebug_0300070F = 4; + sFlagAndVarTest_WhichSubmenu = 4; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2908,7 +2910,7 @@ static bool8 debug_sub_808D15C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1712) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1712), gUnknown_Debug_083C1712); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1712), 0, 28); - gDebug_0300070F = 5; + sFlagAndVarTest_WhichSubmenu = 5; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2919,7 +2921,7 @@ static bool8 debug_sub_808D1B4(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C17F8) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C17F8), gUnknown_Debug_083C17F8); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C17F8), 0, 28); - gDebug_0300070F = 6; + sFlagAndVarTest_WhichSubmenu = 6; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2930,7 +2932,7 @@ static bool8 debug_sub_808D20C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C18B8); InitMenu(0, 1, 1, 7, 0, 28); - gDebug_0300070F = 7; + sFlagAndVarTest_WhichSubmenu = 7; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2941,7 +2943,7 @@ static bool8 debug_sub_808D264(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); Menu_PrintItems(2, 1, 5, gDebug_0x83C1974); InitMenu(0, 1, 1, 5, 0, 28); - gDebug_0300070F = 8; + sFlagAndVarTest_WhichSubmenu = 8; gMenuCallback = debug_sub_808D2BC; return FALSE; } @@ -2951,8 +2953,8 @@ static bool8 debug_sub_808D2BC(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808D308(gDebug_0300070F, cursorPos); - debug_sub_808D358(gDebug_0300070F); + debug_sub_808D308(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808D358(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -2980,7 +2982,7 @@ static void debug_sub_808D358(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C19BC[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C19C6[whichMenu][i]) ? 1 : 0); } } @@ -3015,7 +3017,7 @@ static bool8 debug_sub_808D450(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C10BD) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C10BD), gUnknown_Debug_083C10BD); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C10BD), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808D500; return FALSE; } @@ -3026,7 +3028,7 @@ static bool8 debug_sub_808D4A8(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C1149); InitMenu(0, 1, 1, 7, 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808D500; return FALSE; } @@ -3036,8 +3038,8 @@ static bool8 debug_sub_808D500(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808D54C(gDebug_0300070F, cursorPos); - debug_sub_808D59C(gDebug_0300070F); + debug_sub_808D54C(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808D59C(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3065,7 +3067,7 @@ static void debug_sub_808D59C(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C1194[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? 1 : 0); } } @@ -3100,7 +3102,7 @@ static bool8 debug_sub_808D694(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1212) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1212), gUnknown_Debug_083C1212); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1212), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808D744; return FALSE; } @@ -3111,7 +3113,7 @@ static bool8 debug_sub_808D6EC(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C1288); InitMenu(0, 1, 1, 7, 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808D744; return FALSE; } @@ -3121,8 +3123,8 @@ static bool8 debug_sub_808D744(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808D790(gDebug_0300070F, cursorPos); - debug_sub_808D7E0(gDebug_0300070F); + debug_sub_808D790(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808D7E0(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3150,7 +3152,7 @@ static void debug_sub_808D7E0(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C12D0[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C12D2[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C12D2[whichMenu][i]) ? 1 : 0); } } @@ -3185,7 +3187,7 @@ static bool8 debug_sub_808D8D8(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A9C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C1A9C), gUnknown_Debug_083C1A9C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C1A9C), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808D930; return FALSE; } @@ -3195,8 +3197,8 @@ static bool8 debug_sub_808D930(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808D97C(gDebug_0300070F, cursorPos); - debug_sub_808D9CC(gDebug_0300070F); + debug_sub_808D97C(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808D9CC(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3224,7 +3226,7 @@ static void debug_sub_808D9CC(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C1AAC[whichMenu]; i++) { - debug_sub_808F2E0(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1AAE[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1AAE[whichMenu][i]) ? 1 : 0); } } @@ -3257,7 +3259,7 @@ static bool8 debug_sub_808DA80(void) static void debug_sub_808DABC(void) { - debug_sub_808F31C(24, 1, gSpecialVar_Result); + PrintUnsignedShort(24, 1, gSpecialVar_Result); } static void debug_sub_808DAD4(void) @@ -3308,7 +3310,7 @@ static bool8 debug_sub_808DBA0(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C432C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), gUnknown_Debug_083C432C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3319,7 +3321,7 @@ static bool8 debug_sub_808DBF8(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C436C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), gUnknown_Debug_083C436C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3330,7 +3332,7 @@ static bool8 debug_sub_808DC50(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43B4) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), gUnknown_Debug_083C43B4); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), 0, 28); - gDebug_0300070F = 2; + sFlagAndVarTest_WhichSubmenu = 2; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3341,7 +3343,7 @@ static bool8 debug_sub_808DCA8(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43FC) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), gUnknown_Debug_083C43FC); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), 0, 28); - gDebug_0300070F = 3; + sFlagAndVarTest_WhichSubmenu = 3; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3352,7 +3354,7 @@ static bool8 debug_sub_808DD00(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4444) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), gUnknown_Debug_083C4444); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), 0, 28); - gDebug_0300070F = 4; + sFlagAndVarTest_WhichSubmenu = 4; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3363,7 +3365,7 @@ static bool8 debug_sub_808DD58(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C448C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), gUnknown_Debug_083C448C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), 0, 28); - gDebug_0300070F = 5; + sFlagAndVarTest_WhichSubmenu = 5; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3374,7 +3376,7 @@ static bool8 debug_sub_808DDB0(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); Menu_PrintItems(2, 1, 6, gUnknown_Debug_83C44C4); // overflows into the next menu InitMenu(0, 1, 1, 6, 0, 28); - gDebug_0300070F = 6; + sFlagAndVarTest_WhichSubmenu = 6; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3385,7 +3387,7 @@ static bool8 debug_sub_808DE08(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C44EC) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), gUnknown_Debug_83C44EC); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), 0, 28); - gDebug_0300070F = 7; + sFlagAndVarTest_WhichSubmenu = 7; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3396,7 +3398,7 @@ static bool8 debug_sub_808DE60(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4534) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), gUnknown_Debug_083C4534); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), 0, 28); - gDebug_0300070F = 8; + sFlagAndVarTest_WhichSubmenu = 8; gMenuCallback = debug_sub_808DEB8; return FALSE; } @@ -3406,8 +3408,8 @@ static bool8 debug_sub_808DEB8(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808DF64(gDebug_0300070F, cursorPos); - debug_sub_808DF04(gDebug_0300070F); + debug_sub_808DF64(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808DF04(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3424,7 +3426,7 @@ static void debug_sub_808DF04(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C457C[whichMenu]; i++) { - debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C4586[whichMenu][i])); + PrintUnsignedShort(24, 2 * i + 1, VarGet(gUnknown_Debug_083C4586[whichMenu][i])); } } @@ -3472,7 +3474,7 @@ static bool8 debug_sub_808E054(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); Menu_PrintItems(2, 1, 6, gUnknown_Debug_083C3AA0); InitMenu(0, 1, 1, 6, 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808E264; return FALSE; } @@ -3483,7 +3485,7 @@ static bool8 debug_sub_808E0AC(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); Menu_PrintItems(2, 1, 5, gUnknown_Debug_83C3AE0); InitMenu(0, 1, 1, 5, 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808E264; return FALSE; } @@ -3494,7 +3496,7 @@ static bool8 debug_sub_808E104(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C3B28) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C3B28), gUnknown_Debug_83C3B28); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C3B28), 0, 28); - gDebug_0300070F = 2; + sFlagAndVarTest_WhichSubmenu = 2; gMenuCallback = debug_sub_808E264; return FALSE; } @@ -3505,7 +3507,7 @@ static bool8 debug_sub_808E15C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 2 + 1); Menu_PrintItems(2, 1, 2, gUnknown_Debug_83C3B70); InitMenu(0, 1, 1, 2, 0, 28); - gDebug_0300070F = 3; + sFlagAndVarTest_WhichSubmenu = 3; gMenuCallback = debug_sub_808E264; return FALSE; } @@ -3516,7 +3518,7 @@ static bool8 debug_sub_808E1B4(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C3BB8) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C3BB8), gUnknown_Debug_83C3BB8); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C3BB8), 0, 28); - gDebug_0300070F = 4; + sFlagAndVarTest_WhichSubmenu = 4; gMenuCallback = debug_sub_808E264; return FALSE; } @@ -3527,7 +3529,7 @@ static bool8 debug_sub_808E20C(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); Menu_PrintItems(2, 1, 6, gUnknown_Debug_83C3C00); InitMenu(0, 1, 1, 6, 0, 28); - gDebug_0300070F = 5; + sFlagAndVarTest_WhichSubmenu = 5; gMenuCallback = debug_sub_808E264; return FALSE; } @@ -3537,8 +3539,8 @@ static bool8 debug_sub_808E264(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808E310(gDebug_0300070F, cursorPos); - debug_sub_808E2B0(gDebug_0300070F); + debug_sub_808E310(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808E2B0(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3555,7 +3557,7 @@ static void debug_sub_808E2B0(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C3C48[whichMenu]; i++) { - debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_83C3C4E[whichMenu][i])); + PrintUnsignedShort(24, 2 * i + 1, VarGet(gUnknown_Debug_83C3C4E[whichMenu][i])); } } @@ -3603,7 +3605,7 @@ static bool8 debug_sub_808E400(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C347C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C347C), gUnknown_Debug_083C347C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C347C), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808E5B8; return FALSE; } @@ -3614,7 +3616,7 @@ static bool8 debug_sub_808E458(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C3494) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3494), gUnknown_Debug_083C3494); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3494), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808E5B8; return FALSE; } @@ -3625,7 +3627,7 @@ static bool8 debug_sub_808E4B0(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C34A4) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C34A4), gUnknown_Debug_083C34A4); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C34A4), 0, 28); - gDebug_0300070F = 2; + sFlagAndVarTest_WhichSubmenu = 2; gMenuCallback = debug_sub_808E5B8; return FALSE; } @@ -3636,7 +3638,7 @@ static bool8 debug_sub_808E508(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C34D4) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C34D4), gUnknown_Debug_083C34D4); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C34D4), 0, 28); - gDebug_0300070F = 3; + sFlagAndVarTest_WhichSubmenu = 3; gMenuCallback = debug_sub_808E5B8; return FALSE; } @@ -3647,7 +3649,7 @@ static bool8 debug_sub_808E560(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C351C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C351C), gUnknown_Debug_083C351C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C351C), 0, 28); - gDebug_0300070F = 4; + sFlagAndVarTest_WhichSubmenu = 4; gMenuCallback = debug_sub_808E5B8; return FALSE; } @@ -3657,8 +3659,8 @@ static bool8 debug_sub_808E5B8(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808E604(gDebug_0300070F, cursorPos); - debug_sub_808E660(gDebug_0300070F); + debug_sub_808E604(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808E660(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3688,7 +3690,7 @@ static void debug_sub_808E660(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C3544[whichMenu]; i++) { - debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C354A[whichMenu][i])); + PrintUnsignedShort(24, 2 * i + 1, VarGet(gUnknown_Debug_083C354A[whichMenu][i])); } } @@ -3723,7 +3725,7 @@ static bool8 debug_sub_808E754(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C470C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C470C), gUnknown_Debug_083C470C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C470C), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808E804; return FALSE; } @@ -3734,7 +3736,7 @@ static bool8 debug_sub_808E7AC(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4754C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4754C), gUnknown_Debug_083C4754C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4754C), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808E804; return FALSE; } @@ -3744,8 +3746,8 @@ static bool8 debug_sub_808E804(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808E850(gDebug_0300070F, cursorPos); - debug_sub_808E8AC(gDebug_0300070F); + debug_sub_808E850(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808E8AC(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3775,7 +3777,7 @@ static void debug_sub_808E8AC(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C478C[whichMenu]; i++) { - debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C478E[whichMenu][i])); + PrintUnsignedShort(24, 2 * i + 1, VarGet(gUnknown_Debug_083C478E[whichMenu][i])); } } @@ -3810,7 +3812,7 @@ static bool8 debug_sub_808E9A0(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C369C) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C369C), gUnknown_Debug_083C369C); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C369C), 0, 28); - gDebug_0300070F = 0; + sFlagAndVarTest_WhichSubmenu = 0; gMenuCallback = debug_sub_808EA50; return FALSE; } @@ -3821,7 +3823,7 @@ static bool8 debug_sub_808E9F8(void) Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C36E4) + 1); Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C36E4), gUnknown_Debug_083C36E4); InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C36E4), 0, 28); - gDebug_0300070F = 1; + sFlagAndVarTest_WhichSubmenu = 1; gMenuCallback = debug_sub_808EA50; return FALSE; } @@ -3831,8 +3833,8 @@ static bool8 debug_sub_808EA50(void) s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808EAFC(gDebug_0300070F, cursorPos); - debug_sub_808EA9C(gDebug_0300070F); + debug_sub_808EAFC(sFlagAndVarTest_WhichSubmenu, cursorPos); + debug_sub_808EA9C(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3849,7 +3851,7 @@ static void debug_sub_808EA9C(u8 whichMenu) for (i = 0; i < gUnknown_Debug_083C371C[whichMenu]; i++) { - debug_sub_808F31C(24, 2 * i + 1, VarGet(gUnknown_Debug_083C371E[whichMenu][i])); + PrintUnsignedShort(24, 2 * i + 1, VarGet(gUnknown_Debug_083C371E[whichMenu][i])); } } @@ -3936,7 +3938,7 @@ static bool8 debug_sub_808ECD0(void) if (!UpdatePaletteFade()) { CloseMenu(); - debug_sub_808F168(2); + PrepareDebugOverlayBeforeShowingContestPainting(2); SetMainCallback2(CB2_ContestPainting); gMain.savedCallback = debug_sub_808B868; return TRUE; @@ -3944,147 +3946,147 @@ static bool8 debug_sub_808ECD0(void) return FALSE; } -static bool8 TomomichiDebugMenu_Config(void) +static bool8 Config(void) { return FALSE; } -static void debug_sub_808ED0C(void) +static void PicTest_SelectPokemon(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (gDebug_03000700 != SPECIES_BULBASAUR) - gDebug_03000700--; + if (sPicTest_Species != SPECIES_BULBASAUR) + sPicTest_Species--; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (gDebug_03000700 != SPECIES_CHIMECHO) - gDebug_03000700++; + if (sPicTest_Species != SPECIES_CHIMECHO) + sPicTest_Species++; } if (gMain.newAndRepeatedKeys & L_BUTTON) { - if (gDebug_03000700 >= SPECIES_BULBASAUR + 10) - gDebug_03000700 -= 10; + if (sPicTest_Species >= SPECIES_BULBASAUR + 10) + sPicTest_Species -= 10; else - gDebug_03000700 = SPECIES_BULBASAUR; + sPicTest_Species = SPECIES_BULBASAUR; } if (gMain.newAndRepeatedKeys & R_BUTTON) { - if (gDebug_03000700 <= SPECIES_CHIMECHO - 10) - gDebug_03000700 += 10; + if (sPicTest_Species <= SPECIES_CHIMECHO - 10) + sPicTest_Species += 10; else - gDebug_03000700 = SPECIES_CHIMECHO; + sPicTest_Species = SPECIES_CHIMECHO; } } -static void debug_sub_808ED9C(void) +static void PicTest_SelectIDrndDigit(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (gDebug_03000708 != 0) - gDebug_03000708--; + if (sPicTest_IDrndDigit != 0) + sPicTest_IDrndDigit--; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (gDebug_03000708 != UINT32_MAX) - gDebug_03000708++; + if (sPicTest_IDrndDigit != UINT32_MAX) + sPicTest_IDrndDigit++; } if (gMain.newAndRepeatedKeys & L_BUTTON) { - if (gDebug_03000708 >= 0x10) - gDebug_03000708 -= 0x10; + if (sPicTest_IDrndDigit >= 0x10) + sPicTest_IDrndDigit -= 0x10; else - gDebug_03000708 = 0; + sPicTest_IDrndDigit = 0; } if (gMain.newAndRepeatedKeys & R_BUTTON) { - if (gDebug_03000708 <= UINT32_MAX - 0x10) - gDebug_03000708 += 0x10; + if (sPicTest_IDrndDigit <= UINT32_MAX - 0x10) + sPicTest_IDrndDigit += 0x10; else - gDebug_03000708 = UINT32_MAX; + sPicTest_IDrndDigit = UINT32_MAX; } if ((gMain.newKeys & (L_BUTTON | R_BUTTON)) == (L_BUTTON | R_BUTTON)) { - gDebug_03000708 = UINT32_MAX; + sPicTest_IDrndDigit = UINT32_MAX; } } -static void debug_sub_808EE3C(void) +static void ContestPicTest_SelectContestType(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (gDebug_0300070C != 1) - gDebug_0300070C--; + if (sPicTest_ContestType != 1) + sPicTest_ContestType--; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (gDebug_0300070C != 5) - gDebug_0300070C++; + if (sPicTest_ContestType != 5) + sPicTest_ContestType++; } if (gMain.newAndRepeatedKeys & L_BUTTON) - gDebug_0300070C = 1; + sPicTest_ContestType = 1; if (gMain.newAndRepeatedKeys & R_BUTTON) - gDebug_0300070C = 5; + sPicTest_ContestType = 5; } -static void debug_sub_808EE9C(void) +static void MuseumArtPicTest_SelectTitleType(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (gDebug_0300070D != 1) - gDebug_0300070D--; + if (sPicTest_MuseumArtTitleType != 1) + sPicTest_MuseumArtTitleType--; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (gDebug_0300070D != 15) - gDebug_0300070D++; + if (sPicTest_MuseumArtTitleType != 15) + sPicTest_MuseumArtTitleType++; } if (gMain.newAndRepeatedKeys & L_BUTTON) { - if (gDebug_0300070D >= 11) - gDebug_0300070D -= 10; + if (sPicTest_MuseumArtTitleType >= 11) + sPicTest_MuseumArtTitleType -= 10; else - gDebug_0300070D = 0; // Causes underflow when pressing left on the dpad shortly thereafter. + sPicTest_MuseumArtTitleType = 0; // Causes underflow when pressing left on the dpad shortly thereafter. } if (gMain.newAndRepeatedKeys & R_BUTTON) { - if (gDebug_0300070D <= 5) - gDebug_0300070D += 10; + if (sPicTest_MuseumArtTitleType <= 5) + sPicTest_MuseumArtTitleType += 10; else - gDebug_0300070D = 15; + sPicTest_MuseumArtTitleType = 15; } } -static void debug_sub_808EF14(void) +static void PreviewPicTest_SelectType(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (gDebug_0300070E != 1) - gDebug_0300070E--; + if (sPicTest_PreviewType != 1) + sPicTest_PreviewType--; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (gDebug_0300070E != 15) - gDebug_0300070E++; + if (sPicTest_PreviewType != 15) + sPicTest_PreviewType++; } if (gMain.newAndRepeatedKeys & L_BUTTON) { - if (gDebug_0300070E >= 11) - gDebug_0300070E -= 10; + if (sPicTest_PreviewType >= 11) + sPicTest_PreviewType -= 10; else - gDebug_0300070E = 0; // Causes underflow when pressing left on the dpad shortly thereafter. + sPicTest_PreviewType = 0; // Causes underflow when pressing left on the dpad shortly thereafter. } if (gMain.newAndRepeatedKeys & R_BUTTON) { - if (gDebug_0300070E <= 5) - gDebug_0300070E += 10; + if (sPicTest_PreviewType <= 5) + sPicTest_PreviewType += 10; else - gDebug_0300070E = 15; + sPicTest_PreviewType = 15; } } #ifdef NONMATCHING -static void debug_sub_808EF8C(u8 a0) +static void PicTest_Redraw(u8 a0) { u8 i; u8 digit; @@ -4097,70 +4099,70 @@ static void debug_sub_808EF8C(u8 a0) case 2: for (i = 0; i < 8; i++) { - digit = (gDebug_03000708 >> (4 * (7 - i))) & 0xf; + digit = (sPicTest_IDrndDigit >> (4 * (7 - i))) & 0xf; if (digit < 10) - gDebug_03000710[i] = digit + CHAR_0; + sPicTest_StringBuffer[i] = digit + CHAR_0; else - gDebug_03000710[i] = digit + CHAR_A - 10; + sPicTest_StringBuffer[i] = digit + CHAR_A - 10; } - gDebug_03000710[i] = EOS; - Menu_PrintText(gDebug_03000710, 12, 5); + sPicTest_StringBuffer[i] = EOS; + Menu_PrintText(sPicTest_StringBuffer, 12, 5); break; } for (i = 0; i < POKEMON_NAME_LENGTH; i++) { - gDebug_03000710[i + 1] = CHAR_SPACE; + sPicTest_StringBuffer[i + 1] = CHAR_SPACE; } - for (i = 0, species = gDebug_03000700; gSpeciesNames[species][i] != EOS && i < POKEMON_NAME_LENGTH; i++) + for (i = 0, species = sPicTest_Species; gSpeciesNames[species][i] != EOS && i < POKEMON_NAME_LENGTH; i++) { - gDebug_03000710[i + 1] = gSpeciesNames[species][i]; + sPicTest_StringBuffer[i + 1] = gSpeciesNames[species][i]; } - gDebug_03000710[0] = 0xB1; - gDebug_03000710[POKEMON_NAME_LENGTH + 1] = 0xB2; - gDebug_03000710[POKEMON_NAME_LENGTH + 2] = EOS; + sPicTest_StringBuffer[0] = 0xB1; + sPicTest_StringBuffer[POKEMON_NAME_LENGTH + 1] = 0xB2; + sPicTest_StringBuffer[POKEMON_NAME_LENGTH + 2] = EOS; switch (a0) { case 0: case 1: case 2: - Menu_PrintText(gDebug_03000710, 8, 1); + Menu_PrintText(sPicTest_StringBuffer, 8, 1); break; default: - Menu_PrintText(gDebug_03000710, 12, 1); + Menu_PrintText(sPicTest_StringBuffer, 12, 1); break; } - gDebug_03000710[3] = EOS; - gDebug_03000710[0] = gDebug_03000700 / 100 + CHAR_0; - gDebug_03000710[1] = (gDebug_03000700 % 100) / 10 + CHAR_0; - gDebug_03000710[2] = gDebug_03000700 % 10 + CHAR_0; - Menu_PrintText(gDebug_03000710, 12, 3); + sPicTest_StringBuffer[3] = EOS; + sPicTest_StringBuffer[0] = sPicTest_Species / 100 + CHAR_0; + sPicTest_StringBuffer[1] = (sPicTest_Species % 100) / 10 + CHAR_0; + sPicTest_StringBuffer[2] = sPicTest_Species % 10 + CHAR_0; + Menu_PrintText(sPicTest_StringBuffer, 12, 3); switch (a0) { case 0: - gDebug_03000710[0] = gDebug_0300070C / 100 + CHAR_0; - gDebug_03000710[1] = (gDebug_0300070C % 100) / 10 + CHAR_0; - gDebug_03000710[2] = gDebug_0300070C % 10 + CHAR_0; - Menu_PrintText(gDebug_03000710, 12, 7); + sPicTest_StringBuffer[0] = sPicTest_ContestType / 100 + CHAR_0; + sPicTest_StringBuffer[1] = (sPicTest_ContestType % 100) / 10 + CHAR_0; + sPicTest_StringBuffer[2] = sPicTest_ContestType % 10 + CHAR_0; + Menu_PrintText(sPicTest_StringBuffer, 12, 7); break; case 1: - gDebug_03000710[0] = gDebug_0300070D / 100 + CHAR_0; - gDebug_03000710[1] = (gDebug_0300070D % 100) / 10 + CHAR_0; - gDebug_03000710[2] = gDebug_0300070D % 10 + CHAR_0; - Menu_PrintText(gDebug_03000710, 12, 7); + sPicTest_StringBuffer[0] = sPicTest_MuseumArtTitleType / 100 + CHAR_0; + sPicTest_StringBuffer[1] = (sPicTest_MuseumArtTitleType % 100) / 10 + CHAR_0; + sPicTest_StringBuffer[2] = sPicTest_MuseumArtTitleType % 10 + CHAR_0; + Menu_PrintText(sPicTest_StringBuffer, 12, 7); break; case 2: - gDebug_03000710[0] = gDebug_0300070E / 100 + CHAR_0; - gDebug_03000710[1] = (gDebug_0300070E % 100) / 10 + CHAR_0; - gDebug_03000710[2] = gDebug_0300070E % 10 + CHAR_0; - Menu_PrintText(gDebug_03000710, 12, 7); + sPicTest_StringBuffer[0] = sPicTest_PreviewType / 100 + CHAR_0; + sPicTest_StringBuffer[1] = (sPicTest_PreviewType % 100) / 10 + CHAR_0; + sPicTest_StringBuffer[2] = sPicTest_PreviewType % 10 + CHAR_0; + Menu_PrintText(sPicTest_StringBuffer, 12, 7); break; } } #else -__attribute__((naked)) void debug_sub_808EF8C(u8 a0) +__attribute__((naked)) void PicTest_Redraw(u8 a0) { asm("\tpush\t{r4, r5, r6, r7, lr}\n" "\tmov\tr7, r8\n" @@ -4172,9 +4174,9 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "\tcmp\tr6, #0\n" "\tblt\t._653\t@cond_branch\n" "\tmov\tr3, #0x0\n" - "\tldr\tr0, ._656 @ gDebug_03000708\n" + "\tldr\tr0, ._656 @ sPicTest_IDrndDigit\n" "\tmov\tr8, r0\n" - "\tldr\tr4, ._656 + 4 @ gDebug_03000710\n" + "\tldr\tr4, ._656 + 4 @ sPicTest_StringBuffer\n" "\tmov\tr7, #0x7\n" "\tmov\tr5, #0xf\n" "._658:\n" @@ -4193,8 +4195,8 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "._657:\n" "\t.align\t2, 0\n" "._656:\n" - "\t.word\tgDebug_03000708\n" - "\t.word\tgDebug_03000710\n" + "\t.word\tsPicTest_IDrndDigit\n" + "\t.word\tsPicTest_StringBuffer\n" "._654:\n" "\tadd\tr1, r3, r4\n" "\tadd\tr0, r2, #0\n" @@ -4206,7 +4208,7 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "\tlsr\tr3, r0, #0x18\n" "\tcmp\tr3, #0x7\n" "\tbls\t._658\t@cond_branch\n" - "\tldr\tr0, ._666 @ gDebug_03000710\n" + "\tldr\tr0, ._666 @ sPicTest_StringBuffer\n" "\tmov\tr1, #0xff\n" "\tstrb\tr1, [r0, #0x8]\n" "\tmov\tr1, #0xc\n" @@ -4214,8 +4216,8 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "\tbl\tMenu_PrintText\n" "._653:\n" "\tmov\tr3, #0x0\n" - "\tldr\tr7, ._666 @ gDebug_03000710\n" - "\tldr\tr5, ._666 + 4 @ gDebug_03000700\n" + "\tldr\tr7, ._666 @ sPicTest_StringBuffer\n" + "\tldr\tr5, ._666 + 4 @ sPicTest_Species\n" "\tldr\tr2, ._666 + 8 @ gSpeciesNames\n" "\tmov\tr8, r2\n" "\tadd\tr4, r7, #0\n" @@ -4238,7 +4240,7 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "\tldrb\tr0, [r0]\n" "\tcmp\tr0, #0xff\n" "\tbeq\t._661\t@cond_branch\n" - "\tldr\tr0, ._666 @ gDebug_03000710\n" + "\tldr\tr0, ._666 @ sPicTest_StringBuffer\n" "\tmov\tip, r0\n" "\tmov\tr5, r8\n" "\tadd\tr4, r1, #0\n" @@ -4278,19 +4280,19 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "._667:\n" "\t.align\t2, 0\n" "._666:\n" - "\t.word\tgDebug_03000710\n" - "\t.word\tgDebug_03000700\n" + "\t.word\tsPicTest_StringBuffer\n" + "\t.word\tsPicTest_Species\n" "\t.word\tgSpeciesNames\n" "._664:\n" - "\tldr\tr0, ._672 @ gDebug_03000710\n" + "\tldr\tr0, ._672 @ sPicTest_StringBuffer\n" "\tmov\tr1, #0xc\n" "\tmov\tr2, #0x1\n" "\tbl\tMenu_PrintText\n" "._665:\n" - "\tldr\tr5, ._672 @ gDebug_03000710\n" + "\tldr\tr5, ._672 @ sPicTest_StringBuffer\n" "\tmov\tr0, #0xff\n" "\tstrb\tr0, [r5, #0x3]\n" - "\tldr\tr4, ._672 + 4 @ gDebug_03000700\n" + "\tldr\tr4, ._672 + 4 @ sPicTest_Species\n" "\tldrh\tr0, [r4]\n" "\tmov\tr1, #0x64\n" "\tbl\t__udivsi3\n" @@ -4324,21 +4326,21 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "._673:\n" "\t.align\t2, 0\n" "._672:\n" - "\t.word\tgDebug_03000710\n" - "\t.word\tgDebug_03000700\n" + "\t.word\tsPicTest_StringBuffer\n" + "\t.word\tsPicTest_Species\n" "._669:\n" "\tcmp\tr6, #0x2\n" "\tbeq\t._674\t@cond_branch\n" "\tb\t._679\n" "._670:\n" - "\tldr\tr4, ._677 @ gDebug_0300070C\n" + "\tldr\tr4, ._677 @ sPicTest_ContestType\n" "\tb\t._676\n" "._678:\n" "\t.align\t2, 0\n" "._677:\n" - "\t.word\tgDebug_0300070C\n" + "\t.word\tsPicTest_ContestType\n" "._668:\n" - "\tldr\tr4, ._680 @ gDebug_0300070D\n" + "\tldr\tr4, ._680 @ sPicTest_MuseumArtTitleType\n" "._676:\n" "\tldrb\tr0, [r4]\n" "\tmov\tr1, #0x64\n" @@ -4367,9 +4369,9 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "._681:\n" "\t.align\t2, 0\n" "._680:\n" - "\t.word\tgDebug_0300070D\n" + "\t.word\tsPicTest_MuseumArtTitleType\n" "._674:\n" - "\tldr\tr4, ._682 @ gDebug_0300070E\n" + "\tldr\tr4, ._682 @ sPicTest_PreviewType\n" "\tldrb\tr0, [r4]\n" "\tmov\tr1, #0x64\n" "\tbl\t__udivsi3\n" @@ -4402,76 +4404,76 @@ __attribute__((naked)) void debug_sub_808EF8C(u8 a0) "._683:\n" "\t.align\t2, 0\n" "._682:\n" - "\t.word\tgDebug_0300070E"); + "\t.word\tsPicTest_PreviewType"); } #endif // NONMATCHING -static void debug_sub_808F168(u8 a0) +static void PrepareDebugOverlayBeforeShowingContestPainting(u8 a0) { struct ContestEntry *contestEntry = &ewram15DE0; - contestEntry->var8 = gDebug_03000700; - contestEntry->var4 = gDebug_03000704; - contestEntry->var0 = gDebug_03000708; + contestEntry->var8 = sPicTest_Species; + contestEntry->var4 = sPicTest_ContestEntryVar4; + contestEntry->var0 = sPicTest_IDrndDigit; switch (a0) { case 0: ewram15DDF = 0; ewram15DDE = 0; - contestEntry->contestType = gDebug_0300070C - 1; - StringCopy(contestEntry->trainer_name, gUnknown_Debug_083C48BB); - StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + contestEntry->contestType = sPicTest_ContestType - 1; + StringCopy(contestEntry->trainer_name, sDummyTrainerName); + StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 1: ewram15DDF = 0; ewram15DDE = 8; - contestEntry->contestType = gDebug_0300070D - 1; - StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + contestEntry->contestType = sPicTest_MuseumArtTitleType - 1; + StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 2: ewram15DDF = 1; ewram15DDE = 8; - contestEntry->contestType = gDebug_0300070E - 1; + contestEntry->contestType = sPicTest_PreviewType - 1; break; case 3: ewram15DDF = 0; ewram15DDE = 8; contestEntry->contestType = 0; - StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 4: ewram15DDF = 0; ewram15DDE = 8; contestEntry->contestType = 3; - StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + StringCopy(contestEntry->pokemon_name, sDummyNickname); break; case 5: ewram15DDF = 0; ewram15DDE = 8; contestEntry->contestType = 9; - StringCopy(contestEntry->pokemon_name, gUnknown_Debug_083C48B0); + StringCopy(contestEntry->pokemon_name, sDummyNickname); break; } } -static void debug_sub_808F2E0(u8 a0, u8 a1, u8 a2) +static void PrintBool(u8 a0, u8 a1, bool8 a2) { - if (a2 == 0) - gDebug_03000710[0] = CHAR_0; + if (a2 == FALSE) + sPicTest_StringBuffer[0] = CHAR_0; else - gDebug_03000710[0] = CHAR_0 + 1; - gDebug_03000710[1] = EOS; - Menu_PrintText(gDebug_03000710, a0, a1); + sPicTest_StringBuffer[0] = CHAR_0 + 1; + sPicTest_StringBuffer[1] = EOS; + Menu_PrintText(sPicTest_StringBuffer, a0, a1); } -static void debug_sub_808F31C(u8 a0, u8 a1, u16 a2) +static void PrintUnsignedShort(u8 a0, u8 a1, u16 a2) { - gDebug_03000710[0] = a2 / 10000 + CHAR_0; - gDebug_03000710[1] = (a2 % 10000) / 1000 + CHAR_0; - gDebug_03000710[2] = (a2 % 1000) / 100 + CHAR_0; - gDebug_03000710[3] = (a2 % 100) / 10 + CHAR_0; - gDebug_03000710[4] = a2 % 10 + CHAR_0; - gDebug_03000710[5] = EOS; - Menu_PrintText(gDebug_03000710, a0, a1); + sPicTest_StringBuffer[0] = a2 / 10000 + CHAR_0; + sPicTest_StringBuffer[1] = (a2 % 10000) / 1000 + CHAR_0; + sPicTest_StringBuffer[2] = (a2 % 1000) / 100 + CHAR_0; + sPicTest_StringBuffer[3] = (a2 % 100) / 10 + CHAR_0; + sPicTest_StringBuffer[4] = a2 % 10 + CHAR_0; + sPicTest_StringBuffer[5] = EOS; + Menu_PrintText(sPicTest_StringBuffer, a0, a1); } void debug_nullsub_66(void) diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c index 0aa02312f..eb7f92a6b 100644 --- a/src/scene/contest_painting.c +++ b/src/scene/contest_painting.c @@ -743,7 +743,7 @@ static void sub_8106F6C(u8 arg0) gUnknown_03005E20.var_4 = gUnknown_03005E10; gUnknown_03005E20.var_8 = gUnknown_03005E90; gUnknown_03005E20.var_18 = 0; - gUnknown_03005E20.var_1F = gUnknown_03005E8C->var0; + gUnknown_03005E20.var_1F = gUnknown_03005E8C->var0 % 256; gUnknown_03005E20.var_19 = 0; gUnknown_03005E20.var_1A = 0; gUnknown_03005E20.var_1B = 64; -- cgit v1.2.3 From fed5701e8e8453cdda1a3bdc545c8c607cd981d8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 15 Mar 2018 08:46:22 -0400 Subject: Renaming objects related to tomomichi debug menu --- src/debug/tomomichi_debug_menu.c | 1673 +++++++++++++++++++------------------- src/scene/contest_painting.c | 11 +- 2 files changed, 841 insertions(+), 843 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 1df6ff26c..90d10556f 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -17,8 +17,8 @@ #include "sound.h" static u16 sPicTest_Species; -static u32 sPicTest_ContestEntryVar4; -static u32 sPicTest_IDrndDigit; +static u32 sPicTest_OTID; +static u32 sPicTest_Personality; static u8 sPicTest_ContestType; static u8 sPicTest_MuseumArtTitleType; static u8 sPicTest_PreviewType; @@ -31,7 +31,7 @@ static u8 sControlFlagsCursorPos; static u8 sControlWORKCursorPos; static bool8 ArtMusGraphics(void); -static bool8 Config(void); +static bool8 DummyMenuAction(void); static bool8 ContestGraphics(void); static bool8 ContestGraphics_Show(void); static bool8 ControlEvents(void); @@ -40,37 +40,37 @@ static bool8 ControlWorks(void); static bool8 MuseumGraphics_Show(void); static bool8 PreviewData(void); static bool8 TrickHouse(void); -static bool8 debug_sub_808B874(void); -static bool8 debug_sub_808B8C8(void); -static bool8 debug_sub_808BC48(void); -static bool8 debug_sub_808BCBC(void); +static bool8 InitDebugWindow(void); +static bool8 TopMenu_HandleInput(void); +static bool8 ContestGraphics_HandleInput(void); +static bool8 ArtMusGraphics_HandleInput(void); static bool8 PreviewData_HandleInput(void); -static bool8 debug_sub_808BDA4(void); -static bool8 debug_sub_808BE2C(void); -static bool8 debug_sub_808BEB4(void); -static bool8 debug_sub_808BF3C(void); -static bool8 debug_sub_808BFC4(void); -static bool8 debug_sub_808C014(void); -static bool8 debug_sub_808C064(void); -static bool8 debug_sub_808C0A8(void); -static bool8 debug_sub_808C0EC(void); -static bool8 debug_sub_808C104(void); -static bool8 debug_sub_808C11C(void); -static bool8 debug_sub_808C134(void); -static bool8 debug_sub_808C14C(void); -static bool8 debug_sub_808C164(void); -static bool8 debug_sub_808C17C(void); -static bool8 debug_sub_808C194(void); -static bool8 debug_sub_808C1AC(void); -static bool8 debug_sub_808C1C4(void); -static bool8 debug_sub_808C1DC(void); -static bool8 debug_sub_808C1F4(void); -static bool8 debug_sub_808C20C(void); -static bool8 debug_sub_808C224(void); -static bool8 debug_sub_808C23C(void); +static bool8 TrickHouse_HandleInput(void); +static bool8 ControlEvents_HandleInput(void); +static bool8 ControlFlags_HandleInput(void); +static bool8 ControlWorks_HandleInput(void); +static bool8 ControlEvents_InitSubmenu1(void); +static bool8 ControlEvents_InitSubmenu2(void); +static bool8 ControlEvents_Events1_HandleInput(void); +static bool8 ControlEvents_Events2_HandleInput(void); +static bool8 CallScript_DoHallOfFame(void); +static bool8 CallScript_GiveCoinCaseIfNotAlreadyOwned(void); +static bool8 CallScript_SetOldaleStateAfterRoute103Rival(void); +static bool8 CallScript_OpenNewMauville(void); +static bool8 CallScript_GiveSSTicketAndDoHallOfFame(void); +static bool8 CallScript_GiveKyogreEgg(void); +static bool8 CallScript_GiveAllItems(void); +static bool8 CallScript_GiveAllDecorations(void); +static bool8 CallScript_GiveAllCoins(void); +static bool8 CallScript_OpenSootopolisGym(void); +static bool8 CallScript_SetMoneyTo0(void); +static bool8 CallScript_FillPartyWithBarboach(void); +static bool8 CallScript_FillPartyWithShroomish(void); +static bool8 CallScript_GiveBarboachEgg(void); +static bool8 CallScript_GiveShroomishEgg(void); static bool8 debug_sub_808C280(void); static bool8 debug_sub_808C2E4(void); -static bool8 debug_sub_808C31C(void); +static bool8 ControlFlags_EventFlag_InitSubmenu(void); static bool8 debug_sub_808C36C(void); static bool8 debug_sub_808C3B0(void); static bool8 debug_sub_808C408(void); @@ -84,7 +84,7 @@ static bool8 debug_sub_808C670(void); static bool8 debug_sub_808C6C8(void); static void debug_sub_808C714(u8, u8); static void debug_sub_808C764(u8); -static bool8 debug_sub_808C7C8(void); +static bool8 ControlFlags_VanishFlag_InitSubmenu(void); static bool8 debug_sub_808C818(void); static bool8 debug_sub_808C85C(void); static bool8 debug_sub_808C8B4(void); @@ -98,7 +98,7 @@ static bool8 debug_sub_808CB1C(void); static bool8 debug_sub_808CB74(void); static void debug_sub_808CBC0(u8, u8); static void debug_sub_808CC10(u8); -static bool8 debug_sub_808CC74(void); +static bool8 ControlFlags_TrainerFlag_InitSubmenu(void); static bool8 debug_sub_808CCC4(void); static bool8 debug_sub_808CD08(void); static bool8 debug_sub_808CD60(void); @@ -106,7 +106,7 @@ static bool8 debug_sub_808CDB8(void); static bool8 debug_sub_808CE10(void); static void debug_sub_808CE5C(u8, u8); static void debug_sub_808CEAC(u8); -static bool8 debug_sub_808CF10(void); +static bool8 ControlFlags_SysFlag_InitSubmenu(void); static bool8 debug_sub_808CF60(void); static bool8 debug_sub_808CFA4(void); static bool8 debug_sub_808CFFC(void); @@ -120,45 +120,45 @@ static bool8 debug_sub_808D264(void); static bool8 debug_sub_808D2BC(void); static void debug_sub_808D308(u8, u8); static void debug_sub_808D358(u8); -static bool8 debug_sub_808D3BC(void); +static bool8 ControlFlags_FH_OBJ_InitSubmenu(void); static bool8 debug_sub_808D40C(void); static bool8 debug_sub_808D450(void); static bool8 debug_sub_808D4A8(void); static bool8 debug_sub_808D500(void); static void debug_sub_808D54C(u8, u8); static void debug_sub_808D59C(u8); -static bool8 debug_sub_808D600(void); +static bool8 ControlFlags_FH_InitSubmenu(void); static bool8 debug_sub_808D650(void); static bool8 debug_sub_808D694(void); static bool8 debug_sub_808D6EC(void); static bool8 debug_sub_808D744(void); static void debug_sub_808D790(u8, u8); static void debug_sub_808D7E0(u8); -static bool8 debug_sub_808D844(void); +static bool8 ControlFlags_BallVanishFlag_InitSubmenu(void); static bool8 debug_sub_808D894(void); static bool8 debug_sub_808D8D8(void); static bool8 debug_sub_808D930(void); static void debug_sub_808D97C(u8, u8); static void debug_sub_808D9CC(u8); -static bool8 debug_sub_808DA30(void); -static bool8 debug_sub_808DA80(void); -static void debug_sub_808DABC(void); -static void debug_sub_808DAD4(void); -static bool8 debug_sub_808DB0C(void); -static bool8 debug_sub_808DB5C(void); -static bool8 debug_sub_808DBA0(void); -static bool8 debug_sub_808DBF8(void); -static bool8 debug_sub_808DC50(void); -static bool8 debug_sub_808DCA8(void); -static bool8 debug_sub_808DD00(void); -static bool8 debug_sub_808DD58(void); -static bool8 debug_sub_808DDB0(void); -static bool8 debug_sub_808DE08(void); -static bool8 debug_sub_808DE60(void); -static bool8 debug_sub_808DEB8(void); +static bool8 ControlWorks_AnsWork_InitSubmenu(void); +static bool8 ControlWorks_AnsWork_HandleInput(void); +static void ControlWorks_AnsWork_PrintRESULT(void); +static void ControlWorks_AnsWork_AdjustRESULT(void); +static bool8 ControlWorks_SaveWork_InitSubmenu(void); +static bool8 ControlWorks_SaveWork_HandleInput(void); +static bool8 ControlWorks_SaveWork_Town_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_City_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_Route101To109_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_Route110To118_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_Route119To127_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_Route128To134_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_RoomTown_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_RoomCity_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_Dungeon_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWork_Subsubmenu_HandleInput(void); static void debug_sub_808DF04(u8); static void debug_sub_808DF64(u8, u8); -static bool8 debug_sub_808DFC0(void); +static bool8 ControlWorks_SaveWorkPart2_InitSubmenu(void); static bool8 debug_sub_808E010(void); static bool8 debug_sub_808E054(void); static bool8 debug_sub_808E0AC(void); @@ -169,7 +169,7 @@ static bool8 debug_sub_808E20C(void); static bool8 debug_sub_808E264(void); static void debug_sub_808E2B0(u8); static void debug_sub_808E310(u8, u8); -static bool8 debug_sub_808E36C(void); +static bool8 ControlWorks_SysWork_InitSubmenu(void); static bool8 debug_sub_808E3BC(void); static bool8 debug_sub_808E400(void); static bool8 debug_sub_808E458(void); @@ -179,28 +179,28 @@ static bool8 debug_sub_808E560(void); static bool8 debug_sub_808E5B8(void); static void debug_sub_808E604(u8, u8); static void debug_sub_808E660(u8); -static bool8 debug_sub_808E6C0(void); +static bool8 ControlWorks_LocalWork_InitSubmenu(void); static bool8 debug_sub_808E710(void); static bool8 debug_sub_808E754(void); static bool8 debug_sub_808E7AC(void); static bool8 debug_sub_808E804(void); static void debug_sub_808E850(u8, u8); static void debug_sub_808E8AC(u8); -static bool8 debug_sub_808E90C(void); +static bool8 ControlWorks_ObjWork_InitSubmenu(void); static bool8 debug_sub_808E95C(void); static bool8 debug_sub_808E9A0(void); static bool8 debug_sub_808E9F8(void); static bool8 debug_sub_808EA50(void); static void debug_sub_808EA9C(u8); static void debug_sub_808EAFC(u8, u8); -static bool8 debug_sub_808EB58(void); -static bool8 debug_sub_808EBB4(void); +static bool8 TrickRelated_Level_InitSubmenu(void); +static bool8 TrickRelated_TrickMaster_InitSubmenu(void); static bool8 debug_sub_808EC10(void); static bool8 debug_sub_808EC5C(void); -static bool8 debug_sub_808ECA4(void); +static bool8 PreviewGraphics_Show(void); static bool8 debug_sub_808ECD0(void); static void PicTest_SelectPokemon(void); -static void PicTest_SelectIDrndDigit(void); +static void PicTest_SelectPersonality(void); static void ContestPicTest_SelectContestType(void); static void MuseumArtPicTest_SelectTitleType(void); static void PreviewPicTest_SelectType(void); @@ -233,7 +233,7 @@ static const u8 sString_ControlEvents[] = _("Control events"); static const u8 sString_ControlFlags[] = _("Control flags"); static const u8 sString_ControlWORK[] = _("Control WORK"); -static const struct MenuAction gUnknown_Debug_083C0CBA[] = { +static const struct MenuAction sMenuActions_TopMenu[] = { {sString_ContestGraphics, ContestGraphics}, {sString_ArtMuseumGraphics, ArtMusGraphics}, {sString_PreviewData, PreviewData}, @@ -246,140 +246,139 @@ static const struct MenuAction gUnknown_Debug_083C0CBA[] = { static const u8 sString_ContestMenuTitle[] = _("Contest"); static const u8 sString_Contest_PokemonNo[] = _("Pokémon No."); -static const u8 sString_Contest_IDrndDigit[] = _("ID rnd. digit"); +static const u8 sString_Contest_Personality[] = _("ID rnd. digit"); static const u8 sString_Contest_Type[] = _("Contest Type"); static const u8 sString_Contest_PokeArt[] = _("Poké Art"); static const struct MenuAction sMenuActions_ContestPicTest[] = { - {sString_Contest_PokemonNo, Config}, - {sString_Contest_IDrndDigit, Config}, - {sString_Contest_Type, Config}, + {sString_Contest_PokemonNo, DummyMenuAction}, + {sString_Contest_Personality, DummyMenuAction}, + {sString_Contest_Type, DummyMenuAction}, {sString_Contest_PokeArt, ContestGraphics_Show} }; static const u8 sString_Contest_ArtMuseumTitle[] = _("Art Mus."); static const u8 sString_Contest_ArtMuseum_PokemonNo[] = _("Pokémon No."); -static const u8 sString_Contest_ArtMuseum_IDrndDigit[] = _("ID rnd. digit"); +static const u8 sString_Contest_ArtMuseum_Personality[] = _("ID rnd. digit"); static const u8 sString_Contest_ArtMuseum_Type[] = _("Title Type"); static const u8 sString_Contest_ArtMuseum_PokeArt[] = _("Poké Art"); static const struct MenuAction sMenuActions_ArtMuseumPicTest[] = { - {sString_Contest_ArtMuseum_PokemonNo, Config}, - {sString_Contest_ArtMuseum_IDrndDigit, Config}, - {sString_Contest_ArtMuseum_Type, Config}, + {sString_Contest_ArtMuseum_PokemonNo, DummyMenuAction}, + {sString_Contest_ArtMuseum_Personality, DummyMenuAction}, + {sString_Contest_ArtMuseum_Type, DummyMenuAction}, {sString_Contest_ArtMuseum_PokeArt, MuseumGraphics_Show} }; -static const u8 gUnknown_Debug_083C0DA4[] = _("Preview"); +static const u8 sString_Contest_PreviewTitle[] = _("Preview"); -static const u8 gUnknown_Debug_083C0DAC[] = _("Pokémon No."); -static const u8 gUnknown_Debug_083C0DB8[] = _("ID rnd. digit"); -static const u8 gUnknown_Debug_083C0DC6[] = _("Type"); -static const u8 gUnknown_Debug_083C0DCB[] = _("Poké Art"); +static const u8 sString_Contest_Preview_PokemonNo[] = _("Pokémon No."); +static const u8 sString_Contest_Preview_Personality[] = _("ID rnd. digit"); +static const u8 sString_Contest_Preview_Type[] = _("Type"); +static const u8 sString_Contest_Preview_PokeArt[] = _("Poké Art"); static const struct MenuAction sMenuActions_PreviewPicTest[] = { - {gUnknown_Debug_083C0DAC, Config}, - {gUnknown_Debug_083C0DB8, Config}, - {gUnknown_Debug_083C0DC6, Config}, - {gUnknown_Debug_083C0DCB, debug_sub_808ECA4} + {sString_Contest_Preview_PokemonNo, DummyMenuAction}, + {sString_Contest_Preview_Personality, DummyMenuAction}, + {sString_Contest_Preview_Type, DummyMenuAction}, + {sString_Contest_Preview_PokeArt, PreviewGraphics_Show} }; -static const u8 gUnknown_Debug_083C0DF4[] = _("Trick related"); +static const u8 sString_TrickRelated[] = _("Trick related"); -static const u8 gUnknown_Debug_083C0E02[] = _("Level"); -static const u8 gUnknown_Debug_083C0E08[] = _("Trick Master"); +static const u8 sString_TrickRelated_Level[] = _("Level"); +static const u8 sString_TrickRelated_TrickMaster[] = _("Trick Master"); static const struct MenuAction sMenuActions_TrickRelated[] = { - {gUnknown_Debug_083C0E02, debug_sub_808EB58}, - {gUnknown_Debug_083C0E08, debug_sub_808EBB4} + {sString_TrickRelated_Level, TrickRelated_Level_InitSubmenu}, + {sString_TrickRelated_TrickMaster, TrickRelated_TrickMaster_InitSubmenu} }; -static const u8 gUnknown_Debug_083C0E28[] = _("パート1"); -static const u8 gUnknown_Debug_083C0E2D[] = _("パート2"); +static const u8 sString_Event1[] = _("パート1"); +static const u8 sString_Event2[] = _("パート2"); -static const struct MenuAction gUnknown_Debug_083C0E32[] = { - {gUnknown_Debug_083C0E28, debug_sub_808BFC4}, - {gUnknown_Debug_083C0E2D, debug_sub_808C014} +static const struct MenuAction sMenuActions_ControlEvents[] = { + {sString_Event1, ControlEvents_InitSubmenu1}, + {sString_Event2, ControlEvents_InitSubmenu2} }; -static const u8 gUnknown_Debug_083C0E44[] = _("イベントFLAG"); -static const u8 gUnknown_Debug_083C0E4D[] = _("バニシュFLAG"); -static const u8 gUnknown_Debug_083C0E56[] = _("トレーナーFLAG"); -static const u8 gUnknown_Debug_083C0E60[] = _("SYSFLAG"); -static const u8 gUnknown_Debug_083C0E68[] = _("BALLバニシュFLAG"); -static const u8 gUnknown_Debug_083C0E75[] = _("FH"); -static const u8 gUnknown_Debug_083C0E78[] = _("FH-OBJ"); - -static const struct MenuAction gUnknown_Debug_083C0E7F[] = { - {gUnknown_Debug_083C0E44, debug_sub_808C31C}, - {gUnknown_Debug_083C0E4D, debug_sub_808C7C8}, - {gUnknown_Debug_083C0E56, debug_sub_808CC74}, - {gUnknown_Debug_083C0E60, debug_sub_808CF10}, - {gUnknown_Debug_083C0E68, debug_sub_808D844}, - {gUnknown_Debug_083C0E75, debug_sub_808D600}, - {gUnknown_Debug_083C0E78, debug_sub_808D3BC} +static const u8 sString_EventFlag[] = _("イベントFLAG"); +static const u8 sString_VanishFlag[] = _("バニシュFLAG"); +static const u8 sString_TrainerFlag[] = _("トレーナーFLAG"); +static const u8 sString_SysFlag[] = _("SYSFLAG"); +static const u8 sString_BallVanishFlag[] = _("BALLバニシュFLAG"); +static const u8 sString_FH[] = _("FH"); +static const u8 sString_FH_OBJ[] = _("FH-OBJ"); + +static const struct MenuAction sMenuActions_ControlFlags[] = { + {sString_EventFlag, ControlFlags_EventFlag_InitSubmenu}, + {sString_VanishFlag, ControlFlags_VanishFlag_InitSubmenu}, + {sString_TrainerFlag, ControlFlags_TrainerFlag_InitSubmenu}, + {sString_SysFlag, ControlFlags_SysFlag_InitSubmenu}, + {sString_BallVanishFlag, ControlFlags_BallVanishFlag_InitSubmenu}, + {sString_FH, ControlFlags_FH_InitSubmenu}, + {sString_FH_OBJ, ControlFlags_FH_OBJ_InitSubmenu} }; -static const u8 gUnknown_Debug_083C0EB8[] = _("SAVEWORK"); - -static const u8 gUnknown_Debug_083C0EC1[] = _("SYSWORK"); -static const u8 gUnknown_Debug_083C0EC9[] = _("LOCALWORK"); -static const u8 gUnknown_Debug_083C0ED3[] = _("OBJWORK"); -static const u8 gUnknown_Debug_083C0EDB[] = _("ANSWORK"); -static const u8 gUnknown_Debug_083C0EE3[] = _("SAVEWORK パート2"); - -static const struct MenuAction gUnknown_Debug_083C0EF1[] = { - {gUnknown_Debug_083C0EB8, debug_sub_808DB0C}, - {gUnknown_Debug_083C0EC1, debug_sub_808E36C}, - {gUnknown_Debug_083C0EC9, debug_sub_808E6C0}, - {gUnknown_Debug_083C0ED3, debug_sub_808E90C}, - {gUnknown_Debug_083C0EDB, debug_sub_808DA30}, - {gUnknown_Debug_083C0EE3, debug_sub_808DFC0} +static const u8 sString_SaveWork[] = _("SAVEWORK"); +static const u8 sString_SysWork[] = _("SYSWORK"); +static const u8 sString_LocalWork[] = _("LOCALWORK"); +static const u8 sString_ObjWork[] = _("OBJWORK"); +static const u8 sString_AnsWork[] = _("ANSWORK"); +static const u8 sString_SaveWorkPart2[] = _("SAVEWORK パート2"); + +static const struct MenuAction sMenuActions_ControlWorks[] = { + {sString_SaveWork, ControlWorks_SaveWork_InitSubmenu}, + {sString_SysWork, ControlWorks_SysWork_InitSubmenu}, + {sString_LocalWork, ControlWorks_LocalWork_InitSubmenu}, + {sString_ObjWork, ControlWorks_ObjWork_InitSubmenu}, + {sString_AnsWork, ControlWorks_AnsWork_InitSubmenu}, + {sString_SaveWorkPart2, ControlWorks_SaveWorkPart2_InitSubmenu} }; -static const u8 gUnknown_Debug_083C0F24[] = _("クリアご"); -static const u8 gUnknown_Debug_083C0F29[] = _("コインこうにゅうかのう"); -static const u8 gUnknown_Debug_083C0F35[] = _("コトキサポーターセット"); -static const u8 gUnknown_Debug_083C0F41[] = _("ニューキンセツOPEN"); -static const u8 gUnknown_Debug_083C0F4D[] = _("れんらくせんにのれる"); -static const u8 gUnknown_Debug_083C0F58[] = _("タマゴついか"); -static const u8 gUnknown_Debug_083C0F5F[] = _("アイテムいっぱい"); -static const u8 gUnknown_Debug_083C0F68[] = _("グッズいっぱい"); -static const u8 gUnknown_Debug_083C0F70[] = _("COINいっぱい"); - -static const struct MenuAction gUnknown_Debug_083C0F79[] = { - {gUnknown_Debug_083C0F24, debug_sub_808C0EC}, - {gUnknown_Debug_083C0F29, debug_sub_808C104}, - {gUnknown_Debug_083C0F35, debug_sub_808C11C}, - {gUnknown_Debug_083C0F41, debug_sub_808C134}, - {gUnknown_Debug_083C0F4D, debug_sub_808C14C}, - {gUnknown_Debug_083C0F58, debug_sub_808C164}, - {gUnknown_Debug_083C0F5F, debug_sub_808C17C}, - {gUnknown_Debug_083C0F68, debug_sub_808C194}, - {gUnknown_Debug_083C0F70, debug_sub_808C1AC} +static const u8 sString_Clear_go[] = _("クリアご"); +static const u8 sString_Coin_kounyuuka[] = _("コインこうにゅうかのう"); +static const u8 sString_Oldale_supporter_set[] = _("コトキサポーターセット"); +static const u8 sString_New_Mauville_open[] = _("ニューキンセツOPEN"); +static const u8 sString_Renrakusen_ni_noreru[] = _("れんらくせんにのれる"); +static const u8 sString_Egg_tsuika[] = _("タマゴついか"); +static const u8 sString_Item_ippai[] = _("アイテムいっぱい"); +static const u8 sString_Gezzu_ippai[] = _("グッズいっぱい"); +static const u8 sString_Coin_ippai[] = _("COINいっぱい"); + +static const struct MenuAction sMenuActions_ControlEvents_Events1[] = { + {sString_Clear_go, CallScript_DoHallOfFame}, + {sString_Coin_kounyuuka, CallScript_GiveCoinCaseIfNotAlreadyOwned}, + {sString_Oldale_supporter_set, CallScript_SetOldaleStateAfterRoute103Rival}, + {sString_New_Mauville_open, CallScript_OpenNewMauville}, + {sString_Renrakusen_ni_noreru, CallScript_GiveSSTicketAndDoHallOfFame}, + {sString_Egg_tsuika, CallScript_GiveKyogreEgg}, + {sString_Item_ippai, CallScript_GiveAllItems}, + {sString_Gezzu_ippai, CallScript_GiveAllDecorations}, + {sString_Coin_ippai, CallScript_GiveAllCoins} }; -static const u8 gUnknown_Debug_083C0FC4[] = _("ムロジムOPEN"); -static const u8 gUnknown_Debug_083C0FCD[] = _("おかねを0へ"); -static const u8 gUnknown_Debug_083C0FD4[] = _("ドジョッチ FULL"); -static const u8 gUnknown_Debug_083C0FDF[] = _("キノココ FULL"); -static const u8 gUnknown_Debug_083C0FE9[] = _("ドジョッチ タマゴ"); -static const u8 gUnknown_Debug_083C0FF3[] = _("キノココ タマゴ"); - -static const struct MenuAction gUnknown_Debug_083C0FFC[] = { - {gUnknown_Debug_083C0FC4, debug_sub_808C1C4}, - {gUnknown_Debug_083C0FCD, debug_sub_808C1DC}, - {gUnknown_Debug_083C0FD4, debug_sub_808C1F4}, - {gUnknown_Debug_083C0FDF, debug_sub_808C20C}, - {gUnknown_Debug_083C0FE9, debug_sub_808C224}, - {gUnknown_Debug_083C0FF3, debug_sub_808C23C} +static const u8 sString_SootpolisGymOpen[] = _("ムロジムOPEN"); +static const u8 sString_MoneyTo0[] = _("おかねを0へ"); +static const u8 sString_BarboachFull[] = _("ドジョッチ FULL"); +static const u8 sString_ShroomishFull[] = _("キノココ FULL"); +static const u8 sString_BarboachEgg[] = _("ドジョッチ タマゴ"); +static const u8 sString_ShroomishEgg[] = _("キノココ タマゴ"); + +static const struct MenuAction sMenuActions_ControlEvents_Events2[] = { + {sString_SootpolisGymOpen, CallScript_OpenSootopolisGym}, + {sString_MoneyTo0, CallScript_SetMoneyTo0}, + {sString_BarboachFull, CallScript_FillPartyWithBarboach}, + {sString_ShroomishFull, CallScript_FillPartyWithShroomish}, + {sString_BarboachEgg, CallScript_GiveBarboachEgg}, + {sString_ShroomishEgg, CallScript_GiveShroomishEgg} }; -static const u8 gUnknown_Debug_083C102C[] = _("ANSWORK みかんせい"); +static const u8 sString_Answork_Mikansei[] = _("ANSWORK みかんせい"); -static const struct MenuAction gUnknown_Debug_083C103A[] = { - {gUnknown_Debug_083C102C, Config} +static const struct MenuAction sMenuActions_ControlEvents_AnsWork[] = { + {sString_Answork_Mikansei, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1044[] = _("FHーOBJ00ー08"); @@ -401,15 +400,15 @@ static const u8 gUnknown_Debug_083C10AB[] = _("FHーOBJ07"); static const u8 gUnknown_Debug_083C10B4[] = _("FHーOBJ08"); static const struct MenuAction gUnknown_Debug_083C10BD[] = { - {gUnknown_Debug_083C106C, Config}, - {gUnknown_Debug_083C1075, Config}, - {gUnknown_Debug_083C107E, Config}, - {gUnknown_Debug_083C1087, Config}, - {gUnknown_Debug_083C1090, Config}, - {gUnknown_Debug_083C1099, Config}, - {gUnknown_Debug_083C10A2, Config}, - {gUnknown_Debug_083C10AB, Config}, - {gUnknown_Debug_083C10B4, Config} + {gUnknown_Debug_083C106C, DummyMenuAction}, + {gUnknown_Debug_083C1075, DummyMenuAction}, + {gUnknown_Debug_083C107E, DummyMenuAction}, + {gUnknown_Debug_083C1087, DummyMenuAction}, + {gUnknown_Debug_083C1090, DummyMenuAction}, + {gUnknown_Debug_083C1099, DummyMenuAction}, + {gUnknown_Debug_083C10A2, DummyMenuAction}, + {gUnknown_Debug_083C10AB, DummyMenuAction}, + {gUnknown_Debug_083C10B4, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1108[] = _("FH-OBJ09"); @@ -423,15 +422,15 @@ static const u8 gUnknown_Debug_083C1147[] = _(""); static const u8 gUnknown_Debug_083C1148[] = _(""); static const struct MenuAction gUnknown_Debug_083C1149[] = { - {gUnknown_Debug_083C1108, Config}, - {gUnknown_Debug_083C1111, Config}, - {gUnknown_Debug_083C111A, Config}, - {gUnknown_Debug_083C1123, Config}, - {gUnknown_Debug_083C112C, Config}, - {gUnknown_Debug_083C1135, Config}, - {gUnknown_Debug_083C113E, Config}, - {gUnknown_Debug_083C1147, Config}, - {gUnknown_Debug_083C1148, Config} + {gUnknown_Debug_083C1108, DummyMenuAction}, + {gUnknown_Debug_083C1111, DummyMenuAction}, + {gUnknown_Debug_083C111A, DummyMenuAction}, + {gUnknown_Debug_083C1123, DummyMenuAction}, + {gUnknown_Debug_083C112C, DummyMenuAction}, + {gUnknown_Debug_083C1135, DummyMenuAction}, + {gUnknown_Debug_083C113E, DummyMenuAction}, + {gUnknown_Debug_083C1147, DummyMenuAction}, + {gUnknown_Debug_083C1148, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1194[] = {9, 7}; @@ -460,15 +459,15 @@ static const u8 gUnknown_Debug_083C1206[] = _("FH-07"); static const u8 gUnknown_Debug_083C120C[] = _("FH-08"); static const struct MenuAction gUnknown_Debug_083C1212[] = { - {gUnknown_Debug_083C11DC, Config}, - {gUnknown_Debug_083C11E2, Config}, - {gUnknown_Debug_083C11E8, Config}, - {gUnknown_Debug_083C11EE, Config}, - {gUnknown_Debug_083C11F4, Config}, - {gUnknown_Debug_083C11FA, Config}, - {gUnknown_Debug_083C1200, Config}, - {gUnknown_Debug_083C1206, Config}, - {gUnknown_Debug_083C120C, Config} + {gUnknown_Debug_083C11DC, DummyMenuAction}, + {gUnknown_Debug_083C11E2, DummyMenuAction}, + {gUnknown_Debug_083C11E8, DummyMenuAction}, + {gUnknown_Debug_083C11EE, DummyMenuAction}, + {gUnknown_Debug_083C11F4, DummyMenuAction}, + {gUnknown_Debug_083C11FA, DummyMenuAction}, + {gUnknown_Debug_083C1200, DummyMenuAction}, + {gUnknown_Debug_083C1206, DummyMenuAction}, + {gUnknown_Debug_083C120C, DummyMenuAction} }; static const u8 gUnknown_Debug_083C125C[] = _("FHー09"); @@ -482,15 +481,15 @@ static const u8 gUnknown_Debug_083C1286[] = _(""); static const u8 gUnknown_Debug_083C1287[] = _(""); static const struct MenuAction gUnknown_Debug_083C1288[] = { - {gUnknown_Debug_083C125C, Config}, - {gUnknown_Debug_083C1262, Config}, - {gUnknown_Debug_083C1268, Config}, - {gUnknown_Debug_083C126E, Config}, - {gUnknown_Debug_083C1274, Config}, - {gUnknown_Debug_083C127A, Config}, - {gUnknown_Debug_083C1280, Config}, - {gUnknown_Debug_083C1286, Config}, - {gUnknown_Debug_083C1287, Config} + {gUnknown_Debug_083C125C, DummyMenuAction}, + {gUnknown_Debug_083C1262, DummyMenuAction}, + {gUnknown_Debug_083C1268, DummyMenuAction}, + {gUnknown_Debug_083C126E, DummyMenuAction}, + {gUnknown_Debug_083C1274, DummyMenuAction}, + {gUnknown_Debug_083C127A, DummyMenuAction}, + {gUnknown_Debug_083C1280, DummyMenuAction}, + {gUnknown_Debug_083C1286, DummyMenuAction}, + {gUnknown_Debug_083C1287, DummyMenuAction} }; static const u8 gUnknown_Debug_083C12D0[] = {9, 7}; @@ -532,14 +531,14 @@ static const u8 gUnknown_Debug_083C13C0[] = _("BATCH07ーGET"); static const u8 gUnknown_Debug_083C13CC[] = _("BATCH08ーGET"); static const struct MenuAction gUnknown_Debug_083C13D8[] = { - {gUnknown_Debug_083C1378, Config}, - {gUnknown_Debug_083C1384, Config}, - {gUnknown_Debug_083C1390, Config}, - {gUnknown_Debug_083C139C, Config}, - {gUnknown_Debug_083C13A8, Config}, - {gUnknown_Debug_083C13B4, Config}, - {gUnknown_Debug_083C13C0, Config}, - {gUnknown_Debug_083C13CC, Config} + {gUnknown_Debug_083C1378, DummyMenuAction}, + {gUnknown_Debug_083C1384, DummyMenuAction}, + {gUnknown_Debug_083C1390, DummyMenuAction}, + {gUnknown_Debug_083C139C, DummyMenuAction}, + {gUnknown_Debug_083C13A8, DummyMenuAction}, + {gUnknown_Debug_083C13B4, DummyMenuAction}, + {gUnknown_Debug_083C13C0, DummyMenuAction}, + {gUnknown_Debug_083C13CC, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1418[] = _("T101ARRIVE"); @@ -551,13 +550,13 @@ static const u8 gUnknown_Debug_083C144F[] = _("T106ARRIVE"); static const u8 gUnknown_Debug_083C145A[] = _("T107ARRIVE"); static const struct MenuAction gUnknown_Debug_083C1465[] = { - {gUnknown_Debug_083C1418, Config}, - {gUnknown_Debug_083C1423, Config}, - {gUnknown_Debug_083C142E, Config}, - {gUnknown_Debug_083C1439, Config}, - {gUnknown_Debug_083C1444, Config}, - {gUnknown_Debug_083C144F, Config}, - {gUnknown_Debug_083C145A, Config} + {gUnknown_Debug_083C1418, DummyMenuAction}, + {gUnknown_Debug_083C1423, DummyMenuAction}, + {gUnknown_Debug_083C142E, DummyMenuAction}, + {gUnknown_Debug_083C1439, DummyMenuAction}, + {gUnknown_Debug_083C1444, DummyMenuAction}, + {gUnknown_Debug_083C144F, DummyMenuAction}, + {gUnknown_Debug_083C145A, DummyMenuAction} }; static const u8 gUnknown_Debug_083C14A0[] = _("C101ARRIVE"); @@ -571,15 +570,15 @@ static const u8 gUnknown_Debug_083C14ED[] = _("C108ARRIVE"); static const u8 gUnknown_Debug_083C14F8[] = _("C109ARRIVE"); static const struct MenuAction gUnknown_Debug_083C1503[] = { - {gUnknown_Debug_083C14A0, Config}, - {gUnknown_Debug_083C14AB, Config}, - {gUnknown_Debug_083C14B6, Config}, - {gUnknown_Debug_083C14C1, Config}, - {gUnknown_Debug_083C14CC, Config}, - {gUnknown_Debug_083C14D7, Config}, - {gUnknown_Debug_083C14E2, Config}, - {gUnknown_Debug_083C14ED, Config}, - {gUnknown_Debug_083C14F8, Config} + {gUnknown_Debug_083C14A0, DummyMenuAction}, + {gUnknown_Debug_083C14AB, DummyMenuAction}, + {gUnknown_Debug_083C14B6, DummyMenuAction}, + {gUnknown_Debug_083C14C1, DummyMenuAction}, + {gUnknown_Debug_083C14CC, DummyMenuAction}, + {gUnknown_Debug_083C14D7, DummyMenuAction}, + {gUnknown_Debug_083C14E2, DummyMenuAction}, + {gUnknown_Debug_083C14ED, DummyMenuAction}, + {gUnknown_Debug_083C14F8, DummyMenuAction} }; static const u8 gUnknown_Debug_083C154C[] = _("SYSーPOKEMONーGET"); @@ -588,10 +587,10 @@ static const u8 gUnknown_Debug_083C156A[] = _("SYSーPOKEGEARーGET"); static const u8 gUnknown_Debug_083C157B[] = _("SYSーRIBBONーGET"); static const struct MenuAction gUnknown_Debug_083C158A[] = { - {gUnknown_Debug_083C154C, Config}, - {gUnknown_Debug_083C155C, Config}, - {gUnknown_Debug_083C156A, Config}, - {gUnknown_Debug_083C157B, Config} + {gUnknown_Debug_083C154C, DummyMenuAction}, + {gUnknown_Debug_083C155C, DummyMenuAction}, + {gUnknown_Debug_083C156A, DummyMenuAction}, + {gUnknown_Debug_083C157B, DummyMenuAction} }; static const u8 gUnknown_Debug_083C15AC[] = _("SYSーGAMEーCLEAR"); @@ -605,15 +604,15 @@ static const u8 gUnknown_Debug_083C1627[] = _("SYSーSAFARIーMODE"); static const u8 gUnknown_Debug_083C1637[] = _("SYSーCRUISEーMODE"); static const struct MenuAction gUnknown_Debug_083C1647[] = { - {gUnknown_Debug_083C15AC, Config}, - {gUnknown_Debug_083C15BB, Config}, - {gUnknown_Debug_083C15CA, Config}, - {gUnknown_Debug_083C15DD, Config}, - {gUnknown_Debug_083C15F0, Config}, - {gUnknown_Debug_083C1605, Config}, - {gUnknown_Debug_083C1616, Config}, - {gUnknown_Debug_083C1627, Config}, - {gUnknown_Debug_083C1637, Config} + {gUnknown_Debug_083C15AC, DummyMenuAction}, + {gUnknown_Debug_083C15BB, DummyMenuAction}, + {gUnknown_Debug_083C15CA, DummyMenuAction}, + {gUnknown_Debug_083C15DD, DummyMenuAction}, + {gUnknown_Debug_083C15F0, DummyMenuAction}, + {gUnknown_Debug_083C1605, DummyMenuAction}, + {gUnknown_Debug_083C1616, DummyMenuAction}, + {gUnknown_Debug_083C1627, DummyMenuAction}, + {gUnknown_Debug_083C1637, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1690[] = _("SYSーTVーHOME"); @@ -627,15 +626,15 @@ static const u8 gUnknown_Debug_083C16F2[] = _("SYSーCAVEーWONDER"); static const u8 gUnknown_Debug_083C1702[] = _("SYSーCAVEーBATTLE"); static const struct MenuAction gUnknown_Debug_083C1712[] = { - {gUnknown_Debug_083C1690, Config}, - {gUnknown_Debug_083C169C, Config}, - {gUnknown_Debug_083C16A9, Config}, - {gUnknown_Debug_083C16B5, Config}, - {gUnknown_Debug_083C16C7, Config}, - {gUnknown_Debug_083C16D6, Config}, - {gUnknown_Debug_083C16E4, Config}, - {gUnknown_Debug_083C16F2, Config}, - {gUnknown_Debug_083C1702, Config} + {gUnknown_Debug_083C1690, DummyMenuAction}, + {gUnknown_Debug_083C169C, DummyMenuAction}, + {gUnknown_Debug_083C16A9, DummyMenuAction}, + {gUnknown_Debug_083C16B5, DummyMenuAction}, + {gUnknown_Debug_083C16C7, DummyMenuAction}, + {gUnknown_Debug_083C16D6, DummyMenuAction}, + {gUnknown_Debug_083C16E4, DummyMenuAction}, + {gUnknown_Debug_083C16F2, DummyMenuAction}, + {gUnknown_Debug_083C1702, DummyMenuAction} }; static const u8 gUnknown_Debug_083C175C[] = _("SYSーSPECIALーZUKAN"); @@ -649,15 +648,15 @@ static const u8 gUnknown_Debug_083C17D4[] = _("SYSーTENJIーWAIT"); static const u8 gUnknown_Debug_083C17E3[] = _("SYSーTENJIーSORAWOTOBU"); static const struct MenuAction gUnknown_Debug_083C17F8[] = { - {gUnknown_Debug_083C175C, Config}, - {gUnknown_Debug_083C176E, Config}, - {gUnknown_Debug_083C177D, Config}, - {gUnknown_Debug_083C178C, Config}, - {gUnknown_Debug_083C179C, Config}, - {gUnknown_Debug_083C17AE, Config}, - {gUnknown_Debug_083C17C2, Config}, - {gUnknown_Debug_083C17D4, Config}, - {gUnknown_Debug_083C17E3, Config} + {gUnknown_Debug_083C175C, DummyMenuAction}, + {gUnknown_Debug_083C176E, DummyMenuAction}, + {gUnknown_Debug_083C177D, DummyMenuAction}, + {gUnknown_Debug_083C178C, DummyMenuAction}, + {gUnknown_Debug_083C179C, DummyMenuAction}, + {gUnknown_Debug_083C17AE, DummyMenuAction}, + {gUnknown_Debug_083C17C2, DummyMenuAction}, + {gUnknown_Debug_083C17D4, DummyMenuAction}, + {gUnknown_Debug_083C17E3, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1840[] = _("SYSーENCーUPーITEM"); @@ -671,15 +670,15 @@ static const u8 gUnknown_Debug_083C18B4[] = _(""); static const u8 gUnknown_Debug_083C18B5[] = _(""); static const struct MenuAction gUnknown_Debug_083C18B8[] = { - {gUnknown_Debug_083C1840, Config}, - {gUnknown_Debug_083C1850, Config}, - {gUnknown_Debug_083C1862, Config}, - {gUnknown_Debug_083C1873, Config}, - {gUnknown_Debug_083C1886, Config}, - {gUnknown_Debug_083C1895, Config}, - {gUnknown_Debug_083C18A0, Config}, - {gUnknown_Debug_083C18B4, Config}, - {gUnknown_Debug_083C18B5, Config} + {gUnknown_Debug_083C1840, DummyMenuAction}, + {gUnknown_Debug_083C1850, DummyMenuAction}, + {gUnknown_Debug_083C1862, DummyMenuAction}, + {gUnknown_Debug_083C1873, DummyMenuAction}, + {gUnknown_Debug_083C1886, DummyMenuAction}, + {gUnknown_Debug_083C1895, DummyMenuAction}, + {gUnknown_Debug_083C18A0, DummyMenuAction}, + {gUnknown_Debug_083C18B4, DummyMenuAction}, + {gUnknown_Debug_083C18B5, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1900[] = _("SYSーARRIVEーSUBMARINECAVE"); @@ -693,15 +692,15 @@ static const u8 gUnknown_Debug_083C196F[] = _(""); static const u8 gUnknown_Debug_083C1970[] = _(""); static const struct MenuAction gDebug_0x83C1974[] = { - {gUnknown_Debug_083C1900, Config}, - {gUnknown_Debug_083C1919, Config}, - {gUnknown_Debug_083C1930, Config}, - {gUnknown_Debug_083C1942, Config}, - {gUnknown_Debug_083C1954, Config}, - {gUnknown_Debug_083C196D, Config}, - {gUnknown_Debug_083C196E, Config}, - {gUnknown_Debug_083C196F, Config}, - {gUnknown_Debug_083C1970, Config} + {gUnknown_Debug_083C1900, DummyMenuAction}, + {gUnknown_Debug_083C1919, DummyMenuAction}, + {gUnknown_Debug_083C1930, DummyMenuAction}, + {gUnknown_Debug_083C1942, DummyMenuAction}, + {gUnknown_Debug_083C1954, DummyMenuAction}, + {gUnknown_Debug_083C196D, DummyMenuAction}, + {gUnknown_Debug_083C196E, DummyMenuAction}, + {gUnknown_Debug_083C196F, DummyMenuAction}, + {gUnknown_Debug_083C1970, DummyMenuAction} }; static const u8 gUnknown_Debug_083C19BC[] = {8, 7, 9, 4, 9, 9, 9, 7, 5}; @@ -728,8 +727,8 @@ static const u8 gUnknown_Debug_083C1A80[] = _("FVーBALL1ー78"); static const u8 gUnknown_Debug_083C1A8C[] = _("FVーBALL1ー133"); static const struct MenuAction gUnknown_Debug_083C1A9C[] = { - {gUnknown_Debug_083C1A80, Config}, - {gUnknown_Debug_083C1A8C, Config} + {gUnknown_Debug_083C1A80, DummyMenuAction}, + {gUnknown_Debug_083C1A8C, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1AAC[] = {2}; @@ -758,14 +757,14 @@ static const u8 gUnknown_Debug_083C1B5A[] = _("FTーGYMー07ーLEADER"); static const u8 gUnknown_Debug_083C1B6B[] = _("FTーGYMー08ーLEADER"); static const struct MenuAction gUnknown_Debug_083C1B7C[] = { - {gUnknown_Debug_083C1AF4, Config}, - {gUnknown_Debug_083C1B05, Config}, - {gUnknown_Debug_083C1B16, Config}, - {gUnknown_Debug_083C1B27, Config}, - {gUnknown_Debug_083C1B38, Config}, - {gUnknown_Debug_083C1B49, Config}, - {gUnknown_Debug_083C1B5A, Config}, - {gUnknown_Debug_083C1B6B, Config} + {gUnknown_Debug_083C1AF4, DummyMenuAction}, + {gUnknown_Debug_083C1B05, DummyMenuAction}, + {gUnknown_Debug_083C1B16, DummyMenuAction}, + {gUnknown_Debug_083C1B27, DummyMenuAction}, + {gUnknown_Debug_083C1B38, DummyMenuAction}, + {gUnknown_Debug_083C1B49, DummyMenuAction}, + {gUnknown_Debug_083C1B5A, DummyMenuAction}, + {gUnknown_Debug_083C1B6B, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1BBC[] = _("FTーSHITENー01"); @@ -774,16 +773,16 @@ static const u8 gUnknown_Debug_083C1BD6[] = _("FTーSHITENー03"); static const u8 gUnknown_Debug_083C1BE3[] = _("FTーSHITENー04"); static const struct MenuAction gUnknown_Debug_083C1BF0[] = { - {gUnknown_Debug_083C1BBC, Config}, - {gUnknown_Debug_083C1BC9, Config}, - {gUnknown_Debug_083C1BD6, Config}, - {gUnknown_Debug_083C1BE3, Config} + {gUnknown_Debug_083C1BBC, DummyMenuAction}, + {gUnknown_Debug_083C1BC9, DummyMenuAction}, + {gUnknown_Debug_083C1BD6, DummyMenuAction}, + {gUnknown_Debug_083C1BE3, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1C10[] = _("FTーMITSURUー01ーCAVEーD1301"); static const struct MenuAction gUnknown_Debug_083C1C2C[] = { - {gUnknown_Debug_083C1C10, Config} + {gUnknown_Debug_083C1C10, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1C34[] = {8, 4, 1}; @@ -826,15 +825,15 @@ static const u8 gUnknown_Debug_083C1DDB[] = _("FVーKAKUREー01ーFIELDーR119") static const u8 gUnknown_Debug_083C1DF3[] = _("FVーKAKUREー02ーFIELDーR119"); static const struct MenuAction gUnknown_Debug_083C1E0C[] = { - {gUnknown_Debug_083C1D30, Config}, - {gUnknown_Debug_083C1D4B, Config}, - {gUnknown_Debug_083C1D63, Config}, - {gUnknown_Debug_083C1D7B, Config}, - {gUnknown_Debug_083C1D93, Config}, - {gUnknown_Debug_083C1DAB, Config}, - {gUnknown_Debug_083C1DC3, Config}, - {gUnknown_Debug_083C1DDB, Config}, - {gUnknown_Debug_083C1DF3, Config} + {gUnknown_Debug_083C1D30, DummyMenuAction}, + {gUnknown_Debug_083C1D4B, DummyMenuAction}, + {gUnknown_Debug_083C1D63, DummyMenuAction}, + {gUnknown_Debug_083C1D7B, DummyMenuAction}, + {gUnknown_Debug_083C1D93, DummyMenuAction}, + {gUnknown_Debug_083C1DAB, DummyMenuAction}, + {gUnknown_Debug_083C1DC3, DummyMenuAction}, + {gUnknown_Debug_083C1DDB, DummyMenuAction}, + {gUnknown_Debug_083C1DF3, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1E54[] = _("FVーBALLー01ーC107ーR0501"); @@ -848,15 +847,15 @@ static const u8 gUnknown_Debug_083C1F01[] = _("FVーSUPPORTWー01ーT101ーR0202 static const u8 gUnknown_Debug_083C1F1B[] = _("FVーSUPPORTMー01ーT101ーR0102"); static const struct MenuAction gUnknown_Debug_083C1F38[] = { - {gUnknown_Debug_083C1E54, Config}, - {gUnknown_Debug_083C1E6A, Config}, - {gUnknown_Debug_083C1E84, Config}, - {gUnknown_Debug_083C1E9F, Config}, - {gUnknown_Debug_083C1EB7, Config}, - {gUnknown_Debug_083C1ED1, Config}, - {gUnknown_Debug_083C1EEB, Config}, - {gUnknown_Debug_083C1F01, Config}, - {gUnknown_Debug_083C1F1B, Config} + {gUnknown_Debug_083C1E54, DummyMenuAction}, + {gUnknown_Debug_083C1E6A, DummyMenuAction}, + {gUnknown_Debug_083C1E84, DummyMenuAction}, + {gUnknown_Debug_083C1E9F, DummyMenuAction}, + {gUnknown_Debug_083C1EB7, DummyMenuAction}, + {gUnknown_Debug_083C1ED1, DummyMenuAction}, + {gUnknown_Debug_083C1EEB, DummyMenuAction}, + {gUnknown_Debug_083C1F01, DummyMenuAction}, + {gUnknown_Debug_083C1F1B, DummyMenuAction} }; static const u8 gUnknown_Debug_083C1F80[] = _("FVーODAMAKIー01ーFIELDーR101"); @@ -870,15 +869,15 @@ static const u8 gUnknown_Debug_083C2038[] = _("FVーFIGHTERー01ーT106ーR0201" static const u8 gUnknown_Debug_083C2051[] = _("FVーFIGHTERー01ーFIELDーR116"); static const struct MenuAction gUnknown_Debug_083C206C[] = { - {gUnknown_Debug_083C1F80, Config}, - {gUnknown_Debug_083C1F99, Config}, - {gUnknown_Debug_083C1FB2, Config}, - {gUnknown_Debug_083C1FCE, Config}, - {gUnknown_Debug_083C1FEA, Config}, - {gUnknown_Debug_083C2006, Config}, - {gUnknown_Debug_083C201F, Config}, - {gUnknown_Debug_083C2038, Config}, - {gUnknown_Debug_083C2051, Config} + {gUnknown_Debug_083C1F80, DummyMenuAction}, + {gUnknown_Debug_083C1F99, DummyMenuAction}, + {gUnknown_Debug_083C1FB2, DummyMenuAction}, + {gUnknown_Debug_083C1FCE, DummyMenuAction}, + {gUnknown_Debug_083C1FEA, DummyMenuAction}, + {gUnknown_Debug_083C2006, DummyMenuAction}, + {gUnknown_Debug_083C201F, DummyMenuAction}, + {gUnknown_Debug_083C2038, DummyMenuAction}, + {gUnknown_Debug_083C2051, DummyMenuAction} }; static const u8 gUnknown_Debug_083C20B4[] = _("FVーMITSURUー01ーFIELDーC101"); @@ -892,15 +891,15 @@ static const u8 gUnknown_Debug_083C2163[] = _("FVーTENKIー01ーR119ーR101"); static const u8 gUnknown_Debug_083C2179[] = _("FVーTENKIー01ーR119ーR102"); static const struct MenuAction gUnknown_Debug_083C2190[] = { - {gUnknown_Debug_083C20B4, Config}, - {gUnknown_Debug_083C20CD, Config}, - {gUnknown_Debug_083C20E6, Config}, - {gUnknown_Debug_083C20FF, Config}, - {gUnknown_Debug_083C2118, Config}, - {gUnknown_Debug_083C2131, Config}, - {gUnknown_Debug_083C214A, Config}, - {gUnknown_Debug_083C2163, Config}, - {gUnknown_Debug_083C2179, Config} + {gUnknown_Debug_083C20B4, DummyMenuAction}, + {gUnknown_Debug_083C20CD, DummyMenuAction}, + {gUnknown_Debug_083C20E6, DummyMenuAction}, + {gUnknown_Debug_083C20FF, DummyMenuAction}, + {gUnknown_Debug_083C2118, DummyMenuAction}, + {gUnknown_Debug_083C2131, DummyMenuAction}, + {gUnknown_Debug_083C214A, DummyMenuAction}, + {gUnknown_Debug_083C2163, DummyMenuAction}, + {gUnknown_Debug_083C2179, DummyMenuAction} }; static const u8 gUnknown_Debug_083C21D8[] = _("FVーDAIGOー01ーCAVEーD0504"); @@ -911,12 +910,12 @@ static const u8 gUnknown_Debug_083C2234[] = _("FVーDAIGOー01ーFIELDーR120"); static const u8 gUnknown_Debug_083C224B[] = _("FVーDAIGOー01ーFIELDーR108"); static const struct MenuAction gUnknown_Debug_083C2264[] = { - {gUnknown_Debug_083C21D8, Config}, - {gUnknown_Debug_083C21EF, Config}, - {gUnknown_Debug_083C2206, Config}, - {gUnknown_Debug_083C221D, Config}, - {gUnknown_Debug_083C2234, Config}, - {gUnknown_Debug_083C224B, Config} + {gUnknown_Debug_083C21D8, DummyMenuAction}, + {gUnknown_Debug_083C21EF, DummyMenuAction}, + {gUnknown_Debug_083C2206, DummyMenuAction}, + {gUnknown_Debug_083C221D, DummyMenuAction}, + {gUnknown_Debug_083C2234, DummyMenuAction}, + {gUnknown_Debug_083C224B, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2294[] = _("FVーPOKE1ー02ーCAVEーD1111"); @@ -930,15 +929,15 @@ static const u8 gUnknown_Debug_083C233D[] = _("FVーPOKEMONー01ーCAVEーD0201" static const u8 gUnknown_Debug_083C2356[] = _("FVーPOKEMONー01ーR104ーR0101"); static const struct MenuAction gUnknown_Debug_083C2370[] = { - {gUnknown_Debug_083C2294, Config}, - {gUnknown_Debug_083C22AB, Config}, - {gUnknown_Debug_083C22C2, Config}, - {gUnknown_Debug_083C22D9, Config}, - {gUnknown_Debug_083C22F0, Config}, - {gUnknown_Debug_083C230B, Config}, - {gUnknown_Debug_083C2326, Config}, - {gUnknown_Debug_083C233D, Config}, - {gUnknown_Debug_083C2356, Config} + {gUnknown_Debug_083C2294, DummyMenuAction}, + {gUnknown_Debug_083C22AB, DummyMenuAction}, + {gUnknown_Debug_083C22C2, DummyMenuAction}, + {gUnknown_Debug_083C22D9, DummyMenuAction}, + {gUnknown_Debug_083C22F0, DummyMenuAction}, + {gUnknown_Debug_083C230B, DummyMenuAction}, + {gUnknown_Debug_083C2326, DummyMenuAction}, + {gUnknown_Debug_083C233D, DummyMenuAction}, + {gUnknown_Debug_083C2356, DummyMenuAction} }; static const u8 gUnknown_Debug_083C23B8[] = _("FVーMAMAー01ーFIELDーT101"); @@ -952,15 +951,15 @@ static const u8 gUnknown_Debug_083C2459[] = _("FVーSUPPORTー02ーFIELDーR119" static const u8 gUnknown_Debug_083C2472[] = _("FVーSUPPORTー02ーFIELDーT104"); static const struct MenuAction gUnknown_Debug_083C248C[] = { - {gUnknown_Debug_083C23B8, Config}, - {gUnknown_Debug_083C23CE, Config}, - {gUnknown_Debug_083C23E8, Config}, - {gUnknown_Debug_083C23FE, Config}, - {gUnknown_Debug_083C2414, Config}, - {gUnknown_Debug_083C242A, Config}, - {gUnknown_Debug_083C2440, Config}, - {gUnknown_Debug_083C2459, Config}, - {gUnknown_Debug_083C2472, Config} + {gUnknown_Debug_083C23B8, DummyMenuAction}, + {gUnknown_Debug_083C23CE, DummyMenuAction}, + {gUnknown_Debug_083C23E8, DummyMenuAction}, + {gUnknown_Debug_083C23FE, DummyMenuAction}, + {gUnknown_Debug_083C2414, DummyMenuAction}, + {gUnknown_Debug_083C242A, DummyMenuAction}, + {gUnknown_Debug_083C2440, DummyMenuAction}, + {gUnknown_Debug_083C2459, DummyMenuAction}, + {gUnknown_Debug_083C2472, DummyMenuAction} }; static const u8 gUnknown_Debug_083C24D4[] = _("FVーHAGIー01ーFIELDーR104"); @@ -974,15 +973,15 @@ static const u8 gUnknown_Debug_083C256E[] = _("FVーHAGIー01ーFIELDーR116"); static const u8 gUnknown_Debug_083C2584[] = _("FVーHAGIー01ーSPーSHIP01"); static const struct MenuAction gUnknown_Debug_083C259C[] = { - {gUnknown_Debug_083C24D4, Config}, - {gUnknown_Debug_083C24EA, Config}, - {gUnknown_Debug_083C2500, Config}, - {gUnknown_Debug_083C2516, Config}, - {gUnknown_Debug_083C252C, Config}, - {gUnknown_Debug_083C2542, Config}, - {gUnknown_Debug_083C2558, Config}, - {gUnknown_Debug_083C256E, Config}, - {gUnknown_Debug_083C2584, Config} + {gUnknown_Debug_083C24D4, DummyMenuAction}, + {gUnknown_Debug_083C24EA, DummyMenuAction}, + {gUnknown_Debug_083C2500, DummyMenuAction}, + {gUnknown_Debug_083C2516, DummyMenuAction}, + {gUnknown_Debug_083C252C, DummyMenuAction}, + {gUnknown_Debug_083C2542, DummyMenuAction}, + {gUnknown_Debug_083C2558, DummyMenuAction}, + {gUnknown_Debug_083C256E, DummyMenuAction}, + {gUnknown_Debug_083C2584, DummyMenuAction} }; static const u8 gUnknown_Debug_083C25E4[] = _("FVーSUPPORTー01ーT101ーR0301"); @@ -996,15 +995,15 @@ static const u8 gUnknown_Debug_083C2693[] = _("FVーSUPPORTー01ーFIELDーT104" static const u8 gUnknown_Debug_083C26AC[] = _("FVーSUPPORTー01ーFIELDーT102"); static const struct MenuAction gUnknown_Debug_083C26C8[] = { - {gUnknown_Debug_083C25E4, Config}, - {gUnknown_Debug_083C25FD, Config}, - {gUnknown_Debug_083C2616, Config}, - {gUnknown_Debug_083C262F, Config}, - {gUnknown_Debug_083C2648, Config}, - {gUnknown_Debug_083C2661, Config}, - {gUnknown_Debug_083C267A, Config}, - {gUnknown_Debug_083C2693, Config}, - {gUnknown_Debug_083C26AC, Config} + {gUnknown_Debug_083C25E4, DummyMenuAction}, + {gUnknown_Debug_083C25FD, DummyMenuAction}, + {gUnknown_Debug_083C2616, DummyMenuAction}, + {gUnknown_Debug_083C262F, DummyMenuAction}, + {gUnknown_Debug_083C2648, DummyMenuAction}, + {gUnknown_Debug_083C2661, DummyMenuAction}, + {gUnknown_Debug_083C267A, DummyMenuAction}, + {gUnknown_Debug_083C2693, DummyMenuAction}, + {gUnknown_Debug_083C26AC, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2710[] = {9, 9, 9, 9, 6, 9, 9, 9, 9}; @@ -1054,15 +1053,15 @@ static const u8 gUnknown_Debug_083C2909[] = _("FEーDEBONー01ーFIELDーC104"); static const u8 gUnknown_Debug_083C2920[] = _("FEーDEBONー02ーFIELDーC104"); static const struct MenuAction gUnknown_Debug_083C2938[] = { - {gUnknown_Debug_083C2870, Config}, - {gUnknown_Debug_083C287F, Config}, - {gUnknown_Debug_083C2897, Config}, - {gUnknown_Debug_083C28A6, Config}, - {gUnknown_Debug_083C28BF, Config}, - {gUnknown_Debug_083C28D8, Config}, - {gUnknown_Debug_083C28F1, Config}, - {gUnknown_Debug_083C2909, Config}, - {gUnknown_Debug_083C2920, Config} + {gUnknown_Debug_083C2870, DummyMenuAction}, + {gUnknown_Debug_083C287F, DummyMenuAction}, + {gUnknown_Debug_083C2897, DummyMenuAction}, + {gUnknown_Debug_083C28A6, DummyMenuAction}, + {gUnknown_Debug_083C28BF, DummyMenuAction}, + {gUnknown_Debug_083C28D8, DummyMenuAction}, + {gUnknown_Debug_083C28F1, DummyMenuAction}, + {gUnknown_Debug_083C2909, DummyMenuAction}, + {gUnknown_Debug_083C2920, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2980[] = _("FEーCYCLEー01ーP01ーP01ーC103ーR0201"); @@ -1076,15 +1075,15 @@ static const u8 gUnknown_Debug_083C2A21[] = _("FEーIITURIZAOーGET"); static const u8 gUnknown_Debug_083C2A32[] = _("FEーSUGOITURIZAOーGET"); static const struct MenuAction gUnknown_Debug_083C2A48[] = { - {gUnknown_Debug_083C2980, Config}, - {gUnknown_Debug_083C299F, Config}, - {gUnknown_Debug_083C29BA, Config}, - {gUnknown_Debug_083C29D4, Config}, - {gUnknown_Debug_083C29EE, Config}, - {gUnknown_Debug_083C29FC, Config}, - {gUnknown_Debug_083C2A0C, Config}, - {gUnknown_Debug_083C2A21, Config}, - {gUnknown_Debug_083C2A32, Config} + {gUnknown_Debug_083C2980, DummyMenuAction}, + {gUnknown_Debug_083C299F, DummyMenuAction}, + {gUnknown_Debug_083C29BA, DummyMenuAction}, + {gUnknown_Debug_083C29D4, DummyMenuAction}, + {gUnknown_Debug_083C29EE, DummyMenuAction}, + {gUnknown_Debug_083C29FC, DummyMenuAction}, + {gUnknown_Debug_083C2A0C, DummyMenuAction}, + {gUnknown_Debug_083C2A21, DummyMenuAction}, + {gUnknown_Debug_083C2A32, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2A90[] = _("FEーBOSSー01ーCAVEーD0701"); @@ -1098,15 +1097,15 @@ static const u8 gUnknown_Debug_083C2B27[] = _("FEーKASEKIーRETURN"); static const u8 gUnknown_Debug_083C2B38[] = _("FEーWINー01ーSPーSHIP01"); static const struct MenuAction gUnknown_Debug_083C2B4C[] = { - {gUnknown_Debug_083C2A90, Config}, - {gUnknown_Debug_083C2AA6, Config}, - {gUnknown_Debug_083C2AB8, Config}, - {gUnknown_Debug_083C2ACF, Config}, - {gUnknown_Debug_083C2AE6, Config}, - {gUnknown_Debug_083C2AFB, Config}, - {gUnknown_Debug_083C2B0F, Config}, - {gUnknown_Debug_083C2B27, Config}, - {gUnknown_Debug_083C2B38, Config} + {gUnknown_Debug_083C2A90, DummyMenuAction}, + {gUnknown_Debug_083C2AA6, DummyMenuAction}, + {gUnknown_Debug_083C2AB8, DummyMenuAction}, + {gUnknown_Debug_083C2ACF, DummyMenuAction}, + {gUnknown_Debug_083C2AE6, DummyMenuAction}, + {gUnknown_Debug_083C2AFB, DummyMenuAction}, + {gUnknown_Debug_083C2B0F, DummyMenuAction}, + {gUnknown_Debug_083C2B27, DummyMenuAction}, + {gUnknown_Debug_083C2B38, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2B94[] = _("FEーMITSURUー01ーT106ーR0201"); @@ -1120,15 +1119,15 @@ static const u8 gUnknown_Debug_083C2C47[] = _("FEーDOORーOPENー04ーCAVEーD1 static const u8 gUnknown_Debug_083C2C62[] = _("FEーDOORーOPENー06ーCAVEーD1712"); static const struct MenuAction gUnknown_Debug_083C2C80[] = { - {gUnknown_Debug_083C2B94, Config}, - {gUnknown_Debug_083C2BAD, Config}, - {gUnknown_Debug_083C2BC6, Config}, - {gUnknown_Debug_083C2BDF, Config}, - {gUnknown_Debug_083C2BF8, Config}, - {gUnknown_Debug_083C2C11, Config}, - {gUnknown_Debug_083C2C2C, Config}, - {gUnknown_Debug_083C2C47, Config}, - {gUnknown_Debug_083C2C62, Config} + {gUnknown_Debug_083C2B94, DummyMenuAction}, + {gUnknown_Debug_083C2BAD, DummyMenuAction}, + {gUnknown_Debug_083C2BC6, DummyMenuAction}, + {gUnknown_Debug_083C2BDF, DummyMenuAction}, + {gUnknown_Debug_083C2BF8, DummyMenuAction}, + {gUnknown_Debug_083C2C11, DummyMenuAction}, + {gUnknown_Debug_083C2C2C, DummyMenuAction}, + {gUnknown_Debug_083C2C47, DummyMenuAction}, + {gUnknown_Debug_083C2C62, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2CC8[] = _("FEーKARAKURI10ーSWITCHー01"); @@ -1142,15 +1141,15 @@ static const u8 gUnknown_Debug_083C2D66[] = _("FEーGYM07ーSWITCHー03"); static const u8 gUnknown_Debug_083C2D79[] = _("FEーGYM07ーSWITCHー04"); static const struct MenuAction gUnknown_Debug_083C2D8C[] = { - {gUnknown_Debug_083C2CC8, Config}, - {gUnknown_Debug_083C2CE0, Config}, - {gUnknown_Debug_083C2CF8, Config}, - {gUnknown_Debug_083C2D10, Config}, - {gUnknown_Debug_083C2D28, Config}, - {gUnknown_Debug_083C2D40, Config}, - {gUnknown_Debug_083C2D53, Config}, - {gUnknown_Debug_083C2D66, Config}, - {gUnknown_Debug_083C2D79, Config} + {gUnknown_Debug_083C2CC8, DummyMenuAction}, + {gUnknown_Debug_083C2CE0, DummyMenuAction}, + {gUnknown_Debug_083C2CF8, DummyMenuAction}, + {gUnknown_Debug_083C2D10, DummyMenuAction}, + {gUnknown_Debug_083C2D28, DummyMenuAction}, + {gUnknown_Debug_083C2D40, DummyMenuAction}, + {gUnknown_Debug_083C2D53, DummyMenuAction}, + {gUnknown_Debug_083C2D66, DummyMenuAction}, + {gUnknown_Debug_083C2D79, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2DD4[] = _("FEーSUPPORTー01ーFIELDーR103"); @@ -1164,15 +1163,15 @@ static const u8 gUnknown_Debug_083C2E78[] = _("FEーODAMAKIー01ーP01ーT101ー static const u8 gUnknown_Debug_083C2E93[] = _("FEーPAPAー01ーP01ーC101ーR0201"); static const struct MenuAction gUnknown_Debug_083C2EB0[] = { - {gUnknown_Debug_083C2DD4, Config}, - {gUnknown_Debug_083C2DED, Config}, - {gUnknown_Debug_083C2E06, Config}, - {gUnknown_Debug_083C2E1F, Config}, - {gUnknown_Debug_083C2E38, Config}, - {gUnknown_Debug_083C2E51, Config}, - {gUnknown_Debug_083C2E6B, Config}, - {gUnknown_Debug_083C2E78, Config}, - {gUnknown_Debug_083C2E93, Config} + {gUnknown_Debug_083C2DD4, DummyMenuAction}, + {gUnknown_Debug_083C2DED, DummyMenuAction}, + {gUnknown_Debug_083C2E06, DummyMenuAction}, + {gUnknown_Debug_083C2E1F, DummyMenuAction}, + {gUnknown_Debug_083C2E38, DummyMenuAction}, + {gUnknown_Debug_083C2E51, DummyMenuAction}, + {gUnknown_Debug_083C2E6B, DummyMenuAction}, + {gUnknown_Debug_083C2E78, DummyMenuAction}, + {gUnknown_Debug_083C2E93, DummyMenuAction} }; static const u8 gUnknown_Debug_083C2EF8[] = _("FEーDAISUKIーGOODSーFLAG01"); @@ -1186,15 +1185,15 @@ static const u8 gUnknown_Debug_083C2FA8[] = _("FEーBALLー01ーP01ーSPーCONTE static const u8 gUnknown_Debug_083C2FC2[] = _("FEーWOMAN2ー01ーP01ーT101ーR0201"); static const struct MenuAction gUnknown_Debug_083C2FE0[] = { - {gUnknown_Debug_083C2EF8, Config}, - {gUnknown_Debug_083C2F10, Config}, - {gUnknown_Debug_083C2F28, Config}, - {gUnknown_Debug_083C2F40, Config}, - {gUnknown_Debug_083C2F58, Config}, - {gUnknown_Debug_083C2F70, Config}, - {gUnknown_Debug_083C2F8C, Config}, - {gUnknown_Debug_083C2FA8, Config}, - {gUnknown_Debug_083C2FC2, Config} + {gUnknown_Debug_083C2EF8, DummyMenuAction}, + {gUnknown_Debug_083C2F10, DummyMenuAction}, + {gUnknown_Debug_083C2F28, DummyMenuAction}, + {gUnknown_Debug_083C2F40, DummyMenuAction}, + {gUnknown_Debug_083C2F58, DummyMenuAction}, + {gUnknown_Debug_083C2F70, DummyMenuAction}, + {gUnknown_Debug_083C2F8C, DummyMenuAction}, + {gUnknown_Debug_083C2FA8, DummyMenuAction}, + {gUnknown_Debug_083C2FC2, DummyMenuAction} }; static const u8 gUnknown_Debug_083C3028[] = _("FEーSOUKOーOPENーCAVEーD1704"); @@ -1208,15 +1207,15 @@ static const u8 gUnknown_Debug_083C30D9[] = _("FEーDASHーSHOESーGET"); static const u8 gUnknown_Debug_083C30EB[] = _("FEーDEBONSUKOOPUーGET"); static const struct MenuAction gUnknown_Debug_083C3100[] = { - {gUnknown_Debug_083C3028, Config}, - {gUnknown_Debug_083C3041, Config}, - {gUnknown_Debug_083C305A, Config}, - {gUnknown_Debug_083C3073, Config}, - {gUnknown_Debug_083C308D, Config}, - {gUnknown_Debug_083C30A8, Config}, - {gUnknown_Debug_083C30C3, Config}, - {gUnknown_Debug_083C30D9, Config}, - {gUnknown_Debug_083C30EB, Config} + {gUnknown_Debug_083C3028, DummyMenuAction}, + {gUnknown_Debug_083C3041, DummyMenuAction}, + {gUnknown_Debug_083C305A, DummyMenuAction}, + {gUnknown_Debug_083C3073, DummyMenuAction}, + {gUnknown_Debug_083C308D, DummyMenuAction}, + {gUnknown_Debug_083C30A8, DummyMenuAction}, + {gUnknown_Debug_083C30C3, DummyMenuAction}, + {gUnknown_Debug_083C30D9, DummyMenuAction}, + {gUnknown_Debug_083C30EB, DummyMenuAction} }; static const u8 gUnknown_Debug_083C3148[] = _("FEーSTUDYM1ー01ーP01ーT101R0301"); @@ -1230,15 +1229,15 @@ static const u8 gUnknown_Debug_083C3191[] = _(""); static const u8 gUnknown_Debug_083C3192[] = _(""); static const struct MenuAction gUnknown_Debug_083C3194[] = { - {gUnknown_Debug_083C3148, Config}, - {gUnknown_Debug_083C3164, Config}, - {gUnknown_Debug_083C317E, Config}, - {gUnknown_Debug_083C318D, Config}, - {gUnknown_Debug_083C318E, Config}, - {gUnknown_Debug_083C318F, Config}, - {gUnknown_Debug_083C3190, Config}, - {gUnknown_Debug_083C3191, Config}, - {gUnknown_Debug_083C3192, Config} + {gUnknown_Debug_083C3148, DummyMenuAction}, + {gUnknown_Debug_083C3164, DummyMenuAction}, + {gUnknown_Debug_083C317E, DummyMenuAction}, + {gUnknown_Debug_083C318D, DummyMenuAction}, + {gUnknown_Debug_083C318E, DummyMenuAction}, + {gUnknown_Debug_083C318F, DummyMenuAction}, + {gUnknown_Debug_083C3190, DummyMenuAction}, + {gUnknown_Debug_083C3191, DummyMenuAction}, + {gUnknown_Debug_083C3192, DummyMenuAction} }; static const u8 gUnknown_Debug_083C31DC[] = {9, 9, 9, 9, 9, 9, 9, 9, 3}; @@ -1300,43 +1299,43 @@ static const u8 gUnknown_Debug_083C345E[] = _("WKーPOKELOTーRND2"); static const u8 gUnknown_Debug_083C346E[] = _("WKーBASEーMAPNO"); static const struct MenuAction gUnknown_Debug_083C347C[] = { - {gUnknown_Debug_083C32D4, Config}, - {gUnknown_Debug_083C32E6, Config}, - {gUnknown_Debug_083C32FA, Config} + {gUnknown_Debug_083C32D4, DummyMenuAction}, + {gUnknown_Debug_083C32E6, DummyMenuAction}, + {gUnknown_Debug_083C32FA, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_083C3494[] = { - {gUnknown_Debug_083C330E, Config}, - {gUnknown_Debug_083C3325, Config} + {gUnknown_Debug_083C330E, DummyMenuAction}, + {gUnknown_Debug_083C3325, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_083C34A4[] = { - {gUnknown_Debug_083C333A, Config}, - {gUnknown_Debug_083C3349, Config}, - {gUnknown_Debug_083C3356, Config}, - {gUnknown_Debug_083C336A, Config}, - {gUnknown_Debug_083C337A, Config}, - {gUnknown_Debug_083C3391, Config} + {gUnknown_Debug_083C333A, DummyMenuAction}, + {gUnknown_Debug_083C3349, DummyMenuAction}, + {gUnknown_Debug_083C3356, DummyMenuAction}, + {gUnknown_Debug_083C336A, DummyMenuAction}, + {gUnknown_Debug_083C337A, DummyMenuAction}, + {gUnknown_Debug_083C3391, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_083C34D4[] = { - {gUnknown_Debug_083C33A6, Config}, - {gUnknown_Debug_083C33B6, Config}, - {gUnknown_Debug_083C33C4, Config}, - {gUnknown_Debug_083C33D5, Config}, - {gUnknown_Debug_083C33E6, Config}, - {gUnknown_Debug_083C33F6, Config}, - {gUnknown_Debug_083C3401, Config}, - {gUnknown_Debug_083C340C, Config}, - {gUnknown_Debug_083C341E, Config} + {gUnknown_Debug_083C33A6, DummyMenuAction}, + {gUnknown_Debug_083C33B6, DummyMenuAction}, + {gUnknown_Debug_083C33C4, DummyMenuAction}, + {gUnknown_Debug_083C33D5, DummyMenuAction}, + {gUnknown_Debug_083C33E6, DummyMenuAction}, + {gUnknown_Debug_083C33F6, DummyMenuAction}, + {gUnknown_Debug_083C3401, DummyMenuAction}, + {gUnknown_Debug_083C340C, DummyMenuAction}, + {gUnknown_Debug_083C341E, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_083C351C[] = { - {gUnknown_Debug_083C342F, Config}, - {gUnknown_Debug_083C343F, Config}, - {gUnknown_Debug_083C344E, Config}, - {gUnknown_Debug_083C345E, Config}, - {gUnknown_Debug_083C346E, Config} + {gUnknown_Debug_083C342F, DummyMenuAction}, + {gUnknown_Debug_083C343F, DummyMenuAction}, + {gUnknown_Debug_083C344E, DummyMenuAction}, + {gUnknown_Debug_083C345E, DummyMenuAction}, + {gUnknown_Debug_083C346E, DummyMenuAction} }; static const u8 gUnknown_Debug_083C3544[] = {3, 2, 6, 9, 5}; @@ -1376,25 +1375,25 @@ static const u8 gUnknown_Debug_083C3681[] = _("OBJCHRWORK15"); static const u8 gUnknown_Debug_083C368E[] = _("OBJCHRWORK16"); static const struct MenuAction gUnknown_Debug_083C369C[] = { - {gUnknown_Debug_083C35D4, Config}, - {gUnknown_Debug_083C35E0, Config}, - {gUnknown_Debug_083C35EC, Config}, - {gUnknown_Debug_083C35F8, Config}, - {gUnknown_Debug_083C3604, Config}, - {gUnknown_Debug_083C3610, Config}, - {gUnknown_Debug_083C361C, Config}, - {gUnknown_Debug_083C3628, Config}, - {gUnknown_Debug_083C3634, Config} + {gUnknown_Debug_083C35D4, DummyMenuAction}, + {gUnknown_Debug_083C35E0, DummyMenuAction}, + {gUnknown_Debug_083C35EC, DummyMenuAction}, + {gUnknown_Debug_083C35F8, DummyMenuAction}, + {gUnknown_Debug_083C3604, DummyMenuAction}, + {gUnknown_Debug_083C3610, DummyMenuAction}, + {gUnknown_Debug_083C361C, DummyMenuAction}, + {gUnknown_Debug_083C3628, DummyMenuAction}, + {gUnknown_Debug_083C3634, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_083C36E4[] = { - {gUnknown_Debug_083C3640, Config}, - {gUnknown_Debug_083C364D, Config}, - {gUnknown_Debug_083C365A, Config}, - {gUnknown_Debug_083C3667, Config}, - {gUnknown_Debug_083C3674, Config}, - {gUnknown_Debug_083C3681, Config}, - {gUnknown_Debug_083C368E, Config} + {gUnknown_Debug_083C3640, DummyMenuAction}, + {gUnknown_Debug_083C364D, DummyMenuAction}, + {gUnknown_Debug_083C365A, DummyMenuAction}, + {gUnknown_Debug_083C3667, DummyMenuAction}, + {gUnknown_Debug_083C3674, DummyMenuAction}, + {gUnknown_Debug_083C3681, DummyMenuAction}, + {gUnknown_Debug_083C368E, DummyMenuAction} }; static const u8 gUnknown_Debug_083C371C[] = {9, 7}; @@ -1481,79 +1480,79 @@ static const u8 gUnknown_Debug_083C3A9D[] = _(""); static const u8 gUnknown_Debug_083C3A9E[] = _(""); static const struct MenuAction gUnknown_Debug_083C3AA0[] = { - {gUnknown_Debug_083C37AC, Config}, - {gUnknown_Debug_083C37C0, Config}, - {gUnknown_Debug_083C37CF, Config}, - {gUnknown_Debug_083C37E5, Config}, - {gUnknown_Debug_083C37FD, Config}, - {gUnknown_Debug_083C3811, Config}, - {gUnknown_Debug_083C3824, Config}, - {gUnknown_Debug_083C3825, Config} + {gUnknown_Debug_083C37AC, DummyMenuAction}, + {gUnknown_Debug_083C37C0, DummyMenuAction}, + {gUnknown_Debug_083C37CF, DummyMenuAction}, + {gUnknown_Debug_083C37E5, DummyMenuAction}, + {gUnknown_Debug_083C37FD, DummyMenuAction}, + {gUnknown_Debug_083C3811, DummyMenuAction}, + {gUnknown_Debug_083C3824, DummyMenuAction}, + {gUnknown_Debug_083C3825, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_83C3AE0[] = { - {gUnknown_Debug_083C3827, Config}, - {gUnknown_Debug_083C383B, Config}, - {gUnknown_Debug_083C384F, Config}, - {gUnknown_Debug_083C3863, Config}, - {gUnknown_Debug_083C3875, Config}, - {gUnknown_Debug_083C3885, Config}, - {gUnknown_Debug_083C3886, Config}, - {gUnknown_Debug_083C3887, Config}, - {gUnknown_Debug_083C3888, Config} + {gUnknown_Debug_083C3827, DummyMenuAction}, + {gUnknown_Debug_083C383B, DummyMenuAction}, + {gUnknown_Debug_083C384F, DummyMenuAction}, + {gUnknown_Debug_083C3863, DummyMenuAction}, + {gUnknown_Debug_083C3875, DummyMenuAction}, + {gUnknown_Debug_083C3885, DummyMenuAction}, + {gUnknown_Debug_083C3886, DummyMenuAction}, + {gUnknown_Debug_083C3887, DummyMenuAction}, + {gUnknown_Debug_083C3888, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_83C3B28[] = { - {gUnknown_Debug_083C3889, Config}, - {gUnknown_Debug_083C389D, Config}, - {gUnknown_Debug_083C38B1, Config}, - {gUnknown_Debug_083C38C5, Config}, - {gUnknown_Debug_083C38D9, Config}, - {gUnknown_Debug_083C38ED, Config}, - {gUnknown_Debug_083C3901, Config}, - {gUnknown_Debug_083C3915, Config}, - {gUnknown_Debug_083C3929, Config} + {gUnknown_Debug_083C3889, DummyMenuAction}, + {gUnknown_Debug_083C389D, DummyMenuAction}, + {gUnknown_Debug_083C38B1, DummyMenuAction}, + {gUnknown_Debug_083C38C5, DummyMenuAction}, + {gUnknown_Debug_083C38D9, DummyMenuAction}, + {gUnknown_Debug_083C38ED, DummyMenuAction}, + {gUnknown_Debug_083C3901, DummyMenuAction}, + {gUnknown_Debug_083C3915, DummyMenuAction}, + {gUnknown_Debug_083C3929, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_83C3B70[] = { - {gUnknown_Debug_083C3940, Config}, - {gUnknown_Debug_083C3954, Config}, - {gUnknown_Debug_083C3968, Config}, - {gUnknown_Debug_083C3969, Config}, - {gUnknown_Debug_083C396A, Config}, - {gUnknown_Debug_083C396B, Config}, - {gUnknown_Debug_083C396C, Config}, - {gUnknown_Debug_083C396D, Config}, - {gUnknown_Debug_083C396E, Config} + {gUnknown_Debug_083C3940, DummyMenuAction}, + {gUnknown_Debug_083C3954, DummyMenuAction}, + {gUnknown_Debug_083C3968, DummyMenuAction}, + {gUnknown_Debug_083C3969, DummyMenuAction}, + {gUnknown_Debug_083C396A, DummyMenuAction}, + {gUnknown_Debug_083C396B, DummyMenuAction}, + {gUnknown_Debug_083C396C, DummyMenuAction}, + {gUnknown_Debug_083C396D, DummyMenuAction}, + {gUnknown_Debug_083C396E, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_83C3BB8[] = { - {gUnknown_Debug_083C396F, Config}, - {gUnknown_Debug_083C3984, Config}, - {gUnknown_Debug_083C3997, Config}, - {gUnknown_Debug_083C39A9, Config}, - {gUnknown_Debug_083C39BC, Config}, - {gUnknown_Debug_083C39D3, Config}, - {gUnknown_Debug_083C39E8, Config}, - {gUnknown_Debug_083C39F9, Config}, - {gUnknown_Debug_083C3A0E, Config} + {gUnknown_Debug_083C396F, DummyMenuAction}, + {gUnknown_Debug_083C3984, DummyMenuAction}, + {gUnknown_Debug_083C3997, DummyMenuAction}, + {gUnknown_Debug_083C39A9, DummyMenuAction}, + {gUnknown_Debug_083C39BC, DummyMenuAction}, + {gUnknown_Debug_083C39D3, DummyMenuAction}, + {gUnknown_Debug_083C39E8, DummyMenuAction}, + {gUnknown_Debug_083C39F9, DummyMenuAction}, + {gUnknown_Debug_083C3A0E, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_83C3C00[] = { - {gUnknown_Debug_083C3A22, Config}, - {gUnknown_Debug_083C3A36, Config}, - {gUnknown_Debug_083C3A4D, Config}, - {gUnknown_Debug_083C3A65, Config}, - {gUnknown_Debug_083C3A7B, Config}, - {gUnknown_Debug_083C3A8D, Config}, - {gUnknown_Debug_083C3A9C, Config}, - {gUnknown_Debug_083C3A9D, Config}, - {gUnknown_Debug_083C3A9E, Config} + {gUnknown_Debug_083C3A22, DummyMenuAction}, + {gUnknown_Debug_083C3A36, DummyMenuAction}, + {gUnknown_Debug_083C3A4D, DummyMenuAction}, + {gUnknown_Debug_083C3A65, DummyMenuAction}, + {gUnknown_Debug_083C3A7B, DummyMenuAction}, + {gUnknown_Debug_083C3A8D, DummyMenuAction}, + {gUnknown_Debug_083C3A9C, DummyMenuAction}, + {gUnknown_Debug_083C3A9D, DummyMenuAction}, + {gUnknown_Debug_083C3A9E, DummyMenuAction} }; -static const u8 gUnknown_Debug_083C3C48[] = {6, 5, 9, 2, 9, 6}; +static const u8 sControlWorks_SaveWork_CountsArray[] = {6, 5, 9, 2, 9, 6}; -static const u16 gUnknown_Debug_83C3C4E[][9] = { +static const u16 sControlWorks_SaveWork_ItemArrays[][9] = { {VAR_LINK_CONTEST_ROOM_STATE, VAR_CABLE_CLUB_STATE, VAR_CONTEST_LOCATION, VAR_CONTEST_PRIZE_PICKUP, VAR_LITTLEROOT_INTRO_STATE, VAR_PORTHOLE_STATE}, {VAR_TRICK_HOUSE_ENTRANCE_STATE_2, VAR_TRICK_HOUSE_PRIZE_PICKUP, VAR_TRICK_HOUSE_STATE, VAR_TRICK_HOUSE_ENTRANCE_STATE_3, VAR_TRICK_HOUSE_ENTRANCE_STATE}, {VAR_TRICK_HOUSE_PUZZLE_1_STATE, VAR_TRICK_HOUSE_PUZZLE_2_STATE, VAR_TRICK_HOUSE_PUZZLE_3_STATE, VAR_TRICK_HOUSE_PUZZLE_4_STATE, VAR_TRICK_HOUSE_PUZZLE_5_STATE, VAR_TRICK_HOUSE_PUZZLE_6_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE, VAR_TRICK_HOUSE_PUZZLE_8_STATE, VAR_TRICK_HOUSE_PUZZLE_7_STATE_2}, @@ -1562,26 +1561,26 @@ static const u16 gUnknown_Debug_83C3C4E[][9] = { {VAR_WEATHER_INSTITUTE_STATE, VAR_SLATEPORT_FAN_CLUB_STATE, 0x40BB, VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, VAR_GAME_CORNER_STATE, VAR_WHICH_FOSSIL_REVIVED} }; -static const u8 gUnknown_Debug_083C3CBA[] = _("タウン"); -static const u8 gUnknown_Debug_083C3CBE[] = _("シティ"); -static const u8 gUnknown_Debug_083C3CC2[] = _("ロード101ー109"); -static const u8 gUnknown_Debug_083C3CCD[] = _("ロード110ー118"); -static const u8 gUnknown_Debug_083C3CD8[] = _("ロード119ー127"); -static const u8 gUnknown_Debug_083C3CE3[] = _("ロード128ー134"); -static const u8 gUnknown_Debug_083C3CEE[] = _("ルーム タウン"); -static const u8 gUnknown_Debug_083C3CF6[] = _("ルーム シティ"); -static const u8 gUnknown_Debug_083C3CFE[] = _("ダンジョンない"); - -static const struct MenuAction gUnknown_Debug_083C3D08[] = { - {gUnknown_Debug_083C3CBA, debug_sub_808DBA0}, - {gUnknown_Debug_083C3CBE, debug_sub_808DBF8}, - {gUnknown_Debug_083C3CC2, debug_sub_808DC50}, - {gUnknown_Debug_083C3CCD, debug_sub_808DCA8}, - {gUnknown_Debug_083C3CD8, debug_sub_808DD00}, - {gUnknown_Debug_083C3CE3, debug_sub_808DD58}, - {gUnknown_Debug_083C3CEE, debug_sub_808DDB0}, - {gUnknown_Debug_083C3CF6, debug_sub_808DE08}, - {gUnknown_Debug_083C3CFE, debug_sub_808DE60} +static const u8 sString_Town[] = _("タウン"); +static const u8 sString_City[] = _("シティ"); +static const u8 sString_Route_101_to_109[] = _("ロード101ー109"); +static const u8 sString_Route_110_to_118[] = _("ロード110ー118"); +static const u8 sString_Route_119_to_127[] = _("ロード119ー127"); +static const u8 sString_Route_128_to_134[] = _("ロード128ー134"); +static const u8 sString_Room_Town[] = _("ルーム タウン"); +static const u8 sString_Room_City[] = _("ルーム シティ"); +static const u8 sString_Dungeon_nai[] = _("ダンジョンない"); + +static const struct MenuAction sMenuAction_ControlWorks_SaveWork[] = { + {sString_Town, ControlWorks_SaveWork_Town_InitSubsubmenu}, + {sString_City, ControlWorks_SaveWork_City_InitSubsubmenu}, + {sString_Route_101_to_109, ControlWorks_SaveWork_Route101To109_InitSubsubmenu}, + {sString_Route_110_to_118, ControlWorks_SaveWork_Route110To118_InitSubsubmenu}, + {sString_Route_119_to_127, ControlWorks_SaveWork_Route119To127_InitSubsubmenu}, + {sString_Route_128_to_134, ControlWorks_SaveWork_Route128To134_InitSubsubmenu}, + {sString_Room_Town, ControlWorks_SaveWork_RoomTown_InitSubsubmenu}, + {sString_Room_City, ControlWorks_SaveWork_RoomCity_InitSubsubmenu}, + {sString_Dungeon_nai, ControlWorks_SaveWork_Dungeon_InitSubsubmenu} }; static const u8 gUnknown_Debug_083C3D50[] = _("WKーSCENEーFIELDーT101"); @@ -1668,105 +1667,105 @@ static const u8 gUnknown_Debug_083C42ED[] = _("WKーSCENEーCAVEーD1602"); static const u8 gUnknown_Debug_083C4301[] = _("WKーSCENEーCAVEーD0101"); static const u8 gUnknown_Debug_083C4315[] = _("WKーSCENEーCAVEーD1301"); -static const struct MenuAction gUnknown_Debug_083C432C[] = { - {gUnknown_Debug_083C3D50, Config}, - {gUnknown_Debug_083C3D64, Config}, - {gUnknown_Debug_083C3D78, Config}, - {gUnknown_Debug_083C3D8C, Config}, - {gUnknown_Debug_083C3DA0, Config}, - {gUnknown_Debug_083C3DAE, Config}, - {gUnknown_Debug_083C3DC2, Config}, - {gUnknown_Debug_083C3DD6, Config} +static const struct MenuAction sMenuActions_SaveWork_Town[] = { + {gUnknown_Debug_083C3D50, DummyMenuAction}, + {gUnknown_Debug_083C3D64, DummyMenuAction}, + {gUnknown_Debug_083C3D78, DummyMenuAction}, + {gUnknown_Debug_083C3D8C, DummyMenuAction}, + {gUnknown_Debug_083C3DA0, DummyMenuAction}, + {gUnknown_Debug_083C3DAE, DummyMenuAction}, + {gUnknown_Debug_083C3DC2, DummyMenuAction}, + {gUnknown_Debug_083C3DD6, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_083C436C[] = { - {gUnknown_Debug_083C3DED, Config}, - {gUnknown_Debug_083C3E01, Config}, - {gUnknown_Debug_083C3E15, Config}, - {gUnknown_Debug_083C3E29, Config}, - {gUnknown_Debug_083C3E3D, Config}, - {gUnknown_Debug_083C3E51, Config}, - {gUnknown_Debug_083C3E65, Config}, - {gUnknown_Debug_083C3E79, Config}, - {gUnknown_Debug_083C3E8D, Config} +static const struct MenuAction sMenuActions_SaveWork_City[] = { + {gUnknown_Debug_083C3DED, DummyMenuAction}, + {gUnknown_Debug_083C3E01, DummyMenuAction}, + {gUnknown_Debug_083C3E15, DummyMenuAction}, + {gUnknown_Debug_083C3E29, DummyMenuAction}, + {gUnknown_Debug_083C3E3D, DummyMenuAction}, + {gUnknown_Debug_083C3E51, DummyMenuAction}, + {gUnknown_Debug_083C3E65, DummyMenuAction}, + {gUnknown_Debug_083C3E79, DummyMenuAction}, + {gUnknown_Debug_083C3E8D, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_083C43B4[] = { - {gUnknown_Debug_083C3EA1, Config}, - {gUnknown_Debug_083C3EB5, Config}, - {gUnknown_Debug_083C3EC9, Config}, - {gUnknown_Debug_083C3EDD, Config}, - {gUnknown_Debug_083C3EF1, Config}, - {gUnknown_Debug_083C3F05, Config}, - {gUnknown_Debug_083C3F19, Config}, - {gUnknown_Debug_083C3F2D, Config}, - {gUnknown_Debug_083C3F41, Config} +static const struct MenuAction sMenuActions_SaveWork_Route101To109[] = { + {gUnknown_Debug_083C3EA1, DummyMenuAction}, + {gUnknown_Debug_083C3EB5, DummyMenuAction}, + {gUnknown_Debug_083C3EC9, DummyMenuAction}, + {gUnknown_Debug_083C3EDD, DummyMenuAction}, + {gUnknown_Debug_083C3EF1, DummyMenuAction}, + {gUnknown_Debug_083C3F05, DummyMenuAction}, + {gUnknown_Debug_083C3F19, DummyMenuAction}, + {gUnknown_Debug_083C3F2D, DummyMenuAction}, + {gUnknown_Debug_083C3F41, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_083C43FC[] = { - {gUnknown_Debug_083C3F55, Config}, - {gUnknown_Debug_083C3F69, Config}, - {gUnknown_Debug_083C3F7D, Config}, - {gUnknown_Debug_083C3F91, Config}, - {gUnknown_Debug_083C3FA5, Config}, - {gUnknown_Debug_083C3FB9, Config}, - {gUnknown_Debug_083C3FCD, Config}, - {gUnknown_Debug_083C3FE1, Config}, - {gUnknown_Debug_083C3FF5, Config} +static const struct MenuAction sMenuActions_SaveWork_Route110To118[] = { + {gUnknown_Debug_083C3F55, DummyMenuAction}, + {gUnknown_Debug_083C3F69, DummyMenuAction}, + {gUnknown_Debug_083C3F7D, DummyMenuAction}, + {gUnknown_Debug_083C3F91, DummyMenuAction}, + {gUnknown_Debug_083C3FA5, DummyMenuAction}, + {gUnknown_Debug_083C3FB9, DummyMenuAction}, + {gUnknown_Debug_083C3FCD, DummyMenuAction}, + {gUnknown_Debug_083C3FE1, DummyMenuAction}, + {gUnknown_Debug_083C3FF5, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_083C4444[] = { - {gUnknown_Debug_083C4009, Config}, - {gUnknown_Debug_083C401D, Config}, - {gUnknown_Debug_083C4031, Config}, - {gUnknown_Debug_083C4045, Config}, - {gUnknown_Debug_083C4059, Config}, - {gUnknown_Debug_083C406D, Config}, - {gUnknown_Debug_083C4081, Config}, - {gUnknown_Debug_083C4095, Config}, - {gUnknown_Debug_083C40A9, Config} +static const struct MenuAction sMenuActions_SaveWork_Route119To127[] = { + {gUnknown_Debug_083C4009, DummyMenuAction}, + {gUnknown_Debug_083C401D, DummyMenuAction}, + {gUnknown_Debug_083C4031, DummyMenuAction}, + {gUnknown_Debug_083C4045, DummyMenuAction}, + {gUnknown_Debug_083C4059, DummyMenuAction}, + {gUnknown_Debug_083C406D, DummyMenuAction}, + {gUnknown_Debug_083C4081, DummyMenuAction}, + {gUnknown_Debug_083C4095, DummyMenuAction}, + {gUnknown_Debug_083C40A9, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_083C448C[] = { - {gUnknown_Debug_083C40BD, Config}, - {gUnknown_Debug_083C40D1, Config}, - {gUnknown_Debug_083C40E5, Config}, - {gUnknown_Debug_083C40F9, Config}, - {gUnknown_Debug_083C410D, Config}, - {gUnknown_Debug_083C4121, Config}, - {gUnknown_Debug_083C4135, Config} +static const struct MenuAction sMenuActions_SaveWork_Route128To134[] = { + {gUnknown_Debug_083C40BD, DummyMenuAction}, + {gUnknown_Debug_083C40D1, DummyMenuAction}, + {gUnknown_Debug_083C40E5, DummyMenuAction}, + {gUnknown_Debug_083C40F9, DummyMenuAction}, + {gUnknown_Debug_083C410D, DummyMenuAction}, + {gUnknown_Debug_083C4121, DummyMenuAction}, + {gUnknown_Debug_083C4135, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_83C44C4[] = { - {gUnknown_Debug_083C4149, Config}, - {gUnknown_Debug_083C415D, Config}, - {gUnknown_Debug_083C4171, Config}, - {gUnknown_Debug_083C4185, Config}, - {gUnknown_Debug_083C4199, Config} +static const struct MenuAction sMenuActions_SaveWork_RoomTown[] = { + {gUnknown_Debug_083C4149, DummyMenuAction}, + {gUnknown_Debug_083C415D, DummyMenuAction}, + {gUnknown_Debug_083C4171, DummyMenuAction}, + {gUnknown_Debug_083C4185, DummyMenuAction}, + {gUnknown_Debug_083C4199, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_83C44EC[] = { - {gUnknown_Debug_083C41C1, Config}, - {gUnknown_Debug_083C41D5, Config}, - {gUnknown_Debug_083C41E9, Config}, - {gUnknown_Debug_083C41FD, Config}, - {gUnknown_Debug_083C4211, Config}, - {gUnknown_Debug_083C4225, Config}, - {gUnknown_Debug_083C4239, Config}, - {gUnknown_Debug_083C424D, Config}, - {gUnknown_Debug_083C4261, Config} +static const struct MenuAction sMenuActions_SaveWork_RoomCity[] = { + {gUnknown_Debug_083C41C1, DummyMenuAction}, + {gUnknown_Debug_083C41D5, DummyMenuAction}, + {gUnknown_Debug_083C41E9, DummyMenuAction}, + {gUnknown_Debug_083C41FD, DummyMenuAction}, + {gUnknown_Debug_083C4211, DummyMenuAction}, + {gUnknown_Debug_083C4225, DummyMenuAction}, + {gUnknown_Debug_083C4239, DummyMenuAction}, + {gUnknown_Debug_083C424D, DummyMenuAction}, + {gUnknown_Debug_083C4261, DummyMenuAction} }; -static const struct MenuAction gUnknown_Debug_083C4534[] = { - {gUnknown_Debug_083C4275, Config}, - {gUnknown_Debug_083C4289, Config}, - {gUnknown_Debug_083C429D, Config}, - {gUnknown_Debug_083C42B1, Config}, - {gUnknown_Debug_083C42C5, Config}, - {gUnknown_Debug_083C42D9, Config}, - {gUnknown_Debug_083C42ED, Config}, - {gUnknown_Debug_083C4301, Config}, - {gUnknown_Debug_083C4315, Config} +static const struct MenuAction sMenuActions_SaveWork_Dungeon[] = { + {gUnknown_Debug_083C4275, DummyMenuAction}, + {gUnknown_Debug_083C4289, DummyMenuAction}, + {gUnknown_Debug_083C429D, DummyMenuAction}, + {gUnknown_Debug_083C42B1, DummyMenuAction}, + {gUnknown_Debug_083C42C5, DummyMenuAction}, + {gUnknown_Debug_083C42D9, DummyMenuAction}, + {gUnknown_Debug_083C42ED, DummyMenuAction}, + {gUnknown_Debug_083C4301, DummyMenuAction}, + {gUnknown_Debug_083C4315, DummyMenuAction} }; static const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9}; @@ -1810,25 +1809,25 @@ static const u8 gUnknown_Debug_083C46F2[] = _("LOCALWORK14"); static const u8 gUnknown_Debug_083C46FE[] = _("LOCALWORK15"); static const struct MenuAction gUnknown_Debug_083C470C[] = { - {gUnknown_Debug_083C4654, Config}, - {gUnknown_Debug_083C465F, Config}, - {gUnknown_Debug_083C466A, Config}, - {gUnknown_Debug_083C4675, Config}, - {gUnknown_Debug_083C4680, Config}, - {gUnknown_Debug_083C468B, Config}, - {gUnknown_Debug_083C4696, Config}, - {gUnknown_Debug_083C46A1, Config}, - {gUnknown_Debug_083C46AC, Config} + {gUnknown_Debug_083C4654, DummyMenuAction}, + {gUnknown_Debug_083C465F, DummyMenuAction}, + {gUnknown_Debug_083C466A, DummyMenuAction}, + {gUnknown_Debug_083C4675, DummyMenuAction}, + {gUnknown_Debug_083C4680, DummyMenuAction}, + {gUnknown_Debug_083C468B, DummyMenuAction}, + {gUnknown_Debug_083C4696, DummyMenuAction}, + {gUnknown_Debug_083C46A1, DummyMenuAction}, + {gUnknown_Debug_083C46AC, DummyMenuAction} }; static const struct MenuAction gUnknown_Debug_083C4754C[] = { - {gUnknown_Debug_083C46B7, Config}, - {gUnknown_Debug_083C46C2, Config}, - {gUnknown_Debug_083C46CE, Config}, - {gUnknown_Debug_083C46DA, Config}, - {gUnknown_Debug_083C46E6, Config}, - {gUnknown_Debug_083C46F2, Config}, - {gUnknown_Debug_083C46FE, Config} + {gUnknown_Debug_083C46B7, DummyMenuAction}, + {gUnknown_Debug_083C46C2, DummyMenuAction}, + {gUnknown_Debug_083C46CE, DummyMenuAction}, + {gUnknown_Debug_083C46DA, DummyMenuAction}, + {gUnknown_Debug_083C46E6, DummyMenuAction}, + {gUnknown_Debug_083C46F2, DummyMenuAction}, + {gUnknown_Debug_083C46FE, DummyMenuAction} }; static const u8 gUnknown_Debug_083C478C[] = {9, 7}; @@ -1849,14 +1848,14 @@ static const u8 gUnknown_Debug_083C47E2[] = _("Scene7"); static const u8 gUnknown_Debug_083C47E9[] = _("Scene8"); static const struct MenuAction gUnknown_Debug_083C47F0[] = { - {gUnknown_Debug_083C47B8, Config}, - {gUnknown_Debug_083C47BF, Config}, - {gUnknown_Debug_083C47C6, Config}, - {gUnknown_Debug_083C47CD, Config}, - {gUnknown_Debug_083C47D4, Config}, - {gUnknown_Debug_083C47DB, Config}, - {gUnknown_Debug_083C47E2, Config}, - {gUnknown_Debug_083C47E9, Config} + {gUnknown_Debug_083C47B8, DummyMenuAction}, + {gUnknown_Debug_083C47BF, DummyMenuAction}, + {gUnknown_Debug_083C47C6, DummyMenuAction}, + {gUnknown_Debug_083C47CD, DummyMenuAction}, + {gUnknown_Debug_083C47D4, DummyMenuAction}, + {gUnknown_Debug_083C47DB, DummyMenuAction}, + {gUnknown_Debug_083C47E2, DummyMenuAction}, + {gUnknown_Debug_083C47E9, DummyMenuAction} }; static const u8 gUnknown_Debug_083C4830[] = _("Trick Master"); @@ -1868,11 +1867,11 @@ static const u8 gUnknown_Debug_083C486A[] = _("Rig a trick"); static const u8 gUnknown_Debug_083C4876[] = _("MASTER is gone"); static const struct MenuAction gUnknown_Debug_083C4888[] = { - {gUnknown_Debug_083C483D, Config}, - {gUnknown_Debug_083C484B, Config}, - {gUnknown_Debug_083C485C, Config}, - {gUnknown_Debug_083C486A, Config}, - {gUnknown_Debug_083C4876, Config} + {gUnknown_Debug_083C483D, DummyMenuAction}, + {gUnknown_Debug_083C484B, DummyMenuAction}, + {gUnknown_Debug_083C485C, DummyMenuAction}, + {gUnknown_Debug_083C486A, DummyMenuAction}, + {gUnknown_Debug_083C4876, DummyMenuAction} }; static const u8 sDummyNickname[] = _("PMNICKNAME"); @@ -1880,7 +1879,7 @@ static const u8 sDummyTrainerName[] = _("BREEDER"); bool8 InitTomomichiDebugWindow(void) { - debug_sub_808B874(); + InitDebugWindow(); return FALSE; } @@ -1889,17 +1888,17 @@ static void debug_sub_808B868(void) c2_exit_to_overworld_1_continue_scripts_restart_music(); } -static bool8 debug_sub_808B874(void) +static bool8 InitDebugWindow(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 13, 15); - Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C0CBA), gUnknown_Debug_083C0CBA); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0CBA), sTopMenuCursorPos, 12); - gMenuCallback = debug_sub_808B8C8; + Menu_PrintItems(1, 1, ARRAY_COUNT(sMenuActions_TopMenu), sMenuActions_TopMenu); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_TopMenu), sTopMenuCursorPos, 12); + gMenuCallback = TopMenu_HandleInput; return FALSE; } -static bool8 debug_sub_808B8C8(void) +static bool8 TopMenu_HandleInput(void) { if (gMain.newKeys & DPAD_UP) { @@ -1914,7 +1913,7 @@ static bool8 debug_sub_808B8C8(void) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0CBA[sTopMenuCursorPos].func(); + return sMenuActions_TopMenu[sTopMenuCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -1931,10 +1930,10 @@ static bool8 ContestGraphics(void) Menu_PrintText(sString_ContestMenuTitle, 1, 1); Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_ContestPicTest), sMenuActions_ContestPicTest); InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_ContestPicTest), 0, 19); - gMenuCallback = debug_sub_808BC48; + gMenuCallback = ContestGraphics_HandleInput; sPicTest_Species = SPECIES_BULBASAUR; - sPicTest_ContestEntryVar4 = 0x6f33; - sPicTest_IDrndDigit = 0; + sPicTest_OTID = 28467; + sPicTest_Personality = 0; sPicTest_ContestType = 1; return FALSE; } @@ -1946,10 +1945,10 @@ static bool8 ArtMusGraphics(void) Menu_PrintText(sString_Contest_ArtMuseumTitle, 1, 1); Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_ArtMuseumPicTest), sMenuActions_ArtMuseumPicTest); InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_ArtMuseumPicTest), 0, 19); - gMenuCallback = debug_sub_808BCBC; + gMenuCallback = ArtMusGraphics_HandleInput; sPicTest_Species = SPECIES_BULBASAUR; - sPicTest_ContestEntryVar4 = 0x6f33; - sPicTest_IDrndDigit = 0; + sPicTest_OTID = 28467; + sPicTest_Personality = 0; sPicTest_MuseumArtTitleType = 1; return FALSE; } @@ -1958,13 +1957,13 @@ static bool8 PreviewData(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 20, 11); - Menu_PrintText(gUnknown_Debug_083C0DA4, 1, 1); + Menu_PrintText(sString_Contest_PreviewTitle, 1, 1); Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_PreviewPicTest), sMenuActions_PreviewPicTest); InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_PreviewPicTest), 0, 19); gMenuCallback = PreviewData_HandleInput; sPicTest_Species = SPECIES_BULBASAUR; - sPicTest_ContestEntryVar4 = 0x6f33; - sPicTest_IDrndDigit = 0; + sPicTest_OTID = 28467; + sPicTest_Personality = 0; sPicTest_PreviewType = 1; return FALSE; } @@ -1973,10 +1972,10 @@ static bool8 TrickHouse(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 7); - Menu_PrintText(gUnknown_Debug_083C0DF4, 1, 1); + Menu_PrintText(sString_TrickRelated, 1, 1); Menu_PrintItems(2, 3, ARRAY_COUNT(sMenuActions_TrickRelated), sMenuActions_TrickRelated); InitMenu(0, 1, 3, ARRAY_COUNT(sMenuActions_TrickRelated), sTrickRelatedMenuCursorPos, 23); - gMenuCallback = debug_sub_808BDA4; + gMenuCallback = TrickHouse_HandleInput; return FALSE; } @@ -1984,9 +1983,9 @@ static bool8 ControlEvents(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 5); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0E32), gUnknown_Debug_083C0E32); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E32), sControlEventsCursorPos, 23); - gMenuCallback = debug_sub_808BE2C; + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlEvents), sMenuActions_ControlEvents); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlEvents), sControlEventsCursorPos, 23); + gMenuCallback = ControlEvents_HandleInput; return FALSE; } @@ -1994,9 +1993,9 @@ static bool8 ControlFlags(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 15); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0E7F), gUnknown_Debug_083C0E7F); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0E7F), sControlFlagsCursorPos, 23); - gMenuCallback = debug_sub_808BEB4; + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlFlags), sMenuActions_ControlFlags); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlFlags), sControlFlagsCursorPos, 23); + gMenuCallback = ControlFlags_HandleInput; return FALSE; } @@ -2004,13 +2003,13 @@ static bool8 ControlWorks(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 13); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0EF1), gUnknown_Debug_083C0EF1); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0EF1), sControlWORKCursorPos, 23); - gMenuCallback = debug_sub_808BF3C; + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlWorks), sMenuActions_ControlWorks); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlWorks), sControlWORKCursorPos, 23); + gMenuCallback = ControlWorks_HandleInput; return FALSE; } -static bool8 debug_sub_808BC48(void) +static bool8 ContestGraphics_HandleInput(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2021,7 +2020,7 @@ static bool8 debug_sub_808BC48(void) PicTest_SelectPokemon(); break; case 1: - PicTest_SelectIDrndDigit(); + PicTest_SelectPersonality(); break; case 2: ContestPicTest_SelectContestType(); @@ -2043,7 +2042,7 @@ static bool8 debug_sub_808BC48(void) return FALSE; } -static bool8 debug_sub_808BCBC(void) +static bool8 ArtMusGraphics_HandleInput(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); @@ -2054,7 +2053,7 @@ static bool8 debug_sub_808BCBC(void) PicTest_SelectPokemon(); break; case 1: - PicTest_SelectIDrndDigit(); + PicTest_SelectPersonality(); break; case 2: MuseumArtPicTest_SelectTitleType(); @@ -2087,7 +2086,7 @@ static bool8 PreviewData_HandleInput(void) PicTest_SelectPokemon(); break; case 1: - PicTest_SelectIDrndDigit(); + PicTest_SelectPersonality(); break; case 2: PreviewPicTest_SelectType(); @@ -2109,7 +2108,7 @@ static bool8 PreviewData_HandleInput(void) return FALSE; } -static bool8 debug_sub_808BDA4(void) +static bool8 TrickHouse_HandleInput(void) { if (gMain.newKeys & DPAD_UP) { @@ -2134,7 +2133,7 @@ static bool8 debug_sub_808BDA4(void) return FALSE; } -static bool8 debug_sub_808BE2C(void) +static bool8 ControlEvents_HandleInput(void) { if (gMain.newKeys & DPAD_UP) { @@ -2149,7 +2148,7 @@ static bool8 debug_sub_808BE2C(void) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0E32[sControlEventsCursorPos].func(); + return sMenuActions_ControlEvents[sControlEventsCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -2159,7 +2158,7 @@ static bool8 debug_sub_808BE2C(void) return FALSE; } -static bool8 debug_sub_808BEB4(void) +static bool8 ControlFlags_HandleInput(void) { if (gMain.newKeys & DPAD_UP) { @@ -2174,7 +2173,7 @@ static bool8 debug_sub_808BEB4(void) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0E7F[sControlFlagsCursorPos].func(); + return sMenuActions_ControlFlags[sControlFlagsCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -2184,7 +2183,7 @@ static bool8 debug_sub_808BEB4(void) return FALSE; } -static bool8 debug_sub_808BF3C(void) +static bool8 ControlWorks_HandleInput(void) { if (gMain.newKeys & DPAD_UP) { @@ -2199,7 +2198,7 @@ static bool8 debug_sub_808BF3C(void) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - return gUnknown_Debug_083C0EF1[sControlWORKCursorPos].func(); + return sMenuActions_ControlWorks[sControlWORKCursorPos].func(); } if (gMain.newKeys & (B_BUTTON | START_BUTTON)) { @@ -2209,27 +2208,27 @@ static bool8 debug_sub_808BF3C(void) return FALSE; } -static bool8 debug_sub_808BFC4(void) +static bool8 ControlEvents_InitSubmenu1(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 19); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0F79), gUnknown_Debug_083C0F79); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0F79), 0, 27); - gMenuCallback = debug_sub_808C064; + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlEvents_Events1), sMenuActions_ControlEvents_Events1); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlEvents_Events1), 0, 27); + gMenuCallback = ControlEvents_Events1_HandleInput; return FALSE; } -static bool8 debug_sub_808C014(void) +static bool8 ControlEvents_InitSubmenu2(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 13); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C0FFC), gUnknown_Debug_083C0FFC); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C0FFC), 0, 27); - gMenuCallback = debug_sub_808C0A8; + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlEvents_Events2), sMenuActions_ControlEvents_Events2); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlEvents_Events2), 0, 27); + gMenuCallback = ControlEvents_Events2_HandleInput; return FALSE; } -static bool8 debug_sub_808C064(void) +static bool8 ControlEvents_Events1_HandleInput(void) { s8 input = Menu_ProcessInput(); @@ -2240,11 +2239,11 @@ static bool8 debug_sub_808C064(void) CloseMenu(); return TRUE; } - gMenuCallback = gUnknown_Debug_083C0F79[input].func; + gMenuCallback = sMenuActions_ControlEvents_Events1[input].func; return FALSE; } -static bool8 debug_sub_808C0A8(void) +static bool8 ControlEvents_Events2_HandleInput(void) { s8 input = Menu_ProcessInput(); @@ -2255,109 +2254,109 @@ static bool8 debug_sub_808C0A8(void) CloseMenu(); return TRUE; } - gMenuCallback = gUnknown_Debug_083C0FFC[input].func; + gMenuCallback = sMenuActions_ControlEvents_Events2[input].func; return FALSE; } -static bool8 debug_sub_808C0EC(void) +static bool8 CallScript_DoHallOfFame(void) { ScriptContext1_SetupScript(DebugScript_081C1CFE); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C104(void) +static bool8 CallScript_GiveCoinCaseIfNotAlreadyOwned(void) { ScriptContext1_SetupScript(DebugScript_081C1D07); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C11C(void) +static bool8 CallScript_SetOldaleStateAfterRoute103Rival(void) { ScriptContext1_SetupScript(DebugScript_081C1D1E); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C134(void) +static bool8 CallScript_OpenNewMauville(void) { ScriptContext1_SetupScript(DebugScript_081C1D24); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C14C(void) +static bool8 CallScript_GiveSSTicketAndDoHallOfFame(void) { ScriptContext1_SetupScript(DebugScript_081C1D2A); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C164(void) +static bool8 CallScript_GiveKyogreEgg(void) { ScriptContext1_SetupScript(DebugScript_081C1D35); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C17C(void) +static bool8 CallScript_GiveAllItems(void) { ScriptContext1_SetupScript(DebugScript_081C1D46); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C194(void) +static bool8 CallScript_GiveAllDecorations(void) { ScriptContext1_SetupScript(DebugScript_081C221F); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C1AC(void) +static bool8 CallScript_GiveAllCoins(void) { ScriptContext1_SetupScript(DebugScript_081C23E2); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C1C4(void) +static bool8 CallScript_OpenSootopolisGym(void) { ScriptContext1_SetupScript(DebugScript_081C23E6); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C1DC(void) +static bool8 CallScript_SetMoneyTo0(void) { ScriptContext1_SetupScript(DebugScript_081C23F6); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C1F4(void) +static bool8 CallScript_FillPartyWithBarboach(void) { ScriptContext1_SetupScript(DebugScript_081C2482); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C20C(void) +static bool8 CallScript_FillPartyWithShroomish(void) { ScriptContext1_SetupScript(DebugScript_081C23FD); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C224(void) +static bool8 CallScript_GiveBarboachEgg(void) { ScriptContext1_SetupScript(DebugScript_081C2518); CloseMenu(); return TRUE; } -static bool8 debug_sub_808C23C(void) +static bool8 CallScript_GiveShroomishEgg(void) { ScriptContext1_SetupScript(DebugScript_081C2507); CloseMenu(); @@ -2404,7 +2403,7 @@ static bool8 debug_sub_808C2E4(void) return FALSE; } -static bool8 debug_sub_808C31C(void) +static bool8 ControlFlags_EventFlag_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 19); @@ -2566,7 +2565,7 @@ static void debug_sub_808C764(u8 whichMenu) } } -static bool8 debug_sub_808C7C8(void) +static bool8 ControlFlags_VanishFlag_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 19); @@ -2728,7 +2727,7 @@ static void debug_sub_808CC10(u8 whichMenu) } } -static bool8 debug_sub_808CC74(void) +static bool8 ControlFlags_TrainerFlag_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1ADC) + 1); @@ -2824,7 +2823,7 @@ static void debug_sub_808CEAC(u8 whichMenu) } } -static bool8 debug_sub_808CF10(void) +static bool8 ControlFlags_SysFlag_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1330) + 1); @@ -2986,7 +2985,7 @@ static void debug_sub_808D358(u8 whichMenu) } } -static bool8 debug_sub_808D3BC(void) +static bool8 ControlFlags_FH_OBJ_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C105C) + 1); @@ -3071,7 +3070,7 @@ static void debug_sub_808D59C(u8 whichMenu) } } -static bool8 debug_sub_808D600(void) +static bool8 ControlFlags_FH_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C11CC) + 1); @@ -3156,7 +3155,7 @@ static void debug_sub_808D7E0(u8 whichMenu) } } -static bool8 debug_sub_808D844(void) +static bool8 ControlFlags_BallVanishFlag_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C1A78) + 1); @@ -3230,23 +3229,23 @@ static void debug_sub_808D9CC(u8 whichMenu) } } -static bool8 debug_sub_808DA30(void) +static bool8 ControlWorks_AnsWork_InitSubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C103A) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C103A), gUnknown_Debug_083C103A); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C103A), 0, 28); - gMenuCallback = debug_sub_808DA80; + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_ControlEvents_AnsWork) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlEvents_AnsWork), sMenuActions_ControlEvents_AnsWork); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlEvents_AnsWork), 0, 28); + gMenuCallback = ControlWorks_AnsWork_HandleInput; return FALSE; } -static bool8 debug_sub_808DA80(void) +static bool8 ControlWorks_AnsWork_HandleInput(void) { s8 input = Menu_ProcessInput(); /*s8 cursorPos = */Menu_GetCursorPos(); - debug_sub_808DAD4(); - debug_sub_808DABC(); + ControlWorks_AnsWork_AdjustRESULT(); + ControlWorks_AnsWork_PrintRESULT(); if (input == -2) return FALSE; if (input == -1) @@ -3257,12 +3256,12 @@ static bool8 debug_sub_808DA80(void) return FALSE; } -static void debug_sub_808DABC(void) +static void ControlWorks_AnsWork_PrintRESULT(void) { PrintUnsignedShort(24, 1, gSpecialVar_Result); } -static void debug_sub_808DAD4(void) +static void ControlWorks_AnsWork_AdjustRESULT(void) { u16 delta; @@ -3279,17 +3278,17 @@ static void debug_sub_808DAD4(void) gSpecialVar_Result += delta; } -static bool8 debug_sub_808DB0C(void) +static bool8 ControlWorks_SaveWork_InitSubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C3D08) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C3D08), gUnknown_Debug_083C3D08); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C3D08), 0, 23); - gMenuCallback = debug_sub_808DB5C; + Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(sMenuAction_ControlWorks_SaveWork) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuAction_ControlWorks_SaveWork), sMenuAction_ControlWorks_SaveWork); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuAction_ControlWorks_SaveWork), 0, 23); + gMenuCallback = ControlWorks_SaveWork_HandleInput; return FALSE; } -static bool8 debug_sub_808DB5C(void) +static bool8 ControlWorks_SaveWork_HandleInput(void) { s8 input = Menu_ProcessInput(); @@ -3300,114 +3299,114 @@ static bool8 debug_sub_808DB5C(void) CloseMenu(); return TRUE; } - gMenuCallback = gUnknown_Debug_083C3D08[input].func; + gMenuCallback = sMenuAction_ControlWorks_SaveWork[input].func; return FALSE; } -static bool8 debug_sub_808DBA0(void) +static bool8 ControlWorks_SaveWork_Town_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C432C) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), gUnknown_Debug_083C432C); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C432C), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_Town) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_Town), sMenuActions_SaveWork_Town); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_Town), 0, 28); sFlagAndVarTest_WhichSubmenu = 0; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DBF8(void) +static bool8 ControlWorks_SaveWork_City_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C436C) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), gUnknown_Debug_083C436C); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C436C), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_City) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_City), sMenuActions_SaveWork_City); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_City), 0, 28); sFlagAndVarTest_WhichSubmenu = 1; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DC50(void) +static bool8 ControlWorks_SaveWork_Route101To109_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43B4) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), gUnknown_Debug_083C43B4); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43B4), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_Route101To109) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route101To109), sMenuActions_SaveWork_Route101To109); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route101To109), 0, 28); sFlagAndVarTest_WhichSubmenu = 2; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DCA8(void) +static bool8 ControlWorks_SaveWork_Route110To118_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C43FC) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), gUnknown_Debug_083C43FC); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C43FC), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_Route110To118) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route110To118), sMenuActions_SaveWork_Route110To118); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route110To118), 0, 28); sFlagAndVarTest_WhichSubmenu = 3; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DD00(void) +static bool8 ControlWorks_SaveWork_Route119To127_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4444) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), gUnknown_Debug_083C4444); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4444), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_Route119To127) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route119To127), sMenuActions_SaveWork_Route119To127); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route119To127), 0, 28); sFlagAndVarTest_WhichSubmenu = 4; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DD58(void) +static bool8 ControlWorks_SaveWork_Route128To134_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C448C) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), gUnknown_Debug_083C448C); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C448C), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_Route128To134) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route128To134), sMenuActions_SaveWork_Route128To134); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_Route128To134), 0, 28); sFlagAndVarTest_WhichSubmenu = 5; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DDB0(void) +static bool8 ControlWorks_SaveWork_RoomTown_InitSubsubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); - Menu_PrintItems(2, 1, 6, gUnknown_Debug_83C44C4); // overflows into the next menu + Menu_PrintItems(2, 1, 6, sMenuActions_SaveWork_RoomTown); // overflows into the next menu InitMenu(0, 1, 1, 6, 0, 28); sFlagAndVarTest_WhichSubmenu = 6; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DE08(void) +static bool8 ControlWorks_SaveWork_RoomCity_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C44EC) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), gUnknown_Debug_83C44EC); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_83C44EC), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_RoomCity) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_RoomCity), sMenuActions_SaveWork_RoomCity); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_RoomCity), 0, 28); sFlagAndVarTest_WhichSubmenu = 7; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DE60(void) +static bool8 ControlWorks_SaveWork_Dungeon_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C4534) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), gUnknown_Debug_083C4534); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4534), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_SaveWork_Dungeon) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_SaveWork_Dungeon), sMenuActions_SaveWork_Dungeon); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_SaveWork_Dungeon), 0, 28); sFlagAndVarTest_WhichSubmenu = 8; - gMenuCallback = debug_sub_808DEB8; + gMenuCallback = ControlWorks_SaveWork_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808DEB8(void) +static bool8 ControlWorks_SaveWork_Subsubmenu_HandleInput(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - + debug_sub_808DF64(sFlagAndVarTest_WhichSubmenu, cursorPos); debug_sub_808DF04(sFlagAndVarTest_WhichSubmenu); if (input == -2) @@ -3423,7 +3422,7 @@ static bool8 debug_sub_808DEB8(void) static void debug_sub_808DF04(u8 whichMenu) { u8 i; - + for (i = 0; i < gUnknown_Debug_083C457C[whichMenu]; i++) { PrintUnsignedShort(24, 2 * i + 1, VarGet(gUnknown_Debug_083C4586[whichMenu][i])); @@ -3443,7 +3442,7 @@ static void debug_sub_808DF64(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C4586[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C4586[whichMenu][cursorPos]) + delta); } -static bool8 debug_sub_808DFC0(void) +static bool8 ControlWorks_SaveWorkPart2_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C377C) + 1); @@ -3555,9 +3554,9 @@ static void debug_sub_808E2B0(u8 whichMenu) { u8 i; - for (i = 0; i < gUnknown_Debug_083C3C48[whichMenu]; i++) + for (i = 0; i < sControlWorks_SaveWork_CountsArray[whichMenu]; i++) { - PrintUnsignedShort(24, 2 * i + 1, VarGet(gUnknown_Debug_83C3C4E[whichMenu][i])); + PrintUnsignedShort(24, 2 * i + 1, VarGet(sControlWorks_SaveWork_ItemArrays[whichMenu][i])); } } @@ -3571,10 +3570,10 @@ static void debug_sub_808E310(u8 whichMenu, u8 cursorPos) delta = -1; else return; - VarSet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos], VarGet(gUnknown_Debug_83C3C4E[whichMenu][cursorPos]) + delta); + VarSet(sControlWorks_SaveWork_ItemArrays[whichMenu][cursorPos], VarGet(sControlWorks_SaveWork_ItemArrays[whichMenu][cursorPos]) + delta); } -static bool8 debug_sub_808E36C(void) +static bool8 ControlWorks_SysWork_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C32AC) + 1); @@ -3694,7 +3693,7 @@ static void debug_sub_808E660(u8 whichMenu) } } -static bool8 debug_sub_808E6C0(void) +static bool8 ControlWorks_LocalWork_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C4644) + 1); @@ -3781,7 +3780,7 @@ static void debug_sub_808E8AC(u8 whichMenu) } } -static bool8 debug_sub_808E90C(void) +static bool8 ControlWorks_ObjWork_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C35C4) + 1); @@ -3868,7 +3867,7 @@ static void debug_sub_808EAFC(u8 whichMenu, u8 cursorPos) VarSet(gUnknown_Debug_083C371E[whichMenu][cursorPos], VarGet(gUnknown_Debug_083C371E[whichMenu][cursorPos]) + delta); } -static bool8 debug_sub_808EB58(void) +static bool8 TrickRelated_Level_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 12, 2 * ARRAY_COUNT(gUnknown_Debug_083C47F0) + 3); @@ -3879,7 +3878,7 @@ static bool8 debug_sub_808EB58(void) return FALSE; } -static bool8 debug_sub_808EBB4(void) +static bool8 TrickRelated_TrickMaster_InitSubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 13, 2 * ARRAY_COUNT(gUnknown_Debug_083C4888) + 3); @@ -3926,7 +3925,7 @@ static bool8 debug_sub_808EC5C(void) return TRUE; } -static bool8 debug_sub_808ECA4(void) +static bool8 PreviewGraphics_Show(void) { BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); gMenuCallback = debug_sub_808ECD0; @@ -3946,7 +3945,7 @@ static bool8 debug_sub_808ECD0(void) return FALSE; } -static bool8 Config(void) +static bool8 DummyMenuAction(void) { return FALSE; } @@ -3979,35 +3978,35 @@ static void PicTest_SelectPokemon(void) } } -static void PicTest_SelectIDrndDigit(void) +static void PicTest_SelectPersonality(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (sPicTest_IDrndDigit != 0) - sPicTest_IDrndDigit--; + if (sPicTest_Personality != 0) + sPicTest_Personality--; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (sPicTest_IDrndDigit != UINT32_MAX) - sPicTest_IDrndDigit++; + if (sPicTest_Personality != UINT32_MAX) + sPicTest_Personality++; } if (gMain.newAndRepeatedKeys & L_BUTTON) { - if (sPicTest_IDrndDigit >= 0x10) - sPicTest_IDrndDigit -= 0x10; + if (sPicTest_Personality >= 0x10) + sPicTest_Personality -= 0x10; else - sPicTest_IDrndDigit = 0; + sPicTest_Personality = 0; } if (gMain.newAndRepeatedKeys & R_BUTTON) { - if (sPicTest_IDrndDigit <= UINT32_MAX - 0x10) - sPicTest_IDrndDigit += 0x10; + if (sPicTest_Personality <= UINT32_MAX - 0x10) + sPicTest_Personality += 0x10; else - sPicTest_IDrndDigit = UINT32_MAX; + sPicTest_Personality = UINT32_MAX; } if ((gMain.newKeys & (L_BUTTON | R_BUTTON)) == (L_BUTTON | R_BUTTON)) { - sPicTest_IDrndDigit = UINT32_MAX; + sPicTest_Personality = UINT32_MAX; } } @@ -4015,18 +4014,18 @@ static void ContestPicTest_SelectContestType(void) { if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (sPicTest_ContestType != 1) + if (sPicTest_ContestType != CONTEST_COOL + 1) sPicTest_ContestType--; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (sPicTest_ContestType != 5) + if (sPicTest_ContestType != CONTEST_TOUGH + 1) sPicTest_ContestType++; } if (gMain.newAndRepeatedKeys & L_BUTTON) - sPicTest_ContestType = 1; + sPicTest_ContestType = CONTEST_COOL + 1; if (gMain.newAndRepeatedKeys & R_BUTTON) - sPicTest_ContestType = 5; + sPicTest_ContestType = CONTEST_TOUGH + 1; } static void MuseumArtPicTest_SelectTitleType(void) @@ -4099,7 +4098,7 @@ static void PicTest_Redraw(u8 a0) case 2: for (i = 0; i < 8; i++) { - digit = (sPicTest_IDrndDigit >> (4 * (7 - i))) & 0xf; + digit = (sPicTest_Personality >> (4 * (7 - i))) & 0xf; if (digit < 10) sPicTest_StringBuffer[i] = digit + CHAR_0; else @@ -4174,7 +4173,7 @@ __attribute__((naked)) void PicTest_Redraw(u8 a0) "\tcmp\tr6, #0\n" "\tblt\t._653\t@cond_branch\n" "\tmov\tr3, #0x0\n" - "\tldr\tr0, ._656 @ sPicTest_IDrndDigit\n" + "\tldr\tr0, ._656 @ sPicTest_Personality\n" "\tmov\tr8, r0\n" "\tldr\tr4, ._656 + 4 @ sPicTest_StringBuffer\n" "\tmov\tr7, #0x7\n" @@ -4195,7 +4194,7 @@ __attribute__((naked)) void PicTest_Redraw(u8 a0) "._657:\n" "\t.align\t2, 0\n" "._656:\n" - "\t.word\tsPicTest_IDrndDigit\n" + "\t.word\tsPicTest_Personality\n" "\t.word\tsPicTest_StringBuffer\n" "._654:\n" "\tadd\tr1, r3, r4\n" @@ -4411,9 +4410,9 @@ __attribute__((naked)) void PicTest_Redraw(u8 a0) static void PrepareDebugOverlayBeforeShowingContestPainting(u8 a0) { struct ContestEntry *contestEntry = &ewram15DE0; - contestEntry->var8 = sPicTest_Species; - contestEntry->var4 = sPicTest_ContestEntryVar4; - contestEntry->var0 = sPicTest_IDrndDigit; + contestEntry->species = sPicTest_Species; + contestEntry->otId = sPicTest_OTID; + contestEntry->personality = sPicTest_Personality; switch (a0) { case 0: diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c index eb7f92a6b..7d8f53299 100644 --- a/src/scene/contest_painting.c +++ b/src/scene/contest_painting.c @@ -333,8 +333,7 @@ static void sub_8106AC4(u16 species, u8 arg1) { void *pal; - // Unsure what gUnknown_03005E8C->var0 is supposed to be. - pal = GetMonSpritePalFromOtIdPersonality(species, gUnknown_03005E8C->var4, gUnknown_03005E8C->var0); + pal = GetMonSpritePalFromOtIdPersonality(species, gUnknown_03005E8C->otId, gUnknown_03005E8C->personality); LZDecompressVram(pal, gUnknown_03005E90); if (arg1 == 1) @@ -346,7 +345,7 @@ static void sub_8106AC4(u16 species, u8 arg1) 0x2000000, gUnknown_081FAF4C[1], species, - (u32)gUnknown_03005E8C->var0 + (u32)gUnknown_03005E8C->personality ); sub_8106B90(gUnknown_081FAF4C[1], gUnknown_03005E90, gUnknown_03005E10); } @@ -359,7 +358,7 @@ static void sub_8106AC4(u16 species, u8 arg1) 0x2000000, gUnknown_081FAF4C[0], species, - (u32)gUnknown_03005E8C->var0 + (u32)gUnknown_03005E8C->personality ); sub_8106B90(gUnknown_081FAF4C[0], gUnknown_03005E90, gUnknown_03005E10); } @@ -743,7 +742,7 @@ static void sub_8106F6C(u8 arg0) gUnknown_03005E20.var_4 = gUnknown_03005E10; gUnknown_03005E20.var_8 = gUnknown_03005E90; gUnknown_03005E20.var_18 = 0; - gUnknown_03005E20.var_1F = gUnknown_03005E8C->var0 % 256; + gUnknown_03005E20.var_1F = gUnknown_03005E8C->personality % 256; gUnknown_03005E20.var_19 = 0; gUnknown_03005E20.var_1A = 0; gUnknown_03005E20.var_1B = 64; @@ -779,7 +778,7 @@ static void sub_8106F6C(u8 arg0) static void sub_8107090(u8 arg0, u8 arg1) { sub_8106F4C(); - sub_8106AC4(gUnknown_03005E8C->var8, 0); + sub_8106AC4(gUnknown_03005E8C->species, 0); sub_8106F6C(sub_8106EE0(arg0)); sub_8106E98(arg0); sub_8106C40(arg0, arg1); -- cgit v1.2.3 From b98c803e6d25785b3b268c2c26a87ac74a7e3a95 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 16 Mar 2018 08:34:45 -0400 Subject: Renaming stuff, 2 --- src/debug/tomomichi_debug_menu.c | 508 +++++++++++++++++++-------------------- 1 file changed, 254 insertions(+), 254 deletions(-) (limited to 'src') diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 90d10556f..3d4637746 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -121,12 +121,12 @@ static bool8 debug_sub_808D2BC(void); static void debug_sub_808D308(u8, u8); static void debug_sub_808D358(u8); static bool8 ControlFlags_FH_OBJ_InitSubmenu(void); -static bool8 debug_sub_808D40C(void); -static bool8 debug_sub_808D450(void); -static bool8 debug_sub_808D4A8(void); -static bool8 debug_sub_808D500(void); -static void debug_sub_808D54C(u8, u8); -static void debug_sub_808D59C(u8); +static bool8 ControlFlags_FH_OBJ_HandleInput(void); +static bool8 ControlFlags_FH_OBJ00_08_InitSubsubmenu(void); +static bool8 ControlFlags_FH_OBJ09_15_InitSubsubmenu(void); +static bool8 ControlFlags_FH_OBJ_Subsubmenu_HandleInput(void); +static void ControlFlags_FH_OBJ_FlagToggle(u8, u8); +static void ControlFlags_FH_OBJ_UpdateDisplay(u8); static bool8 ControlFlags_FH_InitSubmenu(void); static bool8 debug_sub_808D650(void); static bool8 debug_sub_808D694(void); @@ -159,11 +159,11 @@ static bool8 ControlWorks_SaveWork_Subsubmenu_HandleInput(void); static void debug_sub_808DF04(u8); static void debug_sub_808DF64(u8, u8); static bool8 ControlWorks_SaveWorkPart2_InitSubmenu(void); -static bool8 debug_sub_808E010(void); -static bool8 debug_sub_808E054(void); -static bool8 debug_sub_808E0AC(void); -static bool8 debug_sub_808E104(void); -static bool8 debug_sub_808E15C(void); +static bool8 ControlWorks_SaveWorkPart2_HandleInput(void); +static bool8 ControlWorks_SaveWorkPart2_SP_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWorkPart2_RoomR110Part1TrickHouse_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWorkPart2_RoomR110Part2_InitSubsubmenu(void); +static bool8 ControlWorks_SaveWorkPart2_RoomLoad_InitSubsubmenu(void); static bool8 debug_sub_808E1B4(void); static bool8 debug_sub_808E20C(void); static bool8 debug_sub_808E264(void); @@ -381,61 +381,61 @@ static const struct MenuAction sMenuActions_ControlEvents_AnsWork[] = { {sString_Answork_Mikansei, DummyMenuAction} }; -static const u8 gUnknown_Debug_083C1044[] = _("FHーOBJ00ー08"); -static const u8 gUnknown_Debug_083C1050[] = _("FHーOBJ09ー15"); +static const u8 sString_FH_OBJ00_08[] = _("FHーOBJ00ー08"); +static const u8 sString_FH_OBJ09_15[] = _("FHーOBJ09ー15"); -static const struct MenuAction gUnknown_Debug_083C105C[] = { - {gUnknown_Debug_083C1044, debug_sub_808D450}, - {gUnknown_Debug_083C1050, debug_sub_808D4A8} +static const struct MenuAction sMenuActions_ControlFlags_FH_OBJ[] = { + {sString_FH_OBJ00_08, ControlFlags_FH_OBJ00_08_InitSubsubmenu}, + {sString_FH_OBJ09_15, ControlFlags_FH_OBJ09_15_InitSubsubmenu} }; -static const u8 gUnknown_Debug_083C106C[] = _("FHーOBJ00"); -static const u8 gUnknown_Debug_083C1075[] = _("FHーOBJ01"); -static const u8 gUnknown_Debug_083C107E[] = _("FHーOBJ02"); -static const u8 gUnknown_Debug_083C1087[] = _("FHーOBJ03"); -static const u8 gUnknown_Debug_083C1090[] = _("FHーOBJ04"); -static const u8 gUnknown_Debug_083C1099[] = _("FHーOBJ05"); -static const u8 gUnknown_Debug_083C10A2[] = _("FHーOBJ06"); -static const u8 gUnknown_Debug_083C10AB[] = _("FHーOBJ07"); -static const u8 gUnknown_Debug_083C10B4[] = _("FHーOBJ08"); - -static const struct MenuAction gUnknown_Debug_083C10BD[] = { - {gUnknown_Debug_083C106C, DummyMenuAction}, - {gUnknown_Debug_083C1075, DummyMenuAction}, - {gUnknown_Debug_083C107E, DummyMenuAction}, - {gUnknown_Debug_083C1087, DummyMenuAction}, - {gUnknown_Debug_083C1090, DummyMenuAction}, - {gUnknown_Debug_083C1099, DummyMenuAction}, - {gUnknown_Debug_083C10A2, DummyMenuAction}, - {gUnknown_Debug_083C10AB, DummyMenuAction}, - {gUnknown_Debug_083C10B4, DummyMenuAction} +static const u8 sString_FH_OBJ00[] = _("FHーOBJ00"); +static const u8 sString_FH_OBJ01[] = _("FHーOBJ01"); +static const u8 sString_FH_OBJ02[] = _("FHーOBJ02"); +static const u8 sString_FH_OBJ03[] = _("FHーOBJ03"); +static const u8 sString_FH_OBJ04[] = _("FHーOBJ04"); +static const u8 sString_FH_OBJ05[] = _("FHーOBJ05"); +static const u8 sString_FH_OBJ06[] = _("FHーOBJ06"); +static const u8 sString_FH_OBJ07[] = _("FHーOBJ07"); +static const u8 sString_FH_OBJ08[] = _("FHーOBJ08"); + +static const struct MenuAction sMenuActions_ControlFlags_FH_OBJ00_08[] = { + {sString_FH_OBJ00, DummyMenuAction}, + {sString_FH_OBJ01, DummyMenuAction}, + {sString_FH_OBJ02, DummyMenuAction}, + {sString_FH_OBJ03, DummyMenuAction}, + {sString_FH_OBJ04, DummyMenuAction}, + {sString_FH_OBJ05, DummyMenuAction}, + {sString_FH_OBJ06, DummyMenuAction}, + {sString_FH_OBJ07, DummyMenuAction}, + {sString_FH_OBJ08, DummyMenuAction} }; -static const u8 gUnknown_Debug_083C1108[] = _("FH-OBJ09"); -static const u8 gUnknown_Debug_083C1111[] = _("FH-OBJ10"); -static const u8 gUnknown_Debug_083C111A[] = _("FH-OBJ11"); -static const u8 gUnknown_Debug_083C1123[] = _("FH-OBJ12"); -static const u8 gUnknown_Debug_083C112C[] = _("FH-OBJ13"); -static const u8 gUnknown_Debug_083C1135[] = _("FH-OBJ14"); -static const u8 gUnknown_Debug_083C113E[] = _("FH-OBJ15"); -static const u8 gUnknown_Debug_083C1147[] = _(""); -static const u8 gUnknown_Debug_083C1148[] = _(""); - -static const struct MenuAction gUnknown_Debug_083C1149[] = { - {gUnknown_Debug_083C1108, DummyMenuAction}, - {gUnknown_Debug_083C1111, DummyMenuAction}, - {gUnknown_Debug_083C111A, DummyMenuAction}, - {gUnknown_Debug_083C1123, DummyMenuAction}, - {gUnknown_Debug_083C112C, DummyMenuAction}, - {gUnknown_Debug_083C1135, DummyMenuAction}, - {gUnknown_Debug_083C113E, DummyMenuAction}, - {gUnknown_Debug_083C1147, DummyMenuAction}, - {gUnknown_Debug_083C1148, DummyMenuAction} +static const u8 sString_FH_OBJ09[] = _("FH-OBJ09"); +static const u8 sString_FH_OBJ10[] = _("FH-OBJ10"); +static const u8 sString_FH_OBJ11[] = _("FH-OBJ11"); +static const u8 sString_FH_OBJ12[] = _("FH-OBJ12"); +static const u8 sString_FH_OBJ13[] = _("FH-OBJ13"); +static const u8 sString_FH_OBJ14[] = _("FH-OBJ14"); +static const u8 sString_FH_OBJ15[] = _("FH-OBJ15"); +static const u8 sString_Blank_083C1147[] = _(""); +static const u8 sString_Blank_083C1148[] = _(""); + +static const struct MenuAction sMenuActions_ControlFlags_FH_OBJ09_15[] = { + {sString_FH_OBJ09, DummyMenuAction}, + {sString_FH_OBJ10, DummyMenuAction}, + {sString_FH_OBJ11, DummyMenuAction}, + {sString_FH_OBJ12, DummyMenuAction}, + {sString_FH_OBJ13, DummyMenuAction}, + {sString_FH_OBJ14, DummyMenuAction}, + {sString_FH_OBJ15, DummyMenuAction}, + {sString_Blank_083C1147, DummyMenuAction}, + {sString_Blank_083C1148, DummyMenuAction} }; -static const u8 gUnknown_Debug_083C1194[] = {9, 7}; +static const u8 sControlFlags_FH_OBJ_CountsArray[] = {9, 7}; -static const u16 gUnknown_Debug_083C1196[][9] = { +static const u16 sControlFlags_FH_OBJ_FlagsArrays[][9] = { {0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19}, {0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20} }; @@ -1410,11 +1410,11 @@ static const u8 gUnknown_Debug_083C3768[] = _("ルーム ロード"); static const u8 gUnknown_Debug_083C3770[] = _("ソノタ1"); static const u8 gUnknown_Debug_083C3775[] = _("ソノタ2"); -static const struct MenuAction gUnknown_Debug_083C377C[] = { - {gUnknown_Debug_083C3742, debug_sub_808E054}, - {gUnknown_Debug_083C3745, debug_sub_808E0AC}, - {gUnknown_Debug_083C3759, debug_sub_808E104}, - {gUnknown_Debug_083C3768, debug_sub_808E15C}, +static const struct MenuAction sMenuActions_ControlWorks_SaveWorkPart2[] = { + {gUnknown_Debug_083C3742, ControlWorks_SaveWorkPart2_SP_InitSubsubmenu}, + {gUnknown_Debug_083C3745, ControlWorks_SaveWorkPart2_RoomR110Part1TrickHouse_InitSubsubmenu}, + {gUnknown_Debug_083C3759, ControlWorks_SaveWorkPart2_RoomR110Part2_InitSubsubmenu}, + {gUnknown_Debug_083C3768, ControlWorks_SaveWorkPart2_RoomLoad_InitSubsubmenu}, {gUnknown_Debug_083C3770, debug_sub_808E1B4}, {gUnknown_Debug_083C3775, debug_sub_808E20C} }; @@ -1583,189 +1583,189 @@ static const struct MenuAction sMenuAction_ControlWorks_SaveWork[] = { {sString_Dungeon_nai, ControlWorks_SaveWork_Dungeon_InitSubsubmenu} }; -static const u8 gUnknown_Debug_083C3D50[] = _("WKーSCENEーFIELDーT101"); -static const u8 gUnknown_Debug_083C3D64[] = _("WKーSCENEーFIELDーT102"); -static const u8 gUnknown_Debug_083C3D78[] = _("WKーSCENEーFIELDーT103"); -static const u8 gUnknown_Debug_083C3D8C[] = _("WKーSCENEーFIELDーT104"); -static const u8 gUnknown_Debug_083C3DA0[] = _("WKーBASEーPOSNO"); -static const u8 gUnknown_Debug_083C3DAE[] = _("WKーSCENEーFIELDーT106"); -static const u8 gUnknown_Debug_083C3DC2[] = _("WKーSCENEーFIELDーT107"); -static const u8 gUnknown_Debug_083C3DD6[] = _("WKーSCENEー02ーFIELDーT102"); - -static const u8 gUnknown_Debug_083C3DED[] = _("WKーSCENEーFIELDーC101"); -static const u8 gUnknown_Debug_083C3E01[] = _("WKーSCENEーFIELDーC102"); -static const u8 gUnknown_Debug_083C3E15[] = _("WKーSCENEーFIELDーC103"); -static const u8 gUnknown_Debug_083C3E29[] = _("WKーSCENEーFIELDーC104"); -static const u8 gUnknown_Debug_083C3E3D[] = _("WKーSCENEーFIELDーC105"); -static const u8 gUnknown_Debug_083C3E51[] = _("WKーSCENEーFIELDーC106"); -static const u8 gUnknown_Debug_083C3E65[] = _("WKーSCENEーFIELDーC107"); -static const u8 gUnknown_Debug_083C3E79[] = _("WKーSCENEーFIELDーC108"); -static const u8 gUnknown_Debug_083C3E8D[] = _("WKーSCENEーFIELDーC109"); - -static const u8 gUnknown_Debug_083C3EA1[] = _("WKーSCENEーFIELDーR101"); -static const u8 gUnknown_Debug_083C3EB5[] = _("WKーSCENEーFIELDーR102"); -static const u8 gUnknown_Debug_083C3EC9[] = _("WKーSCENEーFIELDーR103"); -static const u8 gUnknown_Debug_083C3EDD[] = _("WKーSCENEーFIELDーR104"); -static const u8 gUnknown_Debug_083C3EF1[] = _("WKーSCENEーFIELDーR105"); -static const u8 gUnknown_Debug_083C3F05[] = _("WKーSCENEーFIELDーR106"); -static const u8 gUnknown_Debug_083C3F19[] = _("WKーSCENEーFIELDーR107"); -static const u8 gUnknown_Debug_083C3F2D[] = _("WKーSCENEーFIELDーR108"); -static const u8 gUnknown_Debug_083C3F41[] = _("WKーSCENEーFIELDーR109"); - -static const u8 gUnknown_Debug_083C3F55[] = _("WKーSCENEーFIELDーR110"); -static const u8 gUnknown_Debug_083C3F69[] = _("WKーSCENEーFIELDーR111"); -static const u8 gUnknown_Debug_083C3F7D[] = _("WKーSCENEーFIELDーR112"); -static const u8 gUnknown_Debug_083C3F91[] = _("WKーSCENEーFIELDーR113"); -static const u8 gUnknown_Debug_083C3FA5[] = _("WKーSCENEーFIELDーR114"); -static const u8 gUnknown_Debug_083C3FB9[] = _("WKーSCENEーFIELDーR115"); -static const u8 gUnknown_Debug_083C3FCD[] = _("WKーSCENEーFIELDーR116"); -static const u8 gUnknown_Debug_083C3FE1[] = _("WKーSCENEーFIELDーR117"); -static const u8 gUnknown_Debug_083C3FF5[] = _("WKーSCENEーFIELDーR118"); - -static const u8 gUnknown_Debug_083C4009[] = _("WKーSCENEーFIELDーR119"); -static const u8 gUnknown_Debug_083C401D[] = _("WKーSCENEーFIELDーR120"); -static const u8 gUnknown_Debug_083C4031[] = _("WKーSCENEーFIELDーR121"); -static const u8 gUnknown_Debug_083C4045[] = _("WKーSCENEーFIELDーR122"); -static const u8 gUnknown_Debug_083C4059[] = _("WKーSCENEーFIELDーR123"); -static const u8 gUnknown_Debug_083C406D[] = _("WKーSCENEーFIELDーR124"); -static const u8 gUnknown_Debug_083C4081[] = _("WKーSCENEーFIELDーR125"); -static const u8 gUnknown_Debug_083C4095[] = _("WKーSCENEーFIELDーR126"); -static const u8 gUnknown_Debug_083C40A9[] = _("WKーSCENEーFIELDーR127"); - -static const u8 gUnknown_Debug_083C40BD[] = _("WKーSCENEーFIELDーR128"); -static const u8 gUnknown_Debug_083C40D1[] = _("WKーSCENEーFIELDーR129"); -static const u8 gUnknown_Debug_083C40E5[] = _("WKーSCENEーFIELDーR130"); -static const u8 gUnknown_Debug_083C40F9[] = _("WKーSCENEーFIELDーR131"); -static const u8 gUnknown_Debug_083C410D[] = _("WKーSCENEーFIELDーR132"); -static const u8 gUnknown_Debug_083C4121[] = _("WKーSCENEーFIELDーR133"); -static const u8 gUnknown_Debug_083C4135[] = _("WKーSCENEーFIELDーR134"); - -static const u8 gUnknown_Debug_083C4149[] = _("WKーSCENEーT101ーR0101"); -static const u8 gUnknown_Debug_083C415D[] = _("WKーSCENEーT101ーR0102"); -static const u8 gUnknown_Debug_083C4171[] = _("WKーSCENEーT101ーR0301"); -static const u8 gUnknown_Debug_083C4185[] = _("WKーSCENEーT101ーR0201"); -static const u8 gUnknown_Debug_083C4199[] = _("WKーSCENEーT101ーR0202"); -static const u8 gUnknown_Debug_083C41AD[] = _("WKーSCENEーT107ーR0201"); - -static const u8 gUnknown_Debug_083C41C1[] = _("WKーSCENEーC101ーR0201"); -static const u8 gUnknown_Debug_083C41D5[] = _("WKーSCENEーC104ーR0103"); -static const u8 gUnknown_Debug_083C41E9[] = _("WKーSCENEーC103ーR0101"); -static const u8 gUnknown_Debug_083C41FD[] = _("WKーSCENEーC106ーR0202"); -static const u8 gUnknown_Debug_083C4211[] = _("WKーSCENEーC106ーR0401"); -static const u8 gUnknown_Debug_083C4225[] = _("WKーSCENEーC102ーR0601"); -static const u8 gUnknown_Debug_083C4239[] = _("WKーSCENEーC102ーR0501"); -static const u8 gUnknown_Debug_083C424D[] = _("WKーSCENEーC104ーR0102"); -static const u8 gUnknown_Debug_083C4261[] = _("WKーSCENEーC107ーR0501"); - -static const u8 gUnknown_Debug_083C4275[] = _("WKーSCENEーCAVEーD0601"); -static const u8 gUnknown_Debug_083C4289[] = _("WKーSCENEーCAVEーD0201"); -static const u8 gUnknown_Debug_083C429D[] = _("WKーSCENEーCAVEーD1206"); -static const u8 gUnknown_Debug_083C42B1[] = _("WKーSCENEーCAVEーD1111"); -static const u8 gUnknown_Debug_083C42C5[] = _("WKーSCENEーCAVEーD0701"); -static const u8 gUnknown_Debug_083C42D9[] = _("WKーSCENEーCAVEーD0808"); -static const u8 gUnknown_Debug_083C42ED[] = _("WKーSCENEーCAVEーD1602"); -static const u8 gUnknown_Debug_083C4301[] = _("WKーSCENEーCAVEーD0101"); -static const u8 gUnknown_Debug_083C4315[] = _("WKーSCENEーCAVEーD1301"); +static const u8 sString_WK_SCENE_FIELD_T101[] = _("WKーSCENEーFIELDーT101"); +static const u8 sString_WK_SCENE_FIELD_T102[] = _("WKーSCENEーFIELDーT102"); +static const u8 sString_WK_SCENE_FIELD_T103[] = _("WKーSCENEーFIELDーT103"); +static const u8 sString_WK_SCENE_FIELD_T104[] = _("WKーSCENEーFIELDーT104"); +static const u8 sString_WK_BASE_POSNO[] = _("WKーBASEーPOSNO"); +static const u8 sString_WK_SCENE_FIELD_T106[] = _("WKーSCENEーFIELDーT106"); +static const u8 sString_WK_SCENE_FIELD_T107[] = _("WKーSCENEーFIELDーT107"); +static const u8 sString_WK_SCENE_2_FIELD_T102[] = _("WKーSCENEー02ーFIELDーT102"); + +static const u8 sString_WK_SCENE_FIELD_C101[] = _("WKーSCENEーFIELDーC101"); +static const u8 sString_WK_SCENE_FIELD_C102[] = _("WKーSCENEーFIELDーC102"); +static const u8 sString_WK_SCENE_FIELD_C103[] = _("WKーSCENEーFIELDーC103"); +static const u8 sString_WK_SCENE_FIELD_C104[] = _("WKーSCENEーFIELDーC104"); +static const u8 sString_WK_SCENE_FIELD_C105[] = _("WKーSCENEーFIELDーC105"); +static const u8 sString_WK_SCENE_FIELD_C106[] = _("WKーSCENEーFIELDーC106"); +static const u8 sString_WK_SCENE_FIELD_C107[] = _("WKーSCENEーFIELDーC107"); +static const u8 sString_WK_SCENE_FIELD_C108[] = _("WKーSCENEーFIELDーC108"); +static const u8 sString_WK_SCENE_FIELD_C109[] = _("WKーSCENEーFIELDーC109"); + +static const u8 sString_WK_SCENE_FIELD_R101[] = _("WKーSCENEーFIELDーR101"); +static const u8 sString_WK_SCENE_FIELD_R102[] = _("WKーSCENEーFIELDーR102"); +static const u8 sString_WK_SCENE_FIELD_R103[] = _("WKーSCENEーFIELDーR103"); +static const u8 sString_WK_SCENE_FIELD_R104[] = _("WKーSCENEーFIELDーR104"); +static const u8 sString_WK_SCENE_FIELD_R105[] = _("WKーSCENEーFIELDーR105"); +static const u8 sString_WK_SCENE_FIELD_R106[] = _("WKーSCENEーFIELDーR106"); +static const u8 sString_WK_SCENE_FIELD_R107[] = _("WKーSCENEーFIELDーR107"); +static const u8 sString_WK_SCENE_FIELD_R108[] = _("WKーSCENEーFIELDーR108"); +static const u8 sString_WK_SCENE_FIELD_R109[] = _("WKーSCENEーFIELDーR109"); + +static const u8 sString_WK_SCENE_FIELD_R110[] = _("WKーSCENEーFIELDーR110"); +static const u8 sString_WK_SCENE_FIELD_R111[] = _("WKーSCENEーFIELDーR111"); +static const u8 sString_WK_SCENE_FIELD_R112[] = _("WKーSCENEーFIELDーR112"); +static const u8 sString_WK_SCENE_FIELD_R113[] = _("WKーSCENEーFIELDーR113"); +static const u8 sString_WK_SCENE_FIELD_R114[] = _("WKーSCENEーFIELDーR114"); +static const u8 sString_WK_SCENE_FIELD_R115[] = _("WKーSCENEーFIELDーR115"); +static const u8 sString_WK_SCENE_FIELD_R116[] = _("WKーSCENEーFIELDーR116"); +static const u8 sString_WK_SCENE_FIELD_R117[] = _("WKーSCENEーFIELDーR117"); +static const u8 sString_WK_SCENE_FIELD_R118[] = _("WKーSCENEーFIELDーR118"); + +static const u8 sString_WK_SCENE_FIELD_R119[] = _("WKーSCENEーFIELDーR119"); +static const u8 sString_WK_SCENE_FIELD_R120[] = _("WKーSCENEーFIELDーR120"); +static const u8 sString_WK_SCENE_FIELD_R121[] = _("WKーSCENEーFIELDーR121"); +static const u8 sString_WK_SCENE_FIELD_R122[] = _("WKーSCENEーFIELDーR122"); +static const u8 sString_WK_SCENE_FIELD_R123[] = _("WKーSCENEーFIELDーR123"); +static const u8 sString_WK_SCENE_FIELD_R124[] = _("WKーSCENEーFIELDーR124"); +static const u8 sString_WK_SCENE_FIELD_R125[] = _("WKーSCENEーFIELDーR125"); +static const u8 sString_WK_SCENE_FIELD_R126[] = _("WKーSCENEーFIELDーR126"); +static const u8 sString_WK_SCENE_FIELD_R127[] = _("WKーSCENEーFIELDーR127"); + +static const u8 sString_WK_SCENE_FIELD_R128[] = _("WKーSCENEーFIELDーR128"); +static const u8 sString_WK_SCENE_FIELD_R129[] = _("WKーSCENEーFIELDーR129"); +static const u8 sString_WK_SCENE_FIELD_R130[] = _("WKーSCENEーFIELDーR130"); +static const u8 sString_WK_SCENE_FIELD_R131[] = _("WKーSCENEーFIELDーR131"); +static const u8 sString_WK_SCENE_FIELD_R132[] = _("WKーSCENEーFIELDーR132"); +static const u8 sString_WK_SCENE_FIELD_R133[] = _("WKーSCENEーFIELDーR133"); +static const u8 sString_WK_SCENE_FIELD_R134[] = _("WKーSCENEーFIELDーR134"); + +static const u8 sString_WK_SCENE_T101_R0101[] = _("WKーSCENEーT101ーR0101"); +static const u8 sString_WK_SCENE_T101_R0102[] = _("WKーSCENEーT101ーR0102"); +static const u8 sString_WK_SCENE_T101_R0301[] = _("WKーSCENEーT101ーR0301"); +static const u8 sString_WK_SCENE_T101_R0201[] = _("WKーSCENEーT101ーR0201"); +static const u8 sString_WK_SCENE_T101_R0202[] = _("WKーSCENEーT101ーR0202"); +static const u8 sString_WK_SCENE_T107_R0201[] = _("WKーSCENEーT107ーR0201"); // unused string + +static const u8 sString_WK_SCENE_C101_R0201[] = _("WKーSCENEーC101ーR0201"); +static const u8 sString_WK_SCENE_C104_R0103[] = _("WKーSCENEーC104ーR0103"); +static const u8 sString_WK_SCENE_C103_R0101[] = _("WKーSCENEーC103ーR0101"); +static const u8 sString_WK_SCENE_C106_R0202[] = _("WKーSCENEーC106ーR0202"); +static const u8 sString_WK_SCENE_C106_R0401[] = _("WKーSCENEーC106ーR0401"); +static const u8 sString_WK_SCENE_C101_R0601[] = _("WKーSCENEーC102ーR0601"); +static const u8 sString_WK_SCENE_C102_R0501[] = _("WKーSCENEーC102ーR0501"); +static const u8 sString_WK_SCENE_C104_R0102[] = _("WKーSCENEーC104ーR0102"); +static const u8 sString_WK_SCENE_C107_R0501[] = _("WKーSCENEーC107ーR0501"); + +static const u8 sString_WK_SCENE_CAVE_D0601[] = _("WKーSCENEーCAVEーD0601"); +static const u8 sString_WK_SCENE_CAVE_D0201[] = _("WKーSCENEーCAVEーD0201"); +static const u8 sString_WK_SCENE_CAVE_D1206[] = _("WKーSCENEーCAVEーD1206"); +static const u8 sString_WK_SCENE_CAVE_D1111[] = _("WKーSCENEーCAVEーD1111"); +static const u8 sString_WK_SCENE_CAVE_D0701[] = _("WKーSCENEーCAVEーD0701"); +static const u8 sString_WK_SCENE_CAVE_D0808[] = _("WKーSCENEーCAVEーD0808"); +static const u8 sString_WK_SCENE_CAVE_D1602[] = _("WKーSCENEーCAVEーD1602"); +static const u8 sString_WK_SCENE_CAVE_D0101[] = _("WKーSCENEーCAVEーD0101"); +static const u8 sString_WK_SCENE_CAVE_D1301[] = _("WKーSCENEーCAVEーD1301"); static const struct MenuAction sMenuActions_SaveWork_Town[] = { - {gUnknown_Debug_083C3D50, DummyMenuAction}, - {gUnknown_Debug_083C3D64, DummyMenuAction}, - {gUnknown_Debug_083C3D78, DummyMenuAction}, - {gUnknown_Debug_083C3D8C, DummyMenuAction}, - {gUnknown_Debug_083C3DA0, DummyMenuAction}, - {gUnknown_Debug_083C3DAE, DummyMenuAction}, - {gUnknown_Debug_083C3DC2, DummyMenuAction}, - {gUnknown_Debug_083C3DD6, DummyMenuAction} + {sString_WK_SCENE_FIELD_T101, DummyMenuAction}, + {sString_WK_SCENE_FIELD_T102, DummyMenuAction}, + {sString_WK_SCENE_FIELD_T103, DummyMenuAction}, + {sString_WK_SCENE_FIELD_T104, DummyMenuAction}, + {sString_WK_BASE_POSNO, DummyMenuAction}, + {sString_WK_SCENE_FIELD_T106, DummyMenuAction}, + {sString_WK_SCENE_FIELD_T107, DummyMenuAction}, + {sString_WK_SCENE_2_FIELD_T102, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_City[] = { - {gUnknown_Debug_083C3DED, DummyMenuAction}, - {gUnknown_Debug_083C3E01, DummyMenuAction}, - {gUnknown_Debug_083C3E15, DummyMenuAction}, - {gUnknown_Debug_083C3E29, DummyMenuAction}, - {gUnknown_Debug_083C3E3D, DummyMenuAction}, - {gUnknown_Debug_083C3E51, DummyMenuAction}, - {gUnknown_Debug_083C3E65, DummyMenuAction}, - {gUnknown_Debug_083C3E79, DummyMenuAction}, - {gUnknown_Debug_083C3E8D, DummyMenuAction} + {sString_WK_SCENE_FIELD_C101, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C102, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C103, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C104, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C105, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C106, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C107, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C108, DummyMenuAction}, + {sString_WK_SCENE_FIELD_C109, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_Route101To109[] = { - {gUnknown_Debug_083C3EA1, DummyMenuAction}, - {gUnknown_Debug_083C3EB5, DummyMenuAction}, - {gUnknown_Debug_083C3EC9, DummyMenuAction}, - {gUnknown_Debug_083C3EDD, DummyMenuAction}, - {gUnknown_Debug_083C3EF1, DummyMenuAction}, - {gUnknown_Debug_083C3F05, DummyMenuAction}, - {gUnknown_Debug_083C3F19, DummyMenuAction}, - {gUnknown_Debug_083C3F2D, DummyMenuAction}, - {gUnknown_Debug_083C3F41, DummyMenuAction} + {sString_WK_SCENE_FIELD_R101, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R102, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R103, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R104, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R105, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R106, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R107, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R108, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R109, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_Route110To118[] = { - {gUnknown_Debug_083C3F55, DummyMenuAction}, - {gUnknown_Debug_083C3F69, DummyMenuAction}, - {gUnknown_Debug_083C3F7D, DummyMenuAction}, - {gUnknown_Debug_083C3F91, DummyMenuAction}, - {gUnknown_Debug_083C3FA5, DummyMenuAction}, - {gUnknown_Debug_083C3FB9, DummyMenuAction}, - {gUnknown_Debug_083C3FCD, DummyMenuAction}, - {gUnknown_Debug_083C3FE1, DummyMenuAction}, - {gUnknown_Debug_083C3FF5, DummyMenuAction} + {sString_WK_SCENE_FIELD_R110, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R111, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R112, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R113, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R114, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R115, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R116, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R117, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R118, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_Route119To127[] = { - {gUnknown_Debug_083C4009, DummyMenuAction}, - {gUnknown_Debug_083C401D, DummyMenuAction}, - {gUnknown_Debug_083C4031, DummyMenuAction}, - {gUnknown_Debug_083C4045, DummyMenuAction}, - {gUnknown_Debug_083C4059, DummyMenuAction}, - {gUnknown_Debug_083C406D, DummyMenuAction}, - {gUnknown_Debug_083C4081, DummyMenuAction}, - {gUnknown_Debug_083C4095, DummyMenuAction}, - {gUnknown_Debug_083C40A9, DummyMenuAction} + {sString_WK_SCENE_FIELD_R119, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R120, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R121, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R122, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R123, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R124, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R125, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R126, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R127, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_Route128To134[] = { - {gUnknown_Debug_083C40BD, DummyMenuAction}, - {gUnknown_Debug_083C40D1, DummyMenuAction}, - {gUnknown_Debug_083C40E5, DummyMenuAction}, - {gUnknown_Debug_083C40F9, DummyMenuAction}, - {gUnknown_Debug_083C410D, DummyMenuAction}, - {gUnknown_Debug_083C4121, DummyMenuAction}, - {gUnknown_Debug_083C4135, DummyMenuAction} + {sString_WK_SCENE_FIELD_R128, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R129, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R130, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R131, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R132, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R133, DummyMenuAction}, + {sString_WK_SCENE_FIELD_R134, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_RoomTown[] = { - {gUnknown_Debug_083C4149, DummyMenuAction}, - {gUnknown_Debug_083C415D, DummyMenuAction}, - {gUnknown_Debug_083C4171, DummyMenuAction}, - {gUnknown_Debug_083C4185, DummyMenuAction}, - {gUnknown_Debug_083C4199, DummyMenuAction} + {sString_WK_SCENE_T101_R0101, DummyMenuAction}, + {sString_WK_SCENE_T101_R0102, DummyMenuAction}, + {sString_WK_SCENE_T101_R0301, DummyMenuAction}, + {sString_WK_SCENE_T101_R0201, DummyMenuAction}, + {sString_WK_SCENE_T101_R0202, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_RoomCity[] = { - {gUnknown_Debug_083C41C1, DummyMenuAction}, - {gUnknown_Debug_083C41D5, DummyMenuAction}, - {gUnknown_Debug_083C41E9, DummyMenuAction}, - {gUnknown_Debug_083C41FD, DummyMenuAction}, - {gUnknown_Debug_083C4211, DummyMenuAction}, - {gUnknown_Debug_083C4225, DummyMenuAction}, - {gUnknown_Debug_083C4239, DummyMenuAction}, - {gUnknown_Debug_083C424D, DummyMenuAction}, - {gUnknown_Debug_083C4261, DummyMenuAction} + {sString_WK_SCENE_C101_R0201, DummyMenuAction}, + {sString_WK_SCENE_C104_R0103, DummyMenuAction}, + {sString_WK_SCENE_C103_R0101, DummyMenuAction}, + {sString_WK_SCENE_C106_R0202, DummyMenuAction}, + {sString_WK_SCENE_C106_R0401, DummyMenuAction}, + {sString_WK_SCENE_C101_R0601, DummyMenuAction}, + {sString_WK_SCENE_C102_R0501, DummyMenuAction}, + {sString_WK_SCENE_C104_R0102, DummyMenuAction}, + {sString_WK_SCENE_C107_R0501, DummyMenuAction} }; static const struct MenuAction sMenuActions_SaveWork_Dungeon[] = { - {gUnknown_Debug_083C4275, DummyMenuAction}, - {gUnknown_Debug_083C4289, DummyMenuAction}, - {gUnknown_Debug_083C429D, DummyMenuAction}, - {gUnknown_Debug_083C42B1, DummyMenuAction}, - {gUnknown_Debug_083C42C5, DummyMenuAction}, - {gUnknown_Debug_083C42D9, DummyMenuAction}, - {gUnknown_Debug_083C42ED, DummyMenuAction}, - {gUnknown_Debug_083C4301, DummyMenuAction}, - {gUnknown_Debug_083C4315, DummyMenuAction} + {sString_WK_SCENE_CAVE_D0601, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D0201, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D1206, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D1111, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D0701, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D0808, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D1602, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D0101, DummyMenuAction}, + {sString_WK_SCENE_CAVE_D1301, DummyMenuAction} }; static const u8 gUnknown_Debug_083C457C[] = {8, 9, 9, 9, 9, 7, 6, 9, 9}; @@ -2988,14 +2988,14 @@ static void debug_sub_808D358(u8 whichMenu) static bool8 ControlFlags_FH_OBJ_InitSubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(gUnknown_Debug_083C105C) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C105C), gUnknown_Debug_083C105C); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C105C), 0, 27); - gMenuCallback = debug_sub_808D40C; + Menu_DrawStdWindowFrame(0, 0, 28, 2 * ARRAY_COUNT(sMenuActions_ControlFlags_FH_OBJ) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlFlags_FH_OBJ), sMenuActions_ControlFlags_FH_OBJ); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlFlags_FH_OBJ), 0, 27); + gMenuCallback = ControlFlags_FH_OBJ_HandleInput; return FALSE; } -static bool8 debug_sub_808D40C(void) +static bool8 ControlFlags_FH_OBJ_HandleInput(void) { s8 input = Menu_ProcessInput(); @@ -3006,39 +3006,39 @@ static bool8 debug_sub_808D40C(void) CloseMenu(); return TRUE; } - gMenuCallback = gUnknown_Debug_083C105C[input].func; + gMenuCallback = sMenuActions_ControlFlags_FH_OBJ[input].func; return FALSE; } -static bool8 debug_sub_808D450(void) +static bool8 ControlFlags_FH_OBJ00_08_InitSubsubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_083C10BD) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C10BD), gUnknown_Debug_083C10BD); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C10BD), 0, 28); + Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(sMenuActions_ControlFlags_FH_OBJ00_08) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlFlags_FH_OBJ00_08), sMenuActions_ControlFlags_FH_OBJ00_08); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlFlags_FH_OBJ00_08), 0, 28); sFlagAndVarTest_WhichSubmenu = 0; - gMenuCallback = debug_sub_808D500; + gMenuCallback = ControlFlags_FH_OBJ_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808D4A8(void) +static bool8 ControlFlags_FH_OBJ09_15_InitSubsubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 7 + 1); - Menu_PrintItems(2, 1, 7, gUnknown_Debug_083C1149); + Menu_PrintItems(2, 1, 7, sMenuActions_ControlFlags_FH_OBJ09_15); InitMenu(0, 1, 1, 7, 0, 28); sFlagAndVarTest_WhichSubmenu = 1; - gMenuCallback = debug_sub_808D500; + gMenuCallback = ControlFlags_FH_OBJ_Subsubmenu_HandleInput; return FALSE; } -static bool8 debug_sub_808D500(void) +static bool8 ControlFlags_FH_OBJ_Subsubmenu_HandleInput(void) { s8 input = Menu_ProcessInput(); s8 cursorPos = Menu_GetCursorPos(); - debug_sub_808D54C(sFlagAndVarTest_WhichSubmenu, cursorPos); - debug_sub_808D59C(sFlagAndVarTest_WhichSubmenu); + ControlFlags_FH_OBJ_FlagToggle(sFlagAndVarTest_WhichSubmenu, cursorPos); + ControlFlags_FH_OBJ_UpdateDisplay(sFlagAndVarTest_WhichSubmenu); if (input == -2) return FALSE; if (input == -1) @@ -3049,24 +3049,24 @@ static bool8 debug_sub_808D500(void) return FALSE; } -static void debug_sub_808D54C(u8 whichMenu, u8 cursorPos) +static void ControlFlags_FH_OBJ_FlagToggle(u8 whichMenu, u8 cursorPos) { if (gMain.newKeys & R_BUTTON) { - if (!FlagGet(gUnknown_Debug_083C1196[whichMenu][cursorPos])) - FlagSet(gUnknown_Debug_083C1196[whichMenu][cursorPos]); + if (!FlagGet(sControlFlags_FH_OBJ_FlagsArrays[whichMenu][cursorPos])) + FlagSet(sControlFlags_FH_OBJ_FlagsArrays[whichMenu][cursorPos]); else - FlagClear(gUnknown_Debug_083C1196[whichMenu][cursorPos]); + FlagClear(sControlFlags_FH_OBJ_FlagsArrays[whichMenu][cursorPos]); } } -static void debug_sub_808D59C(u8 whichMenu) +static void ControlFlags_FH_OBJ_UpdateDisplay(u8 whichMenu) { u8 i; - for (i = 0; i < gUnknown_Debug_083C1194[whichMenu]; i++) + for (i = 0; i < sControlFlags_FH_OBJ_CountsArray[whichMenu]; i++) { - PrintBool(28, 2 * i + 1, FlagGet(gUnknown_Debug_083C1196[whichMenu][i]) ? 1 : 0); + PrintBool(28, 2 * i + 1, FlagGet(sControlFlags_FH_OBJ_FlagsArrays[whichMenu][i]) ? 1 : 0); } } @@ -3445,14 +3445,14 @@ static void debug_sub_808DF64(u8 whichMenu, u8 cursorPos) static bool8 ControlWorks_SaveWorkPart2_InitSubmenu(void) { Menu_EraseScreen(); - Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(gUnknown_Debug_083C377C) + 1); - Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_083C377C), gUnknown_Debug_083C377C); - InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C377C), 0, 23); - gMenuCallback = debug_sub_808E010; + Menu_DrawStdWindowFrame(0, 0, 24, 2 * ARRAY_COUNT(sMenuActions_ControlWorks_SaveWorkPart2) + 1); + Menu_PrintItems(2, 1, ARRAY_COUNT(sMenuActions_ControlWorks_SaveWorkPart2), sMenuActions_ControlWorks_SaveWorkPart2); + InitMenu(0, 1, 1, ARRAY_COUNT(sMenuActions_ControlWorks_SaveWorkPart2), 0, 23); + gMenuCallback = ControlWorks_SaveWorkPart2_HandleInput; return FALSE; } -static bool8 debug_sub_808E010(void) +static bool8 ControlWorks_SaveWorkPart2_HandleInput(void) { s8 input = Menu_ProcessInput(); @@ -3463,11 +3463,11 @@ static bool8 debug_sub_808E010(void) CloseMenu(); return TRUE; } - gMenuCallback = gUnknown_Debug_083C377C[input].func; + gMenuCallback = sMenuActions_ControlWorks_SaveWorkPart2[input].func; return FALSE; } -static bool8 debug_sub_808E054(void) +static bool8 ControlWorks_SaveWorkPart2_SP_InitSubsubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 6 + 1); @@ -3478,7 +3478,7 @@ static bool8 debug_sub_808E054(void) return FALSE; } -static bool8 debug_sub_808E0AC(void) +static bool8 ControlWorks_SaveWorkPart2_RoomR110Part1TrickHouse_InitSubsubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 5 + 1); @@ -3489,7 +3489,7 @@ static bool8 debug_sub_808E0AC(void) return FALSE; } -static bool8 debug_sub_808E104(void) +static bool8 ControlWorks_SaveWorkPart2_RoomR110Part2_InitSubsubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * ARRAY_COUNT(gUnknown_Debug_83C3B28) + 1); @@ -3500,7 +3500,7 @@ static bool8 debug_sub_808E104(void) return FALSE; } -static bool8 debug_sub_808E15C(void) +static bool8 ControlWorks_SaveWorkPart2_RoomLoad_InitSubsubmenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 29, 2 * 2 + 1); -- cgit v1.2.3 From 7eb178c36e5d4c5dba5f600346228969f4e33b9a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 08:49:22 -0400 Subject: Start decompiling contest_effect --- src/contest.c | 2 +- src/contest_ai.c | 2 +- src/contest_effect.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 src/contest_effect.c (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 84e5d807b..c27844beb 100644 --- a/src/contest.c +++ b/src/contest.c @@ -8,6 +8,7 @@ #include "battle_anim.h" #include "blend_palette.h" #include "contest.h" +#include "contest_effect.h" #include "contest_link_80C857C.h" #include "data2.h" #include "decompress.h" @@ -35,7 +36,6 @@ extern u8 gUnknown_020297ED; -extern u8 AreMovesContestCombo(u16, u16); // I don't think this is a bool extern void sub_80C8A38(u8); extern void sub_80C8AD0(u8); extern void sub_80C8C80(u8); diff --git a/src/contest_ai.c b/src/contest_ai.c index 1e249083b..63894635b 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -2,9 +2,9 @@ #include "contest.h" #include "random.h" #include "contest_ai.h" +#include "contest_effect.h" #include "ewram.h" -extern u8 AreMovesContestCombo(u16, u16); extern bool8 sub_80B214C(u8); extern bool8 Contest_IsMonsTurnDisabled(u8); diff --git a/src/contest_effect.c b/src/contest_effect.c new file mode 100644 index 000000000..f1606517b --- /dev/null +++ b/src/contest_effect.c @@ -0,0 +1,33 @@ +#include "global.h" +#include "ewram.h" +#include "contest.h" + +extern bool8 const gComboStarterLookupTable[]; + +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; +} + +void ContestEffect_00(void) +{ +} + +void ContestEffect_01(void) +{ + sContestantStatus[shared192D0.unk11].unk10_2 = TRUE; + sub_80B13EC(shared192D0.unk11, 0); +} + -- cgit v1.2.3 From 8a61d647fc81ca392dbcf7458db5b528a1a744a6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 10:24:30 -0400 Subject: through ContestEffect_08 --- src/contest.c | 14 ++++++------ src/contest_effect.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index c27844beb..77455e882 100644 --- a/src/contest.c +++ b/src/contest.c @@ -4625,12 +4625,12 @@ void sub_80B114C(u8 contestant) } } -void sub_80B13EC(u8 a, u8 b) +void SetContestantStatusUnk13(u8 a, u8 b) { sContestantStatus[a].unk13 = b; } -void sub_80B1404(u8 a, u8 b) +void SetContestantStatusUnk14(u8 a, u8 b) { sContestantStatus[a].unk14 = b; } @@ -4638,15 +4638,15 @@ void sub_80B1404(u8 a, u8 b) void sub_80B141C(u8 a, u8 b) { if (b >= 60) - sub_80B13EC(a, 53); + SetContestantStatusUnk13(a, 53); else if (b >= 40) - sub_80B13EC(a, 52); + SetContestantStatusUnk13(a, 52); else if (b >= 30) - sub_80B13EC(a, 51); + SetContestantStatusUnk13(a, 51); else if (b >= 20) - sub_80B13EC(a, 50); + SetContestantStatusUnk13(a, 50); else if (b >= 10) - sub_80B13EC(a, 49); + SetContestantStatusUnk13(a, 49); } void sub_80B146C(u8 a, u8 b) diff --git a/src/contest_effect.c b/src/contest_effect.c index f1606517b..abc630dd8 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -2,8 +2,12 @@ #include "ewram.h" #include "contest.h" +u8 sub_80B9120(void); + extern bool8 const gComboStarterLookupTable[]; +#define curContestant (&sContestantStatus[shared192D0.unk11]) + bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) { u8 nextMoveComboMoves[4]; u8 lastMoveComboStarterId = gContestMoves[lastMove].comboStarterId; @@ -27,7 +31,61 @@ void ContestEffect_00(void) void ContestEffect_01(void) { - sContestantStatus[shared192D0.unk11].unk10_2 = TRUE; - sub_80B13EC(shared192D0.unk11, 0); + curContestant->unk10_2 = TRUE; + SetContestantStatusUnk13(shared192D0.unk11, 0); +} + +void ContestEffect_02(void) +{ + curContestant->unk11_3 = TRUE; + SetContestantStatusUnk13(shared192D0.unk11, 1); +} + +void ContestEffect_03(void) +{ + curContestant->unk10_3 = TRUE; + curContestant->disappointedRepeat = FALSE; + curContestant->moveRepeatCount = 0; +} + +void ContestEffect_04(void) +{ + curContestant->unk12 = 1; + SetContestantStatusUnk13(shared192D0.unk11, 2); } +void ContestEffect_05(void) +{ + curContestant->unk10_1 = TRUE; + SetContestantStatusUnk13(shared192D0.unk11, 3); +} + +void ContestEffect_06(void) +{ + curContestant->unkF = 20; + SetContestantStatusUnk13(shared192D0.unk11, 4); +} + +void ContestEffect_07(void) +{ + curContestant->unk10_0 = TRUE; + SetContestantStatusUnk13(shared192D0.unk11, 5); +} + +void ContestEffect_08(void) +{ + u8 idx = 0; + u8 a = shared192D0.unk11; + + if (shared192D0.unk0[a] != 0) { + int i; + for (i = 0; i < 4 && shared192D0.unk0[a] - 1 != shared192D0.unk0[i]; i++) + ; + shared192D0.unk8 = i; + shared192D0.unk9 = 0xFF; + idx = sub_80B9120(); + } + if (idx == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} -- cgit v1.2.3 From a8c57a0dd6cf3e3759dda41f7f2c6d89173262e7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 11:12:55 -0400 Subject: through ContestEffect_16 --- src/contest_effect.c | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index abc630dd8..60dd2f320 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -1,8 +1,10 @@ #include "global.h" #include "ewram.h" +#include "random.h" #include "contest.h" u8 sub_80B9120(void); +bool8 sub_80B90C0(u8); extern bool8 const gComboStarterLookupTable[]; @@ -79,13 +81,124 @@ void ContestEffect_08(void) if (shared192D0.unk0[a] != 0) { int i; + for (i = 0; i < 4 && shared192D0.unk0[a] - 1 != shared192D0.unk0[i]; i++) ; - shared192D0.unk8 = i; - shared192D0.unk9 = 0xFF; + shared192D0.unk8[0] = i; + shared192D0.unk8[1] = 0xFF; + idx = sub_80B9120(); + } + if (idx == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_09(void) +{ + u8 idx = 0; + u8 a = shared192D0.unk11; + + if (shared192D0.unk0[a] != 0) { + int i; + int j = 0; + + for (i = 0; i < 4; i++) + if (shared192D0.unk0[a] > shared192D0.unk0[i]) + shared192D0.unk8[j++] = i; + shared192D0.unk8[j] = 0xFF; idx = sub_80B9120(); } if (idx == 0) SetContestantStatusUnk14(shared192D0.unk11, 0x36); SetContestantStatusUnk13(shared192D0.unk11, 48); } + +void ContestEffect_14(void) +{ + u8 r0 = Random() % 10; + int r1 = 20; + if (r0 >= 2) + { + r1 = 60; + if (r0 < 8) + r1 = 40; + } + shared192D0.unk4 = r1; + ContestEffect_08(); +} + +void ContestEffect_15(void) { + u8 r7 = 0; + u8 r6 = shared192D0.unk11; + + if (shared192D0.unk0[r6] != 0) + { + int r5; + + for (r5 = 0; r5 < 4; r5++) + { + if (shared192D0.unk0[r6] > shared192D0.unk0[r5]) + { + shared192D0.unk8[0] = r5; + shared192D0.unk8[1] = 0xFF; + { + u8 r0 = Random() % 10; + int r1 = 0; + if (r0 > 0) + { + r1 = 10; + if (r0 > 2) + { + r1 = 20; + if (r0 > 4) + { + r1 = 30; + if (r0 > 6) + { + r1 = 60; + if (r0 <= 8) + r1 = 40; + } + } + } + } + shared192D0.unk4 = r1; + } + if (sub_80B9120()) + r7++; + } + } + } + SetContestantStatusUnk13(shared192D0.unk11, 48); + if (r7 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); +} + +void ContestEffect_16(void) +{ + bool32 r9 = FALSE; + u8 r7 = shared192D0.unk11; + + if (shared192D0.unk0[shared192D0.unk11] != 0) + { + int r6; + + for (r6 = 0; r6 < 4; r6++) + { + if (shared192D0.unk0[r7] > shared192D0.unk0[r6] && + sContestantStatus[r6].unk15_4 && + sub_80B90C0(r6)) + { + sContestantStatus[r6].unk15_4 = FALSE; + sContestantStatus[r6].unk15_5 = TRUE; + SetContestantStatusUnk13(r6, 8); + r9 = TRUE; + } + } + } + SetContestantStatusUnk13(shared192D0.unk11, 7); + if (!r9) + { + SetContestantStatusUnk14(shared192D0.unk11, 0x36); + } +} -- cgit v1.2.3 From af266c9e1bc286e80a451db7e2f95116655a4827 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 11:43:53 -0400 Subject: through ContestEffect_24 --- src/contest_effect.c | 114 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 91 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 60dd2f320..7a6ffc0b0 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -5,6 +5,7 @@ u8 sub_80B9120(void); bool8 sub_80B90C0(u8); +void sub_80B9038(u8); extern bool8 const gComboStarterLookupTable[]; @@ -117,12 +118,12 @@ void ContestEffect_14(void) { u8 r0 = Random() % 10; int r1 = 20; - if (r0 >= 2) - { + if (r0 < 2) + r1 = 20; + else if (r0 < 8) + r1 = 40; + else r1 = 60; - if (r0 < 8) - r1 = 40; - } shared192D0.unk4 = r1; ContestEffect_08(); } @@ -143,25 +144,19 @@ void ContestEffect_15(void) { shared192D0.unk8[1] = 0xFF; { u8 r0 = Random() % 10; - int r1 = 0; - if (r0 > 0) - { + int r1; + if (r0 == 0) + r1 = 0; + else if (r0 <= 2) r1 = 10; - if (r0 > 2) - { - r1 = 20; - if (r0 > 4) - { - r1 = 30; - if (r0 > 6) - { - r1 = 60; - if (r0 <= 8) - r1 = 40; - } - } - } - } + else if (r0 <= 4) + r1 = 20; + else if (r0 <= 6) + r1 = 30; + else if (r0 <= 8) + r1 = 40; + else + r1 = 60; shared192D0.unk4 = r1; } if (sub_80B9120()) @@ -202,3 +197,76 @@ void ContestEffect_16(void) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } } + +void ContestEffect_17(void) +{ + u8 r9 = 0; + u8 r8 = shared192D0.unk11; + + if (shared192D0.unk0[shared192D0.unk11] != 0) + { + int r5; + + for (r5 = 0; r5 < 4; r5++) + { + if (shared192D0.unk0[r8] > shared192D0.unk0[r5]) + { + if (sContestantStatus[r5].unk15_4) + shared192D0.unk4 = 50; + else + shared192D0.unk4 = 10; + shared192D0.unk8[0] = r5; + shared192D0.unk8[1] = 0xFF; + if (sub_80B9120()) + r9++; + } + } + } + SetContestantStatusUnk13(shared192D0.unk11, 48); + if (r9 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); +} + +void ContestEffect_18(void) +{ + curContestant->unk11_2 = TRUE; + ContestEffect_09(); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_19(void) +{ + u16 move = curContestant->currMove; + sub_80B9038(gContestMoves[move].contestCategory); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_20(void) +{ + sub_80B9038(CONTEST_CATEGORY_COOL); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_21(void) +{ + sub_80B9038(CONTEST_CATEGORY_BEAUTY); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_22(void) +{ + sub_80B9038(CONTEST_CATEGORY_CUTE); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_23(void) +{ + sub_80B9038(CONTEST_CATEGORY_SMART); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_24(void) +{ + sub_80B9038(CONTEST_CATEGORY_TOUGH); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} -- cgit v1.2.3 From 18e6512599ad5a52ee0046f2504a7b357cc80894 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 12:01:29 -0400 Subject: ContestEffect_25 --- src/contest_effect.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 7a6ffc0b0..c38cb2f96 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -270,3 +270,34 @@ void ContestEffect_24(void) sub_80B9038(CONTEST_CATEGORY_TOUGH); SetContestantStatusUnk13(shared192D0.unk11, 48); } + +void ContestEffect_25(void) +{ + bool32 r4 = FALSE; + + if (shared192D0.unk0[shared192D0.unk11] != 3) + { + int r5; + + for (r5 = 0; r5 < 4; r5++) + { + if (shared192D0.unk0[shared192D0.unk11] + 1 == shared192D0.unk0[r5]) + { + if (sub_80B90C0(r5)) + { + sub_80B157C(r5); + SetContestantStatusUnk13(r5, 10); + r4 = TRUE; + } + else + { + SetContestantStatusUnk13(r5, 60); + r4 = TRUE; + } + } + } + } + SetContestantStatusUnk13(shared192D0.unk11, 9); + if (!r4) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); +} -- cgit v1.2.3 From 90556b6b3eabc0a90cf7fdcf54826e362053f4c0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 15:50:16 -0400 Subject: ContestEffect_26 --- src/contest.c | 1 - src/contest_ai.c | 3 --- src/contest_effect.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 77455e882..686b01476 100644 --- a/src/contest.c +++ b/src/contest.c @@ -201,7 +201,6 @@ void sub_80AF1B8(void); void sub_80AF2A0(u8); void sub_80AF2FC(void); void sub_80AF3C0(void); -bool8 Contest_IsMonsTurnDisabled(u8); s16 sub_80AF688(u8); void DetermineFinalStandings(void); bool8 sub_80AF828(s32, s32, struct UnknownContestStruct6 *); diff --git a/src/contest_ai.c b/src/contest_ai.c index 63894635b..8fce9d15f 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -5,9 +5,6 @@ #include "contest_effect.h" #include "ewram.h" -extern bool8 sub_80B214C(u8); -extern bool8 Contest_IsMonsTurnDisabled(u8); - extern u16 gSpecialVar_ContestCategory; extern u8 *gAIScriptPtr; diff --git a/src/contest_effect.c b/src/contest_effect.c index c38cb2f96..bbd56493b 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -301,3 +301,78 @@ void ContestEffect_25(void) if (!r4) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } + +void ContestEffect_26(void) +{ + u8 r9 = 0; + bool32 sp18 = FALSE; + u8 sp00[5]; + int r6; + int r4; + s16 sp08[4]; + s16 sp10[4]; + + memset(sp00, 0xFF, ARRAY_COUNT(sp00)); + for (r6 = 0, r4 = 0; r6 < 4; r6++) + { + if (shared192D0.unk0[shared192D0.unk11] < shared192D0.unk0[r6] && + !sContestantStatus[r6].unkC_0 && !Contest_IsMonsTurnDisabled(r6)) + sp00[r4++] = r6; + } + + if (r4 == 1) + { + sp10[0] = 60; + } + else if (r4 == 2) + { + sp10[0] = 30; + sp10[1] = 30; + } + else if (r4 == 3) + { + sp10[0] = 20; + sp10[1] = 20; + sp10[2] = 20; + } + else + { + for (r6 = 0; r6 < 4; r6++) + sp10[r6] = 0; + } + for (r6 = 0; r6 < 4; r6++) + { + if (sContestantStatus[r6].unk15_4 && sub_80B214C(r6)) + sp08[r6] = gComboStarterLookupTable[gContestMoves[sContestantStatus[r6].prevMove].comboStarterId] * 10; + else + sp08[r6] = 0; + sp08[r6] -= (sContestantStatus[r6].unkD / 10) * 10; + } + if (sp10[0] != 0) + { + for (r6 = 0; sp00[r6] != 0xFF; r6++) + { + if (Random() % 100 < sp10[r6] + sp08[sp00[r6]]) + { + if (sub_80B90C0(sp00[r6])) + { + sub_80B157C(sp00[r6]); + SetContestantStatusUnk13(sp00[r6], 10); + r9++; + } else + sp18 = TRUE; + } else + sp18 = TRUE; + if (sp18) + { + sp18 = FALSE; + SetContestantStatusUnk13(sp00[r6], 60); + r9++; + } + shared192D0.unkD[sp00[r6]] = 1; + } + } + SetContestantStatusUnk13(shared192D0.unk11, 11); + if (r9 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); +} -- cgit v1.2.3 From d66f96520c03faf342e04502aa94462f14d3701d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 16:48:14 -0400 Subject: through ContestEffect_30 --- src/contest_effect.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index bbd56493b..546ab0fc8 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -376,3 +376,70 @@ void ContestEffect_26(void) if (r9 == 0) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } + +void ContestEffect_27(void) +{ + u8 r8 = 0; + int r6; + + for (r6 = 0; r6 < 4; r6++) + { + if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r6] && + sContestantStatus[r6].unkD > 0 && + sub_80B90C0(r6)) + { + sContestantStatus[r6].unkD = 0; + sContestantStatus[r6].unk10_4 = 2; + SetContestantStatusUnk13(r6, 13); + r8++; + } + } + + SetContestantStatusUnk13(shared192D0.unk11, 12); + if (r8 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x39); +} + +void ContestEffect_28(void) +{ + u8 r7 = 0; + int r5; + + for (r5 = 0; r5 < 4; r5++) + { + if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r5]) + { + if (sContestantStatus[r5].unkD > 0) + shared192D0.unk4 = 40; + else + shared192D0.unk4 = 10; + shared192D0.unk8[0] = r5; + shared192D0.unk8[1] = 0xFF; + if (sub_80B9120()) + r7++; + } + } + SetContestantStatusUnk13(shared192D0.unk11, 14); + if (r7 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x39); +} + +void ContestEffect_29(void) +{ + if (gUnknown_02038696[shared192D0.unk11] == 0) + { + u16 move = curContestant->currMove; + curContestant->appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantStatusUnk13(shared192D0.unk11, 15); + } +} + +void ContestEffect_30(void) +{ + if (gUnknown_02038696[shared192D0.unk11] == 3) + { + u16 move = curContestant->currMove; + curContestant->appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantStatusUnk13(shared192D0.unk11, 16); + } +} -- cgit v1.2.3 From f03b1700f867164cfbaf337821503a83fa7272b7 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 17:19:59 -0400 Subject: through ContestEffect_33 --- src/contest_effect.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 546ab0fc8..415732003 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -6,6 +6,7 @@ u8 sub_80B9120(void); bool8 sub_80B90C0(u8); void sub_80B9038(u8); +s16 sub_80B9224(s16); extern bool8 const gComboStarterLookupTable[]; @@ -443,3 +444,64 @@ void ContestEffect_30(void) SetContestantStatusUnk13(shared192D0.unk11, 16); } } + +void ContestEffect_31(void) +{ + int r1; + int r3; + + for (r1 = 0, r3 = 0; r1 < 4; r1++) + { + if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r1]) + r3 += sContestantStatus[r1].appeal2; + } + if (r3 < 0) + r3 = 0; + if (shared192D0.unk0[shared192D0.unk11] == 0 || r3 == 0) + SetContestantStatusUnk13(shared192D0.unk11, 18); + else + { + curContestant->appeal2 += r3 / 2; + SetContestantStatusUnk13(shared192D0.unk11, 17); + } + sContestantStatus[shared192D0.unk11].appeal2 = sub_80B9224(sContestantStatus[shared192D0.unk11].appeal2); +} + +void ContestEffect_32(void) +{ + s16 r6 = 0; + + if (shared192D0.unk0[shared192D0.unk11] != 0) + { + int i; + for (i = 0; i < 4; i++) + { + if (shared192D0.unk0[shared192D0.unk11] - 1 == shared192D0.unk0[i]) + r6 = sContestantStatus[i].appeal2; + } + } + if (shared192D0.unk0[shared192D0.unk11] == 0 || r6 <= 0) + SetContestantStatusUnk13(shared192D0.unk11, 20); + else + { + curContestant->appeal2 += r6; + SetContestantStatusUnk13(shared192D0.unk11, 19); + } +} + +void ContestEffect_33(void) +{ + u8 r3 = shared192D0.unk0[shared192D0.unk11]; + if (r3 == 0) + sContestantStatus[shared192D0.unk11].appeal2 = 10; + else + sContestantStatus[shared192D0.unk11].appeal2 = 20 * r3; + if (r3 == 0) + SetContestantStatusUnk13(shared192D0.unk11, 21); + else if (r3 == 1) + SetContestantStatusUnk13(shared192D0.unk11, 22); + else if (r3 == 2) + SetContestantStatusUnk13(shared192D0.unk11, 23); + else + SetContestantStatusUnk13(shared192D0.unk11, 24); +} -- cgit v1.2.3 From d0b42dd4ea1ae0c0d1cc33207718e8e07c3f5763 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 17:33:23 -0400 Subject: ContestEffect_34 --- src/contest_effect.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 415732003..86eb78dac 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -505,3 +505,33 @@ void ContestEffect_33(void) else SetContestantStatusUnk13(shared192D0.unk11, 24); } + +void ContestEffect_34(void) +{ + u8 r0 = Random() % 10; + s16 r4; + + if (r0 < 3) + { + r4 = 10; + SetContestantStatusUnk13(shared192D0.unk11, 26); + } else if (r0 < 6) + { + r4 = 20; + SetContestantStatusUnk13(shared192D0.unk11, 27); + } else if (r0 < 8) + { + r4 = 40; + SetContestantStatusUnk13(shared192D0.unk11, 28); + } else if (r0 < 9) + { + r4 = 60; + SetContestantStatusUnk13(shared192D0.unk11, 29); + } + else + { + r4 = 80; + SetContestantStatusUnk13(shared192D0.unk11, 30); + } + curContestant->appeal2 = r4; +} -- cgit v1.2.3 From b7b58d04f074f4f30aaa22a630f0c25d4550a440 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 29 Mar 2018 22:08:43 -0400 Subject: ContestEffect_35 (not even close) --- src/contest_effect.c | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 86eb78dac..83ac56a14 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -535,3 +535,147 @@ void ContestEffect_34(void) } curContestant->appeal2 = r4; } + +#ifdef NONMATCHING +// Not even close, send help +void ContestEffect_35(void) +{ + s8 r4; + + for (r4 = shared192D0.unk0[shared192D0.unk11] - 1; r4 >= 0; r4--) + { + s8 r2; + for (r2 = 0; r2 < 4; r2++) + { + if (shared192D0.unk0[r2] == r4) + break; + } + if (!(sContestantStatus[r2].unkB_7 || sContestantStatus[r2].unkC_0 || sContestantStatus[r2].unkC_1)) + { + u16 move = curContestant->currMove; + const struct ContestMove *contestMove = gContestMoves + move; + if (contestMove->contestCategory == gContestMoves[sContestantStatus[r2].currMove].contestCategory) + { + curContestant->appeal2 += gContestEffects[contestMove->effect].appeal * 2; + SetContestantStatusUnk13(shared192D0.unk11, 31); + } + break; + } + } +} +#else +__attribute__((naked)) void ContestEffect_35(void) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tldr r1, _080B8940 @ =gSharedMem + 0x192D0\n" + "\tldrb r0, [r1, 0x11]\n" + "\tadds r0, r1\n" + "\tmovs r2, 0\n" + "\tldrsb r2, [r0, r2]\n" + "\tsubs r0, r2, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tmov r12, r1\n" + "\tcmp r2, 0\n" + "\tbeq _080B8994\n" + "\tldrb r5, [r1]\n" + "\tmov r6, r12\n" + "\tsubs r6, 0x70\n" + "_080B88EA:\n" + "\tmovs r2, 0\n" + "\tlsls r0, r4, 24\n" + "\tasrs r1, r0, 24\n" + "\tadds r4, r0, 0\n" + "\tcmp r5, r1\n" + "\tbeq _080B8910\n" + "\tldr r3, _080B8940 @ =gSharedMem + 0x192D0\n" + "_080B88F8:\n" + "\tlsls r0, r2, 24\n" + "\tmovs r2, 0x80\n" + "\tlsls r2, 17\n" + "\tadds r0, r2\n" + "\tlsrs r2, r0, 24\n" + "\tasrs r0, 24\n" + "\tcmp r0, 0x3\n" + "\tbgt _080B8910\n" + "\tadds r0, r3\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, r1\n" + "\tbne _080B88F8\n" + "_080B8910:\n" + "\tlsls r2, 24\n" + "\tasrs r1, r2, 24\n" + "\tlsls r0, r1, 3\n" + "\tsubs r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r3, r0, r6\n" + "\tldrb r1, [r3, 0xB]\n" + "\tmovs r0, 0x80\n" + "\tands r0, r1\n" + "\tadds r7, r2, 0\n" + "\tcmp r0, 0\n" + "\tbne _080B8932\n" + "\tldrb r1, [r3, 0xC]\n" + "\tmovs r0, 0x7\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _080B8944\n" + "_080B8932:\n" + "\tmovs r1, 0xFF\n" + "\tlsls r1, 24\n" + "\tadds r0, r4, r1\n" + "\tlsrs r4, r0, 24\n" + "\tcmp r0, 0\n" + "\tblt _080B8994\n" + "\tb _080B88EA\n" + "\t.align 2, 0\n" + "_080B8940: .4byte gSharedMem + 0x192D0\n" + "_080B8944:\n" + "\tmov r2, r12\n" + "\tldrb r1, [r2, 0x11]\n" + "\tlsls r0, r1, 3\n" + "\tsubs r0, r1\n" + "\tlsls r0, 2\n" + "\tmov r3, r12\n" + "\tsubs r3, 0x70\n" + "\tadds r5, r0, r3\n" + "\tldrh r0, [r5, 0x6]\n" + "\tldr r4, _080B899C @ =gContestMoves\n" + "\tlsls r0, 3\n" + "\tadds r6, r0, r4\n" + "\tldrb r2, [r6, 0x1]\n" + "\tlsls r2, 29\n" + "\tasrs r1, r7, 24\n" + "\tlsls r0, r1, 3\n" + "\tsubs r0, r1\n" + "\tlsls r0, 2\n" + "\tadds r0, r3\n" + "\tldrh r0, [r0, 0x6]\n" + "\tlsls r0, 3\n" + "\tadds r0, r4\n" + "\tldrb r0, [r0, 0x1]\n" + "\tlsls r0, 29\n" + "\tcmp r2, r0\n" + "\tbne _080B8994\n" + "\tldr r1, _080B89A0 @ =gContestEffects\n" + "\tldrb r0, [r6]\n" + "\tlsls r0, 2\n" + "\tadds r0, r1\n" + "\tldrb r0, [r0, 0x1]\n" + "\tlsls r0, 1\n" + "\tldrh r1, [r5, 0x2]\n" + "\tadds r0, r1\n" + "\tstrh r0, [r5, 0x2]\n" + "\tmov r2, r12\n" + "\tldrb r0, [r2, 0x11]\n" + "\tmovs r1, 0x1F\n" + "\tbl SetContestantStatusUnk13\n" + "_080B8994:\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_080B899C: .4byte gContestMoves\n" + "_080B89A0: .4byte gContestEffects"); +} +#endif -- cgit v1.2.3 From f1bae90be3aca017e19776c26906ddfd13147c0f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 08:46:22 -0400 Subject: through ContestEffect_38 --- src/contest_effect.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 83ac56a14..1d4f9d448 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -679,3 +679,60 @@ __attribute__((naked)) void ContestEffect_35(void) "_080B89A0: .4byte gContestEffects"); } #endif + +void ContestEffect_36(void) +{ + if (shared192D0.unk0[shared192D0.unk11] != 0) + { + u16 move = curContestant->currMove; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.unk0[shared192D0.unk11] - 1 == shared192D0.unk0[i] && + gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) + { + curContestant->appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantStatusUnk13(shared192D0.unk11, 32); + break; + } + } + } +} + +void ContestEffect_37(void) +{ + if (shared192D0.unk0[shared192D0.unk11] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.unk0[shared192D0.unk11] - 1 == shared192D0.unk0[i]) + { + if (curContestant->appeal2 > sContestantStatus[i].appeal2) + { + curContestant->appeal2 *= 2; + SetContestantStatusUnk13(shared192D0.unk11, 33); + } + else if (curContestant->appeal2 < sContestantStatus[i].appeal2) + { + curContestant->appeal2 = 0; + SetContestantStatusUnk13(shared192D0.unk11, 34); + } + } + } + } +} + +void ContestEffect_38(void) +{ + if (curContestant->unkD < 30) + { + curContestant->unkD += 10; + curContestant->unk10_4 = 1; + SetContestantStatusUnk13(shared192D0.unk11, 35); + } + else + SetContestantStatusUnk13(shared192D0.unk11, 58); +} -- cgit v1.2.3 From b71650219f89ce9d7de6d9377b9cd7c47e975b4d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 10:42:20 -0400 Subject: through ContestEffect_40 --- src/contest_effect.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 1d4f9d448..fe6b18d99 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -736,3 +736,53 @@ void ContestEffect_38(void) else SetContestantStatusUnk13(shared192D0.unk11, 58); } + +void ContestEffect_39(void) +{ + curContestant->unk11_5 = TRUE; + if (curContestant->unkD != 0) + SetContestantStatusUnk13(shared192D0.unk11, 36); + else + SetContestantStatusUnk13(shared192D0.unk11, 59); +} + +void ContestEffect_40(void) +{ + s8 i; + s8 j; + u8 sp00[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + sp00[i] = sContestantStatus[i].unk19; + + sp00[shared192D0.unk11] = 0xFF; + + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.unk11 && + i == sp00[j] && + sp00[j] == sContestantStatus[j].unk19) + { + sp00[j]++; + break; + } + } + if (j == 4) + break; + } + + sp00[shared192D0.unk11] = 0; + curContestant->unk10_6 = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].unk19 = sp00[i]; + } + curContestant->unk11_0 = 1; + SetContestantStatusUnk13(shared192D0.unk11, 37); + } +} -- cgit v1.2.3 From b125a4057419ab9efe6dbd1e911abd5de2200b9b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 12:26:28 -0400 Subject: through ContestEffect_43 --- src/contest_effect.c | 153 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 144 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index fe6b18d99..c484882ff 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -30,22 +30,26 @@ bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) { } void ContestEffect_00(void) +// A highly appealing move. { } void ContestEffect_01(void) +// After this move, the user is more easily startled. { curContestant->unk10_2 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 0); } void ContestEffect_02(void) +// Makes a great appeal, but allows no more to the end. { curContestant->unk11_3 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 1); } void ContestEffect_03(void) +// Can be used repeatedly without boring the JUDGE. { curContestant->unk10_3 = TRUE; curContestant->disappointedRepeat = FALSE; @@ -53,30 +57,35 @@ void ContestEffect_03(void) } void ContestEffect_04(void) +// Can avoid being startled by others once. { curContestant->unk12 = 1; SetContestantStatusUnk13(shared192D0.unk11, 2); } void ContestEffect_05(void) +// Can avoid being startled by others. { curContestant->unk10_1 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 3); } void ContestEffect_06(void) +// Can avoid being startled by others a little. { curContestant->unkF = 20; SetContestantStatusUnk13(shared192D0.unk11, 4); } void ContestEffect_07(void) +// After this move, the user is less likely to be startled. { curContestant->unk10_0 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 5); } void ContestEffect_08(void) +// Slightly startles the POKéMON in front. { u8 idx = 0; u8 a = shared192D0.unk11; @@ -84,8 +93,11 @@ void ContestEffect_08(void) if (shared192D0.unk0[a] != 0) { int i; - for (i = 0; i < 4 && shared192D0.unk0[a] - 1 != shared192D0.unk0[i]; i++) - ; + for (i = 0; i < 4; i++) + { + if (shared192D0.unk0[a] - 1 == shared192D0.unk0[i]) + break; + } shared192D0.unk8[0] = i; shared192D0.unk8[1] = 0xFF; idx = sub_80B9120(); @@ -96,6 +108,7 @@ void ContestEffect_08(void) } void ContestEffect_09(void) +// Slightly startles those that have made appeals. { u8 idx = 0; u8 a = shared192D0.unk11; @@ -116,6 +129,7 @@ void ContestEffect_09(void) } void ContestEffect_14(void) +// Startles the POKéMON that appealed before the user. { u8 r0 = Random() % 10; int r1 = 20; @@ -129,7 +143,9 @@ void ContestEffect_14(void) ContestEffect_08(); } -void ContestEffect_15(void) { +void ContestEffect_15(void) +// Startles all POKéMON that appealed before the user. +{ u8 r7 = 0; u8 r6 = shared192D0.unk11; @@ -171,6 +187,7 @@ void ContestEffect_15(void) { } void ContestEffect_16(void) +// Shifts the JUDGE’s attention from others. { bool32 r9 = FALSE; u8 r7 = shared192D0.unk11; @@ -200,6 +217,7 @@ void ContestEffect_16(void) } void ContestEffect_17(void) +// Startles the POKéMON that has the JUDGE’s attention. { u8 r9 = 0; u8 r8 = shared192D0.unk11; @@ -229,6 +247,7 @@ void ContestEffect_17(void) } void ContestEffect_18(void) +// Jams the others, and misses one turn of appeals. { curContestant->unk11_2 = TRUE; ContestEffect_09(); @@ -236,6 +255,7 @@ void ContestEffect_18(void) } void ContestEffect_19(void) +// Startles POKéMON that made a same-type appeal. { u16 move = curContestant->currMove; sub_80B9038(gContestMoves[move].contestCategory); @@ -243,36 +263,42 @@ void ContestEffect_19(void) } void ContestEffect_20(void) +// Badly startles POKéMON that made COOL appeals. { sub_80B9038(CONTEST_CATEGORY_COOL); SetContestantStatusUnk13(shared192D0.unk11, 48); } void ContestEffect_21(void) +// Badly startles POKéMON that made BEAUTY appeals. { sub_80B9038(CONTEST_CATEGORY_BEAUTY); SetContestantStatusUnk13(shared192D0.unk11, 48); } void ContestEffect_22(void) +// Badly startles POKéMON that made CUTE appeals. { sub_80B9038(CONTEST_CATEGORY_CUTE); SetContestantStatusUnk13(shared192D0.unk11, 48); } void ContestEffect_23(void) +// Badly startles POKéMON that made SMART appeals. { sub_80B9038(CONTEST_CATEGORY_SMART); SetContestantStatusUnk13(shared192D0.unk11, 48); } void ContestEffect_24(void) +// Badly startles POKéMON that made TOUGH appeals. { sub_80B9038(CONTEST_CATEGORY_TOUGH); SetContestantStatusUnk13(shared192D0.unk11, 48); } void ContestEffect_25(void) +// Makes one POKéMON after the user nervous. { bool32 r4 = FALSE; @@ -304,6 +330,7 @@ void ContestEffect_25(void) } void ContestEffect_26(void) +// Makes all POKéMON after the user nervous. { u8 r9 = 0; bool32 sp18 = FALSE; @@ -379,6 +406,7 @@ void ContestEffect_26(void) } void ContestEffect_27(void) +// Worsens the condition of those that made appeals. { u8 r8 = 0; int r6; @@ -402,6 +430,7 @@ void ContestEffect_27(void) } void ContestEffect_28(void) +// Badly startles POKéMON in good condition. { u8 r7 = 0; int r5; @@ -426,6 +455,7 @@ void ContestEffect_28(void) } void ContestEffect_29(void) +// The appeal works great if performed first. { if (gUnknown_02038696[shared192D0.unk11] == 0) { @@ -436,6 +466,7 @@ void ContestEffect_29(void) } void ContestEffect_30(void) +// The appeal works great if performed last. { if (gUnknown_02038696[shared192D0.unk11] == 3) { @@ -446,6 +477,7 @@ void ContestEffect_30(void) } void ContestEffect_31(void) +// Makes the appeal as good as those before it. { int r1; int r3; @@ -468,6 +500,7 @@ void ContestEffect_31(void) } void ContestEffect_32(void) +// Makes the appeal as good as the one before it. { s16 r6 = 0; @@ -490,6 +523,7 @@ void ContestEffect_32(void) } void ContestEffect_33(void) +// The appeal works better the later it is performed. { u8 r3 = shared192D0.unk0[shared192D0.unk11]; if (r3 == 0) @@ -507,6 +541,7 @@ void ContestEffect_33(void) } void ContestEffect_34(void) +// The appeal’s quality varies depending on its timing. { u8 r0 = Random() % 10; s16 r4; @@ -539,24 +574,25 @@ void ContestEffect_34(void) #ifdef NONMATCHING // Not even close, send help void ContestEffect_35(void) +// Works well if it’s the same type as the one before. { s8 r4; + s8 r2; - for (r4 = shared192D0.unk0[shared192D0.unk11] - 1; r4 >= 0; r4--) + for (r4 = shared192D0.unk0[shared192D0.unk11]; r4 > 0; r4--) { - s8 r2; for (r2 = 0; r2 < 4; r2++) { - if (shared192D0.unk0[r2] == r4) + if (shared192D0.unk0[r2] == r4 - 1) break; } if (!(sContestantStatus[r2].unkB_7 || sContestantStatus[r2].unkC_0 || sContestantStatus[r2].unkC_1)) { u16 move = curContestant->currMove; - const struct ContestMove *contestMove = gContestMoves + move; - if (contestMove->contestCategory == gContestMoves[sContestantStatus[r2].currMove].contestCategory) + + if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[r2].currMove].contestCategory) { - curContestant->appeal2 += gContestEffects[contestMove->effect].appeal * 2; + curContestant->appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; SetContestantStatusUnk13(shared192D0.unk11, 31); } break; @@ -681,6 +717,7 @@ __attribute__((naked)) void ContestEffect_35(void) #endif void ContestEffect_36(void) +// Works well if different in type than the one before. { if (shared192D0.unk0[shared192D0.unk11] != 0) { @@ -701,6 +738,7 @@ void ContestEffect_36(void) } void ContestEffect_37(void) +// Affected by how well the appeal in front goes. { if (shared192D0.unk0[shared192D0.unk11] != 0) { @@ -726,6 +764,7 @@ void ContestEffect_37(void) } void ContestEffect_38(void) +// Ups the user’s condition. Helps prevent nervousness. { if (curContestant->unkD < 30) { @@ -738,6 +777,7 @@ void ContestEffect_38(void) } void ContestEffect_39(void) +// The appeal works well if the user’s condition is good. { curContestant->unk11_5 = TRUE; if (curContestant->unkD != 0) @@ -747,6 +787,7 @@ void ContestEffect_39(void) } void ContestEffect_40(void) +// The next appeal can be made earlier next turn. { s8 i; s8 j; @@ -786,3 +827,97 @@ void ContestEffect_40(void) SetContestantStatusUnk13(shared192D0.unk11, 37); } } + +void ContestEffect_41(void) +// The next appeal can be made later next turn. +{ + s8 i; + s8 j; + u8 sp00[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + sp00[i] = sContestantStatus[i].unk19; + + sp00[shared192D0.unk11] = 0xFF; + + for (i = 3; i > -1; i--) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.unk11 && + i == sp00[j] && + sp00[j] == sContestantStatus[j].unk19) + { + sp00[j]--; + break; + } + } + if (j == 4) + break; + } + + sp00[shared192D0.unk11] = 3; + curContestant->unk10_6 = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].unk19 = sp00[i]; + } + curContestant->unk11_0 = 2; + SetContestantStatusUnk13(shared192D0.unk11, 38); + } +} + +void ContestEffect_42(void) +// Makes the next turn’s order more easily scrambled. +{ + // dummied out? +} + +void ContestEffect_43(void) +// Scrambles the order of appeals on the next turn. +{ + s8 i; + s8 j; + u8 sp00[4]; + u8 sp04[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + { + sp00[i] = sContestantStatus[i].unk19; + sp04[i] = i; + } + + for (i = 0; i < 4; i++) + { + u8 r4 = Random() % (4 - i); + + for (j = 0; j < 4; j++) + { + if (sp04[j] != 0xFF) + { + if (r4 == 0) + { + sp00[j] = i; + sp04[j] = 0xFF; + break; + } + else + r4--; + } + } + } + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].unk19 = sp00[i]; + sContestantStatus[i].unk10_6 = 2; + } + curContestant->unk11_0 = 3; + SetContestantStatusUnk13(shared192D0.unk11, 39); + } +} -- cgit v1.2.3 From 9007978827e723c6d4fb4978ae8dc94f8a3900ab Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 12:43:00 -0400 Subject: through ContestEffect_47 --- src/contest_effect.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index c484882ff..d5e9ca2e4 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -7,6 +7,7 @@ u8 sub_80B9120(void); bool8 sub_80B90C0(u8); void sub_80B9038(u8); s16 sub_80B9224(s16); +s16 sub_80B9268(s16); extern bool8 const gComboStarterLookupTable[]; @@ -921,3 +922,84 @@ void ContestEffect_43(void) SetContestantStatusUnk13(shared192D0.unk11, 39); } } + +void ContestEffect_44(void) +// An appeal that excites the audience in any CONTEST. +{ + if (gContestMoves[curContestant->currMove].contestCategory != gSpecialVar_ContestCategory) + { + curContestant->unk11_4 = TRUE; + } +} + +void ContestEffect_45(void) +// Badly startles all POKéMON that made good appeals. +{ + int i; + u8 r7 = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[i]) + { + if (sContestantStatus[i].appeal2 > 0) + { + shared192D0.unk4 = sContestantStatus[i].appeal2 / 2; + shared192D0.unk4 = sub_80B9268(shared192D0.unk4); + } + else + shared192D0.unk4 = 10; + shared192D0.unk8[0] = i; + shared192D0.unk8[1] = 0xFF; + if (sub_80B9120()) + r7++; + } + } + if (r7 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_46(void) +// The appeal works best the more the crowd is excited. +{ + s16 appeal; + + if (sContest.applauseLevel == 0) + { + appeal = 10; + SetContestantStatusUnk13(shared192D0.unk11, 26); + } + else if (sContest.applauseLevel == 1) + { + appeal = 20; + SetContestantStatusUnk13(shared192D0.unk11, 27); + } + else if (sContest.applauseLevel == 2) + { + appeal = 30; + SetContestantStatusUnk13(shared192D0.unk11, 28); + } + else if (sContest.applauseLevel == 3) + { + appeal = 50; + SetContestantStatusUnk13(shared192D0.unk11, 29); + } + else + { + appeal = 60; + SetContestantStatusUnk13(shared192D0.unk11, 30); + } + curContestant->appeal2 = appeal; +} + +void ContestEffect_47(void) +// Temporarily stops the crowd from growing excited. +{ + if (!shared19328.bits_8) + { + shared19328.bits_8 = TRUE; + shared19328.bits_9 = shared192D0.unk11; + SetContestantStatusUnk13(shared192D0.unk11, 61); + } +} -- cgit v1.2.3 From e8b47004b3e429a6d322853631b2375408d9563c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 13:06:58 -0400 Subject: through nonmatching sub_80B90C0 --- src/contest_effect.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index d5e9ca2e4..e28334b12 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -3,9 +3,9 @@ #include "random.h" #include "contest.h" -u8 sub_80B9120(void); -bool8 sub_80B90C0(u8); void sub_80B9038(u8); +bool8 sub_80B90C0(u8); +u8 sub_80B9120(void); s16 sub_80B9224(s16); s16 sub_80B9268(s16); @@ -1003,3 +1003,104 @@ void ContestEffect_47(void) SetContestantStatusUnk13(shared192D0.unk11, 61); } } + +void sub_80B9038(u8 category) +{ + int i; + int r7 = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[i]) + { + if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory) + shared192D0.unk4 = 40; + else + shared192D0.unk4 = 10; + shared192D0.unk8[0] = i; + shared192D0.unk8[1] = 0xFF; + if (sub_80B9120()) + r7++; + } + } + + if (r7 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); +} + +#ifdef NONMATCHING +bool8 sub_80B90C0(u8 i) +{ + shared192D0.unkD[i] = 1; + if (sContestantStatus[i].unk10_1) + SetContestantStatusUnk13(i, 45); + else if (sContestantStatus[i].unk12 == 0) + { + if (sContestantStatus[i].unkB_7 || sContestantStatus[i].unkC_1) + return FALSE; + return TRUE; + } + else + { + sContestantStatus[i].unk12--; + SetContestantStatusUnk13(i, 44); + } + return FALSE; +} +#else +__attribute__((naked)) bool8 sub_80B90C0(u8 i) +{ + asm_unified("\tpush {lr}\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tldr r2, _080B90EC @ =gSharedMem + 0x192D0\n" + "\tadds r0, r2, 0\n" + "\tadds r0, 0xD\n" + "\tadds r0, r3, r0\n" + "\tmovs r1, 0x1\n" + "\tstrb r1, [r0]\n" + "\tlsls r0, r3, 3\n" + "\tsubs r0, r3\n" + "\tlsls r0, 2\n" + "\tsubs r2, 0x70\n" + "\tadds r2, r0, r2\n" + "\tldrb r1, [r2, 0x10]\n" + "\tmovs r0, 0x2\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _080B90F0\n" + "\tadds r0, r3, 0\n" + "\tmovs r1, 0x2D\n" + "\tb _080B9116\n" + "\t.align 2, 0\n" + "_080B90EC: .4byte gSharedMem + 0x192D0\n" + "_080B90F0:\n" + "\tldrb r0, [r2, 0x12]\n" + "\tcmp r0, 0\n" + "\tbne _080B910E\n" + "\tldrb r1, [r2, 0xB]\n" + "\tmovs r0, 0x80\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _080B911A\n" + "\tldrb r1, [r2, 0xC]\n" + "\tmovs r0, 0x6\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _080B911A\n" + "\tmovs r0, 0x1\n" + "\tb _080B911C\n" + "_080B910E:\n" + "\tsubs r0, 0x1\n" + "\tstrb r0, [r2, 0x12]\n" + "\tadds r0, r3, 0\n" + "\tmovs r1, 0x2C\n" + "_080B9116:\n" + "\tbl SetContestantStatusUnk13\n" + "_080B911A:\n" + "\tmovs r0, 0\n" + "_080B911C:\n" + "\tpop {r1}\n" + "\tbx r1"); +} +#endif -- cgit v1.2.3 From e6a71d1c3759fa3f5b4d71a8cd08b21905948a8c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 15:11:41 -0400 Subject: Remainder of contest_effect.o(.text) --- src/contest_effect.c | 100 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 84 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index e28334b12..ae9be3aaf 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -3,11 +3,14 @@ #include "random.h" #include "contest.h" -void sub_80B9038(u8); -bool8 sub_80B90C0(u8); -u8 sub_80B9120(void); -s16 sub_80B9224(s16); -s16 sub_80B9268(s16); +static void sub_80B9038(u8); +static bool8 sub_80B90C0(u8); +static u8 sub_80B9120(void); +static void sub_80B9200(u8, u8); +static s16 RoundTowardsZero(s16); +static s16 RoundUp(s16); + +#define abs(x) ((x) >= 0 ? (x) : -(x)) extern bool8 const gComboStarterLookupTable[]; @@ -497,7 +500,7 @@ void ContestEffect_31(void) curContestant->appeal2 += r3 / 2; SetContestantStatusUnk13(shared192D0.unk11, 17); } - sContestantStatus[shared192D0.unk11].appeal2 = sub_80B9224(sContestantStatus[shared192D0.unk11].appeal2); + sContestantStatus[shared192D0.unk11].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.unk11].appeal2); } void ContestEffect_32(void) @@ -945,7 +948,7 @@ void ContestEffect_45(void) if (sContestantStatus[i].appeal2 > 0) { shared192D0.unk4 = sContestantStatus[i].appeal2 / 2; - shared192D0.unk4 = sub_80B9268(shared192D0.unk4); + shared192D0.unk4 = RoundUp(shared192D0.unk4); } else shared192D0.unk4 = 10; @@ -1004,7 +1007,7 @@ void ContestEffect_47(void) } } -void sub_80B9038(u8 category) +static void sub_80B9038(u8 category) { int i; int r7 = 0; @@ -1029,26 +1032,24 @@ void sub_80B9038(u8 category) } #ifdef NONMATCHING -bool8 sub_80B90C0(u8 i) +static bool8 sub_80B90C0(u8 i) { shared192D0.unkD[i] = 1; if (sContestantStatus[i].unk10_1) - SetContestantStatusUnk13(i, 45); - else if (sContestantStatus[i].unk12 == 0) { - if (sContestantStatus[i].unkB_7 || sContestantStatus[i].unkC_1) - return FALSE; - return TRUE; + SetContestantStatusUnk13(i, 45); } - else + else if (sContestantStatus[i].unk12 != 0) { sContestantStatus[i].unk12--; SetContestantStatusUnk13(i, 44); } + else if (!sContestantStatus[i].unkB_7 && sContestantStatus[i].unkC_1 == 0) + return TRUE; return FALSE; } #else -__attribute__((naked)) bool8 sub_80B90C0(u8 i) +static __attribute__((naked)) bool8 sub_80B90C0(u8 i) { asm_unified("\tpush {lr}\n" "\tlsls r0, 24\n" @@ -1104,3 +1105,70 @@ __attribute__((naked)) bool8 sub_80B90C0(u8 i) "\tbx r1"); } #endif + +static bool8 sub_80B9120(void) +{ + s16 sp00[4] = {0}; + int i; + + for (i = 0; shared192D0.unk8[i] != 0xFF; i++) + { + u8 r4 = shared192D0.unk8[i]; + if (sub_80B90C0(r4)) + { + shared192D0.unk6 = shared192D0.unk4; + if (sContestantStatus[r4].unk10_2) + shared192D0.unk6 *= 2; + if (sContestantStatus[r4].unk10_0) + { + shared192D0.unk6 = 10; + SetContestantStatusUnk13(r4, 47); + } + else if ((shared192D0.unk6 -= sContestantStatus[r4].unkF) <= 0) + { + shared192D0.unk6 = 0; + SetContestantStatusUnk13(r4, 46); + } + else + { + sub_80B9200(r4, shared192D0.unk6); + sub_80B141C(r4, shared192D0.unk6); + sp00[r4] = shared192D0.unk6; + } + } + } + + for (i = 0; i < 4; i++) + { + if (sp00[i] != 0) + return TRUE; + } + return FALSE; +} + +static void sub_80B9200(u8 i, u8 jam) +{ + sContestantStatus[i].appeal2 -= jam; + sContestantStatus[i].unkE += jam; +} + +static s16 RoundTowardsZero(s16 score) +{ + s16 r1 = abs(score) % 10; + if (score < 0) + { + if (r1 != 0) + score -= 10 - r1; + } + else + score -= r1; + return score; +} + +static s16 RoundUp(s16 score) +{ + s16 r1 = abs(score) % 10; + if (r1 != 0) + score += 10 - r1; + return score; +} -- cgit v1.2.3 From ca3d39512ce4857f6389888045c5d6d562331302 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 15:48:09 -0400 Subject: Decompile contest effect data --- src/contest.c | 2 +- src/contest_effect.c | 140 +++++++++---- src/data/contest_moves.h | 532 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 628 insertions(+), 46 deletions(-) create mode 100644 src/data/contest_moves.h (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 686b01476..b94fd4999 100644 --- a/src/contest.c +++ b/src/contest.c @@ -715,7 +715,7 @@ void sub_80ABCDC(u8 taskId) } else if (move != 0 && sContestantStatus[gContestPlayerMonIndex].prevMove == move - && gContestMoves[move].effect != CONTEST_EFFECT_REPEATABLE) + && gContestMoves[move].effect != CONTEST_EFFECT_REPETITION_NOT_BORING) { // Gray the text because it is a repeated move r5 = StringCopy(sp8, gUnknownText_UnknownFormatting3); diff --git a/src/contest_effect.c b/src/contest_effect.c index ae9be3aaf..699da6740 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -3,6 +3,54 @@ #include "random.h" #include "contest.h" +static void ContestEffect_00(void); +static void ContestEffect_01(void); +static void ContestEffect_02(void); +static void ContestEffect_03(void); +static void ContestEffect_04(void); +static void ContestEffect_05(void); +static void ContestEffect_06(void); +static void ContestEffect_07(void); +static void ContestEffect_08(void); +static void ContestEffect_09(void); +static void ContestEffect_08(void); +static void ContestEffect_09(void); +static void ContestEffect_08(void); +static void ContestEffect_09(void); +static void ContestEffect_14(void); +static void ContestEffect_15(void); +static void ContestEffect_16(void); +static void ContestEffect_17(void); +static void ContestEffect_18(void); +static void ContestEffect_19(void); +static void ContestEffect_20(void); +static void ContestEffect_21(void); +static void ContestEffect_22(void); +static void ContestEffect_23(void); +static void ContestEffect_24(void); +static void ContestEffect_25(void); +static void ContestEffect_26(void); +static void ContestEffect_27(void); +static void ContestEffect_28(void); +static void ContestEffect_29(void); +static void ContestEffect_30(void); +static void ContestEffect_31(void); +static void ContestEffect_32(void); +static void ContestEffect_33(void); +static void ContestEffect_34(void); +static void ContestEffect_35(void); +static void ContestEffect_36(void); +static void ContestEffect_37(void); +static void ContestEffect_38(void); +static void ContestEffect_39(void); +static void ContestEffect_40(void); +static void ContestEffect_41(void); +static void ContestEffect_42(void); +static void ContestEffect_43(void); +static void ContestEffect_44(void); +static void ContestEffect_45(void); +static void ContestEffect_46(void); +static void ContestEffect_47(void); static void sub_80B9038(u8); static bool8 sub_80B90C0(u8); static u8 sub_80B9120(void); @@ -12,7 +60,9 @@ static s16 RoundUp(s16); #define abs(x) ((x) >= 0 ? (x) : -(x)) -extern bool8 const gComboStarterLookupTable[]; +#include "data/contest_moves.h" + +//extern bool8 const gComboStarterLookupTable[]; #define curContestant (&sContestantStatus[shared192D0.unk11]) @@ -33,26 +83,26 @@ bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) { return 0; } -void ContestEffect_00(void) +static void ContestEffect_00(void) // A highly appealing move. { } -void ContestEffect_01(void) +static void ContestEffect_01(void) // After this move, the user is more easily startled. { curContestant->unk10_2 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 0); } -void ContestEffect_02(void) +static void ContestEffect_02(void) // Makes a great appeal, but allows no more to the end. { curContestant->unk11_3 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 1); } -void ContestEffect_03(void) +static void ContestEffect_03(void) // Can be used repeatedly without boring the JUDGE. { curContestant->unk10_3 = TRUE; @@ -60,35 +110,35 @@ void ContestEffect_03(void) curContestant->moveRepeatCount = 0; } -void ContestEffect_04(void) +static void ContestEffect_04(void) // Can avoid being startled by others once. { curContestant->unk12 = 1; SetContestantStatusUnk13(shared192D0.unk11, 2); } -void ContestEffect_05(void) +static void ContestEffect_05(void) // Can avoid being startled by others. { curContestant->unk10_1 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 3); } -void ContestEffect_06(void) +static void ContestEffect_06(void) // Can avoid being startled by others a little. { curContestant->unkF = 20; SetContestantStatusUnk13(shared192D0.unk11, 4); } -void ContestEffect_07(void) +static void ContestEffect_07(void) // After this move, the user is less likely to be startled. { curContestant->unk10_0 = TRUE; SetContestantStatusUnk13(shared192D0.unk11, 5); } -void ContestEffect_08(void) +static void ContestEffect_08(void) // Slightly startles the POKéMON in front. { u8 idx = 0; @@ -111,7 +161,7 @@ void ContestEffect_08(void) SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_09(void) +static void ContestEffect_09(void) // Slightly startles those that have made appeals. { u8 idx = 0; @@ -132,7 +182,7 @@ void ContestEffect_09(void) SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_14(void) +static void ContestEffect_14(void) // Startles the POKéMON that appealed before the user. { u8 r0 = Random() % 10; @@ -147,7 +197,7 @@ void ContestEffect_14(void) ContestEffect_08(); } -void ContestEffect_15(void) +static void ContestEffect_15(void) // Startles all POKéMON that appealed before the user. { u8 r7 = 0; @@ -190,7 +240,7 @@ void ContestEffect_15(void) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } -void ContestEffect_16(void) +static void ContestEffect_16(void) // Shifts the JUDGE’s attention from others. { bool32 r9 = FALSE; @@ -220,7 +270,7 @@ void ContestEffect_16(void) } } -void ContestEffect_17(void) +static void ContestEffect_17(void) // Startles the POKéMON that has the JUDGE’s attention. { u8 r9 = 0; @@ -250,7 +300,7 @@ void ContestEffect_17(void) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } -void ContestEffect_18(void) +static void ContestEffect_18(void) // Jams the others, and misses one turn of appeals. { curContestant->unk11_2 = TRUE; @@ -258,7 +308,7 @@ void ContestEffect_18(void) SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_19(void) +static void ContestEffect_19(void) // Startles POKéMON that made a same-type appeal. { u16 move = curContestant->currMove; @@ -266,42 +316,42 @@ void ContestEffect_19(void) SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_20(void) +static void ContestEffect_20(void) // Badly startles POKéMON that made COOL appeals. { sub_80B9038(CONTEST_CATEGORY_COOL); SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_21(void) +static void ContestEffect_21(void) // Badly startles POKéMON that made BEAUTY appeals. { sub_80B9038(CONTEST_CATEGORY_BEAUTY); SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_22(void) +static void ContestEffect_22(void) // Badly startles POKéMON that made CUTE appeals. { sub_80B9038(CONTEST_CATEGORY_CUTE); SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_23(void) +static void ContestEffect_23(void) // Badly startles POKéMON that made SMART appeals. { sub_80B9038(CONTEST_CATEGORY_SMART); SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_24(void) +static void ContestEffect_24(void) // Badly startles POKéMON that made TOUGH appeals. { sub_80B9038(CONTEST_CATEGORY_TOUGH); SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_25(void) +static void ContestEffect_25(void) // Makes one POKéMON after the user nervous. { bool32 r4 = FALSE; @@ -333,7 +383,7 @@ void ContestEffect_25(void) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } -void ContestEffect_26(void) +static void ContestEffect_26(void) // Makes all POKéMON after the user nervous. { u8 r9 = 0; @@ -409,7 +459,7 @@ void ContestEffect_26(void) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } -void ContestEffect_27(void) +static void ContestEffect_27(void) // Worsens the condition of those that made appeals. { u8 r8 = 0; @@ -433,7 +483,7 @@ void ContestEffect_27(void) SetContestantStatusUnk14(shared192D0.unk11, 0x39); } -void ContestEffect_28(void) +static void ContestEffect_28(void) // Badly startles POKéMON in good condition. { u8 r7 = 0; @@ -458,7 +508,7 @@ void ContestEffect_28(void) SetContestantStatusUnk14(shared192D0.unk11, 0x39); } -void ContestEffect_29(void) +static void ContestEffect_29(void) // The appeal works great if performed first. { if (gUnknown_02038696[shared192D0.unk11] == 0) @@ -469,7 +519,7 @@ void ContestEffect_29(void) } } -void ContestEffect_30(void) +static void ContestEffect_30(void) // The appeal works great if performed last. { if (gUnknown_02038696[shared192D0.unk11] == 3) @@ -480,7 +530,7 @@ void ContestEffect_30(void) } } -void ContestEffect_31(void) +static void ContestEffect_31(void) // Makes the appeal as good as those before it. { int r1; @@ -503,7 +553,7 @@ void ContestEffect_31(void) sContestantStatus[shared192D0.unk11].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.unk11].appeal2); } -void ContestEffect_32(void) +static void ContestEffect_32(void) // Makes the appeal as good as the one before it. { s16 r6 = 0; @@ -526,7 +576,7 @@ void ContestEffect_32(void) } } -void ContestEffect_33(void) +static void ContestEffect_33(void) // The appeal works better the later it is performed. { u8 r3 = shared192D0.unk0[shared192D0.unk11]; @@ -544,7 +594,7 @@ void ContestEffect_33(void) SetContestantStatusUnk13(shared192D0.unk11, 24); } -void ContestEffect_34(void) +static void ContestEffect_34(void) // The appeal’s quality varies depending on its timing. { u8 r0 = Random() % 10; @@ -577,7 +627,7 @@ void ContestEffect_34(void) #ifdef NONMATCHING // Not even close, send help -void ContestEffect_35(void) +static void ContestEffect_35(void) // Works well if it’s the same type as the one before. { s8 r4; @@ -720,7 +770,7 @@ __attribute__((naked)) void ContestEffect_35(void) } #endif -void ContestEffect_36(void) +static void ContestEffect_36(void) // Works well if different in type than the one before. { if (shared192D0.unk0[shared192D0.unk11] != 0) @@ -741,7 +791,7 @@ void ContestEffect_36(void) } } -void ContestEffect_37(void) +static void ContestEffect_37(void) // Affected by how well the appeal in front goes. { if (shared192D0.unk0[shared192D0.unk11] != 0) @@ -767,7 +817,7 @@ void ContestEffect_37(void) } } -void ContestEffect_38(void) +static void ContestEffect_38(void) // Ups the user’s condition. Helps prevent nervousness. { if (curContestant->unkD < 30) @@ -780,7 +830,7 @@ void ContestEffect_38(void) SetContestantStatusUnk13(shared192D0.unk11, 58); } -void ContestEffect_39(void) +static void ContestEffect_39(void) // The appeal works well if the user’s condition is good. { curContestant->unk11_5 = TRUE; @@ -790,7 +840,7 @@ void ContestEffect_39(void) SetContestantStatusUnk13(shared192D0.unk11, 59); } -void ContestEffect_40(void) +static void ContestEffect_40(void) // The next appeal can be made earlier next turn. { s8 i; @@ -832,7 +882,7 @@ void ContestEffect_40(void) } } -void ContestEffect_41(void) +static void ContestEffect_41(void) // The next appeal can be made later next turn. { s8 i; @@ -874,13 +924,13 @@ void ContestEffect_41(void) } } -void ContestEffect_42(void) +static void ContestEffect_42(void) // Makes the next turn’s order more easily scrambled. { // dummied out? } -void ContestEffect_43(void) +static void ContestEffect_43(void) // Scrambles the order of appeals on the next turn. { s8 i; @@ -926,7 +976,7 @@ void ContestEffect_43(void) } } -void ContestEffect_44(void) +static void ContestEffect_44(void) // An appeal that excites the audience in any CONTEST. { if (gContestMoves[curContestant->currMove].contestCategory != gSpecialVar_ContestCategory) @@ -935,7 +985,7 @@ void ContestEffect_44(void) } } -void ContestEffect_45(void) +static void ContestEffect_45(void) // Badly startles all POKéMON that made good appeals. { int i; @@ -963,7 +1013,7 @@ void ContestEffect_45(void) SetContestantStatusUnk13(shared192D0.unk11, 48); } -void ContestEffect_46(void) +static void ContestEffect_46(void) // The appeal works best the more the crowd is excited. { s16 appeal; @@ -996,7 +1046,7 @@ void ContestEffect_46(void) curContestant->appeal2 = appeal; } -void ContestEffect_47(void) +static void ContestEffect_47(void) // Temporarily stops the crowd from growing excited. { if (!shared19328.bits_8) diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h new file mode 100644 index 000000000..585ff91f1 --- /dev/null +++ b/src/data/contest_moves.h @@ -0,0 +1,532 @@ +#ifndef POKERUBY_CONTEST_MOVES_H +#define POKERUBY_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_00, + ContestEffect_01, + ContestEffect_02, + ContestEffect_03, + ContestEffect_04, + ContestEffect_05, + ContestEffect_06, + ContestEffect_07, + ContestEffect_08, + ContestEffect_09, + ContestEffect_08, + ContestEffect_09, + ContestEffect_08, + ContestEffect_09, + ContestEffect_14, + ContestEffect_15, + ContestEffect_16, + ContestEffect_17, + ContestEffect_18, + ContestEffect_19, + ContestEffect_20, + ContestEffect_21, + ContestEffect_22, + ContestEffect_23, + ContestEffect_24, + ContestEffect_25, + ContestEffect_26, + ContestEffect_27, + ContestEffect_28, + ContestEffect_29, + ContestEffect_30, + ContestEffect_31, + ContestEffect_32, + ContestEffect_33, + ContestEffect_34, + ContestEffect_35, + ContestEffect_36, + ContestEffect_37, + ContestEffect_38, + ContestEffect_39, + ContestEffect_40, + ContestEffect_41, + ContestEffect_42, + ContestEffect_43, + ContestEffect_44, + ContestEffect_45, + ContestEffect_46, + ContestEffect_47 +}; + +#endif //POKERUBY_CONTEST_MOVES_H -- cgit v1.2.3 From 32b86c14aa57c6e055670daf76f8e1dbccfe00c3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 30 Mar 2018 17:07:25 -0400 Subject: rename some funcs and fields --- src/battle/battle_controller_player.c | 4 +- src/contest.c | 166 ++++++------- src/contest_ai.c | 8 +- src/contest_effect.c | 446 +++++++++++++++++----------------- 4 files changed, 308 insertions(+), 316 deletions(-) (limited to 'src') diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 3e259a21b..f9190eb39 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -614,7 +614,7 @@ struct ChooseMoveStruct u8 pp[4]; u8 unkC[0x12-0xC]; u8 unk12; - u8 unk13; + u8 effectStringId; u8 filler14[0x20-0x14]; }; @@ -637,7 +637,7 @@ void sub_802C68C(void) PlaySE(SE_SELECT); if (r6->moves[gMoveSelectionCursor[gActiveBank]] == MOVE_CURSE) - r4 = (r6->unk12 != TYPE_GHOST && (r6->unk13 ^ 7)) ? 0x10 : 0; + r4 = (r6->unk12 != TYPE_GHOST && (r6->effectStringId ^ 7)) ? 0x10 : 0; else r4 = gBattleMoves[r6->moves[gMoveSelectionCursor[gActiveBank]]].target; diff --git a/src/contest.c b/src/contest.c index b94fd4999..d2fa37977 100644 --- a/src/contest.c +++ b/src/contest.c @@ -389,8 +389,8 @@ void ClearContestVars(void) for (i = 0; i < 4; i++) { sContestantStatus[i].unkB_0 = 0; - sContestantStatus[i].unk13 = 0xFF; - sContestantStatus[i].unk14 = 0xFF; + sContestantStatus[i].effectStringId = 0xFF; + sContestantStatus[i].effectStringId2 = 0xFF; } memset(&shared192D0, 0, sizeof(shared192D0)); @@ -709,7 +709,7 @@ void sub_80ABCDC(u8 taskId) if (sContestantStatus[gContestPlayerMonIndex].prevMove != MOVE_NONE && sub_80B214C(gContestPlayerMonIndex) && AreMovesContestCombo(sContestantStatus[gContestPlayerMonIndex].prevMove, move) != 0 - && sContestantStatus[gContestPlayerMonIndex].unk15_4) + && sContestantStatus[gContestPlayerMonIndex].hasJudgesAttention) { r5 = StringCopy(sp8, gUnknownText_UnknownFormatting2); } @@ -1090,7 +1090,7 @@ void sub_80AC2CC(u8 taskId) { case 0: sub_80B0D7C(); - for (i = 0; sContest.unk19214 != shared192D0.unk0[i]; i++) + for (i = 0; sContest.unk19214 != shared192D0.turnOrder[i]; i++) ; sContest.unk19215 = i; r7 = sContest.unk19215; @@ -1117,8 +1117,8 @@ void sub_80AC2CC(u8 taskId) gTasks[taskId].data[0] = 2; return; case 2: - if (sContestantStatus[r7].unkC_1 != 0 - || sContestantStatus[r7].unkB_7) + if (sContestantStatus[r7].numTurnsSkipped != 0 + || sContestantStatus[r7].noMoreTurns) { gTasks[taskId].data[0] = 31; } @@ -1155,7 +1155,7 @@ void sub_80AC2CC(u8 taskId) } return; case 5: - if (sContestantStatus[r7].unkC_0) + if (sContestantStatus[r7].nervous) { gTasks[taskId].data[0] = 33; } @@ -1202,7 +1202,7 @@ void sub_80AC2CC(u8 taskId) } else { - if (!sContestantStatus[r7].unk15_4) + if (!sContestantStatus[r7].hasJudgesAttention) sub_80B03A8(r7); sub_80B20C4(); gTasks[taskId].data[0] = 23; @@ -1218,25 +1218,25 @@ void sub_80AC2CC(u8 taskId) return; case 23: gTasks[taskId].data[1] = 0; - if (sContestantStatus[r7].unk13 != 0xFF) + if (sContestantStatus[r7].effectStringId != 0xFF) { - sub_80B146C(r7, sContestantStatus[r7].unk13); - sContestantStatus[r7].unk13 = 0xFF; + sub_80B146C(r7, sContestantStatus[r7].effectStringId); + sContestantStatus[r7].effectStringId = 0xFF; gTasks[taskId].data[0] = 24; } else { - if (sContestantStatus[r7].unk14 != 0xFF) + if (sContestantStatus[r7].effectStringId2 != 0xFF) { for (i = 0; i < 4; i++) { - if (i != r7 && sContestantStatus[i].unk13 != 0xFF) + if (i != r7 && sContestantStatus[i].effectStringId != 0xFF) break; } if (i == 4) { - sub_80B146C(r7, sContestantStatus[r7].unk14); - sContestantStatus[r7].unk14 = 0xFF; + sub_80B146C(r7, sContestantStatus[r7].effectStringId2); + sContestantStatus[r7].effectStringId2 = 0xFF; gTasks[taskId].data[0] = 24; } else @@ -1337,7 +1337,7 @@ void sub_80AC2CC(u8 taskId) for (r2 = 0; r2 < 4; r2++) { if (r2 != r7 && gUnknown_02038696[r2] == i - && sContestantStatus[r2].unk13 != 0xFF) + && sContestantStatus[r2].effectStringId != 0xFF) { r4 = 1; break; @@ -1349,8 +1349,8 @@ void sub_80AC2CC(u8 taskId) if (r4) { gTasks[taskId].data[1] = gUnknown_02038696[r2]; - sub_80B146C(r2, sContestantStatus[r2].unk13); - sContestantStatus[r2].unk13 = 0xFF; + sub_80B146C(r2, sContestantStatus[r2].effectStringId); + sContestantStatus[r2].effectStringId = 0xFF; gTasks[taskId].data[0] = 27; } else @@ -1420,8 +1420,8 @@ void sub_80AC2CC(u8 taskId) if (gTasks[taskId].data[10]++ > 9) { gTasks[taskId].data[10] = 0; - if (sContestantStatus[r7].unkC_1 != 0 - || sContestantStatus[r7].unk11_2) + if (sContestantStatus[r7].numTurnsSkipped != 0 + || sContestantStatus[r7].turnSkipped) { sub_80AF138(); StringCopy(gStringVar1, gContestMons[r7].nickname); @@ -1478,7 +1478,7 @@ void sub_80AC2CC(u8 taskId) { if (++gTasks[taskId].data[10] > 50) { - if (!sContestantStatus[r7].unk15_4) + if (!sContestantStatus[r7].hasJudgesAttention) { sub_80AFBA0( sContestantStatus[r7].appeal2, @@ -1535,7 +1535,7 @@ void sub_80AC2CC(u8 taskId) } return; case 41: - if (shared19328.bits_8 && r7 != shared19328.bits_9) + if (shared19328.excitementFrozen && r7 != shared19328.excitementFreezer) { gTasks[taskId].data[0] = 57; } @@ -1679,7 +1679,7 @@ void sub_80AC2CC(u8 taskId) return; case 57: sub_80AF138(); - StringCopy(gStringVar3, gContestMons[shared19328.bits_9].nickname); + StringCopy(gStringVar3, gContestMons[shared19328.excitementFreezer].nickname); StringCopy(gStringVar1, gContestMons[r7].nickname); StringCopy(gStringVar2, gMoveNames[sContestantStatus[r7].currMove]); StringExpandPlaceholders(gStringVar4, ContestString_CrowdWatches); @@ -1703,8 +1703,8 @@ void sub_80AC2CC(u8 taskId) } return; case 33: - if (sContestantStatus[r7].unk15_4) - sContestantStatus[r7].unk15_4 = 0; + if (sContestantStatus[r7].hasJudgesAttention) + sContestantStatus[r7].hasJudgesAttention = 0; sub_80B09B0(r7); StringCopy(gStringVar1, gContestMons[r7].nickname); StringCopy(gStringVar2, gMoveNames[sContestantStatus[r7].currMove]); @@ -2685,7 +2685,7 @@ bool8 sub_80AEE54(u8 a, u8 b) { r8 = sub_80AEE4C(a); r4 = 0; - while (sContestantStatus[a].unkD / 10 > r4) + while (sContestantStatus[a].condition / 10 > r4) { *(u16 *)(VRAM + 0xC026 + (r9 + r4) * 64) = r8; r4++; @@ -2700,7 +2700,7 @@ bool8 sub_80AEE54(u8 a, u8 b) { r8 = 0; r4 = 3; - while (sContestantStatus[a].unkD / 10 < r4) + while (sContestantStatus[a].condition / 10 < r4) { *(u16 *)(VRAM + 0xBFE6 + (r9 + r4) * 64) = r8; r4--; @@ -2725,7 +2725,7 @@ void sub_80AEF50(void) u16 r6 = sub_80AEE4C(i); r4 = 0; - while (r4 < sContestantStatus[i].unkD / 10) + while (r4 < sContestantStatus[i].condition / 10) { *(u16 *)(VRAM + 0xC026 + (r8 + r4) * 64) = r6; r4++; @@ -2771,11 +2771,11 @@ bool8 sub_80AF038(u8 a) u16 r4 = 0; u8 r6 = gUnknown_02038696[a] * 5 + 2; - if (sContestantStatus[a].unk10_0 != 0 || sContestantStatus[a].unk10_1 != 0 || sContestantStatus[a].unk12 != 0 || sContestantStatus[a].unkF != 0) + if (sContestantStatus[a].resistant != 0 || sContestantStatus[a].immune != 0 || sContestantStatus[a].jamSafetyCount != 0 || sContestantStatus[a].jamReduction != 0) r4 = sub_80AEFE8(a, 0); - else if (sContestantStatus[a].unkC_0) + else if (sContestantStatus[a].nervous) r4 = sub_80AEFE8(a, 1); - else if (sContestantStatus[a].unkC_1 != 0 || sContestantStatus[a].unkB_7) + else if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) r4 = sub_80AEFE8(a, 2); else r5 = FALSE; @@ -2949,7 +2949,7 @@ void sub_80AF3C0(void) bool8 sub_80AF404(u8 a) { - if (sContestantStatus[a].unkC_1 != 0 || sContestantStatus[a].unkB_7) + if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) return FALSE; else return TRUE; @@ -2964,32 +2964,32 @@ void sub_80AF438(void) // This is bitfield hell... sContestantStatus[i].appeal2 = 0; sContestantStatus[i].appeal1 = 0; - sContestantStatus[i].unk12 = 0; - if (sContestantStatus[i].unkC_1 > 0) - sContestantStatus[i].unkC_1--; + sContestantStatus[i].jamSafetyCount = 0; + if (sContestantStatus[i].numTurnsSkipped > 0) + sContestantStatus[i].numTurnsSkipped--; sContestantStatus[i].unkE = 0; - sContestantStatus[i].unk10_0 = 0; - sContestantStatus[i].unkF = 0; - sContestantStatus[i].unk10_1 = 0; - sContestantStatus[i].unk10_2 = 0; - sContestantStatus[i].unk10_3 = 0; - sContestantStatus[i].unkC_0 = 0; - sContestantStatus[i].unk13 = 0xFF; - sContestantStatus[i].unk14 = -1; + sContestantStatus[i].resistant = 0; + sContestantStatus[i].jamReduction = 0; + sContestantStatus[i].immune = 0; + sContestantStatus[i].moreEasilyStartled = 0; + sContestantStatus[i].usedRepeatableMove = 0; + sContestantStatus[i].nervous = 0; + sContestantStatus[i].effectStringId = 0xFF; + sContestantStatus[i].effectStringId2 = -1; sContestantStatus[i].unk10_4 = 0; sContestantStatus[i].unk15_2 = sContestantStatus[i].disappointedRepeat; sContestantStatus[i].disappointedRepeat = FALSE; sContestantStatus[i].unk11_0 = 0; sContestantStatus[i].unk11_5 = 0; - if (sContestantStatus[i].unk11_2) + if (sContestantStatus[i].turnSkipped) { - sContestantStatus[i].unkC_1 = 1; - sContestantStatus[i].unk11_2 = 0; + sContestantStatus[i].numTurnsSkipped = 1; + sContestantStatus[i].turnSkipped = 0; } - if (sContestantStatus[i].unk11_3) + if (sContestantStatus[i].exploded) { - sContestantStatus[i].unkB_7 = 1; - sContestantStatus[i].unk11_3 = 0; + sContestantStatus[i].noMoreTurns = 1; + sContestantStatus[i].exploded = 0; } sContestantStatus[i].unk11_4 = 0; } @@ -3000,12 +3000,12 @@ void sub_80AF438(void) sContest.unk19248[sContest.turnNumber][i] = Contest_GetMoveExcitement(sContestantStatus[i].currMove); sContestantStatus[i].currMove = MOVE_NONE; } - shared19328.bits_8 = 0; + shared19328.excitementFrozen = 0; } bool8 Contest_IsMonsTurnDisabled(u8 a) { - if (sContestantStatus[a].unkC_1 != 0 || sContestantStatus[a].unkB_7) + if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns) return TRUE; else return FALSE; @@ -4209,7 +4209,7 @@ void unref_sub_80B0994(u8 a) void sub_80B09B0(u8 a) { - if (sContestantStatus[a].unk15_4) + if (sContestantStatus[a].hasJudgesAttention) sub_80B0368(a); else sub_80B03A8(a); @@ -4543,34 +4543,34 @@ void sub_80B114C(u8 contestant) } sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal; sContestantStatus[contestant].appeal2 = gContestEffects[effect].appeal; - shared192D0.unk4 = gContestEffects[effect].jam; - shared192D0.unk6 = gContestEffects[effect].jam; - shared192D0.unk11 = contestant; + shared192D0.jam = gContestEffects[effect].jam; + shared192D0.jam2 = gContestEffects[effect].jam; + shared192D0.contestant = contestant; for (i = 0; i < 4; i++) { sContestantStatus[i].unkE = 0; shared192D0.unkD[i] = 0; } - if (sContestantStatus[contestant].unk15_4 && AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove) == 0) - sContestantStatus[contestant].unk15_4 = 0; + if (sContestantStatus[contestant].hasJudgesAttention && AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove) == 0) + sContestantStatus[contestant].hasJudgesAttention = 0; gContestEffectFuncs[effect](); if (sContestantStatus[contestant].unk10_4 == 1) - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].unkD - 10; + sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition - 10; else if (sContestantStatus[contestant].unk11_5) - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].unkD * 3; + sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition * 3; else - sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].unkD; + sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition; sContestantStatus[contestant].unk16 = 0; sContestantStatus[contestant].unk15_6 = 0; if (sub_80B214C(contestant)) { u8 r2 = AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove); - if (r2 != 0 && sContestantStatus[contestant].unk15_4) + if (r2 != 0 && sContestantStatus[contestant].hasJudgesAttention) { sContestantStatus[contestant].unk16 = r2; sContestantStatus[contestant].unk15_6 = 1; - sContestantStatus[contestant].unk15_4 = 0; + sContestantStatus[contestant].hasJudgesAttention = 0; sContestantStatus[contestant].unk17 = sContestantStatus[contestant].appeal1 * sContestantStatus[contestant].unk16; sContestantStatus[contestant].unk15_3 = 1; } @@ -4578,20 +4578,20 @@ void sub_80B114C(u8 contestant) { if (gContestMoves[sContestantStatus[contestant].currMove].comboStarterId != 0) { - sContestantStatus[contestant].unk15_4 = 1; + sContestantStatus[contestant].hasJudgesAttention = 1; sContestantStatus[contestant].unk15_6 = 1; } else { - sContestantStatus[contestant].unk15_4 = 0; + sContestantStatus[contestant].hasJudgesAttention = 0; } } } if (sContestantStatus[contestant].disappointedRepeat) sContestantStatus[contestant].unk18 = (sContestantStatus[contestant].moveRepeatCount + 1) * 10; - if (sContestantStatus[contestant].unkC_0) + if (sContestantStatus[contestant].nervous) { - sContestantStatus[contestant].unk15_4 = 0; + sContestantStatus[contestant].hasJudgesAttention = 0; sContestantStatus[contestant].appeal2 = 0; sContestantStatus[contestant].appeal1 = 0; } @@ -4624,41 +4624,41 @@ void sub_80B114C(u8 contestant) } } -void SetContestantStatusUnk13(u8 a, u8 b) +void SetContestantEffectStringID(u8 a, u8 b) { - sContestantStatus[a].unk13 = b; + sContestantStatus[a].effectStringId = b; } -void SetContestantStatusUnk14(u8 a, u8 b) +void SetContestantEffectStringID2(u8 a, u8 b) { - sContestantStatus[a].unk14 = b; + sContestantStatus[a].effectStringId2 = b; } void sub_80B141C(u8 a, u8 b) { if (b >= 60) - SetContestantStatusUnk13(a, 53); + SetContestantEffectStringID(a, 53); else if (b >= 40) - SetContestantStatusUnk13(a, 52); + SetContestantEffectStringID(a, 52); else if (b >= 30) - SetContestantStatusUnk13(a, 51); + SetContestantEffectStringID(a, 51); else if (b >= 20) - SetContestantStatusUnk13(a, 50); + SetContestantEffectStringID(a, 50); else if (b >= 10) - SetContestantStatusUnk13(a, 49); + SetContestantEffectStringID(a, 49); } void sub_80B146C(u8 a, u8 b) { StringCopy(gStringVar1, gContestMons[a].nickname); StringCopy(gStringVar2, gMoveNames[sContestantStatus[a].currMove]); - if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_COOL) + if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL) StringCopy(gStringVar3, gText_Contest_Shyness); - else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) + else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) StringCopy(gStringVar3, gText_Contest_Anxiety); - else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_CUTE) + else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE) StringCopy(gStringVar3, gText_Contest_Laziness); - else if (gContestMoves[sContestantStatus[shared192D0.unk11].currMove].contestCategory == CONTEST_CATEGORY_SMART) + else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART) StringCopy(gStringVar3, gText_Contest_Hesitancy); else StringCopy(gStringVar3, gText_Contest_Fear); @@ -4667,9 +4667,9 @@ void sub_80B146C(u8 a, u8 b) Text_InitWindow8002EB0(&gMenuWindow, gStringVar4, 776, 1, 15); } -void sub_80B157C(u8 p) +void MakeContestantNervous(u8 p) { - sContestantStatus[p].unkC_0 = 1; + sContestantStatus[p].nervous = 1; sContestantStatus[p].currMove = MOVE_NONE; } @@ -4723,7 +4723,7 @@ void sub_80B159C(void) for (i = 0; i < 4; i++) { - shared192D0.unk0[i] = sp0[i]; + shared192D0.turnOrder[i] = sp0[i]; sContestantStatus[i].unk19 = 0xFF; sContestantStatus[i].unk10_6 = 0; gUnknown_02038696[i] = sp0[i]; @@ -5114,7 +5114,7 @@ void sub_80B20C4(void) bool8 sub_80B214C(u8 a) { - if (sContestantStatus[a].disappointedRepeat || sContestantStatus[a].unkC_0) + if (sContestantStatus[a].disappointedRepeat || sContestantStatus[a].nervous) return FALSE; else return TRUE; diff --git a/src/contest_ai.c b/src/contest_ai.c index 8fce9d15f..e570dbafb 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -380,7 +380,7 @@ static u8 sub_8128A7C(u8 var) int i; for(i = 0; i < 4; i++) - if(shared192D0.unk0[i] == var) + if(shared192D0.turnOrder[i] == var) break; return i; @@ -494,7 +494,7 @@ static void ContestAICmd_unk_0A(void) static void ContestAICmd_get_user_order(void) { - eContestAI->scriptResult = shared192D0.unk0[eContestAI->unk41]; + eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->unk41]; gAIScriptPtr += 1; } @@ -540,7 +540,7 @@ static void ContestAICmd_unk_0F(void) static void ContestAICmd_get_user_condition_maybe(void) { - eContestAI->scriptResult = sContestantStatus[eContestAI->unk41].unkD / 10; + eContestAI->scriptResult = sContestantStatus[eContestAI->unk41].condition / 10; gAIScriptPtr += 1; } @@ -1147,7 +1147,7 @@ static void ContestAICmd_get_condition(void) { int var = sub_8128A7C(gAIScriptPtr[1]); - eContestAI->scriptResult = sContestantStatus[var].unkD / 10; + eContestAI->scriptResult = sContestantStatus[var].condition / 10; gAIScriptPtr += 2; } diff --git a/src/contest_effect.c b/src/contest_effect.c index 699da6740..ae082b0e5 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -13,10 +13,6 @@ static void ContestEffect_06(void); static void ContestEffect_07(void); static void ContestEffect_08(void); static void ContestEffect_09(void); -static void ContestEffect_08(void); -static void ContestEffect_09(void); -static void ContestEffect_08(void); -static void ContestEffect_09(void); static void ContestEffect_14(void); static void ContestEffect_15(void); static void ContestEffect_16(void); @@ -51,9 +47,9 @@ static void ContestEffect_44(void); static void ContestEffect_45(void); static void ContestEffect_46(void); static void ContestEffect_47(void); -static void sub_80B9038(u8); +static void JamByMoveCategory(u8); static bool8 sub_80B90C0(u8); -static u8 sub_80B9120(void); +static u8 WasAtLeastOneOpponentJammed(void); static void sub_80B9200(u8, u8); static s16 RoundTowardsZero(s16); static s16 RoundUp(s16); @@ -62,10 +58,6 @@ static s16 RoundUp(s16); #include "data/contest_moves.h" -//extern bool8 const gComboStarterLookupTable[]; - -#define curContestant (&sContestantStatus[shared192D0.unk11]) - bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) { u8 nextMoveComboMoves[4]; u8 lastMoveComboStarterId = gContestMoves[lastMove].comboStarterId; @@ -91,95 +83,95 @@ static void ContestEffect_00(void) static void ContestEffect_01(void) // After this move, the user is more easily startled. { - curContestant->unk10_2 = TRUE; - SetContestantStatusUnk13(shared192D0.unk11, 0); + sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE; + SetContestantEffectStringID(shared192D0.contestant, 0); } static void ContestEffect_02(void) // Makes a great appeal, but allows no more to the end. { - curContestant->unk11_3 = TRUE; - SetContestantStatusUnk13(shared192D0.unk11, 1); + sContestantStatus[shared192D0.contestant].exploded = TRUE; + SetContestantEffectStringID(shared192D0.contestant, 1); } static void ContestEffect_03(void) // Can be used repeatedly without boring the JUDGE. { - curContestant->unk10_3 = TRUE; - curContestant->disappointedRepeat = FALSE; - curContestant->moveRepeatCount = 0; + sContestantStatus[shared192D0.contestant].usedRepeatableMove = TRUE; + sContestantStatus[shared192D0.contestant].disappointedRepeat = FALSE; + sContestantStatus[shared192D0.contestant].moveRepeatCount = 0; } static void ContestEffect_04(void) // Can avoid being startled by others once. { - curContestant->unk12 = 1; - SetContestantStatusUnk13(shared192D0.unk11, 2); + sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; + SetContestantEffectStringID(shared192D0.contestant, 2); } static void ContestEffect_05(void) // Can avoid being startled by others. { - curContestant->unk10_1 = TRUE; - SetContestantStatusUnk13(shared192D0.unk11, 3); + sContestantStatus[shared192D0.contestant].immune = TRUE; + SetContestantEffectStringID(shared192D0.contestant, 3); } static void ContestEffect_06(void) // Can avoid being startled by others a little. { - curContestant->unkF = 20; - SetContestantStatusUnk13(shared192D0.unk11, 4); + sContestantStatus[shared192D0.contestant].jamReduction = 20; + SetContestantEffectStringID(shared192D0.contestant, 4); } static void ContestEffect_07(void) // After this move, the user is less likely to be startled. { - curContestant->unk10_0 = TRUE; - SetContestantStatusUnk13(shared192D0.unk11, 5); + sContestantStatus[shared192D0.contestant].resistant = TRUE; + SetContestantEffectStringID(shared192D0.contestant, 5); } static void ContestEffect_08(void) // Slightly startles the POKéMON in front. { u8 idx = 0; - u8 a = shared192D0.unk11; + u8 a = shared192D0.contestant; - if (shared192D0.unk0[a] != 0) { + if (shared192D0.turnOrder[a] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.unk0[a] - 1 == shared192D0.unk0[i]) + if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i]) break; } shared192D0.unk8[0] = i; shared192D0.unk8[1] = 0xFF; - idx = sub_80B9120(); + idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); - SetContestantStatusUnk13(shared192D0.unk11, 48); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_09(void) // Slightly startles those that have made appeals. { u8 idx = 0; - u8 a = shared192D0.unk11; + u8 a = shared192D0.contestant; - if (shared192D0.unk0[a] != 0) { + if (shared192D0.turnOrder[a] != 0) { int i; int j = 0; for (i = 0; i < 4; i++) - if (shared192D0.unk0[a] > shared192D0.unk0[i]) + if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) shared192D0.unk8[j++] = i; shared192D0.unk8[j] = 0xFF; - idx = sub_80B9120(); + idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); - SetContestantStatusUnk13(shared192D0.unk11, 48); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_14(void) @@ -193,7 +185,7 @@ static void ContestEffect_14(void) r1 = 40; else r1 = 60; - shared192D0.unk4 = r1; + shared192D0.jam = r1; ContestEffect_08(); } @@ -201,15 +193,15 @@ static void ContestEffect_15(void) // Startles all POKéMON that appealed before the user. { u8 r7 = 0; - u8 r6 = shared192D0.unk11; + u8 r6 = shared192D0.contestant; - if (shared192D0.unk0[r6] != 0) + if (shared192D0.turnOrder[r6] != 0) { int r5; for (r5 = 0; r5 < 4; r5++) { - if (shared192D0.unk0[r6] > shared192D0.unk0[r5]) + if (shared192D0.turnOrder[r6] > shared192D0.turnOrder[r5]) { shared192D0.unk8[0] = r5; shared192D0.unk8[1] = 0xFF; @@ -228,45 +220,45 @@ static void ContestEffect_15(void) r1 = 40; else r1 = 60; - shared192D0.unk4 = r1; + shared192D0.jam = r1; } - if (sub_80B9120()) + if (WasAtLeastOneOpponentJammed()) r7++; } } } - SetContestantStatusUnk13(shared192D0.unk11, 48); + SetContestantEffectStringID(shared192D0.contestant, 48); if (r7 == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); } static void ContestEffect_16(void) // Shifts the JUDGE’s attention from others. { bool32 r9 = FALSE; - u8 r7 = shared192D0.unk11; + u8 r7 = shared192D0.contestant; - if (shared192D0.unk0[shared192D0.unk11] != 0) + if (shared192D0.turnOrder[shared192D0.contestant] != 0) { int r6; for (r6 = 0; r6 < 4; r6++) { - if (shared192D0.unk0[r7] > shared192D0.unk0[r6] && - sContestantStatus[r6].unk15_4 && + if (shared192D0.turnOrder[r7] > shared192D0.turnOrder[r6] && + sContestantStatus[r6].hasJudgesAttention && sub_80B90C0(r6)) { - sContestantStatus[r6].unk15_4 = FALSE; + sContestantStatus[r6].hasJudgesAttention = FALSE; sContestantStatus[r6].unk15_5 = TRUE; - SetContestantStatusUnk13(r6, 8); + SetContestantEffectStringID(r6, 8); r9 = TRUE; } } } - SetContestantStatusUnk13(shared192D0.unk11, 7); + SetContestantEffectStringID(shared192D0.contestant, 7); if (!r9) { - SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); } } @@ -274,81 +266,81 @@ static void ContestEffect_17(void) // Startles the POKéMON that has the JUDGE’s attention. { u8 r9 = 0; - u8 r8 = shared192D0.unk11; + u8 r8 = shared192D0.contestant; - if (shared192D0.unk0[shared192D0.unk11] != 0) + if (shared192D0.turnOrder[shared192D0.contestant] != 0) { int r5; for (r5 = 0; r5 < 4; r5++) { - if (shared192D0.unk0[r8] > shared192D0.unk0[r5]) + if (shared192D0.turnOrder[r8] > shared192D0.turnOrder[r5]) { - if (sContestantStatus[r5].unk15_4) - shared192D0.unk4 = 50; + if (sContestantStatus[r5].hasJudgesAttention) + shared192D0.jam = 50; else - shared192D0.unk4 = 10; + shared192D0.jam = 10; shared192D0.unk8[0] = r5; shared192D0.unk8[1] = 0xFF; - if (sub_80B9120()) + if (WasAtLeastOneOpponentJammed()) r9++; } } } - SetContestantStatusUnk13(shared192D0.unk11, 48); + SetContestantEffectStringID(shared192D0.contestant, 48); if (r9 == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); } static void ContestEffect_18(void) // Jams the others, and misses one turn of appeals. { - curContestant->unk11_2 = TRUE; + sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; ContestEffect_09(); - SetContestantStatusUnk13(shared192D0.unk11, 48); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_19(void) // Startles POKéMON that made a same-type appeal. { - u16 move = curContestant->currMove; - sub_80B9038(gContestMoves[move].contestCategory); - SetContestantStatusUnk13(shared192D0.unk11, 48); + u16 move = sContestantStatus[shared192D0.contestant].currMove; + JamByMoveCategory(gContestMoves[move].contestCategory); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_20(void) // Badly startles POKéMON that made COOL appeals. { - sub_80B9038(CONTEST_CATEGORY_COOL); - SetContestantStatusUnk13(shared192D0.unk11, 48); + JamByMoveCategory(CONTEST_CATEGORY_COOL); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_21(void) // Badly startles POKéMON that made BEAUTY appeals. { - sub_80B9038(CONTEST_CATEGORY_BEAUTY); - SetContestantStatusUnk13(shared192D0.unk11, 48); + JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_22(void) // Badly startles POKéMON that made CUTE appeals. { - sub_80B9038(CONTEST_CATEGORY_CUTE); - SetContestantStatusUnk13(shared192D0.unk11, 48); + JamByMoveCategory(CONTEST_CATEGORY_CUTE); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_23(void) // Badly startles POKéMON that made SMART appeals. { - sub_80B9038(CONTEST_CATEGORY_SMART); - SetContestantStatusUnk13(shared192D0.unk11, 48); + JamByMoveCategory(CONTEST_CATEGORY_SMART); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_24(void) // Badly startles POKéMON that made TOUGH appeals. { - sub_80B9038(CONTEST_CATEGORY_TOUGH); - SetContestantStatusUnk13(shared192D0.unk11, 48); + JamByMoveCategory(CONTEST_CATEGORY_TOUGH); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_25(void) @@ -356,31 +348,31 @@ static void ContestEffect_25(void) { bool32 r4 = FALSE; - if (shared192D0.unk0[shared192D0.unk11] != 3) + if (shared192D0.turnOrder[shared192D0.contestant] != 3) { int r5; for (r5 = 0; r5 < 4; r5++) { - if (shared192D0.unk0[shared192D0.unk11] + 1 == shared192D0.unk0[r5]) + if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[r5]) { if (sub_80B90C0(r5)) { - sub_80B157C(r5); - SetContestantStatusUnk13(r5, 10); + MakeContestantNervous(r5); + SetContestantEffectStringID(r5, 10); r4 = TRUE; } else { - SetContestantStatusUnk13(r5, 60); + SetContestantEffectStringID(r5, 60); r4 = TRUE; } } } } - SetContestantStatusUnk13(shared192D0.unk11, 9); + SetContestantEffectStringID(shared192D0.contestant, 9); if (!r4) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); } static void ContestEffect_26(void) @@ -397,8 +389,8 @@ static void ContestEffect_26(void) memset(sp00, 0xFF, ARRAY_COUNT(sp00)); for (r6 = 0, r4 = 0; r6 < 4; r6++) { - if (shared192D0.unk0[shared192D0.unk11] < shared192D0.unk0[r6] && - !sContestantStatus[r6].unkC_0 && !Contest_IsMonsTurnDisabled(r6)) + if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[r6] && + !sContestantStatus[r6].nervous && !Contest_IsMonsTurnDisabled(r6)) sp00[r4++] = r6; } @@ -424,11 +416,11 @@ static void ContestEffect_26(void) } for (r6 = 0; r6 < 4; r6++) { - if (sContestantStatus[r6].unk15_4 && sub_80B214C(r6)) + if (sContestantStatus[r6].hasJudgesAttention && sub_80B214C(r6)) sp08[r6] = gComboStarterLookupTable[gContestMoves[sContestantStatus[r6].prevMove].comboStarterId] * 10; else sp08[r6] = 0; - sp08[r6] -= (sContestantStatus[r6].unkD / 10) * 10; + sp08[r6] -= (sContestantStatus[r6].condition / 10) * 10; } if (sp10[0] != 0) { @@ -438,8 +430,8 @@ static void ContestEffect_26(void) { if (sub_80B90C0(sp00[r6])) { - sub_80B157C(sp00[r6]); - SetContestantStatusUnk13(sp00[r6], 10); + MakeContestantNervous(sp00[r6]); + SetContestantEffectStringID(sp00[r6], 10); r9++; } else sp18 = TRUE; @@ -448,15 +440,15 @@ static void ContestEffect_26(void) if (sp18) { sp18 = FALSE; - SetContestantStatusUnk13(sp00[r6], 60); + SetContestantEffectStringID(sp00[r6], 60); r9++; } shared192D0.unkD[sp00[r6]] = 1; } } - SetContestantStatusUnk13(shared192D0.unk11, 11); + SetContestantEffectStringID(shared192D0.contestant, 11); if (r9 == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); } static void ContestEffect_27(void) @@ -467,20 +459,20 @@ static void ContestEffect_27(void) for (r6 = 0; r6 < 4; r6++) { - if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r6] && - sContestantStatus[r6].unkD > 0 && + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[r6] && + sContestantStatus[r6].condition > 0 && sub_80B90C0(r6)) { - sContestantStatus[r6].unkD = 0; + sContestantStatus[r6].condition = 0; sContestantStatus[r6].unk10_4 = 2; - SetContestantStatusUnk13(r6, 13); + SetContestantEffectStringID(r6, 13); r8++; } } - SetContestantStatusUnk13(shared192D0.unk11, 12); + SetContestantEffectStringID(shared192D0.contestant, 12); if (r8 == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x39); + SetContestantEffectStringID2(shared192D0.contestant, 0x39); } static void ContestEffect_28(void) @@ -491,42 +483,42 @@ static void ContestEffect_28(void) for (r5 = 0; r5 < 4; r5++) { - if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r5]) + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[r5]) { - if (sContestantStatus[r5].unkD > 0) - shared192D0.unk4 = 40; + if (sContestantStatus[r5].condition > 0) + shared192D0.jam = 40; else - shared192D0.unk4 = 10; + shared192D0.jam = 10; shared192D0.unk8[0] = r5; shared192D0.unk8[1] = 0xFF; - if (sub_80B9120()) + if (WasAtLeastOneOpponentJammed()) r7++; } } - SetContestantStatusUnk13(shared192D0.unk11, 14); + SetContestantEffectStringID(shared192D0.contestant, 14); if (r7 == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x39); + SetContestantEffectStringID2(shared192D0.contestant, 0x39); } static void ContestEffect_29(void) // The appeal works great if performed first. { - if (gUnknown_02038696[shared192D0.unk11] == 0) + if (gUnknown_02038696[shared192D0.contestant] == 0) { - u16 move = curContestant->currMove; - curContestant->appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantStatusUnk13(shared192D0.unk11, 15); + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, 15); } } static void ContestEffect_30(void) // The appeal works great if performed last. { - if (gUnknown_02038696[shared192D0.unk11] == 3) + if (gUnknown_02038696[shared192D0.contestant] == 3) { - u16 move = curContestant->currMove; - curContestant->appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantStatusUnk13(shared192D0.unk11, 16); + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, 16); } } @@ -538,19 +530,19 @@ static void ContestEffect_31(void) for (r1 = 0, r3 = 0; r1 < 4; r1++) { - if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r1]) + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[r1]) r3 += sContestantStatus[r1].appeal2; } if (r3 < 0) r3 = 0; - if (shared192D0.unk0[shared192D0.unk11] == 0 || r3 == 0) - SetContestantStatusUnk13(shared192D0.unk11, 18); + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || r3 == 0) + SetContestantEffectStringID(shared192D0.contestant, 18); else { - curContestant->appeal2 += r3 / 2; - SetContestantStatusUnk13(shared192D0.unk11, 17); + sContestantStatus[shared192D0.contestant].appeal2 += r3 / 2; + SetContestantEffectStringID(shared192D0.contestant, 17); } - sContestantStatus[shared192D0.unk11].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.unk11].appeal2); + sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); } static void ContestEffect_32(void) @@ -558,40 +550,40 @@ static void ContestEffect_32(void) { s16 r6 = 0; - if (shared192D0.unk0[shared192D0.unk11] != 0) + if (shared192D0.turnOrder[shared192D0.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.unk0[shared192D0.unk11] - 1 == shared192D0.unk0[i]) + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) r6 = sContestantStatus[i].appeal2; } } - if (shared192D0.unk0[shared192D0.unk11] == 0 || r6 <= 0) - SetContestantStatusUnk13(shared192D0.unk11, 20); + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || r6 <= 0) + SetContestantEffectStringID(shared192D0.contestant, 20); else { - curContestant->appeal2 += r6; - SetContestantStatusUnk13(shared192D0.unk11, 19); + sContestantStatus[shared192D0.contestant].appeal2 += r6; + SetContestantEffectStringID(shared192D0.contestant, 19); } } static void ContestEffect_33(void) // The appeal works better the later it is performed. { - u8 r3 = shared192D0.unk0[shared192D0.unk11]; + u8 r3 = shared192D0.turnOrder[shared192D0.contestant]; if (r3 == 0) - sContestantStatus[shared192D0.unk11].appeal2 = 10; + sContestantStatus[shared192D0.contestant].appeal2 = 10; else - sContestantStatus[shared192D0.unk11].appeal2 = 20 * r3; + sContestantStatus[shared192D0.contestant].appeal2 = 20 * r3; if (r3 == 0) - SetContestantStatusUnk13(shared192D0.unk11, 21); + SetContestantEffectStringID(shared192D0.contestant, 21); else if (r3 == 1) - SetContestantStatusUnk13(shared192D0.unk11, 22); + SetContestantEffectStringID(shared192D0.contestant, 22); else if (r3 == 2) - SetContestantStatusUnk13(shared192D0.unk11, 23); + SetContestantEffectStringID(shared192D0.contestant, 23); else - SetContestantStatusUnk13(shared192D0.unk11, 24); + SetContestantEffectStringID(shared192D0.contestant, 24); } static void ContestEffect_34(void) @@ -603,26 +595,26 @@ static void ContestEffect_34(void) if (r0 < 3) { r4 = 10; - SetContestantStatusUnk13(shared192D0.unk11, 26); + SetContestantEffectStringID(shared192D0.contestant, 26); } else if (r0 < 6) { r4 = 20; - SetContestantStatusUnk13(shared192D0.unk11, 27); + SetContestantEffectStringID(shared192D0.contestant, 27); } else if (r0 < 8) { r4 = 40; - SetContestantStatusUnk13(shared192D0.unk11, 28); + SetContestantEffectStringID(shared192D0.contestant, 28); } else if (r0 < 9) { r4 = 60; - SetContestantStatusUnk13(shared192D0.unk11, 29); + SetContestantEffectStringID(shared192D0.contestant, 29); } else { r4 = 80; - SetContestantStatusUnk13(shared192D0.unk11, 30); + SetContestantEffectStringID(shared192D0.contestant, 30); } - curContestant->appeal2 = r4; + sContestantStatus[shared192D0.contestant].appeal2 = r4; } #ifdef NONMATCHING @@ -633,21 +625,21 @@ static void ContestEffect_35(void) s8 r4; s8 r2; - for (r4 = shared192D0.unk0[shared192D0.unk11]; r4 > 0; r4--) + for (r4 = shared192D0.turnOrder[shared192D0.contestant]; r4 > 0; r4--) { for (r2 = 0; r2 < 4; r2++) { - if (shared192D0.unk0[r2] == r4 - 1) + if (shared192D0.turnOrder[r2] == r4 - 1) break; } - if (!(sContestantStatus[r2].unkB_7 || sContestantStatus[r2].unkC_0 || sContestantStatus[r2].unkC_1)) + if (!(sContestantStatus[r2].noMoreTurns || sContestantStatus[r2].nervous || sContestantStatus[r2].numTurnsSkipped)) { - u16 move = curContestant->currMove; + u16 move = sContestantStatus[shared192D0.contestant].currMove; if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[r2].currMove].contestCategory) { - curContestant->appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantStatusUnk13(shared192D0.unk11, 31); + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, 31); } break; } @@ -759,7 +751,7 @@ __attribute__((naked)) void ContestEffect_35(void) "\tmov r2, r12\n" "\tldrb r0, [r2, 0x11]\n" "\tmovs r1, 0x1F\n" - "\tbl SetContestantStatusUnk13\n" + "\tbl SetContestantEffectStringID\n" "_080B8994:\n" "\tpop {r4-r7}\n" "\tpop {r0}\n" @@ -773,18 +765,18 @@ __attribute__((naked)) void ContestEffect_35(void) static void ContestEffect_36(void) // Works well if different in type than the one before. { - if (shared192D0.unk0[shared192D0.unk11] != 0) + if (shared192D0.turnOrder[shared192D0.contestant] != 0) { - u16 move = curContestant->currMove; + u16 move = sContestantStatus[shared192D0.contestant].currMove; int i; for (i = 0; i < 4; i++) { - if (shared192D0.unk0[shared192D0.unk11] - 1 == shared192D0.unk0[i] && + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i] && gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) { - curContestant->appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantStatusUnk13(shared192D0.unk11, 32); + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, 32); break; } } @@ -794,23 +786,23 @@ static void ContestEffect_36(void) static void ContestEffect_37(void) // Affected by how well the appeal in front goes. { - if (shared192D0.unk0[shared192D0.unk11] != 0) + if (shared192D0.turnOrder[shared192D0.contestant] != 0) { int i; for (i = 0; i < 4; i++) { - if (shared192D0.unk0[shared192D0.unk11] - 1 == shared192D0.unk0[i]) + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) { - if (curContestant->appeal2 > sContestantStatus[i].appeal2) + if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2) { - curContestant->appeal2 *= 2; - SetContestantStatusUnk13(shared192D0.unk11, 33); + sContestantStatus[shared192D0.contestant].appeal2 *= 2; + SetContestantEffectStringID(shared192D0.contestant, 33); } - else if (curContestant->appeal2 < sContestantStatus[i].appeal2) + else if (sContestantStatus[shared192D0.contestant].appeal2 < sContestantStatus[i].appeal2) { - curContestant->appeal2 = 0; - SetContestantStatusUnk13(shared192D0.unk11, 34); + sContestantStatus[shared192D0.contestant].appeal2 = 0; + SetContestantEffectStringID(shared192D0.contestant, 34); } } } @@ -820,24 +812,24 @@ static void ContestEffect_37(void) static void ContestEffect_38(void) // Ups the user’s condition. Helps prevent nervousness. { - if (curContestant->unkD < 30) + if (sContestantStatus[shared192D0.contestant].condition < 30) { - curContestant->unkD += 10; - curContestant->unk10_4 = 1; - SetContestantStatusUnk13(shared192D0.unk11, 35); + sContestantStatus[shared192D0.contestant].condition += 10; + sContestantStatus[shared192D0.contestant].unk10_4 = 1; + SetContestantEffectStringID(shared192D0.contestant, 35); } else - SetContestantStatusUnk13(shared192D0.unk11, 58); + SetContestantEffectStringID(shared192D0.contestant, 58); } static void ContestEffect_39(void) // The appeal works well if the user’s condition is good. { - curContestant->unk11_5 = TRUE; - if (curContestant->unkD != 0) - SetContestantStatusUnk13(shared192D0.unk11, 36); + sContestantStatus[shared192D0.contestant].unk11_5 = TRUE; + if (sContestantStatus[shared192D0.contestant].condition != 0) + SetContestantEffectStringID(shared192D0.contestant, 36); else - SetContestantStatusUnk13(shared192D0.unk11, 59); + SetContestantEffectStringID(shared192D0.contestant, 59); } static void ContestEffect_40(void) @@ -852,13 +844,13 @@ static void ContestEffect_40(void) for (i = 0; i < 4; i++) sp00[i] = sContestantStatus[i].unk19; - sp00[shared192D0.unk11] = 0xFF; + sp00[shared192D0.contestant] = 0xFF; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { - if (j != shared192D0.unk11 && + if (j != shared192D0.contestant && i == sp00[j] && sp00[j] == sContestantStatus[j].unk19) { @@ -870,15 +862,15 @@ static void ContestEffect_40(void) break; } - sp00[shared192D0.unk11] = 0; - curContestant->unk10_6 = 1; + sp00[shared192D0.contestant] = 0; + sContestantStatus[shared192D0.contestant].unk10_6 = 1; for (i = 0; i < 4; i++) { sContestantStatus[i].unk19 = sp00[i]; } - curContestant->unk11_0 = 1; - SetContestantStatusUnk13(shared192D0.unk11, 37); + sContestantStatus[shared192D0.contestant].unk11_0 = 1; + SetContestantEffectStringID(shared192D0.contestant, 37); } } @@ -894,13 +886,13 @@ static void ContestEffect_41(void) for (i = 0; i < 4; i++) sp00[i] = sContestantStatus[i].unk19; - sp00[shared192D0.unk11] = 0xFF; + sp00[shared192D0.contestant] = 0xFF; for (i = 3; i > -1; i--) { for (j = 0; j < 4; j++) { - if (j != shared192D0.unk11 && + if (j != shared192D0.contestant && i == sp00[j] && sp00[j] == sContestantStatus[j].unk19) { @@ -912,15 +904,15 @@ static void ContestEffect_41(void) break; } - sp00[shared192D0.unk11] = 3; - curContestant->unk10_6 = 1; + sp00[shared192D0.contestant] = 3; + sContestantStatus[shared192D0.contestant].unk10_6 = 1; for (i = 0; i < 4; i++) { sContestantStatus[i].unk19 = sp00[i]; } - curContestant->unk11_0 = 2; - SetContestantStatusUnk13(shared192D0.unk11, 38); + sContestantStatus[shared192D0.contestant].unk11_0 = 2; + SetContestantEffectStringID(shared192D0.contestant, 38); } } @@ -971,17 +963,17 @@ static void ContestEffect_43(void) sContestantStatus[i].unk19 = sp00[i]; sContestantStatus[i].unk10_6 = 2; } - curContestant->unk11_0 = 3; - SetContestantStatusUnk13(shared192D0.unk11, 39); + sContestantStatus[shared192D0.contestant].unk11_0 = 3; + SetContestantEffectStringID(shared192D0.contestant, 39); } } static void ContestEffect_44(void) // An appeal that excites the audience in any CONTEST. { - if (gContestMoves[curContestant->currMove].contestCategory != gSpecialVar_ContestCategory) + if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) { - curContestant->unk11_4 = TRUE; + sContestantStatus[shared192D0.contestant].unk11_4 = TRUE; } } @@ -993,24 +985,24 @@ static void ContestEffect_45(void) for (i = 0; i < 4; i++) { - if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[i]) + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) { if (sContestantStatus[i].appeal2 > 0) { - shared192D0.unk4 = sContestantStatus[i].appeal2 / 2; - shared192D0.unk4 = RoundUp(shared192D0.unk4); + shared192D0.jam = sContestantStatus[i].appeal2 / 2; + shared192D0.jam = RoundUp(shared192D0.jam); } else - shared192D0.unk4 = 10; + shared192D0.jam = 10; shared192D0.unk8[0] = i; shared192D0.unk8[1] = 0xFF; - if (sub_80B9120()) + if (WasAtLeastOneOpponentJammed()) r7++; } } if (r7 == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); - SetContestantStatusUnk13(shared192D0.unk11, 48); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID(shared192D0.contestant, 48); } static void ContestEffect_46(void) @@ -1021,80 +1013,80 @@ static void ContestEffect_46(void) if (sContest.applauseLevel == 0) { appeal = 10; - SetContestantStatusUnk13(shared192D0.unk11, 26); + SetContestantEffectStringID(shared192D0.contestant, 26); } else if (sContest.applauseLevel == 1) { appeal = 20; - SetContestantStatusUnk13(shared192D0.unk11, 27); + SetContestantEffectStringID(shared192D0.contestant, 27); } else if (sContest.applauseLevel == 2) { appeal = 30; - SetContestantStatusUnk13(shared192D0.unk11, 28); + SetContestantEffectStringID(shared192D0.contestant, 28); } else if (sContest.applauseLevel == 3) { appeal = 50; - SetContestantStatusUnk13(shared192D0.unk11, 29); + SetContestantEffectStringID(shared192D0.contestant, 29); } else { appeal = 60; - SetContestantStatusUnk13(shared192D0.unk11, 30); + SetContestantEffectStringID(shared192D0.contestant, 30); } - curContestant->appeal2 = appeal; + sContestantStatus[shared192D0.contestant].appeal2 = appeal; } static void ContestEffect_47(void) // Temporarily stops the crowd from growing excited. { - if (!shared19328.bits_8) + if (!shared19328.excitementFrozen) { - shared19328.bits_8 = TRUE; - shared19328.bits_9 = shared192D0.unk11; - SetContestantStatusUnk13(shared192D0.unk11, 61); + shared19328.excitementFrozen = TRUE; + shared19328.excitementFreezer = shared192D0.contestant; + SetContestantEffectStringID(shared192D0.contestant, 61); } } -static void sub_80B9038(u8 category) +static void JamByMoveCategory(u8 category) { int i; int r7 = 0; for (i = 0; i < 4; i++) { - if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[i]) + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) { if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory) - shared192D0.unk4 = 40; + shared192D0.jam = 40; else - shared192D0.unk4 = 10; + shared192D0.jam = 10; shared192D0.unk8[0] = i; shared192D0.unk8[1] = 0xFF; - if (sub_80B9120()) + if (WasAtLeastOneOpponentJammed()) r7++; } } if (r7 == 0) - SetContestantStatusUnk14(shared192D0.unk11, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, 0x36); } #ifdef NONMATCHING static bool8 sub_80B90C0(u8 i) { shared192D0.unkD[i] = 1; - if (sContestantStatus[i].unk10_1) + if (sContestantStatus[i].immune) { - SetContestantStatusUnk13(i, 45); + SetContestantEffectStringID(i, 45); } - else if (sContestantStatus[i].unk12 != 0) + else if (sContestantStatus[i].jamSafetyCount != 0) { - sContestantStatus[i].unk12--; - SetContestantStatusUnk13(i, 44); + sContestantStatus[i].jamSafetyCount--; + SetContestantEffectStringID(i, 44); } - else if (!sContestantStatus[i].unkB_7 && sContestantStatus[i].unkC_1 == 0) + else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0) return TRUE; return FALSE; } @@ -1147,7 +1139,7 @@ static __attribute__((naked)) bool8 sub_80B90C0(u8 i) "\tadds r0, r3, 0\n" "\tmovs r1, 0x2C\n" "_080B9116:\n" - "\tbl SetContestantStatusUnk13\n" + "\tbl SetContestantEffectStringID\n" "_080B911A:\n" "\tmovs r0, 0\n" "_080B911C:\n" @@ -1156,7 +1148,7 @@ static __attribute__((naked)) bool8 sub_80B90C0(u8 i) } #endif -static bool8 sub_80B9120(void) +static bool8 WasAtLeastOneOpponentJammed(void) { s16 sp00[4] = {0}; int i; @@ -1166,24 +1158,24 @@ static bool8 sub_80B9120(void) u8 r4 = shared192D0.unk8[i]; if (sub_80B90C0(r4)) { - shared192D0.unk6 = shared192D0.unk4; - if (sContestantStatus[r4].unk10_2) - shared192D0.unk6 *= 2; - if (sContestantStatus[r4].unk10_0) + shared192D0.jam2 = shared192D0.jam; + if (sContestantStatus[r4].moreEasilyStartled) + shared192D0.jam2 *= 2; + if (sContestantStatus[r4].resistant) { - shared192D0.unk6 = 10; - SetContestantStatusUnk13(r4, 47); + shared192D0.jam2 = 10; + SetContestantEffectStringID(r4, 47); } - else if ((shared192D0.unk6 -= sContestantStatus[r4].unkF) <= 0) + else if ((shared192D0.jam2 -= sContestantStatus[r4].jamReduction) <= 0) { - shared192D0.unk6 = 0; - SetContestantStatusUnk13(r4, 46); + shared192D0.jam2 = 0; + SetContestantEffectStringID(r4, 46); } else { - sub_80B9200(r4, shared192D0.unk6); - sub_80B141C(r4, shared192D0.unk6); - sp00[r4] = shared192D0.unk6; + sub_80B9200(r4, shared192D0.jam2); + sub_80B141C(r4, shared192D0.jam2); + sp00[r4] = shared192D0.jam2; } } } -- cgit v1.2.3 From ba9792e303bf8705334d2645167ae5e5a921460a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 31 Mar 2018 09:57:43 -0400 Subject: more renaming; wtf was that struct INCBIN_U8 nonsense --- src/battle/anim/glow.c | 2 +- src/battle/anim/love_bg.c | 6 +++--- src/battle/anim/scary_face.c | 10 +++++----- src/contest_effect.c | 38 +++++++++++++++++++------------------- 4 files changed, 28 insertions(+), 28 deletions(-) (limited to 'src') diff --git a/src/battle/anim/glow.c b/src/battle/anim/glow.c index 63466c0ff..174655080 100644 --- a/src/battle/anim/glow.c +++ b/src/battle/anim/glow.c @@ -13,7 +13,7 @@ extern u8 gAnimBankTarget; extern u16 gUnknown_083D7A5C[5]; -extern struct INCBIN_U8 gBattleAnimSpritePalette_206; +extern const u8 gBattleAnimSpritePalette_206[]; // glow (a whitening effect where the Pokemon glows white in a cycle.) // Used in Heal Bell. diff --git a/src/battle/anim/love_bg.c b/src/battle/anim/love_bg.c index c3828c681..72d9325f2 100644 --- a/src/battle/anim/love_bg.c +++ b/src/battle/anim/love_bg.c @@ -10,9 +10,9 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct INCBIN_U8 gAttractTilemap; -extern struct INCBIN_U8 gAttractGfx; -extern struct INCBIN_U8 gAttractPal; +extern const u8 gAttractTilemap[]; +extern const u8 gAttractGfx[]; +extern const u8 gAttractPal[]; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG1_X; diff --git a/src/battle/anim/scary_face.c b/src/battle/anim/scary_face.c index 8d51521ee..8bc7bbd07 100644 --- a/src/battle/anim/scary_face.c +++ b/src/battle/anim/scary_face.c @@ -10,11 +10,11 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct INCBIN_U8 gBattleAnimBackgroundTilemap_ScaryFaceContest; -extern struct INCBIN_U8 gBattleAnimBackgroundTilemap_ScaryFacePlayer; -extern struct INCBIN_U8 gBattleAnimBackgroundTilemap_ScaryFaceOpponent; -extern struct INCBIN_U8 gBattleAnimBackgroundImage_ScaryFace; -extern struct INCBIN_U8 gBattleAnimBackgroundPalette_ScaryFace; +extern const u8 gBattleAnimBackgroundTilemap_ScaryFaceContest[]; +extern const u8 gBattleAnimBackgroundTilemap_ScaryFacePlayer[]; +extern const u8 gBattleAnimBackgroundTilemap_ScaryFaceOpponent[]; +extern const u8 gBattleAnimBackgroundImage_ScaryFace[]; +extern const u8 gBattleAnimBackgroundPalette_ScaryFace[]; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG1_X; diff --git a/src/contest_effect.c b/src/contest_effect.c index ae082b0e5..6025453ca 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -54,8 +54,6 @@ static void sub_80B9200(u8, u8); static s16 RoundTowardsZero(s16); static s16 RoundUp(s16); -#define abs(x) ((x) >= 0 ? (x) : -(x)) - #include "data/contest_moves.h" bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) { @@ -144,8 +142,8 @@ static void ContestEffect_08(void) if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i]) break; } - shared192D0.unk8[0] = i; - shared192D0.unk8[1] = 0xFF; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) @@ -165,8 +163,8 @@ static void ContestEffect_09(void) for (i = 0; i < 4; i++) if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) - shared192D0.unk8[j++] = i; - shared192D0.unk8[j] = 0xFF; + shared192D0.jamQueue[j++] = i; + shared192D0.jamQueue[j] = 0xFF; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) @@ -178,7 +176,8 @@ static void ContestEffect_14(void) // Startles the POKéMON that appealed before the user. { u8 r0 = Random() % 10; - int r1 = 20; + int r1; + if (r0 < 2) r1 = 20; else if (r0 < 8) @@ -203,11 +202,12 @@ static void ContestEffect_15(void) { if (shared192D0.turnOrder[r6] > shared192D0.turnOrder[r5]) { - shared192D0.unk8[0] = r5; - shared192D0.unk8[1] = 0xFF; + shared192D0.jamQueue[0] = r5; + shared192D0.jamQueue[1] = 0xFF; { u8 r0 = Random() % 10; int r1; + if (r0 == 0) r1 = 0; else if (r0 <= 2) @@ -280,8 +280,8 @@ static void ContestEffect_17(void) shared192D0.jam = 50; else shared192D0.jam = 10; - shared192D0.unk8[0] = r5; - shared192D0.unk8[1] = 0xFF; + shared192D0.jamQueue[0] = r5; + shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) r9++; } @@ -489,8 +489,8 @@ static void ContestEffect_28(void) shared192D0.jam = 40; else shared192D0.jam = 10; - shared192D0.unk8[0] = r5; - shared192D0.unk8[1] = 0xFF; + shared192D0.jamQueue[0] = r5; + shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) r7++; } @@ -994,8 +994,8 @@ static void ContestEffect_45(void) } else shared192D0.jam = 10; - shared192D0.unk8[0] = i; - shared192D0.unk8[1] = 0xFF; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) r7++; } @@ -1062,8 +1062,8 @@ static void JamByMoveCategory(u8 category) shared192D0.jam = 40; else shared192D0.jam = 10; - shared192D0.unk8[0] = i; - shared192D0.unk8[1] = 0xFF; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) r7++; } @@ -1153,9 +1153,9 @@ static bool8 WasAtLeastOneOpponentJammed(void) s16 sp00[4] = {0}; int i; - for (i = 0; shared192D0.unk8[i] != 0xFF; i++) + for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) { - u8 r4 = shared192D0.unk8[i]; + u8 r4 = shared192D0.jamQueue[i]; if (sub_80B90C0(r4)) { shared192D0.jam2 = shared192D0.jam; -- cgit v1.2.3 From 15651e3011ec6858ce3364f8e14a72545e2ade0b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 31 Mar 2018 10:56:32 -0400 Subject: more renaming --- src/contest.c | 55 +++++++++++++++++++++++++------------------------- src/contest_effect.c | 57 ++++++++++++++++++++++++++-------------------------- 2 files changed, 56 insertions(+), 56 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index d2fa37977..9d1107976 100644 --- a/src/contest.c +++ b/src/contest.c @@ -61,7 +61,6 @@ extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_X; extern u16 gBattle_BG1_X; extern u16 gBattle_WIN0H; -extern u32 gContestRngValue; // saved RNG value extern struct SpriteTemplate gUnknown_02024E8C; @@ -401,7 +400,7 @@ void ClearContestVars(void) sub_80B0F28(0); for (i = 0; i < 4; i++) { - sContestantStatus[i].unk19 = 0xFF; + sContestantStatus[i].nextTurnOrder = 0xFF; sContest.unk19218[i] = gUnknown_02038696[i]; } sub_80B159C(); @@ -1255,15 +1254,15 @@ void sub_80AC2CC(u8 taskId) gTasks[taskId].data[0] = 23; return; case 48: - if (sContestantStatus[r7].unk11_0 == 1) + if (sContestantStatus[r7].turnOrderModAction == 1) { sub_80B1710(5); } - else if (sContestantStatus[r7].unk11_0 == 2) + else if (sContestantStatus[r7].turnOrderModAction == 2) { sub_80B1710(6); } - else if (sContestantStatus[r7].unk11_0 == 3) + else if (sContestantStatus[r7].turnOrderModAction == 3) { sub_80B1710(7); } @@ -1291,7 +1290,7 @@ void sub_80AC2CC(u8 taskId) gTasks[taskId].data[0] = 35; return; case 35: - if (sContestantStatus[r7].unk10_4 == 1) + if (sContestantStatus[r7].conditionMod == 1) sub_80B1710(8); gTasks[taskId].data[0] = 36; return; @@ -1542,7 +1541,7 @@ void sub_80AC2CC(u8 taskId) else { r4 = shared19328.bits_0; - if (sContestantStatus[r7].unk11_4) + if (sContestantStatus[r7].overrideCategoryExcitementMod) { r4 = 1; StringCopy(gStringVar3, gMoveNames[sContestantStatus[r7].currMove]); @@ -2678,10 +2677,10 @@ bool8 sub_80AEE54(u8 a, u8 b) u16 r8; s32 r4; - if (sContestantStatus[a].unk10_4 == 0) + if (sContestantStatus[a].conditionMod == 0) return FALSE; r9 = gUnknown_02038696[a] * 5 + 2; - if (sContestantStatus[a].unk10_4 == 1) + if (sContestantStatus[a].conditionMod == 1) { r8 = sub_80AEE4C(a); r4 = 0; @@ -2693,7 +2692,7 @@ bool8 sub_80AEE54(u8 a, u8 b) if (b != 0) { PlaySE(SE_EXPMAX); - sContestantStatus[a].unk10_4 = 0; + sContestantStatus[a].conditionMod = 0; } } else @@ -2708,7 +2707,7 @@ bool8 sub_80AEE54(u8 a, u8 b) if (b != 0) { PlaySE(SE_FU_ZAKU2); - sContestantStatus[a].unk10_4 = 0; + sContestantStatus[a].conditionMod = 0; } } return TRUE; @@ -2976,11 +2975,11 @@ void sub_80AF438(void) sContestantStatus[i].nervous = 0; sContestantStatus[i].effectStringId = 0xFF; sContestantStatus[i].effectStringId2 = -1; - sContestantStatus[i].unk10_4 = 0; + sContestantStatus[i].conditionMod = 0; sContestantStatus[i].unk15_2 = sContestantStatus[i].disappointedRepeat; sContestantStatus[i].disappointedRepeat = FALSE; - sContestantStatus[i].unk11_0 = 0; - sContestantStatus[i].unk11_5 = 0; + sContestantStatus[i].turnOrderModAction = 0; + sContestantStatus[i].appealTripleCondition = 0; if (sContestantStatus[i].turnSkipped) { sContestantStatus[i].numTurnsSkipped = 1; @@ -2991,7 +2990,7 @@ void sub_80AF438(void) sContestantStatus[i].noMoreTurns = 1; sContestantStatus[i].exploded = 0; } - sContestantStatus[i].unk11_4 = 0; + sContestantStatus[i].overrideCategoryExcitementMod = 0; } for (i = 0; i < 4; i++) { @@ -4549,14 +4548,14 @@ void sub_80B114C(u8 contestant) for (i = 0; i < 4; i++) { sContestantStatus[i].unkE = 0; - shared192D0.unkD[i] = 0; + shared192D0.unnervedPokes[i] = 0; } if (sContestantStatus[contestant].hasJudgesAttention && AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove) == 0) sContestantStatus[contestant].hasJudgesAttention = 0; gContestEffectFuncs[effect](); - if (sContestantStatus[contestant].unk10_4 == 1) + if (sContestantStatus[contestant].conditionMod == 1) sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition - 10; - else if (sContestantStatus[contestant].unk11_5) + else if (sContestantStatus[contestant].appealTripleCondition) sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition * 3; else sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition; @@ -4596,7 +4595,7 @@ void sub_80B114C(u8 contestant) sContestantStatus[contestant].appeal1 = 0; } shared19328.bits_0 = Contest_GetMoveExcitement(sContestantStatus[contestant].currMove); - if (sContestantStatus[contestant].unk11_4) + if (sContestantStatus[contestant].overrideCategoryExcitementMod) shared19328.bits_0 = 1; if (shared19328.bits_0 > 0) { @@ -4692,7 +4691,7 @@ void sub_80B159C(void) { for (j = 0; j < 4; j++) { - if (sContestantStatus[j].unk19 == i) + if (sContestantStatus[j].nextTurnOrder == i) { sp0[j] = i; sp4[j] = 1; @@ -4703,7 +4702,7 @@ void sub_80B159C(void) { for (j = 0; j < 4; j++) { - if (sp4[j] == 0 && sContestantStatus[j].unk19 == 0xFF) + if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF) { r12 = j; j++; @@ -4712,7 +4711,7 @@ void sub_80B159C(void) } for (; j < 4; j++) { - if (sp4[j] == 0 && sContestantStatus[j].unk19 == 0xFF + if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF && gUnknown_02038696[r12] > gUnknown_02038696[j]) r12 = j; } @@ -4724,8 +4723,8 @@ void sub_80B159C(void) for (i = 0; i < 4; i++) { shared192D0.turnOrder[i] = sp0[i]; - sContestantStatus[i].unk19 = 0xFF; - sContestantStatus[i].unk10_6 = 0; + sContestantStatus[i].nextTurnOrder = 0xFF; + sContestantStatus[i].turnOrderMod = 0; gUnknown_02038696[i] = sp0[i]; } } @@ -5068,7 +5067,7 @@ void sub_80B1FD0(bool8 a) for (i = 0; i < 4; i++) { - if (sContestantStatus[i].unk10_6 != 0 && a) + if (sContestantStatus[i].turnOrderMod != 0 && a) { CpuCopy32( GetTurnOrderNumberGfx(i), @@ -5086,10 +5085,10 @@ void sub_80B1FD0(bool8 a) const u8 *GetTurnOrderNumberGfx(u8 contestant) { - if (sContestantStatus[contestant].unk10_6 != 1) + if (sContestantStatus[contestant].turnOrderMod != 1) return gContestNextTurnRandomGfx; else - return gContestNextTurnNumbersGfx + sContestantStatus[contestant].unk19 * 64; + return gContestNextTurnNumbersGfx + sContestantStatus[contestant].nextTurnOrder * 64; } void sub_80B20C4(void) @@ -5098,7 +5097,7 @@ void sub_80B20C4(void) for (i = 0; i < 4; i++) { - if (shared192D0.unkD[i] != 0 && !Contest_IsMonsTurnDisabled(i)) + if (shared192D0.unnervedPokes[i] != 0 && !Contest_IsMonsTurnDisabled(i)) { u8 r4 = gUnknown_02038696[i] * 5 + 2; u16 r0 = sub_80AEFE8(i, 3); diff --git a/src/contest_effect.c b/src/contest_effect.c index 6025453ca..1b81929c5 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -48,7 +48,7 @@ static void ContestEffect_45(void); static void ContestEffect_46(void); static void ContestEffect_47(void); static void JamByMoveCategory(u8); -static bool8 sub_80B90C0(u8); +static bool8 CanUnnerveContestant(u8); static u8 WasAtLeastOneOpponentJammed(void); static void sub_80B9200(u8, u8); static s16 RoundTowardsZero(s16); @@ -246,7 +246,7 @@ static void ContestEffect_16(void) { if (shared192D0.turnOrder[r7] > shared192D0.turnOrder[r6] && sContestantStatus[r6].hasJudgesAttention && - sub_80B90C0(r6)) + CanUnnerveContestant(r6)) { sContestantStatus[r6].hasJudgesAttention = FALSE; sContestantStatus[r6].unk15_5 = TRUE; @@ -356,7 +356,7 @@ static void ContestEffect_25(void) { if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[r5]) { - if (sub_80B90C0(r5)) + if (CanUnnerveContestant(r5)) { MakeContestantNervous(r5); SetContestantEffectStringID(r5, 10); @@ -428,7 +428,7 @@ static void ContestEffect_26(void) { if (Random() % 100 < sp10[r6] + sp08[sp00[r6]]) { - if (sub_80B90C0(sp00[r6])) + if (CanUnnerveContestant(sp00[r6])) { MakeContestantNervous(sp00[r6]); SetContestantEffectStringID(sp00[r6], 10); @@ -443,7 +443,7 @@ static void ContestEffect_26(void) SetContestantEffectStringID(sp00[r6], 60); r9++; } - shared192D0.unkD[sp00[r6]] = 1; + shared192D0.unnervedPokes[sp00[r6]] = 1; } } SetContestantEffectStringID(shared192D0.contestant, 11); @@ -461,10 +461,10 @@ static void ContestEffect_27(void) { if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[r6] && sContestantStatus[r6].condition > 0 && - sub_80B90C0(r6)) + CanUnnerveContestant(r6)) { sContestantStatus[r6].condition = 0; - sContestantStatus[r6].unk10_4 = 2; + sContestantStatus[r6].conditionMod = 2; SetContestantEffectStringID(r6, 13); r8++; } @@ -815,7 +815,7 @@ static void ContestEffect_38(void) if (sContestantStatus[shared192D0.contestant].condition < 30) { sContestantStatus[shared192D0.contestant].condition += 10; - sContestantStatus[shared192D0.contestant].unk10_4 = 1; + sContestantStatus[shared192D0.contestant].conditionMod = 1; SetContestantEffectStringID(shared192D0.contestant, 35); } else @@ -825,7 +825,7 @@ static void ContestEffect_38(void) static void ContestEffect_39(void) // The appeal works well if the user’s condition is good. { - sContestantStatus[shared192D0.contestant].unk11_5 = TRUE; + sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE; if (sContestantStatus[shared192D0.contestant].condition != 0) SetContestantEffectStringID(shared192D0.contestant, 36); else @@ -842,7 +842,7 @@ static void ContestEffect_40(void) if (sContest.turnNumber != 4) { for (i = 0; i < 4; i++) - sp00[i] = sContestantStatus[i].unk19; + sp00[i] = sContestantStatus[i].nextTurnOrder; sp00[shared192D0.contestant] = 0xFF; @@ -852,7 +852,7 @@ static void ContestEffect_40(void) { if (j != shared192D0.contestant && i == sp00[j] && - sp00[j] == sContestantStatus[j].unk19) + sp00[j] == sContestantStatus[j].nextTurnOrder) { sp00[j]++; break; @@ -863,13 +863,13 @@ static void ContestEffect_40(void) } sp00[shared192D0.contestant] = 0; - sContestantStatus[shared192D0.contestant].unk10_6 = 1; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].unk19 = sp00[i]; + sContestantStatus[i].nextTurnOrder = sp00[i]; } - sContestantStatus[shared192D0.contestant].unk11_0 = 1; + sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; SetContestantEffectStringID(shared192D0.contestant, 37); } } @@ -884,7 +884,7 @@ static void ContestEffect_41(void) if (sContest.turnNumber != 4) { for (i = 0; i < 4; i++) - sp00[i] = sContestantStatus[i].unk19; + sp00[i] = sContestantStatus[i].nextTurnOrder; sp00[shared192D0.contestant] = 0xFF; @@ -894,7 +894,7 @@ static void ContestEffect_41(void) { if (j != shared192D0.contestant && i == sp00[j] && - sp00[j] == sContestantStatus[j].unk19) + sp00[j] == sContestantStatus[j].nextTurnOrder) { sp00[j]--; break; @@ -905,13 +905,13 @@ static void ContestEffect_41(void) } sp00[shared192D0.contestant] = 3; - sContestantStatus[shared192D0.contestant].unk10_6 = 1; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].unk19 = sp00[i]; + sContestantStatus[i].nextTurnOrder = sp00[i]; } - sContestantStatus[shared192D0.contestant].unk11_0 = 2; + sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; SetContestantEffectStringID(shared192D0.contestant, 38); } } @@ -934,7 +934,7 @@ static void ContestEffect_43(void) { for (i = 0; i < 4; i++) { - sp00[i] = sContestantStatus[i].unk19; + sp00[i] = sContestantStatus[i].nextTurnOrder; sp04[i] = i; } @@ -960,10 +960,10 @@ static void ContestEffect_43(void) for (i = 0; i < 4; i++) { - sContestantStatus[i].unk19 = sp00[i]; - sContestantStatus[i].unk10_6 = 2; + sContestantStatus[i].nextTurnOrder = sp00[i]; + sContestantStatus[i].turnOrderMod = 2; } - sContestantStatus[shared192D0.contestant].unk11_0 = 3; + sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; SetContestantEffectStringID(shared192D0.contestant, 39); } } @@ -973,7 +973,7 @@ static void ContestEffect_44(void) { if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) { - sContestantStatus[shared192D0.contestant].unk11_4 = TRUE; + sContestantStatus[shared192D0.contestant].overrideCategoryExcitementMod = TRUE; } } @@ -1074,9 +1074,10 @@ static void JamByMoveCategory(u8 category) } #ifdef NONMATCHING -static bool8 sub_80B90C0(u8 i) +static bool8 CanUnnerveContestant(u8 i) { - shared192D0.unkD[i] = 1; + // For whatever reason, i is copied to r4. I cannot optimize this out. + shared192D0.unnervedPokes[i] = 1; if (sContestantStatus[i].immune) { SetContestantEffectStringID(i, 45); @@ -1091,7 +1092,7 @@ static bool8 sub_80B90C0(u8 i) return FALSE; } #else -static __attribute__((naked)) bool8 sub_80B90C0(u8 i) +static __attribute__((naked)) bool8 CanUnnerveContestant(u8 i) { asm_unified("\tpush {lr}\n" "\tlsls r0, 24\n" @@ -1156,7 +1157,7 @@ static bool8 WasAtLeastOneOpponentJammed(void) for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) { u8 r4 = shared192D0.jamQueue[i]; - if (sub_80B90C0(r4)) + if (CanUnnerveContestant(r4)) { shared192D0.jam2 = shared192D0.jam; if (sContestantStatus[r4].moreEasilyStartled) -- cgit v1.2.3 From f12861136737dbfeda72f50bc771c3613a651952 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 31 Mar 2018 11:58:36 -0400 Subject: Even more field/var renaming --- src/contest.c | 10 +- src/contest_effect.c | 384 +++++++++++++++++++++++++-------------------------- 2 files changed, 197 insertions(+), 197 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 9d1107976..6f3deea3d 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1368,7 +1368,7 @@ void sub_80AC2CC(u8 taskId) case 28: for (i = 0; gTasks[taskId].data[1] != gUnknown_02038696[i]; i++) ; - sub_80AFBA0(sContestantStatus[i].appeal2 + sContestantStatus[i].unkE, -sContestantStatus[i].unkE, i); + sub_80AFBA0(sContestantStatus[i].appeal2 + sContestantStatus[i].jam, -sContestantStatus[i].jam, i); gTasks[taskId].data[0] = 29; return; case 29: @@ -1407,10 +1407,10 @@ void sub_80AC2CC(u8 taskId) PlaySE(SE_C_PASI); else PlaySE(SE_C_SYU); - if (sContestantStatus[i].unk15_5) + if (sContestantStatus[i].judgesAttentionWasRemoved) { sub_80B03A8(i); - sContestantStatus[i].unk15_5 = 0; + sContestantStatus[i].judgesAttentionWasRemoved = 0; } gTasks[taskId].data[1]++; gTasks[taskId].data[0] = 26; @@ -2966,7 +2966,7 @@ void sub_80AF438(void) sContestantStatus[i].jamSafetyCount = 0; if (sContestantStatus[i].numTurnsSkipped > 0) sContestantStatus[i].numTurnsSkipped--; - sContestantStatus[i].unkE = 0; + sContestantStatus[i].jam = 0; sContestantStatus[i].resistant = 0; sContestantStatus[i].jamReduction = 0; sContestantStatus[i].immune = 0; @@ -4547,7 +4547,7 @@ void sub_80B114C(u8 contestant) shared192D0.contestant = contestant; for (i = 0; i < 4; i++) { - sContestantStatus[i].unkE = 0; + sContestantStatus[i].jam = 0; shared192D0.unnervedPokes[i] = 0; } if (sContestantStatus[contestant].hasJudgesAttention && AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove) == 0) diff --git a/src/contest_effect.c b/src/contest_effect.c index 1b81929c5..68d37701c 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -50,7 +50,7 @@ static void ContestEffect_47(void); static void JamByMoveCategory(u8); static bool8 CanUnnerveContestant(u8); static u8 WasAtLeastOneOpponentJammed(void); -static void sub_80B9200(u8, u8); +static void JamContestant(u8, u8); static s16 RoundTowardsZero(s16); static s16 RoundUp(s16); @@ -175,88 +175,88 @@ static void ContestEffect_09(void) static void ContestEffect_14(void) // Startles the POKéMON that appealed before the user. { - u8 r0 = Random() % 10; - int r1; + u8 rval = Random() % 10; + int jam; - if (r0 < 2) - r1 = 20; - else if (r0 < 8) - r1 = 40; + if (rval < 2) + jam = 20; + else if (rval < 8) + jam = 40; else - r1 = 60; - shared192D0.jam = r1; + jam = 60; + shared192D0.jam = jam; ContestEffect_08(); } static void ContestEffect_15(void) // Startles all POKéMON that appealed before the user. { - u8 r7 = 0; - u8 r6 = shared192D0.contestant; + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; - if (shared192D0.turnOrder[r6] != 0) + if (shared192D0.turnOrder[contestant] != 0) { - int r5; + int i; - for (r5 = 0; r5 < 4; r5++) + for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[r6] > shared192D0.turnOrder[r5]) + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) { - shared192D0.jamQueue[0] = r5; + shared192D0.jamQueue[0] = i; shared192D0.jamQueue[1] = 0xFF; { - u8 r0 = Random() % 10; - int r1; - - if (r0 == 0) - r1 = 0; - else if (r0 <= 2) - r1 = 10; - else if (r0 <= 4) - r1 = 20; - else if (r0 <= 6) - r1 = 30; - else if (r0 <= 8) - r1 = 40; + 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 - r1 = 60; - shared192D0.jam = r1; + jam = 60; + shared192D0.jam = jam; } if (WasAtLeastOneOpponentJammed()) - r7++; + numStartled++; } } } SetContestantEffectStringID(shared192D0.contestant, 48); - if (r7 == 0) + if (numStartled == 0) SetContestantEffectStringID2(shared192D0.contestant, 0x36); } static void ContestEffect_16(void) // Shifts the JUDGE’s attention from others. { - bool32 r9 = FALSE; - u8 r7 = shared192D0.contestant; + bool32 hitAny = FALSE; + u8 contestant = shared192D0.contestant; if (shared192D0.turnOrder[shared192D0.contestant] != 0) { - int r6; + int i; - for (r6 = 0; r6 < 4; r6++) + for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[r7] > shared192D0.turnOrder[r6] && - sContestantStatus[r6].hasJudgesAttention && - CanUnnerveContestant(r6)) + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].hasJudgesAttention && + CanUnnerveContestant(i)) { - sContestantStatus[r6].hasJudgesAttention = FALSE; - sContestantStatus[r6].unk15_5 = TRUE; - SetContestantEffectStringID(r6, 8); - r9 = TRUE; + sContestantStatus[i].hasJudgesAttention = FALSE; + sContestantStatus[i].judgesAttentionWasRemoved = TRUE; + SetContestantEffectStringID(i, 8); + hitAny = TRUE; } } } SetContestantEffectStringID(shared192D0.contestant, 7); - if (!r9) + if (!hitAny) { SetContestantEffectStringID2(shared192D0.contestant, 0x36); } @@ -265,30 +265,30 @@ static void ContestEffect_16(void) static void ContestEffect_17(void) // Startles the POKéMON that has the JUDGE’s attention. { - u8 r9 = 0; - u8 r8 = shared192D0.contestant; + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; if (shared192D0.turnOrder[shared192D0.contestant] != 0) { - int r5; + int i; - for (r5 = 0; r5 < 4; r5++) + for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[r8] > shared192D0.turnOrder[r5]) + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) { - if (sContestantStatus[r5].hasJudgesAttention) + if (sContestantStatus[i].hasJudgesAttention) shared192D0.jam = 50; else shared192D0.jam = 10; - shared192D0.jamQueue[0] = r5; + shared192D0.jamQueue[0] = i; shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) - r9++; + numStartled++; } } } SetContestantEffectStringID(shared192D0.contestant, 48); - if (r9 == 0) + if (numStartled == 0) SetContestantEffectStringID2(shared192D0.contestant, 0x36); } @@ -346,157 +346,157 @@ static void ContestEffect_24(void) static void ContestEffect_25(void) // Makes one POKéMON after the user nervous. { - bool32 r4 = FALSE; + bool32 hitAny = FALSE; if (shared192D0.turnOrder[shared192D0.contestant] != 3) { - int r5; + int i; - for (r5 = 0; r5 < 4; r5++) + for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[r5]) + if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[i]) { - if (CanUnnerveContestant(r5)) + if (CanUnnerveContestant(i)) { - MakeContestantNervous(r5); - SetContestantEffectStringID(r5, 10); - r4 = TRUE; + MakeContestantNervous(i); + SetContestantEffectStringID(i, 10); + hitAny = TRUE; } else { - SetContestantEffectStringID(r5, 60); - r4 = TRUE; + SetContestantEffectStringID(i, 60); + hitAny = TRUE; } } } } SetContestantEffectStringID(shared192D0.contestant, 9); - if (!r4) + if (!hitAny) SetContestantEffectStringID2(shared192D0.contestant, 0x36); } static void ContestEffect_26(void) // Makes all POKéMON after the user nervous. { - u8 r9 = 0; - bool32 sp18 = FALSE; - u8 sp00[5]; - int r6; - int r4; - s16 sp08[4]; - s16 sp10[4]; - - memset(sp00, 0xFF, ARRAY_COUNT(sp00)); - for (r6 = 0, r4 = 0; r6 < 4; r6++) + 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[r6] && - !sContestantStatus[r6].nervous && !Contest_IsMonsTurnDisabled(r6)) - sp00[r4++] = r6; + if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[i] && + !sContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) + contestantIds[numAfter++] = i; } - if (r4 == 1) + if (numAfter == 1) { - sp10[0] = 60; + odds[0] = 60; } - else if (r4 == 2) + else if (numAfter == 2) { - sp10[0] = 30; - sp10[1] = 30; + odds[0] = 30; + odds[1] = 30; } - else if (r4 == 3) + else if (numAfter == 3) { - sp10[0] = 20; - sp10[1] = 20; - sp10[2] = 20; + odds[0] = 20; + odds[1] = 20; + odds[2] = 20; } else { - for (r6 = 0; r6 < 4; r6++) - sp10[r6] = 0; + for (i = 0; i < 4; i++) + odds[i] = 0; } - for (r6 = 0; r6 < 4; r6++) + for (i = 0; i < 4; i++) { - if (sContestantStatus[r6].hasJudgesAttention && sub_80B214C(r6)) - sp08[r6] = gComboStarterLookupTable[gContestMoves[sContestantStatus[r6].prevMove].comboStarterId] * 10; + if (sContestantStatus[i].hasJudgesAttention && sub_80B214C(i)) + oddsMod[i] = gComboStarterLookupTable[gContestMoves[sContestantStatus[i].prevMove].comboStarterId] * 10; else - sp08[r6] = 0; - sp08[r6] -= (sContestantStatus[r6].condition / 10) * 10; + oddsMod[i] = 0; + oddsMod[i] -= (sContestantStatus[i].condition / 10) * 10; } - if (sp10[0] != 0) + if (odds[0] != 0) { - for (r6 = 0; sp00[r6] != 0xFF; r6++) + for (i = 0; contestantIds[i] != 0xFF; i++) { - if (Random() % 100 < sp10[r6] + sp08[sp00[r6]]) + if (Random() % 100 < odds[i] + oddsMod[contestantIds[i]]) { - if (CanUnnerveContestant(sp00[r6])) + if (CanUnnerveContestant(contestantIds[i])) { - MakeContestantNervous(sp00[r6]); - SetContestantEffectStringID(sp00[r6], 10); - r9++; + MakeContestantNervous(contestantIds[i]); + SetContestantEffectStringID(contestantIds[i], 10); + numUnnerved++; } else - sp18 = TRUE; + contestantUnnerved = TRUE; } else - sp18 = TRUE; - if (sp18) + contestantUnnerved = TRUE; + if (contestantUnnerved) { - sp18 = FALSE; - SetContestantEffectStringID(sp00[r6], 60); - r9++; + contestantUnnerved = FALSE; + SetContestantEffectStringID(contestantIds[i], 60); + numUnnerved++; } - shared192D0.unnervedPokes[sp00[r6]] = 1; + shared192D0.unnervedPokes[contestantIds[i]] = 1; } } SetContestantEffectStringID(shared192D0.contestant, 11); - if (r9 == 0) + if (numUnnerved == 0) SetContestantEffectStringID2(shared192D0.contestant, 0x36); } static void ContestEffect_27(void) // Worsens the condition of those that made appeals. { - u8 r8 = 0; - int r6; + u8 numHit = 0; + int i; - for (r6 = 0; r6 < 4; r6++) + for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[r6] && - sContestantStatus[r6].condition > 0 && - CanUnnerveContestant(r6)) + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].condition > 0 && + CanUnnerveContestant(i)) { - sContestantStatus[r6].condition = 0; - sContestantStatus[r6].conditionMod = 2; - SetContestantEffectStringID(r6, 13); - r8++; + sContestantStatus[i].condition = 0; + sContestantStatus[i].conditionMod = 2; + SetContestantEffectStringID(i, 13); + numHit++; } } SetContestantEffectStringID(shared192D0.contestant, 12); - if (r8 == 0) + if (numHit == 0) SetContestantEffectStringID2(shared192D0.contestant, 0x39); } static void ContestEffect_28(void) // Badly startles POKéMON in good condition. { - u8 r7 = 0; - int r5; + u8 numHit = 0; + int i; - for (r5 = 0; r5 < 4; r5++) + for (i = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[r5]) + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) { - if (sContestantStatus[r5].condition > 0) + if (sContestantStatus[i].condition > 0) shared192D0.jam = 40; else shared192D0.jam = 10; - shared192D0.jamQueue[0] = r5; + shared192D0.jamQueue[0] = i; shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) - r7++; + numHit++; } } SetContestantEffectStringID(shared192D0.contestant, 14); - if (r7 == 0) + if (numHit == 0) SetContestantEffectStringID2(shared192D0.contestant, 0x39); } @@ -525,21 +525,21 @@ static void ContestEffect_30(void) static void ContestEffect_31(void) // Makes the appeal as good as those before it. { - int r1; - int r3; + int i; + int appealSum; - for (r1 = 0, r3 = 0; r1 < 4; r1++) + for (i = 0, appealSum = 0; i < 4; i++) { - if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[r1]) - r3 += sContestantStatus[r1].appeal2; + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + appealSum += sContestantStatus[i].appeal2; } - if (r3 < 0) - r3 = 0; - if (shared192D0.turnOrder[shared192D0.contestant] == 0 || r3 == 0) + if (appealSum < 0) + appealSum = 0; + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) SetContestantEffectStringID(shared192D0.contestant, 18); else { - sContestantStatus[shared192D0.contestant].appeal2 += r3 / 2; + sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; SetContestantEffectStringID(shared192D0.contestant, 17); } sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); @@ -548,7 +548,7 @@ static void ContestEffect_31(void) static void ContestEffect_32(void) // Makes the appeal as good as the one before it. { - s16 r6 = 0; + s16 appeal = 0; if (shared192D0.turnOrder[shared192D0.contestant] != 0) { @@ -556,14 +556,14 @@ static void ContestEffect_32(void) for (i = 0; i < 4; i++) { if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) - r6 = sContestantStatus[i].appeal2; + appeal = sContestantStatus[i].appeal2; } } - if (shared192D0.turnOrder[shared192D0.contestant] == 0 || r6 <= 0) + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) SetContestantEffectStringID(shared192D0.contestant, 20); else { - sContestantStatus[shared192D0.contestant].appeal2 += r6; + sContestantStatus[shared192D0.contestant].appeal2 += appeal; SetContestantEffectStringID(shared192D0.contestant, 19); } } @@ -571,16 +571,16 @@ static void ContestEffect_32(void) static void ContestEffect_33(void) // The appeal works better the later it is performed. { - u8 r3 = shared192D0.turnOrder[shared192D0.contestant]; - if (r3 == 0) + u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant]; + if (whichTurn == 0) sContestantStatus[shared192D0.contestant].appeal2 = 10; else - sContestantStatus[shared192D0.contestant].appeal2 = 20 * r3; - if (r3 == 0) + sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn; + if (whichTurn == 0) SetContestantEffectStringID(shared192D0.contestant, 21); - else if (r3 == 1) + else if (whichTurn == 1) SetContestantEffectStringID(shared192D0.contestant, 22); - else if (r3 == 2) + else if (whichTurn == 2) SetContestantEffectStringID(shared192D0.contestant, 23); else SetContestantEffectStringID(shared192D0.contestant, 24); @@ -589,32 +589,32 @@ static void ContestEffect_33(void) static void ContestEffect_34(void) // The appeal’s quality varies depending on its timing. { - u8 r0 = Random() % 10; - s16 r4; + u8 rval = Random() % 10; + s16 appeal; - if (r0 < 3) + if (rval < 3) { - r4 = 10; + appeal = 10; SetContestantEffectStringID(shared192D0.contestant, 26); - } else if (r0 < 6) + } else if (rval < 6) { - r4 = 20; + appeal = 20; SetContestantEffectStringID(shared192D0.contestant, 27); - } else if (r0 < 8) + } else if (rval < 8) { - r4 = 40; + appeal = 40; SetContestantEffectStringID(shared192D0.contestant, 28); - } else if (r0 < 9) + } else if (rval < 9) { - r4 = 60; + appeal = 60; SetContestantEffectStringID(shared192D0.contestant, 29); } else { - r4 = 80; + appeal = 80; SetContestantEffectStringID(shared192D0.contestant, 30); } - sContestantStatus[shared192D0.contestant].appeal2 = r4; + sContestantStatus[shared192D0.contestant].appeal2 = appeal; } #ifdef NONMATCHING @@ -837,24 +837,24 @@ static void ContestEffect_40(void) { s8 i; s8 j; - u8 sp00[4]; + u8 turnOrder[4]; if (sContest.turnNumber != 4) { for (i = 0; i < 4; i++) - sp00[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = sContestantStatus[i].nextTurnOrder; - sp00[shared192D0.contestant] = 0xFF; + turnOrder[shared192D0.contestant] = 0xFF; for (i = 0; i < 4; i++) { for (j = 0; j < 4; j++) { if (j != shared192D0.contestant && - i == sp00[j] && - sp00[j] == sContestantStatus[j].nextTurnOrder) + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) { - sp00[j]++; + turnOrder[j]++; break; } } @@ -862,12 +862,12 @@ static void ContestEffect_40(void) break; } - sp00[shared192D0.contestant] = 0; + turnOrder[shared192D0.contestant] = 0; sContestantStatus[shared192D0.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = sp00[i]; + sContestantStatus[i].nextTurnOrder = turnOrder[i]; } sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; SetContestantEffectStringID(shared192D0.contestant, 37); @@ -879,24 +879,24 @@ static void ContestEffect_41(void) { s8 i; s8 j; - u8 sp00[4]; + u8 turnOrder[4]; if (sContest.turnNumber != 4) { for (i = 0; i < 4; i++) - sp00[i] = sContestantStatus[i].nextTurnOrder; + turnOrder[i] = sContestantStatus[i].nextTurnOrder; - sp00[shared192D0.contestant] = 0xFF; + turnOrder[shared192D0.contestant] = 0xFF; for (i = 3; i > -1; i--) { for (j = 0; j < 4; j++) { if (j != shared192D0.contestant && - i == sp00[j] && - sp00[j] == sContestantStatus[j].nextTurnOrder) + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) { - sp00[j]--; + turnOrder[j]--; break; } } @@ -904,12 +904,12 @@ static void ContestEffect_41(void) break; } - sp00[shared192D0.contestant] = 3; + turnOrder[shared192D0.contestant] = 3; sContestantStatus[shared192D0.contestant].turnOrderMod = 1; for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = sp00[i]; + sContestantStatus[i].nextTurnOrder = turnOrder[i]; } sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; SetContestantEffectStringID(shared192D0.contestant, 38); @@ -927,15 +927,15 @@ static void ContestEffect_43(void) { s8 i; s8 j; - u8 sp00[4]; - u8 sp04[4]; + u8 turnOrder[4]; + u8 unselectedContestants[4]; if (sContest.turnNumber != 4) { for (i = 0; i < 4; i++) { - sp00[i] = sContestantStatus[i].nextTurnOrder; - sp04[i] = i; + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + unselectedContestants[i] = i; } for (i = 0; i < 4; i++) @@ -944,12 +944,12 @@ static void ContestEffect_43(void) for (j = 0; j < 4; j++) { - if (sp04[j] != 0xFF) + if (unselectedContestants[j] != 0xFF) { if (r4 == 0) { - sp00[j] = i; - sp04[j] = 0xFF; + turnOrder[j] = i; + unselectedContestants[j] = 0xFF; break; } else @@ -960,7 +960,7 @@ static void ContestEffect_43(void) for (i = 0; i < 4; i++) { - sContestantStatus[i].nextTurnOrder = sp00[i]; + sContestantStatus[i].nextTurnOrder = turnOrder[i]; sContestantStatus[i].turnOrderMod = 2; } sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; @@ -1052,7 +1052,7 @@ static void ContestEffect_47(void) static void JamByMoveCategory(u8 category) { int i; - int r7 = 0; + int numJammed = 0; for (i = 0; i < 4; i++) { @@ -1065,11 +1065,11 @@ static void JamByMoveCategory(u8 category) shared192D0.jamQueue[0] = i; shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) - r7++; + numJammed++; } } - if (r7 == 0) + if (numJammed == 0) SetContestantEffectStringID2(shared192D0.contestant, 0x36); } @@ -1151,7 +1151,7 @@ static __attribute__((naked)) bool8 CanUnnerveContestant(u8 i) static bool8 WasAtLeastOneOpponentJammed(void) { - s16 sp00[4] = {0}; + s16 jamBuffer[4] = {0}; int i; for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) @@ -1174,25 +1174,25 @@ static bool8 WasAtLeastOneOpponentJammed(void) } else { - sub_80B9200(r4, shared192D0.jam2); + JamContestant(r4, shared192D0.jam2); sub_80B141C(r4, shared192D0.jam2); - sp00[r4] = shared192D0.jam2; + jamBuffer[r4] = shared192D0.jam2; } } } for (i = 0; i < 4; i++) { - if (sp00[i] != 0) + if (jamBuffer[i] != 0) return TRUE; } return FALSE; } -static void sub_80B9200(u8 i, u8 jam) +static void JamContestant(u8 i, u8 jam) { sContestantStatus[i].appeal2 -= jam; - sContestantStatus[i].unkE += jam; + sContestantStatus[i].jam += jam; } static s16 RoundTowardsZero(s16 score) -- cgit v1.2.3 From 707970c982bbe758cc48ce6f772616eaf80b647a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 31 Mar 2018 13:11:13 -0400 Subject: CONTEST_STRING enums --- src/contest.c | 10 ++-- src/contest_effect.c | 152 +++++++++++++++++++++++++-------------------------- 2 files changed, 81 insertions(+), 81 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 6f3deea3d..3eec7d0ac 100644 --- a/src/contest.c +++ b/src/contest.c @@ -4636,15 +4636,15 @@ void SetContestantEffectStringID2(u8 a, u8 b) void sub_80B141C(u8 a, u8 b) { if (b >= 60) - SetContestantEffectStringID(a, 53); + SetContestantEffectStringID(a, CONTEST_STRING_TRIPPED_OVER); else if (b >= 40) - SetContestantEffectStringID(a, 52); + SetContestantEffectStringID(a, CONTEST_STRING_LEAPT_UP); else if (b >= 30) - SetContestantEffectStringID(a, 51); + SetContestantEffectStringID(a, CONTEST_STRING_UTTER_CRY); else if (b >= 20) - SetContestantEffectStringID(a, 50); + SetContestantEffectStringID(a, CONTEST_STRING_TURNED_BACK); else if (b >= 10) - SetContestantEffectStringID(a, 49); + SetContestantEffectStringID(a, CONTEST_STRING_LOOKED_DOWN); } void sub_80B146C(u8 a, u8 b) diff --git a/src/contest_effect.c b/src/contest_effect.c index 68d37701c..42202e955 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -82,14 +82,14 @@ static void ContestEffect_01(void) // After this move, the user is more easily startled. { sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE; - SetContestantEffectStringID(shared192D0.contestant, 0); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MORE_CONSCIOUS); } static void ContestEffect_02(void) // Makes a great appeal, but allows no more to the end. { sContestantStatus[shared192D0.contestant].exploded = TRUE; - SetContestantEffectStringID(shared192D0.contestant, 1); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_APPEAL); } static void ContestEffect_03(void) @@ -104,28 +104,28 @@ static void ContestEffect_04(void) // Can avoid being startled by others once. { sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; - SetContestantEffectStringID(shared192D0.contestant, 2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN); } static void ContestEffect_05(void) // Can avoid being startled by others. { sContestantStatus[shared192D0.contestant].immune = TRUE; - SetContestantEffectStringID(shared192D0.contestant, 3); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); } static void ContestEffect_06(void) // Can avoid being startled by others a little. { sContestantStatus[shared192D0.contestant].jamReduction = 20; - SetContestantEffectStringID(shared192D0.contestant, 4); + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_LESS_AWARE); } static void ContestEffect_07(void) // After this move, the user is less likely to be startled. { sContestantStatus[shared192D0.contestant].resistant = TRUE; - SetContestantEffectStringID(shared192D0.contestant, 5); + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_STOPPED_CARING); } static void ContestEffect_08(void) @@ -147,8 +147,8 @@ static void ContestEffect_08(void) idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_09(void) @@ -168,8 +168,8 @@ static void ContestEffect_09(void) idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_14(void) @@ -227,9 +227,9 @@ static void ContestEffect_15(void) } } } - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); if (numStartled == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } static void ContestEffect_16(void) @@ -250,15 +250,15 @@ static void ContestEffect_16(void) { sContestantStatus[i].hasJudgesAttention = FALSE; sContestantStatus[i].judgesAttentionWasRemoved = TRUE; - SetContestantEffectStringID(i, 8); + SetContestantEffectStringID(i, CONTEST_STRING_JUDGE_LOOK_AWAY2); hitAny = TRUE; } } } - SetContestantEffectStringID(shared192D0.contestant, 7); + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); if (!hitAny) { - SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } } @@ -287,9 +287,9 @@ static void ContestEffect_17(void) } } } - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); if (numStartled == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } static void ContestEffect_18(void) @@ -297,7 +297,7 @@ static void ContestEffect_18(void) { sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; ContestEffect_09(); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_19(void) @@ -305,42 +305,42 @@ static void ContestEffect_19(void) { u16 move = sContestantStatus[shared192D0.contestant].currMove; JamByMoveCategory(gContestMoves[move].contestCategory); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_20(void) // Badly startles POKéMON that made COOL appeals. { JamByMoveCategory(CONTEST_CATEGORY_COOL); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_21(void) // Badly startles POKéMON that made BEAUTY appeals. { JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_22(void) // Badly startles POKéMON that made CUTE appeals. { JamByMoveCategory(CONTEST_CATEGORY_CUTE); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_23(void) // Badly startles POKéMON that made SMART appeals. { JamByMoveCategory(CONTEST_CATEGORY_SMART); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_24(void) // Badly startles POKéMON that made TOUGH appeals. { JamByMoveCategory(CONTEST_CATEGORY_TOUGH); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_25(void) @@ -359,20 +359,20 @@ static void ContestEffect_25(void) if (CanUnnerveContestant(i)) { MakeContestantNervous(i); - SetContestantEffectStringID(i, 10); + SetContestantEffectStringID(i, CONTEST_STRING_NERVOUS); hitAny = TRUE; } else { - SetContestantEffectStringID(i, 60); + SetContestantEffectStringID(i, CONTEST_STRING_UNAFFECTED); hitAny = TRUE; } } } } - SetContestantEffectStringID(shared192D0.contestant, 9); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); if (!hitAny) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } static void ContestEffect_26(void) @@ -431,7 +431,7 @@ static void ContestEffect_26(void) if (CanUnnerveContestant(contestantIds[i])) { MakeContestantNervous(contestantIds[i]); - SetContestantEffectStringID(contestantIds[i], 10); + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_NERVOUS); numUnnerved++; } else contestantUnnerved = TRUE; @@ -440,15 +440,15 @@ static void ContestEffect_26(void) if (contestantUnnerved) { contestantUnnerved = FALSE; - SetContestantEffectStringID(contestantIds[i], 60); + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_UNAFFECTED); numUnnerved++; } shared192D0.unnervedPokes[contestantIds[i]] = 1; } } - SetContestantEffectStringID(shared192D0.contestant, 11); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_WAITING); if (numUnnerved == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } static void ContestEffect_27(void) @@ -465,14 +465,14 @@ static void ContestEffect_27(void) { sContestantStatus[i].condition = 0; sContestantStatus[i].conditionMod = 2; - SetContestantEffectStringID(i, 13); + SetContestantEffectStringID(i, CONTEST_STRING_REGAINED_FORM); numHit++; } } - SetContestantEffectStringID(shared192D0.contestant, 12); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_TAUNT_WELL); if (numHit == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x39); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); } static void ContestEffect_28(void) @@ -495,9 +495,9 @@ static void ContestEffect_28(void) numHit++; } } - SetContestantEffectStringID(shared192D0.contestant, 14); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_JAM_WELL); if (numHit == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x39); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); } static void ContestEffect_29(void) @@ -507,7 +507,7 @@ static void ContestEffect_29(void) { u16 move = sContestantStatus[shared192D0.contestant].currMove; sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantEffectStringID(shared192D0.contestant, 15); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HUSTLE_STANDOUT); } } @@ -518,7 +518,7 @@ static void ContestEffect_30(void) { u16 move = sContestantStatus[shared192D0.contestant].currMove; sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; - SetContestantEffectStringID(shared192D0.contestant, 16); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); } } @@ -536,11 +536,11 @@ static void ContestEffect_31(void) if (appealSum < 0) appealSum = 0; if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) - SetContestantEffectStringID(shared192D0.contestant, 18); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL); else { sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; - SetContestantEffectStringID(shared192D0.contestant, 17); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_BEFORE); } sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); } @@ -560,11 +560,11 @@ static void ContestEffect_32(void) } } if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) - SetContestantEffectStringID(shared192D0.contestant, 20); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); else { sContestantStatus[shared192D0.contestant].appeal2 += appeal; - SetContestantEffectStringID(shared192D0.contestant, 19); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_PRECEDING); } } @@ -577,13 +577,13 @@ static void ContestEffect_33(void) else sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn; if (whichTurn == 0) - SetContestantEffectStringID(shared192D0.contestant, 21); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); else if (whichTurn == 1) - SetContestantEffectStringID(shared192D0.contestant, 22); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); else if (whichTurn == 2) - SetContestantEffectStringID(shared192D0.contestant, 23); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); else - SetContestantEffectStringID(shared192D0.contestant, 24); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); } static void ContestEffect_34(void) @@ -595,24 +595,24 @@ static void ContestEffect_34(void) if (rval < 3) { appeal = 10; - SetContestantEffectStringID(shared192D0.contestant, 26); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); } else if (rval < 6) { appeal = 20; - SetContestantEffectStringID(shared192D0.contestant, 27); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); } else if (rval < 8) { appeal = 40; - SetContestantEffectStringID(shared192D0.contestant, 28); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); } else if (rval < 9) { appeal = 60; - SetContestantEffectStringID(shared192D0.contestant, 29); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); } else { appeal = 80; - SetContestantEffectStringID(shared192D0.contestant, 30); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); } sContestantStatus[shared192D0.contestant].appeal2 = appeal; } @@ -639,7 +639,7 @@ static void ContestEffect_35(void) if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[r2].currMove].contestCategory) { sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantEffectStringID(shared192D0.contestant, 31); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); } break; } @@ -776,7 +776,7 @@ static void ContestEffect_36(void) gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) { sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; - SetContestantEffectStringID(shared192D0.contestant, 32); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); break; } } @@ -797,12 +797,12 @@ static void ContestEffect_37(void) if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2) { sContestantStatus[shared192D0.contestant].appeal2 *= 2; - SetContestantEffectStringID(shared192D0.contestant, 33); + 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, 34); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NOT_AS_WELL); } } } @@ -816,10 +816,10 @@ static void ContestEffect_38(void) { sContestantStatus[shared192D0.contestant].condition += 10; sContestantStatus[shared192D0.contestant].conditionMod = 1; - SetContestantEffectStringID(shared192D0.contestant, 35); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE); } else - SetContestantEffectStringID(shared192D0.contestant, 58); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); } static void ContestEffect_39(void) @@ -827,9 +827,9 @@ static void ContestEffect_39(void) { sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE; if (sContestantStatus[shared192D0.contestant].condition != 0) - SetContestantEffectStringID(shared192D0.contestant, 36); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HOT_STATUS); else - SetContestantEffectStringID(shared192D0.contestant, 59); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); } static void ContestEffect_40(void) @@ -870,7 +870,7 @@ static void ContestEffect_40(void) sContestantStatus[i].nextTurnOrder = turnOrder[i]; } sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; - SetContestantEffectStringID(shared192D0.contestant, 37); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_UP_LINE); } } @@ -912,7 +912,7 @@ static void ContestEffect_41(void) sContestantStatus[i].nextTurnOrder = turnOrder[i]; } sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; - SetContestantEffectStringID(shared192D0.contestant, 38); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_BACK_LINE); } } @@ -964,7 +964,7 @@ static void ContestEffect_43(void) sContestantStatus[i].turnOrderMod = 2; } sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; - SetContestantEffectStringID(shared192D0.contestant, 39); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SCRAMBLE_ORDER); } } @@ -1001,8 +1001,8 @@ static void ContestEffect_45(void) } } if (r7 == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); - SetContestantEffectStringID(shared192D0.contestant, 48); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } static void ContestEffect_46(void) @@ -1013,27 +1013,27 @@ static void ContestEffect_46(void) if (sContest.applauseLevel == 0) { appeal = 10; - SetContestantEffectStringID(shared192D0.contestant, 26); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); } else if (sContest.applauseLevel == 1) { appeal = 20; - SetContestantEffectStringID(shared192D0.contestant, 27); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); } else if (sContest.applauseLevel == 2) { appeal = 30; - SetContestantEffectStringID(shared192D0.contestant, 28); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); } else if (sContest.applauseLevel == 3) { appeal = 50; - SetContestantEffectStringID(shared192D0.contestant, 29); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); } else { appeal = 60; - SetContestantEffectStringID(shared192D0.contestant, 30); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); } sContestantStatus[shared192D0.contestant].appeal2 = appeal; } @@ -1045,7 +1045,7 @@ static void ContestEffect_47(void) { shared19328.excitementFrozen = TRUE; shared19328.excitementFreezer = shared192D0.contestant; - SetContestantEffectStringID(shared192D0.contestant, 61); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); } } @@ -1070,7 +1070,7 @@ static void JamByMoveCategory(u8 category) } if (numJammed == 0) - SetContestantEffectStringID2(shared192D0.contestant, 0x36); + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } #ifdef NONMATCHING @@ -1080,12 +1080,12 @@ static bool8 CanUnnerveContestant(u8 i) shared192D0.unnervedPokes[i] = 1; if (sContestantStatus[i].immune) { - SetContestantEffectStringID(i, 45); + SetContestantEffectStringID(i, CONTEST_STRING_AVOID_SEEING); } else if (sContestantStatus[i].jamSafetyCount != 0) { sContestantStatus[i].jamSafetyCount--; - SetContestantEffectStringID(i, 44); + SetContestantEffectStringID(i, CONTEST_STRING_AVERT_GAZE); } else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0) return TRUE; @@ -1165,12 +1165,12 @@ static bool8 WasAtLeastOneOpponentJammed(void) if (sContestantStatus[r4].resistant) { shared192D0.jam2 = 10; - SetContestantEffectStringID(r4, 47); + SetContestantEffectStringID(r4, CONTEST_STRING_LITTLE_DISTRACTED); } else if ((shared192D0.jam2 -= sContestantStatus[r4].jamReduction) <= 0) { shared192D0.jam2 = 0; - SetContestantEffectStringID(r4, 46); + SetContestantEffectStringID(r4, CONTEST_STRING_NOT_FAZED); } else { -- cgit v1.2.3 From b157c6a19ee965593073488f4a77de3ce11cdf93 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 31 Mar 2018 13:16:08 -0400 Subject: CONTEST_STRING_NONE --- src/contest.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index 3eec7d0ac..e5008abe3 100644 --- a/src/contest.c +++ b/src/contest.c @@ -388,8 +388,8 @@ void ClearContestVars(void) for (i = 0; i < 4; i++) { sContestantStatus[i].unkB_0 = 0; - sContestantStatus[i].effectStringId = 0xFF; - sContestantStatus[i].effectStringId2 = 0xFF; + sContestantStatus[i].effectStringId = CONTEST_STRING_NONE; + sContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; } memset(&shared192D0, 0, sizeof(shared192D0)); @@ -1217,25 +1217,25 @@ void sub_80AC2CC(u8 taskId) return; case 23: gTasks[taskId].data[1] = 0; - if (sContestantStatus[r7].effectStringId != 0xFF) + if (sContestantStatus[r7].effectStringId != CONTEST_STRING_NONE) { sub_80B146C(r7, sContestantStatus[r7].effectStringId); - sContestantStatus[r7].effectStringId = 0xFF; + sContestantStatus[r7].effectStringId = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 24; } else { - if (sContestantStatus[r7].effectStringId2 != 0xFF) + if (sContestantStatus[r7].effectStringId2 != CONTEST_STRING_NONE) { for (i = 0; i < 4; i++) { - if (i != r7 && sContestantStatus[i].effectStringId != 0xFF) + if (i != r7 && sContestantStatus[i].effectStringId != CONTEST_STRING_NONE) break; } if (i == 4) { sub_80B146C(r7, sContestantStatus[r7].effectStringId2); - sContestantStatus[r7].effectStringId2 = 0xFF; + sContestantStatus[r7].effectStringId2 = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 24; } else @@ -1336,7 +1336,7 @@ void sub_80AC2CC(u8 taskId) for (r2 = 0; r2 < 4; r2++) { if (r2 != r7 && gUnknown_02038696[r2] == i - && sContestantStatus[r2].effectStringId != 0xFF) + && sContestantStatus[r2].effectStringId != CONTEST_STRING_NONE) { r4 = 1; break; @@ -1349,7 +1349,7 @@ void sub_80AC2CC(u8 taskId) { gTasks[taskId].data[1] = gUnknown_02038696[r2]; sub_80B146C(r2, sContestantStatus[r2].effectStringId); - sContestantStatus[r2].effectStringId = 0xFF; + sContestantStatus[r2].effectStringId = CONTEST_STRING_NONE; gTasks[taskId].data[0] = 27; } else @@ -2973,8 +2973,8 @@ void sub_80AF438(void) sContestantStatus[i].moreEasilyStartled = 0; sContestantStatus[i].usedRepeatableMove = 0; sContestantStatus[i].nervous = 0; - sContestantStatus[i].effectStringId = 0xFF; - sContestantStatus[i].effectStringId2 = -1; + sContestantStatus[i].effectStringId = CONTEST_STRING_NONE; + sContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE; sContestantStatus[i].conditionMod = 0; sContestantStatus[i].unk15_2 = sContestantStatus[i].disappointedRepeat; sContestantStatus[i].disappointedRepeat = FALSE; -- cgit v1.2.3 From 20f41da2d2538c81d53ece27d17ead845a40ccd5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 31 Mar 2018 14:03:53 -0400 Subject: Still more renaming of vars --- src/contest.c | 33 +++++++++++++++------------------ src/contest_effect.c | 46 +++++++++++++++++++++++----------------------- 2 files changed, 38 insertions(+), 41 deletions(-) (limited to 'src') diff --git a/src/contest.c b/src/contest.c index e5008abe3..2d953241a 100644 --- a/src/contest.c +++ b/src/contest.c @@ -187,7 +187,6 @@ void sub_80AE6E4(u8, u8); u8 CreateJudgeSprite(void); u8 sub_80AE8B4(void); u8 sub_80AE9FC(u16, u32, u32); -bool8 IsSpeciesNotUnown(u16); void sub_80AEB30(void); void sub_80AEBEC(u16); void sub_80AED58(void); @@ -246,7 +245,6 @@ void sub_80B146C(u8, u8); void sub_80B159C(void); void sub_80B1710(u8); void sub_80B1928(void); -s8 Contest_GetMoveExcitement(u16); u8 sub_80B1A2C(void); void c3_08130B10(u8); void sub_80B1B14(void); @@ -262,7 +260,6 @@ void sub_80B1F4C(u8); void sub_80B1FD0(bool8); const u8 *GetTurnOrderNumberGfx(u8); void sub_80B20C4(void); -bool8 sub_80B214C(u8); void sub_80B2184(void); void sub_80B2280(void); void sub_80B237C(u8); @@ -4633,24 +4630,24 @@ void SetContestantEffectStringID2(u8 a, u8 b) sContestantStatus[a].effectStringId2 = b; } -void sub_80B141C(u8 a, u8 b) +void SetStartledString(u8 contestant, u8 jam) { - if (b >= 60) - SetContestantEffectStringID(a, CONTEST_STRING_TRIPPED_OVER); - else if (b >= 40) - SetContestantEffectStringID(a, CONTEST_STRING_LEAPT_UP); - else if (b >= 30) - SetContestantEffectStringID(a, CONTEST_STRING_UTTER_CRY); - else if (b >= 20) - SetContestantEffectStringID(a, CONTEST_STRING_TURNED_BACK); - else if (b >= 10) - SetContestantEffectStringID(a, CONTEST_STRING_LOOKED_DOWN); + if (jam >= 60) + SetContestantEffectStringID(contestant, CONTEST_STRING_TRIPPED_OVER); + else if (jam >= 40) + SetContestantEffectStringID(contestant, CONTEST_STRING_LEAPT_UP); + else if (jam >= 30) + SetContestantEffectStringID(contestant, CONTEST_STRING_UTTER_CRY); + else if (jam >= 20) + SetContestantEffectStringID(contestant, CONTEST_STRING_TURNED_BACK); + else if (jam >= 10) + SetContestantEffectStringID(contestant, CONTEST_STRING_LOOKED_DOWN); } -void sub_80B146C(u8 a, u8 b) +void sub_80B146C(u8 contestant, u8 stringId) { - StringCopy(gStringVar1, gContestMons[a].nickname); - StringCopy(gStringVar2, gMoveNames[sContestantStatus[a].currMove]); + StringCopy(gStringVar1, gContestMons[contestant].nickname); + StringCopy(gStringVar2, gMoveNames[sContestantStatus[contestant].currMove]); if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL) StringCopy(gStringVar3, gText_Contest_Shyness); else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY) @@ -4661,7 +4658,7 @@ void sub_80B146C(u8 a, u8 b) StringCopy(gStringVar3, gText_Contest_Hesitancy); else StringCopy(gStringVar3, gText_Contest_Fear); - StringExpandPlaceholders(gStringVar4, gUnknown_083CC188[b]); + StringExpandPlaceholders(gStringVar4, gUnknown_083CC188[stringId]); sub_80AF138(); Text_InitWindow8002EB0(&gMenuWindow, gStringVar4, 776, 1, 15); } diff --git a/src/contest_effect.c b/src/contest_effect.c index 42202e955..f3b44d4aa 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -940,20 +940,20 @@ static void ContestEffect_43(void) for (i = 0; i < 4; i++) { - u8 r4 = Random() % (4 - i); + u8 rval = Random() % (4 - i); for (j = 0; j < 4; j++) { if (unselectedContestants[j] != 0xFF) { - if (r4 == 0) + if (rval == 0) { turnOrder[j] = i; unselectedContestants[j] = 0xFF; break; } else - r4--; + rval--; } } } @@ -981,7 +981,7 @@ static void ContestEffect_45(void) // Badly startles all POKéMON that made good appeals. { int i; - u8 r7 = 0; + u8 numJammed = 0; for (i = 0; i < 4; i++) { @@ -997,10 +997,10 @@ static void ContestEffect_45(void) shared192D0.jamQueue[0] = i; shared192D0.jamQueue[1] = 0xFF; if (WasAtLeastOneOpponentJammed()) - r7++; + numJammed++; } } - if (r7 == 0) + if (numJammed == 0) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } @@ -1156,27 +1156,27 @@ static bool8 WasAtLeastOneOpponentJammed(void) for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) { - u8 r4 = shared192D0.jamQueue[i]; - if (CanUnnerveContestant(r4)) + u8 contestant = shared192D0.jamQueue[i]; + if (CanUnnerveContestant(contestant)) { shared192D0.jam2 = shared192D0.jam; - if (sContestantStatus[r4].moreEasilyStartled) + if (sContestantStatus[contestant].moreEasilyStartled) shared192D0.jam2 *= 2; - if (sContestantStatus[r4].resistant) + if (sContestantStatus[contestant].resistant) { shared192D0.jam2 = 10; - SetContestantEffectStringID(r4, CONTEST_STRING_LITTLE_DISTRACTED); + SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED); } - else if ((shared192D0.jam2 -= sContestantStatus[r4].jamReduction) <= 0) + else if ((shared192D0.jam2 -= sContestantStatus[contestant].jamReduction) <= 0) { shared192D0.jam2 = 0; - SetContestantEffectStringID(r4, CONTEST_STRING_NOT_FAZED); + SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); } else { - JamContestant(r4, shared192D0.jam2); - sub_80B141C(r4, shared192D0.jam2); - jamBuffer[r4] = shared192D0.jam2; + JamContestant(contestant, shared192D0.jam2); + SetStartledString(contestant, shared192D0.jam2); + jamBuffer[contestant] = shared192D0.jam2; } } } @@ -1197,21 +1197,21 @@ static void JamContestant(u8 i, u8 jam) static s16 RoundTowardsZero(s16 score) { - s16 r1 = abs(score) % 10; + s16 absScore = abs(score) % 10; if (score < 0) { - if (r1 != 0) - score -= 10 - r1; + if (absScore != 0) + score -= 10 - absScore; } else - score -= r1; + score -= absScore; return score; } static s16 RoundUp(s16 score) { - s16 r1 = abs(score) % 10; - if (r1 != 0) - score += 10 - r1; + s16 absScore = abs(score) % 10; + if (absScore != 0) + score += 10 - absScore; return score; } -- cgit v1.2.3 From 6d98675f561431883bf9907f600097bb860525f1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 1 Apr 2018 11:39:27 -0400 Subject: Start decompiling nakamura functions --- src/debug/nakamura_debug_menu.c | 90 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 81 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 550ac7bbd..2045933f7 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1,7 +1,15 @@ #if DEBUG #include "global.h" +#include "palette.h" +#include "main.h" +#include "overworld.h" +#include "start_menu.h" +#include "party_menu.h" +#include "choose_party.h" #include "menu.h" +typedef bool8 (*MenuFunc)(void); + EWRAM_DATA u8 _nakamuraData0 = 0; EWRAM_DATA u8 _nakamuraData1 = 0; EWRAM_DATA u8 _nakamuraData2 = 0; @@ -20,15 +28,16 @@ __attribute__((unused)) static u8 gDebugFiller3000814[4]; asm(".global _nakamuraStatic0"); asm(".global _nakamuraStatic18"); -u8 debug_sub_815FC54(); -u8 debug_sub_815F2B4(); -u8 debug_sub_815FC94(); -u8 debug_sub_815FB1C(); -u8 debug_sub_815F2F4(); -u8 debug_sub_815F62C(); -u8 debug_sub_815FBE8(); -u8 debug_sub_815FE1C(); -u8 debug_sub_8160D98(); +bool8 debug_sub_815F214(void); +bool8 debug_sub_815FC54(void); +bool8 debug_sub_815F2B4(void); +bool8 debug_sub_815FC94(void); +bool8 debug_sub_815FB1C(void); +bool8 debug_sub_815F2F4(void); +bool8 debug_sub_815F62C(void); +bool8 debug_sub_815FBE8(void); +bool8 debug_sub_815FE1C(void); +bool8 debug_sub_8160D98(void); const u8 Str_843E36C[] = _("Berries"); const u8 Str_843E374[] = _("Goods"); @@ -186,4 +195,67 @@ const u8 Str_843E655[] = _("かい"); const u8 Str_843E658[] = _("0"); const u8 Str_843E65A[] = _("はんい"); +void debug_sub_815F1B8(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(14, 0, 29, 19); + Menu_PrintItems(16, 1, ARRAY_COUNT(_843E3DC), _843E3DC); + InitMenu(0, 15, 1, ARRAY_COUNT(_843E3DC), 0, 14); +} + +bool8 InitNakamuraDebugMenu(void) +{ + debug_sub_815F1B8(); + gMenuCallback = debug_sub_815F214; + return FALSE; +} + +bool8 debug_sub_815F214(void) +{ + if (gMain.newKeys & DPAD_UP) + { + Menu_MoveCursor(-1); + } + + if (gMain.newKeys & DPAD_DOWN) + { + Menu_MoveCursor(+1); + } + + if (gMain.newKeys & A_BUTTON) + { + MenuFunc func = _843E3DC[Menu_GetCursorPos()].func; + Menu_DestroyCursor(); + return func(); + } + + if (gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +void debug_sub_815F284(u8 taskId) +{ + if (!gPaletteFade.active) + { + debug_sub_81381B4(); + OpenPartyMenu(5, 0); + DestroyTask(taskId); + } +} + +bool8 debug_sub_815F2B4(void) +{ + CloseMenu(); + Menu_EraseScreen(); + gMain.savedCallback = sub_805469C; + CreateTask(debug_sub_815F284, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + return TRUE; +} + #endif // DEBUG -- cgit v1.2.3 From 6725a429fe84f0b024695c4fa176f1c6f8b842e5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 1 Apr 2018 14:11:21 -0400 Subject: debug_sub_815F2F4 --- src/debug/nakamura_debug_menu.c | 56 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 2045933f7..6d5a27a30 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1,11 +1,13 @@ #if DEBUG #include "global.h" +#include "random.h" #include "palette.h" #include "main.h" #include "overworld.h" #include "start_menu.h" #include "party_menu.h" #include "choose_party.h" +#include "secret_base.h" #include "menu.h" typedef bool8 (*MenuFunc)(void); @@ -258,4 +260,58 @@ bool8 debug_sub_815F2B4(void) return TRUE; } +bool8 debug_sub_815F2F4(void) +{ + u8 i; + CloseMenu(); + + for (i = 1; i < 20; i++) + { + if (gSaveBlock1.secretBases[i].secretBaseId == 0) + { + u8 j; + + for (j = 0; j < 7; j++) + { + gSaveBlock1.secretBases[i].playerName[j] = gSaveBlock2.playerName[j]; + if (gSaveBlock1.secretBases[i].playerName[j] == EOS) + break; + } + + if (j == 7) + gSaveBlock1.secretBases[i].playerName[j - 1] = CHAR_A + i - 1; + else + gSaveBlock1.secretBases[i].playerName[j] = CHAR_A + i - 1; + + do + { + gSaveBlock1.secretBases[i].secretBaseId = _843E424[Random() % ARRAY_COUNT(_843E424)][0]; + + for (j = 0; j < i; j++) + { + if (gSaveBlock1.secretBases[i].secretBaseId == gSaveBlock1.secretBases[j].secretBaseId) + break; + } + } while (j != i); + + gSaveBlock1.secretBases[i].gender = Random() % 2; + + for (j = 0; j < 4; j++) + { + gSaveBlock1.secretBases[i].trainerId[j] = Random(); + } + + for (j = 0; j < 16; j++) + { + gSaveBlock1.secretBases[i].decorations[j] = 0; + gSaveBlock1.secretBases[i].decorationPos[j] = 0; + } + + unref_sub_80BCD7C(i); + } + } + + return TRUE; +} + #endif // DEBUG -- cgit v1.2.3 From cd0a93d88b8f05db0e4b68490392186c918cad57 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 1 Apr 2018 16:05:19 -0400 Subject: through debug_sub_815F5C4 --- src/debug/nakamura_debug_menu.c | 233 +++++++++++++++++++++++++++------------- 1 file changed, 156 insertions(+), 77 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 6d5a27a30..623294254 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -3,6 +3,7 @@ #include "random.h" #include "palette.h" #include "main.h" +#include "string_util.h" #include "overworld.h" #include "start_menu.h" #include "party_menu.h" @@ -64,82 +65,82 @@ const struct MenuAction _843E3DC[] = { { Str_843E3AF, debug_sub_8160D98 }, }; -const u8 _843E424[][4] = { - { 1, 118, 47, 14 }, - { 2, 125, 53, 10 }, - { 3, 113, 49, 8 }, - { 0xB, 118, 67, 6 }, - { 0xC, 121, 40, 11 }, - { 0xD, 111, 35, 1 }, - { 0x15, 115, 20, 53 }, - { 0x16, 121, 18, 13 }, - { 0x17, 119, 26, 81 }, - { 0x1F, 127, 59, 67 }, - { 0x20, 125, 55, 11 }, - { 0x21, 111, 27, 27 }, - { 0x29, 114, 9, 47 }, - { 0x2A, 115, 32, 39 }, - { 0x2B, 115, 23, 8 }, - { 0x33, 114, 30, 51 }, - { 0x34, 115, 26, 15 }, - { 0x35, 115, 32, 46 }, - { 0x3D, 114, 11, 62 }, - { 0x3E, 115, 21, 18 }, - { 0x3F, 115, 25, 24 }, - { 0x47, 114, 19, 70 }, - { 0x48, 115, 32, 6 }, - { 0x49, 114, 32, 57 }, - { 0x51, 116, 71, 4 }, - { 0x52, 123, 47, 3 }, - { 0x53, 123, 57, 5 }, - { 0x5B, 116, 79, 11 }, - { 0x5C, 123, 49, 3 }, - { 0x5D, 120, 18, 12 }, - { 0x65, 120, 28, 62 }, - { 0x66, 116, 56, 6 }, - { 0x67, 119, 16, 81 }, - { 0x6F, 120, 30, 62 }, - { 0x70, 116, 55, 15 }, - { 0x71, 119, 16, 28 }, - { 0x79, 111, 33, 34 }, - { 0x7A, 118, 29, 5 }, - { 0x7B, 127, 45, 24 }, - { 0x83, 111, 24, 36 }, - { 0x84, 125, 7, 25 }, - { 0x85, 115, 8, 30 }, - { 0x8D, 111, 34, 50 }, - { 0x8E, 127, 59, 72 }, - { 0x8F, 127, 61, 21 }, - { 0x97, 127, 67, 63 }, - { 0x98, 125, 24, 32 }, - { 0x99, 111, 35, 31 }, - { 0xA1, 111, 13, 19 }, - { 0xA2, 121, 43, 7 }, - { 0xA3, 118, 47, 5 }, - { 0xA4, 111, 14, 19 }, - { 0xAB, 118, 46, 5 }, - { 0xAC, 121, 42, 7 }, - { 0xAD, 119, 19, 76 }, - { 0xAE, 115, 7, 20 }, - { 0xB5, 110, 16, 25 }, - { 0xB6, 114, 11, 27 }, - { 0xB7, 115, 8, 20 }, - { 0xBF, 110, 17, 25 }, - { 0xC0, 114, 12, 27 }, - { 0xC1, 119, 18, 76 }, - { 0xC9, 119, 5, 2 }, - { 0xCA, 119, 4, 89 }, - { 0xCB, 120, 38, 54 }, - { 0xCC, 120, 5, 76 }, - { 0xD3, 119, 5, 15 }, - { 0xD4, 119, 7, 101 }, - { 0xD5, 120, 31, 23 }, - { 0xDD, 119, 34, 24 }, - { 0xDE, 120, 26, 10 }, - { 0xDF, 119, 4, 15 }, - { 0xE7, 119, 31, 73 }, - { 0xE8, 120, 29, 85 }, - { 0xE9, 119, 6, 2 }, +const u8 _843E424[] = { + 1, 118, 47, 14 , + 2, 125, 53, 10 , + 3, 113, 49, 8 , + 0xB, 118, 67, 6 , + 0xC, 121, 40, 11 , + 0xD, 111, 35, 1 , + 0x15, 115, 20, 53 , + 0x16, 121, 18, 13 , + 0x17, 119, 26, 81 , + 0x1F, 127, 59, 67 , + 0x20, 125, 55, 11 , + 0x21, 111, 27, 27 , + 0x29, 114, 9, 47 , + 0x2A, 115, 32, 39 , + 0x2B, 115, 23, 8 , + 0x33, 114, 30, 51 , + 0x34, 115, 26, 15 , + 0x35, 115, 32, 46 , + 0x3D, 114, 11, 62 , + 0x3E, 115, 21, 18 , + 0x3F, 115, 25, 24 , + 0x47, 114, 19, 70 , + 0x48, 115, 32, 6 , + 0x49, 114, 32, 57 , + 0x51, 116, 71, 4 , + 0x52, 123, 47, 3 , + 0x53, 123, 57, 5 , + 0x5B, 116, 79, 11 , + 0x5C, 123, 49, 3 , + 0x5D, 120, 18, 12 , + 0x65, 120, 28, 62 , + 0x66, 116, 56, 6 , + 0x67, 119, 16, 81 , + 0x6F, 120, 30, 62 , + 0x70, 116, 55, 15 , + 0x71, 119, 16, 28 , + 0x79, 111, 33, 34 , + 0x7A, 118, 29, 5 , + 0x7B, 127, 45, 24 , + 0x83, 111, 24, 36 , + 0x84, 125, 7, 25 , + 0x85, 115, 8, 30 , + 0x8D, 111, 34, 50 , + 0x8E, 127, 59, 72 , + 0x8F, 127, 61, 21 , + 0x97, 127, 67, 63 , + 0x98, 125, 24, 32 , + 0x99, 111, 35, 31 , + 0xA1, 111, 13, 19 , + 0xA2, 121, 43, 7 , + 0xA3, 118, 47, 5 , + 0xA4, 111, 14, 19 , + 0xAB, 118, 46, 5 , + 0xAC, 121, 42, 7 , + 0xAD, 119, 19, 76 , + 0xAE, 115, 7, 20 , + 0xB5, 110, 16, 25 , + 0xB6, 114, 11, 27 , + 0xB7, 115, 8, 20 , + 0xBF, 110, 17, 25 , + 0xC0, 114, 12, 27 , + 0xC1, 119, 18, 76 , + 0xC9, 119, 5, 2 , + 0xCA, 119, 4, 89 , + 0xCB, 120, 38, 54 , + 0xCC, 120, 5, 76 , + 0xD3, 119, 5, 15 , + 0xD4, 119, 7, 101 , + 0xD5, 120, 31, 23 , + 0xDD, 119, 34, 24 , + 0xDE, 120, 26, 10 , + 0xDF, 119, 4, 15 , + 0xE7, 119, 31, 73 , + 0xE8, 120, 29, 85 , + 0xE9, 119, 6, 2 , }; const u8 Str_843E550[] = _("R"); @@ -285,7 +286,7 @@ bool8 debug_sub_815F2F4(void) do { - gSaveBlock1.secretBases[i].secretBaseId = _843E424[Random() % ARRAY_COUNT(_843E424)][0]; + gSaveBlock1.secretBases[i].secretBaseId = _843E424[(Random() % (ARRAY_COUNT(_843E424) / 4)) * 4]; for (j = 0; j < i; j++) { @@ -314,4 +315,82 @@ bool8 debug_sub_815F2F4(void) return TRUE; } +void debug_sub_815F470(u8 * a0, u8 * a1, u8 * a2) +{ + u8 i; + u8 sbId = gSaveBlock1.secretBases[_nakamuraData0].secretBaseId; + + for (i = 0; i < ARRAY_COUNT(_843E424) / 4; i++) + { + if (_843E424[i * 4] == sbId) + { + *a0 = _843E424[i * 4 + 1]; + *a1 = _843E424[i * 4 + 2]; + *a2 = _843E424[i * 4 + 3]; + break; + } + } +} + +void debug_sub_815F4D8(void) +{ + Menu_BlankWindowRect(1, 1, 10, 10); + ConvertIntToDecimalStringN(gStringVar1, _nakamuraData0, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 1, 1); + + if (gSaveBlock1.secretBases[_nakamuraData0].secretBaseId != 0) + { + u8 a0; + u8 a1; + u8 a2; + debug_sub_815F470(&a0, &a1, &a2); + + sub_80BC190(gStringVar1, _nakamuraData0); + Menu_PrintText(gStringVar1, 1, 3); + + Menu_PrintText(Str_843E550, 1, 5); + ConvertIntToDecimalStringN(gStringVar1, a0, STR_CONV_MODE_LEFT_ALIGN, 3); + Menu_PrintText(gStringVar1, 2, 5); + + Menu_PrintText(Str_843E552, 1, 7); + ConvertIntToDecimalStringN(gStringVar1, a1, STR_CONV_MODE_LEFT_ALIGN, 3); + Menu_PrintText(gStringVar1, 3, 7); + + Menu_PrintText(Str_843E554, 1, 9); + ConvertIntToDecimalStringN(gStringVar1, a2, STR_CONV_MODE_LEFT_ALIGN, 3); + Menu_PrintText(gStringVar1, 3, 9); + } +} + +bool8 debug_sub_815F5C4(void) +{ + if (gMain.newKeys & DPAD_LEFT) + { + if (_nakamuraData0 == 0) + _nakamuraData0 = 19; + else + _nakamuraData0--; + debug_sub_815F4D8(); + return FALSE; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + if (_nakamuraData0 == 19) + _nakamuraData0 = 0; + else + _nakamuraData0++; + debug_sub_815F4D8(); + return FALSE; + } + + if (gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + + return FALSE; +} + #endif // DEBUG -- cgit v1.2.3 From 27eba7b20cf25eb8e49a72ec72e1b7564f543439 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 1 Apr 2018 18:25:48 -0400 Subject: through debug_sub_815F7F0 --- src/debug/nakamura_debug_menu.c | 85 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 80 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 623294254..38026b546 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -158,11 +158,13 @@ const u8 Str_843E556[] = _( "♀4\n" "♀5"); const u8 Str_843E574[] = _("ー"); -const u8 Str_843E576[] = _("あ"); -const u8 Str_843E578[] = _("ア"); -const u8 Str_843E57A[] = _("A"); -const u8 Str_843E57C[] = _("a"); -const u8 Str_843E57E[] = _("0"); +const u8 Str_843E576[][2] = { + _("あ"), + _("ア"), + _("A"), + _("a"), + _("0") +}; const u8 Str_843E580[] = _( "ADD\n" "DEL\n" @@ -393,4 +395,77 @@ bool8 debug_sub_815F5C4(void) return FALSE; } +bool8 debug_sub_815F62C(void) +{ + _nakamuraData0 = 0; + gMenuCallback = debug_sub_815F5C4; + Menu_EraseWindowRect(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 11, 11); + debug_sub_815F4D8(); + return FALSE; +} + +void debug_sub_815F668(void) +{ + u8 * otIdPtr = gSaveBlock1.secretBases[_nakamuraData0].trainerId; + u32 otId = (otIdPtr[3] << 24) | (otIdPtr[2] << 16) | (otIdPtr[1] << 8) | (otIdPtr[0] << 0); + ConvertIntToDecimalStringN(gStringVar1, otId / 100000, STR_CONV_MODE_LEADING_ZEROS, 5); + Menu_PrintText(gStringVar1, 2, 7); + ConvertIntToDecimalStringN(gStringVar1, otId % 100000, STR_CONV_MODE_LEADING_ZEROS, 5); + Menu_PrintText(gStringVar1, 7, 7); +} + +void debug_sub_815F6E4(void) +{ + Menu_BlankWindowRect(2, 3, 11, 4); + *StringCopyN(gStringVar1, gSaveBlock1.secretBases[_nakamuraData0].playerName, 7) = EOS; + Menu_PrintText(gStringVar1, 2, 3); +} + +void debug_sub_815F72C(void) +{ + Menu_BlankWindowRect(2, 1, 11, 10); + + ConvertIntToDecimalStringN(gStringVar1, _nakamuraData0, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 2, 1); + + if (gSaveBlock1.secretBases[_nakamuraData0].secretBaseId != 0) + { + debug_sub_815F6E4(); + debug_sub_815F668(); + } +} + +void debug_sub_815F788(void) +{ + Menu_BlankWindowRect(2, 5, 11, 6); + Menu_PrintText(Str_843E574, _nakamuraData2 + 2, 5); +} + +void debug_sub_815F7B4(void) +{ + if (_nakamuraData1) + Menu_BlankWindowRect(11, 1, 11, 2); + else + Menu_PrintText(Str_843E576[_nakamuraData3], 11, 1); +} + +void debug_sub_815F7F0(s8 a0) +{ + u8 * otIdPtr = gSaveBlock1.secretBases[_nakamuraData0].trainerId; + u32 otId = (otIdPtr[3] << 24) | (otIdPtr[2] << 16) | (otIdPtr[1] << 8) | (otIdPtr[0] << 0); + s8 r4; + int r1 = a0; + + for (r4 = 9; r4 > _nakamuraData2; r4--) + r1 *= 10; + + otId += r1; + otIdPtr[3] = (otId & 0xFF000000) >> 24; + otIdPtr[2] = (otId & 0x00FF0000) >> 16; + otIdPtr[1] = (otId & 0x0000FF00) >> 8; + otIdPtr[0] = (otId & 0x000000FF) >> 0; + debug_sub_815F668(); +} + #endif // DEBUG -- cgit v1.2.3 From af04028ecebcc5631987699b399f745550794db2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 1 Apr 2018 19:03:19 -0400 Subject: through (nonmatching) debug_sub_815F930 --- src/debug/nakamura_debug_menu.c | 269 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 266 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 38026b546..959b9eae3 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -32,13 +32,14 @@ asm(".global _nakamuraStatic0"); asm(".global _nakamuraStatic18"); bool8 debug_sub_815F214(void); -bool8 debug_sub_815FC54(void); bool8 debug_sub_815F2B4(void); -bool8 debug_sub_815FC94(void); -bool8 debug_sub_815FB1C(void); bool8 debug_sub_815F2F4(void); bool8 debug_sub_815F62C(void); +bool8 debug_sub_815FA38(void); +bool8 debug_sub_815FB1C(void); bool8 debug_sub_815FBE8(void); +bool8 debug_sub_815FC54(void); +bool8 debug_sub_815FC94(void); bool8 debug_sub_815FE1C(void); bool8 debug_sub_8160D98(void); @@ -468,4 +469,266 @@ void debug_sub_815F7F0(s8 a0) debug_sub_815F668(); } +void debug_sub_815F86C(s8 a0) +{ + u8 * namePtr = gSaveBlock1.secretBases[_nakamuraData0].playerName; + u8 r2 = 0; + u8 r3 = 0; + u8 i; + + if (a0 == 100) + { + for (i = _nakamuraData2; i < 7; i++) + { + namePtr[i] = EOS; + } + } + else + { + switch (_nakamuraData3) + { + case 0: + r3 = 1; + r2 = 80; + break; + case 1: + r3 = 81; + r2 = 160; + break; + case 2: + r3 = CHAR_A; + r2 = CHAR_Z; + break; + case 3: + r3 = CHAR_a; + r2 = CHAR_z; + break; + case 4: + r3 = CHAR_0; + r2 = CHAR_0 + 9; + break; + } + + namePtr[_nakamuraData2] += a0; + if (namePtr[_nakamuraData2] < r3) + namePtr[_nakamuraData2] = r2; + if (namePtr[_nakamuraData2] > r2) + namePtr[_nakamuraData2] = r3; + } + debug_sub_815F6E4(); +} + +#ifdef NONMATCHING +bool8 debug_sub_815F930(void) +{ + u32 r4 = _nakamuraData1 == 0 ? 7 : 10; + + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (_nakamuraData1) + debug_sub_815F7F0(1); + else + debug_sub_815F86C(1); + } + + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (_nakamuraData1) + debug_sub_815F7F0(-1); + else + debug_sub_815F86C(-1); + } + + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (_nakamuraData2 == 0) + _nakamuraData2 = r4 - 1; + else + _nakamuraData2--; + debug_sub_815F788(); + } + + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (_nakamuraData2 == r4 - 1) + _nakamuraData2 = 0; + else + _nakamuraData2++; + debug_sub_815F788(); + } + + else if (gMain.newKeys & SELECT_BUTTON) + { + if (_nakamuraData1 == 0) + _nakamuraData3 = (_nakamuraData3 + 1) % 5; + debug_sub_815F7B4(); + } + + else if (gMain.newKeys & A_BUTTON) + { + Menu_BlankWindowRect(2, 5, 11, 6); + Menu_BlankWindowRect(11, 1, 11, 2); + gMenuCallback = debug_sub_815FA38; + } + + else if (gMain.newKeys & B_BUTTON) + { + if (_nakamuraData1 == 0) + debug_sub_815F86C(100); + } + + return FALSE; +} +#else +__attribute__((naked)) bool8 debug_sub_815F930(void) +{ + asm("\tpush\t{r4, r5, lr}\n" + "\tldr\tr0, ._107 @ _nakamuraData1\n" + "\tldrb\tr2, [r0]\n" + "\tmov\tr4, #0xa\n" + "\tcmp\tr2, #0\n" + "\tbne\t._103\t@cond_branch\n" + "\tmov\tr4, #0x7\n" + "._103:\n" + "\tldr\tr5, ._107 + 4 @ gMain\n" + "\tldrh\tr1, [r5, #0x30]\n" + "\tmov\tr0, #0x40\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._104\t@cond_branch\n" + "\tcmp\tr2, #0\n" + "\tbeq\t._105\t@cond_branch\n" + "\tmov\tr0, #0x1\n" + "\tbl\tdebug_sub_815F7F0\n" + "\tb\t._136\n" + "._108:\n" + "\t.align\t2, 0\n" + "._107:\n" + "\t.word\t_nakamuraData1\n" + "\t.word\tgMain\n" + "._105:\n" + "\tmov\tr0, #0x1\n" + "\tb\t._113\n" + "._104:\n" + "\tmov\tr0, #0x80\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._110\t@cond_branch\n" + "\tcmp\tr2, #0\n" + "\tbeq\t._111\t@cond_branch\n" + "\tmov\tr0, #0x1\n" + "\tneg\tr0, r0\n" + "\tbl\tdebug_sub_815F7F0\n" + "\tb\t._136\n" + "._111:\n" + "\tmov\tr0, #0x1\n" + "\tneg\tr0, r0\n" + "\tb\t._113\n" + "._110:\n" + "\tmov\tr0, #0x20\n" + "\tand\tr0, r0, r1\n" + "\tlsl\tr0, r0, #0x10\n" + "\tlsr\tr3, r0, #0x10\n" + "\tcmp\tr3, #0\n" + "\tbeq\t._114\t@cond_branch\n" + "\tldr\tr1, ._117 @ _nakamuraData2\n" + "\tldrb\tr0, [r1]\n" + "\tcmp\tr0, #0\n" + "\tbne\t._115\t@cond_branch\n" + "\tsub\tr0, r4, #1\n" + "\tb\t._116\n" + "._118:\n" + "\t.align\t2, 0\n" + "._117:\n" + "\t.word\t_nakamuraData2\n" + "._115:\n" + "\tsub\tr0, r0, #0x1\n" + "._116:\n" + "\tstrb\tr0, [r1]\n" + "._125:\n" + "\tbl\tdebug_sub_815F788\n" + "\tb\t._136\n" + "._114:\n" + "\tmov\tr0, #0x10\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._120\t@cond_branch\n" + "\tldr\tr2, ._123 @ _nakamuraData2\n" + "\tldrb\tr1, [r2]\n" + "\tsub\tr0, r4, #1\n" + "\tcmp\tr1, r0\n" + "\tbne\t._121\t@cond_branch\n" + "\tstrb\tr3, [r2]\n" + "\tb\t._125\n" + "._124:\n" + "\t.align\t2, 0\n" + "._123:\n" + "\t.word\t_nakamuraData2\n" + "._121:\n" + "\tadd\tr0, r1, #1\n" + "\tstrb\tr0, [r2]\n" + "\tb\t._125\n" + "._120:\n" + "\tldrh\tr1, [r5, #0x2e]\n" + "\tmov\tr0, #0x4\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._126\t@cond_branch\n" + "\tcmp\tr2, #0\n" + "\tbne\t._127\t@cond_branch\n" + "\tldr\tr4, ._129 @ _nakamuraData3\n" + "\tldrb\tr0, [r4]\n" + "\tadd\tr0, r0, #0x1\n" + "\tmov\tr1, #0x5\n" + "\tbl\t__modsi3\n" + "\tstrb\tr0, [r4]\n" + "._127:\n" + "\tbl\tdebug_sub_815F7B4\n" + "\tb\t._136\n" + "._130:\n" + "\t.align\t2, 0\n" + "._129:\n" + "\t.word\t_nakamuraData3\n" + "._126:\n" + "\tmov\tr0, #0x1\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._131\t@cond_branch\n" + "\tmov\tr0, #0x2\n" + "\tmov\tr1, #0x5\n" + "\tmov\tr2, #0xb\n" + "\tmov\tr3, #0x6\n" + "\tbl\tMenu_BlankWindowRect\n" + "\tmov\tr0, #0xb\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0xb\n" + "\tmov\tr3, #0x2\n" + "\tbl\tMenu_BlankWindowRect\n" + "\tldr\tr1, ._133 @ gMenuCallback\n" + "\tldr\tr0, ._133 + 4 @ debug_sub_815FA38\n" + "\tstr\tr0, [r1]\n" + "\tb\t._136\n" + "._134:\n" + "\t.align\t2, 0\n" + "._133:\n" + "\t.word\tgMenuCallback\n" + "\t.word\tdebug_sub_815FA38+1\n" + "._131:\n" + "\tmov\tr0, #0x2\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._136\t@cond_branch\n" + "\tcmp\tr2, #0\n" + "\tbne\t._136\t@cond_branch\n" + "\tmov\tr0, #0x64\n" + "._113:\n" + "\tbl\tdebug_sub_815F86C\n" + "._136:\n" + "\tmov\tr0, #0x0\n" + "\tpop\t{r4, r5}\n" + "\tpop\t{r1}\n" + "\tbx\tr1"); +} +#endif // NONMATCHING + #endif // DEBUG -- cgit v1.2.3 From b74fb2562faee0317013ec9b1ea50032973508ef Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 1 Apr 2018 21:07:55 -0400 Subject: through debug_sub_815FC94 --- src/debug/nakamura_debug_menu.c | 312 ++++++++++++++++++++-------------------- 1 file changed, 156 insertions(+), 156 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 959b9eae3..e16f0332a 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1,5 +1,6 @@ #if DEBUG #include "global.h" +#include "constants/items.h" #include "random.h" #include "palette.h" #include "main.h" @@ -9,6 +10,8 @@ #include "party_menu.h" #include "choose_party.h" #include "secret_base.h" +#include "roamer.h" +#include "decoration_inventory.h" #include "menu.h" typedef bool8 (*MenuFunc)(void); @@ -518,7 +521,6 @@ void debug_sub_815F86C(s8 a0) debug_sub_815F6E4(); } -#ifdef NONMATCHING bool8 debug_sub_815F930(void) { u32 r4 = _nakamuraData1 == 0 ? 7 : 10; @@ -529,206 +531,204 @@ bool8 debug_sub_815F930(void) debug_sub_815F7F0(1); else debug_sub_815F86C(1); + return FALSE; } - else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + if (gMain.newAndRepeatedKeys & DPAD_DOWN) { if (_nakamuraData1) debug_sub_815F7F0(-1); else debug_sub_815F86C(-1); + return FALSE; } - else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + if (gMain.newAndRepeatedKeys & DPAD_LEFT) { if (_nakamuraData2 == 0) _nakamuraData2 = r4 - 1; else _nakamuraData2--; debug_sub_815F788(); + return FALSE; } - else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { if (_nakamuraData2 == r4 - 1) _nakamuraData2 = 0; else _nakamuraData2++; debug_sub_815F788(); + return FALSE; } - else if (gMain.newKeys & SELECT_BUTTON) + if (gMain.newKeys & SELECT_BUTTON) { if (_nakamuraData1 == 0) _nakamuraData3 = (_nakamuraData3 + 1) % 5; debug_sub_815F7B4(); + return FALSE; } - else if (gMain.newKeys & A_BUTTON) + if (gMain.newKeys & A_BUTTON) { Menu_BlankWindowRect(2, 5, 11, 6); Menu_BlankWindowRect(11, 1, 11, 2); gMenuCallback = debug_sub_815FA38; + return FALSE; } - else if (gMain.newKeys & B_BUTTON) + if (gMain.newKeys & B_BUTTON) { if (_nakamuraData1 == 0) debug_sub_815F86C(100); + return FALSE; + } + + return FALSE; +} + +bool8 debug_sub_815FA38(void) +{ + if (gMain.newKeys & DPAD_UP) + { + Menu_MoveCursor(-2); + return FALSE; + } + + if (gMain.newKeys & DPAD_DOWN) + { + Menu_MoveCursor(+2); + return FALSE; + } + + if (gMain.newKeys & DPAD_LEFT) + { + if (_nakamuraData0 == 0) + _nakamuraData0 = 19; + else + _nakamuraData0--; + debug_sub_815F72C(); + return FALSE; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + if (_nakamuraData0 == 19) + _nakamuraData0 = 0; + else + _nakamuraData0++; + debug_sub_815F72C(); + return FALSE; + } + + if (gMain.newKeys & A_BUTTON) + { + if (_nakamuraData0 != 0 && gSaveBlock1.secretBases[_nakamuraData0].secretBaseId != 0) + { + _nakamuraData1 = Menu_GetCursorPos(); + _nakamuraData2 = 0; + debug_sub_815F788(); + debug_sub_815F7B4(); + gMenuCallback = debug_sub_815F930; + } + return FALSE; + } + + if (gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 debug_sub_815FB1C(void) +{ + _nakamuraData0 = 0; + _nakamuraData3 = 0; + gMenuCallback = debug_sub_815FA38; + Menu_EraseWindowRect(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 12, 11); + debug_sub_815F72C(); + InitMenu(0, 1, 3, 3, 0, 11); + return FALSE; +} + +bool8 debug_sub_815FB78(void) +{ + if (gMain.newKeys & DPAD_UP) + { + Menu_MoveCursor(-1); + return FALSE; } + if (gMain.newKeys & DPAD_DOWN) + { + Menu_MoveCursor(+1); + return FALSE; + } + + if (gMain.newKeys & A_BUTTON) + { + CloseMenu(); + switch (Menu_GetCursorPos()) + { + case 0: + debug_sub_814A714(); + break; + case 1: + ClearRoamerData(); + ClearRoamerLocationData(); + break; + } + return TRUE; + } + + if (gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 debug_sub_815FBE8(void) +{ + gMenuCallback = debug_sub_815FB78; + Menu_EraseWindowRect(0, 0, 29, 19); + debug_sub_814A73C(gStringVar1); + Menu_DrawStdWindowFrame(0, 0, 11, 9); + Menu_PrintText(gStringVar1, 1, 1); + Menu_PrintText(Str_843E580, 2, 3); + InitMenu(0, 1, 3, 3, 0, 10); return FALSE; } -#else -__attribute__((naked)) bool8 debug_sub_815F930(void) + +bool8 debug_sub_815FC54(void) +{ + u16 i; + + for (i = 0; i < 43; i++) + { + gSaveBlock1.bagPocket_Berries[i].itemId = ITEM_CHERI_BERRY + i; + gSaveBlock1.bagPocket_Berries[i].quantity = 999; + } + + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_815FC94(void) { - asm("\tpush\t{r4, r5, lr}\n" - "\tldr\tr0, ._107 @ _nakamuraData1\n" - "\tldrb\tr2, [r0]\n" - "\tmov\tr4, #0xa\n" - "\tcmp\tr2, #0\n" - "\tbne\t._103\t@cond_branch\n" - "\tmov\tr4, #0x7\n" - "._103:\n" - "\tldr\tr5, ._107 + 4 @ gMain\n" - "\tldrh\tr1, [r5, #0x30]\n" - "\tmov\tr0, #0x40\n" - "\tand\tr0, r0, r1\n" - "\tcmp\tr0, #0\n" - "\tbeq\t._104\t@cond_branch\n" - "\tcmp\tr2, #0\n" - "\tbeq\t._105\t@cond_branch\n" - "\tmov\tr0, #0x1\n" - "\tbl\tdebug_sub_815F7F0\n" - "\tb\t._136\n" - "._108:\n" - "\t.align\t2, 0\n" - "._107:\n" - "\t.word\t_nakamuraData1\n" - "\t.word\tgMain\n" - "._105:\n" - "\tmov\tr0, #0x1\n" - "\tb\t._113\n" - "._104:\n" - "\tmov\tr0, #0x80\n" - "\tand\tr0, r0, r1\n" - "\tcmp\tr0, #0\n" - "\tbeq\t._110\t@cond_branch\n" - "\tcmp\tr2, #0\n" - "\tbeq\t._111\t@cond_branch\n" - "\tmov\tr0, #0x1\n" - "\tneg\tr0, r0\n" - "\tbl\tdebug_sub_815F7F0\n" - "\tb\t._136\n" - "._111:\n" - "\tmov\tr0, #0x1\n" - "\tneg\tr0, r0\n" - "\tb\t._113\n" - "._110:\n" - "\tmov\tr0, #0x20\n" - "\tand\tr0, r0, r1\n" - "\tlsl\tr0, r0, #0x10\n" - "\tlsr\tr3, r0, #0x10\n" - "\tcmp\tr3, #0\n" - "\tbeq\t._114\t@cond_branch\n" - "\tldr\tr1, ._117 @ _nakamuraData2\n" - "\tldrb\tr0, [r1]\n" - "\tcmp\tr0, #0\n" - "\tbne\t._115\t@cond_branch\n" - "\tsub\tr0, r4, #1\n" - "\tb\t._116\n" - "._118:\n" - "\t.align\t2, 0\n" - "._117:\n" - "\t.word\t_nakamuraData2\n" - "._115:\n" - "\tsub\tr0, r0, #0x1\n" - "._116:\n" - "\tstrb\tr0, [r1]\n" - "._125:\n" - "\tbl\tdebug_sub_815F788\n" - "\tb\t._136\n" - "._114:\n" - "\tmov\tr0, #0x10\n" - "\tand\tr0, r0, r1\n" - "\tcmp\tr0, #0\n" - "\tbeq\t._120\t@cond_branch\n" - "\tldr\tr2, ._123 @ _nakamuraData2\n" - "\tldrb\tr1, [r2]\n" - "\tsub\tr0, r4, #1\n" - "\tcmp\tr1, r0\n" - "\tbne\t._121\t@cond_branch\n" - "\tstrb\tr3, [r2]\n" - "\tb\t._125\n" - "._124:\n" - "\t.align\t2, 0\n" - "._123:\n" - "\t.word\t_nakamuraData2\n" - "._121:\n" - "\tadd\tr0, r1, #1\n" - "\tstrb\tr0, [r2]\n" - "\tb\t._125\n" - "._120:\n" - "\tldrh\tr1, [r5, #0x2e]\n" - "\tmov\tr0, #0x4\n" - "\tand\tr0, r0, r1\n" - "\tcmp\tr0, #0\n" - "\tbeq\t._126\t@cond_branch\n" - "\tcmp\tr2, #0\n" - "\tbne\t._127\t@cond_branch\n" - "\tldr\tr4, ._129 @ _nakamuraData3\n" - "\tldrb\tr0, [r4]\n" - "\tadd\tr0, r0, #0x1\n" - "\tmov\tr1, #0x5\n" - "\tbl\t__modsi3\n" - "\tstrb\tr0, [r4]\n" - "._127:\n" - "\tbl\tdebug_sub_815F7B4\n" - "\tb\t._136\n" - "._130:\n" - "\t.align\t2, 0\n" - "._129:\n" - "\t.word\t_nakamuraData3\n" - "._126:\n" - "\tmov\tr0, #0x1\n" - "\tand\tr0, r0, r1\n" - "\tcmp\tr0, #0\n" - "\tbeq\t._131\t@cond_branch\n" - "\tmov\tr0, #0x2\n" - "\tmov\tr1, #0x5\n" - "\tmov\tr2, #0xb\n" - "\tmov\tr3, #0x6\n" - "\tbl\tMenu_BlankWindowRect\n" - "\tmov\tr0, #0xb\n" - "\tmov\tr1, #0x1\n" - "\tmov\tr2, #0xb\n" - "\tmov\tr3, #0x2\n" - "\tbl\tMenu_BlankWindowRect\n" - "\tldr\tr1, ._133 @ gMenuCallback\n" - "\tldr\tr0, ._133 + 4 @ debug_sub_815FA38\n" - "\tstr\tr0, [r1]\n" - "\tb\t._136\n" - "._134:\n" - "\t.align\t2, 0\n" - "._133:\n" - "\t.word\tgMenuCallback\n" - "\t.word\tdebug_sub_815FA38+1\n" - "._131:\n" - "\tmov\tr0, #0x2\n" - "\tand\tr0, r0, r1\n" - "\tcmp\tr0, #0\n" - "\tbeq\t._136\t@cond_branch\n" - "\tcmp\tr2, #0\n" - "\tbne\t._136\t@cond_branch\n" - "\tmov\tr0, #0x64\n" - "._113:\n" - "\tbl\tdebug_sub_815F86C\n" - "._136:\n" - "\tmov\tr0, #0x0\n" - "\tpop\t{r4, r5}\n" - "\tpop\t{r1}\n" - "\tbx\tr1"); + ClearDecorationInventories(); + debug_sub_814A3A8(); + Menu_EraseWindowRect(0, 0, 29, 19); + CloseMenu(); + return TRUE; } -#endif // NONMATCHING #endif // DEBUG -- cgit v1.2.3 From d43e750b88e346847cf5f90e31d82aacf31e058c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 00:12:58 -0400 Subject: debug_sub_815FCB4 --- src/debug/nakamura_debug_menu.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index e16f0332a..d4614416c 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -6,6 +6,8 @@ #include "main.h" #include "string_util.h" #include "overworld.h" +#include "fieldmap.h" +#include "metatile_behavior.h" #include "start_menu.h" #include "party_menu.h" #include "choose_party.h" @@ -731,4 +733,26 @@ bool8 debug_sub_815FC94(void) return TRUE; } +u16 debug_sub_815FCB4(u8 a0) +{ + u16 retval = 0; + u16 height = gMapHeader.mapData->height / 3; + u16 r6; + u16 r4; + u16 start = height * a0; + + for (r6 = start; r6 < start + height; r6++) + { + for (r4 = 0; r4 < gMapHeader.mapData->width; r4++) + { + if (sub_805759C(MapGridGetMetatileBehaviorAt(r4 + 7, r6 + 7)) == TRUE) + { + retval++; + } + } + } + + return retval; +} + #endif // DEBUG -- cgit v1.2.3 From a61e8646af82098604ffc0afbc195607f0733ff3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 08:48:16 -0400 Subject: through debug_sub_815FFDC --- src/debug/nakamura_debug_menu.c | 133 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 132 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index d4614416c..5ceb0896f 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1,12 +1,14 @@ #if DEBUG #include "global.h" #include "constants/items.h" +#include "constants/species.h" #include "random.h" #include "palette.h" #include "main.h" #include "string_util.h" #include "overworld.h" #include "fieldmap.h" +#include "field_player_avatar.h" #include "metatile_behavior.h" #include "start_menu.h" #include "party_menu.h" @@ -14,7 +16,9 @@ #include "secret_base.h" #include "roamer.h" #include "decoration_inventory.h" +#include "wild_encounter.h" #include "menu.h" +#include "menu_helpers.h" typedef bool8 (*MenuFunc)(void); @@ -29,7 +33,11 @@ EWRAM_DATA u16 _nakamuraData8 = 0; EWRAM_DATA u16 _nakamuraDataA = 0; EWRAM_DATA u16 _nakamuraDataC = 0; -__attribute__((unused)) static u8 _nakamuraStatic0[0x18]; +__attribute__((unused)) static struct { + u16 species; + u8 level; + u8 unk3; +} _nakamuraStatic0[PARTY_SIZE]; __attribute__((unused)) static u8 _nakamuraStatic18; __attribute__((unused)) static u8 gDebugFiller3000814[4]; @@ -46,6 +54,10 @@ bool8 debug_sub_815FBE8(void); bool8 debug_sub_815FC54(void); bool8 debug_sub_815FC94(void); bool8 debug_sub_815FE1C(void); +void debug_sub_816009C(u8); +void debug_sub_81600D0(u8); +void debug_sub_816013C(u8); +bool8 debug_sub_8160498(void); bool8 debug_sub_8160D98(void); const u8 Str_843E36C[] = _("Berries"); @@ -755,4 +767,123 @@ u16 debug_sub_815FCB4(u8 a0) return retval; } +u16 debug_sub_815FD40(void) +{ + u16 retval = 0; + s16 x; + s16 y; + u16 xx; + u16 yy; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + x -= 7; + y -= 7; + + for (yy = 0; yy < gMapHeader.mapData->height; yy++) + { + for (xx = 0; xx < gMapHeader.mapData->width; xx++) + { + if (sub_805759C(MapGridGetMetatileBehaviorAt(xx + 7, yy + 7)) == TRUE) + { + retval++; + if (x == xx && y == yy) + return retval; + } + } + } + return retval + 1; +} + +bool8 debug_sub_815FDE4(void) +{ + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + { + Menu_EraseWindowRect(0, 0, 29, 19); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 debug_sub_815FE1C(void) +{ + u16 r7; + u16 r5; + + Menu_EraseWindowRect(0, 0, 29, 19); + Menu_DrawStdWindowFrame(0, 0, 16, 19); + Menu_PrintText(Str_843E58D, 1, 1); + + ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FCB4(0), STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 5, 3); + + ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FCB4(1), STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 5, 5); + + ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FCB4(2), STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 5, 7); + + ConvertIntToDecimalStringN(gStringVar1, debug_sub_8092344(0), STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 11, 3); + + ConvertIntToDecimalStringN(gStringVar1, debug_sub_8092344(1), STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 11, 5); + + ConvertIntToDecimalStringN(gStringVar1, debug_sub_8092344(2), STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 11, 7); + + FeebasSeedRng(gSaveBlock1.easyChatPairs[0].unk2); + r7 = debug_sub_815FCB4(0) + debug_sub_815FCB4(1) + debug_sub_815FCB4(2); + r5 = 0; + + while (r5 != 6) + { + u16 r1 = FeebasRandom() % r7; + if (r1 == 0) + r1 = r7; + if (r1 == 0 || r1 > 3) + { + ConvertIntToDecimalStringN(gStringVar1, r1, STR_CONV_MODE_RIGHT_ALIGN, 4); + Menu_PrintText(gStringVar1, (r5 % 3) * 5 + 2, (r5 / 3) * 2 + 11); + r5++; + } + } + + ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FD40(), STR_CONV_MODE_RIGHT_ALIGN, 4); + Menu_PrintText(gStringVar1, 2, 17); + + gMenuCallback = debug_sub_815FDE4; + + return FALSE; +} + +void debug_sub_815FFDC(void) +{ + u8 i; + + Menu_DrawStdWindowFrame(14, 0, 29, 13); + Menu_DrawStdWindowFrame(0, 14, 29, 19); + Menu_PrintText(Str_843E5D4, 1, 15); + + for (i = 0; i < PARTY_SIZE; i++) + { + _nakamuraStatic0[i].species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES); + if (_nakamuraStatic0[i].species != SPECIES_NONE) + { + _nakamuraStatic0[i].level = GetMonData(gPlayerParty + i, MON_DATA_LEVEL); + debug_sub_816009C(i); + debug_sub_81600D0(i); + debug_sub_816013C(i); + } + else + _nakamuraStatic0[i].level = 1; + _nakamuraStatic0[i].unk3 = 0; + } + + _nakamuraData4 = 0; + PrintTriangleCursorWithPalette(15, 1, 0xFF); + gMenuCallback = debug_sub_8160498; +} + #endif // DEBUG -- cgit v1.2.3 From e83a8d3454a451eb57a6c6d5e41cd64d3517ba40 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 10:07:40 -0400 Subject: through debug_sub_8160308 --- src/debug/nakamura_debug_menu.c | 109 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 107 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 5ceb0896f..5840a5ebf 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -2,6 +2,8 @@ #include "global.h" #include "constants/items.h" #include "constants/species.h" +#include "data2.h" +#include "strings.h" #include "random.h" #include "palette.h" #include "main.h" @@ -34,8 +36,8 @@ EWRAM_DATA u16 _nakamuraDataA = 0; EWRAM_DATA u16 _nakamuraDataC = 0; __attribute__((unused)) static struct { - u16 species; - u8 level; + s16 species; + s8 level; u8 unk3; } _nakamuraStatic0[PARTY_SIZE]; __attribute__((unused)) static u8 _nakamuraStatic18; @@ -57,7 +59,9 @@ bool8 debug_sub_815FE1C(void); void debug_sub_816009C(u8); void debug_sub_81600D0(u8); void debug_sub_816013C(u8); +void debug_sub_81603B8(u8); bool8 debug_sub_8160498(void); +void debug_sub_816062C(u8); bool8 debug_sub_8160D98(void); const u8 Str_843E36C[] = _("Berries"); @@ -201,6 +205,8 @@ const u8 Str_843E5D4[] = _( "Aボタン {ESCAPE}\p" "  Bボタン ー\n" "START けってい"); + +// The following may be defined in the functions in which they are invoked const u8 Str_843E5F0[] = _("?"); const u8 Str_843E5F2[] = _("HP どりょくち"); const u8 Str_843E5FB[] = _("こうげき どりょくち"); @@ -886,4 +892,103 @@ void debug_sub_815FFDC(void) gMenuCallback = debug_sub_8160498; } +void debug_sub_816009C(u8 i) +{ + Menu_PrintText(gSpeciesNames[_nakamuraStatic0[i].species], 16, 2 * i + 1); +} + +void debug_sub_81600D0(u8 i) +{ + // u8 sp0[] = _("?"); + + u8 sp0[2]; + u8 gender; + + memcpy(sp0, Str_843E5F0, sizeof Str_843E5F0); + gender = GetMonGender(gPlayerParty + i); + if (gender == MON_MALE) + Menu_PrintText(gOtherText_MaleSymbol2, 23, 2 * i + 1); + else if (gender == MON_FEMALE) + Menu_PrintText(gOtherText_FemaleSymbolAndLv, 23, 2 * i + 1); + else + Menu_PrintText(sp0, 23, 2 * i + 1); +} + +void debug_sub_816013C(u8 i) +{ + ConvertIntToDecimalStringN(gStringVar1, _nakamuraStatic0[i].level, STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(gStringVar1, 26, 2 * i + 1); +} + +void debug_sub_816017C(u8 i) +{ + Menu_BlankWindowRect(16, 2 * i + 1, 28, 2 * i + 2); + if (_nakamuraStatic0[i].species != SPECIES_NONE) + { + debug_sub_816009C(i); + debug_sub_81600D0(i); + debug_sub_816013C(i); + } + debug_sub_81603B8(5); +} + +void debug_sub_81601C8(u8 i, s8 dirn) +{ + if (_nakamuraStatic0[i].species == SPECIES_NONE && _nakamuraStatic0[i].unk3 == 0 && dirn == 1) + _nakamuraStatic0[i].species = SPECIES_TREECKO - 1; + _nakamuraStatic0[i].species += dirn; + if (_nakamuraStatic0[i].species >= SPECIES_CHIMECHO) + _nakamuraStatic0[i].species -= SPECIES_CHIMECHO; + if (_nakamuraStatic0[i].species < 0) + _nakamuraStatic0[i].species += SPECIES_CHIMECHO; + CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, 0, 0, 0, 0); + _nakamuraStatic0[i].unk3 = 1; +} + +void debug_sub_8160258(u8 i) +{ + if (_nakamuraStatic0[i].species != SPECIES_NONE) + debug_sub_816062C(i); +} + +void debug_sub_816027C(u8 i, s8 dirn) +{ + if (_nakamuraStatic0[i].species != SPECIES_NONE) + { + _nakamuraStatic0[i].level += dirn; + if (_nakamuraStatic0[i].level > 100) + _nakamuraStatic0[i].level = 1; + if (_nakamuraStatic0[i].level < 1) + _nakamuraStatic0[i].level = 100; + SetMonData(gPlayerParty + i, MON_DATA_EXP, gExperienceTables[gBaseStats[_nakamuraStatic0[i].species].growthRate] + _nakamuraStatic0[i].level); + debug_sub_803F55C(gPlayerParty + i); + } +} + +void debug_sub_8160308(void) +{ + u8 i; + u8 j; + + Menu_EraseWindowRect(0, 0, 29, 19); + for (i = 0; i < 5; i++) + { + for (j = i + 1; j < 6; j++) + { + if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES, NULL) == SPECIES_NONE) + { + struct Pokemon tmp = gPlayerParty[i]; + gPlayerParty[i] = gPlayerParty[j]; + gPlayerParty[j] = tmp; + } + } + } + CalculatePlayerPartyCount(); + if (gPlayerPartyCount == 0) + { + CreateMon(gPlayerParty + 0, SPECIES_BULBASAUR, 10, 0x20, 0, 0, 0, 0); + gPlayerPartyCount = 1; + } +} + #endif // DEBUG -- cgit v1.2.3 From 28b5a25d69d8627c66ced0d47f5bf540ac81a76a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 10:58:51 -0400 Subject: through debug_sub_8160498 --- src/debug/nakamura_debug_menu.c | 132 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 5840a5ebf..1b640f7bb 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -2,6 +2,8 @@ #include "global.h" #include "constants/items.h" #include "constants/species.h" +#include "constants/songs.h" +#include "sound.h" #include "data2.h" #include "strings.h" #include "random.h" @@ -991,4 +993,134 @@ void debug_sub_8160308(void) } } +void debug_sub_81603B8(u8 i) +{ + u8 q; + u8 r; + PlaySE(SE_SELECT); + q = _nakamuraData4 / 6; + r = _nakamuraData4 % 6; + Menu_BlankWindowRect(_843E5D1[q], r * 2 + 1, _843E5D1[q], r * 2 + 2); + + if (i == 0) + { + if (r != 0) + _nakamuraData4--; + else + _nakamuraData4 = q * 6 + 5; + } + + if (i == 1) + { + if (r != 5) + _nakamuraData4++; + else + _nakamuraData4 = q * 6; + } + + if (i == 2) + { + if (q != 0) + _nakamuraData4 -= 6; + else + _nakamuraData4 = 12 + r; + } + + if (i == 3) + { + if (q != 2) + _nakamuraData4 += 6; + else + _nakamuraData4 = r; + } + + q = _nakamuraData4 / 6; + r = _nakamuraData4 % 6; + PrintTriangleCursorWithPalette(_843E5D1[q], r * 2 + 1, 0xFF); +} + +bool8 debug_sub_8160498(void) +{ + if (gMain.newKeys & DPAD_UP) + { + debug_sub_81603B8(0); + return FALSE; + } + + if (gMain.newKeys & DPAD_DOWN) + { + debug_sub_81603B8(1); + return FALSE; + } + + if (gMain.newKeys & DPAD_LEFT) + { + debug_sub_81603B8(2); + return FALSE; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + debug_sub_81603B8(3); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & A_BUTTON) + { + if (_nakamuraData4 < 6) + debug_sub_81601C8(_nakamuraData4, +1); + if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) + debug_sub_8160258(_nakamuraData4 % 6); + if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) + debug_sub_816027C(_nakamuraData4 % 6, +1); + debug_sub_816017C(_nakamuraData4 % 6); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & B_BUTTON) + { + if (_nakamuraData4 < 6) + debug_sub_81601C8(_nakamuraData4, -1); + if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) + debug_sub_8160258(_nakamuraData4 % 6); + if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) + debug_sub_816027C(_nakamuraData4 % 6, -1); + debug_sub_816017C(_nakamuraData4 % 6); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & R_BUTTON) + { + if (_nakamuraData4 < 6) + debug_sub_81601C8(_nakamuraData4, +10); + if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) + debug_sub_8160258(_nakamuraData4 % 6); + if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) + debug_sub_816027C(_nakamuraData4 % 6, +1); + debug_sub_816017C(_nakamuraData4 % 6); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & L_BUTTON) + { + if (_nakamuraData4 < 6) + debug_sub_81601C8(_nakamuraData4, -10); + if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) + debug_sub_8160258(_nakamuraData4 % 6); + if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) + debug_sub_816027C(_nakamuraData4 % 6, -1); + debug_sub_816017C(_nakamuraData4 % 6); + return FALSE; + } + + if (gMain.newKeys & START_BUTTON) + { + debug_sub_8160308(); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + #endif // DEBUG -- cgit v1.2.3 From 79843a9026867842d2719bad87ad986a4bd4ce87 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 15:59:06 -0400 Subject: through nonmatching debug_sub_8160714 --- src/debug/nakamura_debug_menu.c | 555 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 552 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 1b640f7bb..b1da30b27 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -23,6 +23,7 @@ #include "wild_encounter.h" #include "menu.h" #include "menu_helpers.h" +#include "pokeblock.h" typedef bool8 (*MenuFunc)(void); @@ -63,7 +64,7 @@ void debug_sub_81600D0(u8); void debug_sub_816013C(u8); void debug_sub_81603B8(u8); bool8 debug_sub_8160498(void); -void debug_sub_816062C(u8); +u8 debug_sub_816062C(u8); bool8 debug_sub_8160D98(void); const u8 Str_843E36C[] = _("Berries"); @@ -943,7 +944,7 @@ void debug_sub_81601C8(u8 i, s8 dirn) _nakamuraStatic0[i].species -= SPECIES_CHIMECHO; if (_nakamuraStatic0[i].species < 0) _nakamuraStatic0[i].species += SPECIES_CHIMECHO; - CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, 0, 0, 0, 0); + CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, FALSE, 0, FALSE, 0); _nakamuraStatic0[i].unk3 = 1; } @@ -988,7 +989,7 @@ void debug_sub_8160308(void) CalculatePlayerPartyCount(); if (gPlayerPartyCount == 0) { - CreateMon(gPlayerParty + 0, SPECIES_BULBASAUR, 10, 0x20, 0, 0, 0, 0); + CreateMon(gPlayerParty + 0, SPECIES_BULBASAUR, 10, 0x20, FALSE, 0, FALSE, 0); gPlayerPartyCount = 1; } } @@ -1123,4 +1124,552 @@ bool8 debug_sub_8160498(void) return FALSE; } +u8 debug_sub_816062C(u8 i) +{ + u16 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES); + u8 gender = GetMonGender(gPlayerParty + i); + u8 ratio = gBaseStats[species].genderRatio; + u32 personality; + + if (ratio == MON_MALE || ratio == MON_FEMALE || ratio == MON_GENDERLESS) + return GetMonGender(gPlayerParty + i); + + switch (gender) + { + default: + return MON_MALE; + case MON_MALE: + ratio = MON_FEMALE; + break; + case MON_FEMALE: + ratio = MON_MALE; + break; + } + + do + { + personality = Random(); + personality |= (Random() << 16); + } while (GetGenderFromSpeciesAndPersonality(species, personality) != ratio); + + GetMonData(gPlayerParty + i, MON_DATA_IVS); + CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, TRUE, personality, FALSE, 0); + return ratio; +} + +#ifdef NONMATCHING +u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock) +{ + u8 numGoodFlavors = 0; + u8 numBadFlavors = 0; + u8 numNeutralFlavors = 0; + u8 i; + u8 numLowFlavors; + s16 pkblk[6]; + + for (i = 0; i < 6; i++) + { + pkblk[i] = GetPokeblockData(pokeblock, i + PBLOCK_SPICY); + if (i != PBLOCK_FEEL - 1) + { + if (pkblk[i] > 0) + numGoodFlavors++; + if (pkblk[i] < 0) + numBadFlavors++; + if (pkblk[i] == 0) + numNeutralFlavors++; + } + } + + if (pkblk[0] >= 50) + { + StringCopy(dest, ContestStatsText_GoldPokeBlock); + return PBLOCK_CLR_GOLD; + } + + if (pkblk[1] >= 50) + { + StringCopy(dest, ContestStatsText_GoldPokeBlock); + return PBLOCK_CLR_GOLD; + } + + if (pkblk[2] >= 50) + { + StringCopy(dest, ContestStatsText_GoldPokeBlock); + return PBLOCK_CLR_GOLD; + } + + if (pkblk[3] >= 50) + { + StringCopy(dest, ContestStatsText_GoldPokeBlock); + return PBLOCK_CLR_GOLD; + } + + if (pkblk[4] >= 50) + { + StringCopy(dest, ContestStatsText_GoldPokeBlock); + return PBLOCK_CLR_GOLD; + } + + if (numGoodFlavors == 4) + { + StringCopy(dest, ContestStatsText_WhitePokeBlock); + return PBLOCK_CLR_WHITE; + } + + numLowFlavors = 0; + for (i = 0; i < 5; i++) + { + if (pkblk[i] == 2) + numLowFlavors++; + } + if (numLowFlavors == 3 || numNeutralFlavors == 5 || numBadFlavors == 4) + { + StringCopy(dest, ContestStatsText_BlackPokeBlock); + return PBLOCK_CLR_BLACK; + } + + if (numGoodFlavors == 3) + { + StringCopy(dest, ContestStatsText_GrayPokeBlock); + return PBLOCK_CLR_GRAY; + } + + if (numGoodFlavors == 2 || numBadFlavors == 2) + { + u8 firstNonzeroFlavor = 6; + u8 lastNonzeroFlavor = 0; + for (i = 0; i < 5; i++) + { + if (pkblk[i] != 0) + { + if (firstNonzeroFlavor == 6) + firstNonzeroFlavor = i; + else + lastNonzeroFlavor = i; + } + } + if (pkblk[firstNonzeroFlavor] >= pkblk[lastNonzeroFlavor]) + lastNonzeroFlavor = firstNonzeroFlavor; + + if (lastNonzeroFlavor == 0) + { + StringCopy(dest, ContestStatsText_PurplePokeBlock); + return PBLOCK_CLR_PURPLE; + } + + if (lastNonzeroFlavor == 1) + { + StringCopy(dest, ContestStatsText_IndigoPokeBlock); + return PBLOCK_CLR_INDIGO; + } + + if (lastNonzeroFlavor == 2) + { + StringCopy(dest, ContestStatsText_BrownPokeBlock); + return PBLOCK_CLR_BROWN; + } + + if (lastNonzeroFlavor == 3) + { + StringCopy(dest, ContestStatsText_LiteBluePokeBlock); + return PBLOCK_CLR_LITEBLUE; + } + + if (lastNonzeroFlavor == 4) + { + StringCopy(dest, ContestStatsText_OlivePokeBlock); + return PBLOCK_CLR_OLIVE; + } + } + + if (numGoodFlavors == 1 || numBadFlavors == 1) + { + if (pkblk[0] != 0) + { + StringCopy(dest, ContestStatsText_RedPokeBlock); + return PBLOCK_CLR_RED; + } + + if (pkblk[1] != 0) + { + StringCopy(dest, ContestStatsText_BluePokeBlock); + return PBLOCK_CLR_BLUE; + } + + if (pkblk[2] != 0) + { + StringCopy(dest, ContestStatsText_PinkPokeBlock); + return PBLOCK_CLR_PINK; + } + + if (pkblk[3] != 0) + { + StringCopy(dest, ContestStatsText_GreenPokeBlock); + return PBLOCK_CLR_GREEN; + } + + if (pkblk[4] != 0) + { + StringCopy(dest, ContestStatsText_YellowPokeBlock); + return PBLOCK_CLR_YELLOW; + } + } + + StringCopy(dest, gOtherText_FiveQuestions); + return 0; // PBLOCK_CLR_UNKNOWN +} +#else +__attribute__((naked)) +u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock) +{ + asm("\tpush\t{r4, r5, r6, r7, lr}\n" + "\tmov\tr7, r9\n" + "\tmov\tr6, r8\n" + "\tpush\t{r6, r7}\n" + "\tadd\tsp, sp, #0xfffffff0\n" + "\tadd\tr6, r0, #0\n" + "\tmov\tr9, r1\n" + "\tmov\tr7, #0x0\n" + "\tmov\tr0, #0x0\n" + "\tmov\tr8, r0\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr5, #0x0\n" + "._329:\n" + "\tadd\tr4, r5, #1\n" + "\tlsl\tr1, r4, #0x18\n" + "\tlsr\tr1, r1, #0x18\n" + "\tmov\tr0, r9\n" + "\tstr\tr2, [sp, #0xc]\n" + "\tbl\tGetPokeblockData\n" + "\tadd\tr1, r0, #0\n" + "\tlsl\tr0, r5, #0x1\n" + "\tadd r0, r0, sp\n" + "\tstrh\tr1, [r0]\n" + "\tldr\tr2, [sp, #0xc]\n" + "\tcmp\tr5, #0x5\n" + "\tbeq\t._328\t@cond_branch\n" + "\tlsl\tr0, r1, #0x10\n" + "\tasr\tr1, r0, #0x10\n" + "\tcmp\tr1, #0\n" + "\tble\t._326\t@cond_branch\n" + "\tadd\tr0, r7, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr7, r0, #0x18\n" + "._326:\n" + "\tcmp\tr1, #0\n" + "\tbge\t._327\t@cond_branch\n" + "\tmov\tr0, r8\n" + "\tadd\tr0, r0, #0x1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr0, r0, #0x18\n" + "\tmov\tr8, r0\n" + "._327:\n" + "\tcmp\tr1, #0\n" + "\tbne\t._328\t@cond_branch\n" + "\tadd\tr0, r2, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr2, r0, #0x18\n" + "._328:\n" + "\tlsl\tr0, r4, #0x18\n" + "\tlsr\tr5, r0, #0x18\n" + "\tcmp\tr5, #0x5\n" + "\tbls\t._329\t@cond_branch\n" + "\tmov\tr0, sp\n" + "\tmov\tr1, #0x0\n" + "\tldsh\tr0, [r0, r1]\n" + "\tcmp\tr0, #0x31\n" + "\tbgt\t._333\t@cond_branch\n" + "\tmov\tr0, sp\n" + "\tldrh\tr0, [r0, #0x2]\n" + "\tlsl\tr0, r0, #0x10\n" + "\tasr\tr0, r0, #0x10\n" + "\tcmp\tr0, #0x31\n" + "\tbgt\t._333\t@cond_branch\n" + "\tmov\tr0, sp\n" + "\tmov\tr4, #0x4\n" + "\tldsh\tr0, [r0, r4]\n" + "\tcmp\tr0, #0x31\n" + "\tbgt\t._333\t@cond_branch\n" + "\tmov\tr0, sp\n" + "\tmov\tr1, #0x6\n" + "\tldsh\tr0, [r0, r1]\n" + "\tcmp\tr0, #0x31\n" + "\tbgt\t._333\t@cond_branch\n" + "\tmov\tr0, sp\n" + "\tmov\tr4, #0x8\n" + "\tldsh\tr0, [r0, r4]\n" + "\tcmp\tr0, #0x31\n" + "\tble\t._334\t@cond_branch\n" + "._333:\n" + "\tldr\tr1, ._336 @ ContestStatsText_GoldPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0xe\n" + "\tb\t._400\n" + "._337:\n" + "\t.align\t2, 0\n" + "._336:\n" + "\t.word\tContestStatsText_GoldPokeBlock\n" + "._334:\n" + "\tcmp\tr7, #0x4\n" + "\tbne\t._338\t@cond_branch\n" + "\tldr\tr1, ._340 @ ContestStatsText_WhitePokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0xd\n" + "\tb\t._400\n" + "._341:\n" + "\t.align\t2, 0\n" + "._340:\n" + "\t.word\tContestStatsText_WhitePokeBlock\n" + "._338:\n" + "\tmov\tr3, #0x0\n" + "\tmov\tr5, #0x0\n" + "._343:\n" + "\tlsl\tr0, r5, #0x1\n" + "\tadd r0, r0, sp\n" + "\tmov\tr1, #0x0\n" + "\tldsh\tr0, [r0, r1]\n" + "\tcmp\tr0, #0x2\n" + "\tbne\t._342\t@cond_branch\n" + "\tadd\tr0, r3, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr3, r0, #0x18\n" + "._342:\n" + "\tadd\tr0, r5, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr5, r0, #0x18\n" + "\tcmp\tr5, #0x4\n" + "\tbls\t._343\t@cond_branch\n" + "\tcmp\tr3, #0x3\n" + "\tbeq\t._345\t@cond_branch\n" + "\tcmp\tr2, #0x5\n" + "\tbeq\t._345\t@cond_branch\n" + "\tmov\tr4, r8\n" + "\tcmp\tr4, #0x4\n" + "\tbne\t._346\t@cond_branch\n" + "._345:\n" + "\tldr\tr1, ._348 @ ContestStatsText_BlackPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0xc\n" + "\tb\t._400\n" + "._349:\n" + "\t.align\t2, 0\n" + "._348:\n" + "\t.word\tContestStatsText_BlackPokeBlock\n" + "._346:\n" + "\tcmp\tr7, #0x3\n" + "\tbne\t._350\t@cond_branch\n" + "\tldr\tr1, ._352 @ ContestStatsText_GrayPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0xb\n" + "\tb\t._400\n" + "._353:\n" + "\t.align\t2, 0\n" + "._352:\n" + "\t.word\tContestStatsText_GrayPokeBlock\n" + "._350:\n" + "\tcmp\tr7, #0x2\n" + "\tbeq\t._354\t@cond_branch\n" + "\tmov\tr0, r8\n" + "\tcmp\tr0, #0x2\n" + "\tbne\t._377\t@cond_branch\n" + "._354:\n" + "\tmov\tr3, #0x6\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr5, #0x0\n" + "._359:\n" + "\tlsl\tr0, r5, #0x1\n" + "\tadd r0, r0, sp\n" + "\tmov\tr1, #0x0\n" + "\tldsh\tr0, [r0, r1]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._358\t@cond_branch\n" + "\tcmp\tr3, #0x6\n" + "\tbne\t._357\t@cond_branch\n" + "\tadd\tr3, r5, #0\n" + "\tb\t._358\n" + "._357:\n" + "\tadd\tr2, r5, #0\n" + "._358:\n" + "\tadd\tr0, r5, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr5, r0, #0x18\n" + "\tcmp\tr5, #0x4\n" + "\tbls\t._359\t@cond_branch\n" + "\tlsl\tr0, r3, #0x1\n" + "\tmov\tr4, sp\n" + "\tadd\tr1, r4, r0\n" + "\tlsl\tr0, r2, #0x1\n" + "\tadd r0, r0, sp\n" + "\tmov\tr4, #0x0\n" + "\tldsh\tr1, [r1, r4]\n" + "\tmov\tr4, #0x0\n" + "\tldsh\tr0, [r0, r4]\n" + "\tcmp\tr1, r0\n" + "\tblt\t._360\t@cond_branch\n" + "\tadd\tr2, r3, #0\n" + "._360:\n" + "\tcmp\tr2, #0\n" + "\tbne\t._361\t@cond_branch\n" + "\tldr\tr1, ._363 @ ContestStatsText_PurplePokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x6\n" + "\tb\t._400\n" + "._364:\n" + "\t.align\t2, 0\n" + "._363:\n" + "\t.word\tContestStatsText_PurplePokeBlock\n" + "._361:\n" + "\tcmp\tr2, #0x1\n" + "\tbne\t._365\t@cond_branch\n" + "\tldr\tr1, ._367 @ ContestStatsText_IndigoPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x7\n" + "\tb\t._400\n" + "._368:\n" + "\t.align\t2, 0\n" + "._367:\n" + "\t.word\tContestStatsText_IndigoPokeBlock\n" + "._365:\n" + "\tcmp\tr2, #0x2\n" + "\tbne\t._369\t@cond_branch\n" + "\tldr\tr1, ._371 @ ContestStatsText_BrownPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x8\n" + "\tb\t._400\n" + "._372:\n" + "\t.align\t2, 0\n" + "._371:\n" + "\t.word\tContestStatsText_BrownPokeBlock\n" + "._369:\n" + "\tcmp\tr2, #0x3\n" + "\tbne\t._373\t@cond_branch\n" + "\tldr\tr1, ._375 @ ContestStatsText_LiteBluePokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x9\n" + "\tb\t._400\n" + "._376:\n" + "\t.align\t2, 0\n" + "._375:\n" + "\t.word\tContestStatsText_LiteBluePokeBlock\n" + "._373:\n" + "\tcmp\tr2, #0x4\n" + "\tbne\t._377\t@cond_branch\n" + "\tldr\tr1, ._379 @ ContestStatsText_OlivePokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0xa\n" + "\tb\t._400\n" + "._380:\n" + "\t.align\t2, 0\n" + "._379:\n" + "\t.word\tContestStatsText_OlivePokeBlock\n" + "._377:\n" + "\tcmp\tr7, #0x1\n" + "\tbeq\t._381\t@cond_branch\n" + "\tmov\tr0, r8\n" + "\tcmp\tr0, #0x1\n" + "\tbne\t._399\t@cond_branch\n" + "._381:\n" + "\tmov\tr0, sp\n" + "\tmov\tr1, #0x0\n" + "\tldsh\tr0, [r0, r1]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._383\t@cond_branch\n" + "\tldr\tr1, ._385 @ ContestStatsText_RedPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x1\n" + "\tb\t._400\n" + "._386:\n" + "\t.align\t2, 0\n" + "._385:\n" + "\t.word\tContestStatsText_RedPokeBlock\n" + "._383:\n" + "\tmov\tr0, sp\n" + "\tldrh\tr0, [r0, #0x2]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._387\t@cond_branch\n" + "\tldr\tr1, ._389 @ ContestStatsText_BluePokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x2\n" + "\tb\t._400\n" + "._390:\n" + "\t.align\t2, 0\n" + "._389:\n" + "\t.word\tContestStatsText_BluePokeBlock\n" + "._387:\n" + "\tmov\tr0, sp\n" + "\tmov\tr4, #0x4\n" + "\tldsh\tr0, [r0, r4]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._391\t@cond_branch\n" + "\tldr\tr1, ._393 @ ContestStatsText_PinkPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x3\n" + "\tb\t._400\n" + "._394:\n" + "\t.align\t2, 0\n" + "._393:\n" + "\t.word\tContestStatsText_PinkPokeBlock\n" + "._391:\n" + "\tmov\tr0, sp\n" + "\tmov\tr1, #0x6\n" + "\tldsh\tr0, [r0, r1]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._395\t@cond_branch\n" + "\tldr\tr1, ._397 @ ContestStatsText_GreenPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x4\n" + "\tb\t._400\n" + "._398:\n" + "\t.align\t2, 0\n" + "._397:\n" + "\t.word\tContestStatsText_GreenPokeBlock\n" + "._395:\n" + "\tmov\tr0, sp\n" + "\tmov\tr4, #0x8\n" + "\tldsh\tr0, [r0, r4]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._399\t@cond_branch\n" + "\tldr\tr1, ._401 @ ContestStatsText_YellowPokeBlock\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x5\n" + "\tb\t._400\n" + "._402:\n" + "\t.align\t2, 0\n" + "._401:\n" + "\t.word\tContestStatsText_YellowPokeBlock\n" + "._399:\n" + "\tldr\tr1, ._403 @ gOtherText_FiveQuestions\n" + "\tadd\tr0, r6, #0\n" + "\tbl\tStringCopy\n" + "\tmov\tr0, #0x0\n" + "._400:\n" + "\tadd\tsp, sp, #0x10\n" + "\tpop\t{r3, r4}\n" + "\tmov\tr8, r3\n" + "\tmov\tr9, r4\n" + "\tpop\t{r4, r5, r6, r7}\n" + "\tpop\t{r1}\n" + "\tbx\tr1\n" + "._404:\n" + "\t.align\t2, 0\n" + "._403:\n" + "\t.word\tgOtherText_FiveQuestions"); +} +#endif // NONMATCHING + #endif // DEBUG -- cgit v1.2.3 From a33981df888b712db43d5aeb3d1c332810a67353 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 20:44:32 -0400 Subject: through debug_sub_8160C7C --- src/debug/nakamura_debug_menu.c | 173 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 170 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index b1da30b27..97e1d4678 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -38,13 +38,12 @@ EWRAM_DATA u16 _nakamuraData8 = 0; EWRAM_DATA u16 _nakamuraDataA = 0; EWRAM_DATA u16 _nakamuraDataC = 0; -__attribute__((unused)) static struct { +static struct { s16 species; s8 level; u8 unk3; } _nakamuraStatic0[PARTY_SIZE]; -__attribute__((unused)) static u8 _nakamuraStatic18; -__attribute__((unused)) static u8 gDebugFiller3000814[4]; +static struct Pokeblock _nakamuraStatic18; asm(".global _nakamuraStatic0"); asm(".global _nakamuraStatic18"); @@ -1672,4 +1671,172 @@ u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock) } #endif // NONMATCHING +void debug_sub_816097C(u8 * buff, s16 a1) +{ + u8 i; + s16 divisor; + s16 quot; + s16 printZero; + + for (i = 0; i < 4; i++) + buff[i] = CHAR_SPACE; + buff[4] = EOS; + + if (a1 == 0) + buff[3] = CHAR_0; + else if (a1 > 0) + { + divisor = 100; + printZero = FALSE; + for (i = 0; i < 3; i++) + { + quot = a1 / divisor; + if (printZero || i == 2 || quot != 0) + { + buff[i + 1] = CHAR_0 + quot; + printZero = TRUE; + } + a1 %= divisor; + divisor /= 10; + } + } + else if (a1 < 0) + { + a1 = -a1; + divisor = 100; + printZero = FALSE; + for (i = 0; i < 3; i++) + { + quot = a1 / divisor; + if (printZero || i == 2 || quot != 0) + { + buff[i + 1] = CHAR_0 + quot; + if (!printZero) + buff[i] = CHAR_HYPHEN; + printZero = TRUE; + } + a1 %= divisor; + divisor /= 10; + } + } +} + +void debug_sub_8160A80(u8 a0) +{ + struct Pokeblock *pkblk = &_nakamuraStatic18; + + if (a0 == 0) + { + debug_sub_816097C(gStringVar1, pkblk->spicy); + Menu_PrintText(gStringVar1, 8, 3); + } + else if (a0 == 1) + { + debug_sub_816097C(gStringVar1, pkblk->dry); + Menu_PrintText(gStringVar1, 8, 5); + } + else if (a0 == 2) + { + debug_sub_816097C(gStringVar1, pkblk->sweet); + Menu_PrintText(gStringVar1, 8, 7); + } + else if (a0 == 3) + { + debug_sub_816097C(gStringVar1, pkblk->bitter); + Menu_PrintText(gStringVar1, 8, 9); + } + else if (a0 == 4) + { + debug_sub_816097C(gStringVar1, pkblk->sour); + Menu_PrintText(gStringVar1, 8, 11); + } + else if (a0 == 5) + { + debug_sub_816097C(gStringVar1, pkblk->feel); + Menu_PrintText(gStringVar1, 8, 13); + } +} + +void debug_sub_8160B50(u8 a0, s8 a1) +{ + struct Pokeblock *pkblk = &_nakamuraStatic18; + + if (a0 == 0) + pkblk->spicy += a1; + else if (a0 == 1) + pkblk->dry += a1; + else if (a0 == 2) + pkblk->sweet += a1; + else if (a0 == 3) + pkblk->bitter += a1; + else if (a0 == 4) + pkblk->sour += a1; + else if (a0 == 5) + pkblk->feel += a1; +} + +void debug_sub_8160BB0(void) +{ + _nakamuraStatic18.color = debug_sub_8160714(gStringVar1, &_nakamuraStatic18); + Menu_BlankWindowRect(1, 1, 8, 2); + Menu_PrintText(gStringVar1, 1, 1); +} + +void debug_sub_8160BE4(void) +{ + u8 i; + + Menu_DrawStdWindowFrame(0, 0, 12, 15); + debug_sub_8160BB0(); + Menu_PrintText(gContestStatsText_Spicy, 2, 3); + Menu_PrintText(gContestStatsText_Dry, 2, 5); + Menu_PrintText(gContestStatsText_Sweet, 2, 7); + Menu_PrintText(gContestStatsText_Bitter, 2, 9); + Menu_PrintText(gContestStatsText_Sour, 2, 11); + Menu_PrintText(gContestStatsText_Tasty, 2, 13); + + for (i = 0; i < 6; i++) + debug_sub_8160A80(i); + + InitMenu(0, 1, 3, 6, 0, 11); +} + +void debug_sub_8160C7C(void) +{ + struct Pokeblock * pkblk = &_nakamuraStatic18; + u8 rval = 0; + u8 i; + + if (pkblk->color == PBLOCK_CLR_BLACK) + { + if (pkblk->spicy == 2) + rval++; + + if (pkblk->sweet == 2) + rval++; + + if (pkblk->bitter == 2) + rval++; + + if (pkblk->dry == 2) + rval++; + + if (pkblk->sour == 2) + rval++; + + if (rval != 3) + { + pkblk->spicy = 2; + pkblk->sweet = 2; + pkblk->bitter = 2; + } + } + + sub_810CA34(pkblk); + debug_sub_8160BB0(); + + for (i = 0; i < 6; i++) + debug_sub_8160A80(i); +} + #endif // DEBUG -- cgit v1.2.3 From baf1430f2449fa79727109c83d39bfbecbdd00c9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 21:17:15 -0400 Subject: through debug_sub_8161028 --- src/debug/nakamura_debug_menu.c | 159 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 158 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 97e1d4678..d2854e629 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -208,7 +208,6 @@ const u8 Str_843E5D4[] = _( "  Bボタン ー\n" "START けってい"); -// The following may be defined in the functions in which they are invoked const u8 Str_843E5F0[] = _("?"); const u8 Str_843E5F2[] = _("HP どりょくち"); const u8 Str_843E5FB[] = _("こうげき どりょくち"); @@ -1839,4 +1838,162 @@ void debug_sub_8160C7C(void) debug_sub_8160A80(i); } +bool8 debug_sub_8160CF4(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + Menu_MoveCursor(-1); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + Menu_MoveCursor(+1); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + debug_sub_8160B50(Menu_GetCursorPos(), -1); + debug_sub_8160A80(Menu_GetCursorPos()); + debug_sub_8160BB0(); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + debug_sub_8160B50(Menu_GetCursorPos(), +1); + debug_sub_8160A80(Menu_GetCursorPos()); + debug_sub_8160BB0(); + return FALSE; + } + + if (gMain.newKeys & A_BUTTON) + { + debug_sub_8160C7C(); + PlaySE(SE_SELECT); + return FALSE; + } + + if (gMain.newKeys & B_BUTTON) + { + Menu_EraseWindowRect(0, 0, 29, 19); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 debug_sub_8160D98(void) +{ + Menu_EraseWindowRect(0, 0, 29, 19); + debug_sub_8160BE4(); + gMenuCallback = debug_sub_8160CF4; + return FALSE; +} + +void debug_sub_8160DC0(void) +{ + Menu_DrawStdWindowFrame(0, 0, 22, 19); + Menu_PrintText(gOtherText_Slash, 11, 1); + Menu_PrintText(Str_843E5F2, 2, 3); + Menu_PrintText(Str_843E5FB, 2, 5); + Menu_PrintText(Str_843E606, 2, 7); + Menu_PrintText(Str_843E611, 2, 9); + Menu_PrintText(Str_843E61C, 2, 11); + Menu_PrintText(Str_843E627, 2, 13); + Menu_PrintText(Str_843E637, 2, 15); + Menu_PrintText(Str_843E632, 2, 17); +} + +void debug_sub_8160E50(struct Pokemon *pokemon) +{ + u16 evTotal; + u16 curEv; + + Menu_BlankWindowRect(1, 1, 10, 2); + GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1); + Menu_PrintText(gStringVar1, 1, 1); + + Menu_BlankWindowRect(12, 1, 21, 2); + Menu_PrintText(gSpeciesNames[GetMonData(pokemon, MON_DATA_SPECIES)], 12, 1); + + curEv = GetMonData(pokemon, MON_DATA_HP_EV); + evTotal = curEv; + ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 3, 17, 4); + Menu_PrintText(gStringVar1, 13, 3); + + curEv = GetMonData(pokemon, MON_DATA_ATK_EV); + evTotal += curEv; + ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 5, 17, 6); + Menu_PrintText(gStringVar1, 13, 5); + + curEv = GetMonData(pokemon, MON_DATA_DEF_EV); + evTotal += curEv; + ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 7, 17, 8); + Menu_PrintText(gStringVar1, 13, 7); + + curEv = GetMonData(pokemon, MON_DATA_SPEED_EV); + evTotal += curEv; + ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 9, 17, 10); + Menu_PrintText(gStringVar1, 13, 9); + + curEv = GetMonData(pokemon, MON_DATA_SPATK_EV); + evTotal += curEv; + ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 11, 17, 12); + Menu_PrintText(gStringVar1, 13, 11); + + curEv = GetMonData(pokemon, MON_DATA_SPDEF_EV); + evTotal += curEv; + ConvertIntToDecimalStringN(gStringVar1, curEv, STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 13, 17, 14); + Menu_PrintText(gStringVar1, 13, 13); + + ConvertIntToDecimalStringN(gStringVar1, evTotal, STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 15, 17, 16); + Menu_PrintText(gStringVar1, 13, 15); + + ConvertIntToDecimalStringN(gStringVar1, GetMonData(pokemon, MON_DATA_FRIENDSHIP), STR_CONV_MODE_LEFT_ALIGN, 5); + Menu_BlankWindowRect(13, 17, 17, 18); + Menu_PrintText(gStringVar1, 13, 17); +} + +void debug_sub_8161028(s8 a0) +{ + s16 i; + if (a0 == -1) + { + if (_nakamuraData5 == 0) + { + for (i = 5; i >= 0; i--) + { + if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES) != SPECIES_NONE) + { + _nakamuraData5 = i; + return; + } + } + } + _nakamuraData5 += a0; + return; + } + + if (a0 == 1) + { + _nakamuraData5 += a0; + if (_nakamuraData5 == 6) + _nakamuraData5 = 0; + else if (GetMonData(gPlayerParty + _nakamuraData5, MON_DATA_SPECIES) == SPECIES_NONE) + _nakamuraData5 = 0; + } + + +} + #endif // DEBUG -- cgit v1.2.3 From 76b058ec5f01ebc114706b52f1fda066458c233b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 21:34:41 -0400 Subject: through debug_sub_81612B8 --- src/debug/nakamura_debug_menu.c | 92 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index d2854e629..2c4ee5413 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1992,8 +1992,100 @@ void debug_sub_8161028(s8 a0) else if (GetMonData(gPlayerParty + _nakamuraData5, MON_DATA_SPECIES) == SPECIES_NONE) _nakamuraData5 = 0; } +} + +bool8 debug_sub_81610BC(void) +{ + if (gMain.newKeys & DPAD_LEFT) + { + debug_sub_8161028(-1); + debug_sub_8160E50(gPlayerParty + _nakamuraData5); + return FALSE; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + debug_sub_8161028(+1); + debug_sub_8160E50(gPlayerParty + _nakamuraData5); + return FALSE; + } + + if (gMain.newKeys & B_BUTTON) + { + Menu_EraseWindowRect(0, 0, 29, 19); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 DebugMenu_EffortValues(void) +{ + Menu_EraseWindowRect(0, 0, 29, 19); + _nakamuraData5 = 0; + debug_sub_8160DC0(); + debug_sub_8160E50(gPlayerParty + 0); + gMenuCallback = debug_sub_81610BC; + return FALSE; +} + +u16 debug_sub_8161160(void) +{ + u16 r7 = 0; + u16 r6; + u16 r5; + u32 i; + + if (_nakamuraData6 <= _nakamuraData8) + { + r6 = _nakamuraData6; + r5 = _nakamuraData8; + } + else + { + r6 = _nakamuraData8; + r5 = _nakamuraData6; + } + + for (i = 0; i < _nakamuraDataA; i++) + { + u16 r0 = Random() % _nakamuraDataC; + if (r0 >= r6 && r0 <= r5) + r7++; + } + + return r7; +} +void debug_sub_81611D8(void) +{ + Menu_DrawStdWindowFrame(0, 0, 15, 11); + Menu_PrintText(Str_843E642, 2, 1); + Menu_PrintText(Str_843E647, 2, 3); + Menu_PrintText(Str_843E65A, 2, 5); + Menu_PrintText(Str_843E64C, 2, 7); + Menu_PrintText(Str_843E651, 2, 9); + Menu_PrintText(Str_843E655, 13, 9); + Menu_PrintText(Str_843E658, 12, 1); + Menu_PrintText(Str_843E658, 12, 3); + Menu_PrintText(Str_843E658, 12, 5); + Menu_PrintText(Str_843E658, 12, 7); + Menu_PrintText(Str_843E658, 12, 9); + InitMenu(0, 1, 1, 4, 0, 14); +} + +void debug_sub_8161290(u16 a0) +{ + ConvertIntToDecimalStringN(gStringVar1, a0, STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 8, 9); +} +void debug_sub_81612B8(u16 * a0, s8 a1, u8 a2) +{ + *a0 += a1; + ConvertIntToDecimalStringN(gStringVar1, *a0, STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(gStringVar1, 8, a2); } #endif // DEBUG -- cgit v1.2.3 From a47e145fa914a580875fd39eefd4a22e76587892 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 2 Apr 2018 21:47:46 -0400 Subject: Finish decompiling nakamura --- src/debug/nakamura_debug_menu.c | 77 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 2c4ee5413..87c855514 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -2088,4 +2088,81 @@ void debug_sub_81612B8(u16 * a0, s8 a1, u8 a2) Menu_PrintText(gStringVar1, 8, a2); } +bool8 debug_sub_81612EC(void) +{ + s8 r5 = gMain.heldKeys & R_BUTTON ? 100 : 1; + s8 r4; + + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + Menu_MoveCursor(-1); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + Menu_MoveCursor(+1); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + r4 = Menu_GetCursorPos(); + if (r4 == 0) + debug_sub_81612B8(&_nakamuraData6, -r5, 1); + if (r4 == 1) + debug_sub_81612B8(&_nakamuraData8, -r5, 3); + if (r4 == 2) + debug_sub_81612B8(&_nakamuraDataC, -r5, 5); + if (r4 == 3) + debug_sub_81612B8(&_nakamuraDataA, -r5, 7); + return FALSE; + } + + if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + r4 = Menu_GetCursorPos(); + if (r4 == 0) + debug_sub_81612B8(&_nakamuraData6, r5, 1); + if (r4 == 1) + debug_sub_81612B8(&_nakamuraData8, r5, 3); + if (r4 == 2) + debug_sub_81612B8(&_nakamuraDataC, r5, 5); + if (r4 == 3) + debug_sub_81612B8(&_nakamuraDataA, r5, 7); + return FALSE; + } + + if (gMain.newKeys & A_BUTTON) + { + if (_nakamuraDataC != 0) + { + PlaySE(SE_SELECT); + debug_sub_8161290(debug_sub_8161160()); + } + return FALSE; + } + + if (gMain.newKeys & B_BUTTON) + { + Menu_EraseWindowRect(0, 0, 29, 19); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 DebugMenu_RandomNumberTest(void) +{ + _nakamuraData6 = 0; + _nakamuraData8 = 0; + _nakamuraDataC = 0; + _nakamuraDataA = 0; + Menu_EraseWindowRect(0, 0, 29, 19); + debug_sub_81611D8(); + gMenuCallback = debug_sub_81612EC; + return FALSE; +} + #endif // DEBUG -- cgit v1.2.3 From 8008cc05c4de128709c59c8f3f30d0e3a6238c7b Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 4 Apr 2018 18:30:54 -0700 Subject: Use spaces instead of tabs --- src/rom_800D42C.c | 770 +++++++++++++++++++++++++++--------------------------- 1 file changed, 385 insertions(+), 385 deletions(-) (limited to 'src') diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c index 243945360..6825a8c89 100644 --- a/src/rom_800D42C.c +++ b/src/rom_800D42C.c @@ -37,11 +37,11 @@ extern struct Trainer gTrainers[]; extern u16 gTrainerBattleOpponent; struct BattleBackground { - void *tileset; - void *tilemap; - void *entryTiles; - void *entryTilemap; - void *palette; + void *tileset; + void *tilemap; + void *entryTiles; + void *entryTilemap; + void *palette; }; extern struct BattleBackground gBattleTerrainTable[]; @@ -89,11 +89,11 @@ extern u8 sav1_map_get_battletype(void); extern void sub_800D74C(void); struct LinkResultWindow { - struct Window *window; - u16 offset; - u8 left; - u8 top; - u8 *dest; + struct Window *window; + u16 offset; + u8 left; + u8 top; + u8 *dest; }; #define gLinkResultWindows gUnknown_081F9680 @@ -258,66 +258,66 @@ void DrawMainBattleBackground(void) void sub_800DAB8(void) { - LZDecompressVram(gUnknown_08D00000, (void *)0x6000000); - CpuSet(gUnknown_08D00524, (void *)0x600c000, 0x800); - LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); - sub_800D74C(); - DrawMainBattleBackground(); + LZDecompressVram(gUnknown_08D00000, (void *)0x6000000); + CpuSet(gUnknown_08D00524, (void *)0x600c000, 0x800); + LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); + sub_800D74C(); + DrawMainBattleBackground(); } void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) { - int i; - u16 r4 = 0; - u16 src[6]; - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (gTasks[taskId].data[5]) { - switch (windowId) { - case 0: - r4 = gTasks[taskId].data[3] & 0x3f; - break; - case 1: - r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; - break; - case 2: - r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; - break; - case 3: - r4 = gTasks[taskId].data[4] & 0x3f; - break; - } - } else { - switch (windowId) { - case 0: - r4 = gTasks[taskId].data[3] & 0x3f; - break; - case 1: - r4 = gTasks[taskId].data[4] & 0x3f; - break; - case 2: - r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; - break; - case 3: - r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; - break; - } - } - for (i = 0; i < 3; i++) { - src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; - } - CpuSet(src, dest, 3); - } else { - if (windowId == gBattleStruct->linkPlayerIndex) { - r4 = gTasks[taskId].data[3]; - } else { - r4 = gTasks[taskId].data[4]; - } - for (i = 0; i < 6; i++) { - src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; - } - CpuSet(src, dest, 6); - } + int i; + u16 r4 = 0; + u16 src[6]; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { + if (gTasks[taskId].data[5]) { + switch (windowId) { + case 0: + r4 = gTasks[taskId].data[3] & 0x3f; + break; + case 1: + r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; + break; + case 2: + r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; + break; + case 3: + r4 = gTasks[taskId].data[4] & 0x3f; + break; + } + } else { + switch (windowId) { + case 0: + r4 = gTasks[taskId].data[3] & 0x3f; + break; + case 1: + r4 = gTasks[taskId].data[4] & 0x3f; + break; + case 2: + r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; + break; + case 3: + r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; + break; + } + } + for (i = 0; i < 3; i++) { + src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + CpuSet(src, dest, 3); + } else { + if (windowId == gBattleStruct->linkPlayerIndex) { + r4 = gTasks[taskId].data[3]; + } else { + r4 = gTasks[taskId].data[4]; + } + for (i = 0; i < 6; i++) { + src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + CpuSet(src, dest, 6); + } } @@ -429,329 +429,329 @@ void PrintLinkBattleWinLossTie(void) void sub_800DE30(u8 taskId) { - u8 palette; - int i; - - switch (gTasks[taskId].data[0]) { - - case 0: - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - for (i = 0; i < 4; i++) { - u8 windowId = (gLinkPlayers[i].lp_field_18 & 3); - Text_InitWindow8002E4C( - gLinkResultWindows[windowId].window, - gLinkPlayers[i].name, - gLinkResultWindows[windowId].offset, - gLinkResultWindows[windowId].left, - gLinkResultWindows[windowId].top, - 1); - Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); - sub_800DAF8(taskId, windowId, gLinkResultWindows[windowId].dest); - } - } else { - u8 windowId = 4; - - u8 playerId = gBattleStruct->linkPlayerIndex; - u8 opponentId = gBattleStruct->linkPlayerIndex ^ 1; - if (gLinkPlayers[playerId].lp_field_18) { - opponentId = gBattleStruct->linkPlayerIndex; - playerId = gBattleStruct->linkPlayerIndex ^ 1; - } - - Text_InitWindow8002E4C( - gLinkResultWindows[windowId].window, - gLinkPlayers[playerId].name, - gLinkResultWindows[windowId].offset, - gLinkResultWindows[windowId].left, - gLinkResultWindows[windowId].top, - 1); - Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); - sub_800DAF8(taskId, playerId, gLinkResultWindows[windowId].dest); - - Text_InitWindow8002E4C( - gLinkResultWindows[windowId + 1].window, - gLinkPlayers[opponentId].name, - gLinkResultWindows[windowId + 1].offset, - gLinkResultWindows[windowId + 1].left, - gLinkResultWindows[windowId + 1].top, - 1); - Text_PrintWindow8002F44(gLinkResultWindows[windowId + 1].window); - sub_800DAF8(taskId, opponentId, gLinkResultWindows[windowId + 1].dest); - } - gTasks[taskId].data[0]++; - break; - - case 1: - palette = AllocSpritePalette(10000); - gPlttBufferUnfaded[palette * 16 + 0x10f] = gPlttBufferFaded[palette * 16 + 0x10f] = 0x7fff; - gBattleStruct->unk1608A = CreateSprite(&gSpriteTemplate_81F9574, 108, 80, 0); - gBattleStruct->unk1608B = CreateSprite(&gSpriteTemplate_81F958C, 132, 80, 0); - gSprites[gBattleStruct->unk1608A].invisible = TRUE; - gSprites[gBattleStruct->unk1608B].invisible = TRUE; - gTasks[taskId].data[0]++; - break; - - case 2: - if (gTasks[taskId].data[5]) { - gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); - gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); - gBattle_BG1_Y = -36; - gBattle_BG2_Y = -36; - } else { - gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); - gBattle_BG1_Y = (-164) + (Cos2(gTasks[taskId].data[1]) / 32); - gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); - gBattle_BG2_Y = (-164) + (Cos2(gTasks[taskId].data[2]) / 32); - } - if (gTasks[taskId].data[2]) { - gTasks[taskId].data[2] -= 2; - gTasks[taskId].data[1] += 2; - } else { - if (gTasks[taskId].data[5]) { - PrintLinkBattleWinLossTie(); - } - PlaySE(SE_W231); - DestroyTask(taskId); - gSprites[gBattleStruct->unk1608A].invisible = FALSE; - gSprites[gBattleStruct->unk1608B].invisible = FALSE; - gSprites[gBattleStruct->unk1608B].oam.tileNum += 0x40; - gSprites[gBattleStruct->unk1608A].data[0] = 0; - gSprites[gBattleStruct->unk1608B].data[0] = 1; - gSprites[gBattleStruct->unk1608A].data[1] = gSprites[gBattleStruct->unk1608A].pos1.x; - gSprites[gBattleStruct->unk1608B].data[1] = gSprites[gBattleStruct->unk1608B].pos1.x; - gSprites[gBattleStruct->unk1608A].data[2] = 0; - gSprites[gBattleStruct->unk1608B].data[2] = 0; - } - break; - } + u8 palette; + int i; + + switch (gTasks[taskId].data[0]) { + + case 0: + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { + for (i = 0; i < 4; i++) { + u8 windowId = (gLinkPlayers[i].lp_field_18 & 3); + Text_InitWindow8002E4C( + gLinkResultWindows[windowId].window, + gLinkPlayers[i].name, + gLinkResultWindows[windowId].offset, + gLinkResultWindows[windowId].left, + gLinkResultWindows[windowId].top, + 1); + Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); + sub_800DAF8(taskId, windowId, gLinkResultWindows[windowId].dest); + } + } else { + u8 windowId = 4; + + u8 playerId = gBattleStruct->linkPlayerIndex; + u8 opponentId = gBattleStruct->linkPlayerIndex ^ 1; + if (gLinkPlayers[playerId].lp_field_18) { + opponentId = gBattleStruct->linkPlayerIndex; + playerId = gBattleStruct->linkPlayerIndex ^ 1; + } + + Text_InitWindow8002E4C( + gLinkResultWindows[windowId].window, + gLinkPlayers[playerId].name, + gLinkResultWindows[windowId].offset, + gLinkResultWindows[windowId].left, + gLinkResultWindows[windowId].top, + 1); + Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); + sub_800DAF8(taskId, playerId, gLinkResultWindows[windowId].dest); + + Text_InitWindow8002E4C( + gLinkResultWindows[windowId + 1].window, + gLinkPlayers[opponentId].name, + gLinkResultWindows[windowId + 1].offset, + gLinkResultWindows[windowId + 1].left, + gLinkResultWindows[windowId + 1].top, + 1); + Text_PrintWindow8002F44(gLinkResultWindows[windowId + 1].window); + sub_800DAF8(taskId, opponentId, gLinkResultWindows[windowId + 1].dest); + } + gTasks[taskId].data[0]++; + break; + + case 1: + palette = AllocSpritePalette(10000); + gPlttBufferUnfaded[palette * 16 + 0x10f] = gPlttBufferFaded[palette * 16 + 0x10f] = 0x7fff; + gBattleStruct->unk1608A = CreateSprite(&gSpriteTemplate_81F9574, 108, 80, 0); + gBattleStruct->unk1608B = CreateSprite(&gSpriteTemplate_81F958C, 132, 80, 0); + gSprites[gBattleStruct->unk1608A].invisible = TRUE; + gSprites[gBattleStruct->unk1608B].invisible = TRUE; + gTasks[taskId].data[0]++; + break; + + case 2: + if (gTasks[taskId].data[5]) { + gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG1_Y = -36; + gBattle_BG2_Y = -36; + } else { + gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG1_Y = (-164) + (Cos2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG2_Y = (-164) + (Cos2(gTasks[taskId].data[2]) / 32); + } + if (gTasks[taskId].data[2]) { + gTasks[taskId].data[2] -= 2; + gTasks[taskId].data[1] += 2; + } else { + if (gTasks[taskId].data[5]) { + PrintLinkBattleWinLossTie(); + } + PlaySE(SE_W231); + DestroyTask(taskId); + gSprites[gBattleStruct->unk1608A].invisible = FALSE; + gSprites[gBattleStruct->unk1608B].invisible = FALSE; + gSprites[gBattleStruct->unk1608B].oam.tileNum += 0x40; + gSprites[gBattleStruct->unk1608A].data[0] = 0; + gSprites[gBattleStruct->unk1608B].data[0] = 1; + gSprites[gBattleStruct->unk1608A].data[1] = gSprites[gBattleStruct->unk1608A].pos1.x; + gSprites[gBattleStruct->unk1608B].data[1] = gSprites[gBattleStruct->unk1608B].pos1.x; + gSprites[gBattleStruct->unk1608A].data[2] = 0; + gSprites[gBattleStruct->unk1608B].data[2] = 0; + } + break; + } } void sub_800E23C(void) { - if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - LZDecompressVram(gVersusFrameGfx, (void *)0x6004000); - LZDecompressVram(gVersusFrameTilemap, (void *)0x600e000); - LZDecompressVram(gVersusFrameTilemap, (void *)0x600f000); - LZDecompressVram(gUnknown_08E5DC2C, (void *)0x6010000); - LoadCompressedPalette(gVersusFramePal, 0x60, 0x20); - REG_BG1CNT = 0x5c04; - REG_WININ = 0x36; - REG_WINOUT = 0x36; - gBattle_BG1_Y = 0xff5c; - gBattle_BG2_Y = 0xff5c; - LoadCompressedObjectPic(&gUnknown_081F95A4); - return; - } else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); - return; - } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == VERSION_RUBY) { - LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)0x600e000); - return; - } else { - LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)0x600e000); - return; - } - } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); - return; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); - return; - } - } - if (sav1_map_get_battletype() == 0) { - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTiles, (void *)0x6004000); - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)0x600e000); - return; - } - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + if (gBattleTypeFlags & BATTLE_TYPE_LINK) { + LZDecompressVram(gVersusFrameGfx, (void *)0x6004000); + LZDecompressVram(gVersusFrameTilemap, (void *)0x600e000); + LZDecompressVram(gVersusFrameTilemap, (void *)0x600f000); + LZDecompressVram(gUnknown_08E5DC2C, (void *)0x6010000); + LoadCompressedPalette(gVersusFramePal, 0x60, 0x20); + REG_BG1CNT = 0x5c04; + REG_WININ = 0x36; + REG_WINOUT = 0x36; + gBattle_BG1_Y = 0xff5c; + gBattle_BG2_Y = 0xff5c; + LoadCompressedObjectPic(&gUnknown_081F95A4); + return; + } else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == VERSION_RUBY) { + LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)0x600e000); + return; + } else { + LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)0x600e000); + return; + } + } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } + } + if (sav1_map_get_battletype() == 0) { + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTiles, (void *)0x6004000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)0x600e000); + return; + } + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); } int sub_800E414(u8 type) { - int ret = 0; - switch (type) { - case 0: - LZDecompressVram(&gUnknown_08D00000, (void *)0x6000000); - break; - case 1: - CpuCopy16(gUnknown_08D00524, (void *)0x600c000, 0x1000); - break; - case 2: - LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); - break; - case 3: // tiles - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == VERSION_RUBY) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void *)0x6008000); - break; - } else { - LZDecompressVram(gBattleTerrainTiles_Water, (void *)0x6008000); - break; - } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); - break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - } - } - switch (sav1_map_get_battletype()) { - case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void *)0x6008000); - break; - case 2: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 3: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 4: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 5: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 6: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 7: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 1: - case 8: - LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); - break; - } - break; - } - } else { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); - break; - } - case 4: // tilemap - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == 2) { - LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)0x600d000); - break; - } else { - LZDecompressVram(gBattleTerrainTilemap_Water, (void *)0x600d000); - break; - } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); - break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - } - } - switch (sav1_map_get_battletype()) { - case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void *)0x600d000); - break; - case 2: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 3: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 4: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 5: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 6: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 7: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 1: - case 8: - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); - break; - } - break; - } - } else { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); - break; - } - case 5: // palette - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == 2) { - LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); - break; - } else { - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); - break; - } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); - break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); - break; - } - } - switch (sav1_map_get_battletype()) { - case 0: - LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); - break; - case 1: - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); - break; - case 2: - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); - break; - case 3: - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); - break; - case 4: - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); - break; - case 5: - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); - break; - case 6: - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); - break; - case 7: - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); - break; - case 8: - LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - break; - } - break; - } - } else { - LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - break; - } - case 6: - sub_800D74C(); - break; - default: - ret = 1; - } - return ret; + int ret = 0; + switch (type) { + case 0: + LZDecompressVram(&gUnknown_08D00000, (void *)0x6000000); + break; + case 1: + CpuCopy16(gUnknown_08D00524, (void *)0x600c000, 0x1000); + break; + case 2: + LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); + break; + case 3: // tiles + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == VERSION_RUBY) { + LZDecompressVram(gBattleTerrainTiles_Cave, (void *)0x6008000); + break; + } else { + LZDecompressVram(gBattleTerrainTiles_Water, (void *)0x6008000); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void *)0x6008000); + break; + case 2: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 3: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 4: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 5: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 6: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 7: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 1: + case 8: + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } + break; + } + } else { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } + case 4: // tilemap + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == 2) { + LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)0x600d000); + break; + } else { + LZDecompressVram(gBattleTerrainTilemap_Water, (void *)0x600d000); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void *)0x600d000); + break; + case 2: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 3: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 4: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 5: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 6: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 7: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 1: + case 8: + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } + break; + } + } else { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } + case 5: // palette + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == 2) { + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + break; + } else { + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + break; + case 1: + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case 2: + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case 3: + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case 4: + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case 5: + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case 6: + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case 7: + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case 8: + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + break; + } + } else { + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + case 6: + sub_800D74C(); + break; + default: + ret = 1; + } + return ret; } -- cgit v1.2.3 From f3dc669f5dfb953215663ac801bf31b5d621b6f5 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 4 Apr 2018 18:51:33 -0700 Subject: Port function/file names from pokeemerald --- src/battle/battle_2.c | 14 +- src/battle/battle_bg.c | 753 +++++++++++++++++++++++++++++++++++++ src/battle/reshow_battle_screen.c | 4 +- src/egg_hatch.c | 12 +- src/evolution_scene.c | 4 +- src/pokedex.c | 4 +- src/rom_800D42C.c | 757 -------------------------------------- src/trade.c | 30 +- 8 files changed, 787 insertions(+), 791 deletions(-) create mode 100644 src/battle/battle_bg.c delete mode 100644 src/rom_800D42C.c (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 705809a21..2d5b3c420 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -75,7 +75,7 @@ extern void sub_802BBD4(); extern struct SpriteTemplate gUnknown_02024E8C; extern const u8 Str_821F7B8[]; extern u8 gUnknown_02023A14_50; -extern const u16 gUnknown_08D004E0[]; +extern const u16 gBattleTextboxPalette[]; extern const struct MonCoords gCastformFrontSpriteCoords[]; extern const u8 Str_821F7EA[]; extern const u8 gUnknown_Debug_821F7F3[]; @@ -269,10 +269,10 @@ void InitBattle(void) Text_InitWindowWithTemplate(&gUnknown_030041D0, &gWindowTemplate_81E71D0); Text_InitWindowWithTemplate(&gUnknown_03004250, &gWindowTemplate_81E71EC); sub_800D6D4(); - sub_800DAB8(); + LoadBattleTextboxAndBackground(); ResetSpriteData(); ResetTasks(); - sub_800E23C(); + LoadBattleEntryBackground(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; SetVBlankCallback(sub_800FCFC); @@ -1307,11 +1307,11 @@ void c2_8011A1C(void) Text_InitWindowWithTemplate(&gUnknown_030041D0, &gWindowTemplate_81E71D0); Text_InitWindowWithTemplate(&gUnknown_03004250, &gWindowTemplate_81E71EC); sub_800D6D4(); - LoadCompressedPalette(gUnknown_08D004E0, 0, 64); - sub_800D74C(); + LoadCompressedPalette(gBattleTextboxPalette, 0, 64); + ApplyPlayerChosenFrameToBattleMenu(); ResetSpriteData(); ResetTasks(); - sub_800E23C(); + LoadBattleEntryBackground(); REG_WINOUT = 0x37; FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; @@ -2831,7 +2831,7 @@ void debug_sub_8012688(void) gBattle_BG3_Y = 0; gBattleTerrain = 9; sub_800D6D4(); - sub_800DAB8(); + LoadBattleTextboxAndBackground(); ResetSpriteData(); ResetTasks(); FreeAllSpritePalettes(); diff --git a/src/battle/battle_bg.c b/src/battle/battle_bg.c new file mode 100644 index 000000000..b1e2ea83b --- /dev/null +++ b/src/battle/battle_bg.c @@ -0,0 +1,753 @@ +#include "global.h" +#include "battle.h" +#include "constants/songs.h" +#include "decompress.h" +#include "ewram.h" +#include "link.h" +#include "main.h" +#include "palette.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trainer.h" +#include "trig.h" +#include "sound.h" + + +extern u16 gBattleTypeFlags; +extern u8 gBattleOutcome; + +extern struct Window gUnknown_03004210; + +extern u8 BattleText_Win[]; +extern u8 BattleText_Loss[]; +extern u8 BattleText_Tie[]; + +extern void sub_8032A38(void); + +#define GetCurrentMapBattleScene sav1_map_get_battletype +//extern u8 GetCurrentMapBattleScene(void); + +extern const u8 gGameVersion; +extern u8 gBattleTextboxTiles[]; +extern u16 gBattleTextboxTilemap[]; +extern u16 gBattleTextboxPalette[]; +extern u16 gBattleTypeFlags; +extern struct Trainer gTrainers[]; +extern u16 gTrainerBattleOpponent; + +struct BattleBackground { + void *tileset; + void *tilemap; + void *entryTiles; + void *entryTilemap; + void *palette; +}; +extern struct BattleBackground gBattleTerrainTable[]; + +extern u8 gBattleTerrain; + +extern u8 gBattleTerrainTiles_Cave[]; +extern u8 gBattleTerrainTiles_Water[]; +extern u8 gBattleTerrainTiles_Building[]; +extern u8 gBattleTerrainTiles_Stadium[]; + +extern u16 gBattleTerrainTilemap_Cave[]; +extern u16 gBattleTerrainTilemap_Water[]; +extern u16 gBattleTerrainTilemap_Building[]; +extern u16 gBattleTerrainTilemap_Stadium[]; + +extern u16 gBattleTerrainPalette_Groudon[]; +extern u16 gBattleTerrainPalette_Kyogre[]; +extern u16 gBattleTerrainPalette_BuildingLeader[]; +extern u16 gBattleTerrainPalette_StadiumSteven[]; +extern u16 gBattleTerrainPalette_BuildingGym[]; +extern u16 gBattleTerrainPalette_StadiumMagma[]; +extern u16 gBattleTerrainPalette_StadiumAqua[]; +extern u16 gBattleTerrainPalette_StadiumSidney[]; +extern u16 gBattleTerrainPalette_StadiumPhoebe[]; +extern u16 gBattleTerrainPalette_StadiumGlacia[]; +extern u16 gBattleTerrainPalette_StadiumDrake[]; +extern u16 gBattleTerrainPalette_BattleTower[]; + +extern u8 gBattleTerrainAnimTiles_Building[]; +extern u16 gBattleTerrainAnimTilemap_Building[]; +extern u8 gBattleTerrainAnimTiles_Cave[]; +extern u16 gBattleTerrainAnimTilemap_Cave[]; +extern u8 gBattleTerrainAnimTiles_Underwater[]; +extern u16 gBattleTerrainAnimTilemap_Underwater[]; +extern u8 gVersusFrameGfx[]; +extern u16 gVersusFrameTilemap[]; +extern u8 gUnknown_08E5DC2C[]; +extern u16 gVersusFramePal[]; + +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_Y; +extern struct CompressedSpriteSheet gUnknown_081F95A4; + +extern u8 sav1_map_get_battletype(void); + +struct LinkResultWindow { + struct Window *window; + u16 offset; + u8 left; + u8 top; + u8 *dest; +}; + +#define gLinkResultWindows gUnknown_081F9680 +extern const struct LinkResultWindow gLinkResultWindows[]; +extern void PrintLinkBattleWinLossTie(void); +extern void sub_800DAF8(u8, u8, u8 *); + +extern struct SpriteTemplate gSpriteTemplate_81F9574; +extern struct SpriteTemplate gSpriteTemplate_81F958C; +extern struct SpriteTemplate gSpriteTemplate_81F96D0; + +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG2_X; + + +void sub_800D6C4(void); + + +void unref_sub_800D684(void) +{ + u8 spriteId; + ResetSpriteData(); + spriteId = CreateSprite(&gSpriteTemplate_81F96D0, 0, 0, 0); + gSprites[spriteId].invisible = TRUE; + SetMainCallback2(sub_800D6C4); +} + +void sub_800D6C4(void) +{ + AnimateSprites(); + BuildOamBuffer(); +} + +void sub_800D6D4(void) +{ + u16 ime = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = ime; + REG_DISPSTAT = DISPSTAT_VBLANK_INTR; + REG_BG0CNT = 0x9800; + REG_BG1CNT = 0x9c04; + REG_BG2CNT = 0x5e05; + REG_BG3CNT = 0x5a0b; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + REG_BLDY = 0; + REG_DISPCNT = 0xbf40; +} + +void ApplyPlayerChosenFrameToBattleMenu(void) +{ + TextWindow_SetBaseTileNum(0x12); + TextWindow_LoadStdFrameGraphicsOverridePal(&gUnknown_03004210, 1); + TextWindow_SetBaseTileNum(0x22); + TextWindow_LoadStdFrameGraphicsOverridePal(&gUnknown_03004210, 1); + gPlttBufferUnfaded[92] = 0x7fe0; + gPlttBufferUnfaded[93] = 0x2529; + gPlttBufferUnfaded[94] = 0x7fff; + gPlttBufferUnfaded[95] = 0x675a; + CpuSet(&gPlttBufferUnfaded[92], &gPlttBufferFaded[92], 4); + sub_8032A38(); +} + +void DrawMainBattleBackground(void) +{ + if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER /*| BATTLE_TYPE_x2000000*/)) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + } + else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) + { + if (gGameVersion == VERSION_RUBY) + { + LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + } + else + { + LZDecompressVram(gBattleTerrainTiles_Water, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + } + } + else + { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + u8 trainerClass = gTrainers[gTrainerBattleOpponent].trainerClass; + if (trainerClass == TRAINER_CLASS_LEADER) + { + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + return; + } + else if (trainerClass == TRAINER_CLASS_CHAMPION) + { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); + return; + } + } + + switch (GetCurrentMapBattleScene()) + { + case MAP_BATTLE_SCENE_NORMAL: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GYM: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_MAGMA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_AQUA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_SIDNEY: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_PHOEBE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GLACIA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_DRAKE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_BATTLE_TOWER: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + } +} + +void LoadBattleTextboxAndBackground(void) +{ + LZDecompressVram(gBattleTextboxTiles, (void*)(BG_VRAM)); + CpuSet(gBattleTextboxTilemap, (void *)0x600c000, 0x800); + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); + ApplyPlayerChosenFrameToBattleMenu(); + DrawMainBattleBackground(); +} + +void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) +{ + int i; + u16 r4 = 0; + u16 src[6]; + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { + if (gTasks[taskId].data[5]) { + switch (windowId) { + case 0: + r4 = gTasks[taskId].data[3] & 0x3f; + break; + case 1: + r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; + break; + case 2: + r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; + break; + case 3: + r4 = gTasks[taskId].data[4] & 0x3f; + break; + } + } else { + switch (windowId) { + case 0: + r4 = gTasks[taskId].data[3] & 0x3f; + break; + case 1: + r4 = gTasks[taskId].data[4] & 0x3f; + break; + case 2: + r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; + break; + case 3: + r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; + break; + } + } + for (i = 0; i < 3; i++) { + src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + CpuSet(src, dest, 3); + } else { + if (windowId == gBattleStruct->linkPlayerIndex) { + r4 = gTasks[taskId].data[3]; + } else { + r4 = gTasks[taskId].data[4]; + } + for (i = 0; i < 6; i++) { + src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; + } + CpuSet(src, dest, 6); + } +} + + +#if ENGLISH +#define LEFT_MESSAGE_X 6 +#define RIGHT_MESSAGE_X 21 +#define TILE_OFFSET_LOSS 168 +#elif GERMAN +#define LEFT_MESSAGE_X 5 +#define RIGHT_MESSAGE_X 20 +#define TILE_OFFSET_LOSS 172 +#endif +#define TILE_OFFSET_WIN 160 +#define CENTER_MESSAGE_X 13 +#define MESSAGE_Y 2 + +#define PRINT_MESSAGE(text, tileDataStartOffset, x) \ +{ \ + Text_InitWindow(&gUnknown_03004210, text, tileDataStartOffset, x, MESSAGE_Y); \ + Text_PrintWindow8002F44(&gUnknown_03004210); \ +} + +#define PRINT_MESSAGE_LEFT(text, tileDataStartOffset) PRINT_MESSAGE(text, tileDataStartOffset, LEFT_MESSAGE_X) +#define PRINT_MESSAGE_RIGHT(text, tileDataStartOffset) PRINT_MESSAGE(text, tileDataStartOffset, RIGHT_MESSAGE_X) + +void PrintLinkBattleWinLossTie(void) +{ + + if (gBattleOutcome == 3) + { + PRINT_MESSAGE(BattleText_Tie, TILE_OFFSET_WIN, CENTER_MESSAGE_X); + return; + } + + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) + { + // Double battle? + + if (gBattleOutcome == 1) + { + + // lp_field_18 = player position? + switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18) + { + case 0: + case 2: + PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); + PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); + return; + + case 1: + case 3: + PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN) + PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS) + return; + } + } + else + { + + switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18) + { + case 1: + case 3: + PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); + PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); + return; + + case 0: + case 2: + PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN); + PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS); + return; + } + } + + return; + } + + + if (gBattleOutcome == 1) + { + if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 != 0) + { + PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN); + PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS); + } + else + { + PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); + PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); + } + } + else + { + if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 != 0) + { + PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); + PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); + } + else + { + PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN); + PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS); + } + } +} + + +void sub_800DE30(u8 taskId) +{ + u8 palette; + int i; + + switch (gTasks[taskId].data[0]) { + + case 0: + if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { + for (i = 0; i < 4; i++) { + u8 windowId = (gLinkPlayers[i].lp_field_18 & 3); + Text_InitWindow8002E4C( + gLinkResultWindows[windowId].window, + gLinkPlayers[i].name, + gLinkResultWindows[windowId].offset, + gLinkResultWindows[windowId].left, + gLinkResultWindows[windowId].top, + 1); + Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); + sub_800DAF8(taskId, windowId, gLinkResultWindows[windowId].dest); + } + } else { + u8 windowId = 4; + + u8 playerId = gBattleStruct->linkPlayerIndex; + u8 opponentId = gBattleStruct->linkPlayerIndex ^ 1; + if (gLinkPlayers[playerId].lp_field_18) { + opponentId = gBattleStruct->linkPlayerIndex; + playerId = gBattleStruct->linkPlayerIndex ^ 1; + } + + Text_InitWindow8002E4C( + gLinkResultWindows[windowId].window, + gLinkPlayers[playerId].name, + gLinkResultWindows[windowId].offset, + gLinkResultWindows[windowId].left, + gLinkResultWindows[windowId].top, + 1); + Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); + sub_800DAF8(taskId, playerId, gLinkResultWindows[windowId].dest); + + Text_InitWindow8002E4C( + gLinkResultWindows[windowId + 1].window, + gLinkPlayers[opponentId].name, + gLinkResultWindows[windowId + 1].offset, + gLinkResultWindows[windowId + 1].left, + gLinkResultWindows[windowId + 1].top, + 1); + Text_PrintWindow8002F44(gLinkResultWindows[windowId + 1].window); + sub_800DAF8(taskId, opponentId, gLinkResultWindows[windowId + 1].dest); + } + gTasks[taskId].data[0]++; + break; + + case 1: + palette = AllocSpritePalette(10000); + gPlttBufferUnfaded[palette * 16 + 0x10f] = gPlttBufferFaded[palette * 16 + 0x10f] = 0x7fff; + gBattleStruct->unk1608A = CreateSprite(&gSpriteTemplate_81F9574, 108, 80, 0); + gBattleStruct->unk1608B = CreateSprite(&gSpriteTemplate_81F958C, 132, 80, 0); + gSprites[gBattleStruct->unk1608A].invisible = TRUE; + gSprites[gBattleStruct->unk1608B].invisible = TRUE; + gTasks[taskId].data[0]++; + break; + + case 2: + if (gTasks[taskId].data[5]) { + gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG1_Y = -36; + gBattle_BG2_Y = -36; + } else { + gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); + gBattle_BG1_Y = (-164) + (Cos2(gTasks[taskId].data[1]) / 32); + gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); + gBattle_BG2_Y = (-164) + (Cos2(gTasks[taskId].data[2]) / 32); + } + if (gTasks[taskId].data[2]) { + gTasks[taskId].data[2] -= 2; + gTasks[taskId].data[1] += 2; + } else { + if (gTasks[taskId].data[5]) { + PrintLinkBattleWinLossTie(); + } + PlaySE(SE_W231); + DestroyTask(taskId); + gSprites[gBattleStruct->unk1608A].invisible = FALSE; + gSprites[gBattleStruct->unk1608B].invisible = FALSE; + gSprites[gBattleStruct->unk1608B].oam.tileNum += 0x40; + gSprites[gBattleStruct->unk1608A].data[0] = 0; + gSprites[gBattleStruct->unk1608B].data[0] = 1; + gSprites[gBattleStruct->unk1608A].data[1] = gSprites[gBattleStruct->unk1608A].pos1.x; + gSprites[gBattleStruct->unk1608B].data[1] = gSprites[gBattleStruct->unk1608B].pos1.x; + gSprites[gBattleStruct->unk1608A].data[2] = 0; + gSprites[gBattleStruct->unk1608B].data[2] = 0; + } + break; + } +} + +void LoadBattleEntryBackground(void) { + if (gBattleTypeFlags & BATTLE_TYPE_LINK) { + LZDecompressVram(gVersusFrameGfx, (void *)0x6004000); + LZDecompressVram(gVersusFrameTilemap, (void *)0x600e000); + LZDecompressVram(gVersusFrameTilemap, (void *)0x600f000); + LZDecompressVram(gUnknown_08E5DC2C, (void *)0x6010000); + LoadCompressedPalette(gVersusFramePal, 0x60, 0x20); + REG_BG1CNT = 0x5c04; + REG_WININ = 0x36; + REG_WINOUT = 0x36; + gBattle_BG1_Y = 0xff5c; + gBattle_BG2_Y = 0xff5c; + LoadCompressedObjectPic(&gUnknown_081F95A4); + return; + } else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == VERSION_RUBY) { + LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)0x600e000); + return; + } else { + LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)0x600e000); + return; + } + } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); + return; + } + } + if (sav1_map_get_battletype() == 0) { + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTiles, (void *)0x6004000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)0x600e000); + return; + } + LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); + LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); +} + +int LoadChosenBattleElement(u8 type) { + int ret = 0; + switch (type) { + case 0: + LZDecompressVram(&gBattleTextboxTiles, (void *)0x6000000); + break; + case 1: + CpuCopy16(gBattleTextboxTilemap, (void *)0x600c000, 0x1000); + break; + case 2: + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); + break; + case 3: // tiles + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == VERSION_RUBY) { + LZDecompressVram(gBattleTerrainTiles_Cave, (void *)0x6008000); + break; + } else { + LZDecompressVram(gBattleTerrainTiles_Water, (void *)0x6008000); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void *)0x6008000); + break; + case 2: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 3: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 4: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 5: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 6: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 7: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); + break; + case 1: + case 8: + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } + break; + } + } else { + LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); + break; + } + case 4: // tilemap + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == 2) { + LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)0x600d000); + break; + } else { + LZDecompressVram(gBattleTerrainTilemap_Water, (void *)0x600d000); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void *)0x600d000); + break; + case 2: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 3: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 4: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 5: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 6: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 7: + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); + break; + case 1: + case 8: + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } + break; + } + } else { + LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); + break; + } + case 5: // palette + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { + if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { + if (gGameVersion == 2) { + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + break; + } else { + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + break; + } + } else { + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { + if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + break; + } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { + LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); + break; + } + } + switch (sav1_map_get_battletype()) { + case 0: + LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); + break; + case 1: + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case 2: + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case 3: + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case 4: + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case 5: + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case 6: + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case 7: + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case 8: + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + break; + } + } else { + LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); + break; + } + case 6: + ApplyPlayerChosenFrameToBattleMenu(); + break; + default: + ret = 1; + } + return ret; +} diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index 0da29441e..85aa78ca0 100644 --- a/src/battle/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c @@ -29,7 +29,7 @@ extern u8 gBankSpriteIds[4]; extern u8 gBattleMonForms[4]; extern u8 gHealthboxIDs[4]; -bool8 sub_800E414(u8 a0); +bool8 LoadChosenBattleElement(u8 a0); bool8 sub_8031C30(u8 a0); void sub_8031EE8(void); void sub_80327CC(void); @@ -97,7 +97,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) } break; case 2: - if (!sub_800E414(gHelperState)) + if (!LoadChosenBattleElement(gHelperState)) { gHelperState++; gReshowState--; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 282ad31fb..5bba69f86 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -40,9 +40,9 @@ struct EggHatchData struct EggHatchData* gEggHatchData; -extern const u32 gUnknown_08D00000[]; -extern const u32 gUnknown_08D00524[]; -extern const u16 gUnknown_08D004E0[]; //palette +extern const u32 gBattleTextboxTiles[]; +extern const u32 gBattleTextboxTilemap[]; +extern const u16 gBattleTextboxPalette[]; //palette extern const struct SpriteSheet sUnknown_0820A3B0; extern const struct SpriteSheet sUnknown_0820A3B8; extern const struct SpritePalette sUnknown_0820A3C0; @@ -478,10 +478,10 @@ static void CB2_EggHatch_0(void) gMain.state++; break; case 2: - LZDecompressVram(&gUnknown_08D00000, (void*)(VRAM)); - CpuSet(&gUnknown_08D00524, ewram0_7, 0x800); + LZDecompressVram(&gBattleTextboxTiles, (void*)(VRAM)); + CpuSet(&gBattleTextboxTilemap, ewram0_7, 0x800); DmaCopy16(3, ewram0_7, (void*)(VRAM + 0x2800), 0x500); - LoadCompressedPalette(&gUnknown_08D004E0, 0, 0x20); + LoadCompressedPalette(&gBattleTextboxPalette, 0, 0x20); gMain.state++; break; case 3: diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 3ba325574..a3a5dbcec 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -212,7 +212,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, gBattleTerrain = BATTLE_TERRAIN_PLAIN; sub_800D6D4(); - sub_800DAB8(); + LoadBattleTextboxAndBackground(); ResetSpriteData(); ScanlineEffect_Stop(); ResetTasks(); @@ -320,7 +320,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) gBattleTerrain = BATTLE_TERRAIN_PLAIN; sub_800D6D4(); - sub_800DAB8(); + LoadBattleTextboxAndBackground(); ResetSpriteData(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; diff --git a/src/pokedex.c b/src/pokedex.c index 711dc69fa..f7baced63 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -3922,8 +3922,8 @@ static void sub_8090B8C(u8 taskId) const u8 *lzPaletteData; REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG3_ON | DISPCNT_OBJ_ON; - CpuCopy16(gUnknown_08D00524, (void *)(VRAM + 0xC000), 0x1000); - sub_800D74C(); + CpuCopy16(gBattleTextboxTilemap, (void *)(VRAM + 0xC000), 0x1000); + ApplyPlayerChosenFrameToBattleMenu(); 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]; diff --git a/src/rom_800D42C.c b/src/rom_800D42C.c deleted file mode 100644 index 6825a8c89..000000000 --- a/src/rom_800D42C.c +++ /dev/null @@ -1,757 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "constants/songs.h" -#include "decompress.h" -#include "ewram.h" -#include "link.h" -#include "main.h" -#include "palette.h" -#include "task.h" -#include "text.h" -#include "text_window.h" -#include "trainer.h" -#include "trig.h" -#include "sound.h" - - -extern u16 gBattleTypeFlags; -extern u8 gBattleOutcome; - -extern struct Window gUnknown_03004210; - -extern u8 BattleText_Win[]; -extern u8 BattleText_Loss[]; -extern u8 BattleText_Tie[]; - -extern void sub_8032A38(void); - -#define GetCurrentMapBattleScene sav1_map_get_battletype -//extern u8 GetCurrentMapBattleScene(void); - -extern const u8 gGameVersion; -extern u8 gUnknown_08D00000[]; -extern u16 gUnknown_08D00524[]; -extern u16 gUnknown_08D004E0[]; -extern u16 gBattleTypeFlags; -extern struct Trainer gTrainers[]; -extern u16 gTrainerBattleOpponent; - -struct BattleBackground { - void *tileset; - void *tilemap; - void *entryTiles; - void *entryTilemap; - void *palette; -}; -extern struct BattleBackground gBattleTerrainTable[]; - -extern u8 gBattleTerrain; - -extern u8 gBattleTerrainTiles_Cave[]; -extern u8 gBattleTerrainTiles_Water[]; -extern u8 gBattleTerrainTiles_Building[]; -extern u8 gBattleTerrainTiles_Stadium[]; - -extern u16 gBattleTerrainTilemap_Cave[]; -extern u16 gBattleTerrainTilemap_Water[]; -extern u16 gBattleTerrainTilemap_Building[]; -extern u16 gBattleTerrainTilemap_Stadium[]; - -extern u16 gBattleTerrainPalette_Groudon[]; -extern u16 gBattleTerrainPalette_Kyogre[]; -extern u16 gBattleTerrainPalette_BuildingLeader[]; -extern u16 gBattleTerrainPalette_StadiumSteven[]; -extern u16 gBattleTerrainPalette_BuildingGym[]; -extern u16 gBattleTerrainPalette_StadiumMagma[]; -extern u16 gBattleTerrainPalette_StadiumAqua[]; -extern u16 gBattleTerrainPalette_StadiumSidney[]; -extern u16 gBattleTerrainPalette_StadiumPhoebe[]; -extern u16 gBattleTerrainPalette_StadiumGlacia[]; -extern u16 gBattleTerrainPalette_StadiumDrake[]; -extern u16 gBattleTerrainPalette_BattleTower[]; - -extern u8 gBattleTerrainAnimTiles_Building[]; -extern u16 gBattleTerrainAnimTilemap_Building[]; -extern u8 gBattleTerrainAnimTiles_Cave[]; -extern u16 gBattleTerrainAnimTilemap_Cave[]; -extern u8 gBattleTerrainAnimTiles_Underwater[]; -extern u16 gBattleTerrainAnimTilemap_Underwater[]; -extern u8 gVersusFrameGfx[]; -extern u16 gVersusFrameTilemap[]; -extern u8 gUnknown_08E5DC2C[]; -extern u16 gVersusFramePal[]; - -extern u16 gBattle_BG1_Y; -extern u16 gBattle_BG2_Y; -extern struct CompressedSpriteSheet gUnknown_081F95A4; - -extern u8 sav1_map_get_battletype(void); -extern void sub_800D74C(void); - -struct LinkResultWindow { - struct Window *window; - u16 offset; - u8 left; - u8 top; - u8 *dest; -}; - -#define gLinkResultWindows gUnknown_081F9680 -extern const struct LinkResultWindow gLinkResultWindows[]; -extern void PrintLinkBattleWinLossTie(void); -extern void sub_800DAF8(u8, u8, u8 *); - -extern struct SpriteTemplate gSpriteTemplate_81F9574; -extern struct SpriteTemplate gSpriteTemplate_81F958C; -extern struct SpriteTemplate gSpriteTemplate_81F96D0; - -extern u16 gBattle_BG1_X; -extern u16 gBattle_BG2_X; - - -void sub_800D6C4(void); - - -void unref_sub_800D684(void) -{ - u8 spriteId; - ResetSpriteData(); - spriteId = CreateSprite(&gSpriteTemplate_81F96D0, 0, 0, 0); - gSprites[spriteId].invisible = TRUE; - SetMainCallback2(sub_800D6C4); -} - -void sub_800D6C4(void) -{ - AnimateSprites(); - BuildOamBuffer(); -} - -void sub_800D6D4(void) -{ - u16 ime = REG_IME; - REG_IME = 0; - REG_IE |= INTR_FLAG_VBLANK; - REG_IME = ime; - REG_DISPSTAT = DISPSTAT_VBLANK_INTR; - REG_BG0CNT = 0x9800; - REG_BG1CNT = 0x9c04; - REG_BG2CNT = 0x5e05; - REG_BG3CNT = 0x5a0b; - REG_BLDCNT = 0; - REG_BLDALPHA = 0; - REG_BLDY = 0; - REG_DISPCNT = 0xbf40; -} - -// ApplyPlayerChosenFrameToBattleMenu -void sub_800D74C(void) -{ - TextWindow_SetBaseTileNum(0x12); - TextWindow_LoadStdFrameGraphicsOverridePal(&gUnknown_03004210, 1); - TextWindow_SetBaseTileNum(0x22); - TextWindow_LoadStdFrameGraphicsOverridePal(&gUnknown_03004210, 1); - gPlttBufferUnfaded[92] = 0x7fe0; - gPlttBufferUnfaded[93] = 0x2529; - gPlttBufferUnfaded[94] = 0x7fff; - gPlttBufferUnfaded[95] = 0x675a; - CpuSet(&gPlttBufferUnfaded[92], &gPlttBufferFaded[92], 4); - sub_8032A38(); -} - -void DrawMainBattleBackground(void) -{ - if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER /*| BATTLE_TYPE_x2000000*/)) - { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - } - else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) - { - if (gGameVersion == VERSION_RUBY) - { - LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); - } - else - { - LZDecompressVram(gBattleTerrainTiles_Water, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); - } - } - else - { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) - { - u8 trainerClass = gTrainers[gTrainerBattleOpponent].trainerClass; - if (trainerClass == TRAINER_CLASS_LEADER) - { - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); - return; - } - else if (trainerClass == TRAINER_CLASS_CHAMPION) - { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); - return; - } - } - - switch (GetCurrentMapBattleScene()) - { - case MAP_BATTLE_SCENE_NORMAL: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_GYM: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_MAGMA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_AQUA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_SIDNEY: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_PHOEBE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_GLACIA: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_DRAKE: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); - break; - case MAP_BATTLE_SCENE_BATTLE_TOWER: - LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000)); - LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000)); - LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - break; - } - } -} - - - -void sub_800DAB8(void) -{ - LZDecompressVram(gUnknown_08D00000, (void *)0x6000000); - CpuSet(gUnknown_08D00524, (void *)0x600c000, 0x800); - LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); - sub_800D74C(); - DrawMainBattleBackground(); -} - -void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) -{ - int i; - u16 r4 = 0; - u16 src[6]; - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (gTasks[taskId].data[5]) { - switch (windowId) { - case 0: - r4 = gTasks[taskId].data[3] & 0x3f; - break; - case 1: - r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; - break; - case 2: - r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; - break; - case 3: - r4 = gTasks[taskId].data[4] & 0x3f; - break; - } - } else { - switch (windowId) { - case 0: - r4 = gTasks[taskId].data[3] & 0x3f; - break; - case 1: - r4 = gTasks[taskId].data[4] & 0x3f; - break; - case 2: - r4 = (gTasks[taskId].data[3] & 0xfc0) >> 6; - break; - case 3: - r4 = (gTasks[taskId].data[4] & 0xfc0) >> 6; - break; - } - } - for (i = 0; i < 3; i++) { - src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; - } - CpuSet(src, dest, 3); - } else { - if (windowId == gBattleStruct->linkPlayerIndex) { - r4 = gTasks[taskId].data[3]; - } else { - r4 = gTasks[taskId].data[4]; - } - for (i = 0; i < 6; i++) { - src[i] = ((r4 & (3 << (i * 2))) >> (i * 2)) + 0x6001; - } - CpuSet(src, dest, 6); - } -} - - -#if ENGLISH -#define LEFT_MESSAGE_X 6 -#define RIGHT_MESSAGE_X 21 -#define TILE_OFFSET_LOSS 168 -#elif GERMAN -#define LEFT_MESSAGE_X 5 -#define RIGHT_MESSAGE_X 20 -#define TILE_OFFSET_LOSS 172 -#endif -#define TILE_OFFSET_WIN 160 -#define CENTER_MESSAGE_X 13 -#define MESSAGE_Y 2 - -#define PRINT_MESSAGE(text, tileDataStartOffset, x) \ -{ \ - Text_InitWindow(&gUnknown_03004210, text, tileDataStartOffset, x, MESSAGE_Y); \ - Text_PrintWindow8002F44(&gUnknown_03004210); \ -} - -#define PRINT_MESSAGE_LEFT(text, tileDataStartOffset) PRINT_MESSAGE(text, tileDataStartOffset, LEFT_MESSAGE_X) -#define PRINT_MESSAGE_RIGHT(text, tileDataStartOffset) PRINT_MESSAGE(text, tileDataStartOffset, RIGHT_MESSAGE_X) - -void PrintLinkBattleWinLossTie(void) -{ - - if (gBattleOutcome == 3) - { - PRINT_MESSAGE(BattleText_Tie, TILE_OFFSET_WIN, CENTER_MESSAGE_X); - return; - } - - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - { - // Double battle? - - if (gBattleOutcome == 1) - { - - // lp_field_18 = player position? - switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18) - { - case 0: - case 2: - PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); - PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); - return; - - case 1: - case 3: - PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN) - PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS) - return; - } - } - else - { - - switch (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18) - { - case 1: - case 3: - PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); - PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); - return; - - case 0: - case 2: - PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN); - PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS); - return; - } - } - - return; - } - - - if (gBattleOutcome == 1) - { - if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 != 0) - { - PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN); - PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS); - } - else - { - PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); - PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); - } - } - else - { - if (gLinkPlayers[gBattleStruct->linkPlayerIndex].lp_field_18 != 0) - { - PRINT_MESSAGE_LEFT(BattleText_Win, TILE_OFFSET_WIN); - PRINT_MESSAGE_RIGHT(BattleText_Loss, TILE_OFFSET_LOSS); - } - else - { - PRINT_MESSAGE_RIGHT(BattleText_Win, TILE_OFFSET_WIN); - PRINT_MESSAGE_LEFT(BattleText_Loss, TILE_OFFSET_LOSS); - } - } -} - - -void sub_800DE30(u8 taskId) -{ - u8 palette; - int i; - - switch (gTasks[taskId].data[0]) { - - case 0: - if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - for (i = 0; i < 4; i++) { - u8 windowId = (gLinkPlayers[i].lp_field_18 & 3); - Text_InitWindow8002E4C( - gLinkResultWindows[windowId].window, - gLinkPlayers[i].name, - gLinkResultWindows[windowId].offset, - gLinkResultWindows[windowId].left, - gLinkResultWindows[windowId].top, - 1); - Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); - sub_800DAF8(taskId, windowId, gLinkResultWindows[windowId].dest); - } - } else { - u8 windowId = 4; - - u8 playerId = gBattleStruct->linkPlayerIndex; - u8 opponentId = gBattleStruct->linkPlayerIndex ^ 1; - if (gLinkPlayers[playerId].lp_field_18) { - opponentId = gBattleStruct->linkPlayerIndex; - playerId = gBattleStruct->linkPlayerIndex ^ 1; - } - - Text_InitWindow8002E4C( - gLinkResultWindows[windowId].window, - gLinkPlayers[playerId].name, - gLinkResultWindows[windowId].offset, - gLinkResultWindows[windowId].left, - gLinkResultWindows[windowId].top, - 1); - Text_PrintWindow8002F44(gLinkResultWindows[windowId].window); - sub_800DAF8(taskId, playerId, gLinkResultWindows[windowId].dest); - - Text_InitWindow8002E4C( - gLinkResultWindows[windowId + 1].window, - gLinkPlayers[opponentId].name, - gLinkResultWindows[windowId + 1].offset, - gLinkResultWindows[windowId + 1].left, - gLinkResultWindows[windowId + 1].top, - 1); - Text_PrintWindow8002F44(gLinkResultWindows[windowId + 1].window); - sub_800DAF8(taskId, opponentId, gLinkResultWindows[windowId + 1].dest); - } - gTasks[taskId].data[0]++; - break; - - case 1: - palette = AllocSpritePalette(10000); - gPlttBufferUnfaded[palette * 16 + 0x10f] = gPlttBufferFaded[palette * 16 + 0x10f] = 0x7fff; - gBattleStruct->unk1608A = CreateSprite(&gSpriteTemplate_81F9574, 108, 80, 0); - gBattleStruct->unk1608B = CreateSprite(&gSpriteTemplate_81F958C, 132, 80, 0); - gSprites[gBattleStruct->unk1608A].invisible = TRUE; - gSprites[gBattleStruct->unk1608B].invisible = TRUE; - gTasks[taskId].data[0]++; - break; - - case 2: - if (gTasks[taskId].data[5]) { - gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); - gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); - gBattle_BG1_Y = -36; - gBattle_BG2_Y = -36; - } else { - gBattle_BG1_X = (-20) - (Sin2(gTasks[taskId].data[1]) / 32); - gBattle_BG1_Y = (-164) + (Cos2(gTasks[taskId].data[1]) / 32); - gBattle_BG2_X = (-140) - (Sin2(gTasks[taskId].data[2]) / 32); - gBattle_BG2_Y = (-164) + (Cos2(gTasks[taskId].data[2]) / 32); - } - if (gTasks[taskId].data[2]) { - gTasks[taskId].data[2] -= 2; - gTasks[taskId].data[1] += 2; - } else { - if (gTasks[taskId].data[5]) { - PrintLinkBattleWinLossTie(); - } - PlaySE(SE_W231); - DestroyTask(taskId); - gSprites[gBattleStruct->unk1608A].invisible = FALSE; - gSprites[gBattleStruct->unk1608B].invisible = FALSE; - gSprites[gBattleStruct->unk1608B].oam.tileNum += 0x40; - gSprites[gBattleStruct->unk1608A].data[0] = 0; - gSprites[gBattleStruct->unk1608B].data[0] = 1; - gSprites[gBattleStruct->unk1608A].data[1] = gSprites[gBattleStruct->unk1608A].pos1.x; - gSprites[gBattleStruct->unk1608B].data[1] = gSprites[gBattleStruct->unk1608B].pos1.x; - gSprites[gBattleStruct->unk1608A].data[2] = 0; - gSprites[gBattleStruct->unk1608B].data[2] = 0; - } - break; - } -} - -void sub_800E23C(void) { - if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - LZDecompressVram(gVersusFrameGfx, (void *)0x6004000); - LZDecompressVram(gVersusFrameTilemap, (void *)0x600e000); - LZDecompressVram(gVersusFrameTilemap, (void *)0x600f000); - LZDecompressVram(gUnknown_08E5DC2C, (void *)0x6010000); - LoadCompressedPalette(gVersusFramePal, 0x60, 0x20); - REG_BG1CNT = 0x5c04; - REG_WININ = 0x36; - REG_WINOUT = 0x36; - gBattle_BG1_Y = 0xff5c; - gBattle_BG2_Y = 0xff5c; - LoadCompressedObjectPic(&gUnknown_081F95A4); - return; - } else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); - return; - } else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == VERSION_RUBY) { - LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void *)0x600e000); - return; - } else { - LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void *)0x600e000); - return; - } - } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); - return; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); - return; - } - } - if (sav1_map_get_battletype() == 0) { - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTiles, (void *)0x6004000); - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)0x600e000); - return; - } - LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); - LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void *)0x600e000); -} - -int sub_800E414(u8 type) { - int ret = 0; - switch (type) { - case 0: - LZDecompressVram(&gUnknown_08D00000, (void *)0x6000000); - break; - case 1: - CpuCopy16(gUnknown_08D00524, (void *)0x600c000, 0x1000); - break; - case 2: - LoadCompressedPalette(gUnknown_08D004E0, 0, 0x40); - break; - case 3: // tiles - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == VERSION_RUBY) { - LZDecompressVram(gBattleTerrainTiles_Cave, (void *)0x6008000); - break; - } else { - LZDecompressVram(gBattleTerrainTiles_Water, (void *)0x6008000); - break; - } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); - break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - } - } - switch (sav1_map_get_battletype()) { - case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void *)0x6008000); - break; - case 2: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 3: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 4: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 5: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 6: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 7: - LZDecompressVram(gBattleTerrainTiles_Stadium, (void *)0x6008000); - break; - case 1: - case 8: - LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); - break; - } - break; - } - } else { - LZDecompressVram(gBattleTerrainTiles_Building, (void *)0x6008000); - break; - } - case 4: // tilemap - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == 2) { - LZDecompressVram(gBattleTerrainTilemap_Cave, (void *)0x600d000); - break; - } else { - LZDecompressVram(gBattleTerrainTilemap_Water, (void *)0x600d000); - break; - } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); - break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - } - } - switch (sav1_map_get_battletype()) { - case 0: - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void *)0x600d000); - break; - case 2: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 3: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 4: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 5: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 6: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 7: - LZDecompressVram(gBattleTerrainTilemap_Stadium, (void *)0x600d000); - break; - case 1: - case 8: - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); - break; - } - break; - } - } else { - LZDecompressVram(gBattleTerrainTilemap_Building, (void *)0x600d000); - break; - } - case 5: // palette - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) { - if (gGameVersion == 2) { - LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); - break; - } else { - LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); - break; - } - } else { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x19) { - LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); - break; - } else if (gTrainers[gTrainerBattleOpponent].trainerClass == 0x20) { - LoadCompressedPalette(gBattleTerrainPalette_StadiumSteven, 0x20, 0x60); - break; - } - } - switch (sav1_map_get_battletype()) { - case 0: - LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60); - break; - case 1: - LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); - break; - case 2: - LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); - break; - case 3: - LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); - break; - case 4: - LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); - break; - case 5: - LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); - break; - case 6: - LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); - break; - case 7: - LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); - break; - case 8: - LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - break; - } - break; - } - } else { - LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - break; - } - case 6: - sub_800D74C(); - break; - default: - ret = 1; - } - return ret; -} diff --git a/src/trade.c b/src/trade.c index 36e6fc757..a05bddee4 100644 --- a/src/trade.c +++ b/src/trade.c @@ -4018,10 +4018,10 @@ static void sub_804B41C(void) Menu_EraseScreen(); gLinkType = 0x1144; gMain.state ++; - LZDecompressVram(gUnknown_08D00000, (void *)VRAM); - CpuCopy16(gUnknown_08D00524, ewram, 0x1000); + LZDecompressVram(gBattleTextboxTiles, (void *)VRAM); + CpuCopy16(gBattleTextboxTilemap, ewram, 0x1000); DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500); - LoadCompressedPalette(gUnknown_08D004E0, 0, 32); + LoadCompressedPalette(gBattleTextboxPalette, 0, 32); gUnknown_03004828->unk_00b6 = 0; gUnknown_03004828->unk_00c4 = 0; gUnknown_03004828->isLinkTrade = TRUE; @@ -4191,11 +4191,11 @@ static __attribute__((naked)) void sub_804B41C(void) "\tldrb r0, [r1]\n" "\tadds r0, 0x1\n" "\tstrb r0, [r1]\n" - "\tldr r0, _0804B590 @ =gUnknown_08D00000\n" + "\tldr r0, _0804B590 @ =gBattleTextboxTiles\n" "\tmovs r1, 0xC0\n" "\tlsls r1, 19\n" "\tbl LZDecompressVram\n" - "\tldr r0, _0804B594 @ =gUnknown_08D00524\n" + "\tldr r0, _0804B594 @ =gBattleTextboxTilemap\n" "\tldr r1, _0804B598 @ =0xfffe1000\n" "\tadds r5, r1\n" "\tmovs r2, 0x80\n" @@ -4209,7 +4209,7 @@ static __attribute__((naked)) void sub_804B41C(void) "\tldr r1, _0804B5A4 @ =0x80000280\n" "\tstr r1, [r0, 0x8]\n" "\tldr r0, [r0, 0x8]\n" - "\tldr r0, _0804B5A8 @ =gUnknown_08D004E0\n" + "\tldr r0, _0804B5A8 @ =gBattleTextboxPalette\n" "\tmovs r1, 0\n" "\tmovs r2, 0x20\n" "\tbl LoadCompressedPalette\n" @@ -4267,13 +4267,13 @@ static __attribute__((naked)) void sub_804B41C(void) "_0804B584: .4byte 0x00001144\n" "_0804B588: .4byte gMain\n" "_0804B58C: .4byte 0x0000043c\n" - "_0804B590: .4byte gUnknown_08D00000\n" - "_0804B594: .4byte gUnknown_08D00524\n" + "_0804B590: .4byte gBattleTextboxTiles\n" + "_0804B594: .4byte gBattleTextboxTilemap\n" "_0804B598: .4byte 0xfffe1000\n" "_0804B59C: .4byte 0x06002800\n" "_0804B5A0: .4byte 0x040000d4\n" "_0804B5A4: .4byte 0x80000280\n" - "_0804B5A8: .4byte gUnknown_08D004E0\n" + "_0804B5A8: .4byte gBattleTextboxPalette\n" "_0804B5AC_case01:\n" "\tbl OpenLink\n" "\tldr r1, _0804B5C8 @ =gMain\n" @@ -4709,9 +4709,9 @@ static void sub_804BBE8(u8 a0) gUnknown_03004828->bg1vofs = 0; gUnknown_03004828->bg1hofs = 0; REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5); - LZDecompressVram(gUnknown_08D00000, BG_CHAR_ADDR(0)); - CpuCopy16(gUnknown_08D00524, buffer = (u16 *)gSharedMem, 0x1000); - LoadCompressedPalette(gUnknown_08D004E0, 0x70, 0x20); + LZDecompressVram(gBattleTextboxTiles, BG_CHAR_ADDR(0)); + CpuCopy16(gBattleTextboxTilemap, buffer = (u16 *)gSharedMem, 0x1000); + LoadCompressedPalette(gBattleTextboxPalette, 0x70, 0x20); FillPalette(0, 0, 2); for (i = 0; i < 0x280; i ++) buffer[i] |= 0x7000; @@ -5684,9 +5684,9 @@ static void sub_804E1DC(void) void sub_804E22C(void) { - LZDecompressVram(gUnknown_08D00000, (void *)VRAM); - CpuCopy16(gUnknown_08D00524, gSharedMem, 0x1000); + LZDecompressVram(gBattleTextboxTiles, (void *)VRAM); + CpuCopy16(gBattleTextboxTilemap, gSharedMem, 0x1000); DmaCopy16Defvars(3, gSharedMem, BG_SCREEN_ADDR(5), 0x500); - LoadCompressedPalette(gUnknown_08D004E0, 0, 32); + LoadCompressedPalette(gBattleTextboxPalette, 0, 32); REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5); } -- cgit v1.2.3 From 09411d29f66c427367a2db3de155fed8c98138f5 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 4 Apr 2018 20:03:32 -0700 Subject: Fix german debug --- src/battle/battle_bg.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle/battle_bg.c b/src/battle/battle_bg.c index b1e2ea83b..f97829833 100644 --- a/src/battle/battle_bg.c +++ b/src/battle/battle_bg.c @@ -255,10 +255,20 @@ void DrawMainBattleBackground(void) void LoadBattleTextboxAndBackground(void) { LZDecompressVram(gBattleTextboxTiles, (void*)(BG_VRAM)); - CpuSet(gBattleTextboxTilemap, (void *)0x600c000, 0x800); + CpuSet(gBattleTextboxTilemap, (void *)(VRAM + 0xC000), 0x800); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); ApplyPlayerChosenFrameToBattleMenu(); DrawMainBattleBackground(); + + #if DEBUG + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + { + debug_sub_8008218((void*)(VRAM + 0x600), 0, (void*)(VRAM + 0xC000), 1); + debug_sub_8008264(257, 3, 1, 3, 1); + debug_sub_8008264(257, 3, 21, 3, 1); + debug_sub_8008264(257, 3, 41, 3, 1); + } + #endif } void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) -- cgit v1.2.3 From 64c9fd3a29cfd56c1b7ba5812ca84e62427971a9 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 5 Apr 2018 19:09:30 -0700 Subject: Move some data into battle_bg.c --- src/battle/battle_1.c | 136 ------------------------------------ src/battle/battle_bg.c | 184 ++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 142 insertions(+), 178 deletions(-) (limited to 'src') diff --git a/src/battle/battle_1.c b/src/battle/battle_1.c index 0eaca7b76..9ab9e08c5 100644 --- a/src/battle/battle_1.c +++ b/src/battle/battle_1.c @@ -468,139 +468,3 @@ const u8 gEnemyMonElevation[] = { #endif const u32 gUnknown_81F9528 = 0x101; - -const struct OamData gOamData_81F952C = { - .affineMode = ST_OAM_AFFINE_DOUBLE, - .size = 3 -}; - -const struct OamData gOamData_81F9534 = { - .affineMode = ST_OAM_AFFINE_DOUBLE, - .size = 3, - .tileNum = 64 -}; - -const union AffineAnimCmd gSpriteAffineAnim_81F953C[] = { - AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), - AFFINEANIMCMD_END -}; - -const union AffineAnimCmd gSpriteAffineAnim_81F954C[] = { - AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), - AFFINEANIMCMD_FRAME(0x18, 0x18, 0, -128), - AFFINEANIMCMD_FRAME(0x18, 0x18, 0, -128), - AFFINEANIMCMD_END -}; - -const union AffineAnimCmd *const gSpriteAffineAnimTable_81F956C[] = { - gSpriteAffineAnim_81F953C, - gSpriteAffineAnim_81F954C -}; - -const struct SpriteTemplate gSpriteTemplate_81F9574 = { - .tileTag = 10000, - .paletteTag = 10000, - .oam = &gOamData_81F952C, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_81F956C, - .callback = nullsub_36 -}; - -const struct SpriteTemplate gSpriteTemplate_81F958C = { - .tileTag = 10000, - .paletteTag = 10000, - .oam = &gOamData_81F9534, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_81F956C, - .callback = nullsub_36 -}; - -extern const u8 gUnknown_08E5DC2C[]; - -const struct CompressedSpriteSheet gUnknown_081F95A4[] = { - {gUnknown_08E5DC2C, 4096, 0x2710}, -}; - -struct BattleBackground -{ - const void *tileset; - const void *tilemap; - const void *entryTileset; - const void *entryTilemap; - const void *palette; -}; - -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 - }, - { - .tileset = gBattleTerrainTiles_Building, - .tilemap = gBattleTerrainTilemap_Building, - .entryTileset = gBattleTerrainAnimTiles_Building, - .entryTilemap = gBattleTerrainAnimTilemap_Building, - .palette = gBattleTerrainPalette_Plain - } -}; diff --git a/src/battle/battle_bg.c b/src/battle/battle_bg.c index f97829833..7474af74b 100644 --- a/src/battle/battle_bg.c +++ b/src/battle/battle_bg.c @@ -3,6 +3,7 @@ #include "constants/songs.h" #include "decompress.h" #include "ewram.h" +#include "graphics.h" #include "link.h" #include "main.h" #include "palette.h" @@ -29,34 +30,12 @@ extern void sub_8032A38(void); //extern u8 GetCurrentMapBattleScene(void); extern const u8 gGameVersion; -extern u8 gBattleTextboxTiles[]; -extern u16 gBattleTextboxTilemap[]; -extern u16 gBattleTextboxPalette[]; extern u16 gBattleTypeFlags; extern struct Trainer gTrainers[]; extern u16 gTrainerBattleOpponent; -struct BattleBackground { - void *tileset; - void *tilemap; - void *entryTiles; - void *entryTilemap; - void *palette; -}; -extern struct BattleBackground gBattleTerrainTable[]; - extern u8 gBattleTerrain; -extern u8 gBattleTerrainTiles_Cave[]; -extern u8 gBattleTerrainTiles_Water[]; -extern u8 gBattleTerrainTiles_Building[]; -extern u8 gBattleTerrainTiles_Stadium[]; - -extern u16 gBattleTerrainTilemap_Cave[]; -extern u16 gBattleTerrainTilemap_Water[]; -extern u16 gBattleTerrainTilemap_Building[]; -extern u16 gBattleTerrainTilemap_Stadium[]; - extern u16 gBattleTerrainPalette_Groudon[]; extern u16 gBattleTerrainPalette_Kyogre[]; extern u16 gBattleTerrainPalette_BuildingLeader[]; @@ -70,20 +49,14 @@ extern u16 gBattleTerrainPalette_StadiumGlacia[]; extern u16 gBattleTerrainPalette_StadiumDrake[]; extern u16 gBattleTerrainPalette_BattleTower[]; -extern u8 gBattleTerrainAnimTiles_Building[]; -extern u16 gBattleTerrainAnimTilemap_Building[]; -extern u8 gBattleTerrainAnimTiles_Cave[]; -extern u16 gBattleTerrainAnimTilemap_Cave[]; -extern u8 gBattleTerrainAnimTiles_Underwater[]; -extern u16 gBattleTerrainAnimTilemap_Underwater[]; extern u8 gVersusFrameGfx[]; extern u16 gVersusFrameTilemap[]; -extern u8 gUnknown_08E5DC2C[]; extern u16 gVersusFramePal[]; +extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; -extern struct CompressedSpriteSheet gUnknown_081F95A4; extern u8 sav1_map_get_battletype(void); @@ -97,19 +70,146 @@ struct LinkResultWindow { #define gLinkResultWindows gUnknown_081F9680 extern const struct LinkResultWindow gLinkResultWindows[]; -extern void PrintLinkBattleWinLossTie(void); -extern void sub_800DAF8(u8, u8, u8 *); -extern struct SpriteTemplate gSpriteTemplate_81F9574; -extern struct SpriteTemplate gSpriteTemplate_81F958C; extern struct SpriteTemplate gSpriteTemplate_81F96D0; -extern u16 gBattle_BG1_X; -extern u16 gBattle_BG2_X; +const struct OamData gOamData_81F952C = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .size = 3 +}; + +const struct OamData gOamData_81F9534 = { + .affineMode = ST_OAM_AFFINE_DOUBLE, + .size = 3, + .tileNum = 64 +}; + +const union AffineAnimCmd gSpriteAffineAnim_81F953C[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gSpriteAffineAnim_81F954C[] = { + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0, -128), + AFFINEANIMCMD_FRAME(0x18, 0x18, 0, -128), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_81F956C[] = { + gSpriteAffineAnim_81F953C, + gSpriteAffineAnim_81F954C +}; + +const struct SpriteTemplate gSpriteTemplate_81F9574 = { + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_81F952C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_81F956C, + .callback = nullsub_36 +}; +const struct SpriteTemplate gSpriteTemplate_81F958C = { + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_81F9534, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_81F956C, + .callback = nullsub_36 +}; + +extern const u8 gUnknown_08E5DC2C[]; + +const struct CompressedSpriteSheet gUnknown_081F95A4[] = { + {gUnknown_08E5DC2C, 4096, 0x2710}, +}; + +struct BattleBackground +{ + const void *tileset; + const void *tilemap; + const void *entryTileset; + const void *entryTilemap; + const void *palette; +}; -void sub_800D6C4(void); +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 +}, +{ + .tileset = gBattleTerrainTiles_Building, + .tilemap = gBattleTerrainTilemap_Building, + .entryTileset = gBattleTerrainAnimTiles_Building, + .entryTilemap = gBattleTerrainAnimTilemap_Building, + .palette = gBattleTerrainPalette_Plain + } +}; +static void sub_800D6C4(void); void unref_sub_800D684(void) { @@ -120,7 +220,7 @@ void unref_sub_800D684(void) SetMainCallback2(sub_800D6C4); } -void sub_800D6C4(void) +static void sub_800D6C4(void) { AnimateSprites(); BuildOamBuffer(); @@ -271,7 +371,7 @@ void LoadBattleTextboxAndBackground(void) #endif } -void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) +static void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) { int i; u16 r4 = 0; @@ -349,7 +449,7 @@ void sub_800DAF8(u8 taskId, u8 windowId, u8 *dest) #define PRINT_MESSAGE_LEFT(text, tileDataStartOffset) PRINT_MESSAGE(text, tileDataStartOffset, LEFT_MESSAGE_X) #define PRINT_MESSAGE_RIGHT(text, tileDataStartOffset) PRINT_MESSAGE(text, tileDataStartOffset, RIGHT_MESSAGE_X) -void PrintLinkBattleWinLossTie(void) +static void PrintLinkBattleWinLossTie(void) { if (gBattleOutcome == 3) @@ -544,7 +644,7 @@ void LoadBattleEntryBackground(void) { REG_WINOUT = 0x36; gBattle_BG1_Y = 0xff5c; gBattle_BG2_Y = 0xff5c; - LoadCompressedObjectPic(&gUnknown_081F95A4); + LoadCompressedObjectPic(gUnknown_081F95A4); return; } else if (gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) { LZDecompressVram(gBattleTerrainAnimTiles_Building, (void *)0x6004000); @@ -572,7 +672,7 @@ void LoadBattleEntryBackground(void) { } } if (sav1_map_get_battletype() == 0) { - LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTiles, (void *)0x6004000); + LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTileset, (void *)0x6004000); LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void *)0x600e000); return; } -- cgit v1.2.3 From 56d822f9e3fe9ed65377151c0b839e4eaa7caea9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 4 Apr 2018 08:49:05 -0400 Subject: Renaming --- src/battle/battle_2.c | 30 +- src/berry_blender.c | 42 +- src/choose_party.c | 62 +-- src/debug/kagaya_debug_menu.c | 6 +- src/debug/matsuda_debug_menu.c | 4 +- src/debug/nakamura_debug_menu.c | 1139 ++++++++++++++++++++------------------- src/debug/start_menu_debug.c | 2 +- src/decoration_inventory.c | 6 +- src/field_fadetransition.c | 2 +- src/item_menu.c | 4 +- src/overworld.c | 4 +- src/pokeblock.c | 2 +- src/pokedex.c | 2 +- src/pokemon_1.c | 2 +- src/pokemon_menu.c | 2 +- src/pokenav_before.c | 2 +- src/region_map.c | 2 +- src/roamer.c | 4 +- src/scrcmd.c | 2 +- src/shop.c | 2 +- src/start_menu.c | 6 +- src/trader.c | 2 +- src/wild_encounter.c | 2 +- 23 files changed, 690 insertions(+), 641 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 2bbae20dc..83687298b 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -82,7 +82,7 @@ extern const u8 gUnknown_Debug_821F7F3[]; extern const u8 BattleText_YesNo[]; extern u8 gStatStageRatios[][2]; extern u8 gActionsByTurnOrder[4]; -extern struct UnknownPokemonStruct2 gUnknown_02023A00[]; +extern struct UnknownPokemonStruct2 gMultiPartnerParty[]; extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBank; extern u32 gBattleExecBuffer; @@ -576,23 +576,23 @@ void sub_800F02C(void) for (i = 0; i < 3; i++) { - u8 *nickname = gUnknown_02023A00[i].nickname; + u8 *nickname = gMultiPartnerParty[i].nickname; - gUnknown_02023A00[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); - gUnknown_02023A00[i].heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); + gMultiPartnerParty[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES); + gMultiPartnerParty[i].heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); GetMonData(&gPlayerParty[i], MON_DATA_NICKNAME, nickname); - gUnknown_02023A00[i].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); - gUnknown_02023A00[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); - gUnknown_02023A00[i].maxhp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); - gUnknown_02023A00[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); - gUnknown_02023A00[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); - gUnknown_02023A00[i].gender = GetMonGender(&gPlayerParty[i]); + gMultiPartnerParty[i].level = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); + gMultiPartnerParty[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + gMultiPartnerParty[i].maxhp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); + gMultiPartnerParty[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); + gMultiPartnerParty[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + gMultiPartnerParty[i].gender = GetMonGender(&gPlayerParty[i]); Text_StripExtCtrlCodes(nickname); - gUnknown_02023A00[i].language = GetMonData(&gPlayerParty[i], MON_DATA_LANGUAGE); - if (gUnknown_02023A00[i].language != 1) + gMultiPartnerParty[i].language = GetMonData(&gPlayerParty[i], MON_DATA_LANGUAGE); + if (gMultiPartnerParty[i].language != 1) PadNameString(nickname, 0); } - memcpy(gSharedMem, gUnknown_02023A00, 0x60); + memcpy(gSharedMem, gMultiPartnerParty, 0x60); } void sub_800F104(void) @@ -646,7 +646,7 @@ void sub_800F104(void) { if ((!(gLinkPlayers[i].lp_field_18 & 1) && !(gLinkPlayers[playerId].lp_field_18 & 1)) || ((gLinkPlayers[i].lp_field_18 & 1) && (gLinkPlayers[playerId].lp_field_18 & 1))) - memcpy(gUnknown_02023A00, gBlockRecvBuffer[i], 0x60); + memcpy(gMultiPartnerParty, gBlockRecvBuffer[i], 0x60); } } gBattleCommunication[0]++; @@ -2444,7 +2444,7 @@ void debug_sub_801174C(void) AddBagItem(ITEM_POKE_DOLL, 99); for (i = 0; i < 15; i++) - sub_810CA34(&gUnknown_Debug_821F5AC[i]); + GivePokeblock(&gUnknown_Debug_821F5AC[i]); } void debug_sub_8011D40(void) diff --git a/src/berry_blender.c b/src/berry_blender.c index bf634a49f..5d40ea321 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1921,14 +1921,14 @@ u32 Blender_GetPokeblockColor(struct BlenderBerry* berries, s16* a1, u8 playersN r6++; } if (r6 == 5 || a3 > 3) - return 12; + return PBLOCK_CLR_BLACK; for (i = 0; i < playersNo; i++) { for (r6 = 0; r6 < playersNo; r6++) { if (berries[i].itemID == berries[r6].itemID && i != r6 && (berries[i].itemID != ITEM_ENIGMA_BERRY || sub_80502A4(berries, i, r6))) - return 12; + return PBLOCK_CLR_BLACK; } } r2 = 0; @@ -1938,24 +1938,24 @@ u32 Blender_GetPokeblockColor(struct BlenderBerry* berries, s16* a1, u8 playersN r2++; } if (r2 > 3) - return 13; + return PBLOCK_CLR_WHITE; if (r2 == 3) - return 11; + return PBLOCK_CLR_GRAY; for (i = 0; i < 5; i++) { if (vars[i] > 50) - return 14; + return PBLOCK_CLR_GOLD; } if (r2 == 1 && vars[0] > 0) - return 1; + return PBLOCK_CLR_RED; if (r2 == 1 && vars[1] > 0) - return 2; + return PBLOCK_CLR_BLUE; if (r2 == 1 && vars[2] > 0) - return 3; + return PBLOCK_CLR_PINK; if (r2 == 1 && vars[3] > 0) - return 4; + return PBLOCK_CLR_GREEN; if (r2 == 1 && vars[4] > 0) - return 5; + return PBLOCK_CLR_YELLOW; if (r2 == 2) { s32 var = 0; @@ -1967,28 +1967,28 @@ u32 Blender_GetPokeblockColor(struct BlenderBerry* berries, s16* a1, u8 playersN if (vars[gUnknown_03000520[0]] >= vars[gUnknown_03000520[1]]) { if (gUnknown_03000520[0] == 0) - return (gUnknown_03000520[1] << 16) | 6; + return (gUnknown_03000520[1] << 16) | PBLOCK_CLR_PURPLE; if (gUnknown_03000520[0] == 1) - return (gUnknown_03000520[1] << 16) | 7; + return (gUnknown_03000520[1] << 16) | PBLOCK_CLR_INDIGO; if (gUnknown_03000520[0] == 2) - return (gUnknown_03000520[1] << 16) | 8; + return (gUnknown_03000520[1] << 16) | PBLOCK_CLR_BROWN; if (gUnknown_03000520[0] == 3) - return (gUnknown_03000520[1] << 16) | 9; + return (gUnknown_03000520[1] << 16) | PBLOCK_CLR_LITEBLUE; if (gUnknown_03000520[0] == 4) - return (gUnknown_03000520[1] << 16) | 10; + return (gUnknown_03000520[1] << 16) | PBLOCK_CLR_OLIVE; } else { if (gUnknown_03000520[1] == 0) - return (gUnknown_03000520[0] << 16) | 6; + return (gUnknown_03000520[0] << 16) | PBLOCK_CLR_PURPLE; if (gUnknown_03000520[1] == 1) - return (gUnknown_03000520[0] << 16) | 7; + return (gUnknown_03000520[0] << 16) | PBLOCK_CLR_INDIGO; if (gUnknown_03000520[1] == 2) - return (gUnknown_03000520[0] << 16) | 8; + return (gUnknown_03000520[0] << 16) | PBLOCK_CLR_BROWN; if (gUnknown_03000520[1] == 3) - return (gUnknown_03000520[0] << 16) | 9; + return (gUnknown_03000520[0] << 16) | PBLOCK_CLR_LITEBLUE; if (gUnknown_03000520[1] == 4) - return (gUnknown_03000520[0] << 16) | 10; + return (gUnknown_03000520[0] << 16) | PBLOCK_CLR_OLIVE; } } return 0; @@ -3108,7 +3108,7 @@ bool8 Blender_PrintBlendingResults(void) #endif MenuPrintMessage(gBerryBlenderData->stringVar, 1, 15); RemoveBagItem(gSpecialVar_ItemId, 1); - sub_810CA34(&pokeblock); + GivePokeblock(&pokeblock); gBerryBlenderData->field_0++; break; case 6: diff --git a/src/choose_party.c b/src/choose_party.c index 4766b2fbb..b4920dedd 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -23,7 +23,7 @@ extern u8 gPlayerPartyCount; extern u8 gLastFieldPokeMenuOpened; extern u8 gUnknown_020384F0; -extern struct UnknownPokemonStruct2 gUnknown_02023A00[3]; +extern struct UnknownPokemonStruct2 gMultiPartnerParty[3]; extern u8 gUnknown_0202E8F6; extern struct Pokemon gUnknown_030042FC[]; extern const u16 gBattleTowerBannedSpecies[]; @@ -530,26 +530,26 @@ static void BattleTowerEntryMenuCallback_Exit(u8 taskId) #if DEBUG -void debug_sub_81381B4(void) +void Debug_CopyLastThreePartyMonsToMultiPartnerParty(void) { u8 i; - memset(gUnknown_02023A00, 0, sizeof(gUnknown_02023A00)); + memset(gMultiPartnerParty, 0, sizeof(gMultiPartnerParty)); for (i = 0; i < 3; i++) { - gUnknown_02023A00[i].species = GetMonData(&gPlayerParty[3 + i], MON_DATA_SPECIES2); - if (gUnknown_02023A00[i].species != 0) + gMultiPartnerParty[i].species = GetMonData(&gPlayerParty[3 + i], MON_DATA_SPECIES2); + if (gMultiPartnerParty[i].species != 0) { - gUnknown_02023A00[i].level = GetMonData(&gPlayerParty[3 + i], MON_DATA_LEVEL); - gUnknown_02023A00[i].hp = GetMonData(&gPlayerParty[3 + i], MON_DATA_HP); - gUnknown_02023A00[i].maxhp = GetMonData(&gPlayerParty[3 + i], MON_DATA_MAX_HP); - gUnknown_02023A00[i].status = GetMonData(&gPlayerParty[3 + i], MON_DATA_STATUS); - gUnknown_02023A00[i].heldItem = GetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM); - gUnknown_02023A00[i].personality = GetMonData(&gPlayerParty[3 + i], MON_DATA_PERSONALITY); - gUnknown_02023A00[i].gender = GetMonGender(&gPlayerParty[3 + i]); - GetMonData(&gPlayerParty[3 + i], MON_DATA_NICKNAME, gUnknown_02023A00[i].nickname); - Text_StripExtCtrlCodes(gUnknown_02023A00[i].nickname); - gUnknown_02023A00[i].language = GetMonData(&gPlayerParty[3 + i], MON_DATA_LANGUAGE); + gMultiPartnerParty[i].level = GetMonData(&gPlayerParty[3 + i], MON_DATA_LEVEL); + gMultiPartnerParty[i].hp = GetMonData(&gPlayerParty[3 + i], MON_DATA_HP); + gMultiPartnerParty[i].maxhp = GetMonData(&gPlayerParty[3 + i], MON_DATA_MAX_HP); + gMultiPartnerParty[i].status = GetMonData(&gPlayerParty[3 + i], MON_DATA_STATUS); + gMultiPartnerParty[i].heldItem = GetMonData(&gPlayerParty[3 + i], MON_DATA_HELD_ITEM); + gMultiPartnerParty[i].personality = GetMonData(&gPlayerParty[3 + i], MON_DATA_PERSONALITY); + gMultiPartnerParty[i].gender = GetMonGender(&gPlayerParty[3 + i]); + GetMonData(&gPlayerParty[3 + i], MON_DATA_NICKNAME, gMultiPartnerParty[i].nickname); + Text_StripExtCtrlCodes(gMultiPartnerParty[i].nickname); + gMultiPartnerParty[i].language = GetMonData(&gPlayerParty[3 + i], MON_DATA_LANGUAGE); } } } @@ -591,9 +591,9 @@ static void sub_81228E8(u8 a) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != 0) CreatePartyMenuMonIcon(a, i, 3, &gPlayerParty[i]); - if (gUnknown_02023A00[i].species != 0) + if (gMultiPartnerParty[i].species != 0) { - CreateMonIcon_LinkMultiBattle(a, i + 3, 3, &gUnknown_02023A00[i]); + CreateMonIcon_LinkMultiBattle(a, i + 3, 3, &gMultiPartnerParty[i]); sub_806D50C(a, i + 3); } } @@ -611,8 +611,8 @@ static void sub_8122950(u8 a) CreateHeldItemIcon_806DCD4(a, i, item); } - if (gUnknown_02023A00[i].species != 0) - CreateHeldItemIcon_806DCD4(a, i + 3, gUnknown_02023A00[i].heldItem); + if (gMultiPartnerParty[i].species != 0) + CreateHeldItemIcon_806DCD4(a, i + 3, gMultiPartnerParty[i].heldItem); } } @@ -644,9 +644,9 @@ void HandleLinkMultiBattlePartyMenu(u8 taskId) if (!gPaletteFade.active) { gTasks[taskId].data[0] = 30; - sub_806D4AC(taskId, gUnknown_02023A00[0].species, 0); - sub_806D4AC(taskId, gUnknown_02023A00[1].species, 1); - sub_806D4AC(taskId, gUnknown_02023A00[2].species, 2); + sub_806D4AC(taskId, gMultiPartnerParty[0].species, 0); + sub_806D4AC(taskId, gMultiPartnerParty[1].species, 1); + sub_806D4AC(taskId, gMultiPartnerParty[2].species, 2); gTasks[taskId].func = sub_8122AB8; ewram1B000.unk261 = 1; } @@ -654,7 +654,7 @@ void HandleLinkMultiBattlePartyMenu(u8 taskId) static void sub_8122AB8(u8 taskId) { - sub_806D3B4(taskId, gUnknown_02023A00[1].species, gUnknown_02023A00[2].species); + sub_806D3B4(taskId, gMultiPartnerParty[1].species, gMultiPartnerParty[2].species); if (gTasks[taskId].data[0] == 0) { gTasks[taskId].func = sub_8122B10; @@ -669,25 +669,25 @@ static void sub_8122B10(u8 taskId) for (i = 0; i < 3; i++) { - if (gUnknown_02023A00[i].species != 0) + if (gMultiPartnerParty[i].species != 0) { u8 r2; - PartyMenuDoPrintHP(i + 3, 3, gUnknown_02023A00[i].hp, gUnknown_02023A00[i].maxhp); - if (gUnknown_02023A00[i].hp == 0) + PartyMenuDoPrintHP(i + 3, 3, gMultiPartnerParty[i].hp, gMultiPartnerParty[i].maxhp); + if (gMultiPartnerParty[i].hp == 0) r2 = 7; else - r2 = pokemon_ailments_get_primary(gUnknown_02023A00[i].status); + r2 = pokemon_ailments_get_primary(gMultiPartnerParty[i].status); if (r2 != 0) PartyMenuPutStatusTilemap(i + 3, 3, r2 - 1); else - PartyMenuDoPrintLevel(i + 3, 3, gUnknown_02023A00[i].level); - PartyMenuDoPrintGenderIcon(gUnknown_02023A00[i].species, gUnknown_02023A00[i].gender, 3, i + 3, gUnknown_02023A00[i].nickname); - StringCopy(gStringVar1, gUnknown_02023A00[i].nickname); + PartyMenuDoPrintLevel(i + 3, 3, gMultiPartnerParty[i].level); + PartyMenuDoPrintGenderIcon(gMultiPartnerParty[i].species, gMultiPartnerParty[i].gender, 3, i + 3, gMultiPartnerParty[i].nickname); + StringCopy(gStringVar1, gMultiPartnerParty[i].nickname); StringGetEnd10(gStringVar1); SanitizeNameString(gStringVar1); PartyMenuDoPrintMonNickname(i + 3, 3, gStringVar1); - PartyMenuDoDrawHPBar(i + 3, 3, gUnknown_02023A00[i].hp, gUnknown_02023A00[i].maxhp); + PartyMenuDoDrawHPBar(i + 3, 3, gMultiPartnerParty[i].hp, gMultiPartnerParty[i].maxhp); } } gTasks[taskId].func = sub_8122C18; diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 3cb36ce0c..83736ba4d 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -83,7 +83,7 @@ u8 debug_sub_80B068C(void) { if (!UpdatePaletteFade()) { - debug_sub_80A0710(sub_805469C); + debug_sub_80A0710(c2_exit_to_overworld_1_sub_8080DEC); CloseMenu(); ScriptContext2_Enable(); return 1; @@ -102,7 +102,7 @@ u8 debug_sub_80B06E0(void) { if (!UpdatePaletteFade()) { - debug_sub_80A073C(sub_805469C); + debug_sub_80A073C(c2_exit_to_overworld_1_sub_8080DEC); CloseMenu(); ScriptContext2_Enable(); return 1; @@ -121,7 +121,7 @@ u8 Kagaya_80B0734(void) { if (!UpdatePaletteFade()) { - debug_sub_811609C(Random() % 6, sub_805469C); + debug_sub_811609C(Random() % 6, c2_exit_to_overworld_1_sub_8080DEC); CloseMenu(); ScriptContext2_Enable(); return 1; diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index c8f80eb50..7a66ded57 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -473,7 +473,7 @@ static void sub_80AA064(void) RunTasks(); UpdatePaletteFade(); if (gMain.newKeys == 4) - SetMainCallback2(sub_805469C); + SetMainCallback2(c2_exit_to_overworld_1_sub_8080DEC); } static void sub_80AA090(void) @@ -891,7 +891,7 @@ void sub_80AAD44(struct Sprite *sprite, s8 var2) SetDebugMonForContest(); for (i = 0; i < 4; i++) gUnknown_02038670[i] = sub_80AE770(i, gSpecialVar_ContestCategory); - SetMainCallback2(sub_805469C); + SetMainCallback2(c2_exit_to_overworld_1_sub_8080DEC); } } diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 87c855514..3880c7b7b 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -25,222 +25,67 @@ #include "menu_helpers.h" #include "pokeblock.h" -typedef bool8 (*MenuFunc)(void); - -EWRAM_DATA u8 _nakamuraData0 = 0; -EWRAM_DATA u8 _nakamuraData1 = 0; -EWRAM_DATA u8 _nakamuraData2 = 0; -EWRAM_DATA u8 _nakamuraData3 = 0; -EWRAM_DATA u8 _nakamuraData4 = 0; -EWRAM_DATA u8 _nakamuraData5 = 0; -EWRAM_DATA u16 _nakamuraData6 = 0; -EWRAM_DATA u16 _nakamuraData8 = 0; -EWRAM_DATA u16 _nakamuraDataA = 0; -EWRAM_DATA u16 _nakamuraDataC = 0; - -static struct { - s16 species; - s8 level; - u8 unk3; -} _nakamuraStatic0[PARTY_SIZE]; -static struct Pokeblock _nakamuraStatic18; - -asm(".global _nakamuraStatic0"); -asm(".global _nakamuraStatic18"); - -bool8 debug_sub_815F214(void); -bool8 debug_sub_815F2B4(void); -bool8 debug_sub_815F2F4(void); -bool8 debug_sub_815F62C(void); -bool8 debug_sub_815FA38(void); -bool8 debug_sub_815FB1C(void); -bool8 debug_sub_815FBE8(void); -bool8 debug_sub_815FC54(void); -bool8 debug_sub_815FC94(void); -bool8 debug_sub_815FE1C(void); -void debug_sub_816009C(u8); -void debug_sub_81600D0(u8); -void debug_sub_816013C(u8); -void debug_sub_81603B8(u8); -bool8 debug_sub_8160498(void); -u8 debug_sub_816062C(u8); -bool8 debug_sub_8160D98(void); - -const u8 Str_843E36C[] = _("Berries"); -const u8 Str_843E374[] = _("Goods"); -const u8 Str_843E37A[] = _("{PKMN} list"); -const u8 Str_843E382[] = _("トラップ"); -const u8 Str_843E387[] = _("Move your base"); -const u8 Str_843E396[] = _("Moving {PKMN}"); -const u8 Str_843E3A0[] = _("Fishing points"); -const u8 Str_843E3AF[] = _("Set {POKEBLOCK}"); -const u8 Str_843E3B9[] = _("Make bases(to max)"); -const u8 Str_843E3CC[] = _("Base location"); - -const struct MenuAction _843E3DC[] = { - { Str_843E36C, debug_sub_815FC54 }, - { Str_843E37A, debug_sub_815F2B4 }, - { Str_843E374, debug_sub_815FC94 }, - { Str_843E387, debug_sub_815FB1C }, - { Str_843E3B9, debug_sub_815F2F4 }, - { Str_843E3CC, debug_sub_815F62C }, - { Str_843E396, debug_sub_815FBE8 }, - { Str_843E3A0, debug_sub_815FE1C }, - { Str_843E3AF, debug_sub_8160D98 }, -}; - -const u8 _843E424[] = { - 1, 118, 47, 14 , - 2, 125, 53, 10 , - 3, 113, 49, 8 , - 0xB, 118, 67, 6 , - 0xC, 121, 40, 11 , - 0xD, 111, 35, 1 , - 0x15, 115, 20, 53 , - 0x16, 121, 18, 13 , - 0x17, 119, 26, 81 , - 0x1F, 127, 59, 67 , - 0x20, 125, 55, 11 , - 0x21, 111, 27, 27 , - 0x29, 114, 9, 47 , - 0x2A, 115, 32, 39 , - 0x2B, 115, 23, 8 , - 0x33, 114, 30, 51 , - 0x34, 115, 26, 15 , - 0x35, 115, 32, 46 , - 0x3D, 114, 11, 62 , - 0x3E, 115, 21, 18 , - 0x3F, 115, 25, 24 , - 0x47, 114, 19, 70 , - 0x48, 115, 32, 6 , - 0x49, 114, 32, 57 , - 0x51, 116, 71, 4 , - 0x52, 123, 47, 3 , - 0x53, 123, 57, 5 , - 0x5B, 116, 79, 11 , - 0x5C, 123, 49, 3 , - 0x5D, 120, 18, 12 , - 0x65, 120, 28, 62 , - 0x66, 116, 56, 6 , - 0x67, 119, 16, 81 , - 0x6F, 120, 30, 62 , - 0x70, 116, 55, 15 , - 0x71, 119, 16, 28 , - 0x79, 111, 33, 34 , - 0x7A, 118, 29, 5 , - 0x7B, 127, 45, 24 , - 0x83, 111, 24, 36 , - 0x84, 125, 7, 25 , - 0x85, 115, 8, 30 , - 0x8D, 111, 34, 50 , - 0x8E, 127, 59, 72 , - 0x8F, 127, 61, 21 , - 0x97, 127, 67, 63 , - 0x98, 125, 24, 32 , - 0x99, 111, 35, 31 , - 0xA1, 111, 13, 19 , - 0xA2, 121, 43, 7 , - 0xA3, 118, 47, 5 , - 0xA4, 111, 14, 19 , - 0xAB, 118, 46, 5 , - 0xAC, 121, 42, 7 , - 0xAD, 119, 19, 76 , - 0xAE, 115, 7, 20 , - 0xB5, 110, 16, 25 , - 0xB6, 114, 11, 27 , - 0xB7, 115, 8, 20 , - 0xBF, 110, 17, 25 , - 0xC0, 114, 12, 27 , - 0xC1, 119, 18, 76 , - 0xC9, 119, 5, 2 , - 0xCA, 119, 4, 89 , - 0xCB, 120, 38, 54 , - 0xCC, 120, 5, 76 , - 0xD3, 119, 5, 15 , - 0xD4, 119, 7, 101 , - 0xD5, 120, 31, 23 , - 0xDD, 119, 34, 24 , - 0xDE, 120, 26, 10 , - 0xDF, 119, 4, 15 , - 0xE7, 119, 31, 73 , - 0xE8, 120, 29, 85 , - 0xE9, 119, 6, 2 , +static bool8 TopMenu_HandleJoypad(void); +static bool8 SwitchToPkmnListMenu(void); +static bool8 MakeBasesToMax(void); +static bool8 BaseLocation(void); +static bool8 MoveYourBase_JoypadAction(void); +static bool8 SwitchToMoveYourBaseSubmenu(void); +static bool8 MovingPKMN(void); +static bool8 Give999OfAllBerries(void); +static bool8 GiveAllDecorations(void); +static bool8 FishingPoints(void); +static void NakaGenderTest_PrintSpeciesName(u8); +static void NakaGenderTest_PrintSpeciesGender(u8); +static void NakaGenderTest_PrintSpeciesLevel(u8); +static void NakaGenderTest_JoypadAction(u8); +static bool8 NakaGenderTest_HandleJoypad(void); +static u8 NakaGenderTest_ForceRerollPokemon(u8); +static bool8 SetPokeblock(void); + +// ======================================================= +// TOP MENU +// ======================================================= + +static const u8 Str_843E36C[] = _("Berries"); +static const u8 Str_843E374[] = _("Goods"); +static const u8 Str_843E37A[] = _("{PKMN} list"); +static const u8 Str_843E382[] = _("トラップ"); +static const u8 Str_843E387[] = _("Move your base"); +static const u8 Str_843E396[] = _("Moving {PKMN}"); +static const u8 Str_843E3A0[] = _("Fishing points"); +static const u8 Str_843E3AF[] = _("Set {POKEBLOCK}"); +static const u8 Str_843E3B9[] = _("Make bases(to max)"); +static const u8 Str_843E3CC[] = _("Base location"); + +static const struct MenuAction sNakamuraTopMenuActions[] = { + { Str_843E36C, Give999OfAllBerries }, + { Str_843E37A, SwitchToPkmnListMenu }, + { Str_843E374, GiveAllDecorations }, + { Str_843E387, SwitchToMoveYourBaseSubmenu }, + { Str_843E3B9, MakeBasesToMax }, + { Str_843E3CC, BaseLocation }, + { Str_843E396, MovingPKMN }, + { Str_843E3A0, FishingPoints }, + { Str_843E3AF, SetPokeblock }, }; -const u8 Str_843E550[] = _("R"); -const u8 Str_843E552[] = _("X"); -const u8 Str_843E554[] = _("Y"); -const u8 Str_843E556[] = _( - "♂1\n" - "♂2\n" - "♂3\n" - "♂4\n" - "♂5\n" - "♀1\n" - "♀2\n" - "♀3\n" - "♀4\n" - "♀5"); -const u8 Str_843E574[] = _("ー"); -const u8 Str_843E576[][2] = { - _("あ"), - _("ア"), - _("A"), - _("a"), - _("0") -}; -const u8 Str_843E580[] = _( - "ADD\n" - "DEL\n" - "EXIT"); -const u8 Str_843E58D[] = _( - "Fishing location R119\n" - " Y1\n" - " Y2\n" - " Y3\n" - "Encounter location\n" - "\n" - "\n" - "front of you"); -const u8 _843E5D1[] = {0x0F, 0x16, 0x19}; -const u8 Str_843E5D4[] = _( - "Aボタン {ESCAPE}\p" - "  Bボタン ー\n" - "START けってい"); - -const u8 Str_843E5F0[] = _("?"); -const u8 Str_843E5F2[] = _("HP どりょくち"); -const u8 Str_843E5FB[] = _("こうげき どりょくち"); -const u8 Str_843E606[] = _("ぼうぎょ どりょくち"); -const u8 Str_843E611[] = _("すばやさ どりょくち"); -const u8 Str_843E61C[] = _("とくこう どりょくち"); -const u8 Str_843E627[] = _("とくぼう どりょくち"); -const u8 Str_843E632[] = _("なつきど"); -const u8 Str_843E637[] = _("どりょくち ごうけい"); -const u8 Str_843E642[] = _("ここから"); -const u8 Str_843E647[] = _("ここまで"); -const u8 Str_843E64C[] = _("かいすう"); -const u8 Str_843E651[] = _("けっか"); -const u8 Str_843E655[] = _("かい"); -const u8 Str_843E658[] = _("0"); -const u8 Str_843E65A[] = _("はんい"); - -void debug_sub_815F1B8(void) +static void DrawNakamuraDebugMenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(14, 0, 29, 19); - Menu_PrintItems(16, 1, ARRAY_COUNT(_843E3DC), _843E3DC); - InitMenu(0, 15, 1, ARRAY_COUNT(_843E3DC), 0, 14); + Menu_PrintItems(16, 1, ARRAY_COUNT(sNakamuraTopMenuActions), sNakamuraTopMenuActions); + InitMenu(0, 15, 1, ARRAY_COUNT(sNakamuraTopMenuActions), 0, 14); } bool8 InitNakamuraDebugMenu(void) { - debug_sub_815F1B8(); - gMenuCallback = debug_sub_815F214; + DrawNakamuraDebugMenu(); + gMenuCallback = TopMenu_HandleJoypad; return FALSE; } -bool8 debug_sub_815F214(void) +static bool8 TopMenu_HandleJoypad(void) { if (gMain.newKeys & DPAD_UP) { @@ -254,7 +99,7 @@ bool8 debug_sub_815F214(void) if (gMain.newKeys & A_BUTTON) { - MenuFunc func = _843E3DC[Menu_GetCursorPos()].func; + MenuFunc func = sNakamuraTopMenuActions[Menu_GetCursorPos()].func; Menu_DestroyCursor(); return func(); } @@ -268,27 +113,131 @@ bool8 debug_sub_815F214(void) return FALSE; } -void debug_sub_815F284(u8 taskId) +// ======================================================= +// PKMN LIST +// ======================================================= + +static void Task_SwitchToPkmnListMenu(u8 taskId) { if (!gPaletteFade.active) { - debug_sub_81381B4(); - OpenPartyMenu(5, 0); + Debug_CopyLastThreePartyMonsToMultiPartnerParty(); + OpenPartyMenu(PARTY_MENU_TYPE_LINK_MULTI_BATTLE, 0); DestroyTask(taskId); } } -bool8 debug_sub_815F2B4(void) +static bool8 SwitchToPkmnListMenu(void) { CloseMenu(); Menu_EraseScreen(); - gMain.savedCallback = sub_805469C; - CreateTask(debug_sub_815F284, 0); + gMain.savedCallback = c2_exit_to_overworld_1_sub_8080DEC; + CreateTask(Task_SwitchToPkmnListMenu, 0); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); return TRUE; } -bool8 debug_sub_815F2F4(void) +// ======================================================= +// MAKE BASES TO MAX and BASE LOCATION +// ======================================================= + +EWRAM_DATA u8 sSecretBaseIdx = 0; + +static const u8 sSecretBaseTemplates[] = { + // ID, Route, X, Y + 0x01, 118, 47, 14 , + 0x02, 125, 53, 10 , + 0x03, 113, 49, 8 , + 0x0B, 118, 67, 6 , + 0x0C, 121, 40, 11 , + 0x0D, 111, 35, 1 , + 0x15, 115, 20, 53 , + 0x16, 121, 18, 13 , + 0x17, 119, 26, 81 , + 0x1F, 127, 59, 67 , + 0x20, 125, 55, 11 , + 0x21, 111, 27, 27 , + 0x29, 114, 9, 47 , + 0x2A, 115, 32, 39 , + 0x2B, 115, 23, 8 , + 0x33, 114, 30, 51 , + 0x34, 115, 26, 15 , + 0x35, 115, 32, 46 , + 0x3D, 114, 11, 62 , + 0x3E, 115, 21, 18 , + 0x3F, 115, 25, 24 , + 0x47, 114, 19, 70 , + 0x48, 115, 32, 6 , + 0x49, 114, 32, 57 , + 0x51, 116, 71, 4 , + 0x52, 123, 47, 3 , + 0x53, 123, 57, 5 , + 0x5B, 116, 79, 11 , + 0x5C, 123, 49, 3 , + 0x5D, 120, 18, 12 , + 0x65, 120, 28, 62 , + 0x66, 116, 56, 6 , + 0x67, 119, 16, 81 , + 0x6F, 120, 30, 62 , + 0x70, 116, 55, 15 , + 0x71, 119, 16, 28 , + 0x79, 111, 33, 34 , + 0x7A, 118, 29, 5 , + 0x7B, 127, 45, 24 , + 0x83, 111, 24, 36 , + 0x84, 125, 7, 25 , + 0x85, 115, 8, 30 , + 0x8D, 111, 34, 50 , + 0x8E, 127, 59, 72 , + 0x8F, 127, 61, 21 , + 0x97, 127, 67, 63 , + 0x98, 125, 24, 32 , + 0x99, 111, 35, 31 , + 0xA1, 111, 13, 19 , + 0xA2, 121, 43, 7 , + 0xA3, 118, 47, 5 , + 0xA4, 111, 14, 19 , + 0xAB, 118, 46, 5 , + 0xAC, 121, 42, 7 , + 0xAD, 119, 19, 76 , + 0xAE, 115, 7, 20 , + 0xB5, 110, 16, 25 , + 0xB6, 114, 11, 27 , + 0xB7, 115, 8, 20 , + 0xBF, 110, 17, 25 , + 0xC0, 114, 12, 27 , + 0xC1, 119, 18, 76 , + 0xC9, 119, 5, 2 , + 0xCA, 119, 4, 89 , + 0xCB, 120, 38, 54 , + 0xCC, 120, 5, 76 , + 0xD3, 119, 5, 15 , + 0xD4, 119, 7, 101 , + 0xD5, 120, 31, 23 , + 0xDD, 119, 34, 24 , + 0xDE, 120, 26, 10 , + 0xDF, 119, 4, 15 , + 0xE7, 119, 31, 73 , + 0xE8, 120, 29, 85 , + 0xE9, 119, 6, 2 , +}; + +static const u8 Str_843E550[] = _("R"); +static const u8 Str_843E552[] = _("X"); +static const u8 Str_843E554[] = _("Y"); +static const u8 Str_843E556[] = _( + "♂1\n" + "♂2\n" + "♂3\n" + "♂4\n" + "♂5\n" + "♀1\n" + "♀2\n" + "♀3\n" + "♀4\n" + "♀5"); + +static bool8 MakeBasesToMax(void) { u8 i; CloseMenu(); @@ -313,7 +262,7 @@ bool8 debug_sub_815F2F4(void) do { - gSaveBlock1.secretBases[i].secretBaseId = _843E424[(Random() % (ARRAY_COUNT(_843E424) / 4)) * 4]; + gSaveBlock1.secretBases[i].secretBaseId = sSecretBaseTemplates[(Random() % (ARRAY_COUNT(sSecretBaseTemplates) / 4)) * 4]; for (j = 0; j < i; j++) { @@ -342,72 +291,72 @@ bool8 debug_sub_815F2F4(void) return TRUE; } -void debug_sub_815F470(u8 * a0, u8 * a1, u8 * a2) +static void BaseLocation_GetCurSecretBaseData(u8 * R, u8 * X, u8 * Y) { u8 i; - u8 sbId = gSaveBlock1.secretBases[_nakamuraData0].secretBaseId; + u8 sbId = gSaveBlock1.secretBases[sSecretBaseIdx].secretBaseId; - for (i = 0; i < ARRAY_COUNT(_843E424) / 4; i++) + for (i = 0; i < ARRAY_COUNT(sSecretBaseTemplates) / 4; i++) { - if (_843E424[i * 4] == sbId) + if (sSecretBaseTemplates[i * 4] == sbId) { - *a0 = _843E424[i * 4 + 1]; - *a1 = _843E424[i * 4 + 2]; - *a2 = _843E424[i * 4 + 3]; + *R = sSecretBaseTemplates[i * 4 + 1]; + *X = sSecretBaseTemplates[i * 4 + 2]; + *Y = sSecretBaseTemplates[i * 4 + 3]; break; } } } -void debug_sub_815F4D8(void) +static void BaseLocation_Redraw(void) { Menu_BlankWindowRect(1, 1, 10, 10); - ConvertIntToDecimalStringN(gStringVar1, _nakamuraData0, STR_CONV_MODE_LEFT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar1, sSecretBaseIdx, STR_CONV_MODE_LEFT_ALIGN, 2); Menu_PrintText(gStringVar1, 1, 1); - if (gSaveBlock1.secretBases[_nakamuraData0].secretBaseId != 0) + if (gSaveBlock1.secretBases[sSecretBaseIdx].secretBaseId != 0) { - u8 a0; - u8 a1; - u8 a2; - debug_sub_815F470(&a0, &a1, &a2); + u8 R; + u8 X; + u8 Y; + BaseLocation_GetCurSecretBaseData(&R, &X, &Y); - sub_80BC190(gStringVar1, _nakamuraData0); + sub_80BC190(gStringVar1, sSecretBaseIdx); Menu_PrintText(gStringVar1, 1, 3); Menu_PrintText(Str_843E550, 1, 5); - ConvertIntToDecimalStringN(gStringVar1, a0, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, R, STR_CONV_MODE_LEFT_ALIGN, 3); Menu_PrintText(gStringVar1, 2, 5); Menu_PrintText(Str_843E552, 1, 7); - ConvertIntToDecimalStringN(gStringVar1, a1, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, X, STR_CONV_MODE_LEFT_ALIGN, 3); Menu_PrintText(gStringVar1, 3, 7); Menu_PrintText(Str_843E554, 1, 9); - ConvertIntToDecimalStringN(gStringVar1, a2, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, Y, STR_CONV_MODE_LEFT_ALIGN, 3); Menu_PrintText(gStringVar1, 3, 9); } } -bool8 debug_sub_815F5C4(void) +static bool8 BaseLocation_HandleJoypad(void) { if (gMain.newKeys & DPAD_LEFT) { - if (_nakamuraData0 == 0) - _nakamuraData0 = 19; + if (sSecretBaseIdx == 0) + sSecretBaseIdx = 19; else - _nakamuraData0--; - debug_sub_815F4D8(); + sSecretBaseIdx--; + BaseLocation_Redraw(); return FALSE; } if (gMain.newKeys & DPAD_RIGHT) { - if (_nakamuraData0 == 19) - _nakamuraData0 = 0; + if (sSecretBaseIdx == 19) + sSecretBaseIdx = 0; else - _nakamuraData0++; - debug_sub_815F4D8(); + sSecretBaseIdx++; + BaseLocation_Redraw(); return FALSE; } @@ -420,19 +369,36 @@ bool8 debug_sub_815F5C4(void) return FALSE; } -bool8 debug_sub_815F62C(void) +static bool8 BaseLocation(void) { - _nakamuraData0 = 0; - gMenuCallback = debug_sub_815F5C4; + sSecretBaseIdx = 0; + gMenuCallback = BaseLocation_HandleJoypad; Menu_EraseWindowRect(0, 0, 29, 19); Menu_DrawStdWindowFrame(0, 0, 11, 11); - debug_sub_815F4D8(); + BaseLocation_Redraw(); return FALSE; } -void debug_sub_815F668(void) +// ======================================================= +// MOVE YOUR BASE +// ======================================================= + +EWRAM_DATA u8 sMoveYourBase_CursorPos = 0; +EWRAM_DATA u8 sMoveYourBase_XCursorPos = 0; +EWRAM_DATA u8 sSecretBaseNameCharGroup = 0; + +static const u8 Str_843E574[] = _("ー"); +static const u8 Str_843E576[][2] = { + _("あ"), + _("ア"), + _("A"), + _("a"), + _("0") +}; + +static void MoveYourBase_PrintSBOwnerID(void) { - u8 * otIdPtr = gSaveBlock1.secretBases[_nakamuraData0].trainerId; + u8 * otIdPtr = gSaveBlock1.secretBases[sSecretBaseIdx].trainerId; u32 otId = (otIdPtr[3] << 24) | (otIdPtr[2] << 16) | (otIdPtr[1] << 8) | (otIdPtr[0] << 0); ConvertIntToDecimalStringN(gStringVar1, otId / 100000, STR_CONV_MODE_LEADING_ZEROS, 5); Menu_PrintText(gStringVar1, 2, 7); @@ -440,49 +406,49 @@ void debug_sub_815F668(void) Menu_PrintText(gStringVar1, 7, 7); } -void debug_sub_815F6E4(void) +static void MoveYourBase_PrintSBOwnerName(void) { Menu_BlankWindowRect(2, 3, 11, 4); - *StringCopyN(gStringVar1, gSaveBlock1.secretBases[_nakamuraData0].playerName, 7) = EOS; + *StringCopyN(gStringVar1, gSaveBlock1.secretBases[sSecretBaseIdx].playerName, 7) = EOS; Menu_PrintText(gStringVar1, 2, 3); } -void debug_sub_815F72C(void) +static void MoveYourBase_Redraw(void) { Menu_BlankWindowRect(2, 1, 11, 10); - ConvertIntToDecimalStringN(gStringVar1, _nakamuraData0, STR_CONV_MODE_LEFT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar1, sSecretBaseIdx, STR_CONV_MODE_LEFT_ALIGN, 2); Menu_PrintText(gStringVar1, 2, 1); - if (gSaveBlock1.secretBases[_nakamuraData0].secretBaseId != 0) + if (gSaveBlock1.secretBases[sSecretBaseIdx].secretBaseId != 0) { - debug_sub_815F6E4(); - debug_sub_815F668(); + MoveYourBase_PrintSBOwnerName(); + MoveYourBase_PrintSBOwnerID(); } } -void debug_sub_815F788(void) +static void MoveYourBase_UpdateXCursorPosition(void) { Menu_BlankWindowRect(2, 5, 11, 6); - Menu_PrintText(Str_843E574, _nakamuraData2 + 2, 5); + Menu_PrintText(Str_843E574, sMoveYourBase_XCursorPos + 2, 5); } -void debug_sub_815F7B4(void) +static void MoveYourBase_PrintCharacterSetName(void) { - if (_nakamuraData1) + if (sMoveYourBase_CursorPos) Menu_BlankWindowRect(11, 1, 11, 2); else - Menu_PrintText(Str_843E576[_nakamuraData3], 11, 1); + Menu_PrintText(Str_843E576[sSecretBaseNameCharGroup], 11, 1); } -void debug_sub_815F7F0(s8 a0) +static void MoveYourBase_EditOwnerID(s8 direction) { - u8 * otIdPtr = gSaveBlock1.secretBases[_nakamuraData0].trainerId; + u8 * otIdPtr = gSaveBlock1.secretBases[sSecretBaseIdx].trainerId; u32 otId = (otIdPtr[3] << 24) | (otIdPtr[2] << 16) | (otIdPtr[1] << 8) | (otIdPtr[0] << 0); - s8 r4; - int r1 = a0; + s8 digit; + int r1 = direction; - for (r4 = 9; r4 > _nakamuraData2; r4--) + for (digit = 9; digit > sMoveYourBase_XCursorPos; digit--) r1 *= 10; otId += r1; @@ -490,105 +456,105 @@ void debug_sub_815F7F0(s8 a0) otIdPtr[2] = (otId & 0x00FF0000) >> 16; otIdPtr[1] = (otId & 0x0000FF00) >> 8; otIdPtr[0] = (otId & 0x000000FF) >> 0; - debug_sub_815F668(); + MoveYourBase_PrintSBOwnerID(); } -void debug_sub_815F86C(s8 a0) +static void MoveYourBase_EditOwnerNameChar(s8 a0) { - u8 * namePtr = gSaveBlock1.secretBases[_nakamuraData0].playerName; + u8 * namePtr = gSaveBlock1.secretBases[sSecretBaseIdx].playerName; u8 r2 = 0; u8 r3 = 0; u8 i; if (a0 == 100) { - for (i = _nakamuraData2; i < 7; i++) + for (i = sMoveYourBase_XCursorPos; i < 7; i++) { namePtr[i] = EOS; } } else { - switch (_nakamuraData3) + switch (sSecretBaseNameCharGroup) { - case 0: + case 0: // HIRA r3 = 1; r2 = 80; break; - case 1: + case 1: // KATA r3 = 81; r2 = 160; break; - case 2: + case 2: // A-Z r3 = CHAR_A; r2 = CHAR_Z; break; - case 3: + case 3: // a-z r3 = CHAR_a; r2 = CHAR_z; break; - case 4: + case 4: // 0-9 r3 = CHAR_0; r2 = CHAR_0 + 9; break; } - namePtr[_nakamuraData2] += a0; - if (namePtr[_nakamuraData2] < r3) - namePtr[_nakamuraData2] = r2; - if (namePtr[_nakamuraData2] > r2) - namePtr[_nakamuraData2] = r3; + namePtr[sMoveYourBase_XCursorPos] += a0; + if (namePtr[sMoveYourBase_XCursorPos] < r3) + namePtr[sMoveYourBase_XCursorPos] = r2; + if (namePtr[sMoveYourBase_XCursorPos] > r2) + namePtr[sMoveYourBase_XCursorPos] = r3; } - debug_sub_815F6E4(); + MoveYourBase_PrintSBOwnerName(); } -bool8 debug_sub_815F930(void) +static bool8 MoveYourBase_HandleJoypad_2(void) { - u32 r4 = _nakamuraData1 == 0 ? 7 : 10; + u32 r4 = sMoveYourBase_CursorPos == 0 ? 7 : 10; if (gMain.newAndRepeatedKeys & DPAD_UP) { - if (_nakamuraData1) - debug_sub_815F7F0(1); + if (sMoveYourBase_CursorPos) + MoveYourBase_EditOwnerID(1); else - debug_sub_815F86C(1); + MoveYourBase_EditOwnerNameChar(1); return FALSE; } if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - if (_nakamuraData1) - debug_sub_815F7F0(-1); + if (sMoveYourBase_CursorPos) + MoveYourBase_EditOwnerID(-1); else - debug_sub_815F86C(-1); + MoveYourBase_EditOwnerNameChar(-1); return FALSE; } if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - if (_nakamuraData2 == 0) - _nakamuraData2 = r4 - 1; + if (sMoveYourBase_XCursorPos == 0) + sMoveYourBase_XCursorPos = r4 - 1; else - _nakamuraData2--; - debug_sub_815F788(); + sMoveYourBase_XCursorPos--; + MoveYourBase_UpdateXCursorPosition(); return FALSE; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - if (_nakamuraData2 == r4 - 1) - _nakamuraData2 = 0; + if (sMoveYourBase_XCursorPos == r4 - 1) + sMoveYourBase_XCursorPos = 0; else - _nakamuraData2++; - debug_sub_815F788(); + sMoveYourBase_XCursorPos++; + MoveYourBase_UpdateXCursorPosition(); return FALSE; } if (gMain.newKeys & SELECT_BUTTON) { - if (_nakamuraData1 == 0) - _nakamuraData3 = (_nakamuraData3 + 1) % 5; - debug_sub_815F7B4(); + if (sMoveYourBase_CursorPos == 0) + sSecretBaseNameCharGroup = (sSecretBaseNameCharGroup + 1) % 5; + MoveYourBase_PrintCharacterSetName(); return FALSE; } @@ -596,21 +562,21 @@ bool8 debug_sub_815F930(void) { Menu_BlankWindowRect(2, 5, 11, 6); Menu_BlankWindowRect(11, 1, 11, 2); - gMenuCallback = debug_sub_815FA38; + gMenuCallback = MoveYourBase_JoypadAction; return FALSE; } if (gMain.newKeys & B_BUTTON) { - if (_nakamuraData1 == 0) - debug_sub_815F86C(100); + if (sMoveYourBase_CursorPos == 0) + MoveYourBase_EditOwnerNameChar(100); return FALSE; } return FALSE; } -bool8 debug_sub_815FA38(void) +static bool8 MoveYourBase_JoypadAction(void) { if (gMain.newKeys & DPAD_UP) { @@ -626,33 +592,33 @@ bool8 debug_sub_815FA38(void) if (gMain.newKeys & DPAD_LEFT) { - if (_nakamuraData0 == 0) - _nakamuraData0 = 19; + if (sSecretBaseIdx == 0) + sSecretBaseIdx = 19; else - _nakamuraData0--; - debug_sub_815F72C(); + sSecretBaseIdx--; + MoveYourBase_Redraw(); return FALSE; } if (gMain.newKeys & DPAD_RIGHT) { - if (_nakamuraData0 == 19) - _nakamuraData0 = 0; + if (sSecretBaseIdx == 19) + sSecretBaseIdx = 0; else - _nakamuraData0++; - debug_sub_815F72C(); + sSecretBaseIdx++; + MoveYourBase_Redraw(); return FALSE; } if (gMain.newKeys & A_BUTTON) { - if (_nakamuraData0 != 0 && gSaveBlock1.secretBases[_nakamuraData0].secretBaseId != 0) + if (sSecretBaseIdx != 0 && gSaveBlock1.secretBases[sSecretBaseIdx].secretBaseId != 0) { - _nakamuraData1 = Menu_GetCursorPos(); - _nakamuraData2 = 0; - debug_sub_815F788(); - debug_sub_815F7B4(); - gMenuCallback = debug_sub_815F930; + sMoveYourBase_CursorPos = Menu_GetCursorPos(); + sMoveYourBase_XCursorPos = 0; + MoveYourBase_UpdateXCursorPosition(); + MoveYourBase_PrintCharacterSetName(); + gMenuCallback = MoveYourBase_HandleJoypad_2; } return FALSE; } @@ -666,19 +632,28 @@ bool8 debug_sub_815FA38(void) return FALSE; } -bool8 debug_sub_815FB1C(void) +static bool8 SwitchToMoveYourBaseSubmenu(void) { - _nakamuraData0 = 0; - _nakamuraData3 = 0; - gMenuCallback = debug_sub_815FA38; + sSecretBaseIdx = 0; + sSecretBaseNameCharGroup = 0; + gMenuCallback = MoveYourBase_JoypadAction; Menu_EraseWindowRect(0, 0, 29, 19); Menu_DrawStdWindowFrame(0, 0, 12, 11); - debug_sub_815F72C(); + MoveYourBase_Redraw(); InitMenu(0, 1, 3, 3, 0, 11); return FALSE; } -bool8 debug_sub_815FB78(void) +// ======================================================= +// MOVING PKMN (aka Roamers) +// ======================================================= + +static const u8 Str_843E580[] = _( + "ADD\n" + "DEL\n" + "EXIT"); + +static bool8 MovingPKMN_HandleJoypad(void) { if (gMain.newKeys & DPAD_UP) { @@ -698,7 +673,7 @@ bool8 debug_sub_815FB78(void) switch (Menu_GetCursorPos()) { case 0: - debug_sub_814A714(); + Debug_CreateRoamer(); break; case 1: ClearRoamerData(); @@ -717,11 +692,11 @@ bool8 debug_sub_815FB78(void) return FALSE; } -bool8 debug_sub_815FBE8(void) +static bool8 MovingPKMN(void) { - gMenuCallback = debug_sub_815FB78; + gMenuCallback = MovingPKMN_HandleJoypad; Menu_EraseWindowRect(0, 0, 29, 19); - debug_sub_814A73C(gStringVar1); + Debug_GetRoamerLocation(gStringVar1); Menu_DrawStdWindowFrame(0, 0, 11, 9); Menu_PrintText(gStringVar1, 1, 1); Menu_PrintText(Str_843E580, 2, 3); @@ -729,7 +704,11 @@ bool8 debug_sub_815FBE8(void) return FALSE; } -bool8 debug_sub_815FC54(void) +// ======================================================= +// GIVE ALL BERRIES +// ======================================================= + +static bool8 Give999OfAllBerries(void) { u16 i; @@ -743,28 +722,46 @@ bool8 debug_sub_815FC54(void) return TRUE; } -bool8 debug_sub_815FC94(void) +// ======================================================= +// GIVE ALL DECORATIONS +// ======================================================= + +static bool8 GiveAllDecorations(void) { ClearDecorationInventories(); - debug_sub_814A3A8(); + Debug_GiveAllDecorations(); Menu_EraseWindowRect(0, 0, 29, 19); CloseMenu(); return TRUE; } -u16 debug_sub_815FCB4(u8 a0) +// ======================================================= +// FISHING POINTS (Feebas) +// ======================================================= + +static const u8 Str_843E58D[] = _( + "Fishing location R119\n" + " Y1\n" + " Y2\n" + " Y3\n" + "Encounter location\n" + "\n" + "\n" + "front of you"); + +static u16 FishingPoints_CountFishingTilesInMapThird(u8 a0) { u16 retval = 0; u16 height = gMapHeader.mapData->height / 3; - u16 r6; - u16 r4; + u16 y; + u16 x; u16 start = height * a0; - for (r6 = start; r6 < start + height; r6++) + for (y = start; y < start + height; y++) { - for (r4 = 0; r4 < gMapHeader.mapData->width; r4++) + for (x = 0; x < gMapHeader.mapData->width; x++) { - if (sub_805759C(MapGridGetMetatileBehaviorAt(r4 + 7, r6 + 7)) == TRUE) + if (sub_805759C(MapGridGetMetatileBehaviorAt(x + 7, y + 7)) == TRUE) { retval++; } @@ -774,7 +771,7 @@ u16 debug_sub_815FCB4(u8 a0) return retval; } -u16 debug_sub_815FD40(void) +static u16 FishingPoints_GetIndexOfCurrentFishingSpot(void) { u16 retval = 0; s16 x; @@ -801,7 +798,7 @@ u16 debug_sub_815FD40(void) return retval + 1; } -bool8 debug_sub_815FDE4(void) +static bool8 FishingPoints_HandleJoypad(void) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) { @@ -813,59 +810,76 @@ bool8 debug_sub_815FDE4(void) return FALSE; } -bool8 debug_sub_815FE1C(void) +static bool8 FishingPoints(void) { - u16 r7; - u16 r5; + u16 nWaterTiles; + u16 nFeebas; Menu_EraseWindowRect(0, 0, 29, 19); Menu_DrawStdWindowFrame(0, 0, 16, 19); Menu_PrintText(Str_843E58D, 1, 1); - ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FCB4(0), STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar1, FishingPoints_CountFishingTilesInMapThird(0), STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 5, 3); - ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FCB4(1), STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar1, FishingPoints_CountFishingTilesInMapThird(1), STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 5, 5); - ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FCB4(2), STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar1, FishingPoints_CountFishingTilesInMapThird(2), STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 5, 7); - ConvertIntToDecimalStringN(gStringVar1, debug_sub_8092344(0), STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar1, FeebasDebug_GetTrueNumberOfWaterTilesInMapThird(0), STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 11, 3); - ConvertIntToDecimalStringN(gStringVar1, debug_sub_8092344(1), STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar1, FeebasDebug_GetTrueNumberOfWaterTilesInMapThird(1), STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 11, 5); - ConvertIntToDecimalStringN(gStringVar1, debug_sub_8092344(2), STR_CONV_MODE_RIGHT_ALIGN, 5); + ConvertIntToDecimalStringN(gStringVar1, FeebasDebug_GetTrueNumberOfWaterTilesInMapThird(2), STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 11, 7); FeebasSeedRng(gSaveBlock1.easyChatPairs[0].unk2); - r7 = debug_sub_815FCB4(0) + debug_sub_815FCB4(1) + debug_sub_815FCB4(2); - r5 = 0; + nWaterTiles = FishingPoints_CountFishingTilesInMapThird(0) + FishingPoints_CountFishingTilesInMapThird(1) + FishingPoints_CountFishingTilesInMapThird(2); + nFeebas = 0; - while (r5 != 6) + while (nFeebas != 6) { - u16 r1 = FeebasRandom() % r7; - if (r1 == 0) - r1 = r7; - if (r1 == 0 || r1 > 3) + u16 randTile = FeebasRandom() % nWaterTiles; + if (randTile == 0) + randTile = nWaterTiles; + if (randTile == 0 || randTile > 3) { - ConvertIntToDecimalStringN(gStringVar1, r1, STR_CONV_MODE_RIGHT_ALIGN, 4); - Menu_PrintText(gStringVar1, (r5 % 3) * 5 + 2, (r5 / 3) * 2 + 11); - r5++; + ConvertIntToDecimalStringN(gStringVar1, randTile, STR_CONV_MODE_RIGHT_ALIGN, 4); + Menu_PrintText(gStringVar1, (nFeebas % 3) * 5 + 2, (nFeebas / 3) * 2 + 11); + nFeebas++; } } - ConvertIntToDecimalStringN(gStringVar1, debug_sub_815FD40(), STR_CONV_MODE_RIGHT_ALIGN, 4); + ConvertIntToDecimalStringN(gStringVar1, FishingPoints_GetIndexOfCurrentFishingSpot(), STR_CONV_MODE_RIGHT_ALIGN, 4); Menu_PrintText(gStringVar1, 2, 17); - gMenuCallback = debug_sub_815FDE4; + gMenuCallback = FishingPoints_HandleJoypad; return FALSE; } -void debug_sub_815FFDC(void) +// ======================================================= +// GENDER TEST? +// ======================================================= + +static struct { + s16 species; + s8 level; + u8 unk3; +} sNakaGenderTestData[PARTY_SIZE]; + +EWRAM_DATA u8 sNakaGenderTest_CursorPosition = 0; +static const u8 _843E5D1[] = {0x0F, 0x16, 0x19}; +static const u8 Str_843E5D4[] = _( + "Aボタン {ESCAPE}\p" + "  Bボタン ー\n" + "START けってい"); + +void NakaGenderTest(void) { u8 i; @@ -875,37 +889,34 @@ void debug_sub_815FFDC(void) for (i = 0; i < PARTY_SIZE; i++) { - _nakamuraStatic0[i].species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES); - if (_nakamuraStatic0[i].species != SPECIES_NONE) + sNakaGenderTestData[i].species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES); + if (sNakaGenderTestData[i].species != SPECIES_NONE) { - _nakamuraStatic0[i].level = GetMonData(gPlayerParty + i, MON_DATA_LEVEL); - debug_sub_816009C(i); - debug_sub_81600D0(i); - debug_sub_816013C(i); + sNakaGenderTestData[i].level = GetMonData(gPlayerParty + i, MON_DATA_LEVEL); + NakaGenderTest_PrintSpeciesName(i); + NakaGenderTest_PrintSpeciesGender(i); + NakaGenderTest_PrintSpeciesLevel(i); } else - _nakamuraStatic0[i].level = 1; - _nakamuraStatic0[i].unk3 = 0; + sNakaGenderTestData[i].level = 1; + sNakaGenderTestData[i].unk3 = 0; } - _nakamuraData4 = 0; + sNakaGenderTest_CursorPosition = 0; PrintTriangleCursorWithPalette(15, 1, 0xFF); - gMenuCallback = debug_sub_8160498; + gMenuCallback = NakaGenderTest_HandleJoypad; } -void debug_sub_816009C(u8 i) +static void NakaGenderTest_PrintSpeciesName(u8 i) { - Menu_PrintText(gSpeciesNames[_nakamuraStatic0[i].species], 16, 2 * i + 1); + Menu_PrintText(gSpeciesNames[sNakaGenderTestData[i].species], 16, 2 * i + 1); } -void debug_sub_81600D0(u8 i) +static void NakaGenderTest_PrintSpeciesGender(u8 i) { - // u8 sp0[] = _("?"); - - u8 sp0[2]; + u8 sp0[] = _("?"); u8 gender; - memcpy(sp0, Str_843E5F0, sizeof Str_843E5F0); gender = GetMonGender(gPlayerParty + i); if (gender == MON_MALE) Menu_PrintText(gOtherText_MaleSymbol2, 23, 2 * i + 1); @@ -915,58 +926,58 @@ void debug_sub_81600D0(u8 i) Menu_PrintText(sp0, 23, 2 * i + 1); } -void debug_sub_816013C(u8 i) +static void NakaGenderTest_PrintSpeciesLevel(u8 i) { - ConvertIntToDecimalStringN(gStringVar1, _nakamuraStatic0[i].level, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar1, sNakaGenderTestData[i].level, STR_CONV_MODE_RIGHT_ALIGN, 3); Menu_PrintText(gStringVar1, 26, 2 * i + 1); } -void debug_sub_816017C(u8 i) +static void NakaGenderTest_RedrawCurrent(u8 i) { Menu_BlankWindowRect(16, 2 * i + 1, 28, 2 * i + 2); - if (_nakamuraStatic0[i].species != SPECIES_NONE) + if (sNakaGenderTestData[i].species != SPECIES_NONE) { - debug_sub_816009C(i); - debug_sub_81600D0(i); - debug_sub_816013C(i); + NakaGenderTest_PrintSpeciesName(i); + NakaGenderTest_PrintSpeciesGender(i); + NakaGenderTest_PrintSpeciesLevel(i); } - debug_sub_81603B8(5); + NakaGenderTest_JoypadAction(5); } -void debug_sub_81601C8(u8 i, s8 dirn) +static void NakaGenderTest_AdjustSpecies(u8 i, s8 dirn) { - if (_nakamuraStatic0[i].species == SPECIES_NONE && _nakamuraStatic0[i].unk3 == 0 && dirn == 1) - _nakamuraStatic0[i].species = SPECIES_TREECKO - 1; - _nakamuraStatic0[i].species += dirn; - if (_nakamuraStatic0[i].species >= SPECIES_CHIMECHO) - _nakamuraStatic0[i].species -= SPECIES_CHIMECHO; - if (_nakamuraStatic0[i].species < 0) - _nakamuraStatic0[i].species += SPECIES_CHIMECHO; - CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, FALSE, 0, FALSE, 0); - _nakamuraStatic0[i].unk3 = 1; + if (sNakaGenderTestData[i].species == SPECIES_NONE && sNakaGenderTestData[i].unk3 == 0 && dirn == 1) + sNakaGenderTestData[i].species = SPECIES_TREECKO - 1; + sNakaGenderTestData[i].species += dirn; + if (sNakaGenderTestData[i].species >= SPECIES_CHIMECHO) + sNakaGenderTestData[i].species -= SPECIES_CHIMECHO; + if (sNakaGenderTestData[i].species < 0) + sNakaGenderTestData[i].species += SPECIES_CHIMECHO; + CreateMon(gPlayerParty + i, sNakaGenderTestData[i].species, sNakaGenderTestData[i].level, 0x20, FALSE, 0, FALSE, 0); + sNakaGenderTestData[i].unk3 = 1; } -void debug_sub_8160258(u8 i) +static void NakaGenderTest_RerollPokemon(u8 i) { - if (_nakamuraStatic0[i].species != SPECIES_NONE) - debug_sub_816062C(i); + if (sNakaGenderTestData[i].species != SPECIES_NONE) + NakaGenderTest_ForceRerollPokemon(i); } -void debug_sub_816027C(u8 i, s8 dirn) +static void NakaGenderTest_AdjustLevel(u8 i, s8 dirn) { - if (_nakamuraStatic0[i].species != SPECIES_NONE) + if (sNakaGenderTestData[i].species != SPECIES_NONE) { - _nakamuraStatic0[i].level += dirn; - if (_nakamuraStatic0[i].level > 100) - _nakamuraStatic0[i].level = 1; - if (_nakamuraStatic0[i].level < 1) - _nakamuraStatic0[i].level = 100; - SetMonData(gPlayerParty + i, MON_DATA_EXP, gExperienceTables[gBaseStats[_nakamuraStatic0[i].species].growthRate] + _nakamuraStatic0[i].level); - debug_sub_803F55C(gPlayerParty + i); + sNakaGenderTestData[i].level += dirn; + if (sNakaGenderTestData[i].level > 100) + sNakaGenderTestData[i].level = 1; + if (sNakaGenderTestData[i].level < 1) + sNakaGenderTestData[i].level = 100; + SetMonData(gPlayerParty + i, MON_DATA_EXP, gExperienceTables[gBaseStats[sNakaGenderTestData[i].species].growthRate] + sNakaGenderTestData[i].level); + Nakamura_NakaGenderTest_RecalcStats(gPlayerParty + i); } } -void debug_sub_8160308(void) +static void NakaGenderTest_PartyCompactionEnsureAtLeastOne(void) { u8 i; u8 j; @@ -992,129 +1003,129 @@ void debug_sub_8160308(void) } } -void debug_sub_81603B8(u8 i) +static void NakaGenderTest_JoypadAction(u8 i) { u8 q; u8 r; PlaySE(SE_SELECT); - q = _nakamuraData4 / 6; - r = _nakamuraData4 % 6; + q = sNakaGenderTest_CursorPosition / 6; + r = sNakaGenderTest_CursorPosition % 6; Menu_BlankWindowRect(_843E5D1[q], r * 2 + 1, _843E5D1[q], r * 2 + 2); if (i == 0) { if (r != 0) - _nakamuraData4--; + sNakaGenderTest_CursorPosition--; else - _nakamuraData4 = q * 6 + 5; + sNakaGenderTest_CursorPosition = q * 6 + 5; } if (i == 1) { if (r != 5) - _nakamuraData4++; + sNakaGenderTest_CursorPosition++; else - _nakamuraData4 = q * 6; + sNakaGenderTest_CursorPosition = q * 6; } if (i == 2) { if (q != 0) - _nakamuraData4 -= 6; + sNakaGenderTest_CursorPosition -= 6; else - _nakamuraData4 = 12 + r; + sNakaGenderTest_CursorPosition = 12 + r; } if (i == 3) { if (q != 2) - _nakamuraData4 += 6; + sNakaGenderTest_CursorPosition += 6; else - _nakamuraData4 = r; + sNakaGenderTest_CursorPosition = r; } - q = _nakamuraData4 / 6; - r = _nakamuraData4 % 6; + q = sNakaGenderTest_CursorPosition / 6; + r = sNakaGenderTest_CursorPosition % 6; PrintTriangleCursorWithPalette(_843E5D1[q], r * 2 + 1, 0xFF); } -bool8 debug_sub_8160498(void) +static bool8 NakaGenderTest_HandleJoypad(void) { if (gMain.newKeys & DPAD_UP) { - debug_sub_81603B8(0); + NakaGenderTest_JoypadAction(0); return FALSE; } if (gMain.newKeys & DPAD_DOWN) { - debug_sub_81603B8(1); + NakaGenderTest_JoypadAction(1); return FALSE; } if (gMain.newKeys & DPAD_LEFT) { - debug_sub_81603B8(2); + NakaGenderTest_JoypadAction(2); return FALSE; } if (gMain.newKeys & DPAD_RIGHT) { - debug_sub_81603B8(3); + NakaGenderTest_JoypadAction(3); return FALSE; } if (gMain.newAndRepeatedKeys & A_BUTTON) { - if (_nakamuraData4 < 6) - debug_sub_81601C8(_nakamuraData4, +1); - if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) - debug_sub_8160258(_nakamuraData4 % 6); - if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) - debug_sub_816027C(_nakamuraData4 % 6, +1); - debug_sub_816017C(_nakamuraData4 % 6); + if (sNakaGenderTest_CursorPosition < 6) + NakaGenderTest_AdjustSpecies(sNakaGenderTest_CursorPosition, +1); + if (sNakaGenderTest_CursorPosition >= 6 && sNakaGenderTest_CursorPosition < 12) + NakaGenderTest_RerollPokemon(sNakaGenderTest_CursorPosition % 6); + if (sNakaGenderTest_CursorPosition >= 12 && sNakaGenderTest_CursorPosition < 18) + NakaGenderTest_AdjustLevel(sNakaGenderTest_CursorPosition % 6, +1); + NakaGenderTest_RedrawCurrent(sNakaGenderTest_CursorPosition % 6); return FALSE; } if (gMain.newAndRepeatedKeys & B_BUTTON) { - if (_nakamuraData4 < 6) - debug_sub_81601C8(_nakamuraData4, -1); - if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) - debug_sub_8160258(_nakamuraData4 % 6); - if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) - debug_sub_816027C(_nakamuraData4 % 6, -1); - debug_sub_816017C(_nakamuraData4 % 6); + if (sNakaGenderTest_CursorPosition < 6) + NakaGenderTest_AdjustSpecies(sNakaGenderTest_CursorPosition, -1); + if (sNakaGenderTest_CursorPosition >= 6 && sNakaGenderTest_CursorPosition < 12) + NakaGenderTest_RerollPokemon(sNakaGenderTest_CursorPosition % 6); + if (sNakaGenderTest_CursorPosition >= 12 && sNakaGenderTest_CursorPosition < 18) + NakaGenderTest_AdjustLevel(sNakaGenderTest_CursorPosition % 6, -1); + NakaGenderTest_RedrawCurrent(sNakaGenderTest_CursorPosition % 6); return FALSE; } if (gMain.newAndRepeatedKeys & R_BUTTON) { - if (_nakamuraData4 < 6) - debug_sub_81601C8(_nakamuraData4, +10); - if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) - debug_sub_8160258(_nakamuraData4 % 6); - if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) - debug_sub_816027C(_nakamuraData4 % 6, +1); - debug_sub_816017C(_nakamuraData4 % 6); + if (sNakaGenderTest_CursorPosition < 6) + NakaGenderTest_AdjustSpecies(sNakaGenderTest_CursorPosition, +10); + if (sNakaGenderTest_CursorPosition >= 6 && sNakaGenderTest_CursorPosition < 12) + NakaGenderTest_RerollPokemon(sNakaGenderTest_CursorPosition % 6); + if (sNakaGenderTest_CursorPosition >= 12 && sNakaGenderTest_CursorPosition < 18) + NakaGenderTest_AdjustLevel(sNakaGenderTest_CursorPosition % 6, +1); + NakaGenderTest_RedrawCurrent(sNakaGenderTest_CursorPosition % 6); return FALSE; } if (gMain.newAndRepeatedKeys & L_BUTTON) { - if (_nakamuraData4 < 6) - debug_sub_81601C8(_nakamuraData4, -10); - if (_nakamuraData4 >= 6 && _nakamuraData4 < 12) - debug_sub_8160258(_nakamuraData4 % 6); - if (_nakamuraData4 >= 12 && _nakamuraData4 < 18) - debug_sub_816027C(_nakamuraData4 % 6, -1); - debug_sub_816017C(_nakamuraData4 % 6); + if (sNakaGenderTest_CursorPosition < 6) + NakaGenderTest_AdjustSpecies(sNakaGenderTest_CursorPosition, -10); + if (sNakaGenderTest_CursorPosition >= 6 && sNakaGenderTest_CursorPosition < 12) + NakaGenderTest_RerollPokemon(sNakaGenderTest_CursorPosition % 6); + if (sNakaGenderTest_CursorPosition >= 12 && sNakaGenderTest_CursorPosition < 18) + NakaGenderTest_AdjustLevel(sNakaGenderTest_CursorPosition % 6, -1); + NakaGenderTest_RedrawCurrent(sNakaGenderTest_CursorPosition % 6); return FALSE; } if (gMain.newKeys & START_BUTTON) { - debug_sub_8160308(); + NakaGenderTest_PartyCompactionEnsureAtLeastOne(); CloseMenu(); return TRUE; } @@ -1122,7 +1133,7 @@ bool8 debug_sub_8160498(void) return FALSE; } -u8 debug_sub_816062C(u8 i) +static u8 NakaGenderTest_ForceRerollPokemon(u8 i) { u16 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES); u8 gender = GetMonGender(gPlayerParty + i); @@ -1151,12 +1162,18 @@ u8 debug_sub_816062C(u8 i) } while (GetGenderFromSpeciesAndPersonality(species, personality) != ratio); GetMonData(gPlayerParty + i, MON_DATA_IVS); - CreateMon(gPlayerParty + i, _nakamuraStatic0[i].species, _nakamuraStatic0[i].level, 0x20, TRUE, personality, FALSE, 0); + CreateMon(gPlayerParty + i, sNakaGenderTestData[i].species, sNakaGenderTestData[i].level, 0x20, TRUE, personality, FALSE, 0); return ratio; } +// ======================================================= +// SET POKEBLOCK +// ======================================================= + +static struct Pokeblock sPokeblock; + #ifdef NONMATCHING -u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock) +static u8 SetPokeblock_CalcColor(u8 * dest, struct Pokeblock * pokeblock) { u8 numGoodFlavors = 0; u8 numBadFlavors = 0; @@ -1319,7 +1336,7 @@ u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock) } #else __attribute__((naked)) -u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock) +static u8 SetPokeblock_CalcColor(u8 * dest, struct Pokeblock * pokeblock) { asm("\tpush\t{r4, r5, r6, r7, lr}\n" "\tmov\tr7, r9\n" @@ -1670,7 +1687,7 @@ u8 debug_sub_8160714(u8 * dest, struct Pokeblock * pokeblock) } #endif // NONMATCHING -void debug_sub_816097C(u8 * buff, s16 a1) +static void NakaDebug_PrintNum3Chars(u8 * buff, s16 a1) { u8 i; s16 divisor; @@ -1720,45 +1737,45 @@ void debug_sub_816097C(u8 * buff, s16 a1) } } -void debug_sub_8160A80(u8 a0) +static void SetPokeblock_PrintFlavorValue(u8 a0) { - struct Pokeblock *pkblk = &_nakamuraStatic18; - + struct Pokeblock *pkblk = &sPokeblock; + if (a0 == 0) { - debug_sub_816097C(gStringVar1, pkblk->spicy); + NakaDebug_PrintNum3Chars(gStringVar1, pkblk->spicy); Menu_PrintText(gStringVar1, 8, 3); } else if (a0 == 1) { - debug_sub_816097C(gStringVar1, pkblk->dry); + NakaDebug_PrintNum3Chars(gStringVar1, pkblk->dry); Menu_PrintText(gStringVar1, 8, 5); } else if (a0 == 2) { - debug_sub_816097C(gStringVar1, pkblk->sweet); + NakaDebug_PrintNum3Chars(gStringVar1, pkblk->sweet); Menu_PrintText(gStringVar1, 8, 7); } else if (a0 == 3) { - debug_sub_816097C(gStringVar1, pkblk->bitter); + NakaDebug_PrintNum3Chars(gStringVar1, pkblk->bitter); Menu_PrintText(gStringVar1, 8, 9); } else if (a0 == 4) { - debug_sub_816097C(gStringVar1, pkblk->sour); + NakaDebug_PrintNum3Chars(gStringVar1, pkblk->sour); Menu_PrintText(gStringVar1, 8, 11); } else if (a0 == 5) { - debug_sub_816097C(gStringVar1, pkblk->feel); + NakaDebug_PrintNum3Chars(gStringVar1, pkblk->feel); Menu_PrintText(gStringVar1, 8, 13); } } -void debug_sub_8160B50(u8 a0, s8 a1) +static void SetPokeblock_AdjustFlavor(u8 a0, s8 a1) { - struct Pokeblock *pkblk = &_nakamuraStatic18; + struct Pokeblock *pkblk = &sPokeblock; if (a0 == 0) pkblk->spicy += a1; @@ -1774,19 +1791,19 @@ void debug_sub_8160B50(u8 a0, s8 a1) pkblk->feel += a1; } -void debug_sub_8160BB0(void) +static void SetPokeblock_RecomputeAndPrintColor(void) { - _nakamuraStatic18.color = debug_sub_8160714(gStringVar1, &_nakamuraStatic18); + sPokeblock.color = SetPokeblock_CalcColor(gStringVar1, &sPokeblock); Menu_BlankWindowRect(1, 1, 8, 2); Menu_PrintText(gStringVar1, 1, 1); } -void debug_sub_8160BE4(void) +static void SetPokeblock_Init(void) { u8 i; Menu_DrawStdWindowFrame(0, 0, 12, 15); - debug_sub_8160BB0(); + SetPokeblock_RecomputeAndPrintColor(); Menu_PrintText(gContestStatsText_Spicy, 2, 3); Menu_PrintText(gContestStatsText_Dry, 2, 5); Menu_PrintText(gContestStatsText_Sweet, 2, 7); @@ -1795,14 +1812,14 @@ void debug_sub_8160BE4(void) Menu_PrintText(gContestStatsText_Tasty, 2, 13); for (i = 0; i < 6; i++) - debug_sub_8160A80(i); + SetPokeblock_PrintFlavorValue(i); InitMenu(0, 1, 3, 6, 0, 11); } -void debug_sub_8160C7C(void) +static void SetPokeblock_GivePokeblock(void) { - struct Pokeblock * pkblk = &_nakamuraStatic18; + struct Pokeblock * pkblk = &sPokeblock; u8 rval = 0; u8 i; @@ -1831,14 +1848,14 @@ void debug_sub_8160C7C(void) } } - sub_810CA34(pkblk); - debug_sub_8160BB0(); + GivePokeblock(pkblk); + SetPokeblock_RecomputeAndPrintColor(); for (i = 0; i < 6; i++) - debug_sub_8160A80(i); + SetPokeblock_PrintFlavorValue(i); } -bool8 debug_sub_8160CF4(void) +static bool8 SetPokeblock_HandleJoypad(void) { if (gMain.newAndRepeatedKeys & DPAD_UP) { @@ -1854,23 +1871,23 @@ bool8 debug_sub_8160CF4(void) if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - debug_sub_8160B50(Menu_GetCursorPos(), -1); - debug_sub_8160A80(Menu_GetCursorPos()); - debug_sub_8160BB0(); + SetPokeblock_AdjustFlavor(Menu_GetCursorPos(), -1); + SetPokeblock_PrintFlavorValue(Menu_GetCursorPos()); + SetPokeblock_RecomputeAndPrintColor(); return FALSE; } if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - debug_sub_8160B50(Menu_GetCursorPos(), +1); - debug_sub_8160A80(Menu_GetCursorPos()); - debug_sub_8160BB0(); + SetPokeblock_AdjustFlavor(Menu_GetCursorPos(), +1); + SetPokeblock_PrintFlavorValue(Menu_GetCursorPos()); + SetPokeblock_RecomputeAndPrintColor(); return FALSE; } if (gMain.newKeys & A_BUTTON) { - debug_sub_8160C7C(); + SetPokeblock_GivePokeblock(); PlaySE(SE_SELECT); return FALSE; } @@ -1885,15 +1902,30 @@ bool8 debug_sub_8160CF4(void) return FALSE; } -bool8 debug_sub_8160D98(void) +static bool8 SetPokeblock(void) { Menu_EraseWindowRect(0, 0, 29, 19); - debug_sub_8160BE4(); - gMenuCallback = debug_sub_8160CF4; + SetPokeblock_Init(); + gMenuCallback = SetPokeblock_HandleJoypad; return FALSE; } -void debug_sub_8160DC0(void) +// ======================================================= +// EFFORT VALUES +// ======================================================= + +EWRAM_DATA u8 sEVTest_CursorPosition = 0; + +static const u8 Str_843E5F2[] = _("HP どりょくち"); +static const u8 Str_843E5FB[] = _("こうげき どりょくち"); +static const u8 Str_843E606[] = _("ぼうぎょ どりょくち"); +static const u8 Str_843E611[] = _("すばやさ どりょくち"); +static const u8 Str_843E61C[] = _("とくこう どりょくち"); +static const u8 Str_843E627[] = _("とくぼう どりょくち"); +static const u8 Str_843E632[] = _("なつきど"); +static const u8 Str_843E637[] = _("どりょくち ごうけい"); + +static void EVTest_Init(void) { Menu_DrawStdWindowFrame(0, 0, 22, 19); Menu_PrintText(gOtherText_Slash, 11, 1); @@ -1907,7 +1939,7 @@ void debug_sub_8160DC0(void) Menu_PrintText(Str_843E632, 2, 17); } -void debug_sub_8160E50(struct Pokemon *pokemon) +static void EVTest_PrintMonData(struct Pokemon *pokemon) { u16 evTotal; u16 curEv; @@ -1964,49 +1996,49 @@ void debug_sub_8160E50(struct Pokemon *pokemon) Menu_PrintText(gStringVar1, 13, 17); } -void debug_sub_8161028(s8 a0) +static void EVTest_MovePartyCursor(s8 a0) { s16 i; if (a0 == -1) { - if (_nakamuraData5 == 0) + if (sEVTest_CursorPosition == 0) { for (i = 5; i >= 0; i--) { if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES) != SPECIES_NONE) { - _nakamuraData5 = i; + sEVTest_CursorPosition = i; return; } } } - _nakamuraData5 += a0; + sEVTest_CursorPosition += a0; return; } if (a0 == 1) { - _nakamuraData5 += a0; - if (_nakamuraData5 == 6) - _nakamuraData5 = 0; - else if (GetMonData(gPlayerParty + _nakamuraData5, MON_DATA_SPECIES) == SPECIES_NONE) - _nakamuraData5 = 0; + sEVTest_CursorPosition += a0; + if (sEVTest_CursorPosition == 6) + sEVTest_CursorPosition = 0; + else if (GetMonData(gPlayerParty + sEVTest_CursorPosition, MON_DATA_SPECIES) == SPECIES_NONE) + sEVTest_CursorPosition = 0; } } -bool8 debug_sub_81610BC(void) +static bool8 EVTest_HandleJoypad(void) { if (gMain.newKeys & DPAD_LEFT) { - debug_sub_8161028(-1); - debug_sub_8160E50(gPlayerParty + _nakamuraData5); + EVTest_MovePartyCursor(-1); + EVTest_PrintMonData(gPlayerParty + sEVTest_CursorPosition); return FALSE; } if (gMain.newKeys & DPAD_RIGHT) { - debug_sub_8161028(+1); - debug_sub_8160E50(gPlayerParty + _nakamuraData5); + EVTest_MovePartyCursor(+1); + EVTest_PrintMonData(gPlayerParty + sEVTest_CursorPosition); return FALSE; } @@ -2023,42 +2055,59 @@ bool8 debug_sub_81610BC(void) bool8 DebugMenu_EffortValues(void) { Menu_EraseWindowRect(0, 0, 29, 19); - _nakamuraData5 = 0; - debug_sub_8160DC0(); - debug_sub_8160E50(gPlayerParty + 0); - gMenuCallback = debug_sub_81610BC; + sEVTest_CursorPosition = 0; + EVTest_Init(); + EVTest_PrintMonData(gPlayerParty + 0); + gMenuCallback = EVTest_HandleJoypad; return FALSE; } -u16 debug_sub_8161160(void) +// ======================================================= +// RNG Test +// ======================================================= + +EWRAM_DATA u16 sRngLeft = 0; +EWRAM_DATA u16 sRngRight = 0; +EWRAM_DATA u16 sNumSamples = 0; +EWRAM_DATA u16 sRngMax = 0; + +static const u8 Str_843E642[] = _("ここから"); +static const u8 Str_843E647[] = _("ここまで"); +static const u8 Str_843E64C[] = _("かいすう"); +static const u8 Str_843E651[] = _("けっか"); +static const u8 Str_843E655[] = _("かい"); +static const u8 Str_843E658[] = _("0"); +static const u8 Str_843E65A[] = _("はんい"); + +static u16 EVTest_GetDiscreteUniformRandomSamples(void) { - u16 r7 = 0; - u16 r6; - u16 r5; + u16 sampCount = 0; + u16 left; + u16 right; u32 i; - if (_nakamuraData6 <= _nakamuraData8) + if (sRngLeft <= sRngRight) { - r6 = _nakamuraData6; - r5 = _nakamuraData8; + left = sRngLeft; + right = sRngRight; } else { - r6 = _nakamuraData8; - r5 = _nakamuraData6; + left = sRngRight; + right = sRngLeft; } - for (i = 0; i < _nakamuraDataA; i++) + for (i = 0; i < sNumSamples; i++) { - u16 r0 = Random() % _nakamuraDataC; - if (r0 >= r6 && r0 <= r5) - r7++; + u16 r0 = Random() % sRngMax; + if (r0 >= left && r0 <= right) + sampCount++; } - return r7; + return sampCount; } -void debug_sub_81611D8(void) +static void RNGTest_Init(void) { Menu_DrawStdWindowFrame(0, 0, 15, 11); Menu_PrintText(Str_843E642, 2, 1); @@ -2075,20 +2124,20 @@ void debug_sub_81611D8(void) InitMenu(0, 1, 1, 4, 0, 14); } -void debug_sub_8161290(u16 a0) +static void RNGTest_PrintNum(u16 a0) { ConvertIntToDecimalStringN(gStringVar1, a0, STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 8, 9); } -void debug_sub_81612B8(u16 * a0, s8 a1, u8 a2) +static void RNGTest_AdjustAndPrintNumAtLine(u16 * a0, s8 a1, u8 a2) { *a0 += a1; ConvertIntToDecimalStringN(gStringVar1, *a0, STR_CONV_MODE_RIGHT_ALIGN, 5); Menu_PrintText(gStringVar1, 8, a2); } -bool8 debug_sub_81612EC(void) +static bool8 RNGTest_HandleJoypad(void) { s8 r5 = gMain.heldKeys & R_BUTTON ? 100 : 1; s8 r4; @@ -2109,13 +2158,13 @@ bool8 debug_sub_81612EC(void) { r4 = Menu_GetCursorPos(); if (r4 == 0) - debug_sub_81612B8(&_nakamuraData6, -r5, 1); + RNGTest_AdjustAndPrintNumAtLine(&sRngLeft, -r5, 1); if (r4 == 1) - debug_sub_81612B8(&_nakamuraData8, -r5, 3); + RNGTest_AdjustAndPrintNumAtLine(&sRngRight, -r5, 3); if (r4 == 2) - debug_sub_81612B8(&_nakamuraDataC, -r5, 5); + RNGTest_AdjustAndPrintNumAtLine(&sRngMax, -r5, 5); if (r4 == 3) - debug_sub_81612B8(&_nakamuraDataA, -r5, 7); + RNGTest_AdjustAndPrintNumAtLine(&sNumSamples, -r5, 7); return FALSE; } @@ -2123,22 +2172,22 @@ bool8 debug_sub_81612EC(void) { r4 = Menu_GetCursorPos(); if (r4 == 0) - debug_sub_81612B8(&_nakamuraData6, r5, 1); + RNGTest_AdjustAndPrintNumAtLine(&sRngLeft, r5, 1); if (r4 == 1) - debug_sub_81612B8(&_nakamuraData8, r5, 3); + RNGTest_AdjustAndPrintNumAtLine(&sRngRight, r5, 3); if (r4 == 2) - debug_sub_81612B8(&_nakamuraDataC, r5, 5); + RNGTest_AdjustAndPrintNumAtLine(&sRngMax, r5, 5); if (r4 == 3) - debug_sub_81612B8(&_nakamuraDataA, r5, 7); + RNGTest_AdjustAndPrintNumAtLine(&sNumSamples, r5, 7); return FALSE; } if (gMain.newKeys & A_BUTTON) { - if (_nakamuraDataC != 0) + if (sRngMax != 0) { PlaySE(SE_SELECT); - debug_sub_8161290(debug_sub_8161160()); + RNGTest_PrintNum(EVTest_GetDiscreteUniformRandomSamples()); } return FALSE; } @@ -2155,13 +2204,13 @@ bool8 debug_sub_81612EC(void) bool8 DebugMenu_RandomNumberTest(void) { - _nakamuraData6 = 0; - _nakamuraData8 = 0; - _nakamuraDataC = 0; - _nakamuraDataA = 0; + sRngLeft = 0; + sRngRight = 0; + sRngMax = 0; + sNumSamples = 0; Menu_EraseWindowRect(0, 0, 29, 19); - debug_sub_81611D8(); - gMenuCallback = debug_sub_81612EC; + RNGTest_Init(); + gMenuCallback = RNGTest_HandleJoypad; return FALSE; } diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 9b12c1cc1..340ef2f17 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -1830,7 +1830,7 @@ u8 DebugMenu_EditPKMN() asm( " push {lr}\n" " bl Menu_EraseScreen\n" - " bl debug_sub_815FFDC\n" + " bl NakaGenderTest\n" " mov r0, #0x0\n" " pop {r1}\n" " bx r1\n" diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c index 8f7f5eb92..d4ef2d589 100644 --- a/src/decoration_inventory.c +++ b/src/decoration_inventory.c @@ -64,7 +64,7 @@ bool8 sub_8133FE4(u8 decorIdx) return FALSE; } -bool8 IsThereStorageSpaceForDecoration(u8 decorIdx) +bool8 GiveDecoration(u8 decorIdx) { u8 invIdx; s8 invSlot; @@ -167,11 +167,11 @@ u8 sub_81341D4(void) #if DEBUG -void debug_sub_814A3A8(void) +void Debug_GiveAllDecorations(void) { u8 decor; for (decor = 0; decor < DECOR_COUNT; decor++) - IsThereStorageSpaceForDecoration(decor); + GiveDecoration(decor); } #endif diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 35ea3952a..a7087be0f 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -326,7 +326,7 @@ void sub_8080DC4(u8 taskId) } } -void atk17_seteffectsecondary(void) +void sub_8080DEC(void) { pal_fill_black(); CreateStartMenuTask(sub_8080DC4); diff --git a/src/item_menu.c b/src/item_menu.c index 32b14e021..981f42282 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -2616,8 +2616,8 @@ static void sub_80A5888(u8 taskId) static void OnBagClose_Field0(u8 taskId) { - gTasks[taskId].data[8] = (u32)sub_805469C >> 16; - gTasks[taskId].data[9] = (u32)sub_805469C; + gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_1_sub_8080DEC >> 16; + gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_1_sub_8080DEC; gLastFieldPokeMenuOpened = 0; sub_80A5AE4(taskId); } diff --git a/src/overworld.c b/src/overworld.c index 6376aa1af..e98e5a6a1 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1415,10 +1415,10 @@ void sub_805465C(void) c2_exit_to_overworld_2_switch(); } -void sub_805469C(void) +void c2_exit_to_overworld_1_sub_8080DEC(void) { FieldClearVBlankHBlankCallbacks(); - gFieldCallback = atk17_seteffectsecondary; + gFieldCallback = sub_8080DEC; c2_exit_to_overworld_2_switch(); } diff --git a/src/pokeblock.c b/src/pokeblock.c index 6804f55d6..228d563cf 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -1070,7 +1070,7 @@ s8 GetFirstFreePokeblockSlot(void) return -1; } -bool8 sub_810CA34(const struct Pokeblock *pokeblock) +bool8 GivePokeblock(const struct Pokeblock *pokeblock) { s8 idx = GetFirstFreePokeblockSlot(); if (idx == -1) diff --git a/src/pokedex.c b/src/pokedex.c index 711dc69fa..d35e4b5d1 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1694,7 +1694,7 @@ static void Task_ClosePokedex(u8 taskId) gSaveBlock2.pokedex.unknown1 = 0; gSaveBlock2.pokedex.order = gPokedexView->dexOrder; DestroyTask(taskId); - SetMainCallback2(sub_805469C); + SetMainCallback2(c2_exit_to_overworld_1_sub_8080DEC); m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); } } diff --git a/src/pokemon_1.c b/src/pokemon_1.c index a23bb3324..0622ec614 100644 --- a/src/pokemon_1.c +++ b/src/pokemon_1.c @@ -525,7 +525,7 @@ void CalculateMonStats(struct Pokemon *mon) } #if DEBUG -void debug_sub_803F55C(struct Pokemon *mon) +void Nakamura_NakaGenderTest_RecalcStats(struct Pokemon *mon) { s32 currentHP = GetMonData(mon, MON_DATA_HP, NULL); s32 hpIV = GetMonData(mon, MON_DATA_HP_IV, NULL); diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c index 532340ce4..60757b7d4 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon_menu.c @@ -309,7 +309,7 @@ static void sub_8089E4C(u8 taskID) if (!gPaletteFade.active) { gLastFieldPokeMenuOpened = 0; - SetMainCallback2(sub_805469C); + SetMainCallback2(c2_exit_to_overworld_1_sub_8080DEC); DestroyTask(taskID); } } diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 4f7eb66b4..55cf05790 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -3239,7 +3239,7 @@ void sub_80EE96C() if (!gPaletteFade.active) { sub_80F5BDC(); - sub_805469C(); + c2_exit_to_overworld_1_sub_8080DEC(); } } } diff --git a/src/region_map.c b/src/region_map.c index e40fb7752..b4ed2c558 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1912,7 +1912,7 @@ void debug_sub_8110D84(void) break; case 3: if (!UpdatePaletteFade()) - SetMainCallback2(sub_805469C); + SetMainCallback2(c2_exit_to_overworld_1_sub_8080DEC); break; case 4: if (sub_80FAB60() != 0) diff --git a/src/roamer.c b/src/roamer.c index 6ed5b6c89..459082e42 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -228,7 +228,7 @@ void GetRoamerLocation(u8 *mapGroup, u8 *mapNum) } #if DEBUG -void debug_sub_814A714(void) +void Debug_CreateRoamer(void) { if (gSaveBlock1.location.mapGroup == 0) { @@ -238,7 +238,7 @@ void debug_sub_814A714(void) } } -void debug_sub_814A73C(u8* str) +void Debug_GetRoamerLocation(u8* str) { GetMapSectionName(str, sRoamerLocation[1], 0); } diff --git a/src/scrcmd.c b/src/scrcmd.c index e5272bc9c..29c1f982e 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -548,7 +548,7 @@ bool8 ScrCmd_givedecoration(struct ScriptContext *ctx) { u32 decoration = VarGet(ScriptReadHalfword(ctx)); - gSpecialVar_Result = IsThereStorageSpaceForDecoration(decoration); + gSpecialVar_Result = GiveDecoration(decoration); return FALSE; } diff --git a/src/shop.c b/src/shop.c index 87dbbeb97..42cda5e2e 100644 --- a/src/shop.c +++ b/src/shop.c @@ -691,7 +691,7 @@ static void Task_DoItemPurchase(u8 taskId) } else // a normal mart is only type 0, so types 1 and 2 are decoration marts. { - if (IsThereStorageSpaceForDecoration(gMartInfo.itemList[gMartInfo.choicesAbove + gMartInfo.cursor])) + if (GiveDecoration(gMartInfo.itemList[gMartInfo.choicesAbove + gMartInfo.cursor])) { if (gMartInfo.martType == MART_TYPE_1) DisplayItemMessageOnField(taskId, gOtherText_HereYouGo2, Shop_DoItemTransaction, 0xC3E1); diff --git a/src/start_menu.c b/src/start_menu.c index f2d53eb7f..f63408689 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -503,7 +503,7 @@ static u8 StartMenu_PlayerCallback(void) if (!gPaletteFade.active) { PlayRainSoundEffect(); - TrainerCard_ShowPlayerCard(sub_805469C); + TrainerCard_ShowPlayerCard(c2_exit_to_overworld_1_sub_8080DEC); return 1; } return 0; @@ -524,7 +524,7 @@ static u8 StartMenu_OptionCallback(void) { PlayRainSoundEffect(); SetMainCallback2(CB2_InitOptionMenu); - gMain.savedCallback = sub_805469C; + gMain.savedCallback = c2_exit_to_overworld_1_sub_8080DEC; return 1; } return 0; @@ -551,7 +551,7 @@ static u8 StartMenu_PlayerLinkCallback(void) if (!gPaletteFade.active) { PlayRainSoundEffect(); - TrainerCard_ShowLinkCard(gUnknown_03004860, sub_805469C); + TrainerCard_ShowLinkCard(gUnknown_03004860, c2_exit_to_overworld_1_sub_8080DEC); return 1; } return 0; diff --git a/src/trader.c b/src/trader.c index 885557d5a..e8fe743f8 100644 --- a/src/trader.c +++ b/src/trader.c @@ -249,7 +249,7 @@ void ScrSpecial_TraderDoDecorationTrade(void) struct MauvilleManTrader *trader = &gSaveBlock1.mauvilleMan.trader; sub_81340A8(gSpecialVar_0x8006); - IsThereStorageSpaceForDecoration(gSpecialVar_0x8004); + GiveDecoration(gSpecialVar_0x8004); StringCopy(trader->unk5[gSpecialVar_0x8005], gSaveBlock2.playerName); trader->unk1[gSpecialVar_0x8005] = gSpecialVar_0x8006; sub_810993C(); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 19778e29b..ddad43a56 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3803,7 +3803,7 @@ void FeebasSeedRng(u16 seed) } #if DEBUG -u16 debug_sub_8092344(u8 arg0) +u16 FeebasDebug_GetTrueNumberOfWaterTilesInMapThird(u8 arg0) { if (arg0 == 0) return 131; -- cgit v1.2.3 From 989a6449a360702d067b6ce63a065effc767dff8 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 5 Apr 2018 20:07:59 -0700 Subject: Give descriptive names to Contest effect functions --- src/contest_effect.c | 182 +++++++++++++++++++++++------------------------ src/data/contest_moves.h | 96 ++++++++++++------------- 2 files changed, 139 insertions(+), 139 deletions(-) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index f3b44d4aa..604bccd07 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -3,50 +3,50 @@ #include "random.h" #include "contest.h" -static void ContestEffect_00(void); -static void ContestEffect_01(void); -static void ContestEffect_02(void); -static void ContestEffect_03(void); -static void ContestEffect_04(void); -static void ContestEffect_05(void); -static void ContestEffect_06(void); -static void ContestEffect_07(void); -static void ContestEffect_08(void); -static void ContestEffect_09(void); -static void ContestEffect_14(void); -static void ContestEffect_15(void); -static void ContestEffect_16(void); -static void ContestEffect_17(void); -static void ContestEffect_18(void); -static void ContestEffect_19(void); -static void ContestEffect_20(void); -static void ContestEffect_21(void); -static void ContestEffect_22(void); -static void ContestEffect_23(void); -static void ContestEffect_24(void); -static void ContestEffect_25(void); -static void ContestEffect_26(void); -static void ContestEffect_27(void); -static void ContestEffect_28(void); -static void ContestEffect_29(void); -static void ContestEffect_30(void); -static void ContestEffect_31(void); -static void ContestEffect_32(void); -static void ContestEffect_33(void); -static void ContestEffect_34(void); -static void ContestEffect_35(void); -static void ContestEffect_36(void); -static void ContestEffect_37(void); -static void ContestEffect_38(void); -static void ContestEffect_39(void); -static void ContestEffect_40(void); -static void ContestEffect_41(void); -static void ContestEffect_42(void); -static void ContestEffect_43(void); -static void ContestEffect_44(void); -static void ContestEffect_45(void); -static void ContestEffect_46(void); -static void ContestEffect_47(void); +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); @@ -73,63 +73,63 @@ bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) { return 0; } -static void ContestEffect_00(void) // A highly appealing move. +static void ContestEffect_HighlyAppealing(void) { } -static void ContestEffect_01(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); } -static void ContestEffect_02(void) // 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); } -static void ContestEffect_03(void) // 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; } -static void ContestEffect_04(void) // Can avoid being startled by others once. +static void ContestEffect_AvoidStartleOnce(void) { sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN); } -static void ContestEffect_05(void) // Can avoid being startled by others. +static void ContestEffect_AvoidStartle(void) { sContestantStatus[shared192D0.contestant].immune = TRUE; SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); } -static void ContestEffect_06(void) // 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); } -static void ContestEffect_07(void) // 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); } -static void ContestEffect_08(void) // Slightly startles the POKéMON in front. +static void ContestEffect_StartleFrontMon(void) { u8 idx = 0; u8 a = shared192D0.contestant; @@ -151,8 +151,8 @@ static void ContestEffect_08(void) SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_09(void) // Slightly startles those that have made appeals. +static void ContestEffect_StartlePrevMons(void) { u8 idx = 0; u8 a = shared192D0.contestant; @@ -172,8 +172,8 @@ static void ContestEffect_09(void) SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_14(void) // Startles the POKéMON that appealed before the user. +static void ContestEffect_StartlePrevMon2(void) { u8 rval = Random() % 10; int jam; @@ -185,11 +185,11 @@ static void ContestEffect_14(void) else jam = 60; shared192D0.jam = jam; - ContestEffect_08(); + ContestEffect_StartleFrontMon(); } -static void ContestEffect_15(void) // Startles all POKéMON that appealed before the user. +static void ContestEffect_StartlePrevMons2(void) { u8 numStartled = 0; u8 contestant = shared192D0.contestant; @@ -232,8 +232,8 @@ static void ContestEffect_15(void) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } -static void ContestEffect_16(void) // Shifts the JUDGE’s attention from others. +static void ContestEffect_ShiftJudgeAttention(void) { bool32 hitAny = FALSE; u8 contestant = shared192D0.contestant; @@ -262,8 +262,8 @@ static void ContestEffect_16(void) } } -static void ContestEffect_17(void) // Startles the POKéMON that has the JUDGE’s attention. +static void ContestEffect_StartleMonWithJudgesAttention(void) { u8 numStartled = 0; u8 contestant = shared192D0.contestant; @@ -292,59 +292,59 @@ static void ContestEffect_17(void) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } -static void ContestEffect_18(void) // Jams the others, and misses one turn of appeals. +static void ContestEffect_JamsOthersButMissOneTurn(void) { sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; - ContestEffect_09(); + ContestEffect_StartlePrevMons(); SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_19(void) // 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); } -static void ContestEffect_20(void) // Badly startles POKéMON that made COOL appeals. +static void ContestEffect_StartleMonsCoolAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_COOL); SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_21(void) // Badly startles POKéMON that made BEAUTY appeals. +static void ContestEffect_StartleMonsBeautyAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_22(void) // Badly startles POKéMON that made CUTE appeals. +static void ContestEffect_StartleMonsCuteAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_CUTE); SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_23(void) // Badly startles POKéMON that made SMART appeals. +static void ContestEffect_StartleMonsSmartAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_SMART); SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_24(void) // Badly startles POKéMON that made TOUGH appeals. +static void ContestEffect_StartleMonsToughAppeal(void) { JamByMoveCategory(CONTEST_CATEGORY_TOUGH); SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_25(void) // Makes one POKéMON after the user nervous. +static void ContestEffect_MakeFollowingMonNervous(void) { bool32 hitAny = FALSE; @@ -375,8 +375,8 @@ static void ContestEffect_25(void) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } -static void ContestEffect_26(void) // Makes all POKéMON after the user nervous. +static void ContestEffect_MakeFollowingMonsNervous(void) { u8 numUnnerved = 0; bool32 contestantUnnerved = FALSE; @@ -451,8 +451,8 @@ static void ContestEffect_26(void) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } -static void ContestEffect_27(void) // Worsens the condition of those that made appeals. +static void ContestEffect_WorsenConditionOfPrevMons(void) { u8 numHit = 0; int i; @@ -475,8 +475,8 @@ static void ContestEffect_27(void) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); } -static void ContestEffect_28(void) // Badly startles POKéMON in good condition. +static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) { u8 numHit = 0; int i; @@ -500,8 +500,8 @@ static void ContestEffect_28(void) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); } -static void ContestEffect_29(void) // The appeal works great if performed first. +static void ContestEffect_BetterIfFirst(void) { if (gUnknown_02038696[shared192D0.contestant] == 0) { @@ -511,8 +511,8 @@ static void ContestEffect_29(void) } } -static void ContestEffect_30(void) // The appeal works great if performed last. +static void ContestEffect_BetterIfLast(void) { if (gUnknown_02038696[shared192D0.contestant] == 3) { @@ -522,8 +522,8 @@ static void ContestEffect_30(void) } } -static void ContestEffect_31(void) // Makes the appeal as good as those before it. +static void ContestEffect_AppealAsGoodAsPrevOnes(void) { int i; int appealSum; @@ -545,8 +545,8 @@ static void ContestEffect_31(void) sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); } -static void ContestEffect_32(void) // Makes the appeal as good as the one before it. +static void ContestEffect_AppealAsGoodAsPrevOne(void) { s16 appeal = 0; @@ -568,8 +568,8 @@ static void ContestEffect_32(void) } } -static void ContestEffect_33(void) // The appeal works better the later it is performed. +static void ContestEffect_BetterWhenLater(void) { u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant]; if (whichTurn == 0) @@ -586,8 +586,8 @@ static void ContestEffect_33(void) SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); } -static void ContestEffect_34(void) // The appeal’s quality varies depending on its timing. +static void ContestEffect_QualityDependsOnTiming(void) { u8 rval = Random() % 10; s16 appeal; @@ -619,8 +619,8 @@ static void ContestEffect_34(void) #ifdef NONMATCHING // Not even close, send help -static void ContestEffect_35(void) // Works well if it’s the same type as the one before. +static void ContestEffect_BetterIfSameType(void) { s8 r4; s8 r2; @@ -646,7 +646,7 @@ static void ContestEffect_35(void) } } #else -__attribute__((naked)) void ContestEffect_35(void) +__attribute__((naked)) void ContestEffect_BetterIfSameType(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tldr r1, _080B8940 @ =gSharedMem + 0x192D0\n" @@ -762,8 +762,8 @@ __attribute__((naked)) void ContestEffect_35(void) } #endif -static void ContestEffect_36(void) // Works well if different in type than the one before. +static void ContestEffect_BetterIfDiffType(void) { if (shared192D0.turnOrder[shared192D0.contestant] != 0) { @@ -783,8 +783,8 @@ static void ContestEffect_36(void) } } -static void ContestEffect_37(void) // Affected by how well the appeal in front goes. +static void ContestEffect_AffectedByPrevAppeal(void) { if (shared192D0.turnOrder[shared192D0.contestant] != 0) { @@ -809,8 +809,8 @@ static void ContestEffect_37(void) } } -static void ContestEffect_38(void) // Ups the user’s condition. Helps prevent nervousness. +static void ContestEffect_ImproveConditionPreventNervousness(void) { if (sContestantStatus[shared192D0.contestant].condition < 30) { @@ -822,8 +822,8 @@ static void ContestEffect_38(void) SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); } -static void ContestEffect_39(void) // 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) @@ -832,8 +832,8 @@ static void ContestEffect_39(void) SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); } -static void ContestEffect_40(void) // The next appeal can be made earlier next turn. +static void ContestEffect_NextAppealEarlier(void) { s8 i; s8 j; @@ -874,8 +874,8 @@ static void ContestEffect_40(void) } } -static void ContestEffect_41(void) // The next appeal can be made later next turn. +static void ContestEffect_NextAppealLater(void) { s8 i; s8 j; @@ -916,14 +916,14 @@ static void ContestEffect_41(void) } } -static void ContestEffect_42(void) // Makes the next turn’s order more easily scrambled. +static void ContestEffect_MakeScramblingTurnOrderEasier(void) { // dummied out? } -static void ContestEffect_43(void) // Scrambles the order of appeals on the next turn. +static void ContestEffect_ScrambleNextTurnOrder(void) { s8 i; s8 j; @@ -968,8 +968,8 @@ static void ContestEffect_43(void) } } -static void ContestEffect_44(void) // An appeal that excites the audience in any CONTEST. +static void ContestEffect_ExciteAudienceInAnyContest(void) { if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) { @@ -977,8 +977,8 @@ static void ContestEffect_44(void) } } -static void ContestEffect_45(void) // Badly startles all POKéMON that made good appeals. +static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) { int i; u8 numJammed = 0; @@ -1005,8 +1005,8 @@ static void ContestEffect_45(void) SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); } -static void ContestEffect_46(void) // The appeal works best the more the crowd is excited. +static void ContestEffect_BetterWhenAudienceExcited(void) { s16 appeal; @@ -1038,8 +1038,8 @@ static void ContestEffect_46(void) sContestantStatus[shared192D0.contestant].appeal2 = appeal; } -static void ContestEffect_47(void) // Temporarily stops the crowd from growing excited. +static void ContestEffect_DontExciteAudience(void) { if (!shared19328.excitementFrozen) { diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h index 585ff91f1..9d269e789 100644 --- a/src/data/contest_moves.h +++ b/src/data/contest_moves.h @@ -479,54 +479,54 @@ const bool8 gComboStarterLookupTable[] = { }; void (*const gContestEffectFuncs[])(void) = { - ContestEffect_00, - ContestEffect_01, - ContestEffect_02, - ContestEffect_03, - ContestEffect_04, - ContestEffect_05, - ContestEffect_06, - ContestEffect_07, - ContestEffect_08, - ContestEffect_09, - ContestEffect_08, - ContestEffect_09, - ContestEffect_08, - ContestEffect_09, - ContestEffect_14, - ContestEffect_15, - ContestEffect_16, - ContestEffect_17, - ContestEffect_18, - ContestEffect_19, - ContestEffect_20, - ContestEffect_21, - ContestEffect_22, - ContestEffect_23, - ContestEffect_24, - ContestEffect_25, - ContestEffect_26, - ContestEffect_27, - ContestEffect_28, - ContestEffect_29, - ContestEffect_30, - ContestEffect_31, - ContestEffect_32, - ContestEffect_33, - ContestEffect_34, - ContestEffect_35, - ContestEffect_36, - ContestEffect_37, - ContestEffect_38, - ContestEffect_39, - ContestEffect_40, - ContestEffect_41, - ContestEffect_42, - ContestEffect_43, - ContestEffect_44, - ContestEffect_45, - ContestEffect_46, - ContestEffect_47 + 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 //POKERUBY_CONTEST_MOVES_H -- cgit v1.2.3 From bdc22ceb2ca2ccfc68f3be1b45df31a5a147ced3 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 5 Apr 2018 20:18:42 -0700 Subject: Match CanUnnerveContestant() --- src/contest_effect.c | 64 ++++------------------------------------------------ 1 file changed, 5 insertions(+), 59 deletions(-) (limited to 'src') diff --git a/src/contest_effect.c b/src/contest_effect.c index 604bccd07..2932d8e6e 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -1073,81 +1073,27 @@ static void JamByMoveCategory(u8 category) SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); } -#ifdef NONMATCHING static bool8 CanUnnerveContestant(u8 i) { - // For whatever reason, i is copied to r4. I cannot optimize this out. 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; } -#else -static __attribute__((naked)) bool8 CanUnnerveContestant(u8 i) -{ - asm_unified("\tpush {lr}\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tldr r2, _080B90EC @ =gSharedMem + 0x192D0\n" - "\tadds r0, r2, 0\n" - "\tadds r0, 0xD\n" - "\tadds r0, r3, r0\n" - "\tmovs r1, 0x1\n" - "\tstrb r1, [r0]\n" - "\tlsls r0, r3, 3\n" - "\tsubs r0, r3\n" - "\tlsls r0, 2\n" - "\tsubs r2, 0x70\n" - "\tadds r2, r0, r2\n" - "\tldrb r1, [r2, 0x10]\n" - "\tmovs r0, 0x2\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbeq _080B90F0\n" - "\tadds r0, r3, 0\n" - "\tmovs r1, 0x2D\n" - "\tb _080B9116\n" - "\t.align 2, 0\n" - "_080B90EC: .4byte gSharedMem + 0x192D0\n" - "_080B90F0:\n" - "\tldrb r0, [r2, 0x12]\n" - "\tcmp r0, 0\n" - "\tbne _080B910E\n" - "\tldrb r1, [r2, 0xB]\n" - "\tmovs r0, 0x80\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbne _080B911A\n" - "\tldrb r1, [r2, 0xC]\n" - "\tmovs r0, 0x6\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbne _080B911A\n" - "\tmovs r0, 0x1\n" - "\tb _080B911C\n" - "_080B910E:\n" - "\tsubs r0, 0x1\n" - "\tstrb r0, [r2, 0x12]\n" - "\tadds r0, r3, 0\n" - "\tmovs r1, 0x2C\n" - "_080B9116:\n" - "\tbl SetContestantEffectStringID\n" - "_080B911A:\n" - "\tmovs r0, 0\n" - "_080B911C:\n" - "\tpop {r1}\n" - "\tbx r1"); -} -#endif static bool8 WasAtLeastOneOpponentJammed(void) { -- cgit v1.2.3 From 90380f68bd0725eb77f38f5c00828efba89e5219 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 5 Apr 2018 20:39:07 -0700 Subject: Rename cute_sketch to contest_painting_effects, and battle_1 to decompress --- src/contest_painting.c | 2 +- src/contest_painting_effects.c | 164 +++++++++++++++++++++++++++++++++++++++++ src/cute_sketch.c | 164 ----------------------------------------- 3 files changed, 165 insertions(+), 165 deletions(-) create mode 100644 src/contest_painting_effects.c delete mode 100644 src/cute_sketch.c (limited to 'src') diff --git a/src/contest_painting.c b/src/contest_painting.c index 7d8f53299..e90391469 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -1,6 +1,6 @@ #include "global.h" #include "contest_painting.h" -#include "cute_sketch.h" +#include "contest_painting_effects.h" #include "data2.h" #include "decompress.h" #include "main.h" diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c new file mode 100644 index 000000000..b07319048 --- /dev/null +++ b/src/contest_painting_effects.c @@ -0,0 +1,164 @@ +#include "global.h" +#include "contest_painting_effects.h" +#include "contest_painting.h" + +extern u16 (*gUnknown_03005DEC)[][32]; +extern u8 gUnknown_03005E00; +extern u8 gUnknown_03005DFC; +extern u8 gUnknown_03005DF8; +extern u8 gUnknown_03005DF0; +extern u8 gUnknown_03005E04; +extern u8 gUnknown_03005DF4; + +extern u8 gUnknown_03005DE8; + +// this file's functions +void sub_80FCAA4(void); +void sub_80FCB5C(void); +void sub_80FCD54(void); +void sub_80FCEA4(void); +void sub_80FCCBC(void); +void sub_80FD06C(void); +void sub_80FD114(void); +void sub_80FCF3C(void); +void sub_80FCAC4(void); +void sub_80FCC18(u8); +void sub_80FC92C(u8); +void sub_80FC9E4(u8); +void sub_80FD1C8(u16); +u16 sub_80FD39C(u16*); +u16 sub_80FD68C(u16*, u16*, u16*); + +void sub_80FC7A0(struct Unk03005E20* info) +{ + gUnknown_03005DEC = info->var_4; + gUnknown_03005E00 = info->var_1F; + gUnknown_03005DE8 = info->var_19; + gUnknown_03005DFC = info->var_1A; + gUnknown_03005DF8 = info->var_1B; + gUnknown_03005DF0 = info->var_1C; + gUnknown_03005E04 = info->var_1D; + gUnknown_03005DF4 = info->var_1E; + switch (info->var_0) + { + case 2: + sub_80FCAA4(); + break; + case 8: + sub_80FCB5C(); + break; + case 9: + sub_80FCD54(); + sub_80FCC18(gUnknown_03005E00); + break; + case 10: + sub_80FCD54(); + sub_80FCEA4(); + sub_80FCCBC(); + case 31: + sub_80FCEA4(); + break; + case 11: + sub_80FCD54(); + sub_80FD06C(); + sub_80FD06C(); + sub_80FD114(); + sub_80FCCBC(); + break; + case 13: + sub_80FCF3C(); + break; + case 30: + sub_80FCD54(); + break; + case 32: + sub_80FD06C(); + break; + case 33: + sub_80FD114(); + break; + case 6: + sub_80FCAC4(); + sub_80FC92C(3); + break; + case 36: + sub_80FCD54(); + sub_80FD06C(); + sub_80FD114(); + sub_80FCCBC(); + sub_80FCB5C(); + sub_80FCB5C(); + sub_80FC92C(2); + sub_80FC9E4(4); + break; + } +} + +#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r)) + +void sub_80FC92C(u8 a0) // it changes palette someway somehow... .__. +{ + u8 i, j; + for (i = 0; i < gUnknown_03005DF0; i++) + { + u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04]; + u16* pal = &var2[gUnknown_03005DE8]; + for (j = 0; j < gUnknown_03005DF8; j++, pal++) + { + if (!(0x8000 & *pal)) + { + u8 val = (31 & *pal); + val += a0; + if (val > 31) + val = 31; + + *pal = RGB2(val, val, val); + } + } + } +} + +void sub_80FC9E4(u8 a0) +{ + u8 i, j; + for (i = 0; i < gUnknown_03005DF0; i++) + { + u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04]; + u16* pal = &var2[gUnknown_03005DE8]; + for (j = 0; j < gUnknown_03005DF8; j++, pal++) + { + if (!(0x8000 & *pal)) + { + u8 val = (31 & *pal); + if (val > 31 - a0) + val = 31 - (a0 >> 1); + + *pal = RGB2(val, val, val); + } + } + } +} + +void sub_80FCAA4(void) +{ + u32 i; + for (i = 0; i < 3200; i++) + sub_80FD1C8(i); +} + +void sub_80FCAC4(void) +{ + u8 i, j; + for (i = 0; i < gUnknown_03005DF0; i++) + { + u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04]; + u16* pal = &var2[gUnknown_03005DE8]; + for (j = 0; j < gUnknown_03005DF8; j++, pal++) + { + if (!(0x8000 & *pal)) + { + *pal = sub_80FD39C(pal); + } + } + } +} diff --git a/src/cute_sketch.c b/src/cute_sketch.c deleted file mode 100644 index 5317bc334..000000000 --- a/src/cute_sketch.c +++ /dev/null @@ -1,164 +0,0 @@ -#include "global.h" -#include "cute_sketch.h" -#include "contest_painting.h" - -extern u16 (*gUnknown_03005DEC)[][32]; -extern u8 gUnknown_03005E00; -extern u8 gUnknown_03005DFC; -extern u8 gUnknown_03005DF8; -extern u8 gUnknown_03005DF0; -extern u8 gUnknown_03005E04; -extern u8 gUnknown_03005DF4; - -extern u8 gUnknown_03005DE8; - -// this file's functions -void sub_80FCAA4(void); -void sub_80FCB5C(void); -void sub_80FCD54(void); -void sub_80FCEA4(void); -void sub_80FCCBC(void); -void sub_80FD06C(void); -void sub_80FD114(void); -void sub_80FCF3C(void); -void sub_80FCAC4(void); -void sub_80FCC18(u8); -void sub_80FC92C(u8); -void sub_80FC9E4(u8); -void sub_80FD1C8(u16); -u16 sub_80FD39C(u16*); -u16 sub_80FD68C(u16*, u16*, u16*); - -void sub_80FC7A0(struct Unk03005E20* info) -{ - gUnknown_03005DEC = info->var_4; - gUnknown_03005E00 = info->var_1F; - gUnknown_03005DE8 = info->var_19; - gUnknown_03005DFC = info->var_1A; - gUnknown_03005DF8 = info->var_1B; - gUnknown_03005DF0 = info->var_1C; - gUnknown_03005E04 = info->var_1D; - gUnknown_03005DF4 = info->var_1E; - switch (info->var_0) - { - case 2: - sub_80FCAA4(); - break; - case 8: - sub_80FCB5C(); - break; - case 9: - sub_80FCD54(); - sub_80FCC18(gUnknown_03005E00); - break; - case 10: - sub_80FCD54(); - sub_80FCEA4(); - sub_80FCCBC(); - case 31: - sub_80FCEA4(); - break; - case 11: - sub_80FCD54(); - sub_80FD06C(); - sub_80FD06C(); - sub_80FD114(); - sub_80FCCBC(); - break; - case 13: - sub_80FCF3C(); - break; - case 30: - sub_80FCD54(); - break; - case 32: - sub_80FD06C(); - break; - case 33: - sub_80FD114(); - break; - case 6: - sub_80FCAC4(); - sub_80FC92C(3); - break; - case 36: - sub_80FCD54(); - sub_80FD06C(); - sub_80FD114(); - sub_80FCCBC(); - sub_80FCB5C(); - sub_80FCB5C(); - sub_80FC92C(2); - sub_80FC9E4(4); - break; - } -} - -#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r)) - -void sub_80FC92C(u8 a0) // it changes palette someway somehow... .__. -{ - u8 i, j; - for (i = 0; i < gUnknown_03005DF0; i++) - { - u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04]; - u16* pal = &var2[gUnknown_03005DE8]; - for (j = 0; j < gUnknown_03005DF8; j++, pal++) - { - if (!(0x8000 & *pal)) - { - u8 val = (31 & *pal); - val += a0; - if (val > 31) - val = 31; - - *pal = RGB2(val, val, val); - } - } - } -} - -void sub_80FC9E4(u8 a0) -{ - u8 i, j; - for (i = 0; i < gUnknown_03005DF0; i++) - { - u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04]; - u16* pal = &var2[gUnknown_03005DE8]; - for (j = 0; j < gUnknown_03005DF8; j++, pal++) - { - if (!(0x8000 & *pal)) - { - u8 val = (31 & *pal); - if (val > 31 - a0) - val = 31 - (a0 >> 1); - - *pal = RGB2(val, val, val); - } - } - } -} - -void sub_80FCAA4(void) -{ - u32 i; - for (i = 0; i < 3200; i++) - sub_80FD1C8(i); -} - -void sub_80FCAC4(void) -{ - u8 i, j; - for (i = 0; i < gUnknown_03005DF0; i++) - { - u16* var2 = &(*gUnknown_03005DEC)[0][(gUnknown_03005DFC + i) * gUnknown_03005E04]; - u16* pal = &var2[gUnknown_03005DE8]; - for (j = 0; j < gUnknown_03005DF8; j++, pal++) - { - if (!(0x8000 & *pal)) - { - *pal = sub_80FD39C(pal); - } - } - } -} -- cgit v1.2.3 From 82f0bccff5bf151f8b26c4d098d272bba387011e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 6 Apr 2018 08:42:55 -0400 Subject: Mystery Event Script Macros; start disassembling the raw data in debug_menu_3.s --- src/debug/unk_debug_menu_3.c | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/debug/unk_debug_menu_3.c (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c new file mode 100644 index 000000000..5f2ede62a --- /dev/null +++ b/src/debug/unk_debug_menu_3.c @@ -0,0 +1,8 @@ +#if DEBUG + +#include "global.h" +#include "debug.h" + + + +#endif // DEBUG -- cgit v1.2.3 From 888109935e9c35d6794c340759e4fd8c8c96760d Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 6 Apr 2018 10:55:04 -0700 Subject: Start decompiling battle_9 --- src/battle/battle_2.c | 582 +++++++-------- src/battle/battle_4.c | 890 +++++++++++----------- src/battle/battle_7.c | 30 +- src/battle/battle_9.c | 27 + src/battle/battle_ai.c | 12 +- src/battle/battle_controller_linkopponent.c | 688 ++++++++--------- src/battle/battle_controller_linkpartner.c | 644 ++++++++-------- src/battle/battle_controller_opponent.c | 728 +++++++++--------- src/battle/battle_controller_player.c | 1060 +++++++++++++-------------- src/battle/battle_controller_safari.c | 134 ++-- src/battle/battle_controller_wally.c | 426 +++++------ src/battle/battle_message.c | 14 +- src/battle/battle_util.c | 354 ++++----- src/battle/pokeball.c | 6 +- src/pokemon_2.c | 4 +- src/pokemon_3.c | 4 +- src/pokemon_item_effect.c | 74 +- src/rom3.c | 8 +- 18 files changed, 2856 insertions(+), 2829 deletions(-) create mode 100755 src/battle/battle_9.c (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 73f9223e5..a6e01f6c8 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -84,7 +84,7 @@ extern u8 gStatStageRatios[][2]; extern u8 gActionsByTurnOrder[4]; extern struct UnknownPokemonStruct2 gUnknown_02023A00[]; extern u8 gBattleBufferB[][0x200]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[]; @@ -3558,12 +3558,12 @@ void sub_8010800(void) #if DEBUG void debug_sub_80138CC(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) { switch (gSharedMem[0x160FD]) { case 0: - if (gBattleBankFunc[gActiveBank] == sub_802C098) + if (gBattleBankFunc[gActiveBattler] == sub_802C098) gSharedMem[0x160FD]++; break; case 1: @@ -3604,18 +3604,18 @@ void sub_8010824(void) #if DEBUG if (gUnknown_02023A14_50 & 0x80) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) debug_sub_80138CC(); gBattleMainFunc(); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - gBattleBankFunc[gActiveBank](); + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + gBattleBankFunc[gActiveBattler](); } else #endif { gBattleMainFunc(); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) - gBattleBankFunc[gActiveBank](); + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + gBattleBankFunc[gActiveBattler](); } } @@ -3727,21 +3727,21 @@ void sub_8010874(void) void SwitchInClearSetData(void) { - struct DisableStruct sp0 = gDisableStructs[gActiveBank]; + struct DisableStruct sp0 = gDisableStructs[gActiveBattler]; s32 i; u8 *ptr; if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS) { for (i = 0; i < 8; i++) - gBattleMons[gActiveBank].statStages[i] = 6; + gBattleMons[gActiveBattler].statStages[i] = 6; for (i = 0; i < gNoOfAllBanks; i++) { struct UnknownStruct12 *sp20 = &gUnknown_02024AD0[i]; - if ((sp20->unk0 & 0x04000000) && gDisableStructs[i].bankPreventingEscape == gActiveBank) + if ((sp20->unk0 & 0x04000000) && gDisableStructs[i].bankPreventingEscape == gActiveBattler) sp20->unk0 &= ~0x04000000; - if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].bankWithSureHit == gActiveBank) + if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].bankWithSureHit == gActiveBattler) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; gDisableStructs[i].bankWithSureHit = 0; @@ -3750,14 +3750,14 @@ void SwitchInClearSetData(void) } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { - gBattleMons[gActiveBank].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); - gStatuses3[gActiveBank] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); + gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); + gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); for (i = 0; i < gNoOfAllBanks; i++) { - if (GetBankSide(gActiveBank) != GetBankSide(i) + if (GetBankSide(gActiveBattler) != GetBankSide(i) && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 - && (gDisableStructs[i].bankWithSureHit == gActiveBank)) + && (gDisableStructs[i].bankWithSureHit == gActiveBattler)) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; gStatuses3[i] |= 0x10; @@ -3766,49 +3766,49 @@ void SwitchInClearSetData(void) } else { - gBattleMons[gActiveBank].status2 = 0; - gStatuses3[gActiveBank] = 0; + gBattleMons[gActiveBattler].status2 = 0; + gStatuses3[gActiveBattler] = 0; } for (i = 0; i < gNoOfAllBanks; i++) { - if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBank] << 16)) - gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBank] << 16); - if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram16020arr(i) == gActiveBank) + if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBattler] << 16)) + gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBattler] << 16); + if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram16020arr(i) == gActiveBattler) gUnknown_02024AD0[i].unk0 &= ~0xE000; } - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; - MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); + MEMSET_ALT(&gDisableStructs[gActiveBattler], 0, 0x1C, i, ptr); if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { - gDisableStructs[gActiveBank].substituteHP = sp0.substituteHP; - gDisableStructs[gActiveBank].bankWithSureHit = sp0.bankWithSureHit; - gDisableStructs[gActiveBank].perishSong1 = sp0.perishSong1; - gDisableStructs[gActiveBank].perishSong2 = sp0.perishSong2; + gDisableStructs[gActiveBattler].substituteHP = sp0.substituteHP; + gDisableStructs[gActiveBattler].bankWithSureHit = sp0.bankWithSureHit; + gDisableStructs[gActiveBattler].perishSongTimer1 = sp0.perishSongTimer1; + gDisableStructs[gActiveBattler].perishSongTimer2 = sp0.perishSongTimer2; } - gDisableStructs[gActiveBank].isFirstTurn= 2; - gLastUsedMove[gActiveBank] = 0; - gLastLandedMoves[gActiveBank] = 0; - gLastHitByType[gActiveBank] = 0; - gUnknown_02024C4C[gActiveBank] = 0; - gUnknown_02024C2C[gActiveBank] = 0; - gUnknown_02024C5C[gActiveBank] = 0xFF; + gDisableStructs[gActiveBattler].isFirstTurn= 2; + gLastUsedMove[gActiveBattler] = 0; + gLastLandedMoves[gActiveBattler] = 0; + gLastHitByType[gActiveBattler] = 0; + gUnknown_02024C4C[gActiveBattler] = 0; + gUnknown_02024C2C[gActiveBattler] = 0; + gUnknown_02024C5C[gActiveBattler] = 0xFF; - ewram160ACarr2(0, gActiveBank) = 0; - ewram160ACarr2(1, gActiveBank) = 0; - ewram16100arr2(0, gActiveBank) = 0; - ewram16100arr2(1, gActiveBank) = 0; - ewram16100arr2(2, gActiveBank) = 0; - ewram16100arr2(3, gActiveBank) = 0; - ewram160E8arr2(0, gActiveBank) = 0; - ewram160E8arr2(1, gActiveBank) = 0; + ewram160ACarr2(0, gActiveBattler) = 0; + ewram160ACarr2(1, gActiveBattler) = 0; + ewram16100arr2(0, gActiveBattler) = 0; + ewram16100arr2(1, gActiveBattler) = 0; + ewram16100arr2(2, gActiveBattler) = 0; + ewram16100arr2(3, gActiveBattler) = 0; + ewram160E8arr2(0, gActiveBattler) = 0; + ewram160E8arr2(1, gActiveBattler) = 0; - eFlashFireArr.arr[gActiveBank] = 0; + eFlashFireArr.arr[gActiveBattler] = 0; gCurrentMove = 0; } @@ -3819,63 +3819,63 @@ void UndoEffectsAfterFainting(void) u8 *ptr; for (i = 0; i < 8; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - gBattleMons[gActiveBank].status2 = 0; - gStatuses3[gActiveBank] = 0; + gBattleMons[gActiveBattler].statStages[i] = 6; + gBattleMons[gActiveBattler].status2 = 0; + gStatuses3[gActiveBattler] = 0; for (i = 0; i < gNoOfAllBanks; i++) { - if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBank) + if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBattler) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; - if (gBattleMons[i].status2 & (gBitTable[gActiveBank] << 16)) - gBattleMons[i].status2 &= ~(gBitTable[gActiveBank] << 16); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && ewram16020arr(i) == gActiveBank) + if (gBattleMons[i].status2 & (gBitTable[gActiveBattler] << 16)) + gBattleMons[i].status2 &= ~(gBitTable[gActiveBattler] << 16); + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && ewram16020arr(i) == gActiveBattler) gBattleMons[i].status2 &= ~STATUS2_WRAPPED; } - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; - - MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr); - gProtectStructs[gActiveBank].protected = 0; - gProtectStructs[gActiveBank].endured = 0; - gProtectStructs[gActiveBank].onlyStruggle = 0; - gProtectStructs[gActiveBank].helpingHand = 0; - gProtectStructs[gActiveBank].bounceMove = 0; - gProtectStructs[gActiveBank].stealMove = 0; - gProtectStructs[gActiveBank].flag0Unknown = 0; - gProtectStructs[gActiveBank].prlzImmobility = 0; - gProtectStructs[gActiveBank].confusionSelfDmg = 0; - gProtectStructs[gActiveBank].notEffective = 0; - gProtectStructs[gActiveBank].chargingTurn = 0; - gProtectStructs[gActiveBank].fleeFlag = 0; - gProtectStructs[gActiveBank].usedImprisionedMove = 0; - gProtectStructs[gActiveBank].loveImmobility = 0; - gProtectStructs[gActiveBank].usedDisabledMove = 0; - gProtectStructs[gActiveBank].usedTauntedMove = 0; - gProtectStructs[gActiveBank].flag2Unknown = 0; - gProtectStructs[gActiveBank].flinchImmobility = 0; - gProtectStructs[gActiveBank].notFirstStrike = 0; - - gDisableStructs[gActiveBank].isFirstTurn= 2; - gLastUsedMove[gActiveBank] = 0; - gLastLandedMoves[gActiveBank] = 0; - gLastHitByType[gActiveBank] = 0; - gUnknown_02024C4C[gActiveBank] = 0; - gUnknown_02024C2C[gActiveBank] = 0; - gUnknown_02024C5C[gActiveBank] = 0xFF; - - ewram160E8arr2(0, gActiveBank) = 0; - ewram160E8arr2(1, gActiveBank) = 0; - ewram160ACarr2(0, gActiveBank) = 0; - ewram160ACarr2(1, gActiveBank) = 0; - ewram16100arr2(0, gActiveBank) = 0; - ewram16100arr2(1, gActiveBank) = 0; - ewram16100arr2(2, gActiveBank) = 0; - ewram16100arr2(3, gActiveBank) = 0; - - eFlashFireArr.arr[gActiveBank] = 0; - - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; + + MEMSET_ALT(&gDisableStructs[gActiveBattler], 0, 0x1C, i, ptr); + gProtectStructs[gActiveBattler].protected = 0; + gProtectStructs[gActiveBattler].endured = 0; + gProtectStructs[gActiveBattler].onlyStruggle = 0; + gProtectStructs[gActiveBattler].helpingHand = 0; + gProtectStructs[gActiveBattler].bounceMove = 0; + gProtectStructs[gActiveBattler].stealMove = 0; + gProtectStructs[gActiveBattler].flag0Unknown = 0; + gProtectStructs[gActiveBattler].prlzImmobility = 0; + gProtectStructs[gActiveBattler].confusionSelfDmg = 0; + gProtectStructs[gActiveBattler].notEffective = 0; + gProtectStructs[gActiveBattler].chargingTurn = 0; + gProtectStructs[gActiveBattler].fleeFlag = 0; + gProtectStructs[gActiveBattler].usedImprisionedMove = 0; + gProtectStructs[gActiveBattler].loveImmobility = 0; + gProtectStructs[gActiveBattler].usedDisabledMove = 0; + gProtectStructs[gActiveBattler].usedTauntedMove = 0; + gProtectStructs[gActiveBattler].flag2Unknown = 0; + gProtectStructs[gActiveBattler].flinchImmobility = 0; + gProtectStructs[gActiveBattler].notFirstStrike = 0; + + gDisableStructs[gActiveBattler].isFirstTurn= 2; + gLastUsedMove[gActiveBattler] = 0; + gLastLandedMoves[gActiveBattler] = 0; + gLastHitByType[gActiveBattler] = 0; + gUnknown_02024C4C[gActiveBattler] = 0; + gUnknown_02024C2C[gActiveBattler] = 0; + gUnknown_02024C5C[gActiveBattler] = 0xFF; + + ewram160E8arr2(0, gActiveBattler) = 0; + ewram160E8arr2(1, gActiveBattler) = 0; + ewram160ACarr2(0, gActiveBattler) = 0; + ewram160ACarr2(1, gActiveBattler) = 0; + ewram16100arr2(0, gActiveBattler) = 0; + ewram16100arr2(1, gActiveBattler) = 0; + ewram16100arr2(2, gActiveBattler) = 0; + ewram16100arr2(3, gActiveBattler) = 0; + + eFlashFireArr.arr[gActiveBattler] = 0; + + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; } void bc_8012FAC(void) @@ -3883,9 +3883,9 @@ void bc_8012FAC(void) switch (gBattleCommunication[0]) { case 0: - gActiveBank = gBattleCommunication[1]; + gActiveBattler = gBattleCommunication[1]; EmitGetAttributes(0, 0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleCommunication[0]++; break; case 1: @@ -3905,9 +3905,9 @@ static void BattlePrepIntroSlide(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBankByIdentity(0); EmitIntroSlide(0, gBattleTerrain); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleMainFunc = sub_8011384; gBattleCommunication[0] = 0; gBattleCommunication[1] = 0; @@ -3921,63 +3921,63 @@ void sub_8011384(void) if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) - && GetBankSide(gActiveBank) == 0) + && GetBankSide(gActiveBattler) == 0) { - MEMSET_ALT(&gBattleMons[gActiveBank], 0, 0x58, i, ptr); + MEMSET_ALT(&gBattleMons[gActiveBattler], 0, 0x58, i, ptr); } else { u8 r0; - MEMSET_ALT(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr); - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; - gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); - r0 = GetBankSide(gActiveBank); - ewram160BC[r0] = gBattleMons[gActiveBank].hp; + MEMSET_ALT(&gBattleMons[gActiveBattler], gBattleBufferB[gActiveBattler][4 + i], 0x58, i, ptr); + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); + r0 = GetBankSide(gActiveBattler); + ewram160BC[r0] = gBattleMons[gActiveBattler].hp; for (i = 0; i < 8; i++) - gBattleMons[gActiveBank].statStages[i] = 6; - gBattleMons[gActiveBank].status2 = 0; + gBattleMons[gActiveBattler].statStages[i] = 6; + gBattleMons[gActiveBattler].status2 = 0; } - if (GetBankIdentity(gActiveBank) == 0) + if (GetBankIdentity(gActiveBattler) == 0) { EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBankIdentity(gActiveBattler) == 1) { EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } - if (GetBankSide(gActiveBank) == 1 + if (GetBankSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } else { - if (GetBankSide(gActiveBank) == 1 + if (GetBankSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); EmitLoadPokeSprite(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) == 2 - || GetBankIdentity(gActiveBank) == 3) + if (GetBankIdentity(gActiveBattler) == 2 + || GetBankIdentity(gActiveBattler) == 3) { EmitTrainerThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } } @@ -4009,9 +4009,9 @@ void bc_801333C(void) hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); } } - gActiveBank = GetBankByIdentity(1); + gActiveBattler = GetBankByIdentity(1); EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); for (i = 0; i < 6; i++) { @@ -4027,9 +4027,9 @@ void bc_801333C(void) hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBankByIdentity(0); EmitDrawPartyStatusSummary(0, hpStatus, 0x80); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleMainFunc = bc_battle_begin_message; } @@ -4062,8 +4062,8 @@ void bc_battle_begin_message(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBankByIdentity(1); - PrepareStringBattle(0, gActiveBank); + gActiveBattler = GetBankByIdentity(1); + PrepareStringBattle(0, gActiveBattler); gBattleMainFunc = sub_8011800; } } @@ -4090,18 +4090,18 @@ void sub_8011834(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBankIdentity(gActiveBattler) == 1) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && GetBankIdentity(gActiveBank) == 3) + && GetBankIdentity(gActiveBattler) == 3) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } gBattleMainFunc = bc_801362C; @@ -4112,11 +4112,11 @@ void bc_801362C(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBank) == 1 + if (GetBankSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } gBattleMainFunc = sub_8011970; } @@ -4142,18 +4142,18 @@ void sub_80119B4(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankIdentity(gActiveBank) == 0) + if (GetBankIdentity(gActiveBattler) == 0) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && GetBankIdentity(gActiveBank) == 2) + && GetBankIdentity(gActiveBattler) == 2) { EmitTrainerBallThrow(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } ewram16058 = 0; @@ -4167,12 +4167,12 @@ void unref_sub_8011A68(void) { if (gBattleExecBuffer == 0) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) { - EmitSendOutPoke(0, gBattlePartyID[gActiveBank], 0); - MarkBufferBankForExecution(gActiveBank); + EmitSendOutPoke(0, gBattlePartyID[gActiveBattler], 0); + MarkBufferBankForExecution(gActiveBattler); } } ewram16058 = 0; @@ -4337,18 +4337,18 @@ u8 CanRunFromBattle(void) u8 r6; s32 i; - if (gBattleMons[gActiveBank].item == ITEM_ENIGMA_BERRY) - r2 = gEnigmaBerries[gActiveBank].holdEffect; + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) + r2 = gEnigmaBerries[gActiveBattler].holdEffect; else - r2 = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); - gStringBank = gActiveBank; + r2 = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + gStringBank = gActiveBattler; if (r2 == HOLD_EFFECT_CAN_ALWAYS_RUN) return 0; if (gBattleTypeFlags & BATTLE_TYPE_LINK) return 0; - if (gBattleMons[gActiveBank].ability == ABILITY_RUN_AWAY) + if (gBattleMons[gActiveBattler].ability == ABILITY_RUN_AWAY) return 0; - r6 = GetBankSide(gActiveBank); + r6 = GetBankSide(gActiveBattler); for (i = 0; i < gNoOfAllBanks; i++) { if (r6 != GetBankSide(i) @@ -4360,9 +4360,9 @@ u8 CanRunFromBattle(void) return 2; } if (r6 != GetBankSide(i) - && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE - && gBattleMons[gActiveBank].type1 != 2 - && gBattleMons[gActiveBank].type2 != 2 + && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE + && gBattleMons[gActiveBattler].type1 != 2 + && gBattleMons[gActiveBattler].type2 != 2 && gBattleMons[i].ability == ABILITY_ARENA_TRAP) { ewram16003 = i; @@ -4371,15 +4371,15 @@ u8 CanRunFromBattle(void) return 2; } } - i = AbilityBattleEffects(15, gActiveBank, ABILITY_MAGNET_PULL, 0, 0); - if (i != 0 && (gBattleMons[gActiveBank].type1 == 8 || gBattleMons[gActiveBank].type2 == 8)) + i = AbilityBattleEffects(15, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0); + if (i != 0 && (gBattleMons[gActiveBattler].type1 == 8 || gBattleMons[gActiveBattler].type2 == 8)) { ewram16003 = i - 1; gLastUsedAbility = gBattleMons[i - 1].ability; gBattleCommunication[5] = 2; return 2; } - if ((gBattleMons[gActiveBank].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) || (gStatuses3[gActiveBank] & STATUS3_ROOTED)) + if ((gBattleMons[gActiveBattler].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) || (gStatuses3[gActiveBattler] & STATUS3_ROOTED)) { gBattleCommunication[5] = 0; return 1; @@ -4428,41 +4428,41 @@ void sub_8012324(void) gBattleCommunication[4] = 0; // inverted loop //_0801234C - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - r5 = GetBankIdentity(gActiveBank); - switch (gBattleCommunication[gActiveBank]) + r5 = GetBankIdentity(gActiveBattler); + switch (gBattleCommunication[gActiveBattler]) { case 0: - ewram16068arr(gActiveBank) = 6; + ewram16068arr(gActiveBattler) = 6; if (!(gBattleTypeFlags & 0x40) && (r5 & 2) && !(ewram160A6 & gBitTable[GetBankByIdentity(r5 ^ 2)]) && gBattleCommunication[GetBankByIdentity(r5)] != 4) break; //_080123F8 - if (ewram160A6 & gBitTable[gActiveBank]) + if (ewram160A6 & gBitTable[gActiveBattler]) { - gActionForBanks[gActiveBank] = 13; + gActionForBanks[gActiveBattler] = 13; if (!(gBattleTypeFlags & 0x40)) - gBattleCommunication[gActiveBank] = 4; + gBattleCommunication[gActiveBattler] = 4; //_08012454 else - gBattleCommunication[gActiveBank] = 3; + gBattleCommunication[gActiveBattler] = 3; break; } //_08012468 - if ((gBattleMons[gActiveBank].status2 & 0x1000) - || (gBattleMons[gActiveBank].status2 & 0x10000000)) + if ((gBattleMons[gActiveBattler].status2 & 0x1000) + || (gBattleMons[gActiveBattler].status2 & 0x10000000)) { - gActionForBanks[gActiveBank] = 0; - gBattleCommunication[gActiveBank] = 3; + gActionForBanks[gActiveBattler] = 0; + gBattleCommunication[gActiveBattler] = 3; } else { Emitcmd18(0, gActionForBanks[0], gBattleBufferB[0][1] | (gBattleBufferB[0][2] << 8)); - MarkBufferBankForExecution(gActiveBank); - gBattleCommunication[gActiveBank]++; + MarkBufferBankForExecution(gActiveBattler); + gBattleCommunication[gActiveBattler]++; } break; case 1: @@ -4483,16 +4483,16 @@ void sub_8012324(void) ldr r0, _08012340 @ =gBattleCommunication\n\ movs r1, 0\n\ strb r1, [r0, 0x4]\n\ - ldr r0, _08012344 @ =gActiveBank\n\ + ldr r0, _08012344 @ =gActiveBattler\n\ strb r1, [r0]\n\ ldr r0, _08012348 @ =gNoOfAllBanks\n\ bl _08012F74\n\ .align 2, 0\n\ _08012340: .4byte gBattleCommunication\n\ -_08012344: .4byte gActiveBank\n\ +_08012344: .4byte gActiveBattler\n\ _08012348: .4byte gNoOfAllBanks\n\ _0801234C:\n\ - ldr r4, _08012374 @ =gActiveBank\n\ + ldr r4, _08012374 @ =gActiveBattler\n\ ldrb r0, [r4]\n\ bl GetBankIdentity\n\ lsls r0, 24\n\ @@ -4511,7 +4511,7 @@ _08012368:\n\ ldr r0, [r0]\n\ mov pc, r0\n\ .align 2, 0\n\ -_08012374: .4byte gActiveBank\n\ +_08012374: .4byte gActiveBattler\n\ _08012378: .4byte gBattleCommunication\n\ _0801237C: .4byte _08012380\n\ .align 2, 0\n\ @@ -4525,7 +4525,7 @@ _08012380:\n\ .4byte _08012F38\n\ _0801239C:\n\ ldr r4, _08012434 @ =gSharedMem\n\ - ldr r0, _08012438 @ =gActiveBank\n\ + ldr r0, _08012438 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ ldr r1, _0801243C @ =0x00016068\n\ adds r0, r1\n\ @@ -4573,7 +4573,7 @@ _080123F8:\n\ adds r0, r3\n\ ldrb r3, [r0]\n\ ldr r1, _08012448 @ =gBitTable\n\ - ldr r4, _08012438 @ =gActiveBank\n\ + ldr r4, _08012438 @ =gActiveBattler\n\ ldrb r2, [r4]\n\ lsls r0, r2, 2\n\ adds r0, r1\n\ @@ -4599,7 +4599,7 @@ _080123F8:\n\ bl _08012F66\n\ .align 2, 0\n\ _08012434: .4byte gSharedMem\n\ -_08012438: .4byte gActiveBank\n\ +_08012438: .4byte gActiveBattler\n\ _0801243C: .4byte 0x00016068\n\ _08012440: .4byte gBattleTypeFlags\n\ _08012444: .4byte 0x000160a6\n\ @@ -4663,7 +4663,7 @@ _080124C4: .4byte gBattleBufferB\n\ _080124C8:\n\ ldr r4, _08012520 @ =gBattleExecBuffer\n\ ldr r1, _08012524 @ =gBitTable\n\ - ldr r3, _08012528 @ =gActiveBank\n\ + ldr r3, _08012528 @ =gActiveBattler\n\ ldrb r5, [r3]\n\ lsls r0, r5, 2\n\ adds r0, r1\n\ @@ -4708,7 +4708,7 @@ _08012514:\n\ .align 2, 0\n\ _08012520: .4byte gBattleExecBuffer\n\ _08012524: .4byte gBitTable\n\ -_08012528: .4byte gActiveBank\n\ +_08012528: .4byte gActiveBattler\n\ _0801252C: .4byte gActionForBanks\n\ _08012530: .4byte gBattleBufferB\n\ _08012534: .4byte _08012538\n\ @@ -4733,7 +4733,7 @@ _0801256C:\n\ cmp r0, 0\n\ beq _080125D0\n\ ldr r0, _080125B4 @ =gBattleCommunication\n\ - ldr r2, _080125B8 @ =gActiveBank\n\ + ldr r2, _080125B8 @ =gActiveBattler\n\ ldrb r1, [r2]\n\ adds r1, r0\n\ movs r4, 0\n\ @@ -4764,7 +4764,7 @@ _0801256C:\n\ bl _08012F90\n\ .align 2, 0\n\ _080125B4: .4byte gBattleCommunication\n\ -_080125B8: .4byte gActiveBank\n\ +_080125B8: .4byte gActiveBattler\n\ _080125BC: .4byte gSharedMem\n\ _080125C0: .4byte 0x00016060\n\ _080125C4: .4byte 0x00016094\n\ @@ -4772,7 +4772,7 @@ _080125C8: .4byte 0x00016010\n\ _080125CC: .4byte gBattleBufferB\n\ _080125D0:\n\ ldr r1, _080125FC @ =gDisableStructs\n\ - ldr r5, _08012600 @ =gActiveBank\n\ + ldr r5, _08012600 @ =gActiveBattler\n\ ldrb r4, [r5]\n\ lsls r0, r4, 3\n\ subs r0, r4\n\ @@ -4793,7 +4793,7 @@ _080125D0:\n\ bl _08012F90\n\ .align 2, 0\n\ _080125FC: .4byte gDisableStructs\n\ -_08012600: .4byte gActiveBank\n\ +_08012600: .4byte gActiveBattler\n\ _08012604: .4byte gChosenMovesByBanks\n\ _08012608: .4byte gBattleCommunication\n\ _0801260C:\n\ @@ -4902,7 +4902,7 @@ _080126D8: .4byte gUnknown_02024C1C\n\ _080126DC: .4byte BattleScript_ActionSelectionItemsCantBeUsed\n\ _080126E0:\n\ ldr r3, _08012738 @ =gSharedMem\n\ - ldr r5, _0801273C @ =gActiveBank\n\ + ldr r5, _0801273C @ =gActiveBattler\n\ ldrb r0, [r5]\n\ ldr r4, _08012740 @ =0x00016064\n\ adds r1, r0, r4\n\ @@ -4947,7 +4947,7 @@ _08012722:\n\ b _0801286C\n\ .align 2, 0\n\ _08012738: .4byte gSharedMem\n\ -_0801273C: .4byte gActiveBank\n\ +_0801273C: .4byte gActiveBattler\n\ _08012740: .4byte 0x00016064\n\ _08012744: .4byte gBattlePartyID\n\ _08012748: .4byte gBattleMons\n\ @@ -4994,7 +4994,7 @@ _08012758:\n\ cmp r0, 0x1A\n\ bne _080127E0\n\ _080127A8:\n\ - ldr r5, _08012808 @ =gActiveBank\n\ + ldr r5, _08012808 @ =gActiveBattler\n\ ldrb r1, [r5]\n\ movs r0, 0\n\ str r0, [sp]\n\ @@ -5030,7 +5030,7 @@ _080127E0:\n\ lsrs r1, 24\n\ ldr r0, _08012810 @ =gLastUsedAbility\n\ ldrb r3, [r0]\n\ - ldr r0, _08012808 @ =gActiveBank\n\ + ldr r0, _08012808 @ =gActiveBattler\n\ ldrb r2, [r0]\n\ lsls r0, r2, 1\n\ adds r0, r2\n\ @@ -5042,12 +5042,12 @@ _080127E0:\n\ bl EmitChoosePokemon\n\ b _0801289E\n\ .align 2, 0\n\ -_08012808: .4byte gActiveBank\n\ +_08012808: .4byte gActiveBattler\n\ _0801280C: .4byte gBattleMons\n\ _08012810: .4byte gLastUsedAbility\n\ _08012814: .4byte gSharedMem + 0x1606C\n\ _08012818:\n\ - ldr r0, _08012830 @ =gActiveBank\n\ + ldr r0, _08012830 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ mov r8, r0\n\ cmp r1, 0x2\n\ @@ -5060,7 +5060,7 @@ _08012818:\n\ ldr r4, _0801283C @ =0x00016068\n\ b _08012854\n\ .align 2, 0\n\ -_08012830: .4byte gActiveBank\n\ +_08012830: .4byte gActiveBattler\n\ _08012834: .4byte gActionForBanks\n\ _08012838: .4byte gSharedMem\n\ _0801283C: .4byte 0x00016068\n\ @@ -5098,7 +5098,7 @@ _08012878: .4byte gSharedMem\n\ _0801287C: .4byte 0x00016069\n\ _08012880: .4byte 0x0001606c\n\ _08012884:\n\ - ldr r0, _080128A8 @ =gActiveBank\n\ + ldr r0, _080128A8 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ lsls r0, r1, 1\n\ adds r0, r1\n\ @@ -5111,12 +5111,12 @@ _08012884:\n\ movs r3, 0\n\ bl EmitChoosePokemon\n\ _0801289E:\n\ - ldr r0, _080128A8 @ =gActiveBank\n\ + ldr r0, _080128A8 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ b _08012968\n\ .align 2, 0\n\ -_080128A8: .4byte gActiveBank\n\ +_080128A8: .4byte gActiveBattler\n\ _080128AC: .4byte gSharedMem + 0x1606C\n\ _080128B0:\n\ bl PlayerPartyAndPokemonStorageFull\n\ @@ -5124,7 +5124,7 @@ _080128B0:\n\ cmp r0, 0\n\ beq _08012968\n\ ldr r1, _080128EC @ =gUnknown_02024C1C\n\ - ldr r2, _080128F0 @ =gActiveBank\n\ + ldr r2, _080128F0 @ =gActiveBattler\n\ ldrb r0, [r2]\n\ lsls r0, 2\n\ adds r0, r1\n\ @@ -5150,14 +5150,14 @@ _080128B0:\n\ b _08012F90\n\ .align 2, 0\n\ _080128EC: .4byte gUnknown_02024C1C\n\ -_080128F0: .4byte gActiveBank\n\ +_080128F0: .4byte gActiveBattler\n\ _080128F4: .4byte BattleScript_PrintFullBox\n\ _080128F8: .4byte gBattleCommunication\n\ _080128FC: .4byte gSharedMem\n\ _08012900: .4byte 0x00016060\n\ _08012904: .4byte 0x00016094\n\ _08012908:\n\ - ldr r4, _08012924 @ =gActiveBank\n\ + ldr r4, _08012924 @ =gActiveBattler\n\ ldrb r0, [r4]\n\ lsls r1, r0, 1\n\ adds r1, r0\n\ @@ -5169,7 +5169,7 @@ _08012908:\n\ bl MarkBufferBankForExecution\n\ b _08012968\n\ .align 2, 0\n\ -_08012924: .4byte gActiveBank\n\ +_08012924: .4byte gActiveBattler\n\ _08012928: .4byte gSharedMem + 0x1606C\n\ _0801292C:\n\ ldr r4, _08012964 @ =gBattleCommunication\n\ @@ -5206,7 +5206,7 @@ _08012968:\n\ cmp r0, 0x8\n\ bne _080129A8\n\ ldr r0, _08012998 @ =gBattleBufferB\n\ - ldr r4, _0801299C @ =gActiveBank\n\ + ldr r4, _0801299C @ =gActiveBattler\n\ ldrb r1, [r4]\n\ lsls r1, 9\n\ adds r0, 0x1\n\ @@ -5223,7 +5223,7 @@ _08012968:\n\ .align 2, 0\n\ _08012994: .4byte gBattleTypeFlags\n\ _08012998: .4byte gBattleBufferB\n\ -_0801299C: .4byte gActiveBank\n\ +_0801299C: .4byte gActiveBattler\n\ _080129A0: .4byte BattleScript_PrintCantRunFromTrainer\n\ _080129A4: .4byte gBattleCommunication\n\ _080129A8:\n\ @@ -5232,7 +5232,7 @@ _080129A8:\n\ cmp r0, 0\n\ beq _08012A14\n\ ldr r0, _080129F4 @ =gBattleBufferB\n\ - ldr r3, _080129F8 @ =gActiveBank\n\ + ldr r3, _080129F8 @ =gActiveBattler\n\ ldrb r2, [r3]\n\ lsls r1, r2, 9\n\ adds r0, 0x1\n\ @@ -5266,7 +5266,7 @@ _080129CC:\n\ b _08012F90\n\ .align 2, 0\n\ _080129F4: .4byte gBattleBufferB\n\ -_080129F8: .4byte gActiveBank\n\ +_080129F8: .4byte gActiveBattler\n\ _080129FC: .4byte gUnknown_02024C1C\n\ _08012A00: .4byte BattleScript_PrintCantEscapeFromBattle\n\ _08012A04: .4byte gBattleCommunication\n\ @@ -5275,17 +5275,17 @@ _08012A0C: .4byte 0x00016060\n\ _08012A10: .4byte 0x00016094\n\ _08012A14:\n\ ldr r2, _08012A20 @ =gBattleCommunication\n\ - ldr r0, _08012A24 @ =gActiveBank\n\ + ldr r0, _08012A24 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012A20: .4byte gBattleCommunication\n\ -_08012A24: .4byte gActiveBank\n\ +_08012A24: .4byte gActiveBattler\n\ _08012A28:\n\ ldr r4, _08012A6C @ =gBattleExecBuffer\n\ ldr r1, _08012A70 @ =gBitTable\n\ - ldr r3, _08012A74 @ =gActiveBank\n\ + ldr r3, _08012A74 @ =gActiveBattler\n\ ldrb r5, [r3]\n\ lsls r0, r5, 2\n\ adds r0, r1\n\ @@ -5322,7 +5322,7 @@ _08012A62:\n\ .align 2, 0\n\ _08012A6C: .4byte gBattleExecBuffer\n\ _08012A70: .4byte gBitTable\n\ -_08012A74: .4byte gActiveBank\n\ +_08012A74: .4byte gActiveBattler\n\ _08012A78: .4byte gActionForBanks\n\ _08012A7C: .4byte _08012A80\n\ .align 2, 0\n\ @@ -5462,7 +5462,7 @@ _08012BA8: .4byte 0x00016010\n\ _08012BAC: .4byte gBattleCommunication\n\ _08012BB0:\n\ ldr r2, _08012BD8 @ =gBattleBufferB\n\ - ldr r5, _08012BDC @ =gActiveBank\n\ + ldr r5, _08012BDC @ =gActiveBattler\n\ ldrb r4, [r5]\n\ lsls r1, r4, 9\n\ adds r0, r2, 0x1\n\ @@ -5484,12 +5484,12 @@ _08012BCE:\n\ b _08012E3C\n\ .align 2, 0\n\ _08012BD8: .4byte gBattleBufferB\n\ -_08012BDC: .4byte gActiveBank\n\ +_08012BDC: .4byte gActiveBattler\n\ _08012BE0: .4byte gLastUsedItem\n\ _08012BE4: .4byte gBattleCommunication\n\ _08012BE8:\n\ ldr r4, _08012C04 @ =gBattleBufferB\n\ - ldr r7, _08012C08 @ =gActiveBank\n\ + ldr r7, _08012C08 @ =gActiveBattler\n\ ldrb r2, [r7]\n\ lsls r0, r2, 9\n\ adds r1, r4, 0x1\n\ @@ -5505,7 +5505,7 @@ _08012BFE:\n\ b _08012F66\n\ .align 2, 0\n\ _08012C04: .4byte gBattleBufferB\n\ -_08012C08: .4byte gActiveBank\n\ +_08012C08: .4byte gActiveBattler\n\ _08012C0C: .4byte gBattleCommunication\n\ _08012C10:\n\ ldr r0, _08012CC4 @ =gSharedMem\n\ @@ -5615,35 +5615,35 @@ _08012CE0:\n\ orrs r0, r1\n\ str r0, [r2]\n\ ldr r2, _08012CFC @ =gBattleCommunication\n\ - ldr r0, _08012D00 @ =gActiveBank\n\ + ldr r0, _08012D00 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012CF8: .4byte gHitMarker\n\ _08012CFC: .4byte gBattleCommunication\n\ -_08012D00: .4byte gActiveBank\n\ +_08012D00: .4byte gActiveBattler\n\ _08012D04:\n\ ldr r2, _08012D10 @ =gBattleCommunication\n\ - ldr r0, _08012D14 @ =gActiveBank\n\ + ldr r0, _08012D14 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D10: .4byte gBattleCommunication\n\ -_08012D14: .4byte gActiveBank\n\ +_08012D14: .4byte gActiveBattler\n\ _08012D18:\n\ ldr r2, _08012D24 @ =gBattleCommunication\n\ - ldr r0, _08012D28 @ =gActiveBank\n\ + ldr r0, _08012D28 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D24: .4byte gBattleCommunication\n\ -_08012D28: .4byte gActiveBank\n\ +_08012D28: .4byte gActiveBattler\n\ _08012D2C:\n\ ldr r2, _08012D50 @ =gBattleBufferB\n\ - ldr r0, _08012D54 @ =gActiveBank\n\ + ldr r0, _08012D54 @ =gActiveBattler\n\ ldrb r4, [r0]\n\ lsls r1, r4, 9\n\ adds r0, r2, 0x1\n\ @@ -5663,17 +5663,17 @@ _08012D4A:\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D50: .4byte gBattleBufferB\n\ -_08012D54: .4byte gActiveBank\n\ +_08012D54: .4byte gActiveBattler\n\ _08012D58: .4byte gBattleCommunication\n\ _08012D5C:\n\ ldr r2, _08012D68 @ =gBattleCommunication\n\ - ldr r0, _08012D6C @ =gActiveBank\n\ + ldr r0, _08012D6C @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D68: .4byte gBattleCommunication\n\ -_08012D6C: .4byte gActiveBank\n\ +_08012D6C: .4byte gActiveBattler\n\ _08012D70:\n\ ldr r2, _08012D88 @ =gHitMarker\n\ ldr r0, [r2]\n\ @@ -5682,27 +5682,27 @@ _08012D70:\n\ orrs r0, r1\n\ str r0, [r2]\n\ ldr r2, _08012D8C @ =gBattleCommunication\n\ - ldr r0, _08012D90 @ =gActiveBank\n\ + ldr r0, _08012D90 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012D88: .4byte gHitMarker\n\ _08012D8C: .4byte gBattleCommunication\n\ -_08012D90: .4byte gActiveBank\n\ +_08012D90: .4byte gActiveBattler\n\ _08012D94:\n\ ldr r2, _08012DA0 @ =gBattleCommunication\n\ - ldr r0, _08012DA4 @ =gActiveBank\n\ + ldr r0, _08012DA4 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, r2\n\ b _08012E3E\n\ .align 2, 0\n\ _08012DA0: .4byte gBattleCommunication\n\ -_08012DA4: .4byte gActiveBank\n\ +_08012DA4: .4byte gActiveBattler\n\ _08012DA8:\n\ ldr r3, _08012E10 @ =gBattleExecBuffer\n\ ldr r4, _08012E14 @ =gBitTable\n\ - ldr r0, _08012E18 @ =gActiveBank\n\ + ldr r0, _08012E18 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ lsls r0, 2\n\ adds r0, r4\n\ @@ -5755,7 +5755,7 @@ _08012E06:\n\ .align 2, 0\n\ _08012E10: .4byte gBattleExecBuffer\n\ _08012E14: .4byte gBitTable\n\ -_08012E18: .4byte gActiveBank\n\ +_08012E18: .4byte gActiveBattler\n\ _08012E1C: .4byte gBattleTypeFlags\n\ _08012E20: .4byte gSharedMem\n\ _08012E24: .4byte 0x000160a6\n\ @@ -5764,7 +5764,7 @@ _08012E28:\n\ movs r1, 0x1\n\ bl EmitLinkStandbyMsg\n\ _08012E30:\n\ - ldr r4, _08012E48 @ =gActiveBank\n\ + ldr r4, _08012E48 @ =gActiveBattler\n\ _08012E32:\n\ ldrb r0, [r4]\n\ bl MarkBufferBankForExecution\n\ @@ -5778,12 +5778,12 @@ _08012E3E:\n\ strb r0, [r1]\n\ b _08012F66\n\ .align 2, 0\n\ -_08012E48: .4byte gActiveBank\n\ +_08012E48: .4byte gActiveBattler\n\ _08012E4C: .4byte gBattleCommunication\n\ _08012E50:\n\ ldr r3, _08012E84 @ =gBattleExecBuffer\n\ ldr r1, _08012E88 @ =gBitTable\n\ - ldr r0, _08012E8C @ =gActiveBank\n\ + ldr r0, _08012E8C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ lsls r0, 2\n\ adds r0, r1\n\ @@ -5809,11 +5809,11 @@ _08012E50:\n\ .align 2, 0\n\ _08012E84: .4byte gBattleExecBuffer\n\ _08012E88: .4byte gBitTable\n\ -_08012E8C: .4byte gActiveBank\n\ +_08012E8C: .4byte gActiveBattler\n\ _08012E90: .4byte gBattleCommunication\n\ _08012E94:\n\ ldr r2, _08012EB8 @ =gSharedMem\n\ - ldr r5, _08012EBC @ =gActiveBank\n\ + ldr r5, _08012EBC @ =gActiveBattler\n\ ldrb r1, [r5]\n\ ldr r3, _08012EC0 @ =0x00016060\n\ adds r0, r1, r3\n\ @@ -5831,7 +5831,7 @@ _08012E94:\n\ b _08012F66\n\ .align 2, 0\n\ _08012EB8: .4byte gSharedMem\n\ -_08012EBC: .4byte gActiveBank\n\ +_08012EBC: .4byte gActiveBattler\n\ _08012EC0: .4byte 0x00016060\n\ _08012EC4: .4byte gBattleCommunication\n\ _08012EC8: .4byte 0x00016094\n\ @@ -5887,7 +5887,7 @@ _08012F34: .4byte gBattleScriptingCommandsTable\n\ _08012F38:\n\ ldr r3, _08012FA0 @ =gBattleExecBuffer\n\ ldr r1, _08012FA4 @ =gBitTable\n\ - ldr r0, _08012FA8 @ =gActiveBank\n\ + ldr r0, _08012FA8 @ =gActiveBattler\n\ ldrb r4, [r0]\n\ lsls r0, r4, 2\n\ adds r0, r1\n\ @@ -5910,7 +5910,7 @@ _08012F60:\n\ adds r0, r4, r0\n\ strb r3, [r0]\n\ _08012F66:\n\ - ldr r0, _08012FA8 @ =gActiveBank\n\ + ldr r0, _08012FA8 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ adds r1, 0x1\n\ strb r1, [r0]\n\ @@ -5944,7 +5944,7 @@ _08012F90:\n\ .align 2, 0\n\ _08012FA0: .4byte gBattleExecBuffer\n\ _08012FA4: .4byte gBitTable\n\ -_08012FA8: .4byte gActiveBank\n\ +_08012FA8: .4byte gActiveBattler\n\ _08012FAC: .4byte gBattleCommunication\n\ _08012FB0: .4byte gNoOfAllBanks\n\ _08012FB4: .4byte gBattleMainFunc\n\ @@ -6117,10 +6117,10 @@ void SetActionsAndBanksTurnOrder(void) if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; + gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[var] = gActiveBattler; var++; } } @@ -6128,9 +6128,9 @@ void SetActionsAndBanksTurnOrder(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (gActionForBanks[gActiveBank] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == ACTION_RUN) { var = 5; break; @@ -6141,19 +6141,19 @@ void SetActionsAndBanksTurnOrder(void) { if (gActionForBanks[0] == ACTION_RUN) { - gActiveBank = 0; + gActiveBattler = 0; var = 5; } } if (var == 5) { - gActionsByTurnOrder[0] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[0] = gActiveBank; + gActionsByTurnOrder[0] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[0] = gActiveBattler; var = 1; for (i = 0; i < gNoOfAllBanks; i++) { - if (i != gActiveBank) + if (i != gActiveBattler) { gActionsByTurnOrder[var] = gActionForBanks[i]; gBanksByTurnOrder[var] = i; @@ -6166,21 +6166,21 @@ void SetActionsAndBanksTurnOrder(void) } else { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (gActionForBanks[gActiveBank] == ACTION_USE_ITEM || gActionForBanks[gActiveBank] == ACTION_SWITCH) + if (gActionForBanks[gActiveBattler] == ACTION_USE_ITEM || gActionForBanks[gActiveBattler] == ACTION_SWITCH) { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; + gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[var] = gActiveBattler; var++; } } - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (gActionForBanks[gActiveBank] != ACTION_USE_ITEM && gActionForBanks[gActiveBank] != ACTION_SWITCH) + if (gActionForBanks[gActiveBattler] != ACTION_USE_ITEM && gActionForBanks[gActiveBattler] != ACTION_SWITCH) { - gActionsByTurnOrder[var] = gActionForBanks[gActiveBank]; - gBanksByTurnOrder[var] = gActiveBank; + gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; + gBanksByTurnOrder[var] = gActiveBattler; var++; } } @@ -6212,32 +6212,32 @@ static void TurnValuesCleanUp(bool8 var0) s32 i; u8 *dataPtr; - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { if (var0) { - gProtectStructs[gActiveBank].protected = 0; - gProtectStructs[gActiveBank].endured = 0; + gProtectStructs[gActiveBattler].protected = 0; + gProtectStructs[gActiveBattler].endured = 0; } else { - dataPtr = (u8*)(&gProtectStructs[gActiveBank]); + dataPtr = (u8*)(&gProtectStructs[gActiveBattler]); for (i = 0; i < sizeof(struct ProtectStruct); i++) dataPtr[i] = 0; - if (gDisableStructs[gActiveBank].isFirstTurn) - gDisableStructs[gActiveBank].isFirstTurn--; + if (gDisableStructs[gActiveBattler].isFirstTurn) + gDisableStructs[gActiveBattler].isFirstTurn--; - if (gDisableStructs[gActiveBank].rechargeCounter) + if (gDisableStructs[gActiveBattler].rechargeCounter) { - gDisableStructs[gActiveBank].rechargeCounter--; - if (gDisableStructs[gActiveBank].rechargeCounter == 0) - gBattleMons[gActiveBank].status2 &= ~(STATUS2_RECHARGE); + gDisableStructs[gActiveBattler].rechargeCounter--; + if (gDisableStructs[gActiveBattler].rechargeCounter == 0) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_RECHARGE); } } - if (gDisableStructs[gActiveBank].substituteHP == 0) - gBattleMons[gActiveBank].status2 &= ~(STATUS2_SUBSTITUTE); + if (gDisableStructs[gActiveBattler].substituteHP == 0) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_SUBSTITUTE); } gSideTimers[0].followmeTimer = 0; @@ -6246,10 +6246,10 @@ static void TurnValuesCleanUp(bool8 var0) void SpecialStatusesClear(void) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { s32 i; - u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBank]); + u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBattler]); for (i = 0; i < sizeof(struct SpecialStatus); i++) dataPtr[i] = 0; @@ -6262,12 +6262,12 @@ void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) { while (eFocusPunchBank < gNoOfAllBanks) { - gActiveBank = gBankAttacker = eFocusPunchBank; + gActiveBattler = gBankAttacker = eFocusPunchBank; eFocusPunchBank++; - if (gChosenMovesByBanks[gActiveBank] == MOVE_FOCUS_PUNCH - && !(gBattleMons[gActiveBank].status1 & STATUS_SLEEP) + if (gChosenMovesByBanks[gActiveBattler] == MOVE_FOCUS_PUNCH + && !(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP) && !(gDisableStructs[gBankAttacker].truantCounter) - && !(gProtectStructs[gActiveBank].onlyStruggle)) + && !(gProtectStructs[gActiveBattler].onlyStruggle)) { BattleScriptExecute(BattleScript_FocusPunchSetUp); return; @@ -6425,19 +6425,19 @@ void HandleEndTurn_FinishBattle(void) | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_BATTLE_TOWER))) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBankSide(gActiveBattler) == SIDE_PLAYER) { if (gBattleResults.poke1Species == SPECIES_NONE) { - gBattleResults.poke1Species = gBattleMons[gActiveBank].species; - StringCopy(gBattleResults.pokeString1, gBattleMons[gActiveBank].nickname); + gBattleResults.poke1Species = gBattleMons[gActiveBattler].species; + StringCopy(gBattleResults.pokeString1, gBattleMons[gActiveBattler].nickname); } else { - gBattleResults.opponentSpecies = gBattleMons[gActiveBank].species; - StringCopy(gBattleResults.pokeString2, gBattleMons[gActiveBank].nickname); + gBattleResults.opponentSpecies = gBattleMons[gActiveBattler].species; + StringCopy(gBattleResults.pokeString2, gBattleMons[gActiveBattler].nickname); } } } @@ -6640,14 +6640,14 @@ void HandleAction_UseMove(void) && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) { side = GetBankSide(gBankAttacker); - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (side != GetBankSide(gActiveBank) - && ewram16010arr(gBankAttacker) != gActiveBank - && gBattleMons[gActiveBank].ability == ABILITY_LIGHTNING_ROD - && BankGetTurnOrder(gActiveBank) < var) + if (side != GetBankSide(gActiveBattler) + && ewram16010arr(gBankAttacker) != gActiveBattler + && gBattleMons[gActiveBattler].ability == ABILITY_LIGHTNING_ROD + && BankGetTurnOrder(gActiveBattler) < var) { - var = BankGetTurnOrder(gActiveBank); + var = BankGetTurnOrder(gActiveBattler); } } if (var == 4) @@ -6690,10 +6690,10 @@ void HandleAction_UseMove(void) } else { - gActiveBank = gBanksByTurnOrder[var]; - RecordAbilityBattle(gActiveBank, gBattleMons[gActiveBank].ability); - gSpecialStatuses[gActiveBank].lightningRodRedirected = 1; - gBankTarget = gActiveBank; + gActiveBattler = gBanksByTurnOrder[var]; + RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + gSpecialStatuses[gActiveBattler].lightningRodRedirected = 1; + gBankTarget = gActiveBattler; } } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE @@ -7270,16 +7270,16 @@ void HandleAction_Run(void) { gCurrentTurnActionNumber = gNoOfAllBanks; - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBank) == SIDE_PLAYER) + if (GetBankSide(gActiveBattler) == SIDE_PLAYER) { - if (gActionForBanks[gActiveBank] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == ACTION_RUN) gBattleOutcome |= BATTLE_LOST; } else { - if (gActionForBanks[gActiveBank] == ACTION_RUN) + if (gActionForBanks[gActiveBattler] == ACTION_RUN) gBattleOutcome |= BATTLE_WON; } } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index f10cd2506..781478cb1 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -103,7 +103,7 @@ extern u16 gBattleTypeFlags; extern const struct BaseStats gBaseStats[]; extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; @@ -1421,7 +1421,7 @@ static void atk03_ppreduce(void) if (!(gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED) && !((gDisableStructs[gBankAttacker].unk18_b) & gBitTable[gCurrMovePos])) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBankAttacker].pp[gCurrMovePos]); MarkBufferBankForExecution(gBankAttacker); } @@ -1944,7 +1944,7 @@ static void atk09_attackanimation(void) } if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitMoveAnimation(0, gCurrentMove, gBattleStruct->animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBankAttacker].friendship, &gDisableStructs[gBankAttacker]); gBattleStruct->animTurn += 1; @@ -1973,11 +1973,11 @@ static void atk0B_healthbarupdate(void) if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - PrepareStringBattle(0x80, gActiveBank); + PrepareStringBattle(0x80, gActiveBattler); } else { @@ -1997,9 +1997,9 @@ static void atk0B_healthbarupdate(void) */ EmitHealthBarUpdate(0, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); - if (GetBankSide(gActiveBank) == SIDE_PLAYER && gBattleMoveDamage > 0) + if (GetBankSide(gActiveBattler) == SIDE_PLAYER && gBattleMoveDamage > 0) gBattleResults.unk5_0 = 1; } } @@ -2023,25 +2023,25 @@ static void atk0C_datahpupdate(void) if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - if (gDisableStructs[gActiveBank].substituteHP >= gBattleMoveDamage) + if (gDisableStructs[gActiveBattler].substituteHP >= gBattleMoveDamage) { - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = gBattleMoveDamage; - gDisableStructs[gActiveBank].substituteHP -= gBattleMoveDamage; + if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) + gSpecialStatuses[gActiveBattler].moveturnLostHP = gBattleMoveDamage; + gDisableStructs[gActiveBattler].substituteHP -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = gDisableStructs[gActiveBank].substituteHP; - gHpDealt = gDisableStructs[gActiveBank].substituteHP; - gDisableStructs[gActiveBank].substituteHP = 0; + if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) + gSpecialStatuses[gActiveBattler].moveturnLostHP = gDisableStructs[gActiveBattler].substituteHP; + gHpDealt = gDisableStructs[gActiveBattler].substituteHP; + gDisableStructs[gActiveBattler].substituteHP = 0; } // check substitute fading - if (gDisableStructs[gActiveBank].substituteHP == 0) + if (gDisableStructs[gActiveBattler].substituteHP == 0) { gBattlescriptCurrInstr += 2; BattleScriptPushCursor(); @@ -2054,9 +2054,9 @@ static void atk0C_datahpupdate(void) gHitMarker &= ~(HITMARKER_IGNORE_SUBSTITUTE); if (gBattleMoveDamage < 0) // hp goes up { - gBattleMons[gActiveBank].hp -= gBattleMoveDamage; - if (gBattleMons[gActiveBank].hp > gBattleMons[gActiveBank].maxHP) - gBattleMons[gActiveBank].hp = gBattleMons[gActiveBank].maxHP; + gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; + if (gBattleMons[gActiveBattler].hp > gBattleMons[gActiveBattler].maxHP) + gBattleMons[gActiveBattler].hp = gBattleMons[gActiveBattler].maxHP; } else // hp goes down @@ -2067,68 +2067,68 @@ static void atk0C_datahpupdate(void) } else { - gTakenDmg[gActiveBank] += gBattleMoveDamage; + gTakenDmg[gActiveBattler] += gBattleMoveDamage; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) - gTakenDmgBanks[gActiveBank] = gBankAttacker; + gTakenDmgBanks[gActiveBattler] = gBankAttacker; else - gTakenDmgBanks[gActiveBank] = gBankTarget; + gTakenDmgBanks[gActiveBattler] = gBankTarget; } - if (gBattleMons[gActiveBank].hp > gBattleMoveDamage) + if (gBattleMons[gActiveBattler].hp > gBattleMoveDamage) { - gBattleMons[gActiveBank].hp -= gBattleMoveDamage; + gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - gHpDealt = gBattleMons[gActiveBank].hp; - gBattleMons[gActiveBank].hp = 0; + gHpDealt = gBattleMons[gActiveBattler].hp; + gBattleMons[gActiveBattler].hp = 0; } - if (!gSpecialStatuses[gActiveBank].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) - gSpecialStatuses[gActiveBank].moveturnLostHP = gHpDealt; + if (!gSpecialStatuses[gActiveBattler].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) + gSpecialStatuses[gActiveBattler].moveturnLostHP = gHpDealt; if (moveType <= 8 && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) { - gProtectStructs[gActiveBank].physicalDmg = gHpDealt; - gSpecialStatuses[gActiveBank].moveturnLostHP_physical = gHpDealt; + gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; + gSpecialStatuses[gActiveBattler].moveturnLostHP_physical = gHpDealt; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) { - gProtectStructs[gActiveBank].physicalBank = gBankAttacker; - gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankAttacker; + gProtectStructs[gActiveBattler].physicalBank = gBankAttacker; + gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankAttacker; } else { - gProtectStructs[gActiveBank].physicalBank = gBankTarget; - gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankTarget; + gProtectStructs[gActiveBattler].physicalBank = gBankTarget; + gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankTarget; } } else if (moveType > 8 && !(gHitMarker & HITMARKER_x100000)) { - gProtectStructs[gActiveBank].specialDmg = gHpDealt; - gSpecialStatuses[gActiveBank].moveturnLostHP_special = gHpDealt; + gProtectStructs[gActiveBattler].specialDmg = gHpDealt; + gSpecialStatuses[gActiveBattler].moveturnLostHP_special = gHpDealt; if (gBattlescriptCurrInstr[1] == BS_GET_TARGET) { - gProtectStructs[gActiveBank].specialBank = gBankAttacker; - gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankAttacker; + gProtectStructs[gActiveBattler].specialBank = gBankAttacker; + gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBankAttacker; } else { - gProtectStructs[gActiveBank].specialBank = gBankTarget; - gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankTarget; + gProtectStructs[gActiveBattler].specialBank = gBankTarget; + gSpecialStatuses[gActiveBattler].moveturnSpecialBank = gBankTarget; } } } gHitMarker &= ~(HITMARKER_x100000); - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp); - MarkBufferBankForExecution(gActiveBank); + EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBufferBankForExecution(gActiveBattler); } } else { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0) - gSpecialStatuses[gActiveBank].moveturnLostHP = 0xFFFF; + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + if (gSpecialStatuses[gActiveBattler].moveturnLostHP == 0) + gSpecialStatuses[gActiveBattler].moveturnLostHP = 0xFFFF; } gBattlescriptCurrInstr += 2; } @@ -2151,7 +2151,7 @@ static void atk0E_effectivenesssound(void) if (gBattleExecBuffer) return; - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; if (!(gBattleMoveFlags & MOVESTATUS_MISSED)) { u8 flag = ~MOVESTATUS_MISSED; @@ -2159,11 +2159,11 @@ static void atk0E_effectivenesssound(void) { case MOVESTATUS_SUPEREFFECTIVE: EmitEffectivenessSound(0, 14); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); break; case MOVESTATUS_NOTVERYEFFECTIVE: EmitEffectivenessSound(0, 12); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); break; case MOVESTATUS_NOTAFFECTED: case MOVESTATUS_FAILED: @@ -2175,17 +2175,17 @@ static void atk0E_effectivenesssound(void) if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) { EmitEffectivenessSound(0, 14); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } else if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) { EmitEffectivenessSound(0, 12); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } else if (!(gBattleMoveFlags & (MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED))) { EmitEffectivenessSound(0, 13); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } break; } @@ -2295,9 +2295,9 @@ static void atk10_printstring(void) static void atk11_printselectionstring(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2341,9 +2341,9 @@ static void atk14_printselectionstringfromtable(void) { u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); // FIXME ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitPrintStringPlayerOnly(0, *(u16*)ptr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; gBattleCommunication[MSG_DISPLAY] = 1; } @@ -2406,12 +2406,12 @@ void SetMoveEffect(bool8 primary, u8 certainArg) //check active uproar if (gBattleMons[gEffectBank].ability != ABILITY_SOUNDPROOF) { - for (gActiveBank = 0; gActiveBank < gNoOfAllBanks && !(gBattleMons[gActiveBank].status2 & STATUS2_UPROAR); gActiveBank++) {} + for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks && !(gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR); gActiveBattler++) {} } else - gActiveBank = gNoOfAllBanks; + gActiveBattler = gNoOfAllBanks; if (gBattleMons[gEffectBank].status1) {break;} - if (gActiveBank != gNoOfAllBanks) {break;} //nice way of checking uproar... + if (gActiveBattler != gNoOfAllBanks) {break;} //nice way of checking uproar... if (gBattleMons[gEffectBank].ability == ABILITY_VITAL_SPIRIT) {break;} if (gBattleMons[gEffectBank].ability == ABILITY_INSOMNIA) {break;} @@ -2566,9 +2566,9 @@ void SetMoveEffect(bool8 primary, u8 certainArg) else gBattleMons[gEffectBank].status1 |= sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]; gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; - gActiveBank = gEffectBank; + gActiveBattler = gEffectBank; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gEffectBank].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { gBattleCommunication[MULTISTRING_CHOOSER] = 1; @@ -2753,11 +2753,11 @@ void SetMoveEffect(bool8 primary, u8 certainArg) USED_HELD_ITEM(bank) = gLastUsedItem; gBattleMons[gBankTarget].item = 0; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedItem); MarkBufferBankForExecution(gBankAttacker); - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gBankTarget].item); MarkBufferBankForExecution(gBankTarget); @@ -2788,9 +2788,9 @@ void SetMoveEffect(bool8 primary, u8 certainArg) if (gBattleMons[gBankTarget].status1 & STATUS_PARALYSIS) { gBattleMons[gBankTarget].status1 &= ~(STATUS_PARALYSIS); - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_TargetPRLZHeal; } @@ -3058,7 +3058,7 @@ _0801E57A:\n\ ldrb r0, [r0]\n\ cmp r0, 0x2B\n\ beq _0801E5DC\n\ - ldr r0, _0801E5D4 @ =gActiveBank\n\ + ldr r0, _0801E5D4 @ =gActiveBattler\n\ movs r1, 0\n\ strb r1, [r0]\n\ ldr r1, _0801E5D8 @ =gNoOfAllBanks\n\ @@ -3095,10 +3095,10 @@ _0801E5B4:\n\ beq _0801E5B4\n\ b _0801E5E8\n\ .align 2, 0\n\ -_0801E5D4: .4byte gActiveBank\n\ +_0801E5D4: .4byte gActiveBattler\n\ _0801E5D8: .4byte gNoOfAllBanks\n\ _0801E5DC:\n\ - ldr r0, _0801E628 @ =gActiveBank\n\ + ldr r0, _0801E628 @ =gActiveBattler\n\ ldr r2, _0801E62C @ =gNoOfAllBanks\n\ ldrb r1, [r2]\n\ strb r1, [r0]\n\ @@ -3141,7 +3141,7 @@ _0801E620:\n\ bl CancelMultiTurnMoves\n\ b _0801EA04\n\ .align 2, 0\n\ -_0801E628: .4byte gActiveBank\n\ +_0801E628: .4byte gActiveBattler\n\ _0801E62C: .4byte gNoOfAllBanks\n\ _0801E630:\n\ mov r2, r8\n\ @@ -3709,7 +3709,7 @@ _0801EA84:\n\ adds r0, r1\n\ ldr r0, [r0]\n\ str r0, [r2]\n\ - ldr r4, _0801EAE8 @ =gActiveBank\n\ + ldr r4, _0801EAE8 @ =gActiveBattler\n\ ldr r1, _0801EAD8 @ =gEffectBank\n\ ldrb r0, [r1]\n\ strb r0, [r4]\n\ @@ -3745,7 +3745,7 @@ _0801EAD8: .4byte gEffectBank\n\ _0801EADC: .4byte gBattlescriptCurrInstr\n\ _0801EAE0: .4byte gMoveEffectBS_Ptrs\n\ _0801EAE4: .4byte gBattleCommunication\n\ -_0801EAE8: .4byte gActiveBank\n\ +_0801EAE8: .4byte gActiveBattler\n\ _0801EAEC: .4byte gUnknown_02024ACC\n\ _0801EAF0: .4byte gHitMarker\n\ _0801EAF4: .4byte 0xffffdfff\n\ @@ -4638,7 +4638,7 @@ _0801F2B6:\n\ add r0, r9\n\ movs r6, 0\n\ strh r3, [r0, 0x2E]\n\ - ldr r4, _0801F34C @ =gActiveBank\n\ + ldr r4, _0801F34C @ =gActiveBattler\n\ mov r2, r10\n\ ldrb r0, [r2]\n\ strb r0, [r4]\n\ @@ -4693,7 +4693,7 @@ _0801F2B6:\n\ _0801F340: .4byte gBankAttacker\n\ _0801F344: .4byte gSharedMem + 0x160F0\n\ _0801F348: .4byte gLastUsedItem\n\ -_0801F34C: .4byte gActiveBank\n\ +_0801F34C: .4byte gActiveBattler\n\ _0801F350: .4byte gBattlescriptCurrInstr\n\ _0801F354: .4byte BattleScript_ItemSteal\n\ _0801F358: .4byte 0xfffe9f10\n\ @@ -4781,7 +4781,7 @@ _0801F406:\n\ negs r0, r0\n\ ands r4, r0\n\ str r4, [r5]\n\ - ldr r4, _0801F440 @ =gActiveBank\n\ + ldr r4, _0801F440 @ =gActiveBattler\n\ ldrb r0, [r6]\n\ strb r0, [r4]\n\ ldrb r0, [r4]\n\ @@ -4803,7 +4803,7 @@ _0801F406:\n\ b _0801F5F8\n\ .align 2, 0\n\ _0801F43C: .4byte gBankTarget\n\ -_0801F440: .4byte gActiveBank\n\ +_0801F440: .4byte gActiveBattler\n\ _0801F444: .4byte gBattlescriptCurrInstr\n\ _0801F448: .4byte BattleScript_TargetPRLZHeal\n\ _0801F44C:\n\ @@ -5066,11 +5066,11 @@ static void atk17_seteffectsecondary(void) static void atk18_clearstatusfromeffect(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6) - gBattleMons[gActiveBank].status1 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); + gBattleMons[gActiveBattler].status1 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); else - gBattleMons[gActiveBank].status2 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); + gBattleMons[gActiveBattler].status2 &= (~sStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]); gBattleCommunication[MOVE_EFFECT_BYTE] = 0; gBattlescriptCurrInstr += 2; @@ -5083,14 +5083,14 @@ static void atk19_tryfaintmon(void) if (gBattlescriptCurrInstr[2] != 0) { - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) { r4 = T1_READ_PTR(gBattlescriptCurrInstr + 3); BattleScriptPop(); gBattlescriptCurrInstr = r4; - gSideAffecting[GetBankSide(gActiveBank)] &= ~SIDE_STATUS_SPIKES_DAMAGED; + gSideAffecting[GetBankSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED; } else { @@ -5103,18 +5103,18 @@ static void atk19_tryfaintmon(void) if (gBattlescriptCurrInstr[1] == 1) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; bank = gBankTarget; r4 = BattleScript_FaintAttacker; } else { - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; bank = gBankAttacker; r4 = BattleScript_FaintTarget; } - if (!(gAbsentBankFlags & gBitTable[gActiveBank]) - && gBattleMons[gActiveBank].hp == 0) + if (!(gAbsentBankFlags & gBitTable[gActiveBattler]) + && gBattleMons[gActiveBattler].hp == 0) { ewram160ACarr2(0, bank) = 0; ewram160ACarr2(1, bank) = 0; @@ -5123,27 +5123,27 @@ static void atk19_tryfaintmon(void) ewram16100arr2(2, bank) = 0; ewram16100arr2(3, bank) = 0; - gHitMarker |= HITMARKER_FAINTED(gActiveBank); + gHitMarker |= HITMARKER_FAINTED(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr = r4; - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) { gHitMarker |= HITMARKER_x400000; if (gBattleResults.playerFaintCounter < 0xFF) gBattleResults.playerFaintCounter++; - if (gBattleMons[bank].level > gBattleMons[gActiveBank].level) + if (gBattleMons[bank].level > gBattleMons[gActiveBattler].level) { - if (gBattleMons[bank].level - gBattleMons[gActiveBank].level > 0x1D) - AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 8); + if (gBattleMons[bank].level - gBattleMons[gActiveBattler].level > 0x1D) + AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBattler]], 8); else - AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBank]], 6); + AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBattler]], 6); } } else { if (gBattleResults.opponentFaintCounter < 0xFF) gBattleResults.opponentFaintCounter++; - gBattleResults.lastOpponentSpecies = gBattleMons[gActiveBank].species; + gBattleResults.lastOpponentSpecies = gBattleMons[gActiveBattler].species; } if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBankAttacker].hp != 0) { @@ -5162,9 +5162,9 @@ static void atk19_tryfaintmon(void) gBattleMons[gBankAttacker].pp[moveIndex] = 0; BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_SelectingImprisionedMoveInPalace; - gActiveBank = gBankAttacker; - EmitSetMonData(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBank].pp[moveIndex]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, moveIndex + 9, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); + MarkBufferBankForExecution(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; @@ -5184,9 +5184,9 @@ static void atk1A_dofaintanimation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd10(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } } @@ -5196,10 +5196,10 @@ static void atk1B_cleareffectsonfaint(void) //Clears things like attraction or trapping to other banks if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - gBattleMons[gActiveBank].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gBattleMons[gActiveBattler].status1 = 0; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); UndoEffectsAfterFainting(); gBattlescriptCurrInstr += 2; } @@ -5335,19 +5335,19 @@ static void atk21_jumpifstatus3condition(void) u32 flags; void* jump_loc; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); flags = T2_READ_32(gBattlescriptCurrInstr + 2); jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7); if (T2_READ_8(gBattlescriptCurrInstr + 6)) { - if ((gStatuses3[gActiveBank] & flags) != 0) + if ((gStatuses3[gActiveBattler] & flags) != 0) gBattlescriptCurrInstr += 11; else gBattlescriptCurrInstr = jump_loc; } else { - if ((gStatuses3[gActiveBank] & flags) != 0) + if ((gStatuses3[gActiveBattler] & flags) != 0) gBattlescriptCurrInstr = jump_loc; else gBattlescriptCurrInstr += 11; @@ -5544,9 +5544,9 @@ static void atk23_getexp(void) gBattleResources_statsBeforeLvlUp->spAtk = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_SPATK); gBattleResources_statsBeforeLvlUp->spDef = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_SPDEF); - gActiveBank = gBattleStruct->expGetterBank; + gActiveBattler = gBattleStruct->expGetterBank; EmitExpBarUpdate(0, gBattleStruct->expGetterID, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattleStruct->getexpStateTracker++; } @@ -5554,21 +5554,21 @@ static void atk23_getexp(void) case 4: // lvl up if necessary if (gBattleExecBuffer == 0) { - gActiveBank = gBattleStruct->expGetterBank; - if (gBattleBufferB[gActiveBank][0] == CONTROLLER_TWORETURNVALUES - && gBattleBufferB[gActiveBank][1] == RET_VALUE_LEVELLED_UP) + gActiveBattler = gBattleStruct->expGetterBank; + if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES + && gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELLED_UP) { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBank] == gBattleStruct->expGetterID) - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID) + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBank, gBattleStruct->expGetterID) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterID) PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL)) BattleScriptPushCursor(); gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterID]; gBattlescriptCurrInstr = BattleScript_LevelUp; - gBattleMoveDamage = (gBattleBufferB[gActiveBank][2] | (gBattleBufferB[gActiveBank][3] << 8)); + gBattleMoveDamage = (gBattleBufferB[gActiveBattler][2] | (gBattleBufferB[gActiveBattler][3] << 8)); AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterID], 0); // update battle mon structure after level up @@ -6230,12 +6230,12 @@ static void atk3A_waitstate(void) static void atk3B_healthbar_update(void) { if (!T2_READ_8(gBattlescriptCurrInstr + 1)) - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; else - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitHealthBarUpdate(0, gBattleMoveDamage); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -6247,14 +6247,14 @@ static void atk3C_return(void) static void atk3D_end(void) { gBattleMoveFlags = 0; - gActiveBank = 0; + gActiveBattler = 0; gCurrentActionFuncId = 0xB; } static void atk3E_end2(void) { //not much difference between this and 3D. It's more apparent in Emerald - gActiveBank = 0; + gActiveBattler = 0; gCurrentActionFuncId = 0xB; } @@ -6299,7 +6299,7 @@ static void atk45_playanimation(void) { const u16* argumentPtr; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3); if (gBattlescriptCurrInstr[2] == B_ANIM_STATS_CHANGE @@ -6307,7 +6307,7 @@ static void atk45_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_SUBSTITUTE_FADE) { EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 7; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -6321,17 +6321,17 @@ static void atk45_playanimation(void) || gBattlescriptCurrInstr[2] == B_ANIM_HAIL_CONTINUES) { EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 7; } - else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) { gBattlescriptCurrInstr += 7; } else { EmitBattleAnimation(0, gBattlescriptCurrInstr[2], *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 7; } } @@ -6341,7 +6341,7 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po const u16* argumentPtr; const u8* animationIdPtr; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); animationIdPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2); argumentPtr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6); @@ -6350,7 +6350,7 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_SUBSTITUTE_FADE) { EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 10; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS) @@ -6363,17 +6363,17 @@ static void atk46_playanimation2(void) // animation Id is stored in the first po || *animationIdPtr == B_ANIM_HAIL_CONTINUES) { EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 10; } - else if (gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) { gBattlescriptCurrInstr += 10; } else { EmitBattleAnimation(0, *animationIdPtr, *argumentPtr); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 10; } } @@ -6410,7 +6410,7 @@ static void atk48_playstatchangeanimation(void) u32 stats_to_check; u8 arg3; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); stats_to_check = T2_READ_8(gBattlescriptCurrInstr + 2); arg3 = T2_READ_8(gBattlescriptCurrInstr + 3); if (arg3 & 1) @@ -6425,13 +6425,13 @@ static void atk48_playstatchangeanimation(void) if (!(T2_READ_8(gBattlescriptCurrInstr + 3))) { u8 ability; - if (gSideTimers[GetBankIdentity(gActiveBank) & 1].mistTimer) + if (gSideTimers[GetBankIdentity(gActiveBattler) & 1].mistTimer) continue; - ability = gBattleMons[gActiveBank].ability; + ability = gBattleMons[gActiveBattler].ability; if (ability == ABILITY_CLEAR_BODY || ability == ABILITY_WHITE_SMOKE || (ability == ABILITY_KEEN_EYE && curr_stat == 6) || (ability == ABILITY_HYPER_CUTTER && curr_stat == 1)) continue; } - if (gBattleMons[gActiveBank].statStages[curr_stat] > 0) + if (gBattleMons[gActiveBattler].statStages[curr_stat] > 0) { stat_animID = r1; changeable_stats++; @@ -6455,7 +6455,7 @@ static void atk48_playstatchangeanimation(void) { if (!(stats_to_check & 1)) continue; - if (gBattleMons[gActiveBank].statStages[curr_stat] < 0xB) + if (gBattleMons[gActiveBattler].statStages[curr_stat] < 0xB) { stat_animID = r1; changeable_stats++; @@ -6476,7 +6476,7 @@ static void atk48_playstatchangeanimation(void) else { EmitBattleAnimation(0, 1, stat_animID); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1) gBattleStruct->filler2[0] = 1; gBattlescriptCurrInstr += 4; @@ -6503,7 +6503,7 @@ push {r4-r7,lr}\n\ ldrb r0, [r0, 0x1]\n\ str r3, [sp]\n\ bl GetBattleBank\n\ - ldr r2, _08021674 @ =gActiveBank\n\ + ldr r2, _08021674 @ =gActiveBattler\n\ strb r0, [r2]\n\ ldr r0, [r5]\n\ ldrb r4, [r0, 0x2]\n\ @@ -6540,7 +6540,7 @@ _0802164A:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0802167C\n\ - ldr r0, _08021674 @ =gActiveBank\n\ + ldr r0, _08021674 @ =gActiveBattler\n\ ldrb r1, [r0]\n\ movs r0, 0x58\n\ muls r0, r1\n\ @@ -6548,10 +6548,10 @@ _0802164A:\n\ b _080216C4\n\ .align 2, 0\n\ _08021670: .4byte gBattlescriptCurrInstr\n\ -_08021674: .4byte gActiveBank\n\ +_08021674: .4byte gActiveBattler\n\ _08021678: .4byte gUnknown_02024A98\n\ _0802167C:\n\ - ldr r6, _08021700 @ =gActiveBank\n\ + ldr r6, _08021700 @ =gActiveBattler\n\ ldrb r0, [r6]\n\ str r3, [sp]\n\ bl GetBankIdentity\n\ @@ -6622,7 +6622,7 @@ _080216E4:\n\ movs r0, 0x3A\n\ b _08021770\n\ .align 2, 0\n\ -_08021700: .4byte gActiveBank\n\ +_08021700: .4byte gActiveBattler\n\ _08021704: .4byte gSideTimers\n\ _08021708: .4byte gBattleMons\n\ _0802170C: .4byte gBattlescriptCurrInstr\n\ @@ -6710,7 +6710,7 @@ _08021790:\n\ mov r2, r8\n\ str r3, [sp]\n\ bl EmitBattleAnimation\n\ - ldr r0, _080217D8 @ =gActiveBank\n\ + ldr r0, _080217D8 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ ldr r0, _080217DC @ =gBattlescriptCurrInstr\n\ @@ -6731,7 +6731,7 @@ _080217CC:\n\ .align 2, 0\n\ _080217D0: .4byte gSharedMem\n\ _080217D4: .4byte 0x000160dc\n\ -_080217D8: .4byte gActiveBank\n\ +_080217D8: .4byte gActiveBattler\n\ _080217DC: .4byte gBattlescriptCurrInstr\n\ _080217E0:\n\ mov r1, r9\n\ @@ -6801,9 +6801,9 @@ static void atk49_moveend(void) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && move_type == TYPE_FIRE) { gBattleMons[gBankTarget].status1 &= ~(STATUS_FREEZE); - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBankTarget].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; effect = 1; @@ -6856,9 +6856,9 @@ static void atk49_moveend(void) if (gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER) && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSpriteInvisibility(0, 1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattleStruct->cmd49StateTracker++; break; @@ -6866,9 +6866,9 @@ static void atk49_moveend(void) if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) || WasUnableToUseMove(gBankAttacker)) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSpriteInvisibility(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gStatuses3 &= ~(STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER); gSpecialStatuses[gBankAttacker].restored_bank_sprite = 1; } @@ -6878,9 +6878,9 @@ static void atk49_moveend(void) if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) || WasUnableToUseMove(gBankTarget)) { - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; EmitSpriteInvisibility(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gStatuses3 &= ~(STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER); gSpecialStatuses[gBankTarget].restored_bank_sprite = 1; } @@ -7202,7 +7202,7 @@ _08021A92:\n\ negs r0, r0\n\ ands r5, r0\n\ str r5, [r6]\n\ - ldr r4, _08021AE4 @ =gActiveBank\n\ + ldr r4, _08021AE4 @ =gActiveBattler\n\ ldr r5, _08021AD4 @ =gBankTarget\n\ ldrb r0, [r5]\n\ strb r0, [r4]\n\ @@ -7232,7 +7232,7 @@ _08021AD4: .4byte gBankTarget\n\ _08021AD8: .4byte gBankAttacker\n\ _08021ADC: .4byte gSpecialStatuses\n\ _08021AE0: .4byte gBattleMoveFlags\n\ -_08021AE4: .4byte gActiveBank\n\ +_08021AE4: .4byte gActiveBattler\n\ _08021AE8: .4byte gBattlescriptCurrInstr\n\ _08021AEC: .4byte BattleScript_DefrostedViaFireMove\n\ _08021AF0:\n\ @@ -7497,7 +7497,7 @@ _08021CE2:\n\ bne _08021CF0\n\ b _08021DFA\n\ _08021CF0:\n\ - ldr r4, _08021D14 @ =gActiveBank\n\ + ldr r4, _08021D14 @ =gActiveBattler\n\ strb r2, [r4]\n\ movs r0, 0\n\ movs r1, 0x1\n\ @@ -7510,7 +7510,7 @@ _08021D04: .4byte gStatuses3\n\ _08021D08: .4byte gBankAttacker\n\ _08021D0C: .4byte 0x000400c0\n\ _08021D10: .4byte gHitMarker\n\ -_08021D14: .4byte gActiveBank\n\ +_08021D14: .4byte gActiveBattler\n\ _08021D18:\n\ ldr r0, _08021D88 @ =gBattleMoveFlags\n\ ldrb r1, [r0]\n\ @@ -7534,7 +7534,7 @@ _08021D18:\n\ cmp r0, 0\n\ beq _08021D7E\n\ _08021D44:\n\ - ldr r4, _08021D98 @ =gActiveBank\n\ + ldr r4, _08021D98 @ =gActiveBattler\n\ ldr r5, _08021D90 @ =gBankAttacker\n\ ldrb r0, [r5]\n\ strb r0, [r4]\n\ @@ -7571,7 +7571,7 @@ _08021D88: .4byte gBattleMoveFlags\n\ _08021D8C: .4byte gStatuses3\n\ _08021D90: .4byte gBankAttacker\n\ _08021D94: .4byte 0x000400c0\n\ -_08021D98: .4byte gActiveBank\n\ +_08021D98: .4byte gActiveBattler\n\ _08021D9C: .4byte 0xfffbff3f\n\ _08021DA0: .4byte gSpecialStatuses\n\ _08021DA4: .4byte gSharedMem\n\ @@ -7599,7 +7599,7 @@ _08021DAC:\n\ ands r0, r1\n\ cmp r0, 0\n\ bne _08021DFA\n\ - ldr r4, _08021E20 @ =gActiveBank\n\ + ldr r4, _08021E20 @ =gActiveBattler\n\ strb r3, [r4]\n\ movs r0, 0\n\ movs r1, 0\n\ @@ -7630,7 +7630,7 @@ _08021E10: .4byte gBankTarget\n\ _08021E14: .4byte gNoOfAllBanks\n\ _08021E18: .4byte gStatuses3\n\ _08021E1C: .4byte 0x000400c0\n\ -_08021E20: .4byte gActiveBank\n\ +_08021E20: .4byte gActiveBattler\n\ _08021E24: .4byte 0xfffbff3f\n\ _08021E28: .4byte gSharedMem\n\ _08021E2C: .4byte 0x0001600c\n\ @@ -7677,7 +7677,7 @@ _08021E70:\n\ adds r5, r1, 0\n\ cmp r0, 0\n\ beq _08021E9A\n\ - ldr r0, _08021F34 @ =gActiveBank\n\ + ldr r0, _08021F34 @ =gActiveBattler\n\ ldrb r2, [r2]\n\ strb r2, [r0]\n\ ldr r1, _08021F38 @ =gBankTarget\n\ @@ -7769,7 +7769,7 @@ _08021F04:\n\ .align 2, 0\n\ _08021F2C: .4byte gHitMarker\n\ _08021F30: .4byte gBankAttacker\n\ -_08021F34: .4byte gActiveBank\n\ +_08021F34: .4byte gActiveBattler\n\ _08021F38: .4byte gBankTarget\n\ _08021F3C: .4byte 0xffffefff\n\ _08021F40: .4byte gBattleMoves\n\ @@ -8281,11 +8281,11 @@ static void atk4A_typecalc2(void) static void atk4B_returnatktoball(void) { - gActiveBank = gBankAttacker; - if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank))) + gActiveBattler = gBankAttacker; + if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { EmitReturnPokeToBall(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr++; } @@ -8295,12 +8295,12 @@ static void atk4C_getswitchedmondata(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - gBattlePartyID[gActiveBank] = ewram16068arr(gActiveBank); + gBattlePartyID[gActiveBattler] = ewram16068arr(gActiveBattler); - EmitGetAttributes(0, 0, gBitTable[gBattlePartyID[gActiveBank]]); - MarkBufferBankForExecution(gActiveBank); + EmitGetAttributes(0, 0, gBitTable[gBattlePartyID[gActiveBattler]]); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -8313,40 +8313,40 @@ static void atk4D_switchindataupdate(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]); - oldData = gBattleMons[gActiveBank]; - monData = (u8*)(&gBattleMons[gActiveBank]); + gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); + oldData = gBattleMons[gActiveBattler]; + monData = (u8*)(&gBattleMons[gActiveBattler]); for (i = 0; i < sizeof(struct BattlePokemon); i++) { - monData[i] = gBattleBufferB[gActiveBank][4 + i]; + monData[i] = gBattleBufferB[gActiveBattler][4 + i]; } - gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1; - gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2; - gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility); + gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; + gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; + gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); // check knocked off item - i = GetBankSide(gActiveBank); - if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlePartyID[gActiveBank]]) + i = GetBankSide(gActiveBattler); + if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlePartyID[gActiveBattler]]) { - gBattleMons[gActiveBank].item = 0; + gBattleMons[gActiveBattler].item = 0; } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { for (i = 0; i < 8; i++) { - gBattleMons[gActiveBank].statStages[i] = oldData.statStages[i]; + gBattleMons[gActiveBattler].statStages[i] = oldData.statStages[i]; } - gBattleMons[gActiveBank].status2 = oldData.status2; + gBattleMons[gActiveBattler].status2 = oldData.status2; } SwitchInClearSetData(); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBank, gBattlePartyID[gActiveBank]); + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlePartyID[gActiveBattler]); gBattlescriptCurrInstr += 2; } @@ -8356,14 +8356,14 @@ static void atk4E_switchinanim(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (GetBankSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) { - GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } - gAbsentBankFlags &= ~(gBitTable[gActiveBank]); - EmitSendOutPoke(0, gBattlePartyID[gActiveBank], T2_READ_8(gBattlescriptCurrInstr + 2)); - MarkBufferBankForExecution(gActiveBank); + gAbsentBankFlags &= ~(gBitTable[gActiveBattler]); + EmitSendOutPoke(0, gBattlePartyID[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2)); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; } @@ -8373,29 +8373,29 @@ static void atk4F_jumpifcantswitch(void) register struct Pokemon *party; u8 r7; //0x80 byte is used as a way of telling the function whether to not check status2/status3 - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F); if (!(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x80) - && ((gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) - || (gStatuses3[gActiveBank] & STATUS3_ROOTED))) + && ((gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + || (gStatuses3[gActiveBattler] & STATUS3_ROOTED))) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); return; } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankSide(gActiveBank) == 1) + if (GetBankSide(gActiveBattler) == 1) party = gEnemyParty; else party = gPlayerParty; val = 0; - if (sub_803FBFC(sub_803FC34(gActiveBank)) == 1) + if (sub_803FBFC(sub_803FC34(gActiveBattler)) == 1) val = 3; for (to_cmp = val + 3; val < to_cmp; val++) { if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) && GetMonData(&party[val], MON_DATA_HP) != 0 - && gBattlePartyID[gActiveBank] != val) + && gBattlePartyID[gActiveBattler] != val) break; } if (val == to_cmp) @@ -8405,7 +8405,7 @@ static void atk4F_jumpifcantswitch(void) } else { - if (GetBankSide(gActiveBank) == 1) + if (GetBankSide(gActiveBattler) == 1) { r7 = GetBankByIdentity(1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -8440,9 +8440,9 @@ static void atk4F_jumpifcantswitch(void) void sub_8022A3C(u8 unkown) { - BATTLE_PARTY_ID(gActiveBank) = gBattlePartyID[gActiveBank]; - EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBank]); - MarkBufferBankForExecution(gActiveBank); + BATTLE_PARTY_ID(gActiveBattler) = gBattlePartyID[gActiveBattler]; + EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBattler]); + MarkBufferBankForExecution(gActiveBattler); } /* @@ -8456,25 +8456,25 @@ static void atk50_openpartyscreen(void) { if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) { - for (gActiveBank = i; gActiveBank < gNoOfAllBanks; gActiveBank++) + for (gActiveBattler = i; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (!(gHitMarker & HITMARKER_FAINTED(gActiveBank))) + if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { EmitLinkStandbyMsg(0, 2); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } - else if (sub_8018018(gActiveBank, 6, 6) == 0 - && !gSpecialStatuses[gActiveBank].flag40) + else if (sub_8018018(gActiveBattler, 6, 6) == 0 + && !gSpecialStatuses[gActiveBattler].flag40) { sub_8022A3C(6); - gSpecialStatuses[gActiveBank].flag40 = 1; + gSpecialStatuses[gActiveBattler].flag40 = 1; } else { - gAbsentBankFlags |= gBitTable[gActiveBank]; - gHitMarker &= (~HITMARKER_FAINTED(gActiveBank)); + gAbsentBankFlags |= gBitTable[gActiveBattler]; + gHitMarker &= (~HITMARKER_FAINTED(gActiveBattler)); EmitLinkStandbyMsg(0, 2); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } } } @@ -8484,8 +8484,8 @@ static void atk50_openpartyscreen(void) { } - else if (sub_8018018(gActiveBank, 6, 6) == 0 - && !gSpecialStatuses[gActiveBank].flag40) + else if (sub_8018018(gActiveBattler, 6, 6) == 0 + && !gSpecialStatuses[gActiveBattler].flag40) { } @@ -8536,7 +8536,7 @@ _08022ACE:\n\ ands r1, r0\n\ cmp r1, 0x1\n\ beq _08022BBC\n\ - ldr r1, _08022B4C @ =gActiveBank\n\ + ldr r1, _08022B4C @ =gActiveBattler\n\ strb r7, [r1]\n\ ldr r0, _08022B50 @ =gNoOfAllBanks\n\ ldrb r0, [r0]\n\ @@ -8591,7 +8591,7 @@ _08022AF2:\n\ .align 2, 0\n\ _08022B44: .4byte gBattlescriptCurrInstr\n\ _08022B48: .4byte gBattleTypeFlags\n\ -_08022B4C: .4byte gActiveBank\n\ +_08022B4C: .4byte gActiveBattler\n\ _08022B50: .4byte gNoOfAllBanks\n\ _08022B54: .4byte gHitMarker\n\ _08022B58: .4byte gBitTable\n\ @@ -8655,7 +8655,7 @@ _08022BC4:\n\ ands r0, r5\n\ cmp r0, 0\n\ beq _08022C7E\n\ - ldr r4, _08022C24 @ =gActiveBank\n\ + ldr r4, _08022C24 @ =gActiveBattler\n\ strb r7, [r4]\n\ movs r0, 0\n\ movs r1, 0x6\n\ @@ -8689,7 +8689,7 @@ _08022BC4:\n\ .align 2, 0\n\ _08022C1C: .4byte gHitMarker\n\ _08022C20: .4byte gBitTable\n\ -_08022C24: .4byte gActiveBank\n\ +_08022C24: .4byte gActiveBattler\n\ _08022C28: .4byte gAbsentBankFlags\n\ _08022C2C:\n\ ldr r6, _08022C60 @ =gSpecialStatuses\n\ @@ -8739,7 +8739,7 @@ _08022C7E:\n\ ands r0, r5\n\ cmp r0, 0\n\ bne _08022D40\n\ - ldr r4, _08022CDC @ =gActiveBank\n\ + ldr r4, _08022CDC @ =gActiveBattler\n\ movs r0, 0x2\n\ strb r0, [r4]\n\ movs r0, 0x2\n\ @@ -8773,7 +8773,7 @@ _08022C7E:\n\ b _08022D40\n\ .align 2, 0\n\ _08022CD8: .4byte gBitTable\n\ -_08022CDC: .4byte gActiveBank\n\ +_08022CDC: .4byte gActiveBattler\n\ _08022CE0: .4byte gAbsentBankFlags\n\ _08022CE4: .4byte gHitMarker\n\ _08022CE8:\n\ @@ -8823,7 +8823,7 @@ _08022D40:\n\ ands r0, r5\n\ cmp r0, 0\n\ beq _08022DF6\n\ - ldr r4, _08022D94 @ =gActiveBank\n\ + ldr r4, _08022D94 @ =gActiveBattler\n\ movs r0, 0x1\n\ strb r0, [r4]\n\ movs r0, 0x1\n\ @@ -8857,7 +8857,7 @@ _08022D40:\n\ b _08022DF6\n\ .align 2, 0\n\ _08022D90: .4byte gBitTable\n\ -_08022D94: .4byte gActiveBank\n\ +_08022D94: .4byte gActiveBattler\n\ _08022D98: .4byte gAbsentBankFlags\n\ _08022D9C: .4byte gHitMarker\n\ _08022DA0:\n\ @@ -8910,7 +8910,7 @@ _08022DF6:\n\ ands r0, r5\n\ cmp r0, 0\n\ bne _08022EB8\n\ - ldr r4, _08022E54 @ =gActiveBank\n\ + ldr r4, _08022E54 @ =gActiveBattler\n\ movs r0, 0x3\n\ strb r0, [r4]\n\ movs r0, 0x3\n\ @@ -8944,7 +8944,7 @@ _08022DF6:\n\ b _08022EB8\n\ .align 2, 0\n\ _08022E50: .4byte gBitTable\n\ -_08022E54: .4byte gActiveBank\n\ +_08022E54: .4byte gActiveBattler\n\ _08022E58: .4byte gAbsentBankFlags\n\ _08022E5C: .4byte gHitMarker\n\ _08022E60:\n\ @@ -9009,7 +9009,7 @@ _08022EB8:\n\ ands r1, r0\n\ cmp r1, 0\n\ beq _08022EF8\n\ - ldr r1, _08022EF4 @ =gActiveBank\n\ + ldr r1, _08022EF4 @ =gActiveBattler\n\ movs r0, 0x2\n\ strb r0, [r1]\n\ b _08022EFC\n\ @@ -9017,15 +9017,15 @@ _08022EB8:\n\ _08022EE8: .4byte gSpecialStatuses\n\ _08022EEC: .4byte gAbsentBankFlags\n\ _08022EF0: .4byte gBitTable\n\ -_08022EF4: .4byte gActiveBank\n\ +_08022EF4: .4byte gActiveBattler\n\ _08022EF8:\n\ - ldr r0, _08022F3C @ =gActiveBank\n\ + ldr r0, _08022F3C @ =gActiveBattler\n\ strb r1, [r0]\n\ _08022EFC:\n\ movs r0, 0\n\ movs r1, 0x2\n\ bl EmitLinkStandbyMsg\n\ - ldr r0, _08022F3C @ =gActiveBank\n\ + ldr r0, _08022F3C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ _08022F0C:\n\ @@ -9049,23 +9049,23 @@ _08022F0C:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _08022F4C\n\ - ldr r1, _08022F3C @ =gActiveBank\n\ + ldr r1, _08022F3C @ =gActiveBattler\n\ movs r0, 0x3\n\ b _08022F50\n\ .align 2, 0\n\ -_08022F3C: .4byte gActiveBank\n\ +_08022F3C: .4byte gActiveBattler\n\ _08022F40: .4byte gSpecialStatuses\n\ _08022F44: .4byte gAbsentBankFlags\n\ _08022F48: .4byte gBitTable\n\ _08022F4C:\n\ - ldr r1, _08022F6C @ =gActiveBank\n\ + ldr r1, _08022F6C @ =gActiveBattler\n\ movs r0, 0x1\n\ _08022F50:\n\ strb r0, [r1]\n\ movs r0, 0\n\ movs r1, 0x2\n\ bl EmitLinkStandbyMsg\n\ - ldr r0, _08022F6C @ =gActiveBank\n\ + ldr r0, _08022F6C @ =gActiveBattler\n\ ldrb r0, [r0]\n\ bl MarkBufferBankForExecution\n\ _08022F62:\n\ @@ -9075,7 +9075,7 @@ _08022F62:\n\ str r0, [r1]\n\ b _08023302\n\ .align 2, 0\n\ -_08022F6C: .4byte gActiveBank\n\ +_08022F6C: .4byte gActiveBattler\n\ _08022F70: .4byte gBattlescriptCurrInstr\n\ _08022F74:\n\ cmp r0, 0x6\n\ @@ -9108,7 +9108,7 @@ _08022F92:\n\ ands r0, r5\n\ cmp r0, 0\n\ beq _0802303A\n\ - ldr r6, _08022FFC @ =gActiveBank\n\ + ldr r6, _08022FFC @ =gActiveBattler\n\ movs r0, 0x2\n\ strb r0, [r6]\n\ ldr r0, _08023000 @ =gBattleBufferB\n\ @@ -9144,7 +9144,7 @@ _08022F92:\n\ _08022FF0: .4byte gBattleTypeFlags\n\ _08022FF4: .4byte gHitMarker\n\ _08022FF8: .4byte gBitTable\n\ -_08022FFC: .4byte gActiveBank\n\ +_08022FFC: .4byte gActiveBattler\n\ _08023000: .4byte gBattleBufferB\n\ _08023004: .4byte gAbsentBankFlags\n\ _08023008:\n\ @@ -9182,7 +9182,7 @@ _0802303A:\n\ ands r5, r0\n\ cmp r5, 0\n\ beq _080230EE\n\ - ldr r5, _080230A8 @ =gActiveBank\n\ + ldr r5, _080230A8 @ =gActiveBattler\n\ movs r0, 0x3\n\ strb r0, [r5]\n\ ldr r0, _080230AC @ =gBattleBufferB\n\ @@ -9222,7 +9222,7 @@ _08023098: .4byte gSpecialStatuses\n\ _0802309C: .4byte gSharedMem\n\ _080230A0: .4byte 0x00016068\n\ _080230A4: .4byte gBitTable\n\ -_080230A8: .4byte gActiveBank\n\ +_080230A8: .4byte gActiveBattler\n\ _080230AC: .4byte gBattleBufferB\n\ _080230B0: .4byte 0x00000201\n\ _080230B4: .4byte gAbsentBankFlags\n\ @@ -9351,7 +9351,7 @@ _080231A8:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _080231F8\n\ - ldr r2, _080231E8 @ =gActiveBank\n\ + ldr r2, _080231E8 @ =gActiveBattler\n\ strb r7, [r2]\n\ ldr r3, _080231EC @ =gAbsentBankFlags\n\ ldr r4, _080231F0 @ =gBitTable\n\ @@ -9375,12 +9375,12 @@ _080231A8:\n\ str r0, [r6]\n\ b _08023302\n\ .align 2, 0\n\ -_080231E8: .4byte gActiveBank\n\ +_080231E8: .4byte gActiveBattler\n\ _080231EC: .4byte gAbsentBankFlags\n\ _080231F0: .4byte gBitTable\n\ _080231F4: .4byte gHitMarker\n\ _080231F8:\n\ - ldr r4, _080232A0 @ =gActiveBank\n\ + ldr r4, _080232A0 @ =gActiveBattler\n\ strb r7, [r4]\n\ ldr r3, _080232A4 @ =gSharedMem\n\ ldrb r0, [r4]\n\ @@ -9433,7 +9433,7 @@ _0802325A:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _080232C4\n\ - ldr r1, _080232A0 @ =gActiveBank\n\ + ldr r1, _080232A0 @ =gActiveBattler\n\ movs r0, 0\n\ strb r0, [r1]\n\ ldr r0, _080232C0 @ =gNoOfAllBanks\n\ @@ -9462,7 +9462,7 @@ _0802328A:\n\ bcc _08023276\n\ b _08023302\n\ .align 2, 0\n\ -_080232A0: .4byte gActiveBank\n\ +_080232A0: .4byte gActiveBattler\n\ _080232A4: .4byte gSharedMem\n\ _080232A8: .4byte 0x00016064\n\ _080232AC: .4byte gBattlePartyID\n\ @@ -9479,7 +9479,7 @@ _080232C4:\n\ lsls r0, 24\n\ lsrs r0, 24\n\ bl GetBankByIdentity\n\ - ldr r4, _08023310 @ =gActiveBank\n\ + ldr r4, _08023310 @ =gActiveBattler\n\ strb r0, [r4]\n\ ldr r0, _08023314 @ =gAbsentBankFlags\n\ ldrb r1, [r0]\n\ @@ -9509,7 +9509,7 @@ _08023302:\n\ pop {r0}\n\ bx r0\n\ .align 2, 0\n\ -_08023310: .4byte gActiveBank\n\ +_08023310: .4byte gActiveBattler\n\ _08023314: .4byte gAbsentBankFlags\n\ _08023318: .4byte gBitTable\n\ .syntax divided"); @@ -9521,7 +9521,7 @@ static void atk51_switchhandleorder(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: @@ -9533,22 +9533,22 @@ static void atk51_switchhandleorder(void) break; case 1: if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - sub_8012258(gActiveBank); + sub_8012258(gActiveBattler); break; case 2: - gBattleCommunication[0] = gBattleBufferB[gActiveBank][1]; - ewram16068arr(gActiveBank) = gBattleBufferB[gActiveBank][1]; + gBattleCommunication[0] = gBattleBufferB[gActiveBattler][1]; + ewram16068arr(gActiveBattler) = gBattleBufferB[gActiveBattler][1]; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - ewram1606Carr(0, gActiveBank) &= 0xF; - ewram1606Carr(0, gActiveBank) |= (gBattleBufferB[gActiveBank][2] & 0xF0); - ewram1606Carr(1, gActiveBank) = gBattleBufferB[gActiveBank][3]; - ewram1606Carr(0, (gActiveBank ^ 2)) &= (0xF0); - ewram1606Carr(0, (gActiveBank ^ 2)) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; - ewram1606Carr(2, (gActiveBank ^ 2)) = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, gActiveBattler) &= 0xF; + ewram1606Carr(0, gActiveBattler) |= (gBattleBufferB[gActiveBattler][2] & 0xF0); + ewram1606Carr(1, gActiveBattler) = gBattleBufferB[gActiveBattler][3]; + ewram1606Carr(0, (gActiveBattler ^ 2)) &= (0xF0); + ewram1606Carr(0, (gActiveBattler ^ 2)) |= (gBattleBufferB[gActiveBattler][2] & 0xF0) >> 4; + ewram1606Carr(2, (gActiveBattler ^ 2)) = gBattleBufferB[gActiveBattler][3]; } else - sub_8012258(gActiveBank); + sub_8012258(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 6; @@ -9558,8 +9558,8 @@ static void atk51_switchhandleorder(void) gBattleTextBuff2[0] = 0xFD; gBattleTextBuff2[1] = 7; - gBattleTextBuff2[2] = gActiveBank; - gBattleTextBuff2[3] = gBattleBufferB[gActiveBank][1]; + gBattleTextBuff2[2] = gActiveBattler; + gBattleTextBuff2[3] = gBattleBufferB[gActiveBattler][1]; gBattleTextBuff2[4] = 0xFF; break; } @@ -9570,24 +9570,24 @@ static void atk52_switchineffects(void) { int i; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - sub_80157C4(gActiveBank); - gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank)); - gSpecialStatuses[gActiveBank].flag40 = 0; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + sub_80157C4(gActiveBattler); + gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); + gSpecialStatuses[gActiveBattler].flag40 = 0; - if (!(gSideAffecting[GetBankSide(gActiveBank)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBankSide(gActiveBank)] & SIDE_STATUS_SPIKES) - && gBattleMons[gActiveBank].type1 != TYPE_FLYING && gBattleMons[gActiveBank].type2 != TYPE_FLYING && gBattleMons[gActiveBank].ability != ABILITY_LEVITATE) + if (!(gSideAffecting[GetBankSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBankSide(gActiveBattler)] & SIDE_STATUS_SPIKES) + && gBattleMons[gActiveBattler].type1 != TYPE_FLYING && gBattleMons[gActiveBattler].type2 != TYPE_FLYING && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE) { u8 spikesDmg; - gSideAffecting[GetBankSide(gActiveBank)] |= SIDE_STATUS_SPIKES_DAMAGED; + gSideAffecting[GetBankSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED; - spikesDmg = (5 - gSideTimers[GetBankSide(gActiveBank)].spikesAmount) * 2; - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / (spikesDmg); + spikesDmg = (5 - gSideTimers[GetBankSide(gActiveBattler)].spikesAmount) * 2; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (spikesDmg); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; BattleScriptPushCursor(); if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0) @@ -9599,18 +9599,18 @@ static void atk52_switchineffects(void) } else { - if (gBattleMons[gActiveBank].ability == ABILITY_TRUANT) + if (gBattleMons[gActiveBattler].ability == ABILITY_TRUANT) { - gDisableStructs[gActiveBank].truantCounter = 1; + gDisableStructs[gActiveBattler].truantCounter = 1; } - if (AbilityBattleEffects(0, gActiveBank, 0, 0, 0) == 0 && ItemBattleEffects(0, gActiveBank, 0) == 0) + if (AbilityBattleEffects(0, gActiveBattler, 0, 0, 0) == 0 && ItemBattleEffects(0, gActiveBattler, 0) == 0) { - gSideAffecting[GetBankSide(gActiveBank)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); + gSideAffecting[GetBankSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); for (i = 0; i < gNoOfAllBanks; i++) { - if (gBanksByTurnOrder[i] == gActiveBank) + if (gBanksByTurnOrder[i] == gActiveBattler) gActionsByTurnOrder[i] = 0xC; } @@ -9640,52 +9640,52 @@ static void atk52_switchineffects(void) static void atk53_trainerslidein(void) { if (!T2_READ_8(gBattlescriptCurrInstr + 1)) - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBankByIdentity(0); else - gActiveBank = GetBankByIdentity(1); + gActiveBattler = GetBankByIdentity(1); EmitTrainerSlide(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk54_playse(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; } static void atk55_fanfare(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1)); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; } static void atk56_playfaintcry(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitFaintingCry(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk57(void) { - gActiveBank = GetBankByIdentity(0); + gActiveBattler = GetBankByIdentity(0); Emitcmd55(0, gBattleOutcome); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 1; } static void atk58_returntoball(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitReturnPokeToBall(0, 1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -9708,14 +9708,14 @@ void atk59_handlelearnnewmove(void) } else { - gActiveBank = GetBankByIdentity(0); - if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) - GiveMoveToBattleMon(&gBattleMons[gActiveBank], ret); + gActiveBattler = GetBankByIdentity(0); + if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) //what is else if { - gActiveBank = GetBankByIdentity(2); - if (gBattlePartyID[gActiveBank] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) - GiveMoveToBattleMon(&gBattleMons[gActiveBank], ret); + gActiveBattler = GetBankByIdentity(2); + if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); } gBattlescriptCurrInstr = loc1; } @@ -9737,7 +9737,7 @@ void sub_8023AD8(void) static void atk5A_yesnoboxlearnmove(void) { - gActiveBank = 0; + gActiveBattler = 0; switch (gBattleStruct->atk5A_StateTracker) { case 0: @@ -9800,7 +9800,7 @@ static void atk5A_yesnoboxlearnmove(void) u16 move = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_MOVE1 + move_pos); if (IsHMMove2(move)) { - PrepareStringBattle(0x13F, gActiveBank); + PrepareStringBattle(0x13F, gActiveBattler); gBattleStruct->atk5A_StateTracker = 5; } else @@ -9893,13 +9893,13 @@ static void atk5B_yesnoboxstoplearningmove(void) static void atk5C_hitanimation(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) gBattlescriptCurrInstr += 2; - else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBank].substituteHP == 0) + else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { EmitHitAnimation(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } else @@ -10236,23 +10236,23 @@ static void atk5D_getmoneyreward(void) static void atk5E_8025A70(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (gBattleCommunication[0]) { case 0: EmitGetAttributes(0, REQUEST_ALL_BATTLE, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleCommunication[0]++; break; case 1: if (gBattleExecBuffer == 0) { int i; - struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBank][4]; + struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4]; for (i = 0; i < 4; i++) { - gBattleMons[gActiveBank].moves[i] = bufferPoke->moves[i]; - gBattleMons[gActiveBank].pp[i] = bufferPoke->pp[i]; + gBattleMons[gActiveBattler].moves[i] = bufferPoke->moves[i]; + gBattleMons[gActiveBattler].pp[i] = bufferPoke->pp[i]; } gBattlescriptCurrInstr += 2; } @@ -10262,9 +10262,9 @@ static void atk5E_8025A70(void) static void atk5F_8025B24(void) { - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; gBankAttacker = gBankTarget; - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; //what is xor... if (gHitMarker & HITMARKER_PURSUIT_TRAP) gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); @@ -10290,8 +10290,8 @@ static void atk61_drawpartystatussummary(void) if (gBattleExecBuffer) return; - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (GetBankSide(gActiveBank) == 0) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (GetBankSide(gActiveBattler) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -10310,15 +10310,15 @@ static void atk61_drawpartystatussummary(void) } } EmitDrawPartyStatusSummary(0, hpStatus, 1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk62_08025C6C(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); Emitcmd49(0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -10335,11 +10335,11 @@ static void atk64_statusanimation(void) { if (gBattleExecBuffer == 0) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + EmitStatusAnimation(0, 0, gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 2; } @@ -10350,12 +10350,12 @@ static void atk65_status2animation(void) if (gBattleExecBuffer == 0) { u32 possible_to_anim; - gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim); - MarkBufferBankForExecution(gActiveBank); + EmitStatusAnimation(0, 1, gBattleMons[gActiveBattler].status2 & possible_to_anim); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 6; } @@ -10366,12 +10366,12 @@ static void atk66_chosenstatusanimation(void) if (gBattleExecBuffer == 0) { u32 status; - gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1)); status = T1_READ_32(gBattlescriptCurrInstr + 3); - if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) + if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBattler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 7; } @@ -10474,12 +10474,12 @@ static void atk69_adjustsetdamage(void) //literally a copy of atk07 except there void atk6A_removeitem(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + USED_HELD_ITEMS(gActiveBattler) = gBattleMons[gActiveBattler].item; - gBattleMons[gActiveBank].item = 0; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].item = 0; + EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -10933,16 +10933,16 @@ static void atk6E_setatktoplayer0(void) static void atk6F_makevisible(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); EmitSpriteInvisibility(0, 0); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } static void atk70_recordlastability(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); gBattlescriptCurrInstr += 1; //buggy, should be += 2, one byte for command, one byte for argument... } @@ -10975,8 +10975,8 @@ static void atk73_hpthresholds(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - opposing_bank = gActiveBank ^ 1; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + opposing_bank = gActiveBattler ^ 1; result = gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP; if (result == 0) @@ -11002,8 +11002,8 @@ static void atk74_hpthresholds2(void) s32 result; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - opposing_bank = gActiveBank ^ 1; + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + opposing_bank = gActiveBattler ^ 1; hp_switchout = ewram160BCarr(GetBankSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBankSide(opposing_bank)]; result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout; @@ -11029,11 +11029,11 @@ static void atk75_useitemonopponent(void) static void atk76_various(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); break; case 1: { @@ -11043,7 +11043,7 @@ static void atk76_various(void) if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) gBankTarget = gSideTimers[side].followmeTarget; else - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; } break; case 2: @@ -11053,14 +11053,14 @@ static void atk76_various(void) gBankTarget = GetMoveTarget(gCurrentMove, 0); break; case 4: - if (gHitMarker & HITMARKER_FAINTED(gActiveBank)) + if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) gBattleCommunication[0] = 1; else gBattleCommunication[0] = 0; break; case 5: - gSpecialStatuses[gActiveBank].intimidatedPoke = 0; - gSpecialStatuses[gActiveBank].traced = 0; + gSpecialStatuses[gActiveBattler].intimidatedPoke = 0; + gSpecialStatuses[gActiveBattler].traced = 0; break; case 6: { @@ -11073,15 +11073,15 @@ static void atk76_various(void) if (gBattlePartyID[0] == gBattlePartyID[2]) { ACTIVE_0: - gActiveBank = 0; + gActiveBattler = 0; } else - gActiveBank = 2; + gActiveBattler = 2; - choiced_move = CHOICED_MOVE(gActiveBank); + choiced_move = CHOICED_MOVE(gActiveBattler); for (i = 0; i < 4; i++) { - if (gBattleMons[gActiveBank].moves[i] == *choiced_move) + if (gBattleMons[gActiveBattler].moves[i] == *choiced_move) break; } if (i == 4) @@ -11140,10 +11140,10 @@ static void atk78_faintifabilitynotdamp(void) if (gBankTarget == gNoOfAllBanks) { - gActiveBank = gBankAttacker; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; + gActiveBattler = gBankAttacker; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; EmitHealthBarUpdate(0, 0x7FFF); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) @@ -11167,10 +11167,10 @@ static void atk79_setatkhptozero(void) if (gBattleExecBuffer) return; - gActiveBank = gBankAttacker; - gBattleMons[gActiveBank].hp = 0; - EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBank].hp); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + gBattleMons[gActiveBattler].hp = 0; + EmitSetMonData(0, REQUEST_HP_BATTLE, 0, 2, &gBattleMons[gActiveBattler].hp); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; } @@ -11342,7 +11342,7 @@ static void atk80_manipulatedamage(void) static void atk81_trysetrest(void) { u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1); - gActiveBank = gBankTarget = gBankAttacker; + gActiveBattler = gBankTarget = gBankAttacker; gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1); if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP) gBattlescriptCurrInstr = fail_loc; @@ -11354,8 +11354,8 @@ static void atk81_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattleMons[gBankTarget].status1 = 3; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; } } @@ -11504,9 +11504,9 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) u32 index; if (flags & MOVE_EFFECT_AFFECTS_USER) - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; else - gActiveBank = gBankTarget; + gActiveBattler = gBankTarget; flags &= ~(MOVE_EFFECT_AFFECTS_USER); @@ -11522,21 +11522,21 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if ((statValue << 0x18) < 0) // stat decrease { - if (gSideTimers[GET_BANK_SIDE(gActiveBank)].mistTimer + if (gSideTimers[GET_BANK_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_BS_PTR) { - if (gSpecialStatuses[gActiveBank].statLowered) + if (gSpecialStatuses[gActiveBattler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_MistProtected; - gSpecialStatuses[gActiveBank].statLowered = 1; + gSpecialStatuses[gActiveBattler].statLowered = 1; } } return STAT_CHANGE_DIDNT_WORK; @@ -11547,55 +11547,55 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } - else if ((gBattleMons[gActiveBank].ability == ABILITY_CLEAR_BODY - || gBattleMons[gActiveBank].ability == ABILITY_WHITE_SMOKE) + else if ((gBattleMons[gActiveBattler].ability == ABILITY_CLEAR_BODY + || gBattleMons[gActiveBattler].ability == ABILITY_WHITE_SMOKE) && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_BS_PTR) { - if (gSpecialStatuses[gActiveBank].statLowered) + if (gSpecialStatuses[gActiveBattler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); - gSpecialStatuses[gActiveBank].statLowered = 1; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + gSpecialStatuses[gActiveBattler].statLowered = 1; } } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_KEEN_EYE + else if (gBattleMons[gActiveBattler].ability == ABILITY_KEEN_EYE && !certain && statId == STAT_STAGE_ACC) { if (flags == STAT_CHANGE_BS_PTR) { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoSpecificStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_HYPER_CUTTER + else if (gBattleMons[gActiveBattler].ability == ABILITY_HYPER_CUTTER && !certain && statId == STAT_STAGE_ATK) { if (flags == STAT_CHANGE_BS_PTR) { BattleScriptPush(BS_ptr); - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gBattlescriptCurrInstr = BattleScript_AbilityNoSpecificStatLoss; - gLastUsedAbility = gBattleMons[gActiveBank].ability; - RecordAbilityBattle(gActiveBank, gLastUsedAbility); + gLastUsedAbility = gBattleMons[gActiveBattler].ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); } return STAT_CHANGE_DIDNT_WORK; } - else if (gBattleMons[gActiveBank].ability == ABILITY_SHIELD_DUST && flags == 0) + else if (gBattleMons[gActiveBattler].ability == ABILITY_SHIELD_DUST && flags == 0) { return STAT_CHANGE_DIDNT_WORK; } @@ -11619,10 +11619,10 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) index++; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBank].statStages[statId] == 0) + if (gBattleMons[gActiveBattler].statStages[statId] == 0) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBank); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBattler); } } @@ -11646,17 +11646,17 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) index++; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBank].statStages[statId] == 0xC) + if (gBattleMons[gActiveBattler].statStages[statId] == 0xC) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else - gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBank); + gBattleCommunication[MULTISTRING_CHOOSER] = (gBankTarget == gActiveBattler); } - gBattleMons[gActiveBank].statStages[statId] += statValue; - if (gBattleMons[gActiveBank].statStages[statId] < 0) - gBattleMons[gActiveBank].statStages[statId] = 0; - if (gBattleMons[gActiveBank].statStages[statId] > 0xC) - gBattleMons[gActiveBank].statStages[statId] = 0xC; + gBattleMons[gActiveBattler].statStages[statId] += statValue; + if (gBattleMons[gActiveBattler].statStages[statId] < 0) + gBattleMons[gActiveBattler].statStages[statId] = 0; + if (gBattleMons[gActiveBattler].statStages[statId] > 0xC) + gBattleMons[gActiveBattler].statStages[statId] = 0xC; if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_CHANGE_BS_PTR) gBattleMoveFlags |= MOVESTATUS_MISSED; @@ -12458,26 +12458,26 @@ static void atk98_updatestatusicon(void) if (T2_READ_8(gBattlescriptCurrInstr + 1) != 4) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } else { - gActiveBank = gBankAttacker; - if (!(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = gBankAttacker; + if (!(gAbsentBankFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (!(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); + if (!(gAbsentBankFlags & gBitTable[gActiveBattler])) { - EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2); - MarkBufferBankForExecution(gActiveBank); + EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); + MarkBufferBankForExecution(gActiveBattler); } } gBattlescriptCurrInstr += 2; @@ -12554,9 +12554,9 @@ static void atk9B_transformdataexecution(void) gBattleMons[gBankAttacker].pp[j] = 5; } - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitResetActionMoveSelection(0, 2); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 0; } } @@ -13387,7 +13387,7 @@ static void atkA8_copymovepermanently(void) struct move_pp moves_data; gBattleMons[gBankAttacker].moves[gCurrMovePos] = gUnknown_02024C2C[gBankTarget]; gBattleMons[gBankAttacker].pp[gCurrMovePos] = gBattleMoves[gUnknown_02024C2C[gBankTarget]].pp; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; for (i = 0; i < 4; i++) { moves_data.move[i] = gBattleMons[gBankAttacker].moves[i]; @@ -13395,7 +13395,7 @@ static void atkA8_copymovepermanently(void) } moves_data.ppBonuses = gBattleMons[gBankAttacker].ppBonuses; EmitSetMonData(0, REQUEST_MOVES_PP_BATTLE, 0, sizeof(struct move_pp), &moves_data); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; gBattleTextBuff1[2] = gUnknown_02024C2C[gBankTarget]; @@ -13533,12 +13533,12 @@ static void atkAD_tryspiteppreduce(void) gBattleTextBuff2[5] = 0xFF; gBattleMons[gBankTarget].pp[i] -= lost_pp; - gActiveBank = gBankTarget; - if (!(gDisableStructs[gActiveBank].unk18_b & gBitTable[i]) - && !(gBattleMons[gActiveBank].status2 & STATUS2_TRANSFORMED)) + gActiveBattler = gBankTarget; + if (!(gDisableStructs[gActiveBattler].unk18_b & gBitTable[i]) + && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) { - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBank].pp[i]); - MarkBufferBankForExecution(gActiveBank); + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBufferBankForExecution(gActiveBattler); } gBattlescriptCurrInstr += 5; if (gBattleMons[gBankTarget].pp[i] == 0) @@ -13575,16 +13575,16 @@ static void atkAE_healpartystatus(void) gBattleCommunication[MULTISTRING_CHOOSER] |= 1; } - gActiveBank = gBattleStruct->scriptingActive = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank])) + gActiveBattler = gBattleStruct->scriptingActive = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler])) { - if (gBattleMons[gActiveBank].ability != ABILITY_SOUNDPROOF) + if (gBattleMons[gActiveBattler].ability != ABILITY_SOUNDPROOF) { - gBattleMons[gActiveBank].status1 = 0; + gBattleMons[gActiveBattler].status1 = 0; } else { - RecordAbilityBattle(gActiveBank, gBattleMons[gActiveBank].ability); + RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); gBattleCommunication[MULTISTRING_CHOOSER] |= 2; } } @@ -13598,8 +13598,8 @@ static void atkAE_healpartystatus(void) u8 ability; if (gBattlePartyID[gBankAttacker] == i) ability = gBattleMons[gBankAttacker].ability; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[gActiveBank] == i && !(gAbsentBankFlags & gBitTable[gActiveBank])) - ability = gBattleMons[gActiveBank].ability; + else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[gActiveBattler] == i && !(gAbsentBankFlags & gBitTable[gActiveBattler])) + ability = gBattleMons[gActiveBattler].ability; else ability = GetAbilityBySpecies(species, abilityBit); if (ability != ABILITY_SOUNDPROOF) @@ -13613,15 +13613,15 @@ static void atkAE_healpartystatus(void) to_heal = 0x3F; gBattleMons[gBankAttacker].status1 = zero2; - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank])) - gBattleMons[gActiveBank].status1 = 0; + gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler])) + gBattleMons[gActiveBattler].status1 = 0; } //missing check? - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; EmitSetMonData(0, REQUEST_STATUS_BATTLE, to_heal, 4, &zero); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; } @@ -13675,8 +13675,8 @@ static void atkB2_trysetperishsong(void) else { gStatuses3[i] |= STATUS3_PERISH_SONG; - gDisableStructs[i].perishSong1 = 3; - gDisableStructs[i].perishSong2 = 3; + gDisableStructs[i].perishSongTimer1 = 3; + gDisableStructs[i].perishSongTimer2 = 3; } } @@ -14552,10 +14552,10 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { - gActiveBank = gBankAttacker; - gBattleMoveDamage = gBattleMons[gActiveBank].hp; + gActiveBattler = gBankAttacker; + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; EmitHealthBarUpdate(0, 0x7FFF); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; } } @@ -14590,9 +14590,9 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh { gBattleMons[gBankAttacker].status1 = 0; gBattlescriptCurrInstr += 5; - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); } else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -14841,7 +14841,7 @@ _0802A36C:\n\ add r0, r9\n\ mov r3, r10\n\ strh r3, [r0, 0x2E]\n\ - ldr r5, _0802A460 @ =gActiveBank\n\ + ldr r5, _0802A460 @ =gActiveBattler\n\ ldr r1, _0802A45C @ =gBankAttacker\n\ ldrb r0, [r1]\n\ strb r0, [r5]\n\ @@ -14937,7 +14937,7 @@ _0802A36C:\n\ .align 2, 0\n\ _0802A458: .4byte gSharedMem + 0x160F0\n\ _0802A45C: .4byte gBankAttacker\n\ -_0802A460: .4byte gActiveBank\n\ +_0802A460: .4byte gActiveBattler\n\ _0802A464: .4byte 0xfffe9f10\n\ _0802A468: .4byte 0x000160e8\n\ _0802A46C: .4byte 0x000160e9\n\ @@ -15449,13 +15449,13 @@ static void atkE1_trygetintimidatetarget(void) static void atkE2_switchoutabilities(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - switch (gBattleMons[gActiveBank].ability) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + switch (gBattleMons[gActiveBattler].ability) { case ABILITY_NATURAL_CURE: - gBattleMons[gActiveBank].status1 = 0; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[ewram16064arr(gActiveBank)], 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].status1 = 0; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, gBitTable[ewram16064arr(gActiveBattler)], 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } gBattlescriptCurrInstr += 2; @@ -15463,8 +15463,8 @@ static void atkE2_switchoutabilities(void) static void atkE3_jumpifhasnohp(void) { - gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (gBattleMons[gActiveBank].hp == 0) + gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); + if (gBattleMons[gActiveBattler].hp == 0) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2); else gBattlescriptCurrInstr += 6; @@ -15535,11 +15535,11 @@ static void atkE5_pickup(void) static void atkE6_docastformchangeanimation(void) { - gActiveBank = gBattleStruct->scriptingActive; - if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) + gActiveBattler = gBattleStruct->scriptingActive; + if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) gBattleStruct->castformToChangeInto |= 0x80; EmitBattleAnimation(0, B_ANIM_CASTFORM_CHANGE, gBattleStruct->castformToChangeInto); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; } @@ -15605,15 +15605,15 @@ static void atkE9_setweatherballtype(void) static void atkEA_tryrecycleitem(void) { u16* used_item; - gActiveBank = gBankAttacker; - used_item = USED_HELD_ITEM(gActiveBank); - if (*used_item && gBattleMons[gActiveBank].item == 0) + gActiveBattler = gBankAttacker; + used_item = USED_HELD_ITEM(gActiveBattler); + if (*used_item && gBattleMons[gActiveBattler].item == 0) { gLastUsedItem = *used_item; *used_item = 0; - gBattleMons[gActiveBank].item = gLastUsedItem; - EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBank].item); - MarkBufferBankForExecution(gActiveBank); + gBattleMons[gActiveBattler].item = gLastUsedItem; + EmitSetMonData(0, REQUEST_HELDITEM_BATTLE, 0, 2, &gBattleMons[gActiveBattler].item); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 5; } else @@ -15638,15 +15638,15 @@ static void atkEB_settypetoterrain(void) static void atkEC_pursuitrelated(void) { - gActiveBank = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBank]) && gActionForBanks[gActiveBank] == 0 && gChosenMovesByBanks[gActiveBank] == MOVE_PURSUIT) + gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler]) && gActionForBanks[gActiveBattler] == 0 && gChosenMovesByBanks[gActiveBattler] == MOVE_PURSUIT) { - gActionsByTurnOrder[gActiveBank] = 11; + gActionsByTurnOrder[gActiveBattler] = 11; gCurrentMove = MOVE_PURSUIT; gBattlescriptCurrInstr += 5; gBattleStruct->animTurn = 1; gBattleStruct->unk160A7 = gBankAttacker; - gBankAttacker = gActiveBank; + gBankAttacker = gActiveBattler; } else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); @@ -15689,18 +15689,18 @@ void atkEF_handleballthrow(void) if (gBattleExecBuffer) return; - gActiveBank = gBankAttacker; + gActiveBattler = gBankAttacker; gBankTarget = gBankAttacker ^ 1; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { EmitBallThrow(0, 5); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { EmitBallThrow(0, 4); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } else @@ -15778,7 +15778,7 @@ void atkEF_handleballthrow(void) if (odds > 254) //poke caught { EmitBallThrow(0, 4); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) @@ -15795,7 +15795,7 @@ void atkEF_handleballthrow(void) if (gLastUsedItem == ITEM_MASTER_BALL) shakes = 4; //why calculate the shakes before that check? EmitBallThrow(0, shakes); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); if (shakes == 4) //poke caught, copy of the code above { gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 564d8b518..0e27c0a8c 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -23,7 +23,7 @@ #include "graphics.h" extern u8 gBattleBufferA[][0x200]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[]; extern u8 gBanksBySide[]; @@ -154,36 +154,36 @@ void sub_80313A0(struct Sprite *sprite) void move_anim_start_t2_for_situation(u8 a, u32 b) { - ewram17810[gActiveBank].unk0_4 = 1; + ewram17810[gActiveBattler].unk0_4 = 1; if (a == 0) { if (b == 0x20) - move_anim_start_t2(gActiveBank, 6); + move_anim_start_t2(gActiveBattler, 6); else if (b == 8 || (b & 0x80)) - move_anim_start_t2(gActiveBank, 0); + move_anim_start_t2(gActiveBattler, 0); else if (b == 0x10) - move_anim_start_t2(gActiveBank, 2); + move_anim_start_t2(gActiveBattler, 2); else if (b & 7) - move_anim_start_t2(gActiveBank, 4); + move_anim_start_t2(gActiveBattler, 4); else if (b == 0x40) - move_anim_start_t2(gActiveBank, 5); + move_anim_start_t2(gActiveBattler, 5); else - ewram17810[gActiveBank].unk0_4 = 0; + ewram17810[gActiveBattler].unk0_4 = 0; } else { if (b & 0x000F0000) - move_anim_start_t2(gActiveBank, 3); + move_anim_start_t2(gActiveBattler, 3); else if (b & 7) - move_anim_start_t2(gActiveBank, 1); + move_anim_start_t2(gActiveBattler, 1); else if (b & 0x10000000) - move_anim_start_t2(gActiveBank, 7); + move_anim_start_t2(gActiveBattler, 7); else if (b & 0x08000000) - move_anim_start_t2(gActiveBank, 8); + move_anim_start_t2(gActiveBattler, 8); else if (b & 0x0000E000) - move_anim_start_t2(gActiveBank, 9); + move_anim_start_t2(gActiveBattler, 9); else - ewram17810[gActiveBank].unk0_4 = 0; + ewram17810[gActiveBattler].unk0_4 = 0; } } @@ -274,7 +274,7 @@ bool8 mplay_80342A4(u8 a) if (IsSEPlaying()) { ewram17810[a].unk8++; - if (ewram17810[gActiveBank].unk8 < 30) + if (ewram17810[gActiveBattler].unk8 < 30) return TRUE; m4aMPlayStop(&gMPlay_SE1); m4aMPlayStop(&gMPlay_SE2); diff --git a/src/battle/battle_9.c b/src/battle/battle_9.c new file mode 100755 index 000000000..d9a1ee97e --- /dev/null +++ b/src/battle/battle_9.c @@ -0,0 +1,27 @@ +#include "global.h" +#include "battle.h" +#include "ewram.h" +#include "pokemon.h" +#include "random.h" +#include "rom_8077ABC.h" +#include "rom3.h" +#include "constants/abilities.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" + +extern u8 gActiveBattler; +extern u32 gStatuses3[BATTLE_BANKS_COUNT]; + +/*static*/ bool8 ShouldSwitchIfPerishSong(void) +{ + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG + && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) + { + ewram160C8arr(GetBankIdentity(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBankIdentity(gActiveBattler)] = 6; + Emitcmd33(1, 2, 0); + return TRUE; + } + + return FALSE; +} diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 629a57d25..f285d2644 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -17,7 +17,7 @@ extern u8 gUnknown_02023A14_50; extern u32 gUnknown_02023A14_4C; extern u16 gBattleTypeFlags; extern u16 gBattleWeather; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u16 gBattlePartyID[MAX_BANKS_BATTLE]; extern u16 gCurrentMove; extern int gBattleMoveDamage; @@ -303,7 +303,7 @@ void BattleAI_SetupAIData(void) for (i = 0; i < MAX_MON_MOVES; i++) AI_THINKING_STRUCT->score[i] = 100; - limitations = CheckMoveLimitations(gActiveBank, 0, 0xFF); + limitations = CheckMoveLimitations(gActiveBattler, 0, 0xFF); // do not consider moves the AI cannot select // also, roll simulated RNG for moves that have a degree of @@ -318,7 +318,7 @@ void BattleAI_SetupAIData(void) // clear AI stack. AI_STACK->size = 0; - gBankAttacker = gActiveBank; + gBankAttacker = gActiveBattler; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -328,7 +328,7 @@ void BattleAI_SetupAIData(void) gBankTarget ^= 2; } else - gBankTarget = gActiveBank ^ 1; + gBankTarget = gActiveBattler ^ 1; // special AI flag cases. if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) @@ -1885,7 +1885,7 @@ static void BattleAICmd_if_encored(void) switch (gAIScriptPtr[1]) { case 0: // _08109348 - if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBattler].disabledMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; @@ -1893,7 +1893,7 @@ static void BattleAICmd_if_encored(void) gAIScriptPtr += 6; return; case 1: // _08109370 - if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered) + if (gDisableStructs[gActiveBattler].encoredMove == AI_THINKING_STRUCT->moveConsidered) { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); return; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index 21ac62401..f1cb34bdf 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -25,7 +25,7 @@ struct MovePpInfo u8 ppBonuses; }; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; extern u8 gBankSpriteIds[]; extern u16 gBattlePartyID[]; @@ -250,15 +250,15 @@ void nullsub_47(void) void SetBankFuncToLinkOpponentBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = sub_803752C; + gBattleBankFunc[gActiveBattler] = sub_803752C; } void sub_803752C(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] <= 0x38) - gLinkOpponentBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] <= 0x38) + gLinkOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); else LinkOpponentBufferExecCompleted(); } @@ -266,27 +266,27 @@ void sub_803752C(void) void sub_803757C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkOpponentBufferExecCompleted(); } void sub_80375B4(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - sub_8031B74(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBank]].data[5]; - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + sub_8031B74(gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam); + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBattler]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); LinkOpponentBufferExecCompleted(); } } void sub_8037644(void) { - if ((--ewram17810[gActiveBank].unk9) == 0xFF) + if ((--ewram17810[gActiveBattler].unk9) == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; LinkOpponentBufferExecCompleted(); } } @@ -297,13 +297,13 @@ void sub_8037680(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) @@ -311,88 +311,88 @@ void sub_8037680(void) if (r6) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBankIdentity(gActiveBattler) == 1) { - if (!ewram17810[gActiveBank].unk1_0 || !ewram17810[gActiveBank ^ 2].unk1_0) + if (!ewram17810[gActiveBattler].unk1_0 || !ewram17810[gActiveBattler ^ 2].unk1_0) return; - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) == 1) + if (GetBankIdentity(gActiveBattler) == 1) m4aMPlayContinue(&gMPlay_BGM); } else { m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); } - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_8037644; + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_8037644; } } void sub_8037840(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { - if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBankIdentity(gActiveBank) == 3) + if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBankIdentity(gActiveBattler) == 3) { - if (++ewram17810[gActiveBank].unk9 == 1) + if (++ewram17810[gActiveBattler].unk9 == 1) return; - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; } if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBank ^ 2], - &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], + gHealthboxIDs[gActiveBattler ^ 2], + &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); sub_8032984( - gActiveBank ^ 2, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], MON_DATA_SPECIES)); + gActiveBattler ^ 2, + GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlePartyID[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8032984( - gActiveBank, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + gActiveBattler, + GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_8037680; + gBattleBankFunc[gActiveBattler] = sub_8037680; } } void sub_8037A74(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded == TRUE - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded == TRUE + && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) { - if (!ewram17810[gActiveBank].unk0_7) + if (!ewram17810[gActiveBattler].unk0_7) { - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); return; } - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); LinkOpponentBufferExecCompleted(); @@ -403,32 +403,32 @@ void sub_8037A74(void) void sub_8037B24(void) { - s16 r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); else LinkOpponentBufferExecCompleted(); } void sub_8037B78(void) { - if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) + if (!gSprites[gBankSpriteIds[gActiveBattler]].inUse) { - sub_8043DB0(gHealthboxIDs[gActiveBank]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } void sub_8037BBC(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } @@ -441,7 +441,7 @@ void sub_8037C2C(void) void dp01t_0F_4_move_anim(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -460,17 +460,17 @@ void dp01t_0F_4_move_anim(void) void sub_8037CC0(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_8037D2C; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_8037D2C; } } void sub_8037D2C(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { CreateTask(c3_0802FDF4, 10); LinkOpponentBufferExecCompleted(); @@ -479,34 +479,34 @@ void sub_8037D2C(void) void sub_8037D64(void) { - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlePartyID[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8037CC0; + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_8037CC0; } } void sub_8037E30(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8037D64; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8037D64; } } @@ -528,7 +528,7 @@ void sub_8037F34(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { sub_800832C(); - gBattleBankFunc[gActiveBank] = sub_8037EF0; + gBattleBankFunc[gActiveBattler] = sub_8037EF0; } else { @@ -542,29 +542,29 @@ void sub_8037F34(void) void sub_8037FAC(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) LinkOpponentBufferExecCompleted(); } void sub_8037FD8(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) LinkOpponentBufferExecCompleted(); } void LinkOpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = sub_803752C; + gBattleBankFunc[gActiveBattler] = sub_803752C; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } @@ -575,13 +575,13 @@ void LinkOpponentHandleGetAttributes(void) u8 r4; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlePartyID[gActiveBank], buffer); + r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlePartyID[gActiveBattler], buffer); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -603,7 +603,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -666,7 +666,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -681,7 +681,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -905,13 +905,13 @@ void LinkOpponentHandleSetAttributes(void) u8 i; u8 r4; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8038900(gBattlePartyID[gActiveBank]); + sub_8038900(gBattlePartyID[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -924,11 +924,11 @@ void LinkOpponentHandleSetAttributes(void) void sub_8038900(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -969,10 +969,10 @@ void sub_8038900(u8 a) } break; case 1: - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -986,154 +986,154 @@ void sub_8038900(u8 a) case 5: case 6: case 7: - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } } @@ -1143,36 +1143,36 @@ void LinkOpponentHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleLoadPokeSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBank, 2), - sub_8077F68(gActiveBank), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8037A74; + GetBankPosition(gActiveBattler, 2), + sub_8077F68(gActiveBattler), + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8037A74; } void LinkOpponentHandleSendOutPoke(void) { - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - sub_8039430(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_8037E30; + gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + sub_8039430(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_8037E30; } void sub_8039430(u8 a, u8 b) @@ -1202,36 +1202,36 @@ void sub_8039430(u8 a, u8 b) void LinkOpponentHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8039648; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8039648; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkOpponentBufferExecCompleted(); } } void sub_8039648(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 2); - gBattleBankFunc[gActiveBank] = sub_8037BBC; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 2); + gBattleBankFunc[gActiveBattler] = sub_8037BBC; } break; } @@ -1244,31 +1244,31 @@ void LinkOpponentHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) & 2) + if (GetBankIdentity(gActiveBattler) & 2) xOffset = -16; else xOffset = 16; - gender = gLinkPlayers[sub_803FC34(gActiveBank)].gender; + gender = gLinkPlayers[sub_803FC34(gActiveBattler)].gender; } else { xOffset = 0; gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender; } - sub_8031A6C(gender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + sub_8031A6C(gender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 176 + xOffset, 40 + 4 * (8 - gTrainerFrontPicCoords[gender].coords), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[gender].tag); - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[gender].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = gender; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_803757C; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[gender].tag); + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[gender].tag); + gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam = gender; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_803757C; } void LinkOpponentHandleTrainerSlide(void) @@ -1278,29 +1278,29 @@ void LinkOpponentHandleTrainerSlide(void) void LinkOpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_80375B4; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBattler] = sub_80375B4; } void LinkOpponentHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } - else if (!ewram17810[gActiveBank].unk0_6) + else if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; + ewram17810[gActiveBattler].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8010384; - gBattleBankFunc[gActiveBank] = sub_8037B78; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_8010384; + gBattleBankFunc[gActiveBattler] = sub_8037B78; } } @@ -1326,23 +1326,23 @@ void LinkOpponentHandlePuase(void) void LinkOpponentHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u32 r0 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] - | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] - | (gBattleBufferA[gActiveBank][7] << 8) - | (gBattleBufferA[gActiveBank][8] << 16) - | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] - | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + u32 r0 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] + | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] + | (gBattleBufferA[gActiveBattler][7] << 8) + | (gBattleBufferA[gActiveBattler][8] << 16) + | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] + | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; // Dead code. sub_8031720 always returns 0. if (sub_8031720(r0, gAnimMoveTurn) != 0) @@ -1351,34 +1351,34 @@ void LinkOpponentHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8039B64; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8039B64; } } } void sub_8039B64(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite && !ewram17800[gActiveBank].unk0_3) + if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1386,22 +1386,22 @@ void sub_8039B64(void) if (!gAnimScriptActive) { sub_80326EC(1); - if ((ewram17800[gActiveBank].substituteSprite) && r7 <= 1) + if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_8031F24(); sub_80324BC( - gActiveBank, - gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + gActiveBattler, + gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; LinkOpponentBufferExecCompleted(); } break; @@ -1412,9 +1412,9 @@ void LinkOpponentHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_8037C2C; + gBattleBankFunc[gActiveBattler] = sub_8037C2C; } void LinkOpponentHandlePrintStringPlayerOnly(void) @@ -1457,21 +1457,21 @@ void LinkOpponentHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBank] = sub_8037B24; + gBattleBankFunc[gActiveBattler] = sub_8037B24; } void LinkOpponentHandleExpBarUpdate(void) @@ -1481,25 +1481,25 @@ void LinkOpponentHandleExpBarUpdate(void) void LinkOpponentHandleStatusIconUpdate(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_8037FAC; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlePartyID[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8037FAC; } } void LinkOpponentHandleStatusAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] - | (gBattleBufferA[gActiveBank][3] << 8) - | (gBattleBufferA[gActiveBank][4] << 16) - | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_8037FAC; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] + | (gBattleBufferA[gActiveBattler][3] << 8) + | (gBattleBufferA[gActiveBattler][4] << 16) + | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_8037FAC; } } @@ -1556,7 +1556,7 @@ void LinkOpponentHandlecmd37(void) void LinkOpponentHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; LinkOpponentBufferExecCompleted(); } @@ -1574,16 +1574,16 @@ void LinkOpponentHandlecmd40(void) void LinkOpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { LinkOpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = dp01t_0F_4_move_anim; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = dp01t_0F_4_move_anim; } } @@ -1596,31 +1596,31 @@ void LinkOpponentHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleFaintingCry(void) { PlayCry3( - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), 25, 5); LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; LinkOpponentBufferExecCompleted(); } @@ -1629,42 +1629,42 @@ void LinkOpponentHandleTrainerBallThrow(void) { u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_803A3A8); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_803A3A8); taskId = CreateTask(sub_803A2C4, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBank] = nullsub_47; + gBattleBankFunc[gActiveBattler] = nullsub_47; } void sub_803A2C4(u8 taskId) { u8 r9; - r9 = gActiveBank; - gActiveBank = gTasks[taskId].data[0]; + r9 = gActiveBattler; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8039430(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_8039430(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8039430(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_8039430(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_8039430(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_8039430(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_8037840; - gActiveBank = r9; + gBattleBankFunc[gActiveBattler] = sub_8037840; + gActiveBattler = r9; DestroyTask(taskId); } @@ -1678,49 +1678,49 @@ void sub_803A3A8(struct Sprite *sprite) void LinkOpponentHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) { LinkOpponentBufferExecCompleted(); return; } - ewram17810[gActiveBank].unk0_0 = 1; - if (gBattleBufferA[gActiveBank][2] != 0) + ewram17810[gActiveBattler].unk0_0 = 1; + if (gBattleBufferA[gActiveBattler][2] != 0) { - if (ewram17810[gActiveBank].unk1_1 < 2) + if (ewram17810[gActiveBattler].unk1_1 < 2) { - ewram17810[gActiveBank].unk1_1++; + ewram17810[gActiveBattler].unk1_1++; return; } else { - ewram17810[gActiveBank].unk1_1 = 0; + ewram17810[gActiveBattler].unk1_1 = 0; } } - gUnknown_02024E68[gActiveBank] = sub_8044804( - gActiveBank, - (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_803A4E0; + gUnknown_02024E68[gActiveBattler] = sub_8044804( + gActiveBattler, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_803A4E0; } void sub_803A4E0(void) { - if (ewram17810[gActiveBank].unk5++ >= 93) + if (ewram17810[gActiveBattler].unk5++ >= 93) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; LinkOpponentBufferExecCompleted(); } } void LinkOpponentHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; LinkOpponentBufferExecCompleted(); } @@ -1731,25 +1731,25 @@ void LinkOpponentHandlecmd50(void) void LinkOpponentHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank) != 0) + if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } LinkOpponentBufferExecCompleted(); } void LinkOpponentHandleBattleAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) LinkOpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_8037FD8; + gBattleBankFunc[gActiveBattler] = sub_8037FD8; } } @@ -1765,14 +1765,14 @@ void LinkOpponentHandleResetActionMoveSelection(void) void LinkOpponentHandlecmd55(void) { - if (gBattleBufferA[gActiveBank][1] == 3) - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + if (gBattleBufferA[gActiveBattler][1] == 3) + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; else - gBattleOutcome = gBattleBufferA[gActiveBank][1] ^ 3; + gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ 3; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_8037F34; + gBattleBankFunc[gActiveBattler] = sub_8037F34; } void LinkOpponentHandlecmd56(void) diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 1d42f56c3..29c1b7235 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -32,7 +32,7 @@ struct MovePpInfo extern u16 gBattleTypeFlags; extern u8 gDisplayedStringBattle[]; extern u8 gBattleBufferA[][0x200]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; extern u16 gBattlePartyID[]; extern u8 gBankSpriteIds[]; @@ -244,15 +244,15 @@ void nullsub_74(void) void SetBankFuncToLinkPartnerBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = LinkPartnerBufferRunCommand; } void LinkPartnerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] <= 0x38) - gLinkPartnerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] <= 0x38) + gLinkPartnerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else LinkPartnerBufferExecCompleted(); } @@ -260,26 +260,26 @@ void LinkPartnerBufferRunCommand(void) void sub_811DAE4(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkPartnerBufferExecCompleted(); } void sub_811DB1C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_10(0); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); LinkPartnerBufferExecCompleted(); } } void sub_811DB84(void) { - if ((--ewram17810[gActiveBank].unk9) == 0xFF) + if ((--ewram17810[gActiveBattler].unk9) == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; LinkPartnerBufferExecCompleted(); } } @@ -290,21 +290,21 @@ void sub_811DBC0(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & 0x40))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) r6 = FALSE; if (r6) { - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_811DB84; + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_811DB84; } } @@ -312,34 +312,34 @@ void sub_811DCA0(void) { u8 r2; - if (!ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3) { // I couldn't get it to work as a bitfield here - r2 = *((u8 *)&ewram17810[gActiveBank ^ 2]) & 8; - if (!r2 && (++ewram17810[gActiveBank].unk9) != 1) + r2 = *((u8 *)&ewram17810[gActiveBattler ^ 2]) & 8; + if (!r2 && (++ewram17810[gActiveBattler].unk9) != 1) { - ewram17810[gActiveBank].unk9 = r2; + ewram17810[gActiveBattler].unk9 = r2; if (IsDoubleBattle() && !(gBattleTypeFlags & 0x40)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBank ^ 2], &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], 0); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); (s8)ewram17810[4].unk9 &= ~1; - gBattleBankFunc[gActiveBank] = sub_811DBC0; + gBattleBankFunc[gActiveBattler] = sub_811DBC0; } } } void sub_811DDE8(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded + && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) LinkPartnerBufferExecCompleted(); } @@ -347,38 +347,38 @@ void bx_t3_healthbar_update(void) { s16 r4; - r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); LinkPartnerBufferExecCompleted(); } } void sub_811DE98(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > 160) + if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > 160) { - nullsub_9(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + nullsub_9(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } void sub_811DF34(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } @@ -391,7 +391,7 @@ void sub_811DFA0(void) void bx_blink_t3(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; @@ -411,48 +411,48 @@ void bx_blink_t3(void) void sub_811E034(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_811E0A0; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_811E0A0; } } void sub_811E0A0(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) LinkPartnerBufferExecCompleted(); } void sub_811E0CC(void) { - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_811E034; + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_811E034; } } void sub_811E1BC(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - gBattleBankFunc[gActiveBank] = sub_811E0CC; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + gBattleBankFunc[gActiveBattler] = sub_811E0CC; } } @@ -474,7 +474,7 @@ void sub_811E29C(void) if (gBattleTypeFlags & 2) { sub_800832C(); - gBattleBankFunc[gActiveBank] = sub_811E258; + gBattleBankFunc[gActiveBattler] = sub_811E258; } else { @@ -490,28 +490,28 @@ void LinkPartnerBufferExecCompleted(void) { u8 multiplayerId; - gBattleBankFunc[gActiveBank] = LinkPartnerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = LinkPartnerBufferRunCommand; if (gBattleTypeFlags & 2) { multiplayerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &multiplayerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void sub_811E38C(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) LinkPartnerBufferExecCompleted(); } void sub_811E3B8(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) LinkPartnerBufferExecCompleted(); } @@ -521,13 +521,13 @@ void LinkPartnerHandleGetAttributes(void) int r6 = 0; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBank], unk); + r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBattler], unk); } else { - u8 r4 = gBattleBufferA[gActiveBank][2]; + u8 r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { @@ -551,7 +551,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -613,7 +613,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -628,7 +628,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -852,13 +852,13 @@ void LinkPartnerHandleSetAttributes(void) u8 i; u8 r4; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_811EC68(gBattlePartyID[gActiveBank]); + sub_811EC68(gBattlePartyID[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -872,11 +872,11 @@ void LinkPartnerHandleSetAttributes(void) // Duplicate of dp01_setattr_by_ch1_for_player_pokemon void sub_811EC68(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -917,10 +917,10 @@ void sub_811EC68(u8 a) } break; case 1: - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -934,157 +934,157 @@ void sub_811EC68(u8 a) case 5: case 6: case 7: - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); } void LinkPartnerHandlecmd3(void) @@ -1092,37 +1092,37 @@ void LinkPartnerHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleLoadPokeSprite(void) { - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); GetMonSpriteTemplate_803C56C( - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), - GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), + GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBank, 2), - sub_8077F68(gActiveBank), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - gBattleBankFunc[gActiveBank] = sub_811DDE8; + GetBankPosition(gActiveBattler, 2), + sub_8077F68(gActiveBattler), + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + gBattleBankFunc[gActiveBattler] = sub_811DDE8; } void LinkPartnerHandleSendOutPoke(void) { - sub_8032AA8(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_811F864(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_811E1BC; + sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + sub_811F864(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_811E1BC; } void sub_811F864(u8 a, u8 b) @@ -1151,35 +1151,35 @@ void sub_811F864(u8 a, u8 b) void LinkPartnerHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_811FA5C; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_811FA5C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); LinkPartnerBufferExecCompleted(); } } void sub_811FA5C(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 1); - gBattleBankFunc[gActiveBank] = sub_811DF34; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); + gBattleBankFunc[gActiveBattler] = sub_811DF34; } break; } @@ -1192,28 +1192,28 @@ void LinkPartnerHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) & 2) + if (GetBankIdentity(gActiveBattler) & 2) xOffset = 16; else xOffset = -16; - gender = gLinkPlayers[sub_803FC34(gActiveBank)].gender; + gender = gLinkPlayers[sub_803FC34(gActiveBattler)].gender; } else { xOffset = 0; gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender; } - LoadPlayerTrainerBankSprite(gender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_811DAE4; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_811DAE4; } void LinkPartnerHandleTrainerSlide(void) @@ -1223,32 +1223,32 @@ void LinkPartnerHandleTrainerSlide(void) void LinkPartnerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_811DB1C; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBattler] = sub_811DB1C; } void LinkPartnerHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } - else if (!ewram17810[gActiveBank].unk0_6) + else if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + ewram17810[gActiveBattler].unk4 = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80105EC; - gBattleBankFunc[gActiveBank] = sub_811DE98; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80105EC; + gBattleBankFunc[gActiveBattler] = sub_811DE98; } } @@ -1274,56 +1274,56 @@ void LinkPartnerHandlePuase(void) void LinkPartnerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u32 r0 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] - | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] - | (gBattleBufferA[gActiveBank][7] << 8) - | (gBattleBufferA[gActiveBank][8] << 16) - | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] - | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + u32 r0 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] + | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] + | (gBattleBufferA[gActiveBattler][7] << 8) + | (gBattleBufferA[gActiveBattler][8] << 16) + | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] + | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (sub_8031720(r0, gAnimMoveTurn) != 0) LinkPartnerBufferExecCompleted(); else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_811FF30; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_811FF30; } } } void sub_811FF30(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite && !ewram17800[gActiveBank].unk0_3) + if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1331,22 +1331,22 @@ void sub_811FF30(void) if (!gAnimScriptActive) { sub_80326EC(1); - if ((ewram17800[gActiveBank].substituteSprite) && r7 <= 1) + if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_8031F24(); sub_80324BC( - gActiveBank, - gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + gActiveBattler, + gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; LinkPartnerBufferExecCompleted(); } break; @@ -1357,9 +1357,9 @@ void LinkPartnerHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_811DFA0; + gBattleBankFunc[gActiveBattler] = sub_811DFA0; } void LinkPartnerHandlePrintStringPlayerOnly(void) @@ -1402,21 +1402,21 @@ void LinkPartnerHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBank] = bx_t3_healthbar_update; + gBattleBankFunc[gActiveBattler] = bx_t3_healthbar_update; } void LinkPartnerHandleExpBarUpdate(void) @@ -1426,25 +1426,25 @@ void LinkPartnerHandleExpBarUpdate(void) void LinkPartnerHandleStatusIconUpdate(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_811E38C; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_811E38C; } } void LinkPartnerHandleStatusAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] - | (gBattleBufferA[gActiveBank][3] << 8) - | (gBattleBufferA[gActiveBank][4] << 16) - | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_811E38C; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] + | (gBattleBufferA[gActiveBattler][3] << 8) + | (gBattleBufferA[gActiveBattler][4] << 16) + | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_811E38C; } } @@ -1501,7 +1501,7 @@ void LinkPartnerHandlecmd37(void) void LinkPartnerHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; LinkPartnerBufferExecCompleted(); } @@ -1519,16 +1519,16 @@ void LinkPartnerHandlecmd40(void) void LinkPartnerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { LinkPartnerBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t3; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t3; } } @@ -1541,31 +1541,31 @@ void LinkPartnerHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleFaintingCry(void) { PlayCry3( - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), -25, 5); LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; LinkPartnerBufferExecCompleted(); } @@ -1575,25 +1575,25 @@ void LinkPartnerHandleTrainerBallThrow(void) u8 r4; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); r4 = AllocSpritePalette(0xD6F9); LoadCompressedPalette( - gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gActiveBank)].gender].data, + gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gActiveBattler)].gender].data, 0x100 + r4 * 16, 0x20); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = r4; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = r4; taskId = CreateTask(sub_812071C, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBank] = nullsub_74; + gBattleBankFunc[gActiveBattler] = nullsub_74; } void sub_812071C(u8 taskId) @@ -1606,61 +1606,61 @@ void sub_812071C(u8 taskId) return; } - r9 = gActiveBank; - gActiveBank = gTasks[taskId].data[0]; + r9 = gActiveBattler; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_811F864(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_811F864(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_811F864(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_811F864(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_811F864(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + sub_811F864(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_811DCA0; - gActiveBank = r9; + gBattleBankFunc[gActiveBattler] = sub_811DCA0; + gActiveBattler = r9; DestroyTask(taskId); } void LinkPartnerHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) { LinkPartnerBufferExecCompleted(); return; } - ewram17810[gActiveBank].unk0_0 = 1; - gUnknown_02024E68[gActiveBank] = sub_8044804( - gActiveBank, - (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_81208E0; + ewram17810[gActiveBattler].unk0_0 = 1; + gUnknown_02024E68[gActiveBattler] = sub_8044804( + gActiveBattler, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_81208E0; } void sub_81208E0(void) { - if (ewram17810[gActiveBank].unk5++ >= 93) + if (ewram17810[gActiveBattler].unk5++ >= 93) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; LinkPartnerBufferExecCompleted(); } } void LinkPartnerHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; LinkPartnerBufferExecCompleted(); } @@ -1671,25 +1671,25 @@ void LinkPartnerHandlecmd50(void) void LinkPartnerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank) != 0) + if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } LinkPartnerBufferExecCompleted(); } void LinkPartnerHandleBattleAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) LinkPartnerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_811E3B8; + gBattleBankFunc[gActiveBattler] = sub_811E3B8; } } @@ -1705,11 +1705,11 @@ void LinkPartnerHandleResetActionMoveSelection(void) void LinkPartnerHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_811E29C; + gBattleBankFunc[gActiveBattler] = sub_811E29C; } void LinkPartnerHandlecmd56(void) diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index e986eb38d..16b324f01 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -31,7 +31,7 @@ struct MovePpInfo }; extern u8 gUnknown_02023A14_50; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; extern u16 gBattlePartyID[]; extern u8 gBankSpriteIds[]; @@ -264,15 +264,15 @@ void nullsub_45(void) void SetBankFuncToOpponentBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand; + gBattleBankFunc[gActiveBattler] = OpponentBufferRunCommand; } void OpponentBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] <= 0x38) - gOpponentBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] <= 0x38) + gOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); else OpponentBufferExecCompleted(); } @@ -280,34 +280,34 @@ void OpponentBufferRunCommand(void) void sub_8032B4C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } // Duplicate of sub_8032B4C void sub_8032B84(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); } void sub_8032BBC(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { - sub_8031B74(gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam); - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBank]].data[5]; - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + sub_8031B74(gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam); + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = gSprites[gBankSpriteIds[gActiveBattler]].data[5]; + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); OpponentBufferExecCompleted(); } } void sub_8032C4C(void) { - if ((--ewram17810[gActiveBank].unk9) == 0xFF) + if ((--ewram17810[gActiveBattler].unk9) == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; OpponentBufferExecCompleted(); } } @@ -318,86 +318,86 @@ void sub_8032C88(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) r6 = FALSE; - if (r6 && ewram17810[gActiveBank].unk1_0 && ewram17810[gActiveBank ^ 2].unk1_0) + if (r6 && ewram17810[gActiveBattler].unk1_0 && ewram17810[gActiveBattler ^ 2].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) m4aMPlayContinue(&gMPlay_BGM); else m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_8032C4C; + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_8032C4C; } } void sub_8032E2C(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBank ^ 2], - &gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], + gHealthboxIDs[gActiveBattler ^ 2], + &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); sub_8032984( - gActiveBank ^ 2, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank ^ 2]], MON_DATA_SPECIES)); + gActiveBattler ^ 2, + GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlePartyID[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8032984( - gActiveBank, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); + gActiveBattler, + GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_8032C88; + gBattleBankFunc[gActiveBattler] = sub_8032C88; } } void sub_8033018(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].animEnded == TRUE - && gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].animEnded == TRUE + && gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) { - if (!ewram17810[gActiveBank].unk0_7) + if (!ewram17810[gActiveBattler].unk0_7) { - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); return; } - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); OpponentBufferExecCompleted(); @@ -408,32 +408,32 @@ void sub_8033018(void) void sub_80330C8(void) { - s16 r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); else OpponentBufferExecCompleted(); } void sub_803311C(void) { - if (!gSprites[gBankSpriteIds[gActiveBank]].inUse) + if (!gSprites[gBankSpriteIds[gActiveBattler]].inUse) { - sub_8043DB0(gHealthboxIDs[gActiveBank]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); OpponentBufferExecCompleted(); } } void sub_8033160(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); OpponentBufferExecCompleted(); } } @@ -446,7 +446,7 @@ void sub_80331D0(void) void bx_blink_t7(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -465,17 +465,17 @@ void bx_blink_t7(void) void sub_8033264(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_80332D0; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_80332D0; } } void sub_80332D0(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { CreateTask(c3_0802FDF4, 10); OpponentBufferExecCompleted(); @@ -484,53 +484,53 @@ void sub_80332D0(void) void sub_8033308(void) { - if (ewram17810[gActiveBank].unk1_0) + if (ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 0); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gEnemyParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gEnemyParty[gBattlePartyID[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8033264; + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_8033264; } } void sub_80333D4(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gEnemyParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8033308; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8033308; } } void sub_8033494(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) OpponentBufferExecCompleted(); } void sub_80334C0(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) OpponentBufferExecCompleted(); } void OpponentBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = OpponentBufferRunCommand; - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleBankFunc[gActiveBattler] = OpponentBufferRunCommand; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } void OpponentHandleGetAttributes(void) @@ -539,13 +539,13 @@ void OpponentHandleGetAttributes(void) int r6 = 0; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = sub_8033598(gBattlePartyID[gActiveBank], buffer); + r6 = sub_8033598(gBattlePartyID[gActiveBattler], buffer); } else { - u8 r4 = gBattleBufferA[gActiveBank][2]; + u8 r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { @@ -568,7 +568,7 @@ u32 sub_8033598(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES); @@ -630,7 +630,7 @@ u32 sub_8033598(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -645,7 +645,7 @@ u32 sub_8033598(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -864,11 +864,11 @@ void OpponentHandlecmd1(void) struct BattlePokemon buffer; u8 i; // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. - u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 *dst; - MEMSET_ALT(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); - Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); + MEMSET_ALT(&buffer + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); + Emitcmd29(1, gBattleBufferA[gActiveBattler][2], dst); OpponentBufferExecCompleted(); } @@ -877,13 +877,13 @@ void OpponentHandleSetAttributes(void) u8 i; u8 r4; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8033E24(gBattlePartyID[gActiveBank]); + sub_8033E24(gBattlePartyID[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -896,11 +896,11 @@ void OpponentHandleSetAttributes(void) void sub_8033E24(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -941,10 +941,10 @@ void sub_8033E24(u8 a) } break; case 1: - SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -958,154 +958,154 @@ void sub_8033E24(u8 a) case 5: case 6: case 7: - SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gEnemyParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } } @@ -1115,37 +1115,37 @@ void OpponentHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], - gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], + gBattleBufferA[gActiveBattler][2], i, dst); OpponentBufferExecCompleted(); } void OpponentHandleLoadPokeSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBank]], gActiveBank); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBank, 2), - sub_8077F68(gActiveBank), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = species; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], gBattleMonForms[gActiveBank]); - sub_8032984(gActiveBank, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES)); - gBattleBankFunc[gActiveBank] = sub_8033018; + GetBankPosition(gActiveBattler, 2), + sub_8077F68(gActiveBattler), + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = species; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + gBattleBankFunc[gActiveBattler] = sub_8033018; } void OpponentHandleSendOutPoke(void) { - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; + gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; - sub_803495C(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_80333D4; + sub_803495C(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_80333D4; } void sub_803495C(u8 a, u8 b) @@ -1175,36 +1175,36 @@ void sub_803495C(u8 a, u8 b) void OpponentHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8034B74; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8034B74; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8032A08(gActiveBank); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8032A08(gActiveBattler); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); OpponentBufferExecCompleted(); } } void sub_8034B74(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 2); - gBattleBankFunc[gActiveBank] = sub_8033160; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 2); + gBattleBankFunc[gActiveBattler] = sub_8033160; } break; } @@ -1232,21 +1232,21 @@ void OpponentHandleTrainerThrow(void) trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; } - sub_8031A6C(trainerPicIndex, gActiveBank); - GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + sub_8031A6C(trainerPicIndex, gActiveBattler); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_8032B4C; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_8032B4C; } void OpponentHandleTrainerSlide(void) @@ -1262,49 +1262,49 @@ void OpponentHandleTrainerSlide(void) else trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; - sub_8031A6C(trainerPicIndex, gActiveBank); - GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + sub_8031A6C(trainerPicIndex, gActiveBattler); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicIndex].coords), 0x1E); - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 96; - gSprites[gBankSpriteIds[gActiveBank]].pos1.x += 32; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum; - gSprites[gBankSpriteIds[gActiveBank]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); - gSprites[gBankSpriteIds[gActiveBank]].oam.affineParam = trainerPicIndex; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_8032B84; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 96; + gSprites[gBankSpriteIds[gActiveBattler]].pos1.x += 32; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.tileNum = GetSpriteTileStartByTag(gTrainerFrontPicTable[trainerPicIndex].tag); + gSprites[gBankSpriteIds[gActiveBattler]].oam.affineParam = trainerPicIndex; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_8032B84; } void OpponentHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - gBattleBankFunc[gActiveBank] = sub_8032BBC; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + gBattleBankFunc[gActiveBattler] = sub_8032BBC; } void OpponentHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } - else if (!ewram17810[gActiveBank].unk0_6) + else if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; + ewram17810[gActiveBattler].unk4 = 0; PlaySE12WithPanning(SE_POKE_DEAD, 63); - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_8010384; - gBattleBankFunc[gActiveBank] = sub_803311C; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_8010384; + gBattleBankFunc[gActiveBattler] = sub_803311C; } } @@ -1330,23 +1330,23 @@ void OpponentHandlePuase(void) void OpponentHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u32 r0 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] - | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] - | (gBattleBufferA[gActiveBank][7] << 8) - | (gBattleBufferA[gActiveBank][8] << 16) - | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] - | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + u32 r0 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] + | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] + | (gBattleBufferA[gActiveBattler][7] << 8) + | (gBattleBufferA[gActiveBattler][8] << 16) + | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] + | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; // Dead code. sub_8031720 always returns 0. if (sub_8031720(r0, gAnimMoveTurn) != 0) @@ -1355,34 +1355,34 @@ void OpponentHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8035238; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8035238; } } } void sub_8035238(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite && !ewram17800[gActiveBank].unk0_3) + if (ewram17800[gActiveBattler].substituteSprite && !ewram17800[gActiveBattler].unk0_3) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1390,22 +1390,22 @@ void sub_8035238(void) if (!gAnimScriptActive) { sub_80326EC(1); - if ((ewram17800[gActiveBank].substituteSprite) && r7 <= 1) + if ((ewram17800[gActiveBattler].substituteSprite) && r7 <= 1) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { sub_8031F24(); sub_80324BC( - gActiveBank, - gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + gActiveBattler, + gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; OpponentBufferExecCompleted(); } break; @@ -1416,9 +1416,9 @@ void OpponentHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_80331D0; + gBattleBankFunc[gActiveBattler] = sub_80331D0; } void OpponentHandlePrintStringPlayerOnly(void) @@ -1447,7 +1447,7 @@ void OpponentHandlecmd20(void) mov r6, r9\n\ mov r5, r8\n\ push {r5, r6, r7}\n\ - ldr r6, ._549 @ gActiveBank\n\ + ldr r6, ._549 @ gActiveBattler\n\ ldrb r0, [r6]\n\ lsl r0, r0, #0x9\n\ ldr r1, ._549 + 4 @ gBattleBufferA\n\ @@ -1489,7 +1489,7 @@ void OpponentHandlecmd20(void) ._550:\n\ .align 2, 0\n\ ._549:\n\ - .word gActiveBank\n\ + .word gActiveBattler\n\ .word gBattleBufferA+4\n\ .word gUnknown_02023A14_50\n\ .word gBattleMoves\n\ @@ -1688,7 +1688,7 @@ void OpponentHandlecmd20(void) and r0, r0, r1\n\ cmp r0, #0\n\ beq ._577 @cond_branch\n\ - ldr r0, ._579 + 4 @ gActiveBank\n\ + ldr r0, ._579 + 4 @ gActiveBattler\n\ ldrb r2, [r0]\n\ lsl r2, r2, #0x8\n\ b ._578\n\ @@ -1696,7 +1696,7 @@ void OpponentHandlecmd20(void) .align 2, 0\n\ ._579:\n\ .word gBattleMoves\n\ - .word gActiveBank\n\ + .word gActiveBattler\n\ ._577:\n\ ldr r0, ._583 @ gBattleTypeFlags\n\ ldrh r1, [r0]\n\ @@ -1751,7 +1751,7 @@ void OpponentHandlecmd20(void) { u16 r4; // Needed to match closer - struct {u16 moves[4];} *r5 = (void *)&gBattleBufferA[gActiveBank][4]; + struct {u16 moves[4];} *r5 = (void *)&gBattleBufferA[gActiveBattler][4]; if (gBattleTypeFlags & 0x498) { @@ -1767,7 +1767,7 @@ void OpponentHandlecmd20(void) break; default: if (gBattleMoves[r5->moves[r4]].target & 0x12) - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; if (gBattleMoves[r5->moves[r4]].target & 8) { gBankTarget = GetBankByIdentity(0); @@ -1793,7 +1793,7 @@ void OpponentHandlecmd20(void) if (gBattleMoves[r2].target & 0x12) { - r4 |= gActiveBank << 8; + r4 |= gActiveBattler << 8; Emitcmd33(1, 10, r4); } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -1817,7 +1817,7 @@ void OpponentHandlecmd20(void) { asm(".syntax unified\n\ push {r4-r6,lr}\n\ - ldr r6, _0803545C @ =gActiveBank\n\ + ldr r6, _0803545C @ =gActiveBattler\n\ ldrb r0, [r6]\n\ lsls r0, 9\n\ ldr r1, _08035460 @ =gBattleBufferA+4\n\ @@ -1841,7 +1841,7 @@ void OpponentHandlecmd20(void) movs r1, 0x4\n\ b _0803546C\n\ .align 2, 0\n\ -_0803545C: .4byte gActiveBank\n\ +_0803545C: .4byte gActiveBattler\n\ _08035460: .4byte gBattleBufferA+4\n\ _08035464: .4byte gBattleTypeFlags\n\ _08035468:\n\ @@ -1934,7 +1934,7 @@ _080354FA:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0803553C\n\ - ldr r0, _08035538 @ =gActiveBank\n\ + ldr r0, _08035538 @ =gActiveBattler\n\ ldrb r0, [r0]\n\ lsls r0, 8\n\ orrs r4, r0\n\ @@ -1945,7 +1945,7 @@ _080354FA:\n\ b _08035586\n\ .align 2, 0\n\ _08035534: .4byte gBattleMoves\n\ -_08035538: .4byte gActiveBank\n\ +_08035538: .4byte gActiveBattler\n\ _0803553C:\n\ ldr r0, _0803556C @ =gBattleTypeFlags\n\ ldrh r1, [r0]\n\ @@ -1994,7 +1994,7 @@ _0803558A:\n\ void OpponentHandleOpenBag(void) { // What is this? - Emitcmd35(1, ewram160D4(gActiveBank)); + Emitcmd35(1, ewram160D4(gActiveBattler)); OpponentBufferExecCompleted(); } @@ -2002,7 +2002,7 @@ void OpponentHandlecmd22(void) { s32 r4; - if (ewram160C8arr(GetBankIdentity(gActiveBank)) == 6) + if (ewram160C8arr(GetBankIdentity(gActiveBattler)) == 6) { u8 r6; u8 r5; @@ -2031,10 +2031,10 @@ void OpponentHandlecmd22(void) } else { - r4 = ewram160C8arr(GetBankIdentity(gActiveBank)); - ewram160C8arr(GetBankIdentity(gActiveBank)) = 6; + r4 = ewram160C8arr(GetBankIdentity(gActiveBattler)); + ewram160C8arr(GetBankIdentity(gActiveBattler)) = 6; } - ewram16068arr(gActiveBank) = r4; + ewram16068arr(gActiveBattler) = r4; Emitcmd34(1, r4, 0); OpponentBufferExecCompleted(); } @@ -2049,21 +2049,21 @@ void OpponentHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = (gBattleBufferA[gActiveBank][3] << 8) | gBattleBufferA[gActiveBank][2]; + r7 = (gBattleBufferA[gActiveBattler][3] << 8) | gBattleBufferA[gActiveBattler][2]; if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, hp, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } - gBattleBankFunc[gActiveBank] = sub_80330C8; + gBattleBankFunc[gActiveBattler] = sub_80330C8; } void OpponentHandleExpBarUpdate(void) @@ -2073,25 +2073,25 @@ void OpponentHandleExpBarUpdate(void) void OpponentHandleStatusIconUpdate(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gEnemyParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_8033494; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlePartyID[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8033494; } } void OpponentHandleStatusAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] - | (gBattleBufferA[gActiveBank][3] << 8) - | (gBattleBufferA[gActiveBank][4] << 16) - | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_8033494; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] + | (gBattleBufferA[gActiveBattler][3] << 8) + | (gBattleBufferA[gActiveBattler][4] << 16) + | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_8033494; } } @@ -2148,7 +2148,7 @@ void OpponentHandlecmd37(void) void OpponentHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; OpponentBufferExecCompleted(); } @@ -2166,16 +2166,16 @@ void OpponentHandlecmd40(void) void OpponentHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { OpponentBufferExecCompleted(); } else { gDoingBattleAnim = TRUE; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t7; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t7; } } @@ -2188,31 +2188,31 @@ void OpponentHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); OpponentBufferExecCompleted(); } void OpponentHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); OpponentBufferExecCompleted(); } void OpponentHandleFaintingCry(void) { PlayCry3( - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), + GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), 25, 5); OpponentBufferExecCompleted(); } void OpponentHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; OpponentBufferExecCompleted(); } @@ -2221,18 +2221,18 @@ void OpponentHandleTrainerBallThrow(void) { u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 35; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 280; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8035C10); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8035C10); taskId = CreateTask(sub_8035C44, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17840.unk9_0 = 1; - gBattleBankFunc[gActiveBank] = nullsub_45; + gBattleBankFunc[gActiveBattler] = nullsub_45; } void sub_8035C10(struct Sprite *sprite) @@ -2247,72 +2247,72 @@ void sub_8035C44(u8 taskId) { u8 r9; - r9 = gActiveBank; - gActiveBank = gTasks[taskId].data[0]; + r9 = gActiveBattler; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_803495C(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_803495C(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_803495C(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_803495C(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_803495C(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_803495C(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_8032E2C; - gActiveBank = r9; + gBattleBankFunc[gActiveBattler] = sub_8032E2C; + gActiveBattler = r9; DestroyTask(taskId); } void OpponentHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) { OpponentBufferExecCompleted(); return; } - ewram17810[gActiveBank].unk0_0 = 1; - if (gBattleBufferA[gActiveBank][2] != 0) + ewram17810[gActiveBattler].unk0_0 = 1; + if (gBattleBufferA[gActiveBattler][2] != 0) { - if (ewram17810[gActiveBank].unk1_1 < 2) + if (ewram17810[gActiveBattler].unk1_1 < 2) { - ewram17810[gActiveBank].unk1_1++; + ewram17810[gActiveBattler].unk1_1++; return; } else { - ewram17810[gActiveBank].unk1_1 = 0; + ewram17810[gActiveBattler].unk1_1 = 0; } } - gUnknown_02024E68[gActiveBank] = sub_8044804( - gActiveBank, - (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_8035E2C; + gUnknown_02024E68[gActiveBattler] = sub_8044804( + gActiveBattler, + (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_8035E2C; } void sub_8035E2C(void) { - if (ewram17810[gActiveBank].unk5++ >= 93) + if (ewram17810[gActiveBattler].unk5++ >= 93) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; OpponentBufferExecCompleted(); } } void OpponentHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; OpponentBufferExecCompleted(); } @@ -2323,25 +2323,25 @@ void OpponentHandlecmd50(void) void OpponentHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank) != 0) + if (IsBankSpritePresent(gActiveBattler) != 0) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } OpponentBufferExecCompleted(); } void OpponentHandleBattleAnimation(void) { - if (mplay_80342A4(gActiveBank) == 0) + if (mplay_80342A4(gActiveBattler) == 0) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) OpponentBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_80334C0; + gBattleBankFunc[gActiveBattler] = sub_80334C0; } } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index f9190eb39..d2d87bcce 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -46,7 +46,7 @@ extern u8 gBankAttacker; extern u8 gBankTarget; extern u32 gOamMatrixAllocBitmap; extern u8 gUnknown_020297ED; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gActionSelectionCursor[]; extern u8 gDisplayedStringBattle[]; extern u8 gMoveSelectionCursor[]; @@ -138,7 +138,7 @@ extern u8 sub_8077F68(); extern u8 sub_8046400(); extern void sub_802D798(void); extern void bx_0802E404(void); -extern u8 gActiveBank; +extern u8 gActiveBattler; extern void (*gBattleBankFunc[])(void); extern bool8 gDoingBattleAnim; extern u16 gBattleTypeFlags; @@ -338,32 +338,32 @@ void nullsub_91(void) void SetBankFuncToPlayerBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = PlayerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = PlayerBufferRunCommand; gDoingBattleAnim = FALSE; } void PlayerBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = PlayerBufferRunCommand; + gBattleBankFunc[gActiveBattler] = PlayerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void PlayerBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < 0x39) - gPlayerBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < 0x39) + gPlayerBufferCommands[gBattleBufferA[gActiveBattler][0]](); else PlayerBufferExecCompleted(); } @@ -371,23 +371,23 @@ void PlayerBufferRunCommand(void) void bx_0802E404(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos2.x == 0) + if (gSprites[gBankSpriteIds[gActiveBattler]].pos2.x == 0) PlayerBufferExecCompleted(); } void sub_802C098(void) { - u16 itemId = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u16 itemId = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); DestroyMenuCursor(); // Useless switch statement. - switch (gActionSelectionCursor[gActiveBank]) + switch (gActionSelectionCursor[gActiveBattler]) { case 0: Emitcmd33(1, 0, 0); @@ -406,52 +406,52 @@ void sub_802C098(void) } else if (gMain.newKeys & DPAD_LEFT) { - if (gActionSelectionCursor[gActiveBank] & 1) + if (gActionSelectionCursor[gActiveBattler] & 1) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gActionSelectionCursor[gActiveBank] & 1)) + if (!(gActionSelectionCursor[gActiveBattler] & 1)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_UP) { - if (gActionSelectionCursor[gActiveBank] & 2) + if (gActionSelectionCursor[gActiveBattler] & 2) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gActionSelectionCursor[gActiveBank] & 2)) + if (!(gActionSelectionCursor[gActiveBattler] & 2)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & B_BUTTON) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - && GetBankIdentity(gActiveBank) == 2 + && GetBankIdentity(gActiveBattler) == 2 && !(gAbsentBankFlags & gBitTable[GetBankByIdentity(0)]) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (gBattleBufferA[gActiveBank][1] == 1) + if (gBattleBufferA[gActiveBattler][1] == 1) { // Add item to bag if it is a ball if (itemId <= ITEM_PREMIER_BALL) @@ -473,9 +473,9 @@ void sub_802C098(void) void unref_sub_802C2B8(void) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBattleBankFunc[gActiveBank] = sub_802C2EC; + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBattleBankFunc[gActiveBattler] = sub_802C2EC; } // TODO: fix this function @@ -500,7 +500,7 @@ void sub_802C2EC(void) DestroyMenuCursor(); PlaySE(SE_SELECT); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; - Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBank] | (gUnknown_03004344 << 8)); + Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); dp11b_obj_free(gUnknown_03004344, 1); PlayerBufferExecCompleted(); } @@ -509,9 +509,9 @@ void sub_802C2EC(void) { PlaySE(SE_SELECT); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; - gBattleBankFunc[gActiveBank] = sub_802C68C; - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + gBattleBankFunc[gActiveBattler] = sub_802C68C; + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); dp11b_obj_free(gUnknown_03004344, 1); } else if (gMain.newKeys & 0x60) @@ -539,12 +539,12 @@ void sub_802C2EC(void) { case 0: case 2: - if (gActiveBank == gUnknown_03004344) + if (gActiveBattler == gUnknown_03004344) { u32 moveId; asm("":::"memory"); - moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank]); + moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); if (!(gBattleMoves[moveId].target & 2)) break; } @@ -586,12 +586,12 @@ void sub_802C2EC(void) { case 0: case 2: - if (gActiveBank == gUnknown_03004344) + if (gActiveBattler == gUnknown_03004344) { u32 moveId; asm("":::"memory"); - moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBank]); + moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); if (!(gBattleMoves[moveId].target & 2)) break; } @@ -628,7 +628,7 @@ void sub_802C68C(void) #if DEBUG u8 count = 0; #endif - struct ChooseMoveStruct *r6 = (struct ChooseMoveStruct *)(gBattleBufferA[gActiveBank] + 4); + struct ChooseMoveStruct *r6 = (struct ChooseMoveStruct *)(gBattleBufferA[gActiveBattler] + 4); if (gMain.newKeys & A_BUTTON) { @@ -636,46 +636,46 @@ void sub_802C68C(void) PlaySE(SE_SELECT); - if (r6->moves[gMoveSelectionCursor[gActiveBank]] == MOVE_CURSE) + if (r6->moves[gMoveSelectionCursor[gActiveBattler]] == MOVE_CURSE) r4 = (r6->unk12 != TYPE_GHOST && (r6->effectStringId ^ 7)) ? 0x10 : 0; else - r4 = gBattleMoves[r6->moves[gMoveSelectionCursor[gActiveBank]]].target; + r4 = gBattleMoves[r6->moves[gMoveSelectionCursor[gActiveBattler]]].target; if (r4 & 0x10) - gUnknown_03004344 = gActiveBank; + gUnknown_03004344 = gActiveBattler; else - gUnknown_03004344 = GetBankByIdentity((GetBankIdentity(gActiveBank) & 1) ^ 1); + gUnknown_03004344 = GetBankByIdentity((GetBankIdentity(gActiveBattler) & 1) ^ 1); - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - if ((r4 & 2) && gBattleBufferA[gActiveBank][2] == 0) + if ((r4 & 2) && gBattleBufferA[gActiveBattler][2] == 0) r8++; } else { if (!(r4 & 0x7D)) r8++; - if (r6->pp[gMoveSelectionCursor[gActiveBank]] == 0) + if (r6->pp[gMoveSelectionCursor[gActiveBattler]] == 0) { r8 = 0; } else if (!(r4 & 0x12) && CountAliveMons(0) <= 1) { - gUnknown_03004344 = sub_803C434(gActiveBank); + gUnknown_03004344 = sub_803C434(gActiveBattler); r8 = 0; } } if (r8 == 0) { DestroyMenuCursor(); - Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBank] | (gUnknown_03004344 << 8)); + Emitcmd33(1, 10, gMoveSelectionCursor[gActiveBattler] | (gUnknown_03004344 << 8)); PlayerBufferExecCompleted(); } else { - gBattleBankFunc[gActiveBank] = sub_802C2EC; + gBattleBankFunc[gActiveBattler] = sub_802C2EC; if (r4 & 0x12) - gUnknown_03004344 = gActiveBank; + gUnknown_03004344 = gActiveBattler; else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(1)]) gUnknown_03004344 = GetBankByIdentity(3); else @@ -694,50 +694,50 @@ void sub_802C68C(void) } else if (gMain.newKeys & DPAD_LEFT) { - if (gMoveSelectionCursor[gActiveBank] & 1) + if (gMoveSelectionCursor[gActiveBattler] & 1) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gMoveSelectionCursor[gActiveBank] & 1) - && (gMoveSelectionCursor[gActiveBank] ^ 1) < gUnknown_03004348) + if (!(gMoveSelectionCursor[gActiveBattler] & 1) + && (gMoveSelectionCursor[gActiveBattler] ^ 1) < gUnknown_03004348) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 1; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 1; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } } else if (gMain.newKeys & DPAD_UP) { - if (gMoveSelectionCursor[gActiveBank] & 2) + if (gMoveSelectionCursor[gActiveBattler] & 2) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gMoveSelectionCursor[gActiveBank] & 2) - && (gMoveSelectionCursor[gActiveBank] ^ 2) < gUnknown_03004348) + if (!(gMoveSelectionCursor[gActiveBattler] & 2) + && (gMoveSelectionCursor[gActiveBattler] ^ 2) < gUnknown_03004348) { - nullsub_7(gMoveSelectionCursor[gActiveBank]); - gMoveSelectionCursor[gActiveBank] ^= 2; + nullsub_7(gMoveSelectionCursor[gActiveBattler]); + gMoveSelectionCursor[gActiveBattler] ^= 2; PlaySE(SE_SELECT); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); sub_802E220(); sub_802E2D4(); } @@ -746,16 +746,16 @@ void sub_802C68C(void) { if (gUnknown_03004348 > 1 && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) { - sub_802E12C(gMoveSelectionCursor[gActiveBank], gUnknown_081FAE80); - if (gMoveSelectionCursor[gActiveBank] != 0) + sub_802E12C(gMoveSelectionCursor[gActiveBattler], gUnknown_081FAE80); + if (gMoveSelectionCursor[gActiveBattler] != 0) gUnknown_03004344 = 0; else - gUnknown_03004344 = gMoveSelectionCursor[gActiveBank] + 1; + gUnknown_03004344 = gMoveSelectionCursor[gActiveBattler] + 1; sub_802E3B4(gUnknown_03004344, 27); Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_SwitchWhich, 0x290, 0x17, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); - gBattleBankFunc[gActiveBank] = sub_802CA60; + gBattleBankFunc[gActiveBattler] = sub_802CA60; } } #if DEBUG @@ -765,11 +765,11 @@ void sub_802C68C(void) s32 i; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x3A); - moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1)]; + moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1)]; Text_InitWindowAndPrintText(&gUnknown_03004210, moveName, 0x100, 2, 0x37); ConvertIntToDecimalStringN( gDisplayedStringBattle, - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1), + GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1), 2, 3); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x110, 10, 0x37); Text_InitWindowAndPrintText(&gUnknown_03004210, gString_TurnJP, 0x116, 1, 0x39); @@ -792,7 +792,7 @@ void sub_802C68C(void) } ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x12A, 14, 0x39); - gBattleBankFunc[gActiveBank] = debug_sub_8030C24; + gBattleBankFunc[gActiveBattler] = debug_sub_8030C24; } #endif } @@ -814,69 +814,69 @@ void sub_802CA60(void) if (gMain.newKeys & (A_BUTTON | SELECT_BUTTON)) { PlaySE(SE_SELECT); - if (gMoveSelectionCursor[gActiveBank] != gUnknown_03004344) + if (gMoveSelectionCursor[gActiveBattler] != gUnknown_03004344) { - struct ChooseMoveStruct *r9 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r9 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; s32 i; - i = r9->moves[gMoveSelectionCursor[gActiveBank]]; - r9->moves[gMoveSelectionCursor[gActiveBank]] = r9->moves[gUnknown_03004344]; + i = r9->moves[gMoveSelectionCursor[gActiveBattler]]; + r9->moves[gMoveSelectionCursor[gActiveBattler]] = r9->moves[gUnknown_03004344]; r9->moves[gUnknown_03004344] = i; - i = r9->pp[gMoveSelectionCursor[gActiveBank]]; - r9->pp[gMoveSelectionCursor[gActiveBank]] = r9->pp[gUnknown_03004344]; + i = r9->pp[gMoveSelectionCursor[gActiveBattler]]; + r9->pp[gMoveSelectionCursor[gActiveBattler]] = r9->pp[gUnknown_03004344]; r9->pp[gUnknown_03004344] = i; - i = r9->unkC[gMoveSelectionCursor[gActiveBank]]; - r9->unkC[gMoveSelectionCursor[gActiveBank]] = r9->unkC[gUnknown_03004344]; + i = r9->unkC[gMoveSelectionCursor[gActiveBattler]]; + r9->unkC[gMoveSelectionCursor[gActiveBattler]] = r9->unkC[gUnknown_03004344]; r9->unkC[gUnknown_03004344] = i; - if (gDisableStructs[gActiveBank].unk18_b & gBitTable[gMoveSelectionCursor[gActiveBank]]) + if (gDisableStructs[gActiveBattler].unk18_b & gBitTable[gMoveSelectionCursor[gActiveBattler]]) { - gDisableStructs[gActiveBank].unk18_b &= ~gBitTable[gMoveSelectionCursor[gActiveBank]]; - gDisableStructs[gActiveBank].unk18_b |= gBitTable[gUnknown_03004344]; + gDisableStructs[gActiveBattler].unk18_b &= ~gBitTable[gMoveSelectionCursor[gActiveBattler]]; + gDisableStructs[gActiveBattler].unk18_b |= gBitTable[gUnknown_03004344]; } sub_802E1B0(); for (i = 0; i < 4; i++) - perMovePPBonuses[i] = (gBattleMons[gActiveBank].ppBonuses & (3 << (i * 2))) >> (i * 2); - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBank]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBank]] = perMovePPBonuses[gUnknown_03004344]; + perMovePPBonuses[i] = (gBattleMons[gActiveBattler].ppBonuses & (3 << (i * 2))) >> (i * 2); + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; + perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gUnknown_03004344]; perMovePPBonuses[gUnknown_03004344] = totalPPBonuses; totalPPBonuses = 0; for (i = 0; i < 4; i++) totalPPBonuses |= perMovePPBonuses[i] << (i * 2); - gBattleMons[gActiveBank].ppBonuses = totalPPBonuses; + gBattleMons[gActiveBattler].ppBonuses = totalPPBonuses; for (i = 0; i < 4; i++) { - gBattleMons[gActiveBank].moves[i] = r9->moves[i]; - gBattleMons[gActiveBank].pp[i] = r9->pp[i]; + gBattleMons[gActiveBattler].moves[i] = r9->moves[i]; + gBattleMons[gActiveBattler].pp[i] = r9->pp[i]; } - if (!(gBattleMons[gActiveBank].status2 & 0x200000)) + if (!(gBattleMons[gActiveBattler].status2 & 0x200000)) { for (i = 0; i < 4; i++) { - sp0.moves[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i); - sp0.pp[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i); + sp0.moves[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i); + sp0.pp[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP1 + i); } - totalPPBonuses = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES); + totalPPBonuses = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP_BONUSES); for (i = 0; i < 4; i++) perMovePPBonuses[i] = (totalPPBonuses & (3 << (i * 2))) >> (i * 2); - i = sp0.moves[gMoveSelectionCursor[gActiveBank]]; - sp0.moves[gMoveSelectionCursor[gActiveBank]] = sp0.moves[gUnknown_03004344]; + i = sp0.moves[gMoveSelectionCursor[gActiveBattler]]; + sp0.moves[gMoveSelectionCursor[gActiveBattler]] = sp0.moves[gUnknown_03004344]; sp0.moves[gUnknown_03004344] = i; - i = sp0.pp[gMoveSelectionCursor[gActiveBank]]; - sp0.pp[gMoveSelectionCursor[gActiveBank]] = sp0.pp[gUnknown_03004344]; + i = sp0.pp[gMoveSelectionCursor[gActiveBattler]]; + sp0.pp[gMoveSelectionCursor[gActiveBattler]] = sp0.pp[gUnknown_03004344]; sp0.pp[gUnknown_03004344] = i; - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBank]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBank]] = perMovePPBonuses[gUnknown_03004344]; + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; + perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gUnknown_03004344]; perMovePPBonuses[gUnknown_03004344] = totalPPBonuses; totalPPBonuses = 0; @@ -885,19 +885,19 @@ void sub_802CA60(void) for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, &sp0.moves[i]); - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i, &sp0.pp[i]); + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i, &sp0.moves[i]); + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP1 + i, &sp0.pp[i]); } - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES, &totalPPBonuses); + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses); } } else { sub_802E12C(gUnknown_03004344, BattleText_Format); } - gBattleBankFunc[gActiveBank] = sub_802C68C; - gMoveSelectionCursor[gActiveBank] = gUnknown_03004344; - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); + gBattleBankFunc[gActiveBattler] = sub_802C68C; + gMoveSelectionCursor[gActiveBattler] = gUnknown_03004344; + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -908,9 +908,9 @@ void sub_802CA60(void) { PlaySE(SE_SELECT); nullsub_7(gUnknown_03004344); - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); - sub_802E12C(gMoveSelectionCursor[gActiveBank], BattleText_Format); - gBattleBankFunc[gActiveBank] = sub_802C68C; + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); + sub_802E12C(gMoveSelectionCursor[gActiveBattler], BattleText_Format); + gBattleBankFunc[gActiveBattler] = sub_802C68C; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -919,52 +919,52 @@ void sub_802CA60(void) } if ((gMain.newKeys & DPAD_LEFT) && (gUnknown_03004344 & 1)) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 1; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); } if ((gMain.newKeys & DPAD_RIGHT) && !(gUnknown_03004344 & 1) && (gUnknown_03004344 ^ 1) < gUnknown_03004348) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 1; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); } if ((gMain.newKeys & DPAD_UP) && (gUnknown_03004344 & 2)) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 2; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); } if ((gMain.newKeys & DPAD_DOWN) && !(gUnknown_03004344 & 2) && (gUnknown_03004344 ^ 2) < gUnknown_03004348) { - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0x1D); + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0x1D); else nullsub_7(gUnknown_03004344); gUnknown_03004344 ^= 2; PlaySE(SE_SELECT); - if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBank]) + if (gUnknown_03004344 == gMoveSelectionCursor[gActiveBattler]) sub_802E3B4(gUnknown_03004344, 0); else sub_802E3B4(gUnknown_03004344, 0x1B); @@ -989,7 +989,7 @@ void sub_802D18C(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { sub_800832C(); - gBattleBankFunc[gActiveBank] = sub_802D148; + gBattleBankFunc[gActiveBattler] = sub_802D148; } else { @@ -1007,14 +1007,14 @@ void debug_sub_803107C(void); void debug_sub_8030C24(void) { - s16 move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1); + s16 move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1); switch (gMain.newAndRepeatedKeys) { case START_BUTTON: - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBankAttacker = gActiveBank; + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBankAttacker = gActiveBattler; if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) gBankTarget = gBankAttacker ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -1023,12 +1023,12 @@ void debug_sub_8030C24(void) gBankTarget = GetBankByIdentity(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; break; case SELECT_BUTTON: - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); - gBankTarget = gActiveBank; + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); + gBankTarget = gActiveBattler; if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) gBankAttacker = gBankTarget ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -1037,18 +1037,18 @@ void debug_sub_8030C24(void) gBankAttacker = GetBankByIdentity(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; break; case R_BUTTON: if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); gBankAttacker = GetBankByIdentity(3); gBankTarget = GetBankByIdentity(1); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; } else { @@ -1056,8 +1056,8 @@ void debug_sub_8030C24(void) case DPAD_RIGHT: if (++move > 354) move = 1; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1, &move); - gBattleMons[gActiveBank].moves[0] = move; + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1, &move); + gBattleMons[gActiveBattler].moves[0] = move; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38); Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37); ConvertIntToDecimalStringN(gDisplayedStringBattle, move, 2, 3); @@ -1067,13 +1067,13 @@ void debug_sub_8030C24(void) case L_BUTTON: if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); gBankAttacker = GetBankByIdentity(1); gBankTarget = GetBankByIdentity(3); sub_80326EC(0); DoMoveAnim(move); - gBattleBankFunc[gActiveBank] = debug_sub_803107C; + gBattleBankFunc[gActiveBattler] = debug_sub_803107C; } else { @@ -1081,8 +1081,8 @@ void debug_sub_8030C24(void) case DPAD_LEFT: if (--move <= 0) move = 354; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1, &move); - gBattleMons[gActiveBank].moves[0] = move; + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1, &move); + gBattleMons[gActiveBattler].moves[0] = move; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38); Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37); ConvertIntToDecimalStringN(gDisplayedStringBattle, move, 2, 3); @@ -1108,7 +1108,7 @@ void debug_sub_8030C24(void) for (i = 0; i < 4; i++) { StringCopy(gDisplayedStringBattle, BattleText_Format); - move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i); + move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i); StringAppend(gDisplayedStringBattle, gMoveNames[move]); Text_InitWindow( &gUnknown_03004210, @@ -1118,7 +1118,7 @@ void debug_sub_8030C24(void) (i < 2) ? 0x37 : 0x39); Text_PrintWindow8002F44(&gUnknown_03004210); } - gBattleBankFunc[gActiveBank] = sub_802C68C; + gBattleBankFunc[gActiveBattler] = sub_802C68C; } } @@ -1132,8 +1132,8 @@ void debug_sub_803107C(void) s32 i; sub_80326EC(1); - dp11b_obj_instanciate(gActiveBank, 1, 7, 1); - dp11b_obj_instanciate(gActiveBank, 0, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); + dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); for (i = 0, count = 0; i < MAX_SPRITES; i++) { @@ -1155,7 +1155,7 @@ void debug_sub_803107C(void) ConvertIntToDecimalStringN(gDisplayedStringBattle, count, 2, 2); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 298, 14, 0x39); - gBattleBankFunc[gActiveBank] = debug_sub_8030C24; + gBattleBankFunc[gActiveBattler] = debug_sub_8030C24; } } @@ -1163,33 +1163,33 @@ void debug_sub_803107C(void) void sub_802D204(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } // duplicate of sub_802D204 void sub_802D23C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); } void sub_802D274(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) { nullsub_10(gSaveBlock2.playerGender); - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); PlayerBufferExecCompleted(); } } void sub_802D2E0(void) { - if (--ewram17810[gActiveBank].unk9 == 0xFF) + if (--ewram17810[gActiveBattler].unk9 == 0xFF) { - ewram17810[gActiveBank].unk9 = 0; + ewram17810[gActiveBattler].unk9 = 0; PlayerBufferExecCompleted(); } } @@ -1200,106 +1200,106 @@ void sub_802D31C(void) if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r6 = TRUE; } else { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && gSprites[gHealthboxIDs[gActiveBank ^ 2]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxIDs[gActiveBattler ^ 2]].callback == SpriteCallbackDummy) r6 = TRUE; } if (IsCryPlayingOrClearCrySongs()) r6 = FALSE; - if (r6 && ewram17810[gActiveBank].unk1_0 && ewram17810[gActiveBank ^ 2].unk1_0) + if (r6 && ewram17810[gActiveBattler].unk1_0 && ewram17810[gActiveBattler ^ 2].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) m4aMPlayContinue(&gMPlay_BGM); else m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], gActiveBank ^ 2); - ewram17810[gActiveBank].unk9 = 3; - gBattleBankFunc[gActiveBank] = sub_802D2E0; + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], gActiveBattler ^ 2); + ewram17810[gActiveBattler].unk9 = 3; + gBattleBankFunc[gActiveBattler] = sub_802D2E0; } } void sub_802D500(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( - gHealthboxIDs[gActiveBank ^ 2], - &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], + gHealthboxIDs[gActiveBattler ^ 2], + &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( - gHealthboxIDs[gActiveBank], - &gPlayerParty[gBattlePartyID[gActiveBank]], + gHealthboxIDs[gActiveBattler], + &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_802D31C; + gBattleBankFunc[gActiveBattler] = sub_802D31C; } } void sub_802D680(void) { - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy - && ewram17810[gActiveBank].unk1_0) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy + && ewram17810[gActiveBattler].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - gBattleBankFunc[gActiveBank] = sub_802D730; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + gBattleBankFunc[gActiveBattler] = sub_802D730; } } void sub_802D730(void) { - if (!ewram17810[gActiveBank].unk0_6 && !IsCryPlayingOrClearCrySongs()) + if (!ewram17810[gActiveBattler].unk0_6 && !IsCryPlayingOrClearCrySongs()) { m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } void sub_802D798(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); - if (gSprites[gUnknown_0300434C[gActiveBank]].callback == SpriteCallbackDummy - && !ewram17810[gActiveBank].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); + if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy + && !ewram17810[gActiveBattler].unk0_3) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); - sub_8031F88(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_802D680; + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); + sub_8031F88(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_802D680; } } @@ -1314,16 +1314,16 @@ void c3_0802FDF4(u8 taskId) void bx_t1_healthbar_update(void) { - s16 r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); + s16 r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } @@ -1356,10 +1356,10 @@ void sub_802D924(u8 taskId) SetMonData(pkmn, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(pkmn); gainedExp -= nextLvlExp - currExp; - savedActiveBank = gActiveBank; - gActiveBank = bank; + savedActiveBank = gActiveBattler; + gActiveBattler = bank; Emitcmd33(1, 11, gainedExp); - gActiveBank = savedActiveBank; + gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE && ((u16)pkmnIndex == gBattlePartyID[bank] || (u16)pkmnIndex == gBattlePartyID[bank ^ 2])) @@ -1441,10 +1441,10 @@ void sub_802DB6C(u8 taskId) asdf = sp0 - sp4; //asdf = r10 - (sp0 - sp4); r10 -= asdf; - r5 = gActiveBank; - gActiveBank = r7; + r5 = gActiveBattler; + gActiveBattler = r7; Emitcmd33(1, 11, r10); - gActiveBank = r5; + gActiveBattler = r5; gTasks[taskId].func = sub_802DCB0; } else @@ -1566,7 +1566,7 @@ _0802DB9C:\n\ ldrh r0, [r0]\n\ subs r2, r0\n\ subs r2, r4, r2\n\ - ldr r4, _0802DC74 @ =gActiveBank\n\ + ldr r4, _0802DC74 @ =gActiveBattler\n\ ldrb r5, [r4]\n\ strb r7, [r4]\n\ lsls r2, 16\n\ @@ -1583,7 +1583,7 @@ _0802DC64: .4byte gHealthboxIDs\n\ _0802DC68: .4byte gPlayerParty\n\ _0802DC6C: .4byte gExperienceTables\n\ _0802DC70: .4byte gBaseStats\n\ -_0802DC74: .4byte gActiveBank\n\ +_0802DC74: .4byte gActiveBattler\n\ _0802DC78: .4byte sub_802DCB0\n\ _0802DC7C:\n\ str r0, [sp, 0x4]\n\ @@ -1655,25 +1655,25 @@ void sub_802DDC4(u8 taskId) void sub_802DE10(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].pos1.y + gSprites[gBankSpriteIds[gActiveBank]].pos2.y > DISPLAY_HEIGHT) + if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); nullsub_9(species); - FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBank]].oam.matrixNum); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); PlayerBufferExecCompleted(); } } void sub_802DEAC(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); PlayerBufferExecCompleted(); } } @@ -1691,9 +1691,9 @@ void sub_802DF30(void) { u8 r4; - gBattleBankFunc[gActiveBank] = sub_802DF88; - r4 = gTasks[gUnknown_0300434C[gActiveBank]].data[0]; - DestroyTask(gUnknown_0300434C[gActiveBank]); + gBattleBankFunc[gActiveBattler] = sub_802DF88; + r4 = gTasks[gUnknown_0300434C[gActiveBattler]].data[0]; + DestroyTask(gUnknown_0300434C[gActiveBattler]); sub_8094E20(r4); } } @@ -1706,7 +1706,7 @@ void sub_802DF88(void) Emitcmd34(1, gUnknown_0202E8F5, gUnknown_02038470); else Emitcmd34(1, 6, NULL); - if ((gBattleBufferA[gActiveBank][1] & 0xF) == 1) + if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) b_link_standby_message(); PlayerBufferExecCompleted(); } @@ -1716,7 +1716,7 @@ void sub_802E004(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = sub_802E03C; + gBattleBankFunc[gActiveBattler] = sub_802E03C; nullsub_14(); sub_80A6DCC(); } @@ -1733,13 +1733,13 @@ void sub_802E03C(void) void bx_wait_t1(void) { - if (!gDoingBattleAnim || !ewram17810[gActiveBank].unk0_6) + if (!gDoingBattleAnim || !ewram17810[gActiveBattler].unk0_6) PlayerBufferExecCompleted(); } void bx_blink_t1(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -1758,7 +1758,7 @@ void bx_blink_t1(void) void sub_802E12C(s32 a, const u8 *b) { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; StringCopy(gDisplayedStringBattle, b); StringAppend(gDisplayedStringBattle, gMoveNames[r4->moves[a]]); @@ -1773,7 +1773,7 @@ void sub_802E12C(s32 a, const u8 *b) void sub_802E1B0(void) { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; s32 i; gUnknown_03004348 = 0; @@ -1789,9 +1789,9 @@ void sub_802E1B0(void) void sub_802E220(void) { - if (gBattleBufferA[gActiveBank][2] != 1) + if (gBattleBufferA[gActiveBattler][2] != 1) { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; u8 *str = gDisplayedStringBattle; str = StringCopy(str, BattleText_Format); @@ -1803,9 +1803,9 @@ void sub_802E220(void) str[1] = 0x14; str[2] = 6; str += 3; - str = ConvertIntToDecimalStringN(str, r4->pp[gMoveSelectionCursor[gActiveBank]], 1, 2); + str = ConvertIntToDecimalStringN(str, r4->pp[gMoveSelectionCursor[gActiveBattler]], 1, 2); *str++ = CHAR_SLASH; - ConvertIntToDecimalStringN(str, r4->unkC[gMoveSelectionCursor[gActiveBank]], 1, 2); + ConvertIntToDecimalStringN(str, r4->unkC[gMoveSelectionCursor[gActiveBattler]], 1, 2); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2A2, 0x19, 0x37); Text_PrintWindow8002F44(&gUnknown_03004210); } @@ -1816,18 +1816,18 @@ extern const u8 gTypeNames[][7]; void sub_802E2D4(void) { - if (gBattleBufferA[gActiveBank][2] == 1) + if (gBattleBufferA[gActiveBattler][2] == 1) { Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, BattleText_ForgetMove, 0x290, 0x13, 0x37); } else { - struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBank][4]; + struct ChooseMoveStruct *r4 = (struct ChooseMoveStruct *)&gBattleBufferA[gActiveBattler][4]; u8 *str = gDisplayedStringBattle; str = StringCopy(str, BattleText_Format); - StringCopy(str, gTypeNames[gBattleMoves[r4->moves[gMoveSelectionCursor[gActiveBank]]].type]); + StringCopy(str, gTypeNames[gBattleMoves[r4->moves[gMoveSelectionCursor[gActiveBattler]]].type]); Text_FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x39, 0x1C, 0x3A); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2C0, 0x17, 0x39); } @@ -1886,13 +1886,13 @@ void sub_802E424(void) void sub_802E434(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) PlayerBufferExecCompleted(); } void sub_802E460(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) PlayerBufferExecCompleted(); } @@ -1913,13 +1913,13 @@ void PlayerHandleGetAttributes(void) u8 r4; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlePartyID[gActiveBank], unkData); + offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlePartyID[gActiveBattler], unkData); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -1942,7 +1942,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -2004,7 +2004,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -2019,7 +2019,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -2238,11 +2238,11 @@ void PlayerHandlecmd1(void) struct BattlePokemon battleMon; u8 i; // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. - u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1]; + u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 *dst; - MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst); - Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst); + MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); + Emitcmd29(1, gBattleBufferA[gActiveBattler][2], dst); PlayerBufferExecCompleted(); } @@ -2251,13 +2251,13 @@ void PlayerHandleSetAttributes(void) u8 r4; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - dp01_setattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBank]); + dp01_setattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -2271,11 +2271,11 @@ void PlayerHandleSetAttributes(void) // Duplicate of sub_811EC68 void dp01_setattr_by_ch1_for_player_pokemon(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -2316,10 +2316,10 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) } break; case 1: - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -2333,157 +2333,157 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) case 5: case 6: case 7: - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); } void PlayerHandlecmd3(void) @@ -2491,27 +2491,27 @@ void PlayerHandlecmd3(void) u8 i; u8 *dst; - MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i], - gBattleBufferA[gActiveBank][2], i, dst); + MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], + gBattleBufferA[gActiveBattler][2], i, dst); PlayerBufferExecCompleted(); } void PlayerHandleLoadPokeSprite(void) { - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gBattleBankFunc[gActiveBank] = bx_0802E404; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gBattleBankFunc[gActiveBattler] = bx_0802E404; } void PlayerHandleSendOutPoke(void) { - sub_8032AA8(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; - sub_802F934(gActiveBank, gBattleBufferA[gActiveBank][2]); - gBattleBankFunc[gActiveBank] = sub_802D798; + sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; + sub_802F934(gActiveBattler, gBattleBufferA[gActiveBattler][2]); + gBattleBankFunc[gActiveBattler] = sub_802D798; } void sub_802F934(u8 bank, u8 b) @@ -2540,35 +2540,35 @@ void sub_802F934(u8 bank, u8 b) void PlayerHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_802FB2C; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_802FB2C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); PlayerBufferExecCompleted(); } } void sub_802FB2C(void) { - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - ewram17810[gActiveBank].unk4 = 0; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 1); - gBattleBankFunc[gActiveBank] = sub_802DEAC; + ewram17810[gActiveBattler].unk4 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); + gBattleBankFunc[gActiveBattler] = sub_802DEAC; } } } @@ -2579,7 +2579,7 @@ void PlayerHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBank) & 2) + if (GetBankIdentity(gActiveBattler) & 2) r7 = 16; else r7 = -16; @@ -2588,67 +2588,67 @@ void PlayerHandleTrainerThrow(void) { r7 = 0; } - LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, r7 + 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, - sub_8079E90(gActiveBank)); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_802D204; + sub_8079E90(gActiveBattler)); + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_802D204; } void PlayerHandleTrainerSlide(void) { - LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_802D23C; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_802D23C; } void PlayerHandleTrainerSlideBack(void) { - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], SpriteCallbackDummy); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); - gBattleBankFunc[gActiveBank] = sub_802D274; + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], SpriteCallbackDummy); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); + gBattleBankFunc[gActiveBattler] = sub_802D274; } void PlayerHandlecmd10(void) { - if (ewram17810[gActiveBank].unk4 == 0) + if (ewram17810[gActiveBattler].unk4 == 0) { - if (ewram17800[gActiveBank].substituteSprite) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4++; + if (ewram17800[gActiveBattler].substituteSprite) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4++; } else { - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { - ewram17810[gActiveBank].unk4 = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + ewram17810[gActiveBattler].unk4 = 0; + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = 5; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80105EC; - gBattleBankFunc[gActiveBank] = sub_802DE10; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80105EC; + gBattleBankFunc[gActiveBattler] = sub_802DE10; } } } @@ -2663,23 +2663,23 @@ void PlayerHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 3); - gBattleBankFunc[gActiveBank] = bx_wait_t1; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 3); + gBattleBankFunc[gActiveBattler] = bx_wait_t1; } void PlayerHandleBallThrow(void) { - u8 var = gBattleBufferA[gActiveBank][1]; + u8 var = gBattleBufferA[gActiveBattler][1]; ewram17840.unk8 = var; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 3); - gBattleBankFunc[gActiveBank] = bx_wait_t1; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 3); + gBattleBankFunc[gActiveBattler] = bx_wait_t1; } void PlayerHandlePuase(void) { - u8 var = gBattleBufferA[gActiveBank][1]; + u8 var = gBattleBufferA[gActiveBattler][1]; // WTF is this?? while (var != 0) @@ -2690,17 +2690,17 @@ void PlayerHandlePuase(void) void PlayerHandleMoveAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u16 r0 = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 r0 = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (sub_8031720(r0, gAnimMoveTurn) != 0) { // Dead code. sub_8031720 always returns 0. @@ -2708,33 +2708,33 @@ void PlayerHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_8030190; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_8030190; } } } void sub_8030190(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); - u8 r7 = gBattleBufferA[gActiveBank][11]; + u16 r4 = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); + u8 r7 = gBattleBufferA[gActiveBattler][11]; - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite == 1 && ewram17800[gActiveBank].unk0_3 == 0) + if (ewram17800[gActiveBattler].substituteSprite == 1 && ewram17800[gActiveBattler].unk0_3 == 0) { - ewram17800[gActiveBank].unk0_3 = 1; - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); + ewram17800[gActiveBattler].unk0_3 = 1; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); } - ewram17810[gActiveBank].unk4 = 1; + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -2742,20 +2742,20 @@ void sub_8030190(void) if (!gAnimScriptActive) { sub_80326EC(1); - if (ewram17800[gActiveBank].substituteSprite == 1 && r7 < 2) + if (ewram17800[gActiveBattler].substituteSprite == 1 && r7 < 2) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17800[gActiveBank].unk0_3 = 0; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17800[gActiveBattler].unk0_3 = 0; } - ewram17810[gActiveBank].unk4 = 3; + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_8031F24(); - sub_80324BC(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + sub_80324BC(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; PlayerBufferExecCompleted(); } break; @@ -2766,14 +2766,14 @@ void PlayerHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15); - gBattleBankFunc[gActiveBank] = sub_802DF18; + gBattleBankFunc[gActiveBattler] = sub_802DF18; } void PlayerHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) PlayerHandlePrintString(); else PlayerBufferExecCompleted(); @@ -2788,7 +2788,7 @@ void PlayerHandlecmd18(void) Text_FillWindowRect(&gUnknown_03004210, 10, 2, 15, 27, 18); Text_FillWindowRect(&gUnknown_03004210, 10, 2, 35, 16, 38); - gBattleBankFunc[gActiveBank] = sub_802C098; + gBattleBankFunc[gActiveBattler] = sub_802C098; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -2797,7 +2797,7 @@ void PlayerHandlecmd18(void) for (r4 = 0; r4 < 4; r4++) nullsub_8(r4); - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); StrCpyDecodeToDisplayedStringBattle(BattleText_OtherMenu); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35); @@ -2812,7 +2812,7 @@ void PlayerHandlecmd20(void) { MenuCursor_Create814A5C0(0, 0xFFFF, 12, 0x2D9F, 0); sub_80304A8(); - gBattleBankFunc[gActiveBank] = sub_802C68C; + gBattleBankFunc[gActiveBattler] = sub_802C68C; } void sub_80304A8(void) @@ -2821,8 +2821,8 @@ void sub_80304A8(void) gBattle_BG0_Y = 320; sub_802E1B0(); gUnknown_03004344 = 0xFF; - sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0); - if (gBattleBufferA[gActiveBank][2] != 1) + sub_802E3B4(gMoveSelectionCursor[gActiveBattler], 0); + if (gBattleBufferA[gActiveBattler][2] != 1) { Text_InitWindow(&gUnknown_03004210, BattleText_PP, 656, 23, 55); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -2836,26 +2836,26 @@ void PlayerHandleOpenBag(void) s32 i; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_802E004; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_802E004; + gBankInMenu = gActiveBattler; for (i = 0; i < 3; i++) - gUnknown_02038470[i] = gBattleBufferA[gActiveBank][1 + i]; + gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][1 + i]; } void PlayerHandlecmd22(void) { s32 i; - gUnknown_0300434C[gActiveBank] = CreateTask(TaskDummy, 0xFF); - gTasks[gUnknown_0300434C[gActiveBank]].data[0] = gBattleBufferA[gActiveBank][1] & 0xF; - ewram16054 = gBattleBufferA[gActiveBank][1] >> 4; - EWRAM_1609D = gBattleBufferA[gActiveBank][2]; - ewram160C0 = gBattleBufferA[gActiveBank][3]; + gUnknown_0300434C[gActiveBattler] = CreateTask(TaskDummy, 0xFF); + gTasks[gUnknown_0300434C[gActiveBattler]].data[0] = gBattleBufferA[gActiveBattler][1] & 0xF; + ewram16054 = gBattleBufferA[gActiveBattler][1] >> 4; + EWRAM_1609D = gBattleBufferA[gActiveBattler][2]; + ewram160C0 = gBattleBufferA[gActiveBattler][3]; for (i = 0; i < 3; i++) - gUnknown_02038470[i] = gBattleBufferA[gActiveBank][4 + i]; + gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][4 + i]; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_802DF30; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_802DF30; + gBankInMenu = gActiveBattler; } void PlayerHandlecmd23(void) @@ -2870,27 +2870,27 @@ void PlayerHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, curHP, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); - sub_80440EC(gHealthboxIDs[gActiveBank], 0, 0); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); + sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); } - gBattleBankFunc[gActiveBank] = bx_t1_healthbar_update; + gBattleBankFunc[gActiveBattler] = bx_t1_healthbar_update; } void PlayerHandleExpBarUpdate(void) { - u8 r7 = gBattleBufferA[gActiveBank][1]; + u8 r7 = gBattleBufferA[gActiveBattler][1]; if (GetMonData(&gPlayerParty[r7], MON_DATA_LEVEL) >= 100) { @@ -2903,41 +2903,41 @@ void PlayerHandleExpBarUpdate(void) load_gfxc_health_bar(1); GetMonData(&gPlayerParty[r7], MON_DATA_SPECIES); // unused return value - r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); taskId = CreateTask(sub_802D924, 10); gTasks[taskId].data[0] = r7; gTasks[taskId].data[1] = r4; - gTasks[taskId].data[2] = gActiveBank; - gBattleBankFunc[gActiveBank] = nullsub_91; + gTasks[taskId].data[2] = gActiveBattler; + gBattleBankFunc[gActiveBattler] = nullsub_91; } } void PlayerHandleStatusIconUpdate(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 9); - ewram17810[gActiveBank].unk0_4 = 0; - gBattleBankFunc[gActiveBank] = sub_802E434; + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 9); + ewram17810[gActiveBattler].unk0_4 = 0; + gBattleBankFunc[gActiveBattler] = sub_802E434; } } void PlayerHandleStatusAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { move_anim_start_t2_for_situation( - gBattleBufferA[gActiveBank][1], - gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8) | (gBattleBufferA[gActiveBank][4] << 16) | (gBattleBufferA[gActiveBank][5] << 24)); - gBattleBankFunc[gActiveBank] = sub_802E434; + gBattleBufferA[gActiveBattler][1], + gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8) | (gBattleBufferA[gActiveBattler][4] << 16) | (gBattleBufferA[gActiveBattler][5] << 24)); + gBattleBankFunc[gActiveBattler] = sub_802E434; } } void PlayerHandleStatusXor(void) { - u8 val = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBank][1]; + u8 val = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBattler][1]; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_STATUS, &val); + SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_STATUS, &val); PlayerBufferExecCompleted(); } @@ -2948,19 +2948,19 @@ void PlayerHandlecmd29(void) void PlayerHandleDMATransfer(void) { - u32 val1 = gBattleBufferA[gActiveBank][1] - | (gBattleBufferA[gActiveBank][2] << 8) - | (gBattleBufferA[gActiveBank][3] << 16) - | (gBattleBufferA[gActiveBank][4] << 24); - u16 val2 = gBattleBufferA[gActiveBank][5] | (gBattleBufferA[gActiveBank][6] << 8); + u32 val1 = gBattleBufferA[gActiveBattler][1] + | (gBattleBufferA[gActiveBattler][2] << 8) + | (gBattleBufferA[gActiveBattler][3] << 16) + | (gBattleBufferA[gActiveBattler][4] << 24); + u16 val2 = gBattleBufferA[gActiveBattler][5] | (gBattleBufferA[gActiveBattler][6] << 8); - Dma3CopyLarge16_(&gBattleBufferA[gActiveBank][7], (u8 *)val1, val2); + Dma3CopyLarge16_(&gBattleBufferA[gActiveBattler][7], (u8 *)val1, val2); PlayerBufferExecCompleted(); } void PlayerHandlecmd31(void) { - PlayBGM(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayBGM(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); PlayerBufferExecCompleted(); } @@ -3001,7 +3001,7 @@ void PlayerHandlecmd37(void) void PlayerHandlecmd38(void) { - gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBank][1]; + gUnknown_020238C8.unk0_0 = gBattleBufferA[gActiveBattler][1]; PlayerBufferExecCompleted(); } @@ -3019,16 +3019,16 @@ void PlayerHandlecmd40(void) void PlayerHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { PlayerBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t1; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t1; } } @@ -3041,23 +3041,23 @@ void PlayerHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); PlayerBufferExecCompleted(); } void PlayerHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); PlayerBufferExecCompleted(); } void PlayerHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, -25, 5); PlayerBufferExecCompleted(); @@ -3065,7 +3065,7 @@ void PlayerHandleFaintingCry(void) void PlayerHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; PlayerBufferExecCompleted(); } @@ -3075,23 +3075,23 @@ void PlayerHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2.playerGender].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(task05_08033660, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17810[4].unk9 |= 1; - gBattleBankFunc[gActiveBank] = nullsub_91; + gBattleBankFunc[gActiveBattler] = nullsub_91; } void sub_8030E38(struct Sprite *sprite) @@ -3113,104 +3113,104 @@ void task05_08033660(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; + gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & 0x40)) { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_802F934(gActiveBank, 0); + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_802F934(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_802F934(gActiveBank, 0); - gActiveBank ^= 2; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); - sub_802F934(gActiveBank, 0); - gActiveBank ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_802F934(gActiveBattler, 0); + gActiveBattler ^= 2; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + sub_802F934(gActiveBattler, 0); + gActiveBattler ^= 2; } - gBattleBankFunc[gActiveBank] = sub_802D500; - gActiveBank = savedActiveBank; + gBattleBankFunc[gActiveBattler] = sub_802D500; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } void PlayerHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) { PlayerBufferExecCompleted(); } else { - ewram17810[gActiveBank].unk0_0 = 1; - gUnknown_02024E68[gActiveBank] = sub_8044804(gActiveBank, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); - ewram17810[gActiveBank].unk5 = 0; - if (gBattleBufferA[gActiveBank][2] != 0) - ewram17810[gActiveBank].unk5 = 0x5D; - gBattleBankFunc[gActiveBank] = sub_8031064; + ewram17810[gActiveBattler].unk0_0 = 1; + gUnknown_02024E68[gActiveBattler] = sub_8044804(gActiveBattler, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); + ewram17810[gActiveBattler].unk5 = 0; + if (gBattleBufferA[gActiveBattler][2] != 0) + ewram17810[gActiveBattler].unk5 = 0x5D; + gBattleBankFunc[gActiveBattler] = sub_8031064; } } void sub_8031064(void) { - if (ewram17810[gActiveBank].unk5++ > 0x5C) + if (ewram17810[gActiveBattler].unk5++ > 0x5C) { - ewram17810[gActiveBank].unk5 = 0; + ewram17810[gActiveBattler].unk5 = 0; PlayerBufferExecCompleted(); } } void PlayerHandlecmd49(void) { - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; PlayerBufferExecCompleted(); } void PlayerHandlecmd50(void) { - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); PlayerBufferExecCompleted(); } void PlayerHandleSpriteInvisibility(void) { - if (IsBankSpritePresent(gActiveBank)) + if (IsBankSpritePresent(gActiveBattler)) { - gSprites[gBankSpriteIds[gActiveBank]].invisible = gBattleBufferA[gActiveBank][1]; - sub_8031F88(gActiveBank); + gSprites[gBankSpriteIds[gActiveBattler]].invisible = gBattleBufferA[gActiveBattler][1]; + sub_8031F88(gActiveBattler); } PlayerBufferExecCompleted(); } void PlayerHandleBattleAnimation(void) { - if (!mplay_80342A4(gActiveBank)) + if (!mplay_80342A4(gActiveBattler)) { - u8 val2 = gBattleBufferA[gActiveBank][1]; - u16 val = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 val2 = gBattleBufferA[gActiveBattler][1]; + u16 val = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, val2, val)) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, val2, val)) PlayerBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_802E460; + gBattleBankFunc[gActiveBattler] = sub_802E460; } } void PlayerHandleLinkStandbyMsg(void) { - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: b_link_standby_message(); // fall through case 1: - dp11b_obj_free(gActiveBank, 1); - dp11b_obj_free(gActiveBank, 0); + dp11b_obj_free(gActiveBattler, 1); + dp11b_obj_free(gActiveBattler, 0); break; case 2: b_link_standby_message(); @@ -3221,17 +3221,17 @@ void PlayerHandleLinkStandbyMsg(void) void PlayerHandleResetActionMoveSelection(void) { - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: - gActionSelectionCursor[gActiveBank] = 0; - gMoveSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; break; case 1: - gActionSelectionCursor[gActiveBank] = 0; + gActionSelectionCursor[gActiveBattler] = 0; break; case 2: - gMoveSelectionCursor[gActiveBank] = 0; + gMoveSelectionCursor[gActiveBattler] = 0; break; } PlayerBufferExecCompleted(); @@ -3239,11 +3239,11 @@ void PlayerHandleResetActionMoveSelection(void) void PlayerHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); - gBattleBankFunc[gActiveBank] = sub_802D18C; + gBattleBankFunc[gActiveBattler] = sub_802D18C; } void PlayerHandlecmd56(void) diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 03cf8759d..40b9f7aaa 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -20,7 +20,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gActionSelectionCursor[]; extern const u8 BattleText_PlayerMenu[]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern const u8 BattleText_MenuOptionsSafari[]; extern void *gBattleBankFunc[]; @@ -194,15 +194,15 @@ void unref_sub_812B464(void) void SetBankFuncToSafariBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = SafariBufferRunCommand; + gBattleBankFunc[gActiveBattler] = SafariBufferRunCommand; } void SafariBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < 0x39) - gSafariBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < 0x39) + gSafariBufferCommands[gBattleBufferA[gActiveBattler][0]](); else SafariBufferExecCompleted(); } @@ -216,7 +216,7 @@ void bx_battle_menu_t6_2(void) DestroyMenuCursor(); // Useless switch statement. - switch (gActionSelectionCursor[gActiveBank]) + switch (gActionSelectionCursor[gActiveBattler]) { case 0: Emitcmd33(1, 5, 0); @@ -235,49 +235,49 @@ void bx_battle_menu_t6_2(void) } else if (gMain.newKeys & DPAD_LEFT) { - if (gActionSelectionCursor[gActiveBank] & 1) + if (gActionSelectionCursor[gActiveBattler] & 1) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_RIGHT) { - if (!(gActionSelectionCursor[gActiveBank] & 1)) + if (!(gActionSelectionCursor[gActiveBattler] & 1)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 1; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 1; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_UP) { - if (gActionSelectionCursor[gActiveBank] & 2) + if (gActionSelectionCursor[gActiveBattler] & 2) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } else if (gMain.newKeys & DPAD_DOWN) { - if (!(gActionSelectionCursor[gActiveBank] & 2)) + if (!(gActionSelectionCursor[gActiveBattler] & 2)) { PlaySE(SE_SELECT); - nullsub_8(gActionSelectionCursor[gActiveBank]); - gActionSelectionCursor[gActiveBank] ^= 2; - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + nullsub_8(gActionSelectionCursor[gActiveBattler]); + gActionSelectionCursor[gActiveBattler] ^= 2; + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); } } #if DEBUG else if (gMain.newKeys & R_BUTTON) { - if (!ewram17810[gActiveBank].unk0_5) - move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, 4, 0); + if (!ewram17810[gActiveBattler].unk0_5) + move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, 4, 0); } else if (gMain.newKeys & START_BUTTON) { @@ -288,7 +288,7 @@ void bx_battle_menu_t6_2(void) void sub_812B65C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); } @@ -310,7 +310,7 @@ void sub_812B6AC(void) void bx_wait_t6(void) { - if (!gDoingBattleAnim || !ewram17810[gActiveBank].unk0_6) + if (!gDoingBattleAnim || !ewram17810[gActiveBattler].unk0_6) SafariBufferExecCompleted(); } @@ -318,7 +318,7 @@ void sub_812B724(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = sub_812B758; + gBattleBankFunc[gActiveBattler] = sub_812B758; sub_810BADC(); } } @@ -334,29 +334,29 @@ void sub_812B758(void) void sub_812B794(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) SafariBufferExecCompleted(); } void SafariBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = SafariBufferRunCommand; + gBattleBankFunc[gActiveBattler] = SafariBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void unref_sub_812B838(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) SafariBufferExecCompleted(); } @@ -397,18 +397,18 @@ void SafariHandleReturnPokeToBall(void) void SafariHandleTrainerThrow(void) { - LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBank); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_812B65C; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_812B65C; } void SafariHandleTrainerSlide(void) @@ -435,18 +435,18 @@ void SafariHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t6; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t6; } void SafariHandleBallThrow(void) { - u8 var = gBattleBufferA[gActiveBank][1]; + u8 var = gBattleBufferA[gActiveBattler][1]; ewram17840.unk8 = var; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t6; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t6; } // TODO: spell Pause correctly @@ -464,14 +464,14 @@ void SafariHandlePrintString(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBank][2]); + BufferStringBattle(*(u16 *)&gBattleBufferA[gActiveBattler][2]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); - gBattleBankFunc[gActiveBank] = sub_812B694; + gBattleBankFunc[gActiveBattler] = sub_812B694; } void SafariHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) SafariHandlePrintString(); else SafariBufferExecCompleted(); @@ -486,7 +486,7 @@ void SafariHandlecmd18(void) gUnknown_03004210.paletteNum = 0; Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 15, 27, 18); Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 35, 16, 36); - gBattleBankFunc[gActiveBank] = bx_battle_menu_t6_2; + gBattleBankFunc[gActiveBattler] = bx_battle_menu_t6_2; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptionsSafari, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); @@ -495,7 +495,7 @@ void SafariHandlecmd18(void) for (i = 0; i < 4; i++) nullsub_8(i); - sub_802E3E4(gActionSelectionCursor[gActiveBank], 0); + sub_802E3E4(gActionSelectionCursor[gActiveBattler], 0); StrCpyDecodeToDisplayedStringBattle(BattleText_PlayerMenu); Text_InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35); @@ -515,8 +515,8 @@ void SafariHandlecmd20(void) void SafariHandleOpenBag(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_812B724; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_812B724; + gBankInMenu = gActiveBattler; } void SafariHandlecmd22(void) @@ -541,7 +541,7 @@ void SafariHandleExpBarUpdate(void) void SafariHandleStatusIconUpdate(void) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 11); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 11); SafariBufferExecCompleted(); } @@ -629,23 +629,23 @@ void SafariHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) pan = -64; else pan = 63; - PlaySE12WithPanning(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8), pan); + PlaySE12WithPanning(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8), pan); SafariBufferExecCompleted(); } void SafariHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); SafariBufferExecCompleted(); } void SafariHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); PlayCry1(species, 25); SafariBufferExecCompleted(); @@ -653,16 +653,16 @@ void SafariHandleFaintingCry(void) void SafariHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; SafariBufferExecCompleted(); } void SafariHandleTrainerBallThrow(void) { - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 10); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 10); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); SafariBufferExecCompleted(); } @@ -688,13 +688,13 @@ void SafariHandleSpriteInvisibility(void) void SafariHandleBattleAnimation(void) { - u8 r3 = gBattleBufferA[gActiveBank][1]; - u16 r4 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 r3 = gBattleBufferA[gActiveBattler][1]; + u16 r4 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, r3, r4) != 0) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, r3, r4) != 0) SafariBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_812B794; + gBattleBankFunc[gActiveBattler] = sub_812B794; } void SafariHandleLinkStandbyMsg(void) @@ -709,12 +709,12 @@ void SafariHandleResetActionMoveSelection(void) void SafariHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); SafariBufferExecCompleted(); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) - gBattleBankFunc[gActiveBank] = sub_812B6AC; + gBattleBankFunc[gActiveBattler] = sub_812B6AC; } void SafariHandlecmd56(void) diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index c590b487c..2737a0095 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -27,7 +27,7 @@ struct MovePpInfo u8 ppBonuses; }; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern void (*gBattleBankFunc[])(void); extern u32 gBattleExecBuffer; extern u8 gBattleBufferA[][0x200]; @@ -238,7 +238,7 @@ void unref_sub_8137220(void) void SetBankFuncToWallyBufferRunCommand(void) { - gBattleBankFunc[gActiveBank] = WallyBufferRunCommand; + gBattleBankFunc[gActiveBattler] = WallyBufferRunCommand; ewram160A8 = 0; ewram160A9 = 0; ewram160AA = 0; @@ -247,10 +247,10 @@ void SetBankFuncToWallyBufferRunCommand(void) void WallyBufferRunCommand(void) { - if (gBattleExecBuffer & gBitTable[gActiveBank]) + if (gBattleExecBuffer & gBitTable[gActiveBattler]) { - if (gBattleBufferA[gActiveBank][0] < 0x39) - gWallyBufferCommands[gBattleBufferA[gActiveBank][0]](); + if (gBattleBufferA[gActiveBattler][0] < 0x39) + gWallyBufferCommands[gBattleBufferA[gActiveBattler][0]](); else WallyBufferExecCompleted(); } @@ -325,7 +325,7 @@ void sub_81372BC(void) void sub_813741C(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } @@ -355,7 +355,7 @@ void sub_81374C4(void) { if (!gPaletteFade.active) { - gBattleBankFunc[gActiveBank] = sub_81374FC; + gBattleBankFunc[gActiveBattler] = sub_81374FC; nullsub_14(); PrepareBagForWallyTutorial(); } @@ -373,27 +373,27 @@ void sub_81374FC(void) void sub_8137538(void) { - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank].unk0_7) - sub_8141828(gActiveBank, &gPlayerParty[gBattlePartyID[gActiveBank]]); + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) + sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); - if (!ewram17810[gActiveBank ^ 2].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_7) - sub_8141828(gActiveBank ^ 2, &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]]); + if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) + sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]]); - if (!ewram17810[gActiveBank].unk0_3 && !ewram17810[gActiveBank ^ 2].unk0_3) + if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBank ^ 2], &gPlayerParty[gBattlePartyID[gActiveBank ^ 2]], 0); - sub_804777C(gActiveBank ^ 2); - sub_8043DFC(gHealthboxIDs[gActiveBank ^ 2]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], 0); + sub_804777C(gActiveBattler ^ 2); + sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } - DestroySprite(&gSprites[gUnknown_0300434C[gActiveBank]]); - sub_8045A5C(gHealthboxIDs[gActiveBank], &gPlayerParty[gBattlePartyID[gActiveBank]], 0); - sub_804777C(gActiveBank); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_804777C(gActiveBattler); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); ewram17840.unk9_0 = 0; - gBattleBankFunc[gActiveBank] = sub_81376B8; + gBattleBankFunc[gActiveBattler] = sub_81376B8; } } @@ -401,18 +401,18 @@ void sub_81376B8(void) { bool8 r4 = FALSE; - if (gSprites[gHealthboxIDs[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxIDs[gActiveBattler]].callback == SpriteCallbackDummy) r4 = TRUE; - if (r4 && ewram17810[gActiveBank].unk1_0 && ewram17810[gActiveBank ^ 2].unk1_0) + if (r4 && ewram17810[gActiveBattler].unk1_0 && ewram17810[gActiveBattler ^ 2].unk1_0) { - ewram17810[gActiveBank].unk0_7 = 0; - ewram17810[gActiveBank].unk1_0 = 0; - ewram17810[gActiveBank ^ 2].unk0_7 = 0; - ewram17810[gActiveBank ^ 2].unk1_0 = 0; + ewram17810[gActiveBattler].unk0_7 = 0; + ewram17810[gActiveBattler].unk1_0 = 0; + ewram17810[gActiveBattler ^ 2].unk0_7 = 0; + ewram17810[gActiveBattler ^ 2].unk1_0 = 0; FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } } @@ -421,22 +421,22 @@ void sub_81377B0(void) { s16 r4; - r4 = sub_8045C78(gActiveBank, gHealthboxIDs[gActiveBank], 0, 0); - sub_8043DFC(gHealthboxIDs[gActiveBank]); + r4 = sub_8045C78(gActiveBattler, gHealthboxIDs[gActiveBattler], 0, 0); + sub_8043DFC(gHealthboxIDs[gActiveBattler]); if (r4 != -1) { - sub_80440EC(gHealthboxIDs[gActiveBank], r4, 0); + sub_80440EC(gHealthboxIDs[gActiveBattler], r4, 0); } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } } void bx_blink_t5(void) { - u8 spriteId = gBankSpriteIds[gActiveBank]; + u8 spriteId = gBankSpriteIds[gActiveBattler]; if (gSprites[spriteId].data[1] == 32) { @@ -455,11 +455,11 @@ void bx_blink_t5(void) void sub_813789C(void) { - if (!ewram17810[gActiveBank].unk0_6) + if (!ewram17810[gActiveBattler].unk0_6) { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); WallyBufferExecCompleted(); } } @@ -467,35 +467,35 @@ void sub_813789C(void) // Duplicate of sub_813741C void sub_8137908(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].callback == SpriteCallbackDummy) + if (gSprites[gBankSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } void sub_8137940(void) { - if (!ewram17810[gActiveBank].unk0_5) + if (!ewram17810[gActiveBattler].unk0_5) WallyBufferExecCompleted(); } void WallyBufferExecCompleted(void) { - gBattleBankFunc[gActiveBank] = WallyBufferRunCommand; + gBattleBankFunc[gActiveBattler] = WallyBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 multiplayerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &multiplayerId); - gBattleBufferA[gActiveBank][0] = 0x38; + gBattleBufferA[gActiveBattler][0] = 0x38; } else { - gBattleExecBuffer &= ~gBitTable[gActiveBank]; + gBattleExecBuffer &= ~gBitTable[gActiveBattler]; } } void unref_sub_81379E4(void) { - if (!ewram17810[gActiveBank].unk0_4) + if (!ewram17810[gActiveBattler].unk0_4) WallyBufferExecCompleted(); } @@ -506,13 +506,13 @@ void WallyHandleGetAttributes(void) u8 r4; s32 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = sub_8137A84(gBattlePartyID[gActiveBank], arr); + r6 = sub_8137A84(gBattlePartyID[gActiveBattler], arr); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -534,7 +534,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) u32 data32; s32 size = 0; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: battlePokemon.species = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES); @@ -596,7 +596,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) case 5: case 6: case 7: - data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4); + data16 = GetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4); buffer[0] = data16; buffer[1] = data16 >> 8; size = 2; @@ -611,7 +611,7 @@ u32 sub_8137A84(u8 a, u8 *buffer) case 10: case 11: case 12: - buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9); + buffer[0] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9); size = 1; break; case 17: @@ -835,13 +835,13 @@ void WallyHandleSetAttributes(void) u8 r4; u8 i; - if (gBattleBufferA[gActiveBank][2] == 0) + if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8138294(gBattlePartyID[gActiveBank]); + sub_8138294(gBattlePartyID[gActiveBattler]); } else { - r4 = gBattleBufferA[gActiveBank][2]; + r4 = gBattleBufferA[gActiveBattler][2]; for (i = 0; i < 6; i++) { if (r4 & 1) @@ -854,11 +854,11 @@ void WallyHandleSetAttributes(void) void sub_8138294(u8 a) { - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBank][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBank][3]; + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleBufferA[gActiveBattler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleBufferA[gActiveBattler][3]; s32 i; - switch (gBattleBufferA[gActiveBank][1]) + switch (gBattleBufferA[gActiveBattler][1]) { case 0: { @@ -899,10 +899,10 @@ void sub_8138294(u8 a) } break; case 1: - SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &gBattleBufferA[gActiveBattler][3]); break; case 2: - SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &gBattleBufferA[gActiveBattler][3]); break; case 3: for (i = 0; i < 4; i++) @@ -916,157 +916,157 @@ void sub_8138294(u8 a) case 5: case 6: case 7: - SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBank][1] - 4, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + gBattleBufferA[gActiveBattler][1] - 4, &gBattleBufferA[gActiveBattler][3]); break; case 8: - SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBank][7]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP2, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_PP3, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_PP4, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &gBattleBufferA[gActiveBattler][7]); break; case 9: case 10: case 11: case 12: - SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBank][1] - 9, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PP1 + gBattleBufferA[gActiveBattler][1] - 9, &gBattleBufferA[gActiveBattler][3]); break; case 17: - SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_OT_ID, &gBattleBufferA[gActiveBattler][3]); break; case 18: - SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_EXP, &gBattleBufferA[gActiveBattler][3]); break; case 19: - SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_EV, &gBattleBufferA[gActiveBattler][3]); break; case 20: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 21: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 22: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_EV, &gBattleBufferA[gActiveBattler][3]); break; case 23: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_EV, &gBattleBufferA[gActiveBattler][3]); break; case 24: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_EV, &gBattleBufferA[gActiveBattler][3]); break; case 25: - SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &gBattleBufferA[gActiveBattler][3]); break; case 26: - SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKERUS, &gBattleBufferA[gActiveBattler][3]); break; case 27: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LOCATION, &gBattleBufferA[gActiveBattler][3]); break; case 28: - SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 29: - SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MET_GAME, &gBattleBufferA[gActiveBattler][3]); break; case 30: - SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_POKEBALL, &gBattleBufferA[gActiveBattler][3]); break; case 31: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][4]); - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][5]); - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][6]); - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][7]); - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][8]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][4]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][5]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][6]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][7]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][8]); break; case 32: - SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &gBattleBufferA[gActiveBattler][3]); break; case 33: - SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 34: - SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 35: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &gBattleBufferA[gActiveBattler][3]); break; case 36: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &gBattleBufferA[gActiveBattler][3]); break; case 37: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &gBattleBufferA[gActiveBattler][3]); break; case 38: - SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &gBattleBufferA[gActiveBattler][3]); break; case 39: - SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CHECKSUM, &gBattleBufferA[gActiveBattler][3]); break; case 40: - SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &gBattleBufferA[gActiveBattler][3]); break; case 41: - SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &gBattleBufferA[gActiveBattler][3]); break; case 42: - SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_HP, &gBattleBufferA[gActiveBattler][3]); break; case 43: - SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &gBattleBufferA[gActiveBattler][3]); break; case 44: - SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_ATK, &gBattleBufferA[gActiveBattler][3]); break; case 45: - SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_DEF, &gBattleBufferA[gActiveBattler][3]); break; case 46: - SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &gBattleBufferA[gActiveBattler][3]); break; case 47: - SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &gBattleBufferA[gActiveBattler][3]); break; case 48: - SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &gBattleBufferA[gActiveBattler][3]); break; case 49: - SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL, &gBattleBufferA[gActiveBattler][3]); break; case 50: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY, &gBattleBufferA[gActiveBattler][3]); break; case 51: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE, &gBattleBufferA[gActiveBattler][3]); break; case 52: - SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART, &gBattleBufferA[gActiveBattler][3]); break; case 53: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH, &gBattleBufferA[gActiveBattler][3]); break; case 54: - SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SHEEN, &gBattleBufferA[gActiveBattler][3]); break; case 55: - SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_COOL_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 56: - SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_BEAUTY_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 57: - SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_CUTE_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 58: - SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_SMART_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; case 59: - SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBank][3]); + SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBank]], gActiveBank); + HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); } void WallyHandlecmd3(void) @@ -1086,48 +1086,48 @@ void WallyHandleSendOutPoke(void) void WallyHandleReturnPokeToBall(void) { - if (gBattleBufferA[gActiveBank][1] == 0) + if (gBattleBufferA[gActiveBattler][1] == 0) { - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 1); - gBattleBankFunc[gActiveBank] = sub_813789C; + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 1); + gBattleBankFunc[gActiveBattler] = sub_813789C; } else { - FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBank]]); - DestroySprite(&gSprites[gBankSpriteIds[gActiveBank]]); - sub_8043DB0(gHealthboxIDs[gActiveBank]); + FreeSpriteOamMatrix(&gSprites[gBankSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); + sub_8043DB0(gHealthboxIDs[gActiveBattler]); WallyBufferExecCompleted(); } } void WallyHandleTrainerThrow(void) { - LoadPlayerTrainerBankSprite(2, gActiveBank); - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(2, gActiveBattler); + GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = 240; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = -2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_813741C; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = 240; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = -2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_813741C; } void WallyHandleTrainerSlide(void) { - LoadPlayerTrainerBankSprite(2, gActiveBank); - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBank)); - gBankSpriteIds[gActiveBank] = CreateSprite( + LoadPlayerTrainerBankSprite(2, gActiveBattler); + GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBattler)); + gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), 30); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = gActiveBank; - gSprites[gBankSpriteIds[gActiveBank]].pos2.x = -96; - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 2; - gSprites[gBankSpriteIds[gActiveBank]].callback = sub_80313A0; - gBattleBankFunc[gActiveBank] = sub_8137908; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; + gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -96; + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 2; + gSprites[gBankSpriteIds[gActiveBattler]].callback = sub_80313A0; + gBattleBankFunc[gActiveBattler] = sub_8137908; } void WallyHandleTrainerSlideBack(void) @@ -1149,18 +1149,18 @@ void WallyHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = TRUE; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t5; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t5; } void WallyHandleBallThrow(void) { - u8 val = gBattleBufferA[gActiveBank][1]; + u8 val = gBattleBufferA[gActiveBattler][1]; ewram17840.unk8 = val; gDoingBattleAnim = TRUE; - move_anim_start_t4(gActiveBank, gActiveBank, GetBankByIdentity(1), 4); - gBattleBankFunc[gActiveBank] = bx_wait_t5; + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + gBattleBankFunc[gActiveBattler] = bx_wait_t5; } void WallyHandlePuase(void) @@ -1170,15 +1170,15 @@ void WallyHandlePuase(void) void WallyHandleMoveAnimation(void) { - u16 move = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 move = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); - gAnimMoveTurn = gBattleBufferA[gActiveBank][3]; - gAnimMovePower = gBattleBufferA[gActiveBank][4] | (gBattleBufferA[gActiveBank][5] << 8); - gAnimMoveDmg = gBattleBufferA[gActiveBank][6] | (gBattleBufferA[gActiveBank][7] << 8) | (gBattleBufferA[gActiveBank][8] << 16) | (gBattleBufferA[gActiveBank][9] << 24); - gAnimFriendship = gBattleBufferA[gActiveBank][10]; - gWeatherMoveAnim = gBattleBufferA[gActiveBank][12] | (gBattleBufferA[gActiveBank][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBank][16]; - gTransformedPersonalities[gActiveBank] = gAnimDisableStructPtr->transformedMonPersonality; + gAnimMoveTurn = gBattleBufferA[gActiveBattler][3]; + gAnimMovePower = gBattleBufferA[gActiveBattler][4] | (gBattleBufferA[gActiveBattler][5] << 8); + gAnimMoveDmg = gBattleBufferA[gActiveBattler][6] | (gBattleBufferA[gActiveBattler][7] << 8) | (gBattleBufferA[gActiveBattler][8] << 16) | (gBattleBufferA[gActiveBattler][9] << 24); + gAnimFriendship = gBattleBufferA[gActiveBattler][10]; + gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; + gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; if (sub_8031720(move, gAnimMoveTurn) != 0) { // Dead code. sub_8031720 always returns 0. @@ -1186,32 +1186,32 @@ void WallyHandleMoveAnimation(void) } else { - ewram17810[gActiveBank].unk4 = 0; - gBattleBankFunc[gActiveBank] = sub_81390D0; + ewram17810[gActiveBattler].unk4 = 0; + gBattleBankFunc[gActiveBattler] = sub_81390D0; } } void sub_81390D0(void) { - u16 r4 = gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8); + u16 r4 = gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8); #ifndef NONMATCHING asm("":::"r6"); #endif - switch (ewram17810[gActiveBank].unk4) + switch (ewram17810[gActiveBattler].unk4) { case 0: - if (ewram17800[gActiveBank].substituteSprite == 1) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 5); - ewram17810[gActiveBank].unk4 = 1; + if (ewram17800[gActiveBattler].substituteSprite == 1) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 5); + ewram17810[gActiveBattler].unk4 = 1; break; case 1: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_80326EC(0); DoMoveAnim(r4); - ewram17810[gActiveBank].unk4 = 2; + ewram17810[gActiveBattler].unk4 = 2; } break; case 2: @@ -1219,17 +1219,17 @@ void sub_81390D0(void) if (!gAnimScriptActive) { sub_80326EC(1); - if (ewram17800[gActiveBank].substituteSprite == 1) - move_anim_start_t4(gActiveBank, gActiveBank, gActiveBank, 6); - ewram17810[gActiveBank].unk4 = 3; + if (ewram17800[gActiveBattler].substituteSprite == 1) + move_anim_start_t4(gActiveBattler, gActiveBattler, gActiveBattler, 6); + ewram17810[gActiveBattler].unk4 = 3; } break; case 3: - if (ewram17810[gActiveBank].unk0_6 == 0) + if (ewram17810[gActiveBattler].unk0_6 == 0) { sub_8031F24(); - sub_80324BC(gActiveBank, gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); - ewram17810[gActiveBank].unk4 = 0; + sub_80324BC(gActiveBattler, gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); + ewram17810[gActiveBattler].unk4 = 0; WallyBufferExecCompleted(); } break; @@ -1242,17 +1242,17 @@ void WallyHandlePrintString(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - ptr = (u16 *)&gBattleBufferA[gActiveBank][2]; + ptr = (u16 *)&gBattleBufferA[gActiveBattler][2]; if (*ptr == 2) DestroyMenuCursor(); BufferStringBattle(*ptr); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 0x90, 2, 15); - gBattleBankFunc[gActiveBank] = sub_8137454; + gBattleBankFunc[gActiveBattler] = sub_8137454; } void WallyHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) WallyHandlePrintString(); else WallyBufferExecCompleted(); @@ -1267,7 +1267,7 @@ void WallyHandlecmd18(void) gUnknown_03004210.paletteNum = 0; Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 15, 27, 18); Text_FillWindowRectDefPalette(&gUnknown_03004210, 10, 2, 35, 16, 36); - gBattleBankFunc[gActiveBank] = sub_81372BC; + gBattleBankFunc[gActiveBattler] = sub_81372BC; Text_InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35); Text_PrintWindow8002F44(&gUnknown_03004210); MenuCursor_Create814A5C0(0, 0xFFFF, 12, 0x2D9F, 0); @@ -1313,8 +1313,8 @@ void WallyHandlecmd20(void) void WallyHandleOpenBag(void) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - gBattleBankFunc[gActiveBank] = sub_81374C4; - gBankInMenu = gActiveBank; + gBattleBankFunc[gActiveBattler] = sub_81374C4; + gBankInMenu = gActiveBattler; } void WallyHandlecmd22(void) @@ -1332,22 +1332,22 @@ void WallyHandleHealthBarUpdate(void) s16 r7; load_gfxc_health_bar(0); - r7 = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, curHP, r7); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - sub_8043D84(gActiveBank, gHealthboxIDs[gActiveBank], maxHP, 0, r7); - sub_80440EC(gHealthboxIDs[gActiveBank], 0, 0); + sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); + sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); } - gBattleBankFunc[gActiveBank] = sub_81377B0; + gBattleBankFunc[gActiveBattler] = sub_81377B0; } void WallyHandleExpBarUpdate(void) @@ -1432,16 +1432,16 @@ void WallyHandlecmd40(void) void WallyHandleHitAnimation(void) { - if (gSprites[gBankSpriteIds[gActiveBank]].invisible == TRUE) + if (gSprites[gBankSpriteIds[gActiveBattler]].invisible == TRUE) { WallyBufferExecCompleted(); } else { gDoingBattleAnim = 1; - gSprites[gBankSpriteIds[gActiveBank]].data[1] = 0; - sub_8047858(gActiveBank); - gBattleBankFunc[gActiveBank] = bx_blink_t5; + gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; + sub_8047858(gActiveBattler); + gBattleBankFunc[gActiveBattler] = bx_blink_t5; } } @@ -1452,25 +1452,25 @@ void WallyHandlecmd42(void) void WallyHandleEffectivenessSound(void) { - PlaySE(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlaySE(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); WallyBufferExecCompleted(); } void WallyHandlecmd44(void) { - PlayFanfare(gBattleBufferA[gActiveBank][1] | (gBattleBufferA[gActiveBank][2] << 8)); + PlayFanfare(gBattleBufferA[gActiveBattler][1] | (gBattleBufferA[gActiveBattler][2] << 8)); WallyBufferExecCompleted(); } void WallyHandleFaintingCry(void) { - PlayCry1(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_SPECIES), 25); + PlayCry1(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), 25); WallyBufferExecCompleted(); } void WallyHandleIntroSlide(void) { - StartBattleIntroAnim(gBattleBufferA[gActiveBank][1]); + StartBattleIntroAnim(gBattleBufferA[gActiveBattler][1]); gUnknown_02024DE8 |= 1; WallyBufferExecCompleted(); } @@ -1480,23 +1480,23 @@ void WallyHandleTrainerBallThrow(void) u8 paletteNum; u8 taskId; - oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBank]]); - gSprites[gBankSpriteIds[gActiveBank]].data[0] = 50; - gSprites[gBankSpriteIds[gActiveBank]].data[2] = -40; - gSprites[gBankSpriteIds[gActiveBank]].data[4] = gSprites[gBankSpriteIds[gActiveBank]].pos1.y; - gSprites[gBankSpriteIds[gActiveBank]].callback = StartTranslateAnimSpriteByDeltas; - gSprites[gBankSpriteIds[gActiveBank]].data[5] = gActiveBank; - StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBank]], sub_8030E38); - StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBank]], 1); + oamt_add_pos2_onto_pos1(&gSprites[gBankSpriteIds[gActiveBattler]]); + gSprites[gBankSpriteIds[gActiveBattler]].data[0] = 50; + gSprites[gBankSpriteIds[gActiveBattler]].data[2] = -40; + gSprites[gBankSpriteIds[gActiveBattler]].data[4] = gSprites[gBankSpriteIds[gActiveBattler]].pos1.y; + gSprites[gBankSpriteIds[gActiveBattler]].callback = StartTranslateAnimSpriteByDeltas; + gSprites[gBankSpriteIds[gActiveBattler]].data[5] = gActiveBattler; + StoreSpriteCallbackInData(&gSprites[gBankSpriteIds[gActiveBattler]], sub_8030E38); + StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); LoadCompressedPalette(gTrainerBackPicPaletteTable[2].data, 0x100 + paletteNum * 16, 32); - gSprites[gBankSpriteIds[gActiveBank]].oam.paletteNum = paletteNum; + gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_8139A2C, 5); - gTasks[taskId].data[0] = gActiveBank; - if (ewram17810[gActiveBank].unk0_0) - gTasks[gUnknown_02024E68[gActiveBank]].func = sub_8044CA0; + gTasks[taskId].data[0] = gActiveBattler; + if (ewram17810[gActiveBattler].unk0_0) + gTasks[gUnknown_02024E68[gActiveBattler]].func = sub_8044CA0; ewram17810[4].unk9 |= 1; - gBattleBankFunc[gActiveBank] = nullsub_91; + gBattleBankFunc[gActiveBattler] = nullsub_91; } void sub_81398BC(u8 bank) @@ -1531,27 +1531,27 @@ void sub_8139A2C(u8 taskId) } else { - u8 savedActiveBank = gActiveBank; + u8 savedActiveBank = gActiveBattler; - gActiveBank = gTasks[taskId].data[0]; - gBattleBufferA[gActiveBank][1] = gBattlePartyID[gActiveBank]; - sub_81398BC(gActiveBank); - gBattleBankFunc[gActiveBank] = sub_8137538; - gActiveBank = savedActiveBank; + gActiveBattler = gTasks[taskId].data[0]; + gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + sub_81398BC(gActiveBattler); + gBattleBankFunc[gActiveBattler] = sub_8137538; + gActiveBattler = savedActiveBank; DestroyTask(taskId); } } void WallyHandlecmd48(void) { - if (gBattleBufferA[gActiveBank][1] != 0 && GetBankSide(gActiveBank) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) { WallyBufferExecCompleted(); } else { - ewram17810[gActiveBank].unk0_0 = 1; - gUnknown_02024E68[gActiveBank] = sub_8044804(gActiveBank, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBank][4], gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][2]); + ewram17810[gActiveBattler].unk0_0 = 1; + gUnknown_02024E68[gActiveBattler] = sub_8044804(gActiveBattler, (struct BattleInterfaceStruct2 *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); WallyBufferExecCompleted(); } } @@ -1573,13 +1573,13 @@ void WallyHandleSpriteInvisibility(void) void WallyHandleBattleAnimation(void) { - u8 val2 = gBattleBufferA[gActiveBank][1]; - u16 val = gBattleBufferA[gActiveBank][2] | (gBattleBufferA[gActiveBank][3] << 8); + u8 val2 = gBattleBufferA[gActiveBattler][1]; + u16 val = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - if (move_anim_start_t3(gActiveBank, gActiveBank, gActiveBank, val2, val)) + if (move_anim_start_t3(gActiveBattler, gActiveBattler, gActiveBattler, val2, val)) WallyBufferExecCompleted(); else - gBattleBankFunc[gActiveBank] = sub_8137940; + gBattleBankFunc[gActiveBattler] = sub_8137940; } void WallyHandleLinkStandbyMsg(void) @@ -1594,12 +1594,12 @@ void WallyHandleResetActionMoveSelection(void) void WallyHandlecmd55(void) { - gBattleOutcome = gBattleBufferA[gActiveBank][1]; + gBattleOutcome = gBattleBufferA[gActiveBattler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); WallyBufferExecCompleted(); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_WILD)) - gBattleBankFunc[gActiveBank] = sub_813746C; + gBattleBankFunc[gActiveBattler] = sub_813746C; } void WallyHandlecmd56(void) diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c index ed7ab3a35..c428e4edd 100644 --- a/src/battle/battle_message.c +++ b/src/battle/battle_message.c @@ -155,7 +155,7 @@ extern const u8* const gBattleStringsTable[BATTLESTRINGS_NO]; extern u16 gLastUsedItem; extern u8 gLastUsedAbility; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBankAttacker; extern u8 gBankTarget; extern u8 gStringBank; @@ -214,7 +214,7 @@ void BufferStringBattle(u16 stringID) int i; const u8* stringPtr = NULL; - gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBank][4]); + gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBattler][4]); gLastUsedItem = gStringInfo->lastItem; gLastUsedAbility = gStringInfo->lastAbility; gBattleStruct->scriptingActive = gStringInfo->scrActive; @@ -265,7 +265,7 @@ void BufferStringBattle(u16 stringID) } break; case 1: // poke first send-out - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -305,7 +305,7 @@ void BufferStringBattle(u16 stringID) } break; case 2: // sending poke to ball msg - if (GetBankSide(gActiveBank) == 0) + if (GetBankSide(gActiveBattler) == 0) { if (gBattleStruct->hpScale == 0) stringPtr = BattleText_ComeBackSingle1; @@ -377,7 +377,7 @@ void BufferStringBattle(u16 stringID) if (gBattleTextBuff1[0] & 0x80) { gBattleTextBuff1[0] &= ~(0x80); - if (GetBankSide(gActiveBank) == 1 && gBattleTextBuff1[0] != 3) + if (GetBankSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) gBattleTextBuff1[0] ^= 3; if (gBattleTextBuff1[0] == BATTLE_LOST || gBattleTextBuff1[0] == BATTLE_DREW) stringPtr = BattleText_GotAwaySafely; @@ -391,7 +391,7 @@ void BufferStringBattle(u16 stringID) } else { - if (GetBankSide(gActiveBank) == 1 && gBattleTextBuff1[0] != 3) + if (GetBankSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) gBattleTextBuff1[0] ^= 3; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -636,7 +636,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank]) break; case 15: // active bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gActiveBank, gBattlePartyID[gActiveBank]) + HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlePartyID[gActiveBattler]) break; case 16: // scripting active bank name with prefix HANDLE_NICKNAME_STRING_CASE(gBattleStruct->scriptingActive, gBattlePartyID[gBattleStruct->scriptingActive]) diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index 194a002d3..df227ab2c 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -25,7 +25,7 @@ extern u8 gUnknown_02023A14_50; extern const u8* gBattlescriptCurrInstr; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gBattleBufferB[4][0x200]; extern u8* gUnknown_02024C1C[4]; //battlescript location when you try to choose a move you're not allowed to extern u16 gLastUsedMove[4]; @@ -259,9 +259,9 @@ void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move) if (!(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[i])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBank].pp[i]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bankAtk; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]); + MarkBufferBankForExecution(gActiveBattler); } } @@ -293,9 +293,9 @@ void PressurePPLoseOnUsingImprision(u8 bankAtk) && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[imprisionPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBank].pp[imprisionPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bankAtk; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]); + MarkBufferBankForExecution(gActiveBattler); } } @@ -326,9 +326,9 @@ void PressurePPLoseOnUsingPerishSong(u8 bankAtk) && !(gBattleMons[bankAtk].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bankAtk].unk18_b & gBitTable[perishSongPos])) { - gActiveBank = bankAtk; - EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBank].pp[perishSongPos]); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bankAtk; + EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); + MarkBufferBankForExecution(gActiveBattler); } } @@ -402,9 +402,9 @@ bool8 WasUnableToUseMove(u8 bank) void PrepareStringBattle(u16 stringId, u8 bank) { - gActiveBank = bank; + gActiveBattler = bank; EmitPrintString(0, stringId); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); } void ResetSentPokesToOpponentValue(void) @@ -474,49 +474,49 @@ void BattleScriptPop(void) u8 TrySetCantSelectMoveBattleScript(void) //msg can't select a move { u8 limitations = 0; - u16 move = gBattleMons[gActiveBank].moves[gBattleBufferB[gActiveBank][2]]; + u16 move = gBattleMons[gActiveBattler].moves[gBattleBufferB[gActiveBattler][2]]; u8 holdEffect; - u16* choicedMove = CHOICED_MOVE(gActiveBank); - if (gDisableStructs[gActiveBank].disabledMove == move && move) + u16* choicedMove = CHOICED_MOVE(gActiveBattler); + if (gDisableStructs[gActiveBattler].disabledMove == move && move) { - gBattleStruct->scriptingActive = gActiveBank; + gBattleStruct->scriptingActive = gActiveBattler; gCurrentMove = move; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionDisabledMove; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionDisabledMove; limitations++; } - if (move == gLastUsedMove[gActiveBank] && move != MOVE_STRUGGLE && gBattleMons[gActiveBank].status2 & STATUS2_TORMENT) + if (move == gLastUsedMove[gActiveBattler] && move != MOVE_STRUGGLE && gBattleMons[gActiveBattler].status2 & STATUS2_TORMENT) { - CancelMultiTurnMoves(gActiveBank); - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionTormented; + CancelMultiTurnMoves(gActiveBattler); + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionTormented; limitations++; } - if (gDisableStructs[gActiveBank].tauntTimer1 && gBattleMoves[move].power == 0) + if (gDisableStructs[gActiveBattler].tauntTimer1 && gBattleMoves[move].power == 0) { gCurrentMove = move; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionTaunted; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionTaunted; limitations++; } - if (IsImprisoned(gActiveBank, move)) + if (IsImprisoned(gActiveBattler, move)) { gCurrentMove = move; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionImprisoned; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionImprisoned; limitations++; } - if (gBattleMons[gActiveBank].item == ITEM_ENIGMA_BERRY) - holdEffect = gEnigmaBerries[gActiveBank].holdEffect; + if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY) + holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBank].item); - gStringBank = gActiveBank; + holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + gStringBank = gActiveBattler; if (holdEffect == HOLD_EFFECT_CHOICE_BAND && *choicedMove != 0 && *choicedMove != 0xFFFF && *choicedMove != move) { gCurrentMove = *choicedMove; - gLastUsedItem = gBattleMons[gActiveBank].item; - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionChoiceBanded; + gLastUsedItem = gBattleMons[gActiveBattler].item; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionChoiceBanded; limitations++; } - if (gBattleMons[gActiveBank].pp[gBattleBufferB[gActiveBank][2]] == 0) + if (gBattleMons[gActiveBattler].pp[gBattleBufferB[gActiveBattler][2]] == 0) { - gUnknown_02024C1C[gActiveBank] = BattleScript_MoveSelectionNoPP; + gUnknown_02024C1C[gActiveBattler] = BattleScript_MoveSelectionNoPP; limitations++; } return limitations; @@ -564,18 +564,18 @@ u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check) bool8 AreAllMovesUnusable(void) { u8 unusable; - unusable = CheckMoveLimitations(gActiveBank, 0, 0xFF); + unusable = CheckMoveLimitations(gActiveBattler, 0, 0xFF); if (unusable == 0xF) //all moves are unusable { - gProtectStructs[gActiveBank].onlyStruggle = 1; - gUnknown_02024C1C[gActiveBank] = BattleScript_NoMovesLeft; + gProtectStructs[gActiveBattler].onlyStruggle = 1; + gUnknown_02024C1C[gActiveBattler] = BattleScript_NoMovesLeft; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - gBattleBufferB[gActiveBank][3] = GetBankByIdentity((GetBankIdentity(gActiveBank) ^ 1) | (Random() & 2)); + gBattleBufferB[gActiveBattler][3] = GetBankByIdentity((GetBankIdentity(gActiveBattler) ^ 1) | (Random() & 2)); else - gBattleBufferB[gActiveBank][3] = GetBankByIdentity(GetBankIdentity(gActiveBank) ^ 1); + gBattleBufferB[gActiveBattler][3] = GetBankByIdentity(GetBankIdentity(gActiveBattler) ^ 1); } else - gProtectStructs[gActiveBank].onlyStruggle = 0; + gProtectStructs[gActiveBattler].onlyStruggle = 0; return (unusable == 0xF); } @@ -638,7 +638,7 @@ u8 UpdateTurnCounters(void) case 1: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_REFLECT) { @@ -668,7 +668,7 @@ u8 UpdateTurnCounters(void) case 2: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[sideBank].lightscreenTimer == 0) @@ -697,7 +697,7 @@ u8 UpdateTurnCounters(void) case 3: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideTimers[sideBank].mistTimer && --gSideTimers[sideBank].mistTimer == 0) { gSideAffecting[sideBank] &= ~SIDE_STATUS_MIST; @@ -723,7 +723,7 @@ u8 UpdateTurnCounters(void) case 4: while (gBattleStruct->turnSideTracker < 2) { - gActiveBank = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; + gActiveBattler = gBankAttacker = sideBank = gBattleStruct->turnSideTracker; if (gSideAffecting[sideBank] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[sideBank].safeguardTimer == 0) @@ -746,10 +746,10 @@ u8 UpdateTurnCounters(void) case 5: while (gBattleStruct->turnSideTracker < gNoOfAllBanks) { - gActiveBank = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; - if (gWishFutureKnock.wishCounter[gActiveBank] && --gWishFutureKnock.wishCounter[gActiveBank] == 0 && gBattleMons[gActiveBank].hp) + gActiveBattler = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; + if (gWishFutureKnock.wishCounter[gActiveBattler] && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp) { - gBankTarget = gActiveBank; + gBankTarget = gActiveBattler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -856,8 +856,8 @@ u8 TurnBasedEffects(void) gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); while (gBattleStruct->turnEffectsBank < gNoOfAllBanks && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; + if (gAbsentBankFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBank++; } @@ -866,11 +866,11 @@ u8 TurnBasedEffects(void) switch (gBattleStruct->turnEffectsTracker) { case 0: // ingrain - if ((gStatuses3[gActiveBank] & STATUS3_ROOTED) - && gBattleMons[gActiveBank].hp != gBattleMons[gActiveBank].maxHP - && gBattleMons[gActiveBank].hp != 0) + if ((gStatuses3[gActiveBattler] & STATUS3_ROOTED) + && gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP + && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -880,25 +880,25 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 1: // end turn abilities - if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBank, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBattler, 0, 0, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 2: // item effects - if (ItemBattleEffects(1, gActiveBank, 0)) + if (ItemBattleEffects(1, gActiveBattler, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case 18: // item effects again - if (ItemBattleEffects(1, gActiveBank, 1)) + if (ItemBattleEffects(1, gActiveBattler, 1)) effect++; gBattleStruct->turnEffectsTracker++; break; case 3: // leech seed - if (gStatuses3[gActiveBank] & STATUS3_LEECHSEED && gBattleMons[gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBank].hp != 0) + if (gStatuses3[gActiveBattler] & STATUS3_LEECHSEED && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 && gBattleMons[gActiveBattler].hp != 0) { - gBankTarget = gStatuses3[gActiveBank] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBankTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the bank that receives HP + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleStruct->animArg1 = gBankTarget; @@ -909,9 +909,9 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 4: // poison - if ((gBattleMons[gActiveBank].status1 & STATUS_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_PoisonTurnDmg); @@ -920,23 +920,23 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 5: // toxic poison - if ((gBattleMons[gActiveBank].status1 & STATUS_TOXIC_POISON) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS_TOXIC_POISON) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gActiveBank].status1 & 0xF00) != 0xF00) //not 16 turns - gBattleMons[gActiveBank].status1 += 0x100; - gBattleMoveDamage *= (gBattleMons[gActiveBank].status1 & 0xF00) >> 8; + if ((gBattleMons[gActiveBattler].status1 & 0xF00) != 0xF00) //not 16 turns + gBattleMons[gActiveBattler].status1 += 0x100; + gBattleMoveDamage *= (gBattleMons[gActiveBattler].status1 & 0xF00) >> 8; BattleScriptExecute(BattleScript_PoisonTurnDmg); effect++; } gBattleStruct->turnEffectsTracker++; break; case 6: // burn - if ((gBattleMons[gActiveBank].status1 & STATUS_BURN) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status1 & STATUS_BURN) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 8; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_BurnTurnDmg); @@ -945,10 +945,10 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 7: // spooky nightmares - if ((gBattleMons[gActiveBank].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBattler].hp != 0) { // missing sleep check - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_NightmareTurnDmg); @@ -957,9 +957,9 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 8: // curse - if ((gBattleMons[gActiveBank].status2 & STATUS2_CURSED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_CURSED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 4; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_CurseTurnDmg); @@ -968,20 +968,20 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 9: // wrap - if ((gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBank].hp != 0) + if ((gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBattler].hp != 0) { - gBattleMons[gActiveBank].status2 -= 0x2000; - if (gBattleMons[gActiveBank].status2 & STATUS2_WRAPPED) // damaged by wrap + gBattleMons[gActiveBattler].status2 -= 0x2000; + if (gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) // damaged by wrap { - gBattleStruct->animArg1 = ewram16004arr(0, gActiveBank); - gBattleStruct->animArg2 = ewram16004arr(1, gActiveBank); + gBattleStruct->animArg1 = ewram16004arr(0, gActiveBattler); + gBattleStruct->animArg2 = ewram16004arr(1, gActiveBattler); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram16004arr(0, gActiveBank); - gBattleTextBuff1[3] = ewram16004arr(1, gActiveBank); + gBattleTextBuff1[2] = ewram16004arr(0, gActiveBattler); + gBattleTextBuff1[3] = ewram16004arr(1, gActiveBattler); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapTurnDmg; - gBattleMoveDamage = gBattleMons[gActiveBank].maxHP / 16; + gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; } @@ -989,8 +989,8 @@ u8 TurnBasedEffects(void) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = ewram16004arr(0, gActiveBank); - gBattleTextBuff1[3] = ewram16004arr(1, gActiveBank); + gBattleTextBuff1[2] = ewram16004arr(0, gActiveBattler); + gBattleTextBuff1[3] = ewram16004arr(1, gActiveBattler); gBattleTextBuff1[4] = EOS; gBattlescriptCurrInstr = BattleScript_WrapEnds; } @@ -1000,7 +1000,7 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 10: // uproar - if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks; gBankAttacker++) { @@ -1011,9 +1011,9 @@ u8 TurnBasedEffects(void) gBattleMons[gBankAttacker].status2 &= ~(STATUS2_NIGHTMARE); gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } } @@ -1024,22 +1024,22 @@ u8 TurnBasedEffects(void) } else { - gBankAttacker = gActiveBank; - gBattleMons[gActiveBank].status2 -= 0x10; // uproar timer goes down - if (WasUnableToUseMove(gActiveBank)) + gBankAttacker = gActiveBattler; + gBattleMons[gActiveBattler].status2 -= 0x10; // uproar timer goes down + if (WasUnableToUseMove(gActiveBattler)) { - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); gBattleCommunication[MULTISTRING_CHOOSER] = 1; } - else if (gBattleMons[gActiveBank].status2 & STATUS2_UPROAR) + else if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { gBattleCommunication[MULTISTRING_CHOOSER] = 0; - gBattleMons[gActiveBank].status2 |= STATUS2_MULTIPLETURNS; + gBattleMons[gActiveBattler].status2 |= STATUS2_MULTIPLETURNS; } else { gBattleCommunication[MULTISTRING_CHOOSER] = 1; - CancelMultiTurnMoves(gActiveBank); + CancelMultiTurnMoves(gActiveBattler); } BattleScriptExecute(BattleScript_PrintUproarOverTurns); effect = 1; @@ -1049,20 +1049,20 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 11: // thrash - if (gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) + if (gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) { - gBattleMons[gActiveBank].status2 -= 0x400; - if (WasUnableToUseMove(gActiveBank)) - CancelMultiTurnMoves(gActiveBank); - else if (!(gBattleMons[gActiveBank].status2 & STATUS2_LOCK_CONFUSE) - && (gBattleMons[gActiveBank].status2 & STATUS2_MULTIPLETURNS)) + gBattleMons[gActiveBattler].status2 -= 0x400; + if (WasUnableToUseMove(gActiveBattler)) + CancelMultiTurnMoves(gActiveBattler); + else if (!(gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) + && (gBattleMons[gActiveBattler].status2 & STATUS2_MULTIPLETURNS)) { - gBattleMons[gActiveBank].status2 &= ~(STATUS2_MULTIPLETURNS); - if (!(gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION)) + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_MULTIPLETURNS); + if (!(gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x47; SetMoveEffect(1, 0); - if (gBattleMons[gActiveBank].status2 & STATUS2_CONFUSION) + if (gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) BattleScriptExecute(BattleScript_ThrashConfuses); effect++; } @@ -1071,22 +1071,22 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 12: // disable - if (gDisableStructs[gActiveBank].disableTimer1 != 0) + if (gDisableStructs[gActiveBattler].disableTimer1 != 0) { int i; for (i = 0; i < 4; i++) { - if (gDisableStructs[gActiveBank].disabledMove == gBattleMons[gActiveBank].moves[i]) + if (gDisableStructs[gActiveBattler].disabledMove == gBattleMons[gActiveBattler].moves[i]) break; } if (i == 4) // pokemon does not have the disabled move anymore { - gDisableStructs[gActiveBank].disabledMove = 0; - gDisableStructs[gActiveBank].disableTimer1 = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[gActiveBattler].disableTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].disableTimer1 == 0) // disable ends + else if (--gDisableStructs[gActiveBattler].disableTimer1 == 0) // disable ends { - gDisableStructs[gActiveBank].disabledMove = 0; + gDisableStructs[gActiveBattler].disabledMove = 0; BattleScriptExecute(BattleScript_DisabledNoMore); effect++; } @@ -1094,18 +1094,18 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 13: // encore - if (gDisableStructs[gActiveBank].encoreTimer1 != 0) + if (gDisableStructs[gActiveBattler].encoreTimer1 != 0) { - if (gBattleMons[gActiveBank].moves[gDisableStructs[gActiveBank].encoredMovePos] != gDisableStructs[gActiveBank].encoredMove) // pokemon does not have the encored move anymore + if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; } - else if (--gDisableStructs[gActiveBank].encoreTimer1 == 0 - || gBattleMons[gActiveBank].pp[gDisableStructs[gActiveBank].encoredMovePos] == 0) + else if (--gDisableStructs[gActiveBattler].encoreTimer1 == 0 + || gBattleMons[gActiveBattler].pp[gDisableStructs[gActiveBattler].encoredMovePos] == 0) { - gDisableStructs[gActiveBank].encoredMove = 0; - gDisableStructs[gActiveBank].encoreTimer1 = 0; + gDisableStructs[gActiveBattler].encoredMove = 0; + gDisableStructs[gActiveBattler].encoreTimer1 = 0; BattleScriptExecute(BattleScript_EncoredNoMore); effect++; } @@ -1113,33 +1113,33 @@ u8 TurnBasedEffects(void) gBattleStruct->turnEffectsTracker++; break; case 14: // lock-on decrement - if (gStatuses3[gActiveBank] & STATUS3_ALWAYS_HITS) - gStatuses3[gActiveBank] -= 0x8; + if (gStatuses3[gActiveBattler] & STATUS3_ALWAYS_HITS) + gStatuses3[gActiveBattler] -= 0x8; gBattleStruct->turnEffectsTracker++; break; case 15: // charge - if (gDisableStructs[gActiveBank].chargeTimer1 && --gDisableStructs[gActiveBank].chargeTimer1 == 0) - gStatuses3[gActiveBank] &= ~STATUS3_CHARGED_UP; + if (gDisableStructs[gActiveBattler].chargeTimer1 && --gDisableStructs[gActiveBattler].chargeTimer1 == 0) + gStatuses3[gActiveBattler] &= ~STATUS3_CHARGED_UP; gBattleStruct->turnEffectsTracker++; break; case 16: // taunt - if (gDisableStructs[gActiveBank].tauntTimer1) - gDisableStructs[gActiveBank].tauntTimer1--; + if (gDisableStructs[gActiveBattler].tauntTimer1) + gDisableStructs[gActiveBattler].tauntTimer1--; gBattleStruct->turnEffectsTracker++; break; case 17: // yawn - if (gStatuses3[gActiveBank] & STATUS3_YAWN) - { - gStatuses3[gActiveBank] -= 0x800; - if (!(gStatuses3[gActiveBank] & STATUS3_YAWN) && !(gBattleMons[gActiveBank].status1 & STATUS_ANY) - && gBattleMons[gActiveBank].ability != ABILITY_VITAL_SPIRIT - && gBattleMons[gActiveBank].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBank)) - { - CancelMultiTurnMoves(gActiveBank); - gBattleMons[gActiveBank].status1 |= (Random() & 3) + 2; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); - gEffectBank = gActiveBank; + if (gStatuses3[gActiveBattler] & STATUS3_YAWN) + { + gStatuses3[gActiveBattler] -= 0x800; + if (!(gStatuses3[gActiveBattler] & STATUS3_YAWN) && !(gBattleMons[gActiveBattler].status1 & STATUS_ANY) + && gBattleMons[gActiveBattler].ability != ABILITY_VITAL_SPIRIT + && gBattleMons[gActiveBattler].ability != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBattler)) + { + CancelMultiTurnMoves(gActiveBattler); + gBattleMons[gActiveBattler].status1 |= (Random() & 3) + 2; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); + gEffectBank = gActiveBattler; BattleScriptExecute(BattleScript_YawnMakesAsleep); effect++; } @@ -1167,26 +1167,26 @@ bool8 HandleWishPerishSongOnTurnEnd(void) case 0: // future sight while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) { - gActiveBank = gBattleStruct->sub80170DC_Bank; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBattleStruct->sub80170DC_Bank; + if (gAbsentBankFlags & gBitTable[gActiveBattler]) gBattleStruct->sub80170DC_Bank++; else { gBattleStruct->sub80170DC_Bank++; - if (gWishFutureKnock.futureSightCounter[gActiveBank] && --gWishFutureKnock.futureSightCounter[gActiveBank] == 0 && gBattleMons[gActiveBank].hp) + if (gWishFutureKnock.futureSightCounter[gActiveBattler] && --gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp) { - if (gWishFutureKnock.futureSightMove[gActiveBank] == MOVE_FUTURE_SIGHT) + if (gWishFutureKnock.futureSightMove[gActiveBattler] == MOVE_FUTURE_SIGHT) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else //Doom Desire gBattleCommunication[MULTISTRING_CHOOSER] = 1; gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 2; - gBattleTextBuff1[2] = gWishFutureKnock.futureSightMove[gActiveBank]; - gBattleTextBuff1[3] = gWishFutureKnock.futureSightMove[gActiveBank] >> 8; + gBattleTextBuff1[2] = gWishFutureKnock.futureSightMove[gActiveBattler]; + gBattleTextBuff1[3] = gWishFutureKnock.futureSightMove[gActiveBattler] >> 8; gBattleTextBuff1[4] = 0xFF; - gBankTarget = gActiveBank; - gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBank]; - gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBank]; + gBankTarget = gActiveBattler; + gBankAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattleMoveDamage = gWishFutureKnock.futureSightDmg[gActiveBattler]; gSpecialStatuses[gBankTarget].moveturnLostHP = 0xFFFF; BattleScriptExecute(BattleScript_MonTookFutureAttack); return 1; @@ -1198,29 +1198,29 @@ bool8 HandleWishPerishSongOnTurnEnd(void) case 1: // perish song while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) { - gActiveBank = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; - if (gAbsentBankFlags & gBitTable[gActiveBank]) + gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; + if (gAbsentBankFlags & gBitTable[gActiveBattler]) gBattleStruct->sub80170DC_Bank++; else { gBattleStruct->sub80170DC_Bank++; - if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG) + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG) { gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 1; gBattleTextBuff1[2] = 1; gBattleTextBuff1[3] = 1; - gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSong1; + gBattleTextBuff1[4] = gDisableStructs[gActiveBattler].perishSongTimer1; gBattleTextBuff1[5] = 0xFF; - if (gDisableStructs[gActiveBank].perishSong1 == 0) + if (gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { - gStatuses3[gActiveBank] &= ~(STATUS3_PERISH_SONG); - gBattleMoveDamage = gBattleMons[gActiveBank].hp; + gStatuses3[gActiveBattler] &= ~(STATUS3_PERISH_SONG); + gBattleMoveDamage = gBattleMons[gActiveBattler].hp; gBattlescriptCurrInstr = BattleScript_PerishSongHits; } else { - gDisableStructs[gActiveBank].perishSong1--; + gDisableStructs[gActiveBattler].perishSongTimer1--; gBattlescriptCurrInstr = BattleScript_PerishSongTimerGoesDown; } BattleScriptExecute(gBattlescriptCurrInstr); @@ -1579,9 +1579,9 @@ u8 AtkCanceller_UnableToUseMove(void) if (effect == 2) { - gActiveBank = gBankAttacker; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = gBankAttacker; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); } return effect; } @@ -1888,10 +1888,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleMons[bank].status1 = 0; // BUG: The nightmare status does not get cleared here. This was fixed in Emerald. //gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE); - gBattleStruct->scriptingActive = gActiveBank = bank; + gBattleStruct->scriptingActive = gActiveBattler = bank; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); effect++; } break; @@ -2300,9 +2300,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_AbilityCuredStatus; gBattleStruct->scriptingActive = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bank; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); return effect; } } @@ -2384,29 +2384,29 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = GetBankByIdentity(((Random() & 1) * 2) | side); - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = GetBankByIdentity(((Random() & 1) * 2) | side); + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0) { - gActiveBank = target1; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target1; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } else if (gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBank = target2; - gBattleMons[i].ability = gBattleMons[gActiveBank].ability; - gLastUsedAbility = gBattleMons[gActiveBank].ability; + gActiveBattler = target2; + gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; } } else { - gActiveBank = target1; + gActiveBattler = target1; if (gBattleMons[target1].ability && gBattleMons[target1].hp) { gBattleMons[i].ability = gBattleMons[target1].ability; @@ -2422,8 +2422,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 4; - gBattleTextBuff1[2] = gActiveBank; - gBattleTextBuff1[3] = gBattlePartyID[gActiveBank]; + gBattleTextBuff1[2] = gActiveBattler; + gBattleTextBuff1[3] = gBattlePartyID[gActiveBattler]; gBattleTextBuff1[4] = EOS; gBattleTextBuff2[0] = 0xFD; @@ -2663,7 +2663,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBankAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -2718,7 +2718,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) gBattleTextBuff1[4] = 0xFF; BattleScriptExecute(BattleScript_BerryPPHealEnd2); EmitSetMonData(0, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); effect = ITEM_PP_CHANGE; } } @@ -2736,7 +2736,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBankAttacker = bank; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -3097,12 +3097,12 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = gBankAttacker = bank; + gActiveBattler = gBankAttacker = bank; switch (effect) { case ITEM_STATUS_CHANGE: EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[bank].status1); - MarkBufferBankForExecution(gActiveBank); + MarkBufferBankForExecution(gActiveBattler); break; case ITEM_PP_CHANGE: if (!(gBattleMons[bank].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[bank].unk18_b & gBitTable[i])) @@ -3255,9 +3255,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) { gBattleStruct->scriptingActive = bank; gStringBank = bank; - gActiveBank = bank; - EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1); - MarkBufferBankForExecution(gActiveBank); + gActiveBattler = bank; + EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); + MarkBufferBankForExecution(gActiveBattler); break; } } diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index 20c6d8676..15b65fa81 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -19,7 +19,7 @@ extern struct MusicPlayerInfo gMPlay_BGM; extern u16 gBattleTypeFlags; extern u8 gBankTarget; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u16 gBattlePartyID[]; extern u8 gBankSpriteIds[]; extern u8 gDoingBattleAnim; @@ -333,11 +333,11 @@ u8 sub_8046400(u16 a, u8 b) u8 taskId; gDoingBattleAnim = 1; - ewram17810[gActiveBank].unk0_3 = 1; + ewram17810[gActiveBattler].unk0_3 = 1; taskId = CreateTask(sub_8046464, 5); gTasks[taskId].data[1] = a; gTasks[taskId].data[2] = b; - gTasks[taskId].data[3] = gActiveBank; + gTasks[taskId].data[3] = gActiveBattler; return 0; } diff --git a/src/pokemon_2.c b/src/pokemon_2.c index 17f073815..5b3e6ddad 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -22,7 +22,7 @@ extern u8 gPlayerPartyCount; extern u8 gEnemyPartyCount; extern u16 gBattleTypeFlags; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern struct BattlePokemon gBattleMons[4]; extern u16 gCurrentMove; extern u8 gLastUsedAbility; @@ -60,7 +60,7 @@ u8 CountAliveMons(u8 a1) case 0: for (i = 0; i < 4; i++) { - if (i != gActiveBank && !(gAbsentBankFlags & gBitTable[i])) + if (i != gActiveBattler && !(gAbsentBankFlags & gBitTable[i])) retVal++; } break; diff --git a/src/pokemon_3.c b/src/pokemon_3.c index 9346031a6..81a588e8e 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -28,7 +28,7 @@ extern u8 gPlayerPartyCount; extern u8 gEnemyPartyCount; extern struct BattlePokemon gBattleMons[4]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gSpeciesToHoennPokedexNum[]; extern u16 gSpeciesToNationalPokedexNum[]; @@ -95,7 +95,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) if (itemId == ITEM_ENIGMA_BERRY) { - temp = gEnigmaBerries[gActiveBank].itemEffect; + temp = gEnigmaBerries[gActiveBattler].itemEffect; } itemEffect = temp; diff --git a/src/pokemon_item_effect.c b/src/pokemon_item_effect.c index 4ebece3b3..3b72ab739 100644 --- a/src/pokemon_item_effect.c +++ b/src/pokemon_item_effect.c @@ -20,7 +20,7 @@ extern u8 gAbsentBankFlags; extern u8 gBankInMenu; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u8 gStringBank; extern struct BattlePokemon gBattleMons[]; extern struct BattleEnigmaBerry gEnigmaBerries[]; @@ -78,8 +78,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo gStringBank = gBankInMenu; if (gMain.inBattle) { - gActiveBank = gBankInMenu; - cmdIndex = (GetBankSide(gActiveBank) != 0); + gActiveBattler = gBankInMenu; + cmdIndex = (GetBankSide(gActiveBattler) != 0); while (cmdIndex < gNoOfAllBanks) { if (gBattlePartyID[cmdIndex] == partyIndex) @@ -92,7 +92,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo } else { - gActiveBank = 0; + gActiveBattler = 0; sp34 = 4; } @@ -104,7 +104,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo if (item == ITEM_ENIGMA_BERRY) { if (gMain.inBattle) - itemEffect = gEnigmaBerries[gActiveBank].itemEffect; + itemEffect = gEnigmaBerries[gActiveBattler].itemEffect; else itemEffect = gSaveBlock1.enigmaBerry.itemEffect; } @@ -126,63 +126,63 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo retVal = FALSE; } if ((itemEffect[cmdIndex] & 0x30) - && !(gBattleMons[gActiveBank].status2 & STATUS2_FOCUS_ENERGY)) + && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) { - gBattleMons[gActiveBank].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[gActiveBattler].status2 |= STATUS2_FOCUS_ENERGY; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_ATK] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] = 12; retVal = FALSE; } break; // in-battle stat boosting effects? case 1: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_DEF] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] = 12; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPEED] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] = 12; retVal = FALSE; } break; // more stat boosting effects? case 2: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_ACC] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] = 12; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] < 12) { - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] > 12) - gBattleMons[gActiveBank].statStages[STAT_STAGE_SPATK] = 12; + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] = 12; retVal = FALSE; } break; case 3: if ((itemEffect[cmdIndex] & 0x80) - && gSideTimers[GetBankSide(gActiveBank)].mistTimer == 0) + && gSideTimers[GetBankSide(gActiveBattler)].mistTimer == 0) { - gSideTimers[GetBankSide(gActiveBank)].mistTimer = 5; + gSideTimers[GetBankSide(gActiveBattler)].mistTimer = 5; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0x40) // raise level @@ -280,13 +280,13 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo { gAbsentBankFlags &= ~gBitTable[sp34]; CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlePartyID[sp34])); - if (GetBankSide(gActiveBank) == 0 && gBattleResults.unk4 < 255) + if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } else { - gAbsentBankFlags &= ~gBitTable[gActiveBank ^ 2]; - if (GetBankSide(gActiveBank) == 0 && gBattleResults.unk4 < 255) + gAbsentBankFlags &= ~gBitTable[gActiveBattler ^ 2]; + if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } } @@ -325,16 +325,16 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo if (gMain.inBattle && sp34 != 4) { gBattleMons[sp34].hp = data; - if (!(r10 & 0x10) && GetBankSide(gActiveBank) == 0) + if (!(r10 & 0x10) && GetBankSide(gActiveBattler) == 0) { if (gBattleResults.unk3 < 255) gBattleResults.unk3++; // I have to re-use this variable to match. - r5 = gActiveBank; - gActiveBank = sp34; + r5 = gActiveBattler; + gActiveBattler = sp34; EmitGetAttributes(0, 0, 0); - MarkBufferBankForExecution(gActiveBank); - gActiveBank = r5; + MarkBufferBankForExecution(gActiveBattler); + gActiveBattler = r5; } } } diff --git a/src/rom3.c b/src/rom3.c index 7b3051b86..58b64cebd 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -30,7 +30,7 @@ static EWRAM_DATA u8 gUnknown_020238C6 = 0; extern u32 gUnknown_020239FC; extern u8 gBattleBufferA[][0x200]; extern u8 gBattleBufferB[][0x200]; -extern u8 gActiveBank; +extern u8 gActiveBattler; extern u32 gBattleExecBuffer; extern u8 gNoOfAllBanks; extern u16 gBattlePartyID[]; @@ -371,14 +371,14 @@ void PrepareBufferDataTransfer(u8 a, u8 *data, u16 size) case 0: for (i = 0; i < size; i++) { - gBattleBufferA[gActiveBank][i] = *data; + gBattleBufferA[gActiveBattler][i] = *data; data++; } break; case 1: for (i = 0; i < size; i++) { - gBattleBufferB[gActiveBank][i] = *data; + gBattleBufferB[gActiveBattler][i] = *data; data++; } break; @@ -416,7 +416,7 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) } ewram14000arr(0, gTasks[gUnknown_020238C4].data[14]) = a; - ewram14000arr(1, gTasks[gUnknown_020238C4].data[14]) = gActiveBank; + ewram14000arr(1, gTasks[gUnknown_020238C4].data[14]) = gActiveBattler; ewram14000arr(2, gTasks[gUnknown_020238C4].data[14]) = gBankAttacker; ewram14000arr(3, gTasks[gUnknown_020238C4].data[14]) = gBankTarget; ewram14000arr(4, gTasks[gUnknown_020238C4].data[14]) = r9; -- cgit v1.2.3 From cbf2c5c2a9539f74d57f141f233b47923566e838 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 6 Apr 2018 14:54:47 -0700 Subject: Decompile a bunch of battle_9 --- src/battle/anim/battle_intro.c | 2 +- src/battle/anim/bug.c | 2 +- src/battle/anim/cutter.c | 2 +- src/battle/anim/dark.c | 36 +- src/battle/anim/dragon.c | 2 +- src/battle/anim/draw.c | 2 +- src/battle/anim/energy_wave.c | 2 +- src/battle/anim/evasion.c | 4 +- src/battle/anim/fight.c | 16 +- src/battle/anim/fire_2.c | 4 +- src/battle/anim/orbit.c | 2 +- src/battle/anim/psychic.c | 26 +- src/battle/anim/rock.c | 8 +- src/battle/anim/sfx.c | 6 +- src/battle/battle_2.c | 152 ++--- src/battle/battle_4.c | 642 ++++++++++----------- src/battle/battle_7.c | 48 +- src/battle/battle_9.c | 838 +++++++++++++++++++++++++++- src/battle/battle_ai.c | 54 +- src/battle/battle_anim.c | 34 +- src/battle/battle_anim_80A7E7C.c | 20 +- src/battle/battle_controller_linkopponent.c | 74 +-- src/battle/battle_controller_linkpartner.c | 64 +-- src/battle/battle_controller_opponent.c | 136 ++--- src/battle/battle_controller_player.c | 174 +++--- src/battle/battle_controller_safari.c | 18 +- src/battle/battle_controller_wally.c | 48 +- src/battle/battle_interface.c | 50 +- src/battle/battle_message.c | 38 +- src/battle/battle_party_menu.c | 28 +- src/battle/battle_util.c | 146 ++--- src/battle/pokeball.c | 26 +- src/battle/reshow_battle_screen.c | 42 +- src/item_use.c | 4 +- src/pokemon_2.c | 20 +- src/pokemon_3.c | 8 +- src/pokemon_item_effect.c | 12 +- src/rom3.c | 32 +- src/rom_8077ABC.c | 50 +- 39 files changed, 1854 insertions(+), 1018 deletions(-) (limited to 'src') diff --git a/src/battle/anim/battle_intro.c b/src/battle/anim/battle_intro.c index 01f823fa7..d96dc7ea8 100644 --- a/src/battle/anim/battle_intro.c +++ b/src/battle/anim/battle_intro.c @@ -466,7 +466,7 @@ void sub_80E4EF8(u8 left, u8 top, u8 c, u8 paletteNum, u16 e, u8 bgMap, u8 g) u32 tileNum; s32 x; s32 y; - u8 bank = GetBankByIdentity(c); + u8 bank = GetBattlerAtPosition(c); DmaCopy16(3, gUnknown_081FAF4C[c] + gBattleMonForms[bank] * 0x800, (void *)(VRAM + e), 0x800); tileNum = e / 32 - g * 512; diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index d57a1046e..b9e9da27f 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -205,7 +205,7 @@ void AnimTranslateStinger(struct Sprite *sprite) { if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) { - if (GetBankIdentity(gAnimBankTarget) == 0 || GetBankIdentity(gAnimBankTarget) == 1) + if (GetBattlerPosition(gAnimBankTarget) == 0 || GetBattlerPosition(gAnimBankTarget) == 1) { s16 temp1, temp2; diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c index fed3598fc..a750ee2c1 100644 --- a/src/battle/anim/cutter.c +++ b/src/battle/anim/cutter.c @@ -24,7 +24,7 @@ static void AnimMoveTwisterParticleStep(struct Sprite* sprite); void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 055cf5802..b70d27d1d 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -21,7 +21,7 @@ extern u16 gBattle_BG2_X; extern u16 gBattle_BG2_Y; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gAnimMoveTurn; extern const u8 gUnknown_08D1D574[]; @@ -49,7 +49,7 @@ void sub_80DFC24(u8 taskId) bank = gAnimBankAttacker; gTasks[taskId].data[1] = 16; REG_BLDALPHA = 16; - if (GetBankIdentity_permutated(bank) == 1) + if (GetBattlerPosition_permutated(bank) == 1) REG_BLDCNT = 0x3F42; else REG_BLDCNT = 0x3F44; @@ -112,7 +112,7 @@ void sub_80DFD58(u8 taskId) void sub_80DFDC0(u8 taskId) { REG_BLDALPHA = 0x1000; - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) REG_BLDCNT = 0x3F42; else REG_BLDCNT = 0x3F44; @@ -267,12 +267,12 @@ void sub_80E00EC(u8 taskId) task->data[14] = pos - 32; task->data[15] = pos + 32; - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER) task->data[8] = -12; else task->data[8] = -64; - task->data[3] = GetBankIdentity_permutated(gAnimBankAttacker); + task->data[3] = GetBattlerPosition_permutated(gAnimBankAttacker); if (task->data[3] == 1) { sub_8078914(&subStruct); @@ -403,7 +403,7 @@ void sub_80E03BC(u8 taskId) } else { - task->data[3] = GetBankIdentity_permutated(gAnimBankTarget); + task->data[3] = GetBattlerPosition_permutated(gAnimBankTarget); if (task->data[3] == 1) { REG_BLDCNT = 0x3F42; @@ -442,7 +442,7 @@ void sub_80E03BC(u8 taskId) task->data[14] = pos - 4; task->data[15] = pos + 4; - if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER) task->data[8] = -12; else task->data[8] = -64; @@ -791,7 +791,7 @@ static void sub_80E08CC(u8 priority) void sub_80E0918(u8 taskId) { - u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; + u8 toBG2 = GetBattlerPosition_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; MoveBattlerSpriteToBG(gAnimBankAttacker, toBG2); gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible = 0; @@ -806,7 +806,7 @@ void sub_80E0918(u8 taskId) void sub_80E09C4(u8 taskId) { - u8 toBG2 = GetBankIdentity_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; + u8 toBG2 = GetBattlerPosition_permutated(gAnimBankAttacker) ^ 1 ? 1 : 0; sub_8076464(toBG2); if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) @@ -847,7 +847,7 @@ void sub_80E0A4C(u8 taskId) if (IsDoubleBattle() && !IsContest()) { - if (GetBankIdentity(gAnimBankAttacker) == 3 || GetBankIdentity(gAnimBankAttacker) == 0) + if (GetBattlerPosition(gAnimBankAttacker) == 3 || GetBattlerPosition(gAnimBankAttacker) == 0) { if (IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2) == TRUE) { @@ -864,10 +864,10 @@ void sub_80E0A4C(u8 taskId) } else { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES); + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlePartyID[gAnimBankAttacker]], MON_DATA_SPECIES); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES); } spriteId = GetAnimBankSpriteId(0); @@ -961,19 +961,19 @@ void sub_80E0E24(u8 taskId) spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); break; case 4: - identity = IDENTITY_PLAYER_MON1; + identity = B_POSITION_PLAYER_LEFT; calcSpriteId = TRUE; break; case 5: - identity = IDENTITY_PLAYER_MON2; + identity = B_POSITION_PLAYER_RIGHT; calcSpriteId = TRUE; break; case 6: - identity = IDENTITY_OPPONENT_MON1; + identity = B_POSITION_OPPONENT_LEFT; calcSpriteId = TRUE; break; case 7: - identity = IDENTITY_OPPONENT_MON2; + identity = B_POSITION_OPPONENT_RIGHT; calcSpriteId = TRUE; break; default: @@ -983,7 +983,7 @@ void sub_80E0E24(u8 taskId) if (calcSpriteId) { - bank = GetBankByIdentity(identity); + bank = GetBattlerAtPosition(identity); if (IsAnimBankSpriteVisible(bank)) spriteId = gBankSpriteIds[bank]; else diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c index dc2c0bc50..e8e07c443 100644 --- a/src/battle/anim/dragon.c +++ b/src/battle/anim/dragon.c @@ -169,7 +169,7 @@ void sub_80DF924(u8 taskId) struct Task *task = &gTasks[taskId]; u16 i; u8 r1; - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) { sp.dmaDest = ®_BG1HOFS; task->data[2] = gBattle_BG1_X; diff --git a/src/battle/anim/draw.c b/src/battle/anim/draw.c index be3a280af..29b0c0ceb 100644 --- a/src/battle/anim/draw.c +++ b/src/battle/anim/draw.c @@ -32,7 +32,7 @@ void sub_80D0C88(u8 taskId) task->data[5] = 0; task->data[15] = sub_807A100(gAnimBankTarget, 0); - if (GetBankIdentity_permutated(gAnimBankTarget) == 1) + if (GetBattlerPosition_permutated(gAnimBankTarget) == 1) { task->data[6] = gBattle_BG1_X; params.dmaDest = (u16 *)REG_ADDR_BG1HOFS; diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c index 8111f70a3..1889cfc67 100644 --- a/src/battle/anim/energy_wave.c +++ b/src/battle/anim/energy_wave.c @@ -130,7 +130,7 @@ void sub_80D3728(struct Sprite *sprite) { gBattleAnimArgs[0] *= -1; - if (GetBankIdentity(gAnimBankAttacker) == 0 || GetBankIdentity(gAnimBankAttacker) == 1) + if (GetBattlerPosition(gAnimBankAttacker) == 0 || GetBattlerPosition(gAnimBankAttacker) == 1) { gBattleAnimArgs[0] *= -1; } diff --git a/src/battle/anim/evasion.c b/src/battle/anim/evasion.c index ded8428d4..a441110f8 100644 --- a/src/battle/anim/evasion.c +++ b/src/battle/anim/evasion.c @@ -47,7 +47,7 @@ void sub_80CE7E0(u8 taskId) } task->func = sub_80CE910; - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) { REG_DISPCNT &= 0xFDFF; } @@ -62,7 +62,7 @@ void sub_80CE910(u8 taskId) struct Task* task = &gTasks[taskId]; if (!task->data[3]) { - if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) REG_DISPCNT |= 0x200; else REG_DISPCNT |= 0x400; diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 0f46187f2..36a8a5008 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -21,7 +21,7 @@ extern u16 gBattle_BG3_X; extern u16 gBattle_BG3_Y; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gAnimMoveTurn; extern struct SpriteTemplate gBasicHitSplatSpriteTemplate; @@ -50,7 +50,7 @@ void sub_080B08A0(struct Sprite *sprite) void sub_80D902C(struct Sprite *sprite) { - if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; @@ -196,12 +196,12 @@ static void sub_80D9328(struct Sprite *sprite) void sub_80D9378(struct Sprite *sprite) { - if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBankIdentity(gAnimBankTarget) < 2) + if ((gAnimBankAttacker ^ 2) == gAnimBankTarget && GetBattlerPosition(gAnimBankTarget) < 2) gBattleAnimArgs[0] *= -1; sub_8078764(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[3]; @@ -538,7 +538,7 @@ void sub_80D9A38(struct Sprite *sprite) if (IsContest()) sprite->oam.matrixNum |= 0x8; - else if (GetBankSide(bank) == SIDE_PLAYER) + else if (GetBankSide(bank) == B_SIDE_PLAYER) sprite->oam.matrixNum |= 0x18; sprite->data[0] = 16; @@ -572,7 +572,7 @@ void sub_80D9B48(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[2]; turn = gAnimMoveTurn; - if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER) turn++; if (turn & 1) @@ -598,7 +598,7 @@ void sub_80D9BD4(struct Sprite *sprite) { StartSpriteAnim(sprite, 2); } - else if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + else if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) { StartSpriteAnim(sprite, 1); } @@ -644,7 +644,7 @@ void sub_80D9C80(u8 taskId) task->data[10] += 2816; - if (GetBankSide(gAnimBankTarget) == SIDE_PLAYER) + if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER) gBattle_BG3_X += task->data[9] >> 8; else gBattle_BG3_X -= task->data[9] >> 8; diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index f9c9b6d3b..4378ff298 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -34,8 +34,8 @@ void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3); void AnimEmberFlare(struct Sprite *sprite) { if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget) - && (gAnimBankAttacker == GetBankByIdentity(IDENTITY_PLAYER_MON2) - || gAnimBankAttacker == GetBankByIdentity(IDENTITY_OPPONENT_MON2))) + && (gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) + || gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->callback = sub_8079534; diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c index e7dd0df49..7bf5f647c 100644 --- a/src/battle/anim/orbit.c +++ b/src/battle/anim/orbit.c @@ -64,7 +64,7 @@ void sub_80CACEC(u8 taskId) } else { - if (GetBankIdentity_permutated(gAnimBankTarget) == 1) + if (GetBattlerPosition_permutated(gAnimBankTarget) == 1) { REG_BG2CNT_BITFIELD.priority = 3; } diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 42f396870..2a9cd364e 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -38,7 +38,7 @@ void sub_80DC5F4(u8 taskId); void sub_80DB74C(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER || IsContest()) + if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER || IsContest()) { sprite->oam.priority = 2; sprite->subpriority = 200; @@ -47,8 +47,8 @@ void sub_80DB74C(struct Sprite *sprite) if (!IsContest()) { u8 bankCopy; - u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - u8 identity = GetBankIdentity_permutated(bank); + u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + u8 identity = GetBattlerPosition_permutated(bank); int var0 = 1; u8 toBG_2 = (identity ^ var0) != 0; @@ -62,7 +62,7 @@ void sub_80DB74C(struct Sprite *sprite) if (!IsContest() && IsDoubleBattle()) { - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER) { sprite->pos1.x = 72; sprite->pos1.y = 80; @@ -75,7 +75,7 @@ void sub_80DB74C(struct Sprite *sprite) } else { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; @@ -131,7 +131,7 @@ static void sub_80DB92C(struct Sprite *sprite) if (!IsContest()) { u8 bankCopy; - u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); if (IsAnimBankSpriteVisible(bank)) gSprites[gBankSpriteIds[bank]].invisible = 0; @@ -151,8 +151,8 @@ static void sub_80DB9E4(struct Sprite *sprite) if (!IsContest()) { u8 bankCopy; - u8 bank = bankCopy = GetBankByIdentity(IDENTITY_OPPONENT_MON1); - u8 identity = GetBankIdentity_permutated(bank); + u8 bank = bankCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + u8 identity = GetBattlerPosition_permutated(bank); int var0 = 1; u8 toBG_2 = (identity ^ var0) != 0; @@ -178,7 +178,7 @@ void sub_80DBA4C(struct Sprite *sprite) if (!IsContest() && IsDoubleBattle()) { - if (GetBankSide(gAnimBankAttacker) == SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER) { sprite->pos1.x = 72 - gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1] + 80; @@ -211,7 +211,7 @@ void sub_80DBAF4(struct Sprite *sprite) sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) { StartSpriteAnim(sprite, 1); sprite->pos1.x -= 40; @@ -234,7 +234,7 @@ void sub_80DBB70(struct Sprite *sprite) s16 x = sub_807A100(gAnimBankAttacker, 1) / 2; s16 y = sub_807A100(gAnimBankAttacker, 0) / -2; - if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT) + if (GetBankSide(gAnimBankAttacker) == B_SIDE_OPPONENT) { x = -x; } @@ -306,7 +306,7 @@ void sub_80DBCFC(u8 taskId) task->data[0] = spriteId; task->data[1] = 0; task->data[2] = 0; - task->data[3] = GetBankSide(gAnimBankAttacker) != SIDE_PLAYER ? 4 : 8; + task->data[3] = GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER ? 4 : 8; sub_80798F4(task, task->data[0], &gUnknown_083DA8C4); task->func = sub_80DBD58; @@ -581,7 +581,7 @@ void sub_80DC2D4(u8 taskId) if (task->data[14] < 0) task->data[14] = 0; - if (GetBankIdentity_permutated(gAnimBankTarget) == 1) + if (GetBattlerPosition_permutated(gAnimBankTarget) == 1) { task->data[10] = gBattle_BG1_X; scanlineParams.dmaDest = ®_BG1HOFS; diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index 6fbe065b8..a9e9afb71 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -78,7 +78,7 @@ void sub_80DCF60(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[5]); AnimateSprite(sprite); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; @@ -154,7 +154,7 @@ void do_boulder_dust(u8 taskId) if (IsContest()) sub_80763FC(subStruct.field_8, (u16 *)subStruct.field_4, 0, 0); - if (gBattleAnimArgs[0] != 0 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (gBattleAnimArgs[0] != 0 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) var0 = 1; gTasks[taskId].data[0] = var0; @@ -231,7 +231,7 @@ void sub_80DD3AC(struct Sprite *sprite) { if (sprite->data[0] == 0) { - if (gBattleAnimArgs[3] != 0 && GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (gBattleAnimArgs[3] != 0 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) { sprite->pos1.x = 304; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -514,7 +514,7 @@ static void sub_80DD928(struct Sprite *sprite) void sub_80DD978(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == SIDE_OPPONENT) + if (GetBankSide(gAnimBankAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(sprite, 1); TranslateAnimSpriteToTargetMonLocation(sprite); diff --git a/src/battle/anim/sfx.c b/src/battle/anim/sfx.c index 10ef1681e..afe7c90b6 100644 --- a/src/battle/anim/sfx.c +++ b/src/battle/anim/sfx.c @@ -9,7 +9,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u16 gAnimSpeciesByBanks[]; extern u8 gUnknown_0202F7D2; @@ -176,9 +176,9 @@ void sub_812B18C(u8 taskId) } if (GetBankSide(bank)) - species = GetMonData(&gEnemyParty[gBattlePartyID[bank]], 0xB); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], 0xB); else - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], 0xB); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], 0xB); } if (species != 0) diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index a6e01f6c8..ac4d791d5 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -87,7 +87,7 @@ extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBattler; extern u32 gBattleExecBuffer; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gCurrentActionFuncId; extern u8 gBanksByTurnOrder[]; extern struct UnknownStruct12 gUnknown_02024AD0[]; @@ -95,7 +95,7 @@ extern u8 gBankSpriteIds[]; extern u16 gCurrentMove; // This is mis-named. It is a species, not a move ID. extern u8 gLastUsedAbility; extern u8 gStringBank; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gActionForBanks[]; extern u16 gUnknown_02024C2C[]; @@ -104,7 +104,7 @@ extern u16 gLastLandedMoves[]; extern u16 gLastHitByType[]; extern u16 gUnknown_02024C4C[]; extern u16 gLockedMoves[]; -extern u8 gUnknown_02024C5C[]; +extern u8 gLastHitBy[]; extern u16 gChosenMovesByBanks[]; extern u32 gHitMarker; extern u8 gUnknown_02024C70[]; @@ -152,9 +152,9 @@ extern u8 gBattleMonForms[]; extern u8 gBankAttacker; extern u8 gBankTarget; extern u16 gBattleWeather; -extern u32 gBattleMoveDamage; +extern s32 gBattleMoveDamage; extern struct BattlePokemon gBattleMons[]; -extern u8 gBattleMoveFlags; +extern u8 gMoveResultFlags; extern u8 BattleScript_FocusPunchSetUp[]; extern u16 gDynamicBasePower; extern u8 gCurrentTurnActionNumber; @@ -3347,11 +3347,11 @@ void sub_8010384(struct Sprite *sprite) else species = sprite->data[2]; - GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY); // Unused return value + GetMonData(&gEnemyParty[gBattlerPartyIndexes[r6]], MON_DATA_PERSONALITY); // Unused return value if (species == SPECIES_UNOWN) { - u32 personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[r6]], MON_DATA_PERSONALITY); + u32 personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r6]], MON_DATA_PERSONALITY); u16 unownForm = ((((personalityValue & 0x3000000) >> 18) | ((personalityValue & 0x30000) >> 12) | ((personalityValue & 0x300) >> 6) | (personalityValue & 3)) % 0x1C); u16 unownSpecies; @@ -3399,7 +3399,7 @@ void sub_8010494(struct Sprite *sprite) else { // this should use a MEMSET_ALT, but *(dst++) wont match with it. - dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data[0])] + (gBattleMonForms[sprite->data[0]] << 11) + (sprite->data[3] << 8); + dst = (u8 *)gUnknown_081FAF4C[GetBattlerPosition(sprite->data[0])] + (gBattleMonForms[sprite->data[0]] << 11) + (sprite->data[3] << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; StartSpriteAnim(sprite, gBattleMonForms[sprite->data[0]]); @@ -3639,7 +3639,7 @@ void sub_8010874(void) gLastLandedMoves[i] = 0; gLastHitByType[i] = 0; gUnknown_02024C4C[i] = 0; - gUnknown_02024C5C[i] = 0xFF; + gLastHitBy[i] = 0xFF; gLockedMoves[i] = 0; gUnknown_02024C2C[i] = 0; eFlashFireArr.arr[i] = 0; @@ -3675,7 +3675,7 @@ void sub_8010874(void) ewram16002 = 0; ewram160A1 = 0; gLeveledUpInBattle = 0; - gAbsentBankFlags = 0; + gAbsentBattlerFlags = 0; ewram16078 = 0; ewram16086 = 0; ewram16087 = 0; @@ -3797,7 +3797,7 @@ void SwitchInClearSetData(void) gLastHitByType[gActiveBattler] = 0; gUnknown_02024C4C[gActiveBattler] = 0; gUnknown_02024C2C[gActiveBattler] = 0; - gUnknown_02024C5C[gActiveBattler] = 0xFF; + gLastHitBy[gActiveBattler] = 0xFF; ewram160ACarr2(0, gActiveBattler) = 0; ewram160ACarr2(1, gActiveBattler) = 0; @@ -3861,7 +3861,7 @@ void UndoEffectsAfterFainting(void) gLastHitByType[gActiveBattler] = 0; gUnknown_02024C4C[gActiveBattler] = 0; gUnknown_02024C2C[gActiveBattler] = 0; - gUnknown_02024C5C[gActiveBattler] = 0xFF; + gLastHitBy[gActiveBattler] = 0xFF; ewram160E8arr2(0, gActiveBattler) = 0; ewram160E8arr2(1, gActiveBattler) = 0; @@ -3905,7 +3905,7 @@ static void BattlePrepIntroSlide(void) { if (gBattleExecBuffer == 0) { - gActiveBattler = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); EmitIntroSlide(0, gBattleTerrain); MarkBufferBankForExecution(gActiveBattler); gBattleMainFunc = sub_8011384; @@ -3943,7 +3943,7 @@ void sub_8011384(void) gBattleMons[gActiveBattler].status2 = 0; } - if (GetBankIdentity(gActiveBattler) == 0) + if (GetBattlerPosition(gActiveBattler) == 0) { EmitTrainerThrow(0); MarkBufferBankForExecution(gActiveBattler); @@ -3951,7 +3951,7 @@ void sub_8011384(void) if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (GetBankIdentity(gActiveBattler) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) { EmitTrainerThrow(0); MarkBufferBankForExecution(gActiveBattler); @@ -3973,8 +3973,8 @@ void sub_8011384(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBattler) == 2 - || GetBankIdentity(gActiveBattler) == 3) + if (GetBattlerPosition(gActiveBattler) == 2 + || GetBattlerPosition(gActiveBattler) == 3) { EmitTrainerThrow(0); MarkBufferBankForExecution(gActiveBattler); @@ -4009,7 +4009,7 @@ void bc_801333C(void) hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS); } } - gActiveBattler = GetBankByIdentity(1); + gActiveBattler = GetBattlerAtPosition(1); EmitDrawPartyStatusSummary(0, hpStatus, 0x80); MarkBufferBankForExecution(gActiveBattler); @@ -4027,7 +4027,7 @@ void bc_801333C(void) hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS); } } - gActiveBattler = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); EmitDrawPartyStatusSummary(0, hpStatus, 0x80); MarkBufferBankForExecution(gActiveBattler); @@ -4062,7 +4062,7 @@ void bc_battle_begin_message(void) { if (gBattleExecBuffer == 0) { - gActiveBattler = GetBankByIdentity(1); + gActiveBattler = GetBattlerAtPosition(1); PrepareStringBattle(0, gActiveBattler); gBattleMainFunc = sub_8011800; } @@ -4081,7 +4081,7 @@ void sub_8011800(void) { if (gBattleExecBuffer == 0) { - PrepareStringBattle(1, GetBankByIdentity(1)); + PrepareStringBattle(1, GetBattlerAtPosition(1)); gBattleMainFunc = sub_8011834; } } @@ -4092,13 +4092,13 @@ void sub_8011834(void) { for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankIdentity(gActiveBattler) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) { EmitTrainerBallThrow(0); MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && GetBankIdentity(gActiveBattler) == 3) + && GetBattlerPosition(gActiveBattler) == 3) { EmitTrainerBallThrow(0); MarkBufferBankForExecution(gActiveBattler); @@ -4133,7 +4133,7 @@ void sub_8011970(void) if (gBattleExecBuffer == 0) { if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) - PrepareStringBattle(1, GetBankByIdentity(0)); + PrepareStringBattle(1, GetBattlerAtPosition(0)); gBattleMainFunc = sub_80119B4; } } @@ -4144,13 +4144,13 @@ void sub_80119B4(void) { for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankIdentity(gActiveBattler) == 0) + if (GetBattlerPosition(gActiveBattler) == 0) { EmitTrainerBallThrow(0); MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) - && GetBankIdentity(gActiveBattler) == 2) + && GetBattlerPosition(gActiveBattler) == 2) { EmitTrainerBallThrow(0); MarkBufferBankForExecution(gActiveBattler); @@ -4171,7 +4171,7 @@ void unref_sub_8011A68(void) { if (GetBankSide(gActiveBattler) == 0) { - EmitSendOutPoke(0, gBattlePartyID[gActiveBattler], 0); + EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], 0); MarkBufferBankForExecution(gActiveBattler); } } @@ -4239,7 +4239,7 @@ void BattleBeginFirstTurn(void) } TurnValuesCleanUp(0); SpecialStatusesClear(); - ewram160A6 = gAbsentBankFlags; + ewram160A6 = gAbsentBattlerFlags; gBattleMainFunc = sub_8012324; ResetSentPokesToOpponentValue(); for (i = 0; i < 8; i++) @@ -4253,7 +4253,7 @@ void BattleBeginFirstTurn(void) ewram1600C = 0; ewram16059 = 0; ewram1600E = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gRandomTurnNumber = Random(); } } @@ -4278,7 +4278,7 @@ void bc_8013B1C(void) ewram16110 = 0; ewram16111 = 0; ewram1600E = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; } } @@ -4308,7 +4308,7 @@ void BattleTurnPassed(void) ewram160A1 = 0; ewram1600C = 0; gBattleMoveDamage = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; for (i = 0; i < 5; i++) gBattleCommunication[i] = 0; if (gBattleOutcome != 0) @@ -4326,7 +4326,7 @@ void BattleTurnPassed(void) } for (i = 0; i < 4; i++) ewram16068arr(i) = 6; - ewram160A6 = gAbsentBankFlags; + ewram160A6 = gAbsentBattlerFlags; gBattleMainFunc = sub_8012324; gRandomTurnNumber = Random(); } @@ -4400,7 +4400,7 @@ void sub_8012258(u8 a) for (i = 0; i < 3; i++) gUnknown_02038470[i] = ewram1606Carr(i, a); - r4 = pokemon_order_func(gBattlePartyID[a]); + r4 = pokemon_order_func(gBattlerPartyIndexes[a]); r1 = pokemon_order_func(ewram16068arr(a)); sub_8094C98(r4, r1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -4430,15 +4430,15 @@ void sub_8012324(void) //_0801234C for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - r5 = GetBankIdentity(gActiveBattler); + r5 = GetBattlerPosition(gActiveBattler); switch (gBattleCommunication[gActiveBattler]) { case 0: ewram16068arr(gActiveBattler) = 6; if (!(gBattleTypeFlags & 0x40) && (r5 & 2) - && !(ewram160A6 & gBitTable[GetBankByIdentity(r5 ^ 2)]) - && gBattleCommunication[GetBankByIdentity(r5)] != 4) + && !(ewram160A6 & gBitTable[GetBattlerAtPosition(r5 ^ 2)]) + && gBattleCommunication[GetBattlerAtPosition(r5)] != 4) break; //_080123F8 if (ewram160A6 & gBitTable[gActiveBattler]) @@ -4494,7 +4494,7 @@ _08012348: .4byte gNoOfAllBanks\n\ _0801234C:\n\ ldr r4, _08012374 @ =gActiveBattler\n\ ldrb r0, [r4]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ lsrs r5, r0, 24\n\ ldr r1, _08012378 @ =gBattleCommunication\n\ @@ -4545,7 +4545,7 @@ _0801239C:\n\ beq _080123F8\n\ eors r5, r1\n\ adds r0, r5, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r2, _08012444 @ =0x000160a6\n\ adds r1, r4, r2\n\ ldrb r1, [r1]\n\ @@ -4559,7 +4559,7 @@ _0801239C:\n\ bne _080123F8\n\ ldr r4, _0801244C @ =gBattleCommunication\n\ adds r0, r5, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ adds r0, r4\n\ @@ -4907,7 +4907,7 @@ _080126E0:\n\ ldr r4, _08012740 @ =0x00016064\n\ adds r1, r0, r4\n\ adds r1, r3\n\ - ldr r2, _08012744 @ =gBattlePartyID\n\ + ldr r2, _08012744 @ =gBattlerPartyIndexes\n\ lsls r0, 1\n\ adds r0, r2\n\ ldrh r0, [r0]\n\ @@ -4949,7 +4949,7 @@ _08012722:\n\ _08012738: .4byte gSharedMem\n\ _0801273C: .4byte gActiveBattler\n\ _08012740: .4byte 0x00016064\n\ -_08012744: .4byte gBattlePartyID\n\ +_08012744: .4byte gBattlerPartyIndexes\n\ _08012748: .4byte gBattleMons\n\ _0801274C: .4byte 0x0400e000\n\ _08012750: .4byte gStatuses3\n\ @@ -5180,12 +5180,12 @@ _0801292C:\n\ movs r0, 0x6\n\ strb r0, [r1]\n\ ldrb r0, [r3]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x2\n\ eors r0, r1\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ adds r0, r4\n\ @@ -5735,7 +5735,7 @@ _08012DD2:\n\ bne _08012E06\n\ adds r0, r5, 0\n\ eors r0, r1\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r1, _08012E20 @ =gSharedMem\n\ ldr r2, _08012E24 @ =0x000160a6\n\ adds r1, r2\n\ @@ -6322,7 +6322,7 @@ void HandleEndTurn_BattleWon(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); } @@ -6372,7 +6372,7 @@ void HandleEndTurn_BattleLost(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { gBattleTextBuff1[0] = gBattleOutcome; - gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost; gBattleOutcome &= ~(OUTCOME_LINK_BATTLE_RUN); } @@ -6408,7 +6408,7 @@ void HandleEndTurn_MonFled(void) { gCurrentActionFuncId = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]); + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker]); gBattlescriptCurrInstr = BattleScript_WildMonFled; gBattleMainFunc = HandleEndTurn_FinishBattle; @@ -6427,7 +6427,7 @@ void HandleEndTurn_FinishBattle(void) { for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBattler) == SIDE_PLAYER) + if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER) { if (gBattleResults.poke1Species == SPECIES_NONE) { @@ -6572,7 +6572,7 @@ void HandleAction_UseMove(void) gCritMultiplier = 1; eDmgMultiplier = 1; ewram160E7 = 0; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gMultiHitCounter = 0; gBattleCommunication[6] = 0; gCurrMovePos = gUnknown_02024BE5 = ewram1608Carr(gBankAttacker); @@ -6618,7 +6618,7 @@ void HandleAction_UseMove(void) gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; } - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) gBattleResults.lastUsedMove = gCurrentMove; else gBattleResults.opponentMove = gCurrentMove; @@ -6654,19 +6654,19 @@ void HandleAction_UseMove(void) { if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } } else @@ -6674,17 +6674,17 @@ void HandleAction_UseMove(void) gBankTarget = ewram16010arr(gBankAttacker); } - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) { if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } else { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } } } @@ -6699,41 +6699,41 @@ void HandleAction_UseMove(void) else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_OPPONENT_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON1); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - gBankTarget = GetBankByIdentity(IDENTITY_PLAYER_MON2); + gBankTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (gAbsentBankFlags & gBitTable[gBankTarget] + if (gAbsentBattlerFlags & gBitTable[gBankTarget] && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } } else { gBankTarget = ewram16010arr(gBankAttacker); - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) { if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } else { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ BIT_SIDE); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankTarget) ^ BIT_MON); + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } } } @@ -6777,7 +6777,7 @@ void HandleAction_UseItem(void) { gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; } - else if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + else if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) { gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0]; } @@ -7272,7 +7272,7 @@ void HandleAction_Run(void) for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBattler) == SIDE_PLAYER) + if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER) { if (gActionForBanks[gActiveBattler] == ACTION_RUN) gBattleOutcome |= BATTLE_LOST; @@ -7288,7 +7288,7 @@ void HandleAction_Run(void) } else { - if (GetBankSide(gBankAttacker) == SIDE_PLAYER) + if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) { if (!TryRunFromBattle(gBankAttacker)) // failed to run away { @@ -7398,7 +7398,7 @@ void HandleAction_Action9(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlePartyID[gBankAttacker]) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gBankAttacker, gBattlerPartyIndexes[gBankAttacker]) gBattlescriptCurrInstr = gBattlescriptsForSafariActions[3]; gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 781478cb1..e1cc515ec 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -106,7 +106,7 @@ extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; extern u8 gActiveBattler; extern u32 gBattleExecBuffer; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[BATTLE_BANKS_COUNT]; +extern u16 gBattlerPartyIndexes[BATTLE_BANKS_COUNT]; extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT]; extern u16 gCurrentMove; @@ -114,7 +114,7 @@ extern u8 gLastUsedAbility; extern u16 gBattleWeather; extern u8 gStringBank; extern u8 gEffectBank; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u16 gLastUsedMove[4]; extern u16 gLockedMoves[4]; @@ -132,7 +132,7 @@ extern const u8* gBattlescriptCurrInstr; extern u8 gCurrMovePos; extern u8 gCurrentActionFuncId; extern u32 gHitMarker; -extern u8 gBattleMoveFlags; +extern u8 gMoveResultFlags; extern u8 gBattleCommunication[]; extern u16 gLastLandedMoves[4]; extern u16 gLastHitByType[4]; @@ -192,7 +192,7 @@ void RecordItemBattle(u8 bank, u8 holdEffect); static bool8 IsTwoTurnsMove(u16 move); static void TrySetDestinyBondToHappen(void); static void CheckWonderGuardAndLevitate(void); -u8 GetBankIdentity(u8 bank); +u8 GetBattlerPosition(u8 bank); u8 GetBankSide(u8 bank); u8 GetBattleBank(u8 bankValue); s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 bank_atk, u8 bank_def); @@ -212,7 +212,7 @@ u8 GetSetPokedexFlag(u16 nationalNum, u8 caseID); u16 SpeciesToNationalPokedexNum(u16 species); u8 sub_803FC34(u8 bank); u16 sub_803FBFC(u8 a); -u8 GetBankByIdentity(u8 ID); +u8 GetBattlerAtPosition(u8 ID); void sub_8012258(u8); //MonTryLearningNewMove teach poke a move u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move); @@ -1119,7 +1119,7 @@ static void atk00_attackcanceler(void) && !(gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)) { gBattlescriptCurrInstr = BattleScript_NoPPForMove; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; return; } @@ -1136,7 +1136,7 @@ static void atk00_attackcanceler(void) gHitMarker |= HITMARKER_OBEYS; return; default: - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; return; } } @@ -1178,7 +1178,7 @@ static void atk00_attackcanceler(void) && ((!IsTwoTurnsMove(gCurrentMove) || (gBattleMons[gBankAttacker].status2 & STATUS2_MULTIPLETURNS)))) { CancelMultiTurnMoves(gBankAttacker); - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = 1; @@ -1193,7 +1193,7 @@ static void atk00_attackcanceler(void) static void JumpIfMoveFailed(u8 adder, u16 move) { const u8 *BS_ptr = gBattlescriptCurrInstr + adder; - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; @@ -1212,7 +1212,7 @@ static void atk40_jumpifaffectedbyprotect(void) { if (TARGET_PROTECT_AFFECTED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(5, 0); gBattleCommunication[6] = 1; } @@ -1227,7 +1227,7 @@ static bool8 JumpIfMoveAffectedByProtect(u16 move) bool8 affected = FALSE; if (TARGET_PROTECT_AFFECTED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); gBattleCommunication[6] = 1; affected = TRUE; @@ -1245,7 +1245,7 @@ static bool8 AccuracyCalcHelper(u16 move) if (!(gHitMarker & HITMARKER_IGNORE_ON_AIR) && gStatuses3[gBankTarget] & STATUS3_ON_AIR) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } @@ -1254,7 +1254,7 @@ static bool8 AccuracyCalcHelper(u16 move) if (!(gHitMarker & HITMARKER_IGNORE_UNDERGROUND) && gStatuses3[gBankTarget] & STATUS3_UNDERGROUND) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } @@ -1263,7 +1263,7 @@ static bool8 AccuracyCalcHelper(u16 move) if (!(gHitMarker & HITMARKER_IGNORE_UNDERWATER) && gStatuses3[gBankTarget] & STATUS3_UNDERWATER) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); return TRUE; } @@ -1359,7 +1359,7 @@ static void atk01_accuracycheck(void) // final calculation if ((Random() % 100 + 1) > calc) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && (gBattleMoves[move].target == 0x8 || gBattleMoves[move].target == 0x20)) gBattleCommunication[6] = 2; @@ -1470,7 +1470,7 @@ static void atk04_critcalc(void) static void atk05_damagecalc(void) { - u16 side_hword = gSideAffecting[GetBankIdentity(gBankTarget) & 1]; + u16 side_hword = gSideAffecting[GetBattlerPosition(gBankTarget) & 1]; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, side_hword, gDynamicBasePower, gBattleStruct->dynamicMoveType, gBankAttacker, gBankTarget); @@ -1486,7 +1486,7 @@ static void atk05_damagecalc(void) void AI_CalcDmg(u8 BankAtk, u8 BankDef) { - u16 side_hword = gSideAffecting[GetBankIdentity(BankDef) & 1]; + u16 side_hword = gSideAffecting[GetBattlerPosition(BankDef) & 1]; gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[BankAtk], &gBattleMons[BankDef], gCurrentMove, side_hword, gDynamicBasePower, gBattleStruct->dynamicMoveType, BankAtk, BankDef); @@ -1508,26 +1508,26 @@ static void ModulateDmgByType(u8 multiplier) switch (multiplier) { case 0: //no effect - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; - gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE; - gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; + gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE; break; case 5: //not very effecting - if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) - gBattleMoveFlags &= ~MOVESTATUS_SUPEREFFECTIVE; + if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) + gMoveResultFlags &= ~MOVE_RESULT_SUPER_EFFECTIVE; else - gBattleMoveFlags |= MOVESTATUS_NOTVERYEFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } break; case 20: //super effective - if (gBattleMoves[gCurrentMove].power && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[gCurrentMove].power && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { - if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) - gBattleMoveFlags &= ~MOVESTATUS_NOTVERYEFFECTIVE; + if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) + gMoveResultFlags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; else - gBattleMoveFlags |= MOVESTATUS_SUPEREFFECTIVE; + gMoveResultFlags |= MOVE_RESULT_SUPER_EFFECTIVE; } break; } @@ -1554,7 +1554,7 @@ static void atk06_typecalc(void) if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { gLastUsedAbility = gBattleMons[gBankTarget].ability; - gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = move_type; @@ -1587,17 +1587,17 @@ static void atk06_typecalc(void) } if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 - && (!(gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) || ((gBattleMoveFlags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + && (!(gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) || ((gMoveResultFlags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[gCurrentMove].power) { gLastUsedAbility = ABILITY_WONDER_GUARD; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBankTarget] = 0; gLastHitByType[gBankTarget] = 0; gBattleCommunication[6] = 3; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) gProtectStructs[gBankAttacker].notEffective = 1; } gBattlescriptCurrInstr++; @@ -1637,14 +1637,14 @@ static void CheckWonderGuardAndLevitate(void) //check no effect if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; gProtectStructs[gBankAttacker].notEffective = 1; } if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; gProtectStructs[gBankAttacker].notEffective = 1; } @@ -1685,26 +1685,26 @@ static void ModulateDmgByType2(u8 multiplier, u16 move, u8* flags) //a literal c switch (multiplier) { case 0: //no effect - *flags |= MOVESTATUS_NOTAFFECTED; - *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE; - *flags &= ~MOVESTATUS_SUPEREFFECTIVE; + *flags |= MOVE_RESULT_DOESNT_AFFECT_FOE; + *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; + *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE; break; case 5: //not very effecting - if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT)) { - if (*flags & MOVESTATUS_SUPEREFFECTIVE) - *flags &= ~MOVESTATUS_SUPEREFFECTIVE; + if (*flags & MOVE_RESULT_SUPER_EFFECTIVE) + *flags &= ~MOVE_RESULT_SUPER_EFFECTIVE; else - *flags |= MOVESTATUS_NOTVERYEFFECTIVE; + *flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; } break; case 20: //super effective - if (gBattleMoves[move].power && !(*flags & MOVESTATUS_NOEFFECT)) + if (gBattleMoves[move].power && !(*flags & MOVE_RESULT_NO_EFFECT)) { - if (*flags & MOVESTATUS_NOTVERYEFFECTIVE) - *flags &= ~MOVESTATUS_NOTVERYEFFECTIVE; + if (*flags & MOVE_RESULT_NOT_VERY_EFFECTIVE) + *flags &= ~MOVE_RESULT_NOT_VERY_EFFECTIVE; else - *flags |= MOVESTATUS_SUPEREFFECTIVE; + *flags |= MOVE_RESULT_SUPER_EFFECTIVE; } break; } @@ -1730,7 +1730,7 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) if (gBattleMons[bank_def].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { - flags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + flags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); } else { @@ -1758,12 +1758,12 @@ u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def) } } - if (gBattleMons[bank_def].ability == ABILITY_WONDER_GUARD && !(flags & MOVESTATUS_MISSED) && + if (gBattleMons[bank_def].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_MISSED) && AttacksThisTurn(bank_atk, move) == 2 && - (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) && + (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[move].power) { - flags |= MOVESTATUS_MISSED; + flags |= MOVE_RESULT_MISSED; } return flags; } @@ -1780,7 +1780,7 @@ u8 AI_TypeCalc(u16 move, u16 species, u8 ability) move_type = gBattleMoves[move].type; if (ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) - flags = MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED; + flags = MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE; else { while (gTypeEffectiveness[i]!= TYPE_ENDTABLE) @@ -1803,9 +1803,9 @@ u8 AI_TypeCalc(u16 move, u16 species, u8 ability) } } if (ability == ABILITY_WONDER_GUARD - && (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) + && (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[move].power) - flags |= MOVESTATUS_NOTAFFECTED; + flags |= MOVE_RESULT_DOESNT_AFFECT_FOE; return flags; } @@ -1863,12 +1863,12 @@ static void atk07_adjustnormaldamage(void) if (gProtectStructs[gBankTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } if (gSpecialStatuses[gBankTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; gLastUsedItem = gBattleMons[gBankTarget].item; } @@ -1910,12 +1910,12 @@ static void atk08_adjustnormaldamage2(void) //literally the same as 0x7 except i if (gProtectStructs[gBankTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } if (gSpecialStatuses[gBankTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; gLastUsedItem = gBattleMons[gBankTarget].item; } @@ -1942,7 +1942,7 @@ static void atk09_attackanimation(void) gBattlescriptCurrInstr++; return; } - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gActiveBattler = gBankAttacker; @@ -1971,7 +1971,7 @@ static void atk0B_healthbarupdate(void) if (gBattleExecBuffer) return; - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); @@ -1999,7 +1999,7 @@ static void atk0B_healthbarupdate(void) EmitHealthBarUpdate(0, gBattleMoveDamage); MarkBufferBankForExecution(gActiveBattler); - if (GetBankSide(gActiveBattler) == SIDE_PLAYER && gBattleMoveDamage > 0) + if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) gBattleResults.unk5_0 = 1; } } @@ -2021,7 +2021,7 @@ static void atk0C_datahpupdate(void) else moveType = gBattleMoves[gCurrentMove].type; - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gActiveBattler = GetBattleBank(gBattlescriptCurrInstr[1]); if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) @@ -2137,7 +2137,7 @@ static void atk0D_critmessage(void) { if (gBattleExecBuffer == 0) { - if (gCritMultiplier == 2 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + if (gCritMultiplier == 2 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { PrepareStringBattle(0xD9, gBankAttacker); gBattleCommunication[MSG_DISPLAY] = 1; @@ -2152,37 +2152,37 @@ static void atk0E_effectivenesssound(void) return; gActiveBattler = gBankTarget; - if (!(gBattleMoveFlags & MOVESTATUS_MISSED)) + if (!(gMoveResultFlags & MOVE_RESULT_MISSED)) { - u8 flag = ~MOVESTATUS_MISSED; - switch (gBattleMoveFlags & flag) + u8 flag = ~MOVE_RESULT_MISSED; + switch (gMoveResultFlags & flag) { - case MOVESTATUS_SUPEREFFECTIVE: + case MOVE_RESULT_SUPER_EFFECTIVE: EmitEffectivenessSound(0, 14); MarkBufferBankForExecution(gActiveBattler); break; - case MOVESTATUS_NOTVERYEFFECTIVE: + case MOVE_RESULT_NOT_VERY_EFFECTIVE: EmitEffectivenessSound(0, 12); MarkBufferBankForExecution(gActiveBattler); break; - case MOVESTATUS_NOTAFFECTED: - case MOVESTATUS_FAILED: + case MOVE_RESULT_DOESNT_AFFECT_FOE: + case MOVE_RESULT_FAILED: break; - case MOVESTATUS_ENDURED: - case MOVESTATUS_ONEHITKO: - case MOVESTATUS_HUNGON: + case MOVE_RESULT_FOE_ENDURED: + case MOVE_RESULT_ONE_HIT_KO: + case MOVE_RESULT_FOE_HUNG_ON: default: - if (gBattleMoveFlags & MOVESTATUS_SUPEREFFECTIVE) + if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { EmitEffectivenessSound(0, 14); MarkBufferBankForExecution(gActiveBattler); } - else if (gBattleMoveFlags & MOVESTATUS_NOTVERYEFFECTIVE) + else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { EmitEffectivenessSound(0, 12); MarkBufferBankForExecution(gActiveBattler); } - else if (!(gBattleMoveFlags & (MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED))) + else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { EmitEffectivenessSound(0, 13); MarkBufferBankForExecution(gActiveBattler); @@ -2200,7 +2200,7 @@ static void atk0F_resultmessage(void) if (gBattleExecBuffer) return; - if (gBattleMoveFlags & MOVESTATUS_MISSED && (!(gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) || gBattleCommunication[6] > 2)) + if (gMoveResultFlags & MOVE_RESULT_MISSED && (!(gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) || gBattleCommunication[6] > 2)) { stringId = gMissStringIds[gBattleCommunication[6]]; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2208,64 +2208,64 @@ static void atk0F_resultmessage(void) else { gBattleCommunication[MSG_DISPLAY] = 1; - switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED))) + switch (gMoveResultFlags & (u8)(~(MOVE_RESULT_MISSED))) { - case MOVESTATUS_SUPEREFFECTIVE: + case MOVE_RESULT_SUPER_EFFECTIVE: stringId = STRINGID_SUPEREFFECTIVE; break; - case MOVESTATUS_NOTVERYEFFECTIVE: + case MOVE_RESULT_NOT_VERY_EFFECTIVE: stringId = STRINGID_NOTVERYEFFECTIVE; break; - case MOVESTATUS_ONEHITKO: + case MOVE_RESULT_ONE_HIT_KO: stringId = STRINGID_ONEHITKO; break; - case MOVESTATUS_ENDURED: + case MOVE_RESULT_FOE_ENDURED: stringId = STRINGID_PKMNENDUREDHIT; break; - case MOVESTATUS_FAILED: + case MOVE_RESULT_FAILED: stringId = STRINGID_BUTITFAILED; break; - case MOVESTATUS_NOTAFFECTED: + case MOVE_RESULT_DOESNT_AFFECT_FOE: stringId = STRINGID_ITDOESNTAFFECT; break; - case MOVESTATUS_HUNGON: + case MOVE_RESULT_FOE_HUNG_ON: gLastUsedItem = gBattleMons[gBankTarget].item; gStringBank = gBankTarget; - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; return; default: - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) { stringId = STRINGID_ITDOESNTAFFECT; } - else if (gBattleMoveFlags & MOVESTATUS_ONEHITKO) + else if (gMoveResultFlags & MOVE_RESULT_ONE_HIT_KO) { - gBattleMoveFlags &= ~(MOVESTATUS_ONEHITKO); - gBattleMoveFlags &= ~(MOVESTATUS_SUPEREFFECTIVE); - gBattleMoveFlags &= ~(MOVESTATUS_NOTVERYEFFECTIVE); + gMoveResultFlags &= ~(MOVE_RESULT_ONE_HIT_KO); + gMoveResultFlags &= ~(MOVE_RESULT_SUPER_EFFECTIVE); + gMoveResultFlags &= ~(MOVE_RESULT_NOT_VERY_EFFECTIVE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_OneHitKOMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_ENDURED) + else if (gMoveResultFlags & MOVE_RESULT_FOE_ENDURED) { - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_EnduredMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_HUNGON) + else if (gMoveResultFlags & MOVE_RESULT_FOE_HUNG_ON) { gLastUsedItem = gBattleMons[gBankTarget].item; gStringBank = gBankTarget; - gBattleMoveFlags &= ~(MOVESTATUS_ENDURED | MOVESTATUS_HUNGON); + gMoveResultFlags &= ~(MOVE_RESULT_FOE_ENDURED | MOVE_RESULT_FOE_HUNG_ON); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HangedOnMsg; return; } - else if (gBattleMoveFlags & MOVESTATUS_FAILED) + else if (gMoveResultFlags & MOVE_RESULT_FAILED) { stringId = STRINGID_BUTITFAILED; } @@ -2387,7 +2387,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 9) {gBattlescriptCurrInstr++; return;} - if (gSideAffecting[GetBankIdentity(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && + if (gSideAffecting[GetBattlerPosition(gEffectBank) & 1] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleCommunication[MOVE_EFFECT_BYTE] <= 7) {gBattlescriptCurrInstr++; return;} @@ -2555,7 +2555,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) break; } else - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } if (StatusChanged == 1) @@ -2634,7 +2634,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) gBattlescriptCurrInstr = gMoveEffectBS_Ptrs[gBattleCommunication[MOVE_EFFECT_BYTE]]; break; case 11: //pay day - if (!(GetBankIdentity(gBankAttacker) & 1)) + if (!(GetBattlerPosition(gBankAttacker) & 1)) { u16 PayDay = gPaydayMoney; gPaydayMoney += (gBattleMons[gBankAttacker].level * 5); @@ -2732,7 +2732,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) u8 side = GetBankSide(gBankAttacker); if (GetBankSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) {gBattlescriptCurrInstr++; return;} - if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlePartyID[gBankAttacker]])) + if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBankAttacker]])) {gBattlescriptCurrInstr++; return;} if (gBattleMons[gBankTarget].item && gBattleMons[gBankTarget].ability == ABILITY_STICKY_HOLD) { @@ -2835,7 +2835,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) u8 side = GetBankSide(gEffectBank); gLastUsedItem = gBattleMons[gEffectBank].item; gBattleMons[gEffectBank].item = 0; - gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlePartyID[gEffectBank]]; + gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBank]]; BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_KnockedOff; @@ -2932,7 +2932,7 @@ _0801E450:\n\ _0801E48A:\n\ mov r1, r8\n\ ldrb r0, [r1]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ ldr r2, _0801E554 @ =gSideAffecting\n\ movs r1, 0x1\n\ ands r1, r0\n\ @@ -3644,7 +3644,7 @@ _0801EA04:\n\ mov r10, r0\n\ b _0801EA14\n\ _0801EA0A:\n\ - ldr r0, _0801EA58 @ =gBattleMoveFlags\n\ + ldr r0, _0801EA58 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r2, 0x8\n\ orrs r1, r2\n\ @@ -3683,7 +3683,7 @@ _0801EA1C:\n\ str r0, [r3]\n\ b _0801EA84\n\ .align 2, 0\n\ -_0801EA58: .4byte gBattleMoveFlags\n\ +_0801EA58: .4byte gMoveResultFlags\n\ _0801EA5C: .4byte gBattlescriptCurrInstr\n\ _0801EA60: .4byte sStatusFlagsForMoveEffects\n\ _0801EA64: .4byte gBattleCommunication\n\ @@ -4050,7 +4050,7 @@ _0801EDD8: .4byte gBattleCommunication\n\ _0801EDDC:\n\ ldr r5, _0801EE30 @ =gBankAttacker\n\ ldrb r0, [r5]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x1\n\ ands r1, r0\n\ cmp r1, 0\n\ @@ -4539,7 +4539,7 @@ _0801F1D8:\n\ adds r0, r6, r0\n\ ldrb r1, [r0]\n\ ldr r3, _0801F268 @ =gBitTable\n\ - ldr r2, _0801F26C @ =gBattlePartyID\n\ + ldr r2, _0801F26C @ =gBattlerPartyIndexes\n\ ldr r0, _0801F254 @ =gBankAttacker\n\ ldrb r0, [r0]\n\ lsls r0, 1\n\ @@ -4590,7 +4590,7 @@ _0801F25C: .4byte 0x00000902\n\ _0801F260: .4byte gTrainerBattleOpponent\n\ _0801F264: .4byte gWishFutureKnock\n\ _0801F268: .4byte gBitTable\n\ -_0801F26C: .4byte gBattlePartyID\n\ +_0801F26C: .4byte gBattlerPartyIndexes\n\ _0801F270: .4byte gBattleMons\n\ _0801F274: .4byte gBankTarget\n\ _0801F278: .4byte gBattlescriptCurrInstr\n\ @@ -4944,7 +4944,7 @@ _0801F540:\n\ adds r2, 0x29\n\ adds r2, r6, r2\n\ ldr r3, _0801F5C0 @ =gBitTable\n\ - ldr r1, _0801F5C4 @ =gBattlePartyID\n\ + ldr r1, _0801F5C4 @ =gBattlerPartyIndexes\n\ mov r4, r8\n\ ldrb r0, [r4]\n\ lsls r0, 1\n\ @@ -4981,7 +4981,7 @@ _0801F540:\n\ _0801F5B8: .4byte gLastUsedItem\n\ _0801F5BC: .4byte gWishFutureKnock\n\ _0801F5C0: .4byte gBitTable\n\ -_0801F5C4: .4byte gBattlePartyID\n\ +_0801F5C4: .4byte gBattlerPartyIndexes\n\ _0801F5C8: .4byte gBattlescriptCurrInstr\n\ _0801F5CC: .4byte BattleScript_KnockedOff\n\ _0801F5D0: .4byte gSharedMem\n\ @@ -5029,16 +5029,16 @@ static void atk15_seteffectwithchance(void) PercentChance = gBattleMoves[gCurrentMove].secondaryEffectChance; if (DEBUG && (gUnknown_02023A14_50 & 4) - && !(gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + && !(gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { SetMoveEffect(0, 0); } - else if ((gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + else if ((gBattleCommunication[MOVE_EFFECT_BYTE] & 0x80) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleCommunication[MOVE_EFFECT_BYTE] &= 0x7F; SetMoveEffect(0, 0x80); } - else if (Random() % 100 <= PercentChance && gBattleCommunication[MOVE_EFFECT_BYTE] != 0 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + else if (Random() % 100 <= PercentChance && gBattleCommunication[MOVE_EFFECT_BYTE] != 0 && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { if (PercentChance >= 100) SetMoveEffect(0, 0x80); @@ -5113,7 +5113,7 @@ static void atk19_tryfaintmon(void) bank = gBankAttacker; r4 = BattleScript_FaintTarget; } - if (!(gAbsentBankFlags & gBitTable[gActiveBattler]) + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]) && gBattleMons[gActiveBattler].hp == 0) { ewram160ACarr2(0, bank) = 0; @@ -5134,9 +5134,9 @@ static void atk19_tryfaintmon(void) if (gBattleMons[bank].level > gBattleMons[gActiveBattler].level) { if (gBattleMons[bank].level - gBattleMons[gActiveBattler].level > 0x1D) - AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBattler]], 8); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 8); else - AdjustFriendship(&gPlayerParty[gBattlePartyID[gActiveBattler]], 6); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 6); } } else @@ -5279,9 +5279,9 @@ static void atk1F_jumpifsideaffecting(void) u16 flags; void* jump_loc; if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1) - side = GetBankIdentity(gBankAttacker) & 1; + side = GetBattlerPosition(gBankAttacker) & 1; else - side = GetBankIdentity(gBankTarget) & 1; + side = GetBattlerPosition(gBankTarget) & 1; flags = T2_READ_16(gBattlescriptCurrInstr + 2); jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4); @@ -5382,7 +5382,7 @@ static void atk23_getexp(void) switch (gBattleStruct->getexpStateTracker) { case 0: // check if should receive exp at all - if (GetBankSide(gBank1) != SIDE_OPPONENT || (gBattleTypeFlags & + if (GetBankSide(gBank1) != B_SIDE_OPPONENT || (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER @@ -5393,7 +5393,7 @@ static void atk23_getexp(void) else { gBattleStruct->getexpStateTracker++; - gBattleStruct->unk16113 |= gBitTable[gBattlePartyID[gBank1]]; + gBattleStruct->unk16113 |= gBitTable[gBattlerPartyIndexes[gBank1]]; } break; case 1: // calculate experience points to redistribute @@ -5503,11 +5503,11 @@ static void atk23_getexp(void) // get exp getter bank if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - if (!(gBattlePartyID[2] != gBattleStruct->expGetterID) && !(gAbsentBankFlags & gBitTable[2])) + if (!(gBattlerPartyIndexes[2] != gBattleStruct->expGetterID) && !(gAbsentBattlerFlags & gBitTable[2])) gBattleStruct->expGetterBank = 2; else { - if (!(gAbsentBankFlags & gBitTable[0])) + if (!(gAbsentBattlerFlags & gBitTable[0])) gBattleStruct->expGetterBank = 0; else gBattleStruct->expGetterBank = 2; @@ -5558,8 +5558,8 @@ static void atk23_getexp(void) if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELLED_UP) { - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID) - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID) + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterID) @@ -5572,7 +5572,7 @@ static void atk23_getexp(void) AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterID], 0); // update battle mon structure after level up - if (gBattlePartyID[0] == gBattleStruct->expGetterID && gBattleMons[0].hp) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID && gBattleMons[0].hp) { gBattleMons[0].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL); gBattleMons[0].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HP); @@ -5586,7 +5586,7 @@ static void atk23_getexp(void) gBattleMons[0].spDefense = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_SPDEF); } // What is else if? - if (gBattlePartyID[2] == gBattleStruct->expGetterID && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterID && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { gBattleMons[2].level = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_LEVEL); gBattleMons[2].hp = GetMonData(&gPlayerParty[gBattleStruct->expGetterID], MON_DATA_HP); @@ -5915,7 +5915,7 @@ _08020B50: .4byte gBattlescriptCurrInstr\n\ static void MoveValuesCleanUp(void) { - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gBattleStruct->dmgMultiplier = 1; gCritMultiplier = 1; gBattleCommunication[MOVE_EFFECT_BYTE] = 0; @@ -6246,7 +6246,7 @@ static void atk3C_return(void) static void atk3D_end(void) { - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gActiveBattler = 0; gCurrentActionFuncId = 0xB; } @@ -6425,7 +6425,7 @@ static void atk48_playstatchangeanimation(void) if (!(T2_READ_8(gBattlescriptCurrInstr + 3))) { u8 ability; - if (gSideTimers[GetBankIdentity(gActiveBattler) & 1].mistTimer) + if (gSideTimers[GetBattlerPosition(gActiveBattler) & 1].mistTimer) continue; ability = gBattleMons[gActiveBattler].ability; if (ability == ABILITY_CLEAR_BODY || ability == ABILITY_WHITE_SMOKE || (ability == ABILITY_KEEN_EYE && curr_stat == 6) || (ability == ABILITY_HYPER_CUTTER && curr_stat == 1)) @@ -6554,7 +6554,7 @@ _0802167C:\n\ ldr r6, _08021700 @ =gActiveBattler\n\ ldrb r0, [r6]\n\ str r3, [sp]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ mov r1, r10\n\ ands r1, r0\n\ lsls r0, r1, 1\n\ @@ -6784,7 +6784,7 @@ static void atk49_moveend(void) if (gBattleMons[gBankTarget].status2 & STATUS2_RAGE && gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && TARGET_TURN_DAMAGED + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED && gBattleMoves[gCurrentMove].power && gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] <= 0xB) { gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK]++; @@ -6798,7 +6798,7 @@ static void atk49_moveend(void) if (gBattleMons[gBankTarget].status1 & STATUS_FREEZE && gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget && gSpecialStatuses[gBankTarget].moveturnLostHP - && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT) && move_type == TYPE_FIRE) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move_type == TYPE_FIRE) { gBattleMons[gBankTarget].status1 &= ~(STATUS_FREEZE); gActiveBattler = gBankTarget; @@ -6834,7 +6834,7 @@ static void atk49_moveend(void) case 6: //update choice band move if (gHitMarker & HITMARKER_OBEYS && hold_effect_atk == HOLD_EFFECT_CHOICE_BAND && gLastUsedMove != MOVE_STRUGGLE && (*choiced_move_atk == 0 || *choiced_move_atk == 0xFFF) - && gLastUsedMove != MOVE_BATON_PASS && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) + && gLastUsedMove != MOVE_BATON_PASS && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { *choiced_move_atk = gLastUsedMove; for (i = 0; i < 4 && gBattleMons[gBankAttacker].moves[i] != *choiced_move_atk; i++){} @@ -6863,7 +6863,7 @@ static void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case 9: //semi-invlurneable attacker make visible - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || !(gStatuses3[gBankAttacker] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) || WasUnableToUseMove(gBankAttacker)) { gActiveBattler = gBankAttacker; @@ -6875,7 +6875,7 @@ static void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case 10: //semi-invlurneable target make visible - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) || !(gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || !(gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) || WasUnableToUseMove(gBankTarget)) { gActiveBattler = gBankTarget; @@ -7079,7 +7079,7 @@ _08021958:\n\ lsls r0, 24\n\ cmp r4, r0\n\ beq _080219FE\n\ - ldr r0, _08021A14 @ =gBattleMoveFlags\n\ + ldr r0, _08021A14 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7136,7 +7136,7 @@ _080219FE:\n\ _08021A08: .4byte gBattleMons\n\ _08021A0C: .4byte gBankTarget\n\ _08021A10: .4byte gBankAttacker\n\ -_08021A14: .4byte gBattleMoveFlags\n\ +_08021A14: .4byte gMoveResultFlags\n\ _08021A18: .4byte gProtectStructs\n\ _08021A1C: .4byte gBattleMoves\n\ _08021A20: .4byte gCurrentMove\n\ @@ -7185,7 +7185,7 @@ _08021A68:\n\ bne _08021A7C\n\ b _08021DFA\n\ _08021A7C:\n\ - ldr r0, _08021AE0 @ =gBattleMoveFlags\n\ + ldr r0, _08021AE0 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7231,7 +7231,7 @@ _08021AD0: .4byte gBattleMons\n\ _08021AD4: .4byte gBankTarget\n\ _08021AD8: .4byte gBankAttacker\n\ _08021ADC: .4byte gSpecialStatuses\n\ -_08021AE0: .4byte gBattleMoveFlags\n\ +_08021AE0: .4byte gMoveResultFlags\n\ _08021AE4: .4byte gActiveBattler\n\ _08021AE8: .4byte gBattlescriptCurrInstr\n\ _08021AEC: .4byte BattleScript_DefrostedViaFireMove\n\ @@ -7348,7 +7348,7 @@ _08021B9C:\n\ _08021BC8:\n\ cmp r2, 0xE2\n\ bne _08021BDA\n\ - ldr r0, _08021C34 @ =gBattleMoveFlags\n\ + ldr r0, _08021C34 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x20\n\ ands r0, r1\n\ @@ -7403,7 +7403,7 @@ _08021C22:\n\ _08021C28: .4byte gHitMarker\n\ _08021C2C: .4byte gChosenMove\n\ _08021C30: .4byte 0x0000ffff\n\ -_08021C34: .4byte gBattleMoveFlags\n\ +_08021C34: .4byte gMoveResultFlags\n\ _08021C38: .4byte gBattleMons\n\ _08021C3C: .4byte gBankAttacker\n\ _08021C40:\n\ @@ -7512,7 +7512,7 @@ _08021D0C: .4byte 0x000400c0\n\ _08021D10: .4byte gHitMarker\n\ _08021D14: .4byte gActiveBattler\n\ _08021D18:\n\ - ldr r0, _08021D88 @ =gBattleMoveFlags\n\ + ldr r0, _08021D88 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7567,7 +7567,7 @@ _08021D7E:\n\ adds r1, r2, r4\n\ b _08021E00\n\ .align 2, 0\n\ -_08021D88: .4byte gBattleMoveFlags\n\ +_08021D88: .4byte gMoveResultFlags\n\ _08021D8C: .4byte gStatuses3\n\ _08021D90: .4byte gBankAttacker\n\ _08021D94: .4byte 0x000400c0\n\ @@ -7701,7 +7701,7 @@ _08021E9A:\n\ adds r7, r2, 0\n\ cmp r0, 0x7F\n\ bne _08021EBE\n\ - ldr r0, _08021F48 @ =gBattleMoveFlags\n\ + ldr r0, _08021F48 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7715,7 +7715,7 @@ _08021EBE:\n\ adds r0, r1\n\ strh r3, [r0]\n\ _08021ECA:\n\ - ldr r0, _08021F50 @ =gAbsentBankFlags\n\ + ldr r0, _08021F50 @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, _08021F54 @ =gBitTable\n\ mov r3, r9\n\ @@ -7774,9 +7774,9 @@ _08021F38: .4byte gBankTarget\n\ _08021F3C: .4byte 0xffffefff\n\ _08021F40: .4byte gBattleMoves\n\ _08021F44: .4byte gChosenMove\n\ -_08021F48: .4byte gBattleMoveFlags\n\ +_08021F48: .4byte gMoveResultFlags\n\ _08021F4C: .4byte gUnknown_02024C2C\n\ -_08021F50: .4byte gAbsentBankFlags\n\ +_08021F50: .4byte gAbsentBattlerFlags\n\ _08021F54: .4byte gBitTable\n\ _08021F58: .4byte 0x000160a6\n\ _08021F5C: .4byte gLastUsedMove\n\ @@ -7807,7 +7807,7 @@ _08021F82:\n\ ands r1, r0\n\ cmp r1, 0\n\ bne _08021FA0\n\ - ldr r0, _08021FE0 @ =gUnknown_02024C5C\n\ + ldr r0, _08021FE0 @ =gLastHitBy\n\ adds r0, r3, r0\n\ mov r3, r9\n\ ldrb r1, [r3]\n\ @@ -7819,7 +7819,7 @@ _08021FA0:\n\ ands r0, r1\n\ cmp r0, 0\n\ beq _0802204C\n\ - ldr r0, _08021FE4 @ =gBattleMoveFlags\n\ + ldr r0, _08021FE4 @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -7841,8 +7841,8 @@ _08021FD0: .4byte gLastUsedMove\n\ _08021FD4: .4byte 0x0000ffff\n\ _08021FD8: .4byte gUnknown_02024C4C\n\ _08021FDC: .4byte gBankTarget\n\ -_08021FE0: .4byte gUnknown_02024C5C\n\ -_08021FE4: .4byte gBattleMoveFlags\n\ +_08021FE0: .4byte gLastHitBy\n\ +_08021FE4: .4byte gMoveResultFlags\n\ _08021FE8: .4byte gLastLandedMoves\n\ _08021FEC:\n\ ldr r0, _08022014 @ =gLastLandedMoves\n\ @@ -7901,7 +7901,7 @@ _0802205C: .4byte gLastLandedMoves\n\ _08022060: .4byte gBankTarget\n\ _08022064: .4byte 0x0000ffff\n\ _08022068:\n\ - ldr r0, _0802212C @ =gAbsentBankFlags\n\ + ldr r0, _0802212C @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r6, _08022130 @ =gBitTable\n\ ldr r2, _08022134 @ =gBankAttacker\n\ @@ -7956,7 +7956,7 @@ _080220C0:\n\ ands r1, r0\n\ cmp r1, 0\n\ bne _0802215C\n\ - ldr r0, _0802214C @ =gBattleMoveFlags\n\ + ldr r0, _0802214C @ =gMoveResultFlags\n\ ldrb r1, [r0]\n\ movs r0, 0x29\n\ ands r0, r1\n\ @@ -8003,7 +8003,7 @@ _080220C0:\n\ strb r0, [r2]\n\ b _08022244\n\ .align 2, 0\n\ -_0802212C: .4byte gAbsentBankFlags\n\ +_0802212C: .4byte gAbsentBattlerFlags\n\ _08022130: .4byte gBitTable\n\ _08022134: .4byte gBankAttacker\n\ _08022138: .4byte 0x000160a6\n\ @@ -8011,7 +8011,7 @@ _0802213C: .4byte gBattleMoves\n\ _08022140: .4byte gChosenMove\n\ _08022144: .4byte gHitMarker\n\ _08022148: .4byte gBankTarget\n\ -_0802214C: .4byte gBattleMoveFlags\n\ +_0802214C: .4byte gMoveResultFlags\n\ _08022150: .4byte 0x000160ac\n\ _08022154: .4byte 0x000160ad\n\ _08022158: .4byte 0x00016100\n\ @@ -8106,12 +8106,12 @@ _080221C0:\n\ bne _08022244\n\ ldr r7, _080222C8 @ =gBankTarget\n\ ldrb r0, [r7]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x2\n\ eors r0, r1\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsls r0, 24\n\ lsrs r2, r0, 24\n\ ldr r1, _080222CC @ =gBattleMons\n\ @@ -8213,7 +8213,7 @@ static void atk4A_typecalc2(void) if (gBattleMons[gBankTarget].ability == ABILITY_LEVITATE && move_type == TYPE_GROUND) { gLastUsedAbility = gBattleMons[gBankTarget].ability; - gBattleMoveFlags |= (MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED); + gMoveResultFlags |= (MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE); gLastLandedMoves[gBankTarget] = 0; gBattleCommunication[6] = move_type; RecordAbilityBattle(gBankTarget, gLastUsedAbility); @@ -8235,13 +8235,13 @@ static void atk4A_typecalc2(void) { if (gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } if (gTypeEffectiveness[i + 2] == 5) - flags |= MOVESTATUS_NOTVERYEFFECTIVE; + flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; if (gTypeEffectiveness[i + 2] == 20) - flags |= MOVESTATUS_SUPEREFFECTIVE; + flags |= MOVE_RESULT_SUPER_EFFECTIVE; } //check type2 if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2) @@ -8249,31 +8249,31 @@ static void atk4A_typecalc2(void) if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 0) { - gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED; + gMoveResultFlags |= MOVE_RESULT_DOESNT_AFFECT_FOE; break; } if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 5) - flags |= MOVESTATUS_NOTVERYEFFECTIVE; + flags |= MOVE_RESULT_NOT_VERY_EFFECTIVE; if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 && gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 && gTypeEffectiveness[i + 2] == 20) - flags |= MOVESTATUS_SUPEREFFECTIVE; + flags |= MOVE_RESULT_SUPER_EFFECTIVE; } } i += 3; } } - if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVESTATUS_NOEFFECT) && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 && - (!(flags & MOVESTATUS_SUPEREFFECTIVE) || ((flags & (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE)) == (MOVESTATUS_SUPEREFFECTIVE | MOVESTATUS_NOTVERYEFFECTIVE))) && + if (gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD && !(flags & MOVE_RESULT_NO_EFFECT) && AttacksThisTurn(gBankAttacker, gCurrentMove) == 2 && + (!(flags & MOVE_RESULT_SUPER_EFFECTIVE) || ((flags & (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE)) == (MOVE_RESULT_SUPER_EFFECTIVE | MOVE_RESULT_NOT_VERY_EFFECTIVE))) && gBattleMoves[gCurrentMove].power) { gLastUsedAbility = ABILITY_WONDER_GUARD; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastLandedMoves[gBankTarget] = 0; gBattleCommunication[6] = 3; RecordAbilityBattle(gBankTarget, gLastUsedAbility); } - if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) + if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) gProtectStructs[gBankAttacker].notEffective = 1; gBattlescriptCurrInstr++; @@ -8297,9 +8297,9 @@ static void atk4C_getswitchedmondata(void) gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - gBattlePartyID[gActiveBattler] = ewram16068arr(gActiveBattler); + gBattlerPartyIndexes[gActiveBattler] = ewram16068arr(gActiveBattler); - EmitGetAttributes(0, 0, gBitTable[gBattlePartyID[gActiveBattler]]); + EmitGetAttributes(0, 0, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 2; } @@ -8328,7 +8328,7 @@ static void atk4D_switchindataupdate(void) // check knocked off item i = GetBankSide(gActiveBattler); - if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlePartyID[gActiveBattler]]) + if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]]) { gBattleMons[gActiveBattler].item = 0; } @@ -8346,7 +8346,7 @@ static void atk4D_switchindataupdate(void) gBattleStruct->scriptingActive = gActiveBattler; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlePartyID[gActiveBattler]); + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]); gBattlescriptCurrInstr += 2; } @@ -8361,8 +8361,8 @@ static void atk4E_switchinanim(void) { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } - gAbsentBankFlags &= ~(gBitTable[gActiveBattler]); - EmitSendOutPoke(0, gBattlePartyID[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2)); + gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); + EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], T2_READ_8(gBattlescriptCurrInstr + 2)); MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 3; } @@ -8395,7 +8395,7 @@ static void atk4F_jumpifcantswitch(void) if (GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) && GetMonData(&party[val], MON_DATA_HP) != 0 - && gBattlePartyID[gActiveBattler] != val) + && gBattlerPartyIndexes[gActiveBattler] != val) break; } if (val == to_cmp) @@ -8407,18 +8407,18 @@ static void atk4F_jumpifcantswitch(void) { if (GetBankSide(gActiveBattler) == 1) { - r7 = GetBankByIdentity(1); + r7 = GetBattlerAtPosition(1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - to_cmp = GetBankByIdentity(3); + to_cmp = GetBattlerAtPosition(3); else to_cmp = r7; party = gEnemyParty; } else { - r7 = GetBankByIdentity(0); + r7 = GetBattlerAtPosition(0); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - to_cmp = GetBankByIdentity(2); + to_cmp = GetBattlerAtPosition(2); else to_cmp = r7; party = gPlayerParty; @@ -8428,7 +8428,7 @@ static void atk4F_jumpifcantswitch(void) if (GetMonData(&party[val], MON_DATA_HP) != 0 && GetMonData(&party[val], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[val], MON_DATA_IS_EGG) - && val != gBattlePartyID[r7] && val != gBattlePartyID[to_cmp]) + && val != gBattlerPartyIndexes[r7] && val != gBattlerPartyIndexes[to_cmp]) break; } if (val == 6) @@ -8440,7 +8440,7 @@ static void atk4F_jumpifcantswitch(void) void sub_8022A3C(u8 unkown) { - BATTLE_PARTY_ID(gActiveBattler) = gBattlePartyID[gActiveBattler]; + BATTLE_PARTY_ID(gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; EmitChoosePokemon(0, 1, unkown, 0, gBattleStruct->unk1606C[gActiveBattler]); MarkBufferBankForExecution(gActiveBattler); } @@ -8471,7 +8471,7 @@ static void atk50_openpartyscreen(void) } else { - gAbsentBankFlags |= gBitTable[gActiveBattler]; + gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= (~HITMARKER_FAINTED(gActiveBattler)); EmitLinkStandbyMsg(0, 2); MarkBufferBankForExecution(gActiveBattler); @@ -8547,7 +8547,7 @@ _08022AE8:\n\ ldr r7, _08022B54 @ =gHitMarker\n\ ldr r6, _08022B58 @ =gBitTable\n\ adds r4, r1, 0\n\ - ldr r0, _08022B5C @ =gAbsentBankFlags\n\ + ldr r0, _08022B5C @ =gAbsentBattlerFlags\n\ mov r8, r0\n\ _08022AF2:\n\ ldrb r2, [r4]\n\ @@ -8595,7 +8595,7 @@ _08022B4C: .4byte gActiveBattler\n\ _08022B50: .4byte gNoOfAllBanks\n\ _08022B54: .4byte gHitMarker\n\ _08022B58: .4byte gBitTable\n\ -_08022B5C: .4byte gAbsentBankFlags\n\ +_08022B5C: .4byte gAbsentBattlerFlags\n\ _08022B60:\n\ ldr r5, _08022B90 @ =gSpecialStatuses\n\ ldrb r0, [r4]\n\ @@ -8664,7 +8664,7 @@ _08022BC4:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022C2C\n\ - ldr r2, _08022C28 @ =gAbsentBankFlags\n\ + ldr r2, _08022C28 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8690,7 +8690,7 @@ _08022BC4:\n\ _08022C1C: .4byte gHitMarker\n\ _08022C20: .4byte gBitTable\n\ _08022C24: .4byte gActiveBattler\n\ -_08022C28: .4byte gAbsentBankFlags\n\ +_08022C28: .4byte gAbsentBattlerFlags\n\ _08022C2C:\n\ ldr r6, _08022C60 @ =gSpecialStatuses\n\ ldrb r0, [r4]\n\ @@ -8749,7 +8749,7 @@ _08022C7E:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022CE8\n\ - ldr r2, _08022CE0 @ =gAbsentBankFlags\n\ + ldr r2, _08022CE0 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8774,7 +8774,7 @@ _08022C7E:\n\ .align 2, 0\n\ _08022CD8: .4byte gBitTable\n\ _08022CDC: .4byte gActiveBattler\n\ -_08022CE0: .4byte gAbsentBankFlags\n\ +_08022CE0: .4byte gAbsentBattlerFlags\n\ _08022CE4: .4byte gHitMarker\n\ _08022CE8:\n\ ldr r6, _08022D1C @ =gSpecialStatuses\n\ @@ -8833,7 +8833,7 @@ _08022D40:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022DA0\n\ - ldr r2, _08022D98 @ =gAbsentBankFlags\n\ + ldr r2, _08022D98 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8858,7 +8858,7 @@ _08022D40:\n\ .align 2, 0\n\ _08022D90: .4byte gBitTable\n\ _08022D94: .4byte gActiveBattler\n\ -_08022D98: .4byte gAbsentBankFlags\n\ +_08022D98: .4byte gAbsentBattlerFlags\n\ _08022D9C: .4byte gHitMarker\n\ _08022DA0:\n\ ldr r6, _08022DD4 @ =gSpecialStatuses\n\ @@ -8920,7 +8920,7 @@ _08022DF6:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08022E60\n\ - ldr r2, _08022E58 @ =gAbsentBankFlags\n\ + ldr r2, _08022E58 @ =gAbsentBattlerFlags\n\ ldrb r0, [r4]\n\ lsls r0, 2\n\ adds r0, r6\n\ @@ -8945,7 +8945,7 @@ _08022DF6:\n\ .align 2, 0\n\ _08022E50: .4byte gBitTable\n\ _08022E54: .4byte gActiveBattler\n\ -_08022E58: .4byte gAbsentBankFlags\n\ +_08022E58: .4byte gAbsentBattlerFlags\n\ _08022E5C: .4byte gHitMarker\n\ _08022E60:\n\ ldr r6, _08022E94 @ =gSpecialStatuses\n\ @@ -9002,7 +9002,7 @@ _08022EB8:\n\ blt _08022F0C\n\ cmp r5, 0\n\ beq _08022F0C\n\ - ldr r0, _08022EEC @ =gAbsentBankFlags\n\ + ldr r0, _08022EEC @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r0, _08022EF0 @ =gBitTable\n\ ldr r0, [r0]\n\ @@ -9015,7 +9015,7 @@ _08022EB8:\n\ b _08022EFC\n\ .align 2, 0\n\ _08022EE8: .4byte gSpecialStatuses\n\ -_08022EEC: .4byte gAbsentBankFlags\n\ +_08022EEC: .4byte gAbsentBattlerFlags\n\ _08022EF0: .4byte gBitTable\n\ _08022EF4: .4byte gActiveBattler\n\ _08022EF8:\n\ @@ -9042,7 +9042,7 @@ _08022F0C:\n\ blt _08022F62\n\ cmp r5, 0\n\ beq _08022F62\n\ - ldr r0, _08022F44 @ =gAbsentBankFlags\n\ + ldr r0, _08022F44 @ =gAbsentBattlerFlags\n\ ldrb r0, [r0]\n\ ldr r1, _08022F48 @ =gBitTable\n\ ldr r1, [r1, 0x4]\n\ @@ -9055,7 +9055,7 @@ _08022F0C:\n\ .align 2, 0\n\ _08022F3C: .4byte gActiveBattler\n\ _08022F40: .4byte gSpecialStatuses\n\ -_08022F44: .4byte gAbsentBankFlags\n\ +_08022F44: .4byte gAbsentBattlerFlags\n\ _08022F48: .4byte gBitTable\n\ _08022F4C:\n\ ldr r1, _08022F6C @ =gActiveBattler\n\ @@ -9119,7 +9119,7 @@ _08022F92:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _08023008\n\ - ldr r2, _08023004 @ =gAbsentBankFlags\n\ + ldr r2, _08023004 @ =gAbsentBattlerFlags\n\ ldrb r0, [r6]\n\ lsls r0, 2\n\ adds r0, r4\n\ @@ -9146,7 +9146,7 @@ _08022FF4: .4byte gHitMarker\n\ _08022FF8: .4byte gBitTable\n\ _08022FFC: .4byte gActiveBattler\n\ _08023000: .4byte gBattleBufferB\n\ -_08023004: .4byte gAbsentBankFlags\n\ +_08023004: .4byte gAbsentBattlerFlags\n\ _08023008:\n\ ldr r4, _08023098 @ =gSpecialStatuses\n\ ldrb r0, [r6]\n\ @@ -9195,7 +9195,7 @@ _0802303A:\n\ lsls r0, 24\n\ cmp r0, 0\n\ beq _080230BC\n\ - ldr r2, _080230B4 @ =gAbsentBankFlags\n\ + ldr r2, _080230B4 @ =gAbsentBattlerFlags\n\ ldrb r0, [r5]\n\ lsls r0, 2\n\ adds r0, r4\n\ @@ -9225,7 +9225,7 @@ _080230A4: .4byte gBitTable\n\ _080230A8: .4byte gActiveBattler\n\ _080230AC: .4byte gBattleBufferB\n\ _080230B0: .4byte 0x00000201\n\ -_080230B4: .4byte gAbsentBankFlags\n\ +_080230B4: .4byte gAbsentBattlerFlags\n\ _080230B8: .4byte gHitMarker\n\ _080230BC:\n\ ldr r4, _080230FC @ =gSpecialStatuses\n\ @@ -9353,7 +9353,7 @@ _080231A8:\n\ beq _080231F8\n\ ldr r2, _080231E8 @ =gActiveBattler\n\ strb r7, [r2]\n\ - ldr r3, _080231EC @ =gAbsentBankFlags\n\ + ldr r3, _080231EC @ =gAbsentBattlerFlags\n\ ldr r4, _080231F0 @ =gBitTable\n\ ldrb r0, [r2]\n\ lsls r0, 2\n\ @@ -9376,7 +9376,7 @@ _080231A8:\n\ b _08023302\n\ .align 2, 0\n\ _080231E8: .4byte gActiveBattler\n\ -_080231EC: .4byte gAbsentBankFlags\n\ +_080231EC: .4byte gAbsentBattlerFlags\n\ _080231F0: .4byte gBitTable\n\ _080231F4: .4byte gHitMarker\n\ _080231F8:\n\ @@ -9387,7 +9387,7 @@ _080231F8:\n\ ldr r2, _080232A8 @ =0x00016064\n\ adds r1, r0, r2\n\ adds r1, r3\n\ - ldr r2, _080232AC @ =gBattlePartyID\n\ + ldr r2, _080232AC @ =gBattlerPartyIndexes\n\ lsls r0, 1\n\ adds r0, r2\n\ ldrh r0, [r0]\n\ @@ -9416,7 +9416,7 @@ _080231F8:\n\ adds r0, 0x6\n\ str r0, [r6]\n\ ldrb r0, [r4]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0802325A\n\ @@ -9465,7 +9465,7 @@ _0802328A:\n\ _080232A0: .4byte gActiveBattler\n\ _080232A4: .4byte gSharedMem\n\ _080232A8: .4byte 0x00016064\n\ -_080232AC: .4byte gBattlePartyID\n\ +_080232AC: .4byte gBattlerPartyIndexes\n\ _080232B0: .4byte 0x00016068\n\ _080232B4: .4byte 0x0001606c\n\ _080232B8: .4byte gBattleResults\n\ @@ -9473,15 +9473,15 @@ _080232BC: .4byte gBattleTypeFlags\n\ _080232C0: .4byte gNoOfAllBanks\n\ _080232C4:\n\ adds r0, r7, 0\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x1\n\ eors r0, r1\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r4, _08023310 @ =gActiveBattler\n\ strb r0, [r4]\n\ - ldr r0, _08023314 @ =gAbsentBankFlags\n\ + ldr r0, _08023314 @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, _08023318 @ =gBitTable\n\ ldrb r3, [r4]\n\ @@ -9510,7 +9510,7 @@ _08023302:\n\ bx r0\n\ .align 2, 0\n\ _08023310: .4byte gActiveBattler\n\ -_08023314: .4byte gAbsentBankFlags\n\ +_08023314: .4byte gAbsentBattlerFlags\n\ _08023318: .4byte gBitTable\n\ .syntax divided"); } @@ -9625,7 +9625,7 @@ static void atk52_switchineffects(void) gBank1++; while (1) { - if (hitmark & gBitTable[gBank1] && !(gAbsentBankFlags & gBitTable[gBank1])) + if (hitmark & gBitTable[gBank1] && !(gAbsentBattlerFlags & gBitTable[gBank1])) break; if (gBank1 >= gNoOfAllBanks) break; @@ -9640,9 +9640,9 @@ static void atk52_switchineffects(void) static void atk53_trainerslidein(void) { if (!T2_READ_8(gBattlescriptCurrInstr + 1)) - gActiveBattler = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); else - gActiveBattler = GetBankByIdentity(1); + gActiveBattler = GetBattlerAtPosition(1); EmitTrainerSlide(0); MarkBufferBankForExecution(gActiveBattler); @@ -9675,7 +9675,7 @@ static void atk56_playfaintcry(void) static void atk57(void) { - gActiveBattler = GetBankByIdentity(0); + gActiveBattler = GetBattlerAtPosition(0); Emitcmd55(0, gBattleOutcome); MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr += 1; @@ -9708,13 +9708,13 @@ void atk59_handlelearnnewmove(void) } else { - gActiveBattler = GetBankByIdentity(0); - if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + gActiveBattler = GetBattlerAtPosition(0); + if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) //what is else if { - gActiveBattler = GetBankByIdentity(2); - if (gBattlePartyID[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + gActiveBattler = GetBattlerAtPosition(2); + if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterID && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) GiveMoveToBattleMon(&gBattleMons[gActiveBattler], ret); } gBattlescriptCurrInstr = loc1; @@ -9819,13 +9819,13 @@ static void atk5A_yesnoboxlearnmove(void) ptr[0] = 0xFF; RemoveMonPPBonus(&gPlayerParty[gBattleStruct->expGetterID], move_pos); SetMonMoveSlot(&gPlayerParty[gBattleStruct->expGetterID], gMoveToLearn, move_pos); - if (gBattlePartyID[0] == gBattleStruct->expGetterID && !(gBattleMons[0].status2 & STATUS2_TRANSFORMED) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID && !(gBattleMons[0].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[0].unk18_b & gBitTable[move_pos])) { RemoveBattleMonPPBonus(&gBattleMons[0], move_pos); SetBattleMonMoveSlot(&gBattleMons[0], gMoveToLearn, move_pos); } - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[2] == gBattleStruct->expGetterID && !(gBattleMons[2].status2 & STATUS2_TRANSFORMED) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[2] == gBattleStruct->expGetterID && !(gBattleMons[2].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[2].unk18_b & gBitTable[move_pos])) { RemoveBattleMonPPBonus(&gBattleMons[2], move_pos); @@ -9894,7 +9894,7 @@ static void atk5B_yesnoboxstoplearningmove(void) static void atk5C_hitanimation(void) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) gBattlescriptCurrInstr += 2; else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBattler].substituteHP == 0) { @@ -10459,12 +10459,12 @@ static void atk69_adjustsetdamage(void) //literally a copy of atk07 except there if (gProtectStructs[gBankTarget].endured) { - gBattleMoveFlags |= MOVESTATUS_ENDURED; + gMoveResultFlags |= MOVE_RESULT_FOE_ENDURED; goto END; } if (gSpecialStatuses[gBankTarget].focusBanded) { - gBattleMoveFlags |= MOVESTATUS_HUNGON; + gMoveResultFlags |= MOVE_RESULT_FOE_HUNG_ON; gLastUsedItem = gBattleMons[gBankTarget].item; } @@ -10488,7 +10488,7 @@ static void atk6B_atknameinbuff1(void) gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 7; gBattleTextBuff1[2] = gBankAttacker; - gBattleTextBuff1[3] = gBattlePartyID[gBankAttacker]; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gBankAttacker]; gBattleTextBuff1[4] = 0xFF; gBattlescriptCurrInstr++; } @@ -10927,7 +10927,7 @@ static void atk6D_resetsentmonsvalue(void) static void atk6E_setatktoplayer0(void) { - gBankAttacker = GetBankByIdentity(0); + gBankAttacker = GetBattlerAtPosition(0); gBattlescriptCurrInstr++; } @@ -11023,7 +11023,7 @@ static void atk74_hpthresholds2(void) static void atk75_useitemonopponent(void) { gBankInMenu = gBankAttacker; - PokemonUseItemEffects(&gEnemyParty[gBattlePartyID[gBankAttacker]], gLastUsedItem, gBattlePartyID[gBankAttacker], 0, 1); + PokemonUseItemEffects(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker]], gLastUsedItem, gBattlerPartyIndexes[gBankAttacker], 0, 1); gBattlescriptCurrInstr += 1; } @@ -11066,11 +11066,11 @@ static void atk76_various(void) { int i; u16* choiced_move; - if (gBattlePartyID[0] == gBattleStruct->expGetterID) + if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID) goto ACTIVE_0; - if (gBattlePartyID[2] != gBattleStruct->expGetterID) + if (gBattlerPartyIndexes[2] != gBattleStruct->expGetterID) break; - if (gBattlePartyID[0] == gBattlePartyID[2]) + if (gBattlerPartyIndexes[0] == gBattlerPartyIndexes[2]) { ACTIVE_0: gActiveBattler = 0; @@ -11121,7 +11121,7 @@ static void atk77_setprotectlike(void) //protect and endure { gDisableStructs[gBankAttacker].protectUses = 0; gBattleCommunication[MULTISTRING_CHOOSER] = 2; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; } gBattlescriptCurrInstr++; @@ -11150,7 +11150,7 @@ static void atk78_faintifabilitynotdamp(void) { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } } @@ -11185,7 +11185,7 @@ static void atk7A_jumpifnexttargetvalid(void) //used by intimidate to loop throu { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } @@ -11264,7 +11264,7 @@ static void atk7D_setrain(void) { if (gBattleWeather & WEATHER_RAIN_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -11278,15 +11278,15 @@ static void atk7D_setrain(void) static void atk7E_setreflect(void) { - if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_REFLECT) + if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_REFLECT) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_REFLECT; - gSideTimers[GetBankIdentity(gBankAttacker) & 1].reflectTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_REFLECT; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].reflectTimer = 5; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 2; else @@ -11297,14 +11297,14 @@ static void atk7E_setreflect(void) static void atk7F_setseeded(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT || gStatuses3[gBankTarget] & STATUS3_LEECHSEED) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else if (gBattleMons[gBankTarget].type1 == TYPE_GRASS || gBattleMons[gBankTarget].type2 == TYPE_GRASS) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -11419,7 +11419,7 @@ static void atk85_stockpile(void) { if (gDisableStructs[gBankAttacker].stockpileCounter == 3) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else @@ -11448,7 +11448,7 @@ static void atk86_stockpiletobasedamage(void) if (gBattleCommunication[6] != 1) { gBattleMoveDamage = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GetBankIdentity(gBankTarget) & 1], 0, + gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0, 0, gBankAttacker, gBankTarget) * gDisableStructs[gBankAttacker].stockpileCounter; gBattleStruct->animTurn = gDisableStructs[gBankAttacker].stockpileCounter; @@ -11522,7 +11522,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) if ((statValue << 0x18) < 0) // stat decrease { - if (gSideTimers[GET_BANK_SIDE(gActiveBattler)].mistTimer + if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_BS_PTR) @@ -11659,7 +11659,7 @@ static u8 ChangeStatBuffs(s8 statValue, u8 statId, u8 flags, const u8 *BS_ptr) gBattleMons[gActiveBattler].statStages[statId] = 0xC; if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && flags & STAT_CHANGE_BS_PTR) - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; if (gBattleCommunication[MULTISTRING_CHOOSER] == 2 && !(flags & STAT_CHANGE_BS_PTR)) return STAT_CHANGE_DIDNT_WORK; @@ -11733,7 +11733,7 @@ static bool8 sub_80264C0(void) { if (gBattleMons[gBankAttacker].level >= gBattleMons[gBankTarget].level) { - ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget]; + ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget]; } else { @@ -11743,7 +11743,7 @@ static bool8 sub_80264C0(void) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); return 0; } - ewram16064arr(gBankTarget) = gBattlePartyID[gBankTarget]; + ewram16064arr(gBankTarget) = gBattlerPartyIndexes[gBankTarget]; } gBattlescriptCurrInstr = BattleScript_SuccessForceOut; return 1; @@ -11805,7 +11805,7 @@ static void atk8F_forcerandomswitch(void) i = val + 3; else i = val; - } while (i == gBattlePartyID[gBankTarget] || i == gBattlePartyID[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); } else { @@ -11814,14 +11814,14 @@ static void atk8F_forcerandomswitch(void) do { i = Random() % 6; - } while (i == gBattlePartyID[gBankTarget] || i == gBattlePartyID[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBankTarget] || i == gBattlerPartyIndexes[gBankTarget ^ 2] || !MON_CAN_BATTLE(&party[i])); } else { do { i = Random() % 6; - } while (i == gBattlePartyID[gBankTarget] || !MON_CAN_BATTLE(&party[i])); + } while (i == gBattlerPartyIndexes[gBankTarget] || !MON_CAN_BATTLE(&party[i])); } } ewram16068arr(gBankTarget) = i; @@ -11919,15 +11919,15 @@ static void atk91_givepaydaymoney(void) static void atk92_setlightscreen(void) { - if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN) + if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_LIGHTSCREEN) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN; - gSideTimers[GetBankIdentity(gBankAttacker) & 1].lightscreenTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_LIGHTSCREEN; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].lightscreenTimer = 5; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMons(1) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 4; else @@ -11957,7 +11957,7 @@ static void atk93_tryKO(void) if (gBattleMons[gBankTarget].ability == ABILITY_STURDY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gLastUsedAbility = ABILITY_STURDY; gBattlescriptCurrInstr = x; RecordAbilityBattle(gBankTarget, ABILITY_STURDY); @@ -11969,7 +11969,7 @@ static void atk93_tryKO(void) u16 to_cmp = gBattleMons[gBankAttacker].level - gBattleMons[gBankTarget].level + gBattleMoves[gCurrentMove].accuracy; if (Random() % 0x64 + 1 < to_cmp || gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) { - goto MOVESTATUS_MISSED_LABEL; + goto MOVE_RESULT_MISSED_LABEL; } } else @@ -11980,8 +11980,8 @@ static void atk93_tryKO(void) } } -MOVESTATUS_MISSED_LABEL: - gBattleTypeFlags |= MOVESTATUS_MISSED; +MOVE_RESULT_MISSED_LABEL: + gBattleTypeFlags |= MOVE_RESULT_MISSED; if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level) gBattleCommunication[MULTISTRING_CHOOSER] = 1; else @@ -12078,7 +12078,7 @@ _08026C0C:\n\ mov r10, r8\n\ cmp r3, 0x5\n\ bne _08026C6C\n\ - ldr r2, _08026C5C @ =gBattleMoveFlags\n\ + ldr r2, _08026C5C @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x1\n\ orrs r0, r1\n\ @@ -12098,7 +12098,7 @@ _08026C4C: .4byte gStringBank\n\ _08026C50: .4byte gBankTarget\n\ _08026C54: .4byte gSpecialStatuses\n\ _08026C58: .4byte gBattleMons\n\ -_08026C5C: .4byte gBattleMoveFlags\n\ +_08026C5C: .4byte gMoveResultFlags\n\ _08026C60: .4byte gLastUsedAbility\n\ _08026C64: .4byte gBattlescriptCurrInstr\n\ _08026C68: .4byte BattleScript_SturdyPreventsOHKO\n\ @@ -12208,7 +12208,7 @@ _08026D20:\n\ ldrh r0, [r0, 0x28]\n\ subs r0, 0x1\n\ str r0, [r1]\n\ - ldr r2, _08026D60 @ =gBattleMoveFlags\n\ + ldr r2, _08026D60 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x40\n\ b _08026DC6\n\ @@ -12218,7 +12218,7 @@ _08026D50: .4byte gBankAttacker\n\ _08026D54: .4byte gProtectStructs\n\ _08026D58: .4byte gBankTarget\n\ _08026D5C: .4byte gBattleMoveDamage\n\ -_08026D60: .4byte gBattleMoveFlags\n\ +_08026D60: .4byte gMoveResultFlags\n\ _08026D64:\n\ ldr r0, _08026DA0 @ =gSpecialStatuses\n\ lsls r1, r2, 2\n\ @@ -12237,7 +12237,7 @@ _08026D64:\n\ ldrh r0, [r0, 0x28]\n\ subs r0, 0x1\n\ str r0, [r1]\n\ - ldr r2, _08026DA8 @ =gBattleMoveFlags\n\ + ldr r2, _08026DA8 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x80\n\ orrs r0, r1\n\ @@ -12253,7 +12253,7 @@ _08026D64:\n\ .align 2, 0\n\ _08026DA0: .4byte gSpecialStatuses\n\ _08026DA4: .4byte gBattleMoveDamage\n\ -_08026DA8: .4byte gBattleMoveFlags\n\ +_08026DA8: .4byte gMoveResultFlags\n\ _08026DAC: .4byte gLastUsedItem\n\ _08026DB0: .4byte gBankTarget\n\ _08026DB4:\n\ @@ -12263,7 +12263,7 @@ _08026DB4:\n\ add r0, r10\n\ ldrh r0, [r0, 0x28]\n\ str r0, [r1]\n\ - ldr r2, _08026DD8 @ =gBattleMoveFlags\n\ + ldr r2, _08026DD8 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x10\n\ _08026DC6:\n\ @@ -12277,10 +12277,10 @@ _08026DCA:\n\ b _08026E40\n\ .align 2, 0\n\ _08026DD4: .4byte gBattleMoveDamage\n\ -_08026DD8: .4byte gBattleMoveFlags\n\ +_08026DD8: .4byte gMoveResultFlags\n\ _08026DDC: .4byte gBattlescriptCurrInstr\n\ _08026DE0:\n\ - ldr r2, _08026E10 @ =gBattleMoveFlags\n\ + ldr r2, _08026E10 @ =gMoveResultFlags\n\ ldrb r0, [r2]\n\ movs r1, 0x1\n\ orrs r0, r1\n\ @@ -12305,7 +12305,7 @@ _08026DE0:\n\ movs r0, 0\n\ b _08026E24\n\ .align 2, 0\n\ -_08026E10: .4byte gBattleMoveFlags\n\ +_08026E10: .4byte gMoveResultFlags\n\ _08026E14: .4byte gBankAttacker\n\ _08026E18: .4byte gBankTarget\n\ _08026E1C: .4byte gBattleCommunication\n\ @@ -12354,7 +12354,7 @@ static void atk95_setsandstorm(void) { if (gBattleWeather & WEATHER_SANDSTORM_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -12402,7 +12402,7 @@ static void atk96_weatherdamage(void) else gBattleMoveDamage = 0; - if (gAbsentBankFlags & gBitTable[gBankAttacker]) + if (gAbsentBattlerFlags & gBitTable[gBankAttacker]) gBattleMoveDamage = 0; gBattlescriptCurrInstr++; @@ -12414,14 +12414,14 @@ static void atk97_tryinfatuating(void) u16 atk_species, def_species; u32 atk_pid, def_pid; if (!GetBankSide(gBankAttacker)) - attacker = &gPlayerParty[gBattlePartyID[gBankAttacker]]; + attacker = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; else - attacker = &gEnemyParty[gBattlePartyID[gBankAttacker]]; + attacker = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; if (!GetBankSide(gBankTarget)) - target = &gPlayerParty[gBattlePartyID[gBankTarget]]; + target = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; else - target = &gEnemyParty[gBattlePartyID[gBankTarget]]; + target = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; atk_species = GetMonData(attacker, MON_DATA_SPECIES); atk_pid = GetMonData(attacker, MON_DATA_PERSONALITY); @@ -12466,15 +12466,15 @@ static void atk98_updatestatusicon(void) else { gActiveBattler = gBankAttacker; - if (!(gAbsentBankFlags & gBitTable[gActiveBattler])) + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBufferBankForExecution(gActiveBattler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (!(gAbsentBankFlags & gBitTable[gActiveBattler])) + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { EmitStatusIconUpdate(0, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); MarkBufferBankForExecution(gActiveBattler); @@ -12486,15 +12486,15 @@ static void atk98_updatestatusicon(void) static void atk99_setmist(void) { - if (gSideTimers[GetBankIdentity(gBankAttacker) & 1].mistTimer) + if (gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else { - gSideTimers[GetBankIdentity(gBankAttacker) & 1].mistTimer = 5; - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_MIST; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].mistTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_MIST; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } gBattlescriptCurrInstr++; @@ -12504,7 +12504,7 @@ static void atk9A_setfocusenergy(void) { if (gBattleMons[gBankAttacker].status2 & STATUS2_FOCUS_ENERGY) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else @@ -12521,7 +12521,7 @@ static void atk9B_transformdataexecution(void) gBattlescriptCurrInstr++; if (gBattleMons[gBankTarget].status2 & STATUS2_TRANSFORMED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE) { - gBattleMoveFlags |= MOVESTATUS_FAILED; + gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = 1; } else @@ -13575,8 +13575,8 @@ static void atkAE_healpartystatus(void) gBattleCommunication[MULTISTRING_CHOOSER] |= 1; } - gActiveBattler = gBattleStruct->scriptingActive = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler])) + gActiveBattler = gBattleStruct->scriptingActive = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) { if (gBattleMons[gActiveBattler].ability != ABILITY_SOUNDPROOF) { @@ -13596,9 +13596,9 @@ static void atkAE_healpartystatus(void) if (species != 0 && species != SPECIES_EGG) { u8 ability; - if (gBattlePartyID[gBankAttacker] == i) + if (gBattlerPartyIndexes[gBankAttacker] == i) ability = gBattleMons[gBankAttacker].ability; - else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlePartyID[gActiveBattler] == i && !(gAbsentBankFlags & gBitTable[gActiveBattler])) + else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattlerPartyIndexes[gActiveBattler] == i && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) ability = gBattleMons[gActiveBattler].ability; else ability = GetAbilityBySpecies(species, abilityBit); @@ -13613,8 +13613,8 @@ static void atkAE_healpartystatus(void) to_heal = 0x3F; gBattleMons[gBankAttacker].status1 = zero2; - gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler])) + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) gBattleMons[gActiveBattler].status1 = 0; } @@ -13689,7 +13689,7 @@ static void atkB2_trysetperishsong(void) static void atkB3_rolloutdamagecalculation(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { CancelMultiTurnMoves(gBankAttacker); gBattlescriptCurrInstr = BattleScript_MoveMissedPause; @@ -13728,7 +13728,7 @@ static void atkB4_jumpifconfusedandstatmaxed(void) static void atkB5_furycuttercalc(void) { - if (gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { gDisableStructs[gBankAttacker].furyCutterCounter = 0; gBattlescriptCurrInstr = BattleScript_MoveMissedPause; @@ -13779,22 +13779,22 @@ static void atkB7_presentdamagecalculation(void) gBattlescriptCurrInstr = BattleScript_AlreadyAtFullHp; else { - //gBattleMoveFlags &= ~(MOVESTATUS_NOTAFFECTED); only in Emerald + //gMoveResultFlags &= ~(MOVE_RESULT_DOESNT_AFFECT_FOE); only in Emerald gBattlescriptCurrInstr = BattleScript_PresentHealTarget; } } static void atkB8_setsafeguard(void) { - if (gSideAffecting[GetBankIdentity(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD) + if (gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] & SIDE_STATUS_SAFEGUARD) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gSideAffecting[GetBankIdentity(gBankAttacker) & 1] |= SIDE_STATUS_SAFEGUARD; - gSideTimers[GetBankIdentity(gBankAttacker) & 1].safeguardTimer = 5; + gSideAffecting[GetBattlerPosition(gBankAttacker) & 1] |= SIDE_STATUS_SAFEGUARD; + gSideTimers[GetBattlerPosition(gBankAttacker) & 1].safeguardTimer = 5; gBattleCommunication[MULTISTRING_CHOOSER] = 5; } gBattlescriptCurrInstr++; @@ -13850,7 +13850,7 @@ static void atkB9_magnitudedamagecalculation(void) { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) //a valid target was found + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) //a valid target was found break; } gBattlescriptCurrInstr++; @@ -13861,16 +13861,16 @@ static void atkBA_jumpifnopursuitswitchdmg(void) if (gMultiHitCounter == 1) { if (GetBankSide(gBankAttacker) == 0) - gBankTarget = GetBankByIdentity(1); + gBankTarget = GetBattlerAtPosition(1); else - gBankTarget = GetBankByIdentity(0); + gBankTarget = GetBattlerAtPosition(0); } else { if (GetBankSide(gBankAttacker) == 0) - gBankTarget = GetBankByIdentity(3); + gBankTarget = GetBattlerAtPosition(3); else - gBankTarget = GetBankByIdentity(2); + gBankTarget = GetBattlerAtPosition(2); } if (gActionForBanks[gBankTarget] == 0 && gBankAttacker == ewram16010arr(gBankTarget) && !(gBattleMons[gBankTarget].status1 & (STATUS_SLEEP | STATUS_FREEZE)) @@ -13895,7 +13895,7 @@ static void atkBB_setsunny(void) { if (gBattleWeather & WEATHER_SUN_ANY) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -14152,7 +14152,7 @@ static void atkC2_selectfirstvalidtarget(void) { if (gBankTarget == gBankAttacker) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } gBattlescriptCurrInstr++; @@ -14170,7 +14170,7 @@ static void atkC3_trysetfutureattack(void) gWishFutureKnock.futureSightAttacker[gBankTarget] = gBankAttacker; gWishFutureKnock.futureSightCounter[gBankTarget] = 3; gWishFutureKnock.futureSightDmg[gBankTarget] = CalculateBaseDamage(&gBattleMons[gBankAttacker], &gBattleMons[gBankTarget], gCurrentMove, - gSideAffecting[GetBankIdentity(gBankTarget) & 1], 0, + gSideAffecting[GetBattlerPosition(gBankTarget) & 1], 0, 0, gBankAttacker, gBankTarget); if (gProtectStructs[gBankAttacker].helpingHand) @@ -14532,7 +14532,7 @@ static void atkC8_sethail(void) { if (gBattleWeather & WEATHER_HAIL) { - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = 2; } else @@ -14631,8 +14631,8 @@ static void atkD0_settaunt(void) static void atkD1_trysethelpinghand(void) { - gBankTarget = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gBankTarget]) && !gProtectStructs[gBankAttacker].helpingHand && !gProtectStructs[gBankTarget].helpingHand) { gProtectStructs[gBankTarget].helpingHand = 1; @@ -14707,7 +14707,7 @@ _0802A24C:\n\ adds r0, r2, r0\n\ ldrb r1, [r0]\n\ ldr r3, _0802A320 @ =gBitTable\n\ - ldr r2, _0802A324 @ =gBattlePartyID\n\ + ldr r2, _0802A324 @ =gBattlerPartyIndexes\n\ ldrb r0, [r4]\n\ lsls r0, 1\n\ adds r0, r2\n\ @@ -14789,7 +14789,7 @@ _0802A314: .4byte 0x00000902\n\ _0802A318: .4byte gTrainerBattleOpponent\n\ _0802A31C: .4byte gWishFutureKnock\n\ _0802A320: .4byte gBitTable\n\ -_0802A324: .4byte gBattlePartyID\n\ +_0802A324: .4byte gBattlerPartyIndexes\n\ _0802A328: .4byte gBattleMons\n\ _0802A32C: .4byte gBankTarget\n\ _0802A330: .4byte gBattlescriptCurrInstr\n\ @@ -14995,7 +14995,7 @@ static void atkD4_trywish(void) if (gWishFutureKnock.wishCounter[gBankAttacker] == 0) { gWishFutureKnock.wishCounter[gBankAttacker] = 2; - gWishFutureKnock.wishUserID[gBankAttacker] = gBattlePartyID[gBankAttacker]; + gWishFutureKnock.wishUserID[gBankAttacker] = gBattlerPartyIndexes[gBankAttacker]; gBattlescriptCurrInstr += 6; } else @@ -15078,7 +15078,7 @@ static void atkDA_tryswapabilities(void) { if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0) || gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD - || gBattleMoveFlags & MOVESTATUS_NOEFFECT) + || gMoveResultFlags & MOVE_RESULT_NO_EFFECT) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -15162,14 +15162,14 @@ static void atkDE_asistattackselect(void) struct Pokemon* party; int i, j; u16* chooseable_moves; - if (GetBankIdentity(gBankAttacker) & 1) + if (GetBattlerPosition(gBankAttacker) & 1) party = gEnemyParty; else party = gPlayerParty; for (i = 0; i < 6; i++) { - if (i == gBattlePartyID[gBankAttacker]) + if (i == gBattlerPartyIndexes[gBankAttacker]) break; if (!GetMonData(&party[i], MON_DATA_SPECIES2) || GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) break; @@ -15224,7 +15224,7 @@ static void atkDE_asistattackselect(void) mov r10, r0\n\ ldr r0, _0802AB9C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ movs r1, 0x1\n\ ands r1, r0\n\ ldr r0, _0802ABA0 @ =gPlayerParty\n\ @@ -15236,7 +15236,7 @@ static void atkDE_asistattackselect(void) _0802AAAC:\n\ movs r2, 0\n\ _0802AAAE:\n\ - ldr r1, _0802ABA8 @ =gBattlePartyID\n\ + ldr r1, _0802ABA8 @ =gBattlerPartyIndexes\n\ ldr r0, _0802AB9C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ lsls r0, 1\n\ @@ -15358,7 +15358,7 @@ _0802AB54:\n\ _0802AB9C: .4byte gBankAttacker\n\ _0802ABA0: .4byte gPlayerParty\n\ _0802ABA4: .4byte gEnemyParty\n\ -_0802ABA8: .4byte gBattlePartyID\n\ +_0802ABA8: .4byte gBattlerPartyIndexes\n\ _0802ABAC: .4byte 0x0000ffff\n\ _0802ABB0: .4byte gSharedMem + 0x16024\n\ _0802ABB4: .4byte sMovesForbiddenToCopy\n\ @@ -15437,7 +15437,7 @@ static void atkE1_trygetintimidatetarget(void) { if (GetBankSide(gBankTarget) == side) continue; - if (!(gAbsentBankFlags & gBitTable[gBankTarget])) + if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; } @@ -15638,8 +15638,8 @@ static void atkEB_settypetoterrain(void) static void atkEC_pursuitrelated(void) { - gActiveBattler = GetBankByIdentity(GetBankIdentity(gBankAttacker) ^ 2); - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBankFlags & gBitTable[gActiveBattler]) && gActionForBanks[gActiveBattler] == 0 && gChosenMovesByBanks[gActiveBattler] == MOVE_PURSUIT) + gActiveBattler = GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) ^ 2); + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) && gActionForBanks[gActiveBattler] == 0 && gChosenMovesByBanks[gActiveBattler] == MOVE_PURSUIT) { gActionsByTurnOrder[gActiveBattler] = 11; gCurrentMove = MOVE_PURSUIT; @@ -15780,7 +15780,7 @@ void atkEF_handleballthrow(void) EmitBallThrow(0, 4); MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else @@ -15799,7 +15799,7 @@ void atkEF_handleballthrow(void) if (shakes == 4) //poke caught, copy of the code above { gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; - SetMonData(&gEnemyParty[gBattlePartyID[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankTarget]], MON_DATA_POKEBALL, (const void*) &gLastUsedItem); if (CalculatePlayerPartyCount() == 6) gBattleCommunication[MULTISTRING_CHOOSER] = 0; else @@ -15816,9 +15816,9 @@ void atkEF_handleballthrow(void) static void atkF0_givecaughtmon(void) { - GiveMonToPlayer(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]); + GiveMonToPlayer(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]]); gBattleResults.caughtPoke = gBattleMons[gBankAttacker ^ 1].species; - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleResults.caughtNick); gBattlescriptCurrInstr++; } @@ -16020,15 +16020,15 @@ static void atkF3_trygivecaughtmonnick(void) case 2: if (!gPaletteFade.active) { - GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); - DoNamingScreen(2, gBattleStruct->caughtNick, GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), BattleMainCB2); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); + DoNamingScreen(2, gBattleStruct->caughtNick, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_SPECIES), GetMonGender(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]]), GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_PERSONALITY, 0), BattleMainCB2); gBattleCommunication[0]++; } break; case 3: if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active ) { - SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); + SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBankAttacker ^ 1]], MON_DATA_NICKNAME, gBattleStruct->caughtNick); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } break; diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 0e27c0a8c..e691a5d29 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -25,7 +25,7 @@ extern u8 gBattleBufferA[][0x200]; extern u8 gActiveBattler; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u8 gBankSpriteIds[]; extern u16 gUnknown_02024DE8; @@ -309,7 +309,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) r7 = gTransformedPersonalities[b]; } otId = GetMonData(pkmn, MON_DATA_OT_ID); - var = GetBankIdentity(b); + var = GetBattlerPosition(b); HandleLoadSpecialPokePic( &gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, @@ -361,7 +361,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) r7 = gTransformedPersonalities[b]; } otId = GetMonData(pkmn, MON_DATA_OT_ID); - var = GetBankIdentity(b); + var = GetBattlerPosition(b); HandleLoadSpecialPokePic( &gMonBackPicTable[species], gMonBackPicCoords[species].coords, @@ -404,7 +404,7 @@ void sub_8031A6C(u16 a, u8 b) u8 status; struct CompressedSpriteSheet spriteSheet; - status = GetBankIdentity(b); + status = GetBattlerPosition(b); DecompressPicFromTable_2( &gTrainerFrontPicTable[a], gTrainerFrontPicCoords[a].coords, @@ -423,7 +423,7 @@ void LoadPlayerTrainerBankSprite(u16 a, u8 b) { u8 status; - status = GetBankIdentity(b); + status = GetBattlerPosition(b); DecompressPicFromTable_2( &gTrainerBackPicTable[a], gTrainerBackPicCoords[a].coords, @@ -581,11 +581,11 @@ u8 battle_load_something(u8 *pState, u8 *b) if (GetBankSide(*b) == 0) { if (!(gBattleTypeFlags & 0x80)) - sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlePartyID[*b]], 0); + sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlerPartyIndexes[*b]], 0); } else { - sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlePartyID[*b]], 0); + sub_8045A5C(gHealthboxIDs[*b], &gEnemyParty[gBattlerPartyIndexes[*b]], 0); } sub_8043DB0(gHealthboxIDs[*b]); (*b)++; @@ -670,15 +670,15 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) } else { - r10 = GetBankIdentity(a); + r10 = GetBattlerPosition(a); if (GetBankSide(b) == 1) - species = GetMonData(&gEnemyParty[gBattlePartyID[b]], MON_DATA_SPECIES); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES); else - species = GetMonData(&gPlayerParty[gBattlePartyID[b]], MON_DATA_SPECIES); + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES); if (GetBankSide(a) == 0) { - personalityValue = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_PERSONALITY); - otId = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_OT_ID); + personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_PERSONALITY); + otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_OT_ID); HandleLoadSpecialPokePic( &gMonBackPicTable[species], gMonBackPicCoords[species].coords, @@ -690,8 +690,8 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) } else { - personalityValue = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_PERSONALITY); - otId = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_OT_ID); + personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_PERSONALITY); + otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_OT_ID); HandleLoadSpecialPokePic( &gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, @@ -739,7 +739,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) if (IsContest()) r4 = 0; else - r4 = GetBankIdentity(a); + r4 = GetBattlerPosition(a); if (IsContest()) LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); else if (GetBankSide(a) != 0) @@ -759,9 +759,9 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) if (!IsContest()) { if (GetBankSide(a) != 0) - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); else - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[a]], a); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[a]], a); } } } @@ -819,7 +819,7 @@ void HandleLowHpMusicChange(struct Pokemon *pkmn, u8 b) void BattleStopLowHpSound(void) { - u8 r4 = GetBankByIdentity(0); + u8 r4 = GetBattlerAtPosition(0); ewram17800[r4].unk0_1 = 0; if (IsDoubleBattle()) @@ -839,10 +839,10 @@ void sub_8032638(void) { if (gMain.inBattle) { - u8 r8 = GetBankByIdentity(0); - u8 r9 = GetBankByIdentity(2); - u8 r4 = pokemon_order_func(gBattlePartyID[r8]); - u8 r5 = pokemon_order_func(gBattlePartyID[r9]); + u8 r8 = GetBattlerAtPosition(0); + u8 r9 = GetBattlerAtPosition(2); + u8 r4 = pokemon_order_func(gBattlerPartyIndexes[r8]); + u8 r5 = pokemon_order_func(gBattlerPartyIndexes[r9]); if (GetMonData(&gPlayerParty[r4], MON_DATA_HP) != 0) HandleLowHpMusicChange(&gPlayerParty[r4], r8); @@ -881,12 +881,12 @@ void sub_80327CC(void) u8 r5; LoadCompressedObjectPic(&gUnknown_081FAF24); - r5 = GetBankByIdentity(1); + r5 = GetBattlerAtPosition(1); ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8); gSprites[ewram17810[r5].unk7].data[0] = r5; if (IsDoubleBattle()) { - r5 = GetBankByIdentity(3); + r5 = GetBattlerAtPosition(3); ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8); gSprites[ewram17810[r5].unk7].data[0] = r5; } diff --git a/src/battle/battle_9.c b/src/battle/battle_9.c index d9a1ee97e..c8bb89a0a 100755 --- a/src/battle/battle_9.c +++ b/src/battle/battle_9.c @@ -1,27 +1,863 @@ #include "global.h" #include "battle.h" +#include "battle_script_commands.h" +#include "data2.h" #include "ewram.h" #include "pokemon.h" #include "random.h" #include "rom_8077ABC.h" #include "rom3.h" +#include "util.h" #include "constants/abilities.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/species.h" +extern u8 gUnknown_02023A14_50; + +extern u8 gLastHitBy[]; extern u8 gActiveBattler; +extern u16 gBattleTypeFlags; +extern u8 gAbsentBattlerFlags; +extern s32 gBattleMoveDamage; +extern u8 gMoveResultFlags; +extern u16 gDynamicBasePower; +extern u8 gCritMultiplier; +extern u16 gBattlerPartyIndexes[]; +extern u16 gLastLandedMoves[]; +extern const u8 gTypeEffectiveness[]; +extern struct BattlePokemon gBattleMons[]; extern u32 gStatuses3[BATTLE_BANKS_COUNT]; +/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); +/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent); +/*static*/ bool8 ShouldUseItem(void); +/*static*/ u8 GetMostSuitableMonToSwitchInto(void); + + /*static*/ bool8 ShouldSwitchIfPerishSong(void) { if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { - ewram160C8arr(GetBankIdentity(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBankIdentity(gActiveBattler)] = 6; + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = 6; Emitcmd33(1, 2, 0); return TRUE; } return FALSE; } + +#ifdef NONMATCHING +/*static*/ bool8 ShouldSwitchIfWonderGuard(void) +{ + u8 opposingBank; + u8 moveFlags; + s32 i, j; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + return FALSE; + + if (gBattleMons[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)].ability != ABILITY_WONDER_GUARD) + return FALSE; + + // check if pokemon has a super effective move + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + for (i = 0; i < 4; i++) + { + u16 move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + return FALSE; + } + + // find a pokemon in the party that has a super effective move + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0 + || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE + || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG + || i == gBattlerPartyIndexes[gActiveBattler]) + continue; + + GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); // unused return value + GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY); // unused return value + + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + for (j = 0; j < 4; j++) + { + u16 move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && (Random() % 3) < 2) + { + // we found a mon + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + } + + return FALSE; // at this point there is not a single pokemon in the party that has a super effective move against a pokemon with wonder guard +} +#else +__attribute__((naked)) +/*static*/ bool8 ShouldSwitchIfWonderGuard(void) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + ldr r0, _0803606C @ =gBattleTypeFlags\n\ + ldrh r1, [r0]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080360A0\n\ + b _080361C8\n\ + .align 2, 0\n\ +_0803606C: .4byte gBattleTypeFlags\n\ +_08036070:\n\ + ldr r0, _08036094 @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + bl GetBattlerPosition\n\ + ldr r1, _08036098 @ =gSharedMem\n\ + lsls r0, 24\n\ + lsrs r0, 25\n\ + ldr r2, _0803609C @ =0x000160c8\n\ + adds r0, r2\n\ + adds r0, r1\n\ + strb r6, [r0]\n\ + movs r0, 0x1\n\ + movs r1, 0x2\n\ + movs r2, 0\n\ + bl Emitcmd33\n\ + movs r0, 0x1\n\ + b _080361CA\n\ + .align 2, 0\n\ +_08036094: .4byte gActiveBattler\n\ +_08036098: .4byte gSharedMem\n\ +_0803609C: .4byte 0x000160c8\n\ +_080360A0:\n\ + ldr r4, _080361D8 @ =gBattleMons\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + movs r1, 0x58\n\ + muls r0, r1\n\ + adds r0, r4\n\ + adds r0, 0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x19\n\ + beq _080360BC\n\ + b _080361C8\n\ +_080360BC:\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + movs r6, 0\n\ + adds r7, r4, 0\n\ + movs r5, 0x58\n\ + adds r0, r2, 0\n\ + muls r0, r5\n\ + adds r4, r0, r7\n\ + movs r3, 0x20\n\ + adds r3, r4\n\ + mov r8, r3\n\ +_080360D8:\n\ + lsls r1, r6, 1\n\ + ldr r0, _080361DC @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + muls r0, r5\n\ + adds r1, r0\n\ + adds r0, r7, 0\n\ + adds r0, 0xC\n\ + adds r1, r0\n\ + ldrh r0, [r1]\n\ + cmp r0, 0\n\ + beq _08036104\n\ + ldrh r1, [r4]\n\ + mov r3, r8\n\ + ldrb r2, [r3]\n\ + bl AI_TypeCalc\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + movs r0, 0x2\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + bne _080361C8\n\ +_08036104:\n\ + adds r6, 0x1\n\ + cmp r6, 0x3\n\ + ble _080360D8\n\ + movs r6, 0\n\ + ldr r0, _080361E0 @ =gEnemyParty\n\ + mov r9, r0\n\ +_08036110:\n\ + movs r0, 0x64\n\ + adds r5, r6, 0\n\ + muls r5, r0\n\ + mov r2, r9\n\ + adds r4, r5, r2\n\ + adds r0, r4, 0\n\ + movs r1, 0x39\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + movs r1, 0xCE\n\ + lsls r1, 1\n\ + cmp r0, r1\n\ + beq _080361C2\n\ + ldr r1, _080361E4 @ =gBattlerPartyIndexes\n\ + ldr r0, _080361DC @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + lsls r0, 1\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + cmp r6, r0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + adds r0, r4, 0\n\ + movs r1, 0x2E\n\ + bl GetMonData\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + movs r4, 0\n\ + mov r8, r5\n\ + ldr r1, _080361D8 @ =gBattleMons\n\ + movs r0, 0x58\n\ + muls r0, r2\n\ + adds r5, r0, r1\n\ + adds r7, r5, 0\n\ + adds r7, 0x20\n\ +_0803617C:\n\ + adds r1, r4, 0\n\ + adds r1, 0xD\n\ + mov r0, r8\n\ + add r0, r9\n\ + bl GetMonData\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0\n\ + beq _080361BC\n\ + ldrh r1, [r5]\n\ + ldrb r2, [r7]\n\ + bl AI_TypeCalc\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + movs r0, 0x2\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + beq _080361BC\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0x3\n\ + bl __umodsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _080361BC\n\ + b _08036070\n\ +_080361BC:\n\ + adds r4, 0x1\n\ + cmp r4, 0x3\n\ + ble _0803617C\n\ +_080361C2:\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _08036110\n\ +_080361C8:\n\ + movs r0, 0\n\ +_080361CA:\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .align 2, 0\n\ +_080361D8: .4byte gBattleMons\n\ +_080361DC: .4byte gActiveBattler\n\ +_080361E0: .4byte gEnemyParty\n\ +_080361E4: .4byte gBattlerPartyIndexes\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +/*static*/ bool8 FindMonThatAbsorbsOpponentsMove(void) +{ + u8 bankIn1, bankIn2; + u8 absorbingTypeAbility; + s32 i; + + if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + return FALSE; + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) + return FALSE; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + } + else + { + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) + absorbingTypeAbility = ABILITY_FLASH_FIRE; + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER) + absorbingTypeAbility = ABILITY_WATER_ABSORB; + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC) + absorbingTypeAbility = ABILITY_VOLT_ABSORB; + else + return FALSE; + + if (gBattleMons[gActiveBattler].ability == absorbingTypeAbility) + return FALSE; + + for (i = 0; i < 6; i++) + { + u16 species; + u8 monAbility; + + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[bankIn1]) + continue; + if (i == gBattlerPartyIndexes[bankIn2]) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) + monAbility = gBaseStats[species].ability2; + else + monAbility = gBaseStats[species].ability1; + + if (absorbingTypeAbility == monAbility && Random() & 1) + { + // we found a mon + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + + return FALSE; +} + +/*static*/ bool8 ShouldSwitchIfNaturalCure(void) +{ + if (!(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP)) + return FALSE; + if (gBattleMons[gActiveBattler].ability != ABILITY_NATURAL_CURE) + return FALSE; + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2) + return FALSE; + + if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1)) + return TRUE; + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1)) + return TRUE; + if (Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + + return FALSE; +} + +/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) +{ + u8 opposingBank; + s32 i; + u8 moveFlags; + u16 move; + + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + { + for (i = 0; i < 4; i++) + { + move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + { + if (noRng) + return TRUE; + if (Random() % 10 != 0) + return TRUE; + } + } + } + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + return FALSE; + + opposingBank = GetBattlerAtPosition(BATTLE_PARTNER(B_POSITION_PLAYER_LEFT)); + if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + { + for (i = 0; i < 4; i++) + { + move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + { + if (noRng) + return TRUE; + if (Random() % 10 != 0) + return TRUE; + } + } + } + + return FALSE; +} + +/*static*/ bool8 AreStatsRaised(void) +{ + u8 buffedStatsValue = 0; + s32 i; + + for (i = 0; i < BATTLE_STATS_NO; i++) + { + if (gBattleMons[gActiveBattler].statStages[i] > 6) + buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6; + } + + return (buffedStatsValue > 3); +} + +/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) +{ + u8 bankIn1, bankIn2; + s32 i, j; + u16 move; + u8 moveFlags; + + if (gLastLandedMoves[gActiveBattler] == 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + return FALSE; + if (gLastHitBy[gActiveBattler] == 0xFF) + return FALSE; + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) + return FALSE; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + } + else + { + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + for (i = 0; i < 6; i++) + { + u16 species; + u8 monAbility; + + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[bankIn1]) + continue; + if (i == gBattlerPartyIndexes[bankIn2]) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) + monAbility = gBaseStats[species].ability2; + else + monAbility = gBaseStats[species].ability1; + + moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility); + if (moveFlags & flags) + { + bankIn1 = gLastHitBy[gActiveBattler]; + + for (j = 0; j < 4; j++) + { + move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + if (move == 0) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + } + } + + return FALSE; +} + +/*static*/ bool8 ShouldSwitch(void) +{ + u8 bankIn1, bankIn2; + s32 i; + s32 availableToSwitch; + + if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + return FALSE; + if (gStatuses3[gActiveBattler] & STATUS3_ROOTED) + return FALSE; + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) + return FALSE; + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) + return FALSE; // misses the flying or levitate check + if (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MAGNET_PULL, 0, 0)) + { + if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL) + return FALSE; + if (gBattleMons[gActiveBattler].type2 == TYPE_STEEL) + return FALSE; + } + + availableToSwitch = 0; + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + } + else + { + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[bankIn1]) + continue; + if (i == gBattlerPartyIndexes[bankIn2]) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + availableToSwitch++; + } + + if (availableToSwitch == 0) + return FALSE; + if (ShouldSwitchIfPerishSong()) + return TRUE; + if (ShouldSwitchIfWonderGuard()) + return TRUE; + if (FindMonThatAbsorbsOpponentsMove()) + return TRUE; + if (ShouldSwitchIfNaturalCure()) + return TRUE; + if (HasSuperEffectiveMoveAgainstOpponents(FALSE)) + return FALSE; + if (AreStatsRaised()) + return FALSE; + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2) + || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) + return TRUE; + + return FALSE; +} + +void AI_TrySwitchOrUseItem(void) +{ + u8 bankIn1, bankIn2; + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (ShouldSwitch()) + { + if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6) + { + s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); + if (monToSwitchId == 6) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + { + bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + bankIn2 = bankIn1; + } + else + { + bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + bankIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + + for (monToSwitchId = 0; monToSwitchId < 6; monToSwitchId++) + { + if (GetMonData(&gEnemyParty[monToSwitchId], MON_DATA_HP) == 0) + continue; + if (monToSwitchId == gBattlerPartyIndexes[bankIn1]) + continue; + if (monToSwitchId == gBattlerPartyIndexes[bankIn2]) + continue; + if (monToSwitchId == ewram16068arr(bankIn1)) + continue; + if (monToSwitchId == ewram16068arr(bankIn2)) + continue; + + break; + } + } + + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = monToSwitchId; + } + + ewram16068arr(gActiveBattler) = ewram160C8arr(GetBattlerPosition(gActiveBattler)); + return; + } + else + { + #if DEBUG + if (!(gUnknown_02023A14_50 & 0x20) && ShouldUseItem()) + return; + #else + if (ShouldUseItem()) + return; + #endif + } + } + + Emitcmd33(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); +} + +/*static*/ void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var) +{ + s32 i = 0; + + 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) == attackType) + { + // check type1 + if (TYPE_EFFECT_DEF_TYPE(i) == defenseType1) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; + // check type2 + if (TYPE_EFFECT_DEF_TYPE(i) == defenseType2 && defenseType1 != defenseType2) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; + } + i += 3; + } +} + +u8 GetMostSuitableMonToSwitchInto(void) +{ + u8 opposingBank; + u8 bestDmg; // note : should be changed to s32 + u8 bestMonId; + u8 bankIn1, bankIn2; + s32 i, j; + u8 invalidMons; + u16 move; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + + // UB: It considers the opponent only player's side even though it can battle alongside player; + opposingBank = Random() & BIT_FLANK; + if (gAbsentBattlerFlags & gBitTable[opposingBank]) + opposingBank ^= BIT_FLANK; + } + else + { + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + invalidMons = 0; + + while (invalidMons != 0x3F) // all mons are invalid + { + bestDmg = 0; + bestMonId = 6; + // find the mon which type is the most suitable offensively + for (i = 0; i < 6; i++) + { + u16 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (species != SPECIES_NONE + && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0 + && !(gBitTable[i] & invalidMons) + && gBattlerPartyIndexes[bankIn1] != i + && gBattlerPartyIndexes[bankIn2] != i + && i != ewram16068arr(bankIn1) + && i != ewram16068arr(bankIn2)) + { + u8 type1 = gBaseStats[species].type1; + u8 type2 = gBaseStats[species].type2; + u8 typeDmg = 10; + ModulateByTypeEffectiveness(gBattleMons[opposingBank].type1, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBank].type2, type1, type2, &typeDmg); + if (bestDmg < typeDmg) + { + bestDmg = typeDmg; + bestMonId = i; + } + } + else + { + invalidMons |= gBitTable[i]; + } + } + + // ok, we know the mon has the right typing but does it have at least one super effective move? + if (bestMonId != 6) + { + for (i = 0; i < 4; i++) + { + move = GetMonData(&gEnemyParty[bestMonId], MON_DATA_MOVE1 + i); + if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE) + break; + } + + if (i != 4) + return bestMonId; // has both the typing and at least one super effective move + + invalidMons |= gBitTable[bestMonId]; // sorry buddy, we want something better + } + else + { + invalidMons = 0x3F; // no viable mon to switch + } + } + + gDynamicBasePower = 0; + gBattleStruct->dynamicMoveType = 0; + gBattleStruct->dmgMultiplier = 1; + gMoveResultFlags = 0; + gCritMultiplier = 1; + bestDmg = 0; + bestMonId = 6; + + // if we couldn't find the best mon in terms of typing, find the one that deals most damage + for (i = 0; i < 6; i++) + { + if ((u16)(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES)) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (gBattlerPartyIndexes[bankIn1] == i) + continue; + if (gBattlerPartyIndexes[bankIn2] == i) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + for (j = 0; j < 4; j++) + { + move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + gBattleMoveDamage = 0; + if (move != MOVE_NONE && gBattleMoves[move].power != 1) + { + AI_CalcDmg(gActiveBattler, opposingBank); + TypeCalc(move, gActiveBattler, opposingBank); + } + if (bestDmg < gBattleMoveDamage) + { + bestDmg = gBattleMoveDamage; + bestMonId = i; + } + } + } + + return bestMonId; +} diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index f285d2644..7b04446a0 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -18,18 +18,18 @@ extern u32 gUnknown_02023A14_4C; extern u16 gBattleTypeFlags; extern u16 gBattleWeather; extern u8 gActiveBattler; -extern u16 gBattlePartyID[MAX_BANKS_BATTLE]; +extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern u16 gCurrentMove; extern int gBattleMoveDamage; extern u8 gBankAttacker; extern u8 gBankTarget; -extern u8 gAbsentBankFlags; -extern u8 gBattleMoveFlags; +extern u8 gAbsentBattlerFlags; +extern u8 gMoveResultFlags; extern u16 gDynamicBasePower; -extern u16 gLastUsedMove[MAX_BANKS_BATTLE]; -extern u32 gStatuses3[MAX_BANKS_BATTLE]; +extern u16 gLastUsedMove[MAX_BATTLERS_COUNT]; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; extern u16 gSideAffecting[2]; -extern struct BattlePokemon gBattleMons[MAX_BANKS_BATTLE]; +extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; extern u8 gCritMultiplier; extern u16 gTrainerBattleOpponent; extern u8 *BattleAIs[]; @@ -324,7 +324,7 @@ void BattleAI_SetupAIData(void) { gBankTarget = Random() & 2; // just pick somebody to target. - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) gBankTarget ^= 2; } else @@ -465,13 +465,13 @@ void unref_sub_81074A0(u8 a) void RecordAbilityBattle(u8 a, u8 b) { if (GetBankSide(a) == 0) - UNK_2016A00_STRUCT->unk20[GetBankIdentity(a) & 1] = b; + UNK_2016A00_STRUCT->unk20[GetBattlerPosition(a) & 1] = b; } void RecordItemBattle(u8 a, u8 b) { if (GetBankSide(a) == 0) - UNK_2016A00_STRUCT->unk22[GetBankIdentity(a) & 1] = b; + UNK_2016A00_STRUCT->unk22[GetBattlerPosition(a) & 1] = b; } static void BattleAICmd_if_random_less_than(void) @@ -694,7 +694,7 @@ static void BattleAICmd_if_status4(void) else index = gBankTarget; - arg1 = GetBankIdentity(index) & 1; + arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) != 0) @@ -713,7 +713,7 @@ static void BattleAICmd_if_not_status4(void) else index = gBankTarget; - arg1 = GetBankIdentity(index) & 1; + arg1 = GetBattlerPosition(index) & 1; arg2 = T1_READ_32(gAIScriptPtr + 2); if ((gSideAffecting[arg1] & arg2) == 0) @@ -961,7 +961,7 @@ static void BattleAICmd_is_most_powerful_move(void) gDynamicBasePower = 0; eDynamicMoveType = 0; eDmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; for (i = 0; i < MAX_MON_MOVES; i++) @@ -1072,7 +1072,7 @@ _08108250:\n\ adds r0, r5, r2\n\ movs r2, 0x1\n\ strb r2, [r0]\n\ - ldr r0, _08108340 @ =gBattleMoveFlags\n\ + ldr r0, _08108340 @ =gMoveResultFlags\n\ strb r1, [r0]\n\ ldr r0, _08108344 @ =gCritMultiplier\n\ strb r2, [r0]\n\ @@ -1177,7 +1177,7 @@ _08108330: .4byte gBattleMoves\n\ _08108334: .4byte gSharedMem + 0x16800\n\ _08108338: .4byte gDynamicBasePower\n\ _0810833C: .4byte 0xfffff81c\n\ -_08108340: .4byte gBattleMoveFlags\n\ +_08108340: .4byte gMoveResultFlags\n\ _08108344: .4byte gCritMultiplier\n\ _08108348: .4byte gBattleMons\n\ _0810834C: .4byte gBankAttacker\n\ @@ -1325,14 +1325,14 @@ static void BattleAICmd_count_alive_pokemon(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u32 status; - var = gBattlePartyID[index]; - status = GetBankIdentity(index) ^ 2; - var2 = gBattlePartyID[GetBankByIdentity(status)]; + var = gBattlerPartyIndexes[index]; + status = GetBattlerPosition(index) ^ 2; + var2 = gBattlerPartyIndexes[GetBattlerAtPosition(status)]; } else { - var = gBattlePartyID[index]; - var2 = gBattlePartyID[index]; + var = gBattlerPartyIndexes[index]; + var2 = gBattlerPartyIndexes[index]; } for (i = 0; i < 6; i++) @@ -1372,7 +1372,7 @@ static void BattleAICmd_get_ability(void) if (GetBankSide(index) == TARGET) { - u16 unk = GetBankIdentity(index) & 1; + u16 unk = GetBattlerPosition(index) & 1; if (UNK_2016A00_STRUCT->unk20[unk] != 0) { @@ -1430,7 +1430,7 @@ static void BattleAICmd_get_highest_possible_damage(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; AI_THINKING_STRUCT->funcResult = 0; @@ -1453,7 +1453,7 @@ static void BattleAICmd_get_highest_possible_damage(void) if (gBattleMoveDamage == 15) gBattleMoveDamage = 10; - if (gBattleMoveFlags & 8) // if it's a status move, it wont do anything. + if (gMoveResultFlags & 8) // if it's a status move, it wont do anything. gBattleMoveDamage = 0; if (AI_THINKING_STRUCT->funcResult < gBattleMoveDamage) @@ -1470,7 +1470,7 @@ static void BattleAICmd_if_damage_bonus(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gBattleMoveDamage = 40; @@ -1487,7 +1487,7 @@ static void BattleAICmd_if_damage_bonus(void) if (gBattleMoveDamage == 15) gBattleMoveDamage = 10; - if (gBattleMoveFlags & 8) + if (gMoveResultFlags & 8) gBattleMoveDamage = 0; // store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8. @@ -1677,7 +1677,7 @@ static void BattleAICmd_if_can_faint(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; AI_CalcDmg(gBankAttacker, gBankTarget); @@ -1706,7 +1706,7 @@ static void BattleAICmd_if_cant_faint(void) gDynamicBasePower = 0; gBattleStruct->dynamicMoveType = 0; gBattleStruct->dmgMultiplier = 1; - gBattleMoveFlags = 0; + gMoveResultFlags = 0; gCritMultiplier = 1; gCurrentMove = AI_THINKING_STRUCT->moveConsidered; AI_CalcDmg(gBankAttacker, gBankTarget); @@ -1938,7 +1938,7 @@ static void BattleAICmd_get_hold_effect(void) if (GetBankSide(index) == 0) { - status = (GetBankIdentity(index) & 1); + status = (GetBattlerPosition(index) & 1); AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk22[status]; } else diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 03ce1798f..90fff11ee 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -1287,7 +1287,7 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = &gBattleAnimBackgroundImage_04, &gBattleAnimBackgroundPalette_24, &gBattleAnimBackgroundTilemap_06, }; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern u8 gBankSpriteIds[]; extern u8 gBankAttacker; extern u8 gBankTarget; @@ -1491,9 +1491,9 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim) for (i = 0; i < 4; i++) { if (GetBankSide(i) != 0) - gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_SPECIES); + gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else - gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_SPECIES); + gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); } } else @@ -1829,7 +1829,7 @@ static void ScriptCmd_monbg(void) if (IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) toBG_2 = 0; @@ -1861,7 +1861,7 @@ static void ScriptCmd_monbg(void) bank ^= 2; if (animBank >= ANIM_BANK_ATK_PARTNER && IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) toBG_2 = 0; @@ -1947,7 +1947,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) if (IsContest() != 0) r2 = 0; else - r2 = GetBankIdentity(bank); + r2 = GetBattlerPosition(bank); sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock); if (IsContest() != 0) sub_8076380(); @@ -1976,7 +1976,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) LoadPalette(gPlttBufferUnfaded + 0x100 + bank * 16, 0x90, 32); DmaCopy32Defvars(3, gPlttBufferUnfaded + 0x100 + bank * 16, (void *)(PLTT + 0x120), 32); - sub_80E4EF8(0, 0, GetBankIdentity(bank), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); + sub_80E4EF8(0, 0, GetBattlerPosition(bank), 9, 0x6000, 0x1E, REG_BG2CNT_BITFIELD.charBaseBlock); } } @@ -2119,7 +2119,7 @@ static void sub_807672C(u8 taskId) gTasks[taskId].data[1]++; if (gTasks[taskId].data[1] != 1) { - identity = GetBankIdentity(gTasks[taskId].data[2]); + identity = GetBattlerPosition(gTasks[taskId].data[2]); identity += 0xFF; if (identity <= 1 || IsContest() != 0) to_BG2 = 0; @@ -2163,7 +2163,7 @@ static void ScriptCmd_monbg_22(void) if (IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) r1 = 0; @@ -2176,7 +2176,7 @@ static void ScriptCmd_monbg_22(void) bank ^= 2; if (animBankId > ANIM_BANK_TARGET && IsAnimBankSpriteVisible(bank)) { - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) r1 = 0; @@ -2231,7 +2231,7 @@ static void sub_80769A4(u8 taskId) if (gTasks[taskId].data[1] != 1) { bank = gTasks[taskId].data[2]; - identity = GetBankIdentity(bank); + identity = GetBattlerPosition(bank); identity += 0xFF; if (identity <= 1 || IsContest() != 0) toBG_2 = 0; @@ -3052,7 +3052,7 @@ static void ScriptCmd_monbgprio_28(void) else bank = gAnimBankAttacker; - bankIdentity = GetBankIdentity(bank); + bankIdentity = GetBattlerPosition(bank); if (!IsContest() && (bankIdentity == 0 || bankIdentity == 3)) { REG_BG1CNT_BITFIELD.priority = 1; @@ -3084,7 +3084,7 @@ static void ScriptCmd_monbgprio_2A(void) bank = gAnimBankTarget; else bank = gAnimBankAttacker; - bankIdentity = GetBankIdentity(bank); + bankIdentity = GetBattlerPosition(bank); if (!IsContest() && (bankIdentity == 0 || bankIdentity == 3)) { REG_BG1CNT_BITFIELD.priority = 1; @@ -3128,12 +3128,12 @@ static void ScriptCmd_doublebattle_2D(void) { if (wantedBank == 0) { - r4 = GetBankIdentity_permutated(gAnimBankAttacker); + r4 = GetBattlerPosition_permutated(gAnimBankAttacker); spriteId = GetAnimBankSpriteId(0); } else { - r4 = GetBankIdentity_permutated(gAnimBankTarget); + r4 = GetBattlerPosition_permutated(gAnimBankTarget); spriteId = GetAnimBankSpriteId(1); } if (spriteId != 0xFF) @@ -3162,12 +3162,12 @@ static void ScriptCmd_doublebattle_2E(void) { if (wantedBank == 0) { - r4 = GetBankIdentity_permutated(gAnimBankAttacker); + r4 = GetBattlerPosition_permutated(gAnimBankAttacker); spriteId = GetAnimBankSpriteId(0); } else { - r4 = GetBankIdentity_permutated(gAnimBankTarget); + r4 = GetBattlerPosition_permutated(gAnimBankTarget); spriteId = GetAnimBankSpriteId(1); } if (spriteId != 0xFF && r4 == 2) diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index a8b0ec329..15191a1ce 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -182,17 +182,17 @@ void AnimTask_ShakeMon2(u8 taskId) switch (gBattleAnimArgs[0]) { case 4: - side = GetBankByIdentity(0); + side = GetBattlerAtPosition(0); break; case 5: - side = GetBankByIdentity(2); + side = GetBattlerAtPosition(2); break; case 6: - side = GetBankByIdentity(1); + side = GetBattlerAtPosition(1); break; case 7: default: - side = GetBankByIdentity(3); + side = GetBattlerAtPosition(3); break; } @@ -427,7 +427,7 @@ static void sub_80A8488(u8 taskId) // arg 4: speed (valid values are 0-5) void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) { - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; AnimTask_TranslateMonElliptical(taskId); @@ -440,7 +440,7 @@ void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) static void DoHorizontalLunge(struct Sprite *sprite) { sprite->invisible = TRUE; - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) sprite->data[1] = -gBattleAnimArgs[1]; else sprite->data[1] = gBattleAnimArgs[1]; @@ -572,7 +572,7 @@ static void SlideMonToOffset(struct Sprite *sprite) battler = gAnimBankTarget; monSpriteId = gBankSpriteIds[battler]; - if (GetBankSide(battler) != SIDE_PLAYER) + if (GetBankSide(battler) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -659,7 +659,7 @@ static void sub_80A88F0(struct Sprite *sprite) void AnimTask_WindUpLunge(u8 taskId) { s16 wavePeriod = 0x8000 / gBattleAnimArgs[3]; - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[5] = -gBattleAnimArgs[5]; @@ -774,7 +774,7 @@ static void sub_80A8B3C(u8 taskId) void AnimTask_SwayMon(u8 taskId) { u8 spriteId; - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]); @@ -812,7 +812,7 @@ static void AnimTask_SwayMonStep(u8 taskId) } else { - if (GetBankSide(TASK.data[5]) == SIDE_PLAYER) + if (GetBankSide(TASK.data[5]) == B_SIDE_PLAYER) { gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue; } diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index f1cb34bdf..b1e711b05 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -28,7 +28,7 @@ struct MovePpInfo extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; extern u8 gBankSpriteIds[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; extern u8 gBattleMonForms[]; @@ -57,7 +57,7 @@ extern struct MusicPlayerInfo gMPlay_BGM; extern u8 sub_8077F68(); extern u8 sub_8079E90(); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void BattleLoadOpponentMonSprite(struct Pokemon *, u8); extern void sub_8037A74(void); extern void sub_8032984(u8, u16); @@ -311,7 +311,7 @@ void sub_8037680(void) if (r6) { - if (GetBankIdentity(gActiveBattler) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) { if (!ewram17810[gActiveBattler].unk1_0 || !ewram17810[gActiveBattler ^ 2].unk1_0) return; @@ -324,7 +324,7 @@ void sub_8037680(void) } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBattler) == 1) + if (GetBattlerPosition(gActiveBattler) == 1) m4aMPlayContinue(&gMPlay_BGM); } else @@ -339,12 +339,12 @@ void sub_8037680(void) void sub_8037840(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) - sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]]); + sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { - if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBankIdentity(gActiveBattler) == 3) + if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(gActiveBattler) == 3) { if (++ewram17810[gActiveBattler].unk9 == 1) return; @@ -355,24 +355,24 @@ void sub_8037840(void) DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( gHealthboxIDs[gActiveBattler ^ 2], - &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); sub_8032984( gActiveBattler ^ 2, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], MON_DATA_SPECIES)); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( gHealthboxIDs[gActiveBattler], - &gEnemyParty[gBattlePartyID[gActiveBattler]], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8032984( gActiveBattler, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; gBattleBankFunc[gActiveBattler] = sub_8037680; @@ -386,7 +386,7 @@ void sub_8037A74(void) { if (!ewram17810[gActiveBattler].unk0_7) { - sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); return; } if (ewram17810[gActiveBattler].unk1_0) @@ -488,7 +488,7 @@ void sub_8037D64(void) StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); sub_8045A5C( gHealthboxIDs[gActiveBattler], - &gEnemyParty[gBattlePartyID[gActiveBattler]], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); @@ -500,12 +500,12 @@ void sub_8037D64(void) void sub_8037E30(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy && !ewram17810[gActiveBattler].unk0_3) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); gBattleBankFunc[gActiveBattler] = sub_8037D64; } } @@ -577,7 +577,7 @@ void LinkOpponentHandleGetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlePartyID[gActiveBattler], buffer); + r6 = dp01_getattr_by_ch1_for_player_pokemon__(gBattlerPartyIndexes[gActiveBattler], buffer); } else { @@ -907,7 +907,7 @@ void LinkOpponentHandleSetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8038900(gBattlePartyID[gActiveBattler]); + sub_8038900(gBattlerPartyIndexes[gActiveBattler]); } else { @@ -1143,7 +1143,7 @@ void LinkOpponentHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], + MEMSET_ALT(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); LinkOpponentBufferExecCompleted(); @@ -1151,10 +1151,10 @@ void LinkOpponentHandlecmd3(void) void LinkOpponentHandleLoadPokeSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBattler]], gActiveBattler); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBattler)); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(gActiveBattler, 2), @@ -1164,13 +1164,13 @@ void LinkOpponentHandleLoadPokeSprite(void) gSprites[gBankSpriteIds[gActiveBattler]].data[0] = gActiveBattler; gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); - sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); gBattleBankFunc[gActiveBattler] = sub_8037A74; } void LinkOpponentHandleSendOutPoke(void) { - gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; sub_8039430(gActiveBattler, gBattleBufferA[gActiveBattler][2]); gBattleBankFunc[gActiveBattler] = sub_8037E30; } @@ -1180,11 +1180,11 @@ void sub_8039430(u8 a, u8 b) u16 species; sub_8032AA8(a, b); - gBattlePartyID[a] = gBattleBufferA[a][1]; - species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES); + gBattlerPartyIndexes[a] = gBattleBufferA[a][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(a, 2), @@ -1244,7 +1244,7 @@ void LinkOpponentHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBattler) & 2) + if (GetBattlerPosition(gActiveBattler) & 2) xOffset = -16; else xOffset = 16; @@ -1256,7 +1256,7 @@ void LinkOpponentHandleTrainerThrow(void) gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender; } sub_8031A6C(gender, gActiveBattler); - GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 176 + xOffset, 40 + 4 * (8 - gTrainerFrontPicCoords[gender].coords), @@ -1460,14 +1460,14 @@ void LinkOpponentHandleHealthBarUpdate(void) r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } @@ -1483,7 +1483,7 @@ void LinkOpponentHandleStatusIconUpdate(void) { if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlePartyID[gActiveBattler]], 9); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; gBattleBankFunc[gActiveBattler] = sub_8037FAC; } @@ -1613,7 +1613,7 @@ void LinkOpponentHandlecmd44(void) void LinkOpponentHandleFaintingCry(void) { PlayCry3( - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25, 5); LinkOpponentBufferExecCompleted(); } @@ -1651,15 +1651,15 @@ void sub_803A2C4(u8 taskId) gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_8039430(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_8039430(gActiveBattler, 0); gActiveBattler ^= 2; - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_8039430(gActiveBattler, 0); gActiveBattler ^= 2; } diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 29c1b7235..9d0181336 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -34,7 +34,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gBattleBufferA[][0x200]; extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankSpriteIds[]; extern u8 gBattleOutcome; extern u16 gUnknown_02024DE8; @@ -322,12 +322,12 @@ void sub_811DCA0(void) if (IsDoubleBattle() && !(gBattleTypeFlags & 0x40)) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); (s8)ewram17810[4].unk9 &= ~1; @@ -355,7 +355,7 @@ void bx_t3_healthbar_update(void) } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); LinkPartnerBufferExecCompleted(); } } @@ -364,7 +364,7 @@ void sub_811DE98(void) { if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > 160) { - nullsub_9(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + nullsub_9(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); DestroySprite(&gSprites[gBankSpriteIds[gActiveBattler]]); sub_8043DB0(gHealthboxIDs[gActiveBattler]); @@ -434,9 +434,9 @@ void sub_811E0CC(void) FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8031F88(gActiveBattler); @@ -447,7 +447,7 @@ void sub_811E0CC(void) void sub_811E1BC(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy && !ewram17810[gActiveBattler].unk0_3) { @@ -523,7 +523,7 @@ void LinkPartnerHandleGetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBattler], unk); + r6 = dp01_getattr_by_ch1_for_player_pokemon(gBattlerPartyIndexes[gActiveBattler], unk); } else { @@ -854,7 +854,7 @@ void LinkPartnerHandleSetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_811EC68(gBattlePartyID[gActiveBattler]); + sub_811EC68(gBattlerPartyIndexes[gActiveBattler]); } else { @@ -1084,7 +1084,7 @@ void sub_811EC68(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } void LinkPartnerHandlecmd3(void) @@ -1092,7 +1092,7 @@ void LinkPartnerHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], + MEMSET_ALT(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); LinkPartnerBufferExecCompleted(); @@ -1100,10 +1100,10 @@ void LinkPartnerHandlecmd3(void) void LinkPartnerHandleLoadPokeSprite(void) { - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); GetMonSpriteTemplate_803C56C( - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), - GetBankIdentity(gActiveBattler)); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), + GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(gActiveBattler, 2), @@ -1119,8 +1119,8 @@ void LinkPartnerHandleLoadPokeSprite(void) void LinkPartnerHandleSendOutPoke(void) { sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]); - gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); sub_811F864(gActiveBattler, gBattleBufferA[gActiveBattler][2]); gBattleBankFunc[gActiveBattler] = sub_811E1BC; } @@ -1130,10 +1130,10 @@ void sub_811F864(u8 a, u8 b) u16 species; sub_8032AA8(a, b); - gBattlePartyID[a] = gBattleBufferA[a][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_SPECIES); + gBattlerPartyIndexes[a] = gBattleBufferA[a][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(a, 2), @@ -1192,7 +1192,7 @@ void LinkPartnerHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBattler) & 2) + if (GetBattlerPosition(gActiveBattler) & 2) xOffset = 16; else xOffset = -16; @@ -1204,7 +1204,7 @@ void LinkPartnerHandleTrainerThrow(void) gender = gLinkPlayers[GetMultiplayerId() ^ 1].gender; } LoadPlayerTrainerBankSprite(gender, gActiveBattler); - GetMonSpriteTemplate_803C5A0(gender, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(gender, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80 + xOffset, 80 + 4 * (8 - gTrainerBackPicCoords[gender].coords), @@ -1243,7 +1243,7 @@ void LinkPartnerHandlecmd10(void) else if (!ewram17810[gActiveBattler].unk0_6) { ewram17810[gActiveBattler].unk4 = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; @@ -1405,14 +1405,14 @@ void LinkPartnerHandleHealthBarUpdate(void) r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } @@ -1428,7 +1428,7 @@ void LinkPartnerHandleStatusIconUpdate(void) { if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 9); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; gBattleBankFunc[gActiveBattler] = sub_811E38C; } @@ -1558,7 +1558,7 @@ void LinkPartnerHandlecmd44(void) void LinkPartnerHandleFaintingCry(void) { PlayCry3( - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), -25, 5); LinkPartnerBufferExecCompleted(); } @@ -1610,16 +1610,16 @@ void sub_812071C(u8 taskId) gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_811F864(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_811F864(gActiveBattler, 0); gActiveBattler ^= 2; - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); sub_811F864(gActiveBattler, 0); gActiveBattler ^= 2; } diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 16b324f01..c87ffaf92 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -33,7 +33,7 @@ struct MovePpInfo extern u8 gUnknown_02023A14_50; extern u8 gActiveBattler; extern u8 gBattleBufferA[][0x200]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankSpriteIds[]; extern u8 gBattleMonForms[]; extern struct SpriteTemplate gUnknown_02024E8C; @@ -55,7 +55,7 @@ extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_X; extern u8 gDisplayedStringBattle[]; extern u8 gBankTarget; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern bool8 gDoingBattleAnim; extern u16 gUnknown_02024DE8; extern u8 gUnknown_02024E68[]; @@ -71,7 +71,7 @@ extern u8 sub_8077F68(); extern u8 sub_8079E90(); extern void sub_8033018(void); extern void BattleLoadOpponentMonSprite(); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void sub_8032984(u8, u16); extern void sub_80333D4(void); extern void sub_80312F0(struct Sprite *); @@ -98,9 +98,9 @@ extern void sub_8031F24(void); extern void sub_80324BC(); extern void BufferStringBattle(); extern void sub_80331D0(void); -extern void sub_8036B0C(void); -extern u8 GetBankByIdentity(u8); -extern u8 sub_8036CD4(void); +extern void AI_TrySwitchOrUseItem(void); +extern u8 GetBattlerAtPosition(u8); +extern u8 GetMostSuitableMonToSwitchInto(void); extern void sub_80330C8(void); extern void sub_8043D84(); extern void sub_8045A5C(); @@ -350,9 +350,9 @@ void sub_8032C88(void) void sub_8032E2C(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) - sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]]); + sub_8141828(gActiveBattler ^ 2, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) @@ -360,24 +360,24 @@ void sub_8032E2C(void) DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( gHealthboxIDs[gActiveBattler ^ 2], - &gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); sub_8032984( gActiveBattler ^ 2, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler ^ 2]], MON_DATA_SPECIES)); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], MON_DATA_SPECIES)); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( gHealthboxIDs[gActiveBattler], - &gEnemyParty[gBattlePartyID[gActiveBattler]], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8032984( gActiveBattler, - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); ewram17840.unk9_0 = 0; gBattleBankFunc[gActiveBattler] = sub_8032C88; @@ -391,7 +391,7 @@ void sub_8033018(void) { if (!ewram17810[gActiveBattler].unk0_7) { - sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); return; } if (ewram17810[gActiveBattler].unk1_0) @@ -493,7 +493,7 @@ void sub_8033308(void) StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], 0); sub_8045A5C( gHealthboxIDs[gActiveBattler], - &gEnemyParty[gBattlePartyID[gActiveBattler]], + &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); @@ -505,12 +505,12 @@ void sub_8033308(void) void sub_80333D4(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gEnemyParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy && !ewram17810[gActiveBattler].unk0_3) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); gBattleBankFunc[gActiveBattler] = sub_8033308; } } @@ -541,7 +541,7 @@ void OpponentHandleGetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = sub_8033598(gBattlePartyID[gActiveBattler], buffer); + r6 = sub_8033598(gBattlerPartyIndexes[gActiveBattler], buffer); } else { @@ -864,7 +864,7 @@ void OpponentHandlecmd1(void) struct BattlePokemon buffer; u8 i; // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. - u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; + u8 *src = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 *dst; MEMSET_ALT(&buffer + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); @@ -879,7 +879,7 @@ void OpponentHandleSetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8033E24(gBattlePartyID[gActiveBattler]); + sub_8033E24(gBattlerPartyIndexes[gActiveBattler]); } else { @@ -1115,17 +1115,17 @@ void OpponentHandlecmd3(void) u8 *dst; u8 i; - MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], + MEMSET_ALT(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); OpponentBufferExecCompleted(); } void OpponentHandleLoadPokeSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[gActiveBattler]], gActiveBattler); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(gActiveBattler)); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(gActiveBattler, 2), @@ -1136,13 +1136,13 @@ void OpponentHandleLoadPokeSprite(void) gSprites[gBankSpriteIds[gActiveBattler]].data[2] = species; gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; StartSpriteAnim(&gSprites[gBankSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); - sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES)); + sub_8032984(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); gBattleBankFunc[gActiveBattler] = sub_8033018; } void OpponentHandleSendOutPoke(void) { - gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; sub_803495C(gActiveBattler, gBattleBufferA[gActiveBattler][2]); gBattleBankFunc[gActiveBattler] = sub_80333D4; @@ -1153,11 +1153,11 @@ void sub_803495C(u8 a, u8 b) u16 species; sub_8032AA8(a, b); - gBattlePartyID[a] = gBattleBufferA[a][1]; - species = GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_SPECIES); + gBattlerPartyIndexes[a] = gBattleBufferA[a][1]; + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_SPECIES); gUnknown_0300434C[a] = CreateInvisibleSpriteWithCallback(sub_80312F0); - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(a)); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(a, 2), @@ -1233,7 +1233,7 @@ void OpponentHandleTrainerThrow(void) } sub_8031A6C(trainerPicIndex, gActiveBattler); - GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, @@ -1263,7 +1263,7 @@ void OpponentHandleTrainerSlide(void) trainerPicIndex = gTrainers[gTrainerBattleOpponent].trainerPic; sub_8031A6C(trainerPicIndex, gActiveBattler); - GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(trainerPicIndex, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 0xB0, @@ -1428,7 +1428,7 @@ void OpponentHandlePrintStringPlayerOnly(void) void OpponentHandlecmd18(void) { - sub_8036B0C(); + AI_TrySwitchOrUseItem(); OpponentBufferExecCompleted(); } @@ -1543,7 +1543,7 @@ void OpponentHandlecmd20(void) bne ._557 @cond_branch\n\ mov r1, sl\n\ ldrb r0, [r1]\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ mov r1, #0x2\n\ eor r0, r0, r1\n\ lsl r0, r0, #0x18\n\ @@ -1564,7 +1564,7 @@ void OpponentHandlecmd20(void) ._557:\n\ mov r0, #0x0\n\ ._558:\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ lsl r0, r0, #0x18\n\ lsr r0, r0, #0x18\n\ ._561:\n\ @@ -1635,10 +1635,10 @@ void OpponentHandlecmd20(void) cmp r0, #0\n\ beq ._572 @cond_branch\n\ mov r0, #0x0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r5, ._574 + 4 @ gBankTarget\n\ strb r0, [r5]\n\ - ldr r0, ._574 + 8 @ gAbsentBankFlags\n\ + ldr r0, ._574 + 8 @ gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, ._574 + 12 @ gBitTable\n\ ldrb r0, [r5]\n\ @@ -1649,7 +1649,7 @@ void OpponentHandlecmd20(void) cmp r1, #0\n\ beq ._572 @cond_branch\n\ mov r0, #0x2\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ strb r0, [r5]\n\ ._572:\n\ ldr r0, ._574 + 4 @ gBankTarget\n\ @@ -1665,7 +1665,7 @@ void OpponentHandlecmd20(void) ._574:\n\ .word gBattleMoves\n\ .word gBankTarget\n\ - .word gAbsentBankFlags\n\ + .word gAbsentBattlerFlags\n\ .word gBitTable\n\ ._563:\n\ mov r6, #0x3\n\ @@ -1710,7 +1710,7 @@ void OpponentHandlecmd20(void) lsl r1, r1, #0x18\n\ lsr r1, r1, #0x18\n\ add r0, r1, #0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ add r2, r0, #0\n\ lsl r2, r2, #0x18\n\ lsr r2, r2, #0x10\n\ @@ -1726,7 +1726,7 @@ void OpponentHandlecmd20(void) .word gBattleTypeFlags\n\ ._581:\n\ mov r0, #0x0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ add r2, r0, #0\n\ lsl r2, r2, #0x18\n\ lsr r2, r2, #0x10\n\ @@ -1770,9 +1770,9 @@ void OpponentHandlecmd20(void) gBankTarget = gActiveBattler; if (gBattleMoves[r5->moves[r4]].target & 8) { - gBankTarget = GetBankByIdentity(0); - if (gAbsentBankFlags & gBitTable[gBankTarget]) - gBankTarget = GetBankByIdentity(2); + gBankTarget = GetBattlerAtPosition(0); + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) + gBankTarget = GetBattlerAtPosition(2); } r4 |= gBankTarget << 8; Emitcmd33(1, 10, r4); @@ -1798,13 +1798,13 @@ void OpponentHandlecmd20(void) } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - u16 r2 = GetBankByIdentity(Random() & 2) << 8; + u16 r2 = GetBattlerAtPosition(Random() & 2) << 8; Emitcmd33(1, 10, r4 | r2); } else { - u16 r2 = GetBankByIdentity(0) << 8; + u16 r2 = GetBattlerAtPosition(0) << 8; Emitcmd33(1, 10, r4 | r2); } @@ -1880,10 +1880,10 @@ _08035494:\n\ cmp r0, 0\n\ beq _080354CE\n\ movs r0, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ ldr r5, _080354EC @ =gBankTarget\n\ strb r0, [r5]\n\ - ldr r0, _080354F0 @ =gAbsentBankFlags\n\ + ldr r0, _080354F0 @ =gAbsentBattlerFlags\n\ ldrb r1, [r0]\n\ ldr r2, _080354F4 @ =gBitTable\n\ ldrb r0, [r5]\n\ @@ -1894,7 +1894,7 @@ _08035494:\n\ cmp r1, 0\n\ beq _080354CE\n\ movs r0, 0x2\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ strb r0, [r5]\n\ _080354CE:\n\ ldr r0, _080354EC @ =gBankTarget\n\ @@ -1911,7 +1911,7 @@ _080354E0:\n\ .align 2, 0\n\ _080354E8: .4byte gBattleMoves\n\ _080354EC: .4byte gBankTarget\n\ -_080354F0: .4byte gAbsentBankFlags\n\ +_080354F0: .4byte gAbsentBattlerFlags\n\ _080354F4: .4byte gBitTable\n\ _080354F8:\n\ movs r6, 0x3\n\ @@ -1959,7 +1959,7 @@ _0803553C:\n\ lsls r1, 24\n\ lsrs r1, 24\n\ adds r0, r1, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ adds r2, r0, 0\n\ lsls r2, 24\n\ lsrs r2, 16\n\ @@ -1972,7 +1972,7 @@ _0803553C:\n\ _0803556C: .4byte gBattleTypeFlags\n\ _08035570:\n\ movs r0, 0\n\ - bl GetBankByIdentity\n\ + bl GetBattlerAtPosition\n\ adds r2, r0, 0\n\ lsls r2, 24\n\ lsrs r2, 16\n\ @@ -2002,37 +2002,37 @@ void OpponentHandlecmd22(void) { s32 r4; - if (ewram160C8arr(GetBankIdentity(gActiveBattler)) == 6) + if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6) { u8 r6; u8 r5; - r4 = sub_8036CD4(); + r4 = GetMostSuitableMonToSwitchInto(); if (r4 == 6) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - r5 = GetBankByIdentity(1); + r5 = GetBattlerAtPosition(1); r6 = r5; } else { - r6 = GetBankByIdentity(1); - r5 = GetBankByIdentity(3); + r6 = GetBattlerAtPosition(1); + r5 = GetBattlerAtPosition(3); } for (r4 = 0; r4 < 6; r4++) { if (GetMonData(&gEnemyParty[r4], MON_DATA_HP) != 0 - && r4 != gBattlePartyID[r6] - && r4 != gBattlePartyID[r5]) + && r4 != gBattlerPartyIndexes[r6] + && r4 != gBattlerPartyIndexes[r5]) break; } } } else { - r4 = ewram160C8arr(GetBankIdentity(gActiveBattler)); - ewram160C8arr(GetBankIdentity(gActiveBattler)) = 6; + r4 = ewram160C8arr(GetBattlerPosition(gActiveBattler)); + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; } ewram16068arr(gActiveBattler) = r4; Emitcmd34(1, r4, 0); @@ -2052,14 +2052,14 @@ void OpponentHandleHealthBarUpdate(void) r7 = (gBattleBufferA[gActiveBattler][3] << 8) | gBattleBufferA[gActiveBattler][2]; if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - u32 hp = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 hp = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, hp, r7); } else { - u32 maxHP = GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); } @@ -2075,7 +2075,7 @@ void OpponentHandleStatusIconUpdate(void) { if (mplay_80342A4(gActiveBattler) == 0) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlePartyID[gActiveBattler]], 9); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; gBattleBankFunc[gActiveBattler] = sub_8033494; } @@ -2205,7 +2205,7 @@ void OpponentHandlecmd44(void) void OpponentHandleFaintingCry(void) { PlayCry3( - GetMonData(&gEnemyParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25, 5); OpponentBufferExecCompleted(); } @@ -2251,15 +2251,15 @@ void sub_8035C44(u8 taskId) gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_803495C(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_803495C(gActiveBattler, 0); gActiveBattler ^= 2; - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_803495C(gActiveBattler, 0); gActiveBattler ^= 2; } diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index d2d87bcce..83171a0e9 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -52,7 +52,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gMoveSelectionCursor[]; extern u8 gBattleBufferA[][0x200]; extern u8 gBankInMenu; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gHealthboxIDs[]; extern u8 gDoingBattleAnim; extern u8 gBankSpriteIds[]; @@ -121,12 +121,12 @@ extern void sub_8031F24(void); extern void sub_80324BC(); extern u8 sub_8031720(); extern void bx_wait_t1(void); -extern u8 GetBankByIdentity(u8); +extern u8 GetBattlerAtPosition(u8); extern void sub_802DE10(void); extern void sub_80105EC(struct Sprite *); extern void sub_802D274(void); extern void sub_802D23C(void); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void LoadPlayerTrainerBankSprite(); extern void sub_80313A0(struct Sprite *); extern void sub_802D204(void); @@ -147,10 +147,10 @@ extern u8 gBattleBufferA[][0x200]; extern u8 gBankSpriteIds[]; extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gUnknown_03004344; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_X; extern struct Window gUnknown_03004210; @@ -169,8 +169,8 @@ extern u8 gDisplayedStringBattle[]; extern const u8 BattleText_LinkStandby[]; extern void dp11b_obj_instanciate(u8, u8, s8, s8); -extern u8 GetBankIdentity(u8); -extern u8 GetBankByIdentity(u8); +extern u8 GetBattlerPosition(u8); +extern u8 GetBattlerAtPosition(u8); extern void dp11b_obj_free(u8, u8); extern void sub_8010520(struct Sprite *); extern void sub_8010574(struct Sprite *); @@ -447,8 +447,8 @@ void sub_802C098(void) else if (gMain.newKeys & B_BUTTON) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - && GetBankIdentity(gActiveBattler) == 2 - && !(gAbsentBankFlags & gBitTable[GetBankByIdentity(0)]) + && GetBattlerPosition(gActiveBattler) == 2 + && !(gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(0)]) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { if (gBattleBufferA[gActiveBattler][1] == 1) @@ -520,7 +520,7 @@ void sub_802C2EC(void) gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { - u8 var = GetBankIdentity(gUnknown_03004344); + u8 var = GetBattlerPosition(gUnknown_03004344); for (i = 0; i < 4; i++) { @@ -532,10 +532,10 @@ void sub_802C2EC(void) i--; if (i < 0) i = 3; - gUnknown_03004344 = GetBankByIdentity(arr[i]); + gUnknown_03004344 = GetBattlerAtPosition(arr[i]); } while(gUnknown_03004344 == gNoOfAllBanks); i = 0; - switch (GetBankIdentity(gUnknown_03004344)) + switch (GetBattlerPosition(gUnknown_03004344)) { case 0: case 2: @@ -544,7 +544,7 @@ void sub_802C2EC(void) u32 moveId; asm("":::"memory"); - moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); + moveId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); if (!(gBattleMoves[moveId].target & 2)) break; } @@ -555,7 +555,7 @@ void sub_802C2EC(void) i++; } //_0802C500 - if (gAbsentBankFlags & gBitTable[gUnknown_03004344]) + if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; @@ -567,7 +567,7 @@ void sub_802C2EC(void) gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010574; do { - u8 var = GetBankIdentity(gUnknown_03004344); + u8 var = GetBattlerPosition(gUnknown_03004344); for (i = 0; i < 4; i++) { @@ -579,10 +579,10 @@ void sub_802C2EC(void) i++; if (i > 3) i = 0; - gUnknown_03004344 = GetBankByIdentity(arr[i]); + gUnknown_03004344 = GetBattlerAtPosition(arr[i]); } while (gUnknown_03004344 == gNoOfAllBanks); i = 0; - switch (GetBankIdentity(gUnknown_03004344)) + switch (GetBattlerPosition(gUnknown_03004344)) { case 0: case 2: @@ -591,7 +591,7 @@ void sub_802C2EC(void) u32 moveId; asm("":::"memory"); - moveId = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); + moveId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); if (!(gBattleMoves[moveId].target & 2)) break; } @@ -601,7 +601,7 @@ void sub_802C2EC(void) case 3: i++; } - if (gAbsentBankFlags & gBitTable[gUnknown_03004344]) + if (gAbsentBattlerFlags & gBitTable[gUnknown_03004344]) i = 0; } while (i == 0); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; @@ -644,7 +644,7 @@ void sub_802C68C(void) if (r4 & 0x10) gUnknown_03004344 = gActiveBattler; else - gUnknown_03004344 = GetBankByIdentity((GetBankIdentity(gActiveBattler) & 1) ^ 1); + gUnknown_03004344 = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) & 1) ^ 1); if (gBattleBufferA[gActiveBattler][1] == 0) { @@ -676,10 +676,10 @@ void sub_802C68C(void) gBattleBankFunc[gActiveBattler] = sub_802C2EC; if (r4 & 0x12) gUnknown_03004344 = gActiveBattler; - else if (gAbsentBankFlags & gBitTable[GetBankByIdentity(1)]) - gUnknown_03004344 = GetBankByIdentity(3); + else if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(1)]) + gUnknown_03004344 = GetBattlerAtPosition(3); else - gUnknown_03004344 = GetBankByIdentity(1); + gUnknown_03004344 = GetBattlerAtPosition(1); gSprites[gBankSpriteIds[gUnknown_03004344]].callback = sub_8010520; } } @@ -765,11 +765,11 @@ void sub_802C68C(void) s32 i; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x3A); - moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1)]; + moveName = gMoveNames[GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1)]; Text_InitWindowAndPrintText(&gUnknown_03004210, moveName, 0x100, 2, 0x37); ConvertIntToDecimalStringN( gDisplayedStringBattle, - GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1), + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1), 2, 3); Text_InitWindowAndPrintText(&gUnknown_03004210, gDisplayedStringBattle, 0x110, 10, 0x37); Text_InitWindowAndPrintText(&gUnknown_03004210, gString_TurnJP, 0x116, 1, 0x39); @@ -859,11 +859,11 @@ void sub_802CA60(void) { for (i = 0; i < 4; i++) { - sp0.moves[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i); - sp0.pp[i] = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP1 + i); + sp0.moves[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i); + sp0.pp[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i); } - totalPPBonuses = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP_BONUSES); + totalPPBonuses = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES); for (i = 0; i < 4; i++) perMovePPBonuses[i] = (totalPPBonuses & (3 << (i * 2))) >> (i * 2); @@ -885,10 +885,10 @@ void sub_802CA60(void) for (i = 0; i < 4; i++) { - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i, &sp0.moves[i]); - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP1 + i, &sp0.pp[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i, &sp0.moves[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i, &sp0.pp[i]); } - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses); } } else @@ -1007,7 +1007,7 @@ void debug_sub_803107C(void); void debug_sub_8030C24(void) { - s16 move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1); + s16 move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1); switch (gMain.newAndRepeatedKeys) { @@ -1018,9 +1018,9 @@ void debug_sub_8030C24(void) if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) gBankTarget = gBankAttacker ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankTarget = GetBankByIdentity(3); + gBankTarget = GetBattlerAtPosition(3); else - gBankTarget = GetBankByIdentity(1); + gBankTarget = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); gBattleBankFunc[gActiveBattler] = debug_sub_803107C; @@ -1032,9 +1032,9 @@ void debug_sub_8030C24(void) if ((gMain.heldKeysRaw & B_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) gBankAttacker = gBankTarget ^ 2; else if ((gMain.heldKeysRaw & A_BUTTON) && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - gBankAttacker = GetBankByIdentity(3); + gBankAttacker = GetBattlerAtPosition(3); else - gBankAttacker = GetBankByIdentity(1); + gBankAttacker = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); gBattleBankFunc[gActiveBattler] = debug_sub_803107C; @@ -1044,8 +1044,8 @@ void debug_sub_8030C24(void) { dp11b_obj_free(gActiveBattler, 1); dp11b_obj_free(gActiveBattler, 0); - gBankAttacker = GetBankByIdentity(3); - gBankTarget = GetBankByIdentity(1); + gBankAttacker = GetBattlerAtPosition(3); + gBankTarget = GetBattlerAtPosition(1); sub_80326EC(0); DoMoveAnim(move); gBattleBankFunc[gActiveBattler] = debug_sub_803107C; @@ -1056,7 +1056,7 @@ void debug_sub_8030C24(void) case DPAD_RIGHT: if (++move > 354) move = 1; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1, &move); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1, &move); gBattleMons[gActiveBattler].moves[0] = move; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38); Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37); @@ -1069,8 +1069,8 @@ void debug_sub_8030C24(void) { dp11b_obj_free(gActiveBattler, 1); dp11b_obj_free(gActiveBattler, 0); - gBankAttacker = GetBankByIdentity(1); - gBankTarget = GetBankByIdentity(3); + gBankAttacker = GetBattlerAtPosition(1); + gBankTarget = GetBattlerAtPosition(3); sub_80326EC(0); DoMoveAnim(move); gBattleBankFunc[gActiveBattler] = debug_sub_803107C; @@ -1081,7 +1081,7 @@ void debug_sub_8030C24(void) case DPAD_LEFT: if (--move <= 0) move = 354; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1, &move); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1, &move); gBattleMons[gActiveBattler].moves[0] = move; Text_FillWindowRect(&gUnknown_03004210, 0x1016, 1, 0x37, 16, 0x38); Text_InitWindowAndPrintText(&gUnknown_03004210, gMoveNames[move], 0x100, 2, 0x37); @@ -1108,7 +1108,7 @@ void debug_sub_8030C24(void) for (i = 0; i < 4; i++) { StringCopy(gDisplayedStringBattle, BattleText_Format); - move = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MOVE1 + i); + move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i); StringAppend(gDisplayedStringBattle, gMoveNames[move]); Text_InitWindow( &gUnknown_03004210, @@ -1224,9 +1224,9 @@ void sub_802D31C(void) m4aMPlayContinue(&gMPlay_BGM); else m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); if (IsDoubleBattle()) - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], gActiveBattler ^ 2); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], gActiveBattler ^ 2); ewram17810[gActiveBattler].unk9 = 3; gBattleBankFunc[gActiveBattler] = sub_802D2E0; } @@ -1235,9 +1235,9 @@ void sub_802D31C(void) void sub_802D500(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) - sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]]); + sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) @@ -1245,7 +1245,7 @@ void sub_802D500(void) DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); sub_8045A5C( gHealthboxIDs[gActiveBattler ^ 2], - &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], + &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); @@ -1253,7 +1253,7 @@ void sub_802D500(void) DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); sub_8045A5C( gHealthboxIDs[gActiveBattler], - &gPlayerParty[gBattlePartyID[gActiveBattler]], + &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); @@ -1282,7 +1282,7 @@ void sub_802D730(void) if (!ewram17810[gActiveBattler].unk0_6 && !IsCryPlayingOrClearCrySongs()) { m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0x100); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } @@ -1290,12 +1290,12 @@ void sub_802D730(void) void sub_802D798(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); if (gSprites[gUnknown_0300434C[gActiveBattler]].callback == SpriteCallbackDummy && !ewram17810[gActiveBattler].unk0_3) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); sub_8031F88(gActiveBattler); @@ -1323,7 +1323,7 @@ void bx_t1_healthbar_update(void) } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlayerBufferExecCompleted(); } } @@ -1341,7 +1341,7 @@ void sub_802D924(u8 taskId) u8 bank = gTasks[taskId].data[2]; s16 gainedExp = gTasks[taskId].data[1]; - if (IsDoubleBattle() == TRUE || pkmnIndex != gBattlePartyID[bank]) + if (IsDoubleBattle() == TRUE || pkmnIndex != gBattlerPartyIndexes[bank]) { struct Pokemon *pkmn = &gPlayerParty[pkmnIndex]; u16 species = GetMonData(pkmn, MON_DATA_SPECIES); @@ -1362,7 +1362,7 @@ void sub_802D924(u8 taskId) gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE - && ((u16)pkmnIndex == gBattlePartyID[bank] || (u16)pkmnIndex == gBattlePartyID[bank ^ 2])) + && ((u16)pkmnIndex == gBattlerPartyIndexes[bank] || (u16)pkmnIndex == gBattlerPartyIndexes[bank ^ 2])) gTasks[taskId].func = sub_802DCB0; else gTasks[taskId].func = sub_802DDC4; @@ -1618,7 +1618,7 @@ void sub_802DCB0(u8 taskId) u8 bank = gTasks[taskId].data[2]; u8 pkmnIndex = gTasks[taskId].data[0]; - if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlePartyID[bank ^ 2]) + if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlerPartyIndexes[bank ^ 2]) bank ^= 2; move_anim_start_t4(bank, bank, bank, 0); gTasks[taskId].func = sub_802DD10; @@ -1633,7 +1633,7 @@ void sub_802DD10(u8 taskId) u8 pkmnIndex = gTasks[taskId].data[0]; GetMonData(&gPlayerParty[pkmnIndex], MON_DATA_LEVEL); // Unused return value - if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlePartyID[bank ^ 2]) + if (IsDoubleBattle() == TRUE && pkmnIndex == gBattlerPartyIndexes[bank ^ 2]) sub_8045A5C(gHealthboxIDs[bank ^ 2], &gPlayerParty[pkmnIndex], 0); else sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[pkmnIndex], 0); @@ -1657,7 +1657,7 @@ void sub_802DE10(void) { if (gSprites[gBankSpriteIds[gActiveBattler]].pos1.y + gSprites[gBankSpriteIds[gActiveBattler]].pos2.y > DISPLAY_HEIGHT) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); nullsub_9(species); FreeOamMatrix(gSprites[gBankSpriteIds[gActiveBattler]].oam.matrixNum); @@ -1915,7 +1915,7 @@ void PlayerHandleGetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlePartyID[gActiveBattler], unkData); + offset += dp01_getattr_by_ch1_for_player_pokemon_(gBattlerPartyIndexes[gActiveBattler], unkData); } else { @@ -2238,7 +2238,7 @@ void PlayerHandlecmd1(void) struct BattlePokemon battleMon; u8 i; // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard. - u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; + u8 *src = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1]; u8 *dst; MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBattler][1], src[i], gBattleBufferA[gActiveBattler][2], i, dst); @@ -2253,7 +2253,7 @@ void PlayerHandleSetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - dp01_setattr_by_ch1_for_player_pokemon(gBattlePartyID[gActiveBattler]); + dp01_setattr_by_ch1_for_player_pokemon(gBattlerPartyIndexes[gActiveBattler]); } else { @@ -2483,7 +2483,7 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } void PlayerHandlecmd3(void) @@ -2491,14 +2491,14 @@ void PlayerHandlecmd3(void) u8 i; u8 *dst; - MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], + MEMSET_ALT(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][3 + i], gBattleBufferA[gActiveBattler][2], i, dst); PlayerBufferExecCompleted(); } void PlayerHandleLoadPokeSprite(void) { - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); gSprites[gBankSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gBattleBankFunc[gActiveBattler] = bx_0802E404; } @@ -2506,8 +2506,8 @@ void PlayerHandleLoadPokeSprite(void) void PlayerHandleSendOutPoke(void) { sub_8032AA8(gActiveBattler, gBattleBufferA[gActiveBattler][2]); - gBattlePartyID[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + gBattlerPartyIndexes[gActiveBattler] = gBattleBufferA[gActiveBattler][1]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); gActionSelectionCursor[gActiveBattler] = 0; gMoveSelectionCursor[gActiveBattler] = 0; sub_802F934(gActiveBattler, gBattleBufferA[gActiveBattler][2]); @@ -2519,10 +2519,10 @@ void sub_802F934(u8 bank, u8 b) u16 species; sub_8032AA8(bank, b); - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank)); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(bank, 2), @@ -2579,7 +2579,7 @@ void PlayerHandleTrainerThrow(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankIdentity(gActiveBattler) & 2) + if (GetBattlerPosition(gActiveBattler) & 2) r7 = 16; else r7 = -16; @@ -2589,7 +2589,7 @@ void PlayerHandleTrainerThrow(void) r7 = 0; } LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, r7 + 80, @@ -2605,7 +2605,7 @@ void PlayerHandleTrainerThrow(void) void PlayerHandleTrainerSlide(void) { LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, @@ -2643,7 +2643,7 @@ void PlayerHandlecmd10(void) if (ewram17810[gActiveBattler].unk0_6 == 0) { ewram17810[gActiveBattler].unk4 = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); PlaySE12WithPanning(SE_POKE_DEAD, -64); gSprites[gBankSpriteIds[gActiveBattler]].data[1] = 0; gSprites[gBankSpriteIds[gActiveBattler]].data[2] = 5; @@ -2663,7 +2663,7 @@ void PlayerHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 3); + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3); gBattleBankFunc[gActiveBattler] = bx_wait_t1; } @@ -2673,7 +2673,7 @@ void PlayerHandleBallThrow(void) ewram17840.unk8 = var; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 3); + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 3); gBattleBankFunc[gActiveBattler] = bx_wait_t1; } @@ -2873,14 +2873,14 @@ void PlayerHandleHealthBarUpdate(void) r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); @@ -2916,7 +2916,7 @@ void PlayerHandleStatusIconUpdate(void) { if (!mplay_80342A4(gActiveBattler)) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 9); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 9); ewram17810[gActiveBattler].unk0_4 = 0; gBattleBankFunc[gActiveBattler] = sub_802E434; } @@ -2935,9 +2935,9 @@ void PlayerHandleStatusAnimation(void) void PlayerHandleStatusXor(void) { - u8 val = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBattler][1]; + u8 val = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS) ^ gBattleBufferA[gActiveBattler][1]; - SetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_STATUS, &val); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS, &val); PlayerBufferExecCompleted(); } @@ -3057,7 +3057,7 @@ void PlayerHandlecmd44(void) void PlayerHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry3(species, -25, 5); PlayerBufferExecCompleted(); @@ -3101,7 +3101,7 @@ void sub_8030E38(struct Sprite *sprite) FreeSpriteOamMatrix(sprite); FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum)); DestroySprite(sprite); - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[r4]], r4); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[r4]], r4); StartSpriteAnim(&gSprites[gBankSpriteIds[r4]], 0); } @@ -3118,16 +3118,16 @@ void task05_08033660(u8 taskId) gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & 0x40)) { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_802F934(gActiveBattler, 0); } else { - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_802F934(gActiveBattler, 0); gActiveBattler ^= 2; - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); sub_802F934(gActiveBattler, 0); gActiveBattler ^= 2; } diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 40b9f7aaa..9e29fbf5c 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -36,13 +36,13 @@ extern u16 gSpecialVar_ItemId; extern MainCallback gPreBattleCallback1; extern u8 gBankInMenu; extern u8 gHealthboxIDs[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u16 gUnknown_02024DE8; extern u8 gBattleOutcome; extern u8 GetBankSide(u8); -extern u8 GetBankByIdentity(u8); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerAtPosition(u8); +extern u8 GetBattlerPosition(u8); extern void LoadPlayerTrainerBankSprite(); extern u8 sub_8079E90(); extern void sub_80313A0(struct Sprite *); @@ -398,7 +398,7 @@ void SafariHandleReturnPokeToBall(void) void SafariHandleTrainerThrow(void) { LoadPlayerTrainerBankSprite(gSaveBlock2.playerGender, gActiveBattler); - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, @@ -435,7 +435,7 @@ void SafariHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); gBattleBankFunc[gActiveBattler] = bx_wait_t6; } @@ -445,7 +445,7 @@ void SafariHandleBallThrow(void) ewram17840.unk8 = var; gDoingBattleAnim = 1; - move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); gBattleBankFunc[gActiveBattler] = bx_wait_t6; } @@ -541,7 +541,7 @@ void SafariHandleExpBarUpdate(void) void SafariHandleStatusIconUpdate(void) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 11); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 11); SafariBufferExecCompleted(); } @@ -645,7 +645,7 @@ void SafariHandlecmd44(void) void SafariHandleFaintingCry(void) { - u16 species = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); PlayCry1(species, 25); SafariBufferExecCompleted(); @@ -660,7 +660,7 @@ void SafariHandleIntroSlide(void) void SafariHandleTrainerBallThrow(void) { - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 10); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 10); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); SafariBufferExecCompleted(); diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 2737a0095..1a11ee876 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -34,7 +34,7 @@ extern u8 gBattleBufferA[][0x200]; extern u8 gBankSpriteIds[]; extern MainCallback gPreBattleCallback1; extern bool8 gDoingBattleAnim; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; extern u16 gAnimMovePower; @@ -73,9 +73,9 @@ extern bool8 IsDoubleBattle(void); extern void c3_0802FDF4(u8); extern void PlayerHandlecmd1(void); extern void LoadPlayerTrainerBankSprite(); -extern u8 GetBankIdentity(u8); +extern u8 GetBattlerPosition(u8); extern void sub_80313A0(struct Sprite *); -extern u8 GetBankByIdentity(u8); +extern u8 GetBattlerAtPosition(u8); extern u8 sub_8031720(); extern void DoMoveAnim(); extern void sub_80326EC(); @@ -374,22 +374,22 @@ void sub_81374FC(void) void sub_8137538(void) { if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler].unk0_7) - sub_8141828(gActiveBattler, &gPlayerParty[gBattlePartyID[gActiveBattler]]); + sub_8141828(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); if (!ewram17810[gActiveBattler ^ 2].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_7) - sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]]); + sub_8141828(gActiveBattler ^ 2, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]]); if (!ewram17810[gActiveBattler].unk0_3 && !ewram17810[gActiveBattler ^ 2].unk0_3) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler ^ 2]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlePartyID[gActiveBattler ^ 2]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler ^ 2], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ 2]], 0); sub_804777C(gActiveBattler ^ 2); sub_8043DFC(gHealthboxIDs[gActiveBattler ^ 2]); } DestroySprite(&gSprites[gUnknown_0300434C[gActiveBattler]]); - sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlePartyID[gActiveBattler]], 0); + sub_8045A5C(gHealthboxIDs[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 0); sub_804777C(gActiveBattler); sub_8043DFC(gHealthboxIDs[gActiveBattler]); ewram17840.unk9_0 = 0; @@ -412,7 +412,7 @@ void sub_81376B8(void) FreeSpriteTilesByTag(0x27F9); FreeSpritePaletteByTag(0x27F9); CreateTask(c3_0802FDF4, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } } @@ -429,7 +429,7 @@ void sub_81377B0(void) } else { - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); WallyBufferExecCompleted(); } } @@ -508,7 +508,7 @@ void WallyHandleGetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - r6 = sub_8137A84(gBattlePartyID[gActiveBattler], arr); + r6 = sub_8137A84(gBattlerPartyIndexes[gActiveBattler], arr); } else { @@ -837,7 +837,7 @@ void WallyHandleSetAttributes(void) if (gBattleBufferA[gActiveBattler][2] == 0) { - sub_8138294(gBattlePartyID[gActiveBattler]); + sub_8138294(gBattlerPartyIndexes[gActiveBattler]); } else { @@ -1066,7 +1066,7 @@ void sub_8138294(u8 a) SetMonData(&gPlayerParty[a], MON_DATA_TOUGH_RIBBON, &gBattleBufferA[gActiveBattler][3]); break; } - HandleLowHpMusicChange(&gPlayerParty[gBattlePartyID[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } void WallyHandlecmd3(void) @@ -1103,7 +1103,7 @@ void WallyHandleReturnPokeToBall(void) void WallyHandleTrainerThrow(void) { LoadPlayerTrainerBankSprite(2, gActiveBattler); - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), @@ -1118,7 +1118,7 @@ void WallyHandleTrainerThrow(void) void WallyHandleTrainerSlide(void) { LoadPlayerTrainerBankSprite(2, gActiveBattler); - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(gActiveBattler)); + GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, 80, 80 + 4 * (8 - gTrainerBackPicCoords[2].coords), @@ -1149,7 +1149,7 @@ void WallyHandlecmd12(void) { ewram17840.unk8 = 4; gDoingBattleAnim = TRUE; - move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); gBattleBankFunc[gActiveBattler] = bx_wait_t5; } @@ -1159,7 +1159,7 @@ void WallyHandleBallThrow(void) ewram17840.unk8 = val; gDoingBattleAnim = TRUE; - move_anim_start_t4(gActiveBattler, gActiveBattler, GetBankByIdentity(1), 4); + move_anim_start_t4(gActiveBattler, gActiveBattler, GetBattlerAtPosition(1), 4); gBattleBankFunc[gActiveBattler] = bx_wait_t5; } @@ -1335,14 +1335,14 @@ void WallyHandleHealthBarUpdate(void) r7 = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); if (r7 != 0x7FFF) { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, curHP, r7); } else { - u32 maxHP = GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_MAX_HP); + u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); sub_8043D84(gActiveBattler, gHealthboxIDs[gActiveBattler], maxHP, 0, r7); sub_80440EC(gHealthboxIDs[gActiveBattler], 0, 0); @@ -1464,7 +1464,7 @@ void WallyHandlecmd44(void) void WallyHandleFaintingCry(void) { - PlayCry1(GetMonData(&gPlayerParty[gBattlePartyID[gActiveBattler]], MON_DATA_SPECIES), 25); + PlayCry1(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25); WallyBufferExecCompleted(); } @@ -1504,10 +1504,10 @@ void sub_81398BC(u8 bank) u16 species; ewram17800[bank].transformedSpecies = 0; - gBattlePartyID[bank] = gBattleBufferA[bank][1]; - species = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gBattlerPartyIndexes[bank] = gBattleBufferA[bank][1]; + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); gUnknown_0300434C[bank] = CreateInvisibleSpriteWithCallback(sub_80312F0); - GetMonSpriteTemplate_803C56C(species, GetBankIdentity(bank)); + GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, GetBankPosition(bank, 2), @@ -1534,7 +1534,7 @@ void sub_8139A2C(u8 taskId) u8 savedActiveBank = gActiveBattler; gActiveBattler = gTasks[taskId].data[0]; - gBattleBufferA[gActiveBattler][1] = gBattlePartyID[gActiveBattler]; + gBattleBufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; sub_81398BC(gActiveBattler); gBattleBankFunc[gActiveBattler] = sub_8137538; gActiveBattler = savedActiveBank; diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 4022f07ce..516b58b5e 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -424,7 +424,7 @@ u8 *const gUnknown_0820A904[10] = extern u8 gDisplayedStringBattle[]; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u8 gHealthboxIDs[]; @@ -811,8 +811,8 @@ u8 battle_make_oam_normal_battle(u8 a) { if (GetBankSide(a) == 0) { - spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data[5] = spriteId1; @@ -823,8 +823,8 @@ u8 battle_make_oam_normal_battle(u8 a) //_08043ACC else { - spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); - spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[GetBankIdentity(a) / 2], 240, 160, 1); + spriteId1 = CreateSprite(&gSpriteTemplates_820A51C[GetBattlerPosition(a) / 2], 240, 160, 1); + spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A51C[GetBattlerPosition(a) / 2], 240, 160, 1); gSprites[spriteId1].oam.affineParam = spriteId2; gSprites[spriteId2].data[5] = spriteId1; @@ -986,7 +986,7 @@ void sub_8043F44(u8 a) } else { - switch (GetBankIdentity(a)) + switch (GetBattlerPosition(a)) { case 0: x = 159; @@ -1323,7 +1323,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) // TODO: make this a local variable memcpy(str, gUnknown_0820A864, sizeof(str)); - r6 = ewram520[GetBankIdentity(gSprites[a].data[6])].filler0; + r6 = ewram520[GetBattlerPosition(gSprites[a].data[6])].filler0; r8 = 5; nature = GetNature(pkmn); StringCopy(str + 6, gNatureNames[nature]); @@ -1407,7 +1407,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) ldrh r0, [r0, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ lsls r1, r0, 1\n\ @@ -1675,13 +1675,13 @@ void sub_804454C(void) spriteId = gSprites[gHealthboxIDs[i]].data[5]; CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0); - sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); + sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1); } else { draw_status_ailment_maybe(gHealthboxIDs[i]); - sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5); + sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlerPartyIndexes[i]], 5); CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32); } } @@ -1691,23 +1691,23 @@ void sub_804454C(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]]); + sub_8044338(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]]); } else { spriteId = gSprites[gHealthboxIDs[i]].data[5]; CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100); - sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0); - sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1); + sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_HP), 0); + sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), 1); } } else { draw_status_ailment_maybe(gHealthboxIDs[i]); - sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 5); + sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 5); if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlePartyID[i]], 4); + sub_8045A5C(gHealthboxIDs[i], &gEnemyParty[gBattlerPartyIndexes[i]], 4); } } gSprites[gHealthboxIDs[i]].data[7] ^= 1; @@ -1731,7 +1731,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) u8 sp18; u8 taskId; - if (c == 0 || GetBankIdentity(a) != 3) + if (c == 0 || GetBattlerPosition(a) != 3) { if (GetBankSide(a) == 0) { @@ -1947,7 +1947,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) str r3, [sp, 0x10]\n\ cmp r4, 0\n\ beq _08044834\n\ - bl GetBankIdentity\n\ + bl GetBattlerPosition\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x3\n\ @@ -2779,7 +2779,7 @@ void sub_8045180(struct Sprite *sprite) ptr[1] = 0x13; ptr[2] = 0x37; ptr[3] = EOS; - ptr = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180; + ptr = ewram520_2 + GetBattlerPosition(gSprites[a].data[6]) * 0x180; sub_80034D4(ptr, gDisplayedStringBattle); i = 0; @@ -2865,7 +2865,7 @@ static void sub_8045458(u8 a, u8 b) r4 = gSprites[a].data[6]; if (GetBankSide(r4) != 0) { - u16 species = GetMonData(&gEnemyParty[gBattlePartyID[r4]], MON_DATA_SPECIES); + u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r4]], MON_DATA_SPECIES); if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) { r4 = gSprites[a].data[5]; @@ -2892,7 +2892,7 @@ static void sub_8045458(u8 a, u8 b) r10 = gSprites[a].data[5]; if (GetBankSide(r7) == 0) { - r4 = GetMonData(&gPlayerParty[gBattlePartyID[r7]], MON_DATA_STATUS); + r4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r7]], MON_DATA_STATUS); if (!IsDoubleBattle()) r8 = 0x1A; else @@ -2900,7 +2900,7 @@ static void sub_8045458(u8 a, u8 b) } else { - r4 = GetMonData(&gEnemyParty[gBattlePartyID[r7]], MON_DATA_STATUS); + r4 = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r7]], MON_DATA_STATUS); r8 = 0x11; } if (r4 & 7) @@ -3027,7 +3027,7 @@ static u8 sub_80457E8(u8 a, u8 b) s32 r7; u8 *addr; - r6 = ewram520_2 + GetBankIdentity(gSprites[a].data[6]) * 0x180; + r6 = ewram520_2 + GetBattlerPosition(gSprites[a].data[6]) * 0x180; r8 = 7; sub_80034D4(r6, BattleText_SafariBalls); for (i = 0; i < r8; i++) @@ -3055,7 +3055,7 @@ static u8 sub_80457E8(u8 a, u8 b) r7 = StringCopy(gDisplayedStringBattle, BattleText_SafariBallsLeft); r7 = sub_8003504(r7, gNumSafariBalls, 10, 1); StringAppend(r7, BattleText_HighlightRed); - status = GetBankIdentity(gSprites[a].data[6]); + status = GetBattlerPosition(gSprites[a].data[6]); r7 = ewram520_2 + status * 0x180; r6 = 5; sub_80034D4(r7, gDisplayedStringBattle); @@ -3202,7 +3202,7 @@ static void sub_8045D58(u8 a, u8 b) break; case 1: sub_804602C(ewram17850[a].unk4, ewram17850[a].unk8, ewram17850[a].unkC, &ewram17850[a].unk10, sp8, 8); - r0 = GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_LEVEL); + r0 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_LEVEL); if (r0 == 100) { for (i = 0; i < 8; i++) diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c index c428e4edd..01cfc73dd 100644 --- a/src/battle/battle_message.c +++ b/src/battle/battle_message.c @@ -172,7 +172,7 @@ extern u8 gDisplayedStringBattle[]; extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern struct BattleEnigmaBerry gEnigmaBerries[4]; extern u8 gBattleBufferA[4][0x200]; @@ -202,9 +202,9 @@ s32 sub_803FC34(u16); void get_trainer_name(u8* dst); u8 get_trainer_class_name_index(void); u8 GetMultiplayerId(void); -u8 GetBankByIdentity(u8 ID); +u8 GetBattlerAtPosition(u8 ID); u8 GetBankSide(u8 bank); -u8 GetBankIdentity(u8 bank); +u8 GetBattlerPosition(u8 bank); #ifdef GERMAN extern u8 *de_sub_804110C(); #endif @@ -575,71 +575,71 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = gBattleTextBuff3; break; case 2: // first player poke name - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(0)]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(0)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 3: // first enemy poke name - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(1)]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(1)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 4: // second player poke name - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(2)]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(2)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 5: // second enemy poke name - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(3)]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(3)]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 6: // link first player poke name - GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 7: // link first opponent poke name - GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 1]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 8: // link second player poke name - GetMonData(&gPlayerParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 9: // link second opponent poke name - GetMonData(&gEnemyParty[gBattlePartyID[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerID].lp_field_18 ^ 3]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 10: // attacker name with prefix, only bank 0/1 - HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1)]) + HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1)]) break; case 11: // attacker partner name, only bank 0/1 if (GetBankSide(gBankAttacker) == 0) - GetMonData(&gPlayerParty[gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); else - GetMonData(&gEnemyParty[gBattlePartyID[GetBankByIdentity(GetBankIdentity(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); toCpy = text; break; case 12: // attacker name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlePartyID[gBankAttacker]) + HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[gBankAttacker]) break; case 13: // target name with prefix - HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlePartyID[gBankTarget]) + HANDLE_NICKNAME_STRING_CASE(gBankTarget, gBattlerPartyIndexes[gBankTarget]) break; case 14: // effect bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlePartyID[gEffectBank]) + HANDLE_NICKNAME_STRING_CASE(gEffectBank, gBattlerPartyIndexes[gEffectBank]) break; case 15: // active bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlePartyID[gActiveBattler]) + HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) break; case 16: // scripting active bank name with prefix - HANDLE_NICKNAME_STRING_CASE(gBattleStruct->scriptingActive, gBattlePartyID[gBattleStruct->scriptingActive]) + HANDLE_NICKNAME_STRING_CASE(gBattleStruct->scriptingActive, gBattlerPartyIndexes[gBattleStruct->scriptingActive]) break; case 17: // current move name if (gStringInfo->currentMove > 0x162) diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index ed8cf4583..9dc835d5c 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -32,7 +32,7 @@ extern u8 sub_803FBBC(void); extern u8 gPlayerPartyCount; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankInMenu; extern u8 gUnknown_0202E8F4; extern u8 gUnknown_0202E8F5; @@ -122,7 +122,7 @@ static void sub_8094998(u8 arg[3], u8 player_number) if (!IsDoubleBattle()) { pos = 1; - *temp = gBattlePartyID[GetBankByIdentity(0)]; + *temp = gBattlerPartyIndexes[GetBattlerAtPosition(0)]; for (i = 0; i <= 5; i++) if (i != *temp) temp[pos++] = i; @@ -130,8 +130,8 @@ static void sub_8094998(u8 arg[3], u8 player_number) else { pos = 2; - *temp = gBattlePartyID[GetBankByIdentity(0)]; - temp[1] = gBattlePartyID[GetBankByIdentity(2)]; + *temp = gBattlerPartyIndexes[GetBattlerAtPosition(0)]; + temp[1] = gBattlerPartyIndexes[GetBattlerAtPosition(2)]; for (i = 0; i <= 5; i++) if ((i != *temp) && (i != temp[1])) temp[pos++] = i; @@ -147,13 +147,13 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) u8 temp[6]; if (!GetBankSide(arg3)) { - i = GetBankByIdentity(0); - j = GetBankByIdentity(2); + i = GetBattlerAtPosition(0); + j = GetBattlerAtPosition(2); } else { - i = GetBankByIdentity(1); - j = GetBankByIdentity(3); + i = GetBattlerAtPosition(1); + j = GetBattlerAtPosition(3); } if (IsLinkDoubleBattle() == TRUE) { @@ -175,7 +175,7 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) if (!IsDoubleBattle()) { int pos = 1; - *temp = gBattlePartyID[i]; + *temp = gBattlerPartyIndexes[i]; for (i = 0; i <= 5; i++) if (i != *temp) temp[pos++] = i; @@ -183,8 +183,8 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) else { int pos = 2; - *temp = gBattlePartyID[i]; - temp[1] = gBattlePartyID[j]; + *temp = gBattlerPartyIndexes[i]; + temp[1] = gBattlerPartyIndexes[j]; for (i = 0; i <= 5; i++) if ((i != *temp) && (i != temp[1])) temp[pos++] = i; @@ -665,7 +665,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) for (i = 0; i < gNoOfAllBanks; i++) { if (GetBankSide(i) == 0 - && sub_8094C20(partySelection) == gBattlePartyID[i]) + && sub_8094C20(partySelection) == gBattlerPartyIndexes[i]) { sub_806D5A4(); GetMonNickname(&gPlayerParty[partySelection], gStringVar1); @@ -706,7 +706,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) u8 r4 = gBankInMenu; sub_806D5A4(); - r0 = pokemon_order_func(gBattlePartyID[r4]); + r0 = pokemon_order_func(gBattlerPartyIndexes[r4]); GetMonNickname(&gPlayerParty[r0], gStringVar1); StringExpandPlaceholders(gStringVar4, gOtherText_CantBeSwitched); sub_806E834(gStringVar4, 0); @@ -715,7 +715,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) } gUnknown_0202E8F5 = sub_8094C20(partySelection); gUnknown_0202E8F4 = 1; - r4 = pokemon_order_func(gBattlePartyID[gBankInMenu]); + r4 = pokemon_order_func(gBattlerPartyIndexes[gBankInMenu]); sub_8094C98(r4, partySelection); SwapPokemon(&gPlayerParty[r4], &gPlayerParty[partySelection]); gTasks[taskId].func = Task_809527C; diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index df227ab2c..43364a24a 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -44,17 +44,17 @@ extern u8 gBanksByTurnOrder[4]; extern u16 gSideAffecting[2]; extern u16 gBattleWeather; extern void (*gBattleMainFunc)(void); -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gBattleCommunication[]; extern u32 gHitMarker; extern u8 gEffectBank; extern u8 gBank1; extern s32 gBattleMoveDamage; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern u16 gChosenMovesByBanks[4]; extern s32 gTakenDmg[4]; extern u8 gTakenDmgBanks[4]; -extern u8 gBattleMoveFlags; +extern u8 gMoveResultFlags; extern u8 gLastUsedAbility; extern u8 gBattleTextBuff2[]; extern u8 gCurrentActionFuncId; @@ -77,8 +77,8 @@ extern const u8 gStatusConditionString_LoveJpn[]; extern const BattleCmdFunc gBattleScriptingCommandsTable[]; u8 IsImprisoned(u8 bank, u16 move); -u8 GetBankByIdentity(u8 ID); -u8 GetBankIdentity(u8 bank); +u8 GetBattlerAtPosition(u8 ID); +u8 GetBattlerPosition(u8 bank); u8 GetBankSide(u8 bank); void SetMoveEffect(bool8 primary, u8 certainArg); bool8 UproarWakeUpCheck(u8 bank); @@ -416,10 +416,10 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[1] = 0; for (i = 0; i < gNoOfAllBanks; i += 2) - bits |= gBitTable[gBattlePartyID[i]]; + bits |= gBitTable[gBattlerPartyIndexes[i]]; for (i = 1; i < gNoOfAllBanks; i += 2) - gSentPokesToOpponent[(i & BIT_MON) >> 1] = bits; + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; } void sub_8015740(u8 bank) @@ -427,15 +427,15 @@ void sub_8015740(u8 bank) s32 i = 0; u32 bits = 0; - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBankSide(bank) == B_SIDE_OPPONENT) { - u8 id = ((bank & BIT_MON) >> 1); + u8 id = ((bank & BIT_FLANK) >> 1); gSentPokesToOpponent[id] = 0; for (i = 0; i < gNoOfAllBanks; i += 2) { - if (!(gAbsentBankFlags & gBitTable[i])) - bits |= gBitTable[gBattlePartyID[i]]; + if (!(gAbsentBattlerFlags & gBitTable[i])) + bits |= gBitTable[gBattlerPartyIndexes[i]]; } gSentPokesToOpponent[id] = bits; @@ -444,7 +444,7 @@ void sub_8015740(u8 bank) void sub_80157C4(u8 bank) { - if (GetBankSide(bank) == SIDE_OPPONENT) + if (GetBankSide(bank) == B_SIDE_OPPONENT) { sub_8015740(bank); } @@ -452,7 +452,7 @@ void sub_80157C4(u8 bank) { s32 i; for (i = 1; i < gNoOfAllBanks; i++) - gSentPokesToOpponent[(i & BIT_MON) >> 1] |= gBitTable[gBattlePartyID[bank]]; + gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlerPartyIndexes[bank]]; } } @@ -570,9 +570,9 @@ bool8 AreAllMovesUnusable(void) gProtectStructs[gActiveBattler].onlyStruggle = 1; gUnknown_02024C1C[gActiveBattler] = BattleScript_NoMovesLeft; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - gBattleBufferB[gActiveBattler][3] = GetBankByIdentity((GetBankIdentity(gActiveBattler) ^ 1) | (Random() & 2)); + gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition((GetBattlerPosition(gActiveBattler) ^ 1) | (Random() & 2)); else - gBattleBufferB[gActiveBattler][3] = GetBankByIdentity(GetBankIdentity(gActiveBattler) ^ 1); + gBattleBufferB[gActiveBattler][3] = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ 1); } else gProtectStructs[gActiveBattler].onlyStruggle = 0; @@ -606,10 +606,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankAttacker]; gBankAttacker++) + for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBattlerFlags & gBitTable[gBankAttacker]; gBankAttacker++) { } - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBankFlags & gBitTable[gBankTarget]; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBattlerFlags & gBitTable[gBankTarget]; gBankTarget++) { } @@ -857,7 +857,7 @@ u8 TurnBasedEffects(void) while (gBattleStruct->turnEffectsBank < gNoOfAllBanks && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; - if (gAbsentBankFlags & gBitTable[gActiveBattler]) + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBank++; } @@ -1168,7 +1168,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) { gActiveBattler = gBattleStruct->sub80170DC_Bank; - if (gAbsentBankFlags & gBitTable[gActiveBattler]) + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gBattleStruct->sub80170DC_Bank++; else { @@ -1199,7 +1199,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) { gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; - if (gAbsentBankFlags & gBitTable[gActiveBattler]) + if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) gBattleStruct->sub80170DC_Bank++; else { @@ -1250,14 +1250,14 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->sub80173A4_Tracker++; for (i = 0; i < gNoOfAllBanks; i++) { - if (gAbsentBankFlags & gBitTable[i] && !sub_8018018(i, 6, 6)) - gAbsentBankFlags &= ~(gBitTable[i]); + if (gAbsentBattlerFlags & gBitTable[i] && !sub_8018018(i, 6, 6)) + gAbsentBattlerFlags &= ~(gBitTable[i]); } case 1: do { gBank1 = gBankTarget = gBattleStruct->unk1605A; - if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlePartyID[gBattleStruct->unk1605A]]) && !(gAbsentBankFlags & gBitTable[gBattleStruct->unk1605A])) + if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gBattleStruct->unk16113 & gBitTable[gBattlerPartyIndexes[gBattleStruct->unk1605A]]) && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) { BattleScriptExecute(BattleScript_GiveExp); gBattleStruct->sub80173A4_Tracker = 2; @@ -1280,7 +1280,7 @@ bool8 HandleFaintedMonActions(void) do { gBank1 = gBankTarget = gBattleStruct->unk1605A; //or should banks be switched? - if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gAbsentBankFlags & gBitTable[gBattleStruct->unk1605A])) + if (gBattleMons[gBattleStruct->unk1605A].hp == 0 && !(gAbsentBattlerFlags & gBitTable[gBattleStruct->unk1605A])) { BattleScriptExecute(BattleScript_HandleFaintedMon); gBattleStruct->sub80173A4_Tracker = 5; @@ -1410,7 +1410,7 @@ u8 AtkCanceller_UnableToUseMove(void) gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gBattleCommunication[MULTISTRING_CHOOSER] = 0; gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; - gBattleMoveFlags |= MOVESTATUS_MISSED; + gMoveResultFlags |= MOVE_RESULT_MISSED; effect = 1; } gBattleStruct->atkCancellerTracker++; @@ -1546,7 +1546,7 @@ u8 AtkCanceller_UnableToUseMove(void) gCurrentMove = MOVE_BIDE; *bideDmg = gTakenDmg[gBankAttacker] * 2; gBankTarget = gTakenDmgBanks[gBankAttacker]; - if (gAbsentBankFlags & gBitTable[gBankTarget]) + if (gAbsentBattlerFlags & gBitTable[gBankTarget]) gBankTarget = GetMoveTarget(MOVE_BIDE, 1); gBattlescriptCurrInstr = BattleScript_BideAttack; } @@ -1613,20 +1613,20 @@ bool8 sub_8018018(u8 bank, u8 r1, u8 r2) { if (GetBankSide(bank) == 1) { - r7 = GetBankByIdentity(1); - r6 = GetBankByIdentity(3); + r7 = GetBattlerAtPosition(1); + r6 = GetBattlerAtPosition(3); party = gEnemyParty; } else { - r7 = GetBankByIdentity(0); - r6 = GetBankByIdentity(2); + r7 = GetBattlerAtPosition(0); + r6 = GetBattlerAtPosition(2); party = gPlayerParty; } if (r1 == 6) - r1 = gBattlePartyID[r7]; + r1 = gBattlerPartyIndexes[r7]; if (r2 == 6) - r2 = gBattlePartyID[r6]; + r2 = gBattlerPartyIndexes[r6]; for (i = 0; i < 6; i++) { if (GetMonData(&party[i], MON_DATA_HP) && GetMonData(&party[i], MON_DATA_SPECIES2) && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG && i != r1 && i != r2 && i != ewram16068arr(r7) && i != ewram16068arr(r6)) @@ -1698,16 +1698,16 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBankAttacker >= gNoOfAllBanks) gBankAttacker = bank; if (GetBankSide(gBankAttacker) == 0) - pokeAtk = &gPlayerParty[gBattlePartyID[gBankAttacker]]; + pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; else - pokeAtk = &gEnemyParty[gBattlePartyID[gBankAttacker]]; + pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; if (gBankTarget >= gNoOfAllBanks) gBankTarget = bank; if (GetBankSide(gBankTarget) == 0) - pokeDef = &gPlayerParty[gBattlePartyID[gBankTarget]]; + pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; else - pokeDef = &gEnemyParty[gBattlePartyID[gBankTarget]]; + pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; speciesAtk = GetMonData(pokeAtk, MON_DATA_SPECIES); pidAtk = GetMonData(pokeAtk, MON_DATA_PERSONALITY); @@ -2002,7 +2002,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case ABILITY_COLOR_CHANGE: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && move != MOVE_STRUGGLE && gBattleMoves[move].power != 0 && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2022,7 +2022,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITY_ROUGH_SKIN: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2039,7 +2039,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_EFFECT_SPORE: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2060,7 +2060,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2084,7 +2084,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_POISON_POINT: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2099,7 +2099,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2117,7 +2117,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_STATIC: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2132,7 +2132,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) @@ -2150,7 +2150,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_FLAME_BODY: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2165,7 +2165,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2183,7 +2183,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_CUTE_CHARM: if (DEBUG && (gUnknown_02023A14_50 & 4)) { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2203,7 +2203,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } else { - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) @@ -2376,15 +2376,15 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { u8 target2; - side = (GetBankIdentity(i) ^ 1) & 1; - target1 = GetBankByIdentity(side); - target2 = GetBankByIdentity(side + 2); + side = (GetBattlerPosition(i) ^ 1) & 1; + target1 = GetBattlerAtPosition(side); + target2 = GetBattlerAtPosition(side + 2); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattleMons[target1].ability != 0 && gBattleMons[target1].hp != 0 && gBattleMons[target2].ability != 0 && gBattleMons[target2].hp != 0) { - gActiveBattler = GetBankByIdentity(((Random() & 1) * 2) | side); + gActiveBattler = GetBattlerAtPosition(((Random() & 1) * 2) | side); gBattleMons[i].ability = gBattleMons[gActiveBattler].ability; gLastUsedAbility = gBattleMons[gActiveBattler].ability; effect++; @@ -2423,7 +2423,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 4; gBattleTextBuff1[2] = gActiveBattler; - gBattleTextBuff1[3] = gBattlePartyID[gActiveBattler]; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gActiveBattler]; gBattleTextBuff1[4] = EOS; gBattleTextBuff2[0] = 0xFD; @@ -2693,9 +2693,9 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u16 move; if (GetBankSide(bank) == 0) - poke = &gPlayerParty[gBattlePartyID[bank]]; + poke = &gPlayerParty[gBattlerPartyIndexes[bank]]; else - poke = &gEnemyParty[gBattlePartyID[bank]]; + poke = &gEnemyParty[gBattlerPartyIndexes[bank]]; for (i = 0; i < 4; i++) { move = GetMonData(poke, MON_DATA_MOVE1 + i); @@ -3268,7 +3268,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) switch (atkHoldEffect) { case HOLD_EFFECT_FLINCH: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) && (Random() % 100) < bankQuality && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED @@ -3281,7 +3281,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) } break; case HOLD_EFFECT_SHELL_BELL: - if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gSpecialStatuses[gBankTarget].moveturnLostHP != 0 && gSpecialStatuses[gBankTarget].moveturnLostHP != 0xFFFF && gBankAttacker != gBankTarget @@ -3331,22 +3331,22 @@ void unref_sub_801B40C(void) u8 bank = 0; do { - u8 absent = gAbsentBankFlags; + u8 absent = gAbsentBattlerFlags; if (gBitTable[bank] & absent || absent & gBitTable[bank + 2]) bank++; else { if (sCombinedMoves[i].move1 == gChosenMovesByBanks[bank] && sCombinedMoves[i].move2 == gChosenMovesByBanks[bank + 2]) { - gSideTimers[GetBankIdentity(bank) & 1].field3 = (bank) | ((bank + 2) << 4); - gSideTimers[GetBankIdentity(bank) & 1].field4 = sCombinedMoves[i].newMove; - gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4; + gSideTimers[GetBattlerPosition(bank) & 1].field3 = (bank) | ((bank + 2) << 4); + gSideTimers[GetBattlerPosition(bank) & 1].field4 = sCombinedMoves[i].newMove; + gSideAffecting[GetBattlerPosition(bank) & 1] |= SIDE_STATUS_X4; } if (sCombinedMoves[i].move1 == gChosenMovesByBanks[bank + 2] && sCombinedMoves[i].move2 == gChosenMovesByBanks[bank]) { - gSideTimers[GetBankIdentity(bank) & 1].field3 = (bank + 2) | ((bank) << 4); - gSideTimers[GetBankIdentity(bank) & 1].field4 = sCombinedMoves[i].newMove; - gSideAffecting[GetBankIdentity(bank) & 1] |= SIDE_STATUS_X4; + gSideTimers[GetBattlerPosition(bank) & 1].field3 = (bank + 2) | ((bank) << 4); + gSideTimers[GetBattlerPosition(bank) & 1].field4 = sCombinedMoves[i].newMove; + gSideAffecting[GetBattlerPosition(bank) & 1] |= SIDE_STATUS_X4; } bank++; } @@ -3385,7 +3385,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target do { targetBank = Random() % gNoOfAllBanks; - } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBankFlags & gBitTable[targetBank]); + } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) @@ -3400,8 +3400,8 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target case 8: case 32: case 64: - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); - if (gAbsentBankFlags & gBitTable[targetBank]) + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1); + if (gAbsentBattlerFlags & gBitTable[targetBank]) targetBank ^= 2; break; case 4: @@ -3413,22 +3413,22 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target if (GetBankSide(gBankAttacker) == 0) { if (Random() & 1) - targetBank = GetBankByIdentity(1); + targetBank = GetBattlerAtPosition(1); else - targetBank = GetBankByIdentity(3); + targetBank = GetBattlerAtPosition(3); } else { if (Random() & 1) - targetBank = GetBankByIdentity(0); + targetBank = GetBattlerAtPosition(0); else - targetBank = GetBankByIdentity(2); + targetBank = GetBattlerAtPosition(2); } - if (gAbsentBankFlags & gBitTable[targetBank]) + if (gAbsentBattlerFlags & gBitTable[targetBank]) targetBank ^= 2; } else - targetBank = GetBankByIdentity((GetBankIdentity(gBankAttacker) & 1) ^ 1); + targetBank = GetBattlerAtPosition((GetBattlerPosition(gBankAttacker) & 1) ^ 1); break; case 2: case 16: diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index 15b65fa81..606bc3e50 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -20,7 +20,7 @@ extern struct MusicPlayerInfo gMPlay_BGM; extern u16 gBattleTypeFlags; extern u8 gBankTarget; extern u8 gActiveBattler; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBankSpriteIds[]; extern u8 gDoingBattleAnim; extern u8 gHealthboxIDs[]; @@ -358,9 +358,9 @@ static void sub_8046464(u8 taskId) r8 = gTasks[taskId].data[2]; r5 = gTasks[taskId].data[3]; if (GetBankSide(r5) != 0) - ball = GetMonData(&gEnemyParty[gBattlePartyID[r5]], MON_DATA_POKEBALL); + ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL); else - ball = GetMonData(&gPlayerParty[gBattlePartyID[r5]], MON_DATA_POKEBALL); + ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL); r4 = ball_number_to_ball_processing_index(ball); sub_80478DC(r4); spriteId = CreateSprite(&gBallSpriteTemplates[r4], 32, 80, 0x1D); @@ -383,7 +383,7 @@ static void sub_8046464(u8 taskId) gSprites[spriteId].callback = sub_8047254; break; default: - gBankTarget = GetBankByIdentity(1); + gBankTarget = GetBattlerAtPosition(1); sp0 = TRUE; break; } @@ -713,16 +713,16 @@ static void sub_8046C78(struct Sprite *sprite) if (GetBankSide(r5) != 0) { - pkmn = &gEnemyParty[gBattlePartyID[r5]]; + pkmn = &gEnemyParty[gBattlerPartyIndexes[r5]]; r8 = 25; } else { - pkmn = &gPlayerParty[gBattlePartyID[r5]]; + pkmn = &gPlayerParty[gBattlerPartyIndexes[r5]]; r8 = -25; } species = GetMonData(pkmn, MON_DATA_SPECIES); - if ((r5 == GetBankByIdentity(0) || r5 == GetBankByIdentity(1)) + if ((r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1)) && IsDoubleBattle() && ewram17840.unk9_0) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -737,7 +737,7 @@ static void sub_8046C78(struct Sprite *sprite) } if (!IsDoubleBattle() || !ewram17840.unk9_0) r4_2 = 0; - else if (r5 == GetBankByIdentity(0) || r5 == GetBankByIdentity(1)) + else if (r5 == GetBattlerAtPosition(0) || r5 == GetBattlerAtPosition(1)) r4_2 = 1; else r4_2 = 2; @@ -885,7 +885,7 @@ static void sub_80470C4(struct Sprite *sprite) sprite->data[6] = sprite->oam.affineParam & 0xFF; sprite->data[0] = 0; if (IsDoubleBattle() && ewram17840.unk9_0 - && sprite->data[6] == GetBankByIdentity(2)) + && sprite->data[6] == GetBattlerAtPosition(2)) sprite->callback = sub_8047230; else sprite->callback = sub_8046C78; @@ -910,7 +910,7 @@ static void sub_8047254(struct Sprite *sprite) { sprite->data[0] = 0; if (IsDoubleBattle() && ewram17840.unk9_0 - && sprite->data[6] == GetBankByIdentity(3)) + && sprite->data[6] == GetBattlerAtPosition(3)) sprite->callback = sub_8047230; else sprite->callback = sub_8046C78; @@ -1110,7 +1110,7 @@ void sub_804777C(u8 a) sprite->pos2.y = -sprite->pos2.y; } gSprites[sprite->data[5]].callback(&gSprites[sprite->data[5]]); - if (GetBankIdentity(a) == 2) + if (GetBattlerPosition(a) == 2) sprite->callback = sub_804780C; } @@ -1188,7 +1188,7 @@ void sub_804794C(u8 a) static u16 sub_8047978(u8 a) { if (GetBankSide(a) == 0) - return GetMonData(&gPlayerParty[gBattlePartyID[a]], MON_DATA_POKEBALL); + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL); else - return GetMonData(&gEnemyParty[gBattlePartyID[a]], MON_DATA_POKEBALL); + return GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL); } diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index 85aa78ca0..bc25f8e15 100644 --- a/src/battle/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c @@ -22,7 +22,7 @@ extern u16 gBattle_BG0_Y; extern u8 gReservedSpritePaletteCount; extern u8 gActionSelectionCursor[4]; extern u8 gBankInMenu; -extern u16 gBattlePartyID[4]; +extern u16 gBattlerPartyIndexes[4]; extern u8 gNoOfAllBanks; extern u16 gBattleTypeFlags; extern u8 gBankSpriteIds[4]; @@ -171,14 +171,14 @@ static void CB2_ReshowBattleScreenAfterMenu(void) sub_80327CC(); - opponentBank = GetBankByIdentity(1); - species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES); + opponentBank = GetBattlerAtPosition(1); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); sub_8032984(opponentBank, species); if (IsDoubleBattle()) { - opponentBank = GetBankByIdentity(3); - species = GetMonData(&gEnemyParty[gBattlePartyID[opponentBank]], MON_DATA_SPECIES); + opponentBank = GetBattlerAtPosition(3); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); sub_8032984(opponentBank, species); } sub_802E3E4(gActionSelectionCursor[gBankInMenu], 0); @@ -210,7 +210,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank) if (GetBankSide(bank)) { if (!ewram17800[bank].substituteSprite) - BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[bank]], bank); + BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[bank]], bank); else BattleLoadSubstituteSprite(bank, 0); } @@ -219,7 +219,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank) else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) LoadPlayerTrainerBankSprite(2, 0); else if (!ewram17800[bank].substituteSprite) - BattleLoadPlayerMonSprite(&gPlayerParty[gBattlePartyID[bank]], bank); + BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[bank]], bank); else BattleLoadSubstituteSprite(bank, 0); @@ -240,19 +240,19 @@ static void sub_807B184(u8 bank) posY = sub_8077F68(bank); if (GetBankSide(bank)) { - if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; - GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); + GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gBankSpriteIds[bank]].data[0] = bank; - gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) { - GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBankIdentity(0)); + GetMonSpriteTemplate_803C5A0(gSaveBlock2.playerGender, GetBattlerPosition(0)); gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[gSaveBlock2.playerGender].coords) * 4 + 80, sub_8079E90(0)); @@ -262,7 +262,7 @@ static void sub_807B184(u8 bank) } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && bank == 0) { - GetMonSpriteTemplate_803C5A0(2, GetBankIdentity(0)); + GetMonSpriteTemplate_803C5A0(2, GetBattlerPosition(0)); gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, 0x50, (8 - gTrainerBackPicCoords[2].coords) * 4 + 80, sub_8079E90(0)); @@ -272,14 +272,14 @@ static void sub_807B184(u8 bank) } else { - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; - GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES), GetBankIdentity(bank)); + GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gBankSpriteIds[bank]].data[0] = bank; - gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_SPECIES); + gSprites[gBankSpriteIds[bank]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES); StartSpriteAnim(&gSprites[gBankSpriteIds[bank]], gBattleMonForms[bank]); } gSprites[gBankSpriteIds[bank]].invisible = ewram17800[bank].invisible; @@ -301,23 +301,23 @@ static void sub_807B508(u8 bank) sub_8043F44(bank); sub_8043DFC(healthboxID); if (GetBankSide(bank)) - sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlePartyID[bank]], 0); + sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlerPartyIndexes[bank]], 0); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlePartyID[bank]], 10); + sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 10); else - sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlePartyID[bank]], 0); - if (GetBankIdentity(bank) == 3 || GetBankIdentity(bank) == 2) + sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 0); + if (GetBattlerPosition(bank) == 3 || GetBattlerPosition(bank) == 2) nullsub_11(gHealthboxIDs[bank], 1); else nullsub_11(gHealthboxIDs[bank], 0); if (GetBankSide(bank)) { - if (GetMonData(&gEnemyParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) sub_8043DB0(healthboxID); } else if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) { - if (GetMonData(&gPlayerParty[gBattlePartyID[bank]], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) sub_8043DB0(healthboxID); } } diff --git a/src/item_use.c b/src/item_use.c index a0fbb13b2..a14abbe3e 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -48,7 +48,7 @@ extern u8 gBankInMenu; extern u8 gUnknown_081A1654[]; extern u8 gUnknown_081A168F[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u16 gBattleTypeFlags; @@ -1044,7 +1044,7 @@ void sub_80CA2BC(u8 taskId) void ItemUseInBattle_StatIncrease(u8 taskId) { - u16 partyId = gBattlePartyID[gBankInMenu]; + u16 partyId = gBattlerPartyIndexes[gBankInMenu]; Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); diff --git a/src/pokemon_2.c b/src/pokemon_2.c index 5b3e6ddad..a618fdec5 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -28,7 +28,7 @@ extern u16 gCurrentMove; extern u8 gLastUsedAbility; extern u8 gBankAttacker; extern u8 gBankTarget; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gXXX_CritRelated; extern u16 gBattleWeather; extern struct BattleEnigmaBerry gEnigmaBerries[]; @@ -60,21 +60,21 @@ u8 CountAliveMons(u8 a1) case 0: for (i = 0; i < 4; i++) { - if (i != gActiveBattler && !(gAbsentBankFlags & gBitTable[i])) + if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case 1: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBankFlags & gBitTable[i])) + if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case 2: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBankFlags & gBitTable[i])) + if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; @@ -85,11 +85,11 @@ u8 CountAliveMons(u8 a1) u8 sub_803C434(u8 a1) { - u8 status = GetBankIdentity(a1) & 1; + u8 status = GetBattlerPosition(a1) & 1; status ^= 1; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - return GetBankByIdentity(status); + return GetBattlerAtPosition(status); if (CountAliveMons(0) > 1) { u8 val; @@ -98,14 +98,14 @@ u8 sub_803C434(u8 a1) val = status ^ 2; else val = status; - return GetBankByIdentity(val); + return GetBattlerAtPosition(val); } else { - if ((gAbsentBankFlags & gBitTable[status])) - return GetBankByIdentity(status ^ 2); + if ((gAbsentBattlerFlags & gBitTable[status])) + return GetBattlerAtPosition(status ^ 2); else - return GetBankByIdentity(status); + return GetBattlerAtPosition(status); } } diff --git a/src/pokemon_3.c b/src/pokemon_3.c index 81a588e8e..d35551613 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -51,7 +51,7 @@ extern const u8 BattleText_Wally[]; extern s8 gPokeblockFlavorCompatibilityTable[]; extern u8 gLastUsedAbility; extern const u8 BattleText_PreventedSwitch[]; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 BattleText_Rose[]; extern u8 BattleText_UnknownString3[]; @@ -1299,13 +1299,13 @@ void sub_8040B8C(void) gBattleTextBuff1[2] = gBattleStruct->unk16054; gBattleTextBuff1[4] = EOS; if (!GetBankSide(gBattleStruct->unk16054)) - gBattleTextBuff1[3] = pokemon_order_func(gBattlePartyID[gBattleStruct->unk16054]); + gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->unk16054]); else - gBattleTextBuff1[3] = gBattlePartyID[gBattleStruct->unk16054]; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->unk16054]; gBattleTextBuff2[0] = 0xFD; gBattleTextBuff2[1] = 4; gBattleTextBuff2[2] = gBankInMenu; - gBattleTextBuff2[3] = pokemon_order_func(gBattlePartyID[gBankInMenu]); + gBattleTextBuff2[3] = pokemon_order_func(gBattlerPartyIndexes[gBankInMenu]); gBattleTextBuff2[4] = EOS; StrCpyDecodeBattle(BattleText_PreventedSwitch, gStringVar4); } diff --git a/src/pokemon_item_effect.c b/src/pokemon_item_effect.c index 3b72ab739..6f1e9dabb 100644 --- a/src/pokemon_item_effect.c +++ b/src/pokemon_item_effect.c @@ -16,10 +16,10 @@ #include "util.h" extern s32 gBattleMoveDamage; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gBankInMenu; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gActiveBattler; extern u8 gStringBank; extern struct BattlePokemon gBattleMons[]; @@ -82,7 +82,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo cmdIndex = (GetBankSide(gActiveBattler) != 0); while (cmdIndex < gNoOfAllBanks) { - if (gBattlePartyID[cmdIndex] == partyIndex) + if (gBattlerPartyIndexes[cmdIndex] == partyIndex) { sp34 = cmdIndex; break; @@ -278,14 +278,14 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo { if (sp34 != 4) { - gAbsentBankFlags &= ~gBitTable[sp34]; - CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlePartyID[sp34])); + gAbsentBattlerFlags &= ~gBitTable[sp34]; + CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34])); if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } else { - gAbsentBankFlags &= ~gBitTable[gActiveBattler ^ 2]; + gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2]; if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } diff --git a/src/rom3.c b/src/rom3.c index 58b64cebd..64d7a535c 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -33,7 +33,7 @@ extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBattler; extern u32 gBattleExecBuffer; extern u8 gNoOfAllBanks; -extern u16 gBattlePartyID[]; +extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u16 gCurrentMove; extern u16 gChosenMove; @@ -43,7 +43,7 @@ extern u8 gBankAttacker; extern u8 gBankTarget; extern u8 gEffectBank; extern u8 gStringBank; -extern u8 gAbsentBankFlags; +extern u8 gAbsentBattlerFlags; extern u8 gMultiHitCounter; extern u8 gUnknown_02024C78; extern u8 gBattleOutcome; @@ -237,12 +237,12 @@ void sub_800BA78(void) case 0: case 3: gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -257,12 +257,12 @@ void sub_800BA78(void) case 0: case 3: gBanksBySide[gLinkPlayers[i].lp_field_18] = 0; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: gBanksBySide[gLinkPlayers[i].lp_field_18] = 2; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -274,12 +274,12 @@ void sub_800BA78(void) case 0: case 3: gBanksBySide[gLinkPlayers[i].lp_field_18] = 1; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 0; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 0; break; case 1: case 2: gBanksBySide[gLinkPlayers[i].lp_field_18] = 3; - gBattlePartyID[gLinkPlayers[i].lp_field_18] = 3; + gBattlerPartyIndexes[gLinkPlayers[i].lp_field_18] = 3; break; } } @@ -308,7 +308,7 @@ void sub_800BD54(void) && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -319,7 +319,7 @@ void sub_800BD54(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -332,9 +332,9 @@ void sub_800BD54(void) && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES) != 0 //Probably a typo by Game Freak. The rest use SPECIES2 && GetMonData(&gPlayerParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gPlayerParty[j], MON_DATA_IS_EGG) == 0 - && gBattlePartyID[i - 2] != j) + && gBattlerPartyIndexes[i - 2] != j) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -344,9 +344,9 @@ void sub_800BD54(void) && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != 0 && GetMonData(&gEnemyParty[j], MON_DATA_SPECIES2) != SPECIES_EGG && GetMonData(&gEnemyParty[j], MON_DATA_IS_EGG) == 0 - && gBattlePartyID[i - 2] != j) + && gBattlerPartyIndexes[i - 2] != j) { - gBattlePartyID[i] = j; + gBattlerPartyIndexes[i] = j; break; } } @@ -421,7 +421,7 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) ewram14000arr(3, gTasks[gUnknown_020238C4].data[14]) = gBankTarget; ewram14000arr(4, gTasks[gUnknown_020238C4].data[14]) = r9; ewram14000arr(5, gTasks[gUnknown_020238C4].data[14]) = (r9 & 0x0000FF00) >> 8; - ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBankFlags; + ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBattlerFlags; ewram14000arr(7, gTasks[gUnknown_020238C4].data[14]) = gEffectBank; for (i = 0; i < size; i++) @@ -563,7 +563,7 @@ void sub_800C47C(u8 taskId) { gBankAttacker = ewram15000arr(2, gTasks[taskId].data[15]); gBankTarget = ewram15000arr(3, gTasks[taskId].data[15]); - gAbsentBankFlags = ewram15000arr(6, gTasks[taskId].data[15]); + gAbsentBattlerFlags = ewram15000arr(6, gTasks[taskId].data[15]); gEffectBank = ewram15000arr(7, gTasks[taskId].data[15]); } break; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 4be3390ee..2df2360dc 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -27,7 +27,7 @@ #define NUM_BATTLE_SLOTS 4 -#define gBattleMonPartyPositions gBattlePartyID +#define gBattleMonPartyPositions gBattlerPartyIndexes #define gCastformElevations gUnknownCastformData_0837F5A8 #define gCastformBackSpriteYCoords gUnknown_0837F5AC #define gTransformPersonalities gTransformedPersonalities @@ -169,10 +169,10 @@ u8 GetBankPosition(u8 slot, u8 a2) { case 0: case 2: - var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_0; + var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_0; break; case 1: - var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1; + var = gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_1; break; case 3: case 4: @@ -323,7 +323,7 @@ u8 sub_8077E44(u8 slot, u16 species, u8 a3) offset = sub_8077BFC(slot, species); offset -= sub_8077DD8(slot, species); } - y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBankIdentity(slot)].field_1; + y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_1; if (a3) { if (GetBankSide(slot) == 0) @@ -825,12 +825,12 @@ u8 GetBankSide(u8 slot) return gBanksBySide[slot] & 1; } -u8 GetBankIdentity(u8 slot) +u8 GetBattlerPosition(u8 slot) { return gBanksBySide[slot]; } -u8 GetBankByIdentity(u8 slot) +u8 GetBattlerAtPosition(u8 slot) { u8 i; @@ -856,7 +856,7 @@ bool8 IsBankSpritePresent(u8 slot) { if (gBanksBySide[slot] == 0xff) return FALSE; - if (GetBankSide(slot) != SIDE_PLAYER) + if (GetBankSide(slot) != B_SIDE_PLAYER) { if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) return TRUE; @@ -899,7 +899,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk) unk->field_4 = (u8 *)(VRAM + 0xf000); unk->field_8 = 0xe; } - else if (GetBankIdentity_permutated(gAnimBankAttacker) == 1) + else if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) { unk->field_0 = (u8 *)(VRAM + 0x4000); unk->field_4 = (u8 *)(VRAM + 0xe000); @@ -1338,25 +1338,25 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) } } else { if (a1) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(0))) { - var |= 1 << (GetBankByIdentity(0) + 16); + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(0))) { + var |= 1 << (GetBattlerAtPosition(0) + 16); } } if (a2) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(2))) { - shift = GetBankByIdentity(2) + 16; + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(2))) { + shift = GetBattlerAtPosition(2) + 16; var |= 1 << shift; } } if (a3) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(1))) { - shift = GetBankByIdentity(1) + 16; + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(1))) { + shift = GetBattlerAtPosition(1) + 16; var |= 1 << shift; } } if (a4) { - if (IsAnimBankSpriteVisible(GetBankByIdentity(3))) { - shift = GetBankByIdentity(3) + 16; + if (IsAnimBankSpriteVisible(GetBattlerAtPosition(3))) { + shift = GetBattlerAtPosition(3) + 16; var |= 1 << shift; } } @@ -1371,7 +1371,7 @@ u8 sub_80793A8(u8 a1) u8 unref_sub_80793B0(u8 a1) { - return GetBankByIdentity(a1); + return GetBattlerAtPosition(a1); } void sub_80793C4(struct Sprite *sprite) @@ -1421,7 +1421,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) v2 = 1; InitAnimSpritePos(sprite, v1); - if (GetBankSide(gAnimBankAttacker) != SIDE_PLAYER) + if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; @@ -1896,12 +1896,12 @@ u8 sub_8079E90(u8 bank) } else { - identity = GetBankIdentity(bank); - if (identity == IDENTITY_PLAYER_MON1) + identity = GetBattlerPosition(bank); + if (identity == B_POSITION_PLAYER_LEFT) ret = 30; - else if (identity == IDENTITY_PLAYER_MON2) + else if (identity == B_POSITION_PLAYER_RIGHT) ret = 20; - else if (identity == IDENTITY_OPPONENT_MON1) + else if (identity == B_POSITION_OPPONENT_LEFT) ret = 40; else ret = 50; @@ -1911,7 +1911,7 @@ u8 sub_8079E90(u8 bank) u8 sub_8079ED4(u8 slot) { - u8 status = GetBankIdentity(slot); + u8 status = GetBattlerPosition(slot); if (IsContest()) return 2; @@ -1921,13 +1921,13 @@ u8 sub_8079ED4(u8 slot) return BG1CNT.priority; } -u8 GetBankIdentity_permutated(u8 slot) +u8 GetBattlerPosition_permutated(u8 slot) { u8 status; if (!IsContest()) { - status = GetBankIdentity(slot); + status = GetBattlerPosition(slot); if (status == 0 || status == 3) return 2; else -- cgit v1.2.3 From 818801cf5ab0c696f2460922753f921726aac6bb Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 6 Apr 2018 16:02:31 -0700 Subject: Finish decompiling battle_9 --- src/battle/anim/alert.c | 2 +- src/battle/anim/anger.c | 2 +- src/battle/anim/aurora.c | 2 +- src/battle/anim/beta_beat_up.c | 2 +- src/battle/anim/breath.c | 2 +- src/battle/anim/bubble.c | 4 +- src/battle/anim/bug.c | 14 +- src/battle/anim/copy_orb.c | 2 +- src/battle/anim/cutter.c | 4 +- src/battle/anim/cyclone.c | 2 +- src/battle/anim/dark.c | 6 +- src/battle/anim/dragon.c | 6 +- src/battle/anim/egg.c | 4 +- src/battle/anim/energy_wave.c | 6 +- src/battle/anim/espeed.c | 2 +- src/battle/anim/fight.c | 12 +- src/battle/anim/fire.c | 6 +- src/battle/anim/fire_2.c | 6 +- src/battle/anim/flying_path.c | 2 +- src/battle/anim/flying_petals.c | 2 +- src/battle/anim/heated_rock.c | 2 +- src/battle/anim/hop.c | 2 +- src/battle/anim/leaf.c | 2 +- src/battle/anim/lunge_1.c | 10 +- src/battle/anim/lunge_2.c | 2 +- src/battle/anim/money.c | 4 +- src/battle/anim/noise.c | 2 +- src/battle/anim/note_rain.c | 2 +- src/battle/anim/note_scatter.c | 2 +- src/battle/anim/orbs.c | 2 +- src/battle/anim/poison.c | 6 +- src/battle/anim/powder.c | 2 +- src/battle/anim/psychic.c | 14 +- src/battle/anim/ring.c | 6 +- src/battle/anim/rock.c | 8 +- src/battle/anim/scary_face.c | 2 +- src/battle/anim/seed.c | 2 +- src/battle/anim/sfx.c | 2 +- src/battle/anim/shield.c | 2 +- src/battle/anim/shock.c | 2 +- src/battle/anim/silhouette.c | 2 +- src/battle/anim/sleep.c | 2 +- src/battle/anim/slice.c | 4 +- src/battle/anim/sonic.c | 2 +- src/battle/anim/strike.c | 2 +- src/battle/anim/taunt_finger.c | 2 +- src/battle/anim/thought.c | 4 +- src/battle/anim/thrashing.c | 2 +- src/battle/anim/thunder.c | 2 +- src/battle/anim/tile_out.c | 4 +- src/battle/anim/unused_2.c | 2 +- src/battle/anim/unused_3.c | 2 +- src/battle/anim/unused_4.c | 2 +- src/battle/anim/unused_7.c | 2 +- src/battle/anim/water.c | 4 +- src/battle/anim/whip.c | 4 +- src/battle/anim/wisp_fire.c | 2 +- src/battle/anim/wisp_orb.c | 4 +- src/battle/anim/withdraw.c | 2 +- src/battle/battle_2.c | 56 +- src/battle/battle_4.c | 112 +-- src/battle/battle_7.c | 12 +- src/battle/battle_9.c | 863 ----------------------- src/battle/battle_ai.c | 46 +- src/battle/battle_ai_switch_items.c | 1008 +++++++++++++++++++++++++++ src/battle/battle_anim.c | 28 +- src/battle/battle_anim_80A7E7C.c | 24 +- src/battle/battle_controller_linkopponent.c | 6 +- src/battle/battle_controller_linkpartner.c | 4 +- src/battle/battle_controller_opponent.c | 6 +- src/battle/battle_controller_player.c | 8 +- src/battle/battle_controller_safari.c | 6 +- src/battle/battle_controller_wally.c | 6 +- src/battle/battle_interface.c | 56 +- src/battle/battle_message.c | 38 +- src/battle/battle_party_menu.c | 4 +- src/battle/battle_util.c | 52 +- src/battle/calculate_base_damage.c | 10 +- src/battle/pokeball.c | 8 +- src/battle/reshow_battle_screen.c | 8 +- src/pokemon_2.c | 6 +- src/pokemon_3.c | 2 +- src/pokemon_item_effect.c | 12 +- src/rom_8077ABC.c | 44 +- 84 files changed, 1392 insertions(+), 1247 deletions(-) delete mode 100755 src/battle/battle_9.c create mode 100755 src/battle/battle_ai_switch_items.c (limited to 'src') diff --git a/src/battle/anim/alert.c b/src/battle/anim/alert.c index 7cd42c17b..72f8ec947 100644 --- a/src/battle/anim/alert.c +++ b/src/battle/anim/alert.c @@ -16,7 +16,7 @@ void sub_80CF610(struct Sprite* sprite) sub_8078650(sprite); sub_807867C(sprite, gBattleAnimArgs[0]); sprite->pos1.y += gBattleAnimArgs[1]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->hFlip = 1; if (gBattleAnimArgs[2] != 0) diff --git a/src/battle/anim/anger.c b/src/battle/anim/anger.c index 011aa68ce..0f1984f90 100644 --- a/src/battle/anim/anger.c +++ b/src/battle/anim/anger.c @@ -19,7 +19,7 @@ void sub_80D09C0(struct Sprite* sprite) else bank = gAnimBankTarget; - if (GetBankSide(bank) == 1) + if (GetBattlerSide(bank) == 1) { gBattleAnimArgs[1] *= -1; } diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c index b24809264..4041dd3bf 100644 --- a/src/battle/anim/aurora.c +++ b/src/battle/anim/aurora.c @@ -17,7 +17,7 @@ void sub_80D33B4(struct Sprite *sprite) s16 r6; InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) r6 = -gBattleAnimArgs[2]; else r6 = gBattleAnimArgs[2]; diff --git a/src/battle/anim/beta_beat_up.c b/src/battle/anim/beta_beat_up.c index 3af6dd926..ee889492c 100644 --- a/src/battle/anim/beta_beat_up.c +++ b/src/battle/anim/beta_beat_up.c @@ -13,7 +13,7 @@ static void sub_80D6278(struct Sprite *); void sub_80D6234(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/breath.c b/src/battle/anim/breath.c index 831b222ad..948a855b8 100644 --- a/src/battle/anim/breath.c +++ b/src/battle/anim/breath.c @@ -13,7 +13,7 @@ extern u8 gAnimBankTarget; void sub_80D0930(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { StartSpriteAnim(sprite, 0); sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + 32; diff --git a/src/battle/anim/bubble.c b/src/battle/anim/bubble.c index d6ec06be9..b118b5f90 100644 --- a/src/battle/anim/bubble.c +++ b/src/battle/anim/bubble.c @@ -19,7 +19,7 @@ void sub_80D31C8(struct Sprite* sprite) { u8 newSpriteId; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) - gBattleAnimArgs[0]; sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; @@ -32,7 +32,7 @@ void sub_80D31C8(struct Sprite* sprite) sprite->animPaused = 1; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index b9e9da27f..64021f499 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -24,7 +24,7 @@ void sub_80DC824(struct Sprite *sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; } - else if (!GetBankSide(gAnimBankTarget)) + else if (!GetBattlerSide(gAnimBankTarget)) { StartSpriteAffineAnim(sprite, 1); gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -52,7 +52,7 @@ void sub_80DC8F4(struct Sprite *sprite) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; StartSpriteAffineAnim(sprite, 2); } - else if (!GetBankSide(gAnimBankTarget)) + else if (!GetBattlerSide(gAnimBankTarget)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; @@ -112,13 +112,13 @@ static void sub_80DCA38(struct Sprite *sprite) void sub_80DCA70(struct Sprite *sprite) { SetAverageBattlerPositions(gAnimBankTarget, 0, &sprite->pos1.x, &sprite->pos1.y); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; - if (!GetBankSide(gAnimBankTarget)) + if (!GetBattlerSide(gAnimBankTarget)) sprite->pos1.y += 8; sprite->callback = sub_80DCAEC; @@ -193,7 +193,7 @@ void AnimTranslateStinger(struct Sprite *sprite) } else { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -203,7 +203,7 @@ void AnimTranslateStinger(struct Sprite *sprite) if (!IsContest()) { - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { if (GetBattlerPosition(gAnimBankTarget) == 0 || GetBattlerPosition(gAnimBankTarget) == 1) { @@ -247,7 +247,7 @@ void AnimMissileArc(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/copy_orb.c b/src/battle/anim/copy_orb.c index 4fa8ea163..9c583670b 100644 --- a/src/battle/anim/copy_orb.c +++ b/src/battle/anim/copy_orb.c @@ -16,7 +16,7 @@ void sub_80CB4CC(struct Sprite* sprite) { case 0: { - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) { s16 a = gBattleAnimArgs[0]; gBattleAnimArgs[0] = -a; diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c index a750ee2c1..80411f70d 100644 --- a/src/battle/anim/cutter.c +++ b/src/battle/anim/cutter.c @@ -24,7 +24,7 @@ static void AnimMoveTwisterParticleStep(struct Sprite* sprite); void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } @@ -44,7 +44,7 @@ void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { sprite->data[0] = 1; } diff --git a/src/battle/anim/cyclone.c b/src/battle/anim/cyclone.c index b1210bc54..9bfa95e92 100644 --- a/src/battle/anim/cyclone.c +++ b/src/battle/anim/cyclone.c @@ -14,7 +14,7 @@ extern u8 gAnimBankTarget; void sub_80D0118(struct Sprite* sprite) { InitAnimSpritePos(sprite, 0); - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) sprite->pos1.y += 16; sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index b70d27d1d..aeb74a7d5 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -267,7 +267,7 @@ void sub_80E00EC(u8 taskId) task->data[14] = pos - 32; task->data[15] = pos + 32; - if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) task->data[8] = -12; else task->data[8] = -64; @@ -442,7 +442,7 @@ void sub_80E03BC(u8 taskId) task->data[14] = pos - 4; task->data[15] = pos + 4; - if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_PLAYER) task->data[8] = -12; else task->data[8] = -64; @@ -864,7 +864,7 @@ void sub_80E0A4C(u8 taskId) } else { - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES); else species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES); diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c index e8e07c443..edb07af01 100644 --- a/src/battle/anim/dragon.c +++ b/src/battle/anim/dragon.c @@ -27,7 +27,7 @@ void sub_80DF5A0(struct Sprite *sprite) { sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; @@ -52,7 +52,7 @@ void sub_80DF63C(struct Sprite *sprite) sub_8078650(sprite); sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[1]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -96,7 +96,7 @@ void sub_80DF6F0(struct Sprite *sprite) void sub_80DF760(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) StartSpriteAffineAnim(sprite, 1); sub_80DF63C(sprite); } diff --git a/src/battle/anim/egg.c b/src/battle/anim/egg.c index b3de1dbb1..44ff484f2 100644 --- a/src/battle/anim/egg.c +++ b/src/battle/anim/egg.c @@ -23,7 +23,7 @@ void sub_80D1368(struct Sprite* sprite) { s16 r1; InitAnimSpritePos(sprite, 0); - r1 = (GetBankSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; + r1 = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; sprite->data[0] = 0x380; sprite->data[1] = r1; sprite->data[7] = gBattleAnimArgs[2]; @@ -36,7 +36,7 @@ void sub_80D13AC(struct Sprite* sprite) sprite->pos2.y -= (sprite->data[0] >> 8); sprite->pos2.x = sprite->data[1] >> 8; sprite->data[0] -= 32; - add = (GetBankSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; + add = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; sprite->data[1] += add; if (sprite->pos2.y > 0) { diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c index 1889cfc67..029344428 100644 --- a/src/battle/anim/energy_wave.c +++ b/src/battle/anim/energy_wave.c @@ -94,7 +94,7 @@ void sub_80D3698(struct Sprite *sprite) if (!IsContest()) { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos2.x = 10; sprite->subpriority = subpriority + 2; @@ -126,7 +126,7 @@ void sub_80D3728(struct Sprite *sprite) { int var1, var2; - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { gBattleAnimArgs[0] *= -1; @@ -149,7 +149,7 @@ void sub_80D3728(struct Sprite *sprite) InitAnimSpritePos(sprite, var1); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } diff --git a/src/battle/anim/espeed.c b/src/battle/anim/espeed.c index 469522092..a69c04330 100644 --- a/src/battle/anim/espeed.c +++ b/src/battle/anim/espeed.c @@ -51,7 +51,7 @@ void sub_80D1638(u8 taskId) task->data[2] = 0; task->data[3] = 0; task->data[12] = 3; - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) { task->data[13] = 0xFFFF; task->data[14] = 8; diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 36a8a5008..4210b751c 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -50,7 +50,7 @@ void sub_080B08A0(struct Sprite *sprite) void sub_80D902C(struct Sprite *sprite) { - if (gBattleAnimArgs[7] == 1 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (gBattleAnimArgs[7] == 1 && GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; @@ -201,7 +201,7 @@ void sub_80D9378(struct Sprite *sprite) sub_8078764(sprite, 1); - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[3]; @@ -538,7 +538,7 @@ void sub_80D9A38(struct Sprite *sprite) if (IsContest()) sprite->oam.matrixNum |= 0x8; - else if (GetBankSide(bank) == B_SIDE_PLAYER) + else if (GetBattlerSide(bank) == B_SIDE_PLAYER) sprite->oam.matrixNum |= 0x18; sprite->data[0] = 16; @@ -572,7 +572,7 @@ void sub_80D9B48(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[2]; turn = gAnimMoveTurn; - if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_PLAYER) turn++; if (turn & 1) @@ -598,7 +598,7 @@ void sub_80D9BD4(struct Sprite *sprite) { StartSpriteAnim(sprite, 2); } - else if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + else if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { StartSpriteAnim(sprite, 1); } @@ -644,7 +644,7 @@ void sub_80D9C80(u8 taskId) task->data[10] += 2816; - if (GetBankSide(gAnimBankTarget) == B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_PLAYER) gBattle_BG3_X += task->data[9] >> 8; else gBattle_BG3_X -= task->data[9] >> 8; diff --git a/src/battle/anim/fire.c b/src/battle/anim/fire.c index 253236805..0939c938c 100644 --- a/src/battle/anim/fire.c +++ b/src/battle/anim/fire.c @@ -40,7 +40,7 @@ void sub_80D4F5C(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -62,7 +62,7 @@ void sub_80D4F5C(struct Sprite *sprite) void sub_80D4FCC(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -98,7 +98,7 @@ void sub_80D5074(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index 4378ff298..6d95475d0 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -33,7 +33,7 @@ void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3); // arg 6: ? (todo: something related to which mon the pixel offsets are based on) void AnimEmberFlare(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget) + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget) && (gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) || gAnimBankAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT))) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; @@ -191,7 +191,7 @@ void sub_80D5470(u8 taskId) // initialize animation task for Move_ERUPTION? task->data[2] = 0; task->data[3] = 0; task->data[4] = gSprites[task->data[15]].pos1.y; - task->data[5] = GetBankSide(gAnimBankAttacker); + task->data[5] = GetBattlerSide(gAnimBankAttacker); task->data[6] = 0; sub_8078E70(task->data[15], 0); @@ -317,7 +317,7 @@ void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3) u16 y = sub_80D5940(spriteId); u16 x = gSprites[spriteId].pos1.x; - if(!GetBankSide(gAnimBankAttacker)) + if(!GetBattlerSide(gAnimBankAttacker)) { x -= 0xC; sign = 1; diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c index 70c418afc..8145446ad 100644 --- a/src/battle/anim/flying_path.c +++ b/src/battle/anim/flying_path.c @@ -27,7 +27,7 @@ void sub_80CBDF4(u8 taskId) task->data[7] = GetBankPosition(gAnimBankTarget, 3); task->data[10] = sub_807A100(gAnimBankTarget, 1); task->data[11] = sub_807A100(gAnimBankTarget, 0); - task->data[5] = (GetBankSide(gAnimBankTarget) == 1) ? 1 : -1; + task->data[5] = (GetBattlerSide(gAnimBankTarget) == 1) ? 1 : -1; task->data[9] = 0x38 - (task->data[5] * 64); task->data[8] = task->data[7] - task->data[9] + task->data[6]; task->data[2] = CreateSprite(&gSpriteTemplate_83D6884, task->data[8], task->data[9], task->data[4]); diff --git a/src/battle/anim/flying_petals.c b/src/battle/anim/flying_petals.c index 4eeaa5215..681b0ba1f 100644 --- a/src/battle/anim/flying_petals.c +++ b/src/battle/anim/flying_petals.c @@ -21,7 +21,7 @@ void sub_80CC474(struct Sprite* sprite) else bank = gAnimBankTarget; - if (GetBankSide(bank) != 0) + if (GetBattlerSide(bank) != 0) { sprite->data[4] = 0; sprite->data[2] = gBattleAnimArgs[3]; diff --git a/src/battle/anim/heated_rock.c b/src/battle/anim/heated_rock.c index 055960f40..6f1a1344a 100644 --- a/src/battle/anim/heated_rock.c +++ b/src/battle/anim/heated_rock.c @@ -28,7 +28,7 @@ u16 sub_80D5940(u8 spriteId) { u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY; - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { var1 = ((var1 << 16) + 0x4A0000) >> 16; } diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c index 0697e83a0..c76863f4a 100644 --- a/src/battle/anim/hop.c +++ b/src/battle/anim/hop.c @@ -136,7 +136,7 @@ void sub_80CB9C4(struct Sprite* sprite) void sub_80CBA28(struct Sprite* sprite) { s16 e = GetBankPosition(gAnimBankTarget, 1); - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) { sprite->data[6] = 0; sprite->data[7] = e + 10; diff --git a/src/battle/anim/leaf.c b/src/battle/anim/leaf.c index 676734717..c39a52ff1 100644 --- a/src/battle/anim/leaf.c +++ b/src/battle/anim/leaf.c @@ -51,7 +51,7 @@ void sub_80CAF20(struct Sprite* sprite) void sub_80CAF6C(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos2.x = -Sin(sprite->data[0], 0x19); } diff --git a/src/battle/anim/lunge_1.c b/src/battle/anim/lunge_1.c index a3b5f19c5..949fb89f4 100644 --- a/src/battle/anim/lunge_1.c +++ b/src/battle/anim/lunge_1.c @@ -44,7 +44,7 @@ void sub_80CD774(struct Sprite* sprite) void sub_80CD7CC(struct Sprite* sprite) { sprite->data[0] = 6; - sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? 2 : -2; + sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? 2 : -2; sprite->data[2] = 0; sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD81C); @@ -57,7 +57,7 @@ void sub_80CD81C(struct Sprite* sprite) { sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; sub_8078E70(sprite->data[3], 0); - sprite->data[4] = (sprite->data[6] = GetBankSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00; + sprite->data[4] = (sprite->data[6] = GetBattlerSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00; sprite->data[5] = 0; } @@ -74,7 +74,7 @@ void sub_80CD81C(struct Sprite* sprite) void sub_80CD8A8(struct Sprite* sprite) { sprite->data[0] = 4; - sprite->data[1] = (GetBankSide(gAnimBankAttacker)) ? -3 : 3; + sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? -3 : 3; sprite->data[2] = 0; sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; StoreSpriteCallbackInData(sprite, sub_80CD9B8); @@ -95,8 +95,8 @@ void sub_80CD91C(struct Sprite* sprite) if (sprite->data[0] == 0) { sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; - sprite->data[6] = GetBankSide(gAnimBankAttacker); - if (GetBankSide(gAnimBankAttacker)) + sprite->data[6] = GetBattlerSide(gAnimBankAttacker); + if (GetBattlerSide(gAnimBankAttacker)) { sprite->data[4] = 0xFC00; sprite->data[5] = 0xC00; diff --git a/src/battle/anim/lunge_2.c b/src/battle/anim/lunge_2.c index f222b291d..c0100922c 100644 --- a/src/battle/anim/lunge_2.c +++ b/src/battle/anim/lunge_2.c @@ -21,7 +21,7 @@ void sub_80CDAC8(u8 taskId) u8 a; gTasks[taskId].data[0] = gBankSpriteIds[gAnimBankAttacker]; - a = GetBankSide(gAnimBankAttacker); + a = GetBattlerSide(gAnimBankAttacker); gTasks[taskId].data[1] = a; gTasks[taskId].data[2] = 0; switch (gBattleAnimArgs[0]) diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c index c3d130750..093c406a0 100644 --- a/src/battle/anim/money.c +++ b/src/battle/anim/money.c @@ -22,7 +22,7 @@ void sub_80CFE9C(struct Sprite* sprite) InitAnimSpritePos(sprite, 1); r6 = GetBankPosition(gAnimBankTarget, 2); r7 = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; r6 += gBattleAnimArgs[2]; @@ -47,7 +47,7 @@ void sub_80CFF68(struct Sprite* sprite) { sprite->data[0] += 0x80; sprite->pos2.x = sprite->data[0] >> 8; - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) sprite->pos2.x = -sprite->pos2.x; sprite->pos2.y = Sin(sprite->data[1], sprite->data[2]); diff --git a/src/battle/anim/noise.c b/src/battle/anim/noise.c index 369650d82..dab6c698f 100644 --- a/src/battle/anim/noise.c +++ b/src/battle/anim/noise.c @@ -16,7 +16,7 @@ void sub_80D2D68(struct Sprite* sprite) int var1; u8 slot = gBattleAnimArgs[0] == 0 ? gAnimBankAttacker : gAnimBankTarget; - if (GetBankSide(slot) == 1) + if (GetBattlerSide(slot) == 1) { gBattleAnimArgs[1] *= -1; } diff --git a/src/battle/anim/note_rain.c b/src/battle/anim/note_rain.c index 44817b0a0..5574d5b98 100644 --- a/src/battle/anim/note_rain.c +++ b/src/battle/anim/note_rain.c @@ -25,7 +25,7 @@ void sub_80D1BA8(struct Sprite* sprite, u8 a, u8 b) void sub_80D1C08(struct Sprite* sprite) { InitAnimSpritePos(sprite, 0); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/note_scatter.c b/src/battle/anim/note_scatter.c index 8564c58fe..5820da571 100644 --- a/src/battle/anim/note_scatter.c +++ b/src/battle/anim/note_scatter.c @@ -16,7 +16,7 @@ static void sub_80CED78(struct Sprite* sprite); void sub_80CECE8(struct Sprite* sprite) { int a; - if (GetBankSide(gAnimBankAttacker) == 1) + if (GetBattlerSide(gAnimBankAttacker) == 1) { a = gBattleAnimArgs[1]; (u16)gBattleAnimArgs[1] = -a; diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c index 6f1bba9c3..1c98da012 100644 --- a/src/battle/anim/orbs.c +++ b/src/battle/anim/orbs.c @@ -117,7 +117,7 @@ void sub_80CAA14(struct Sprite* sprite) StartSpriteAnim(sprite, a & 7); sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= 20; } diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c index 3a7477a57..3bdac02da 100644 --- a/src/battle/anim/poison.c +++ b/src/battle/anim/poison.c @@ -44,7 +44,7 @@ void sub_80D9DF0(struct Sprite *sprite) InitAnimSpritePos(sprite, 1); SetAverageBattlerPositions(gAnimBankTarget, 1, &l1, &l2); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[4] = -gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[2]; @@ -94,7 +94,7 @@ void sub_80D9F14(struct Sprite *sprite) { SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; sprite->pos1.x += gBattleAnimArgs[0]; @@ -124,7 +124,7 @@ void AnimBubbleEffect(struct Sprite *sprite) { SetAverageBattlerPositions(gAnimBankTarget, TRUE, &sprite->pos1.x, &sprite->pos1.y); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; sprite->pos1.x += gBattleAnimArgs[0]; diff --git a/src/battle/anim/powder.c b/src/battle/anim/powder.c index 5d67311dc..88339522e 100644 --- a/src/battle/anim/powder.c +++ b/src/battle/anim/powder.c @@ -23,7 +23,7 @@ void AnimMovePowderParticle(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->data[3] = -gBattleAnimArgs[4]; } diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 2a9cd364e..294069efe 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -38,7 +38,7 @@ void sub_80DC5F4(u8 taskId); void sub_80DB74C(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER || IsContest()) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER || IsContest()) { sprite->oam.priority = 2; sprite->subpriority = 200; @@ -62,7 +62,7 @@ void sub_80DB74C(struct Sprite *sprite) if (!IsContest() && IsDoubleBattle()) { - if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) { sprite->pos1.x = 72; sprite->pos1.y = 80; @@ -75,7 +75,7 @@ void sub_80DB74C(struct Sprite *sprite) } else { - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; @@ -178,7 +178,7 @@ void sub_80DBA4C(struct Sprite *sprite) if (!IsContest() && IsDoubleBattle()) { - if (GetBankSide(gAnimBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) { sprite->pos1.x = 72 - gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1] + 80; @@ -211,7 +211,7 @@ void sub_80DBAF4(struct Sprite *sprite) sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { StartSpriteAnim(sprite, 1); sprite->pos1.x -= 40; @@ -234,7 +234,7 @@ void sub_80DBB70(struct Sprite *sprite) s16 x = sub_807A100(gAnimBankAttacker, 1) / 2; s16 y = sub_807A100(gAnimBankAttacker, 0) / -2; - if (GetBankSide(gAnimBankAttacker) == B_SIDE_OPPONENT) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_OPPONENT) { x = -x; } @@ -306,7 +306,7 @@ void sub_80DBCFC(u8 taskId) task->data[0] = spriteId; task->data[1] = 0; task->data[2] = 0; - task->data[3] = GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER ? 4 : 8; + task->data[3] = GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER ? 4 : 8; sub_80798F4(task, task->data[0], &gUnknown_083DA8C4); task->func = sub_80DBD58; diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c index 86b2c4659..7516d74e5 100644 --- a/src/battle/anim/ring.c +++ b/src/battle/anim/ring.c @@ -38,7 +38,7 @@ void sub_80D0FD8(struct Sprite* sprite) else r4 = GetBankPosition(bank, 2); - if (GetBankSide(bank) != 0) + if (GetBattlerSide(bank) != 0) gBattleAnimArgs[0] -= (sp0 - r4) - gBattleAnimArgs[0]; // This is weird. else gBattleAnimArgs[0] = sp0 - r4; @@ -90,7 +90,7 @@ void sub_80D10B8(struct Sprite* sprite) sp4 = 3; } - if (GetBankSide(bankr7) != 0) + if (GetBattlerSide(bankr7) != 0) { r9 = GetBankPosition(bankr7, r10) + gBattleAnimArgs[0]; if (IsAnimBankSpriteVisible(bankr8 ^ 2)) @@ -126,7 +126,7 @@ void sub_80D10B8(struct Sprite* sprite) sp1 = GetBankPosition(bankr8, sp4); } - if (GetBankSide(bankr8)) + if (GetBattlerSide(bankr8)) sp0 += gBattleAnimArgs[3]; else sp0 -= gBattleAnimArgs[3]; diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index a9e9afb71..4254c551c 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -78,7 +78,7 @@ void sub_80DCF60(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[5]); AnimateSprite(sprite); - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; @@ -154,7 +154,7 @@ void do_boulder_dust(u8 taskId) if (IsContest()) sub_80763FC(subStruct.field_8, (u16 *)subStruct.field_4, 0, 0); - if (gBattleAnimArgs[0] != 0 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (gBattleAnimArgs[0] != 0 && GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) var0 = 1; gTasks[taskId].data[0] = var0; @@ -231,7 +231,7 @@ void sub_80DD3AC(struct Sprite *sprite) { if (sprite->data[0] == 0) { - if (gBattleAnimArgs[3] != 0 && GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (gBattleAnimArgs[3] != 0 && GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { sprite->pos1.x = 304; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; @@ -514,7 +514,7 @@ static void sub_80DD928(struct Sprite *sprite) void sub_80DD978(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) == B_SIDE_OPPONENT) + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(sprite, 1); TranslateAnimSpriteToTargetMonLocation(sprite); diff --git a/src/battle/anim/scary_face.c b/src/battle/anim/scary_face.c index 8bc7bbd07..5a2c52825 100644 --- a/src/battle/anim/scary_face.c +++ b/src/battle/anim/scary_face.c @@ -43,7 +43,7 @@ void sub_80D23B4(u8 taskId) DmaFill32Defvars(3, 0, subStruct.field_4, 0x1000); if (IsContest()) LZDecompressVram(&gBattleAnimBackgroundTilemap_ScaryFaceContest, subStruct.field_4); - else if (GetBankSide(gAnimBankTarget) == 1) + else if (GetBattlerSide(gAnimBankTarget) == 1) LZDecompressVram(&gBattleAnimBackgroundTilemap_ScaryFacePlayer, subStruct.field_4); else LZDecompressVram(&gBattleAnimBackgroundTilemap_ScaryFaceOpponent, subStruct.field_4); diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c index 7f8154504..2bce9df41 100644 --- a/src/battle/anim/seed.c +++ b/src/battle/anim/seed.c @@ -21,7 +21,7 @@ static void AnimLeechSeedSprouts(struct Sprite* sprite); void AnimLeechSeed(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } diff --git a/src/battle/anim/sfx.c b/src/battle/anim/sfx.c index afe7c90b6..6d47f0b46 100644 --- a/src/battle/anim/sfx.c +++ b/src/battle/anim/sfx.c @@ -175,7 +175,7 @@ void sub_812B18C(u8 taskId) } } - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], 0xB); else species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], 0xB); diff --git a/src/battle/anim/shield.c b/src/battle/anim/shield.c index 676318545..323df4ab2 100644 --- a/src/battle/anim/shield.c +++ b/src/battle/anim/shield.c @@ -23,7 +23,7 @@ void sub_80CCD24(struct Sprite* sprite) sprite->pos1.x = sub_8077EE4(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; sprite->pos1.y = sub_8077EE4(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; - if (GetBankSide(gAnimBankAttacker) == 0 || IsContest()) + if (GetBattlerSide(gAnimBankAttacker) == 0 || IsContest()) sprite->oam.priority = sub_8079ED4(gAnimBankAttacker) + 1; else sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); diff --git a/src/battle/anim/shock.c b/src/battle/anim/shock.c index 16e04c9db..50bd78379 100644 --- a/src/battle/anim/shock.c +++ b/src/battle/anim/shock.c @@ -18,7 +18,7 @@ void sub_80D6294(struct Sprite *sprite) sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y -= gBattleAnimArgs[1]; diff --git a/src/battle/anim/silhouette.c b/src/battle/anim/silhouette.c index a3147f598..b34eaf0b5 100644 --- a/src/battle/anim/silhouette.c +++ b/src/battle/anim/silhouette.c @@ -35,7 +35,7 @@ void sub_80CB3A8(u8 taskId) u8 spriteId = GetAnimBankSpriteId(1); gTasks[taskId].data[10] += gTasks[taskId].data[0]; gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8; - if (GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankTarget)) { gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x; } diff --git a/src/battle/anim/sleep.c b/src/battle/anim/sleep.c index 0f0e54f80..cc3518395 100644 --- a/src/battle/anim/sleep.c +++ b/src/battle/anim/sleep.c @@ -16,7 +16,7 @@ static void sub_80CD394(struct Sprite* sprite); void sub_80CD328(struct Sprite* sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/battle/anim/slice.c b/src/battle/anim/slice.c index 80c58dddf..814aa46ac 100644 --- a/src/battle/anim/slice.c +++ b/src/battle/anim/slice.c @@ -19,7 +19,7 @@ void AnimCuttingSlice(struct Sprite* sprite) { sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) sprite->pos1.y += 8; sprite->callback = AnimSliceStep; @@ -69,7 +69,7 @@ void sub_80CC9BC(struct Sprite* sprite) sprite->pos1.x = a; sprite->pos1.y = b; - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) sprite->pos1.y += 8; sprite->callback = AnimSliceStep; diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c index 1501f51f1..b89338a26 100644 --- a/src/battle/anim/sonic.c +++ b/src/battle/anim/sonic.c @@ -26,7 +26,7 @@ void AnimSonicBoomProjectile(struct Sprite* sprite) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; } - else if (GetBankSide(gAnimBankAttacker) != 0) + else if (GetBattlerSide(gAnimBankAttacker) != 0) { gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[1] = -gBattleAnimArgs[1]; diff --git a/src/battle/anim/strike.c b/src/battle/anim/strike.c index bfa1dc4f7..832abe694 100644 --- a/src/battle/anim/strike.c +++ b/src/battle/anim/strike.c @@ -37,7 +37,7 @@ void sub_80CE670(struct Sprite* sprite) sprite->data[4] = sprite->pos1.y << 7; sprite->data[5] = -0xA00 / sprite->data[1]; } - else if (GetBankSide(gAnimBankAttacker) == 0) + else if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos1.x -= 40; sprite->pos1.y += 20; diff --git a/src/battle/anim/taunt_finger.c b/src/battle/anim/taunt_finger.c index 023e14e45..c512f8cf4 100644 --- a/src/battle/anim/taunt_finger.c +++ b/src/battle/anim/taunt_finger.c @@ -24,7 +24,7 @@ void sub_80CF1C8(struct Sprite* sprite) bank = gAnimBankTarget; sub_80CEF44(bank, sprite); - if (GetBankSide(bank) == 0) + if (GetBattlerSide(bank) == 0) { StartSpriteAnim(sprite, 0); sprite->data[0] = 2; diff --git a/src/battle/anim/thought.c b/src/battle/anim/thought.c index c3ab6f82c..fbd7dfaee 100644 --- a/src/battle/anim/thought.c +++ b/src/battle/anim/thought.c @@ -15,7 +15,7 @@ static void sub_80CF008(struct Sprite* sprite); void sub_80CEF44(u8 bank, struct Sprite* sprite) { - if (GetBankSide(bank) == 0) + if (GetBattlerSide(bank) == 0) sprite->pos1.x = sub_807A100(bank, 5) + 8; else sprite->pos1.x = sub_807A100(bank, 4) - 8; @@ -33,7 +33,7 @@ void sub_80CEF9C(struct Sprite* sprite) bank = gAnimBankTarget; sub_80CEF44(bank, sprite); - a = (GetBankSide(bank) == 0) ? 0 : 1; + a = (GetBattlerSide(bank) == 0) ? 0 : 1; sprite->data[0] = gBattleAnimArgs[1]; sprite->data[1] = a + 2; StartSpriteAnim(sprite, a); diff --git a/src/battle/anim/thrashing.c b/src/battle/anim/thrashing.c index 3fde815ae..34089de31 100644 --- a/src/battle/anim/thrashing.c +++ b/src/battle/anim/thrashing.c @@ -48,7 +48,7 @@ void sub_80D0AB8(u8 taskId) task->data[7] = 0; task->data[8] = 0; task->data[9] = 2; - if (GetBankSide(gAnimBankAttacker) == 1) + if (GetBattlerSide(gAnimBankAttacker) == 1) task->data[2] *= -1; task->func = sub_80D0B3C; diff --git a/src/battle/anim/thunder.c b/src/battle/anim/thunder.c index 2ed073221..70d4dc232 100644 --- a/src/battle/anim/thunder.c +++ b/src/battle/anim/thunder.c @@ -14,7 +14,7 @@ static void sub_80D6218(struct Sprite *); void sub_80D61C8(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/tile_out.c b/src/battle/anim/tile_out.c index 39d4ff01f..f253c2524 100644 --- a/src/battle/anim/tile_out.c +++ b/src/battle/anim/tile_out.c @@ -59,10 +59,10 @@ void unref_sub_80CE260(u8 taskId) u8 i; for (i = 0; i < gNoOfAllBanks; i++) { - if (gBattleAnimArgs[0] == 1 && GetBankSide(i) == 0) + if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == 0) sub_8043DB0(gHealthboxIDs[i]); - if (gBattleAnimArgs[1] == 1 && GetBankSide(i) == 1) + if (gBattleAnimArgs[1] == 1 && GetBattlerSide(i) == 1) sub_8043DB0(gHealthboxIDs[i]); } diff --git a/src/battle/anim/unused_2.c b/src/battle/anim/unused_2.c index 122f39e02..71e5e92d7 100644 --- a/src/battle/anim/unused_2.c +++ b/src/battle/anim/unused_2.c @@ -49,7 +49,7 @@ void unref_sub_80CCB6C(struct Sprite* sprite) void sub_80CCC50(struct Sprite* sprite) { sprite->data[0] = gBattleAnimArgs[2]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; diff --git a/src/battle/anim/unused_3.c b/src/battle/anim/unused_3.c index 6dbcbfefe..a89ed0246 100644 --- a/src/battle/anim/unused_3.c +++ b/src/battle/anim/unused_3.c @@ -16,7 +16,7 @@ static void sub_80CD2D4(struct Sprite* sprite); void sub_80CD274(struct Sprite* sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/battle/anim/unused_4.c b/src/battle/anim/unused_4.c index 50ffaba4a..63940f3e1 100644 --- a/src/battle/anim/unused_4.c +++ b/src/battle/anim/unused_4.c @@ -28,7 +28,7 @@ void sub_80CD9D4(struct Sprite* sprite) case 0: sprite->data[1] = 0; sprite->data[2] = gBankSpriteIds[gAnimBankAttacker]; - sprite->data[3] = GetBankSide(gAnimBankAttacker); + sprite->data[3] = GetBattlerSide(gAnimBankAttacker); sprite->data[4] = (sprite->data[3] != 0) ? 0x200 : -0x200; sprite->data[5] = 0; sub_8078E70(sprite->data[2], 0); diff --git a/src/battle/anim/unused_7.c b/src/battle/anim/unused_7.c index 5a2de33c3..eea10aaa2 100644 --- a/src/battle/anim/unused_7.c +++ b/src/battle/anim/unused_7.c @@ -33,7 +33,7 @@ void sub_80CF3C4(struct Sprite* sprite) sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); a = gBankSpriteIds[gAnimBankTarget]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; } diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c index e6945f9b2..2700bfd27 100644 --- a/src/battle/anim/water.c +++ b/src/battle/anim/water.c @@ -153,7 +153,7 @@ _080D3920:\n\ strb r0, [r2]\n\ ldr r0, _080D39A0 @ =gAnimBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -276,7 +276,7 @@ _080D3A90: .4byte gBattle_BG1_Y\n\ _080D3A94:\n\ ldr r0, _080D3AC4 @ =gAnimBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r1, r0, 24\n\ cmp r1, 0x1\n\ diff --git a/src/battle/anim/whip.c b/src/battle/anim/whip.c index cb3ce327e..08b24369d 100644 --- a/src/battle/anim/whip.c +++ b/src/battle/anim/whip.c @@ -20,7 +20,7 @@ void sub_80CC810(struct Sprite* sprite) // unused, beta effect for diagonal sprite movement? void sub_80CC82C(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; @@ -37,7 +37,7 @@ void sub_80CC82C(struct Sprite* sprite) void sub_80CC884(struct Sprite* sprite) { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) StartSpriteAnim(sprite, 1); sprite->callback = sub_80CC810; diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c index 24cecb60c..36fc655c3 100644 --- a/src/battle/anim/wisp_fire.c +++ b/src/battle/anim/wisp_fire.c @@ -58,7 +58,7 @@ void sub_80D5DDC(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[12] = !GetBankSide(gAnimBankAttacker) ? 1 : -1; + task->data[12] = !GetBattlerSide(gAnimBankAttacker) ? 1 : -1; task->data[13] = IsAnimBankSpriteVisible(gAnimBankTarget ^ 2) + 1; task->data[14] = GetAnimBankSpriteId(1); task->data[15] = GetAnimBankSpriteId(3); diff --git a/src/battle/anim/wisp_orb.c b/src/battle/anim/wisp_orb.c index 7c22b7f13..cd91080ba 100644 --- a/src/battle/anim/wisp_orb.c +++ b/src/battle/anim/wisp_orb.c @@ -25,7 +25,7 @@ void sub_80D5B0C(struct Sprite *sprite) StartSpriteAnim(sprite, gBattleAnimArgs[2]); sprite->data[7] = gBattleAnimArgs[2]; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->data[4] = 4; } @@ -39,7 +39,7 @@ void sub_80D5B0C(struct Sprite *sprite) break; case 1: sprite->data[1] += 192; - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) { sprite->pos2.y = -(sprite->data[1] >> 8); } diff --git a/src/battle/anim/withdraw.c b/src/battle/anim/withdraw.c index 933c97fa9..baf5d9b94 100644 --- a/src/battle/anim/withdraw.c +++ b/src/battle/anim/withdraw.c @@ -25,7 +25,7 @@ void sub_80CF514(u8 taskId) { u8 a = gBankSpriteIds[gAnimBankAttacker]; s16 b; - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { b = -gTasks[taskId].data[0]; } diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index ac4d791d5..4abf89bf1 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -3558,7 +3558,7 @@ void sub_8010800(void) #if DEBUG void debug_sub_80138CC(void) { - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { switch (gSharedMem[0x160FD]) { @@ -3755,7 +3755,7 @@ void SwitchInClearSetData(void) for (i = 0; i < gNoOfAllBanks; i++) { - if (GetBankSide(gActiveBattler) != GetBankSide(i) + if (GetBattlerSide(gActiveBattler) != GetBattlerSide(i) && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 && (gDisableStructs[i].bankWithSureHit == gActiveBattler)) { @@ -3924,7 +3924,7 @@ void sub_8011384(void) for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) - && GetBankSide(gActiveBattler) == 0) + && GetBattlerSide(gActiveBattler) == 0) { MEMSET_ALT(&gBattleMons[gActiveBattler], 0, 0x58, i, ptr); } @@ -3936,7 +3936,7 @@ void sub_8011384(void) gBattleMons[gActiveBattler].type1 = gBaseStats[gBattleMons[gActiveBattler].species].type1; gBattleMons[gActiveBattler].type2 = gBaseStats[gBattleMons[gActiveBattler].species].type2; gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); - r0 = GetBankSide(gActiveBattler); + r0 = GetBattlerSide(gActiveBattler); ewram160BC[r0] = gBattleMons[gActiveBattler].hp; for (i = 0; i < 8; i++) gBattleMons[gActiveBattler].statStages[i] = 6; @@ -3956,13 +3956,13 @@ void sub_8011384(void) EmitTrainerThrow(0); MarkBufferBankForExecution(gActiveBattler); } - if (GetBankSide(gActiveBattler) == 1 + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } else { - if (GetBankSide(gActiveBattler) == 1 + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); @@ -4114,7 +4114,7 @@ void bc_801362C(void) { for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBattler) == 1 + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } @@ -4169,7 +4169,7 @@ void unref_sub_8011A68(void) { for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { EmitSendOutPoke(0, gBattlerPartyIndexes[gActiveBattler], 0); MarkBufferBankForExecution(gActiveBattler); @@ -4348,10 +4348,10 @@ u8 CanRunFromBattle(void) return 0; if (gBattleMons[gActiveBattler].ability == ABILITY_RUN_AWAY) return 0; - r6 = GetBankSide(gActiveBattler); + r6 = GetBattlerSide(gActiveBattler); for (i = 0; i < gNoOfAllBanks; i++) { - if (r6 != GetBankSide(i) + if (r6 != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_SHADOW_TAG) { ewram16003 = i; @@ -4359,7 +4359,7 @@ u8 CanRunFromBattle(void) gBattleCommunication[5] = 2; return 2; } - if (r6 != GetBankSide(i) + if (r6 != GetBattlerSide(i) && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE && gBattleMons[gActiveBattler].type1 != 2 && gBattleMons[gActiveBattler].type2 != 2 @@ -6017,7 +6017,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) } // Only give badge speed boost to the player's mon. - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBankSide(bank1) == 0) + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBattlerSide(bank1) == 0) bank1AdjustedSpeed = (bank1AdjustedSpeed * 110) / 100; if (heldItemEffect == HOLD_EFFECT_MACHO_BRACE) @@ -6045,7 +6045,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreMovePriorities) } // Only give badge speed boost to the player's mon. - if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBankSide(bank2) == 0) + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK) && FlagGet(FLAG_BADGE03_GET) && GetBattlerSide(bank2) == 0) { bank2AdjustedSpeed = (bank2AdjustedSpeed * 110) / 100; } @@ -6427,7 +6427,7 @@ void HandleEndTurn_FinishBattle(void) { for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (gBattleResults.poke1Species == SPECIES_NONE) { @@ -6618,16 +6618,16 @@ void HandleAction_UseMove(void) gCurrentMove = gChosenMove = gBattleMons[gBankAttacker].moves[gCurrMovePos]; } - if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) gBattleResults.lastUsedMove = gCurrentMove; else gBattleResults.opponentMove = gCurrentMove; // choose target - side = GetBankSide(gBankAttacker) ^ BIT_SIDE; + side = GetBattlerSide(gBankAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer != 0 && gBattleMoves[gCurrentMove].target == MOVE_TARGET_SELECTED - && GetBankSide(gBankAttacker) != GetBankSide(gSideTimers[side].followmeTarget) + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gSideTimers[side].followmeTarget) && gBattleMons[gSideTimers[side].followmeTarget].hp != 0) { gBankTarget = gSideTimers[side].followmeTarget; @@ -6639,10 +6639,10 @@ void HandleAction_UseMove(void) && gBattleMons[ewram16010arr(gBankAttacker)].ability != ABILITY_LIGHTNING_ROD && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) { - side = GetBankSide(gBankAttacker); + side = GetBattlerSide(gBankAttacker); for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (side != GetBankSide(gActiveBattler) + if (side != GetBattlerSide(gActiveBattler) && ewram16010arr(gBankAttacker) != gActiveBattler && gBattleMons[gActiveBattler].ability == ABILITY_LIGHTNING_ROD && BankGetTurnOrder(gActiveBattler) < var) @@ -6654,7 +6654,7 @@ void HandleAction_UseMove(void) { if (gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { if (Random() & 1) gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -6676,7 +6676,7 @@ void HandleAction_UseMove(void) if (gAbsentBattlerFlags & gBitTable[gBankTarget]) { - if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) + if (GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) { gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } @@ -6699,7 +6699,7 @@ void HandleAction_UseMove(void) else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleMoves[gChosenMove].target & MOVE_TARGET_RANDOM) { - if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { if (Random() & 1) gBankTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -6715,7 +6715,7 @@ void HandleAction_UseMove(void) } if (gAbsentBattlerFlags & gBitTable[gBankTarget] - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) { gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } @@ -6725,7 +6725,7 @@ void HandleAction_UseMove(void) gBankTarget = ewram16010arr(gBankAttacker); if (gAbsentBattlerFlags & gBitTable[gBankTarget]) { - if (GetBankSide(gBankAttacker) != GetBankSide(gBankTarget)) + if (GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget)) { gBankTarget = GetBattlerAtPosition(GetBattlerPosition(gBankTarget) ^ BIT_FLANK); } @@ -6777,7 +6777,7 @@ void HandleAction_UseItem(void) { gBattlescriptCurrInstr = gBattlescriptsForRunningByItem[0]; } - else if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) + else if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { gBattlescriptCurrInstr = gBattlescriptsForUsingItem[0]; } @@ -6919,7 +6919,7 @@ _08014844: .4byte gBattlescriptCurrInstr\n\ _08014848: .4byte gBattlescriptsForRunningByItem\n\ _0801484C:\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0801486C\n\ @@ -7272,7 +7272,7 @@ void HandleAction_Run(void) for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) { - if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { if (gActionForBanks[gActiveBattler] == ACTION_RUN) gBattleOutcome |= BATTLE_LOST; @@ -7288,7 +7288,7 @@ void HandleAction_Run(void) } else { - if (GetBankSide(gBankAttacker) == B_SIDE_PLAYER) + if (GetBattlerSide(gBankAttacker) == B_SIDE_PLAYER) { if (!TryRunFromBattle(gBankAttacker)) // failed to run away { diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index e1cc515ec..9c6d3bbd4 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -193,7 +193,7 @@ static bool8 IsTwoTurnsMove(u16 move); static void TrySetDestinyBondToHappen(void); static void CheckWonderGuardAndLevitate(void); u8 GetBattlerPosition(u8 bank); -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); u8 GetBattleBank(u8 bankValue); s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 a4, u16 powerOverride, u8 typeOverride, u8 bank_atk, u8 bank_def); static u8 AttacksThisTurn(u8 bank, u16 move); //Note: returns 1 if it's a charging turn, otherwise 2 @@ -1999,7 +1999,7 @@ static void atk0B_healthbarupdate(void) EmitHealthBarUpdate(0, gBattleMoveDamage); MarkBufferBankForExecution(gActiveBattler); - if (GetBankSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) gBattleResults.unk5_0 = 1; } } @@ -2729,8 +2729,8 @@ void SetMoveEffect(bool8 primary, u8 certainArg) break; case 31: //item steal { - u8 side = GetBankSide(gBankAttacker); - if (GetBankSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) + u8 side = GetBattlerSide(gBankAttacker); + if (GetBattlerSide(gBankAttacker) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400) {gBattlescriptCurrInstr++; return;} if (!(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)) && gTrainerBattleOpponent != 0x400 && (gWishFutureKnock.knockedOffPokes[side] & gBitTable[gBattlerPartyIndexes[gBankAttacker]])) {gBattlescriptCurrInstr++; return;} @@ -2832,7 +2832,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) {gBattlescriptCurrInstr++; return;} else { - u8 side = GetBankSide(gEffectBank); + u8 side = GetBattlerSide(gEffectBank); gLastUsedItem = gBattleMons[gEffectBank].item; gBattleMons[gEffectBank].item = 0; gWishFutureKnock.knockedOffPokes[side] |= gBitTable[gBattlerPartyIndexes[gEffectBank]]; @@ -4499,11 +4499,11 @@ _0801F1A0: .4byte gBankAttacker\n\ _0801F1A4:\n\ ldr r4, _0801F254 @ =gBankAttacker\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r6, r0, 24\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -4924,7 +4924,7 @@ _0801F540:\n\ cmp r0, 0\n\ beq _0801F5DC\n\ adds r0, r3, 0\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r6, r0, 24\n\ ldr r1, _0801F5B8 @ =gLastUsedItem\n\ @@ -5090,7 +5090,7 @@ static void atk19_tryfaintmon(void) BattleScriptPop(); gBattlescriptCurrInstr = r4; - gSideAffecting[GetBankSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED; + gSideAffecting[GetBattlerSide(gActiveBattler)] &= ~SIDE_STATUS_SPIKES_DAMAGED; } else { @@ -5126,7 +5126,7 @@ static void atk19_tryfaintmon(void) gHitMarker |= HITMARKER_FAINTED(gActiveBattler); BattleScriptPush(gBattlescriptCurrInstr + 7); gBattlescriptCurrInstr = r4; - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { gHitMarker |= HITMARKER_x400000; if (gBattleResults.playerFaintCounter < 0xFF) @@ -5153,7 +5153,7 @@ static void atk19_tryfaintmon(void) } if ((gStatuses3[gBankTarget] & STATUS3_GRUDGE) && !(gHitMarker & HITMARKER_GRUDGE) - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget) && gBattleMons[gBankAttacker].hp != 0 && gCurrentMove != MOVE_STRUGGLE) { @@ -5382,7 +5382,7 @@ static void atk23_getexp(void) switch (gBattleStruct->getexpStateTracker) { case 0: // check if should receive exp at all - if (GetBankSide(gBank1) != B_SIDE_OPPONENT || (gBattleTypeFlags & + if (GetBattlerSide(gBank1) != B_SIDE_OPPONENT || (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER @@ -6783,7 +6783,7 @@ static void atk49_moveend(void) case 0: //rage check if (gBattleMons[gBankTarget].status2 & STATUS2_RAGE && gBattleMons[gBankTarget].hp && gBankAttacker != gBankTarget - && GetBankSide(gBankAttacker) != GetBankSide(gBankTarget) + && GetBattlerSide(gBankAttacker) != GetBattlerSide(gBankTarget) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED && gBattleMoves[gCurrentMove].power && gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] <= 0xB) { @@ -7070,11 +7070,11 @@ _08021958:\n\ cmp r1, r4\n\ beq _080219FE\n\ adds r0, r1, 0\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ adds r4, r0, 0\n\ ldr r1, _08021A0C @ =gBankTarget\n\ ldrb r0, [r1]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r4, 24\n\ lsls r0, 24\n\ cmp r4, r0\n\ @@ -8327,7 +8327,7 @@ static void atk4D_switchindataupdate(void) gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].altAbility); // check knocked off item - i = GetBankSide(gActiveBattler); + i = GetBattlerSide(gActiveBattler); if (gWishFutureKnock.knockedOffPokes[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]]) { gBattleMons[gActiveBattler].item = 0; @@ -8357,7 +8357,7 @@ static void atk4E_switchinanim(void) return; gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (GetBankSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) + if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER))) { GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), 2); } @@ -8383,7 +8383,7 @@ static void atk4F_jumpifcantswitch(void) } if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if (GetBankSide(gActiveBattler) == 1) + if (GetBattlerSide(gActiveBattler) == 1) party = gEnemyParty; else party = gPlayerParty; @@ -8405,7 +8405,7 @@ static void atk4F_jumpifcantswitch(void) } else { - if (GetBankSide(gActiveBattler) == 1) + if (GetBattlerSide(gActiveBattler) == 1) { r7 = GetBattlerAtPosition(1); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -9575,14 +9575,14 @@ static void atk52_switchineffects(void) gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); gSpecialStatuses[gActiveBattler].flag40 = 0; - if (!(gSideAffecting[GetBankSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBankSide(gActiveBattler)] & SIDE_STATUS_SPIKES) + if (!(gSideAffecting[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) && (gSideAffecting[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES) && gBattleMons[gActiveBattler].type1 != TYPE_FLYING && gBattleMons[gActiveBattler].type2 != TYPE_FLYING && gBattleMons[gActiveBattler].ability != ABILITY_LEVITATE) { u8 spikesDmg; - gSideAffecting[GetBankSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED; + gSideAffecting[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED; - spikesDmg = (5 - gSideTimers[GetBankSide(gActiveBattler)].spikesAmount) * 2; + spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2; gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (spikesDmg); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -9606,7 +9606,7 @@ static void atk52_switchineffects(void) if (AbilityBattleEffects(0, gActiveBattler, 0, 0, 0) == 0 && ItemBattleEffects(0, gActiveBattler, 0) == 0) { - gSideAffecting[GetBankSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); + gSideAffecting[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); for (i = 0; i < gNoOfAllBanks; i++) { @@ -9616,7 +9616,7 @@ static void atk52_switchineffects(void) for (i = 0; i < gNoOfAllBanks; i++) { - *(HP_ON_SWITCHOUT + GetBankSide(i)) = gBattleMons[i].hp; + *(HP_ON_SWITCHOUT + GetBattlerSide(i)) = gBattleMons[i].hp; } if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5) @@ -10275,7 +10275,7 @@ static void atk5F_8025B24(void) static void atk60_incrementgamestat(void) { - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) { IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1)); } @@ -10291,7 +10291,7 @@ static void atk61_drawpartystatussummary(void) return; gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -11004,7 +11004,7 @@ static void atk74_hpthresholds2(void) { gActiveBattler = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1)); opposing_bank = gActiveBattler ^ 1; - hp_switchout = ewram160BCarr(GetBankSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBankSide(opposing_bank)]; + hp_switchout = ewram160BCarr(GetBattlerSide(opposing_bank)); //gBattleStruct->HP_OnSwitchout[GetBattlerSide(opposing_bank)]; result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout; if (gBattleMons[opposing_bank].hp >= hp_switchout) @@ -11039,7 +11039,7 @@ static void atk76_various(void) { u8 side; gBankAttacker = gBankTarget; - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) gBankTarget = gSideTimers[side].followmeTarget; else @@ -11757,7 +11757,7 @@ static void atk8F_forcerandomswitch(void) struct Pokemon* party; u8 valid; u8 val; - if (!GetBankSide(gBankTarget)) + if (!GetBattlerSide(gBankTarget)) party = gPlayerParty; else party = gEnemyParty; @@ -12413,12 +12413,12 @@ static void atk97_tryinfatuating(void) struct Pokemon *attacker, *target; u16 atk_species, def_species; u32 atk_pid, def_pid; - if (!GetBankSide(gBankAttacker)) + if (!GetBattlerSide(gBankAttacker)) attacker = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; else attacker = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; - if (!GetBankSide(gBankTarget)) + if (!GetBattlerSide(gBankTarget)) target = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; else target = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; @@ -12937,8 +12937,8 @@ static void atkA0_psywavedamageeffect(void) static void atkA1_counterdamagecalculator(void) { - u8 atk_side = GetBankSide(gBankAttacker); - u8 def_side = GetBankSide(gProtectStructs[gBankAttacker].physicalBank); + u8 atk_side = GetBattlerSide(gBankAttacker); + u8 def_side = GetBattlerSide(gProtectStructs[gBankAttacker].physicalBank); if (gProtectStructs[gBankAttacker].physicalDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBankAttacker].physicalBank].hp) { gBattleMoveDamage = gProtectStructs[gBankAttacker].physicalDmg * 2; @@ -12957,8 +12957,8 @@ static void atkA1_counterdamagecalculator(void) static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the physical -> special field changes { - u8 atk_side = GetBankSide(gBankAttacker); - u8 def_side = GetBankSide(gProtectStructs[gBankAttacker].specialBank); + u8 atk_side = GetBattlerSide(gBankAttacker); + u8 def_side = GetBattlerSide(gProtectStructs[gBankAttacker].specialBank); if (gProtectStructs[gBankAttacker].specialDmg && atk_side != def_side && gBattleMons[gProtectStructs[gBankAttacker].specialBank].hp) { gBattleMoveDamage = gProtectStructs[gBankAttacker].specialDmg * 2; @@ -13478,8 +13478,8 @@ static void atkAA_setdestinybond(void) static void TrySetDestinyBondToHappen(void) { - u8 atk_side = GetBankSide(gBankAttacker); - u8 def_side = GetBankSide(gBankTarget); + u8 atk_side = GetBattlerSide(gBankAttacker); + u8 def_side = GetBattlerSide(gBankTarget); if (gBattleMons[gBankTarget].status2 & STATUS2_DESTINY_BOND && atk_side != def_side && !(gHitMarker & HITMARKER_GRUDGE)) gHitMarker |= HITMARKER_DESTINYBOND; } @@ -13560,7 +13560,7 @@ static void atkAE_healpartystatus(void) int i; gBattleCommunication[MULTISTRING_CHOOSER] = 0; - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -13644,7 +13644,7 @@ static void atkAF_cursetarget(void) static void atkB0_trysetspikes(void) { - u8 side = GetBankSide(gBankAttacker) ^ 1; + u8 side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].spikesAmount == 3) { gSpecialStatuses[gBankAttacker].flag20 = 1; @@ -13860,14 +13860,14 @@ static void atkBA_jumpifnopursuitswitchdmg(void) { if (gMultiHitCounter == 1) { - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) gBankTarget = GetBattlerAtPosition(1); else gBankTarget = GetBattlerAtPosition(0); } else { - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) gBankTarget = GetBattlerAtPosition(3); else gBankTarget = GetBattlerAtPosition(2); @@ -13958,10 +13958,10 @@ static void atkBE_rapidspinfree(void) //rapid spin BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_LeechSeedFree; } - else if (gSideAffecting[GetBankSide(gBankAttacker)] & SIDE_STATUS_SPIKES) + else if (gSideAffecting[GetBattlerSide(gBankAttacker)] & SIDE_STATUS_SPIKES) { - gSideAffecting[GetBankSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES); - gSideTimers[GetBankSide(gBankAttacker)].spikesAmount = 0; + gSideAffecting[GetBattlerSide(gBankAttacker)] &= ~(SIDE_STATUS_SPIKES); + gSideTimers[GetBattlerSide(gBankAttacker)].spikesAmount = 0; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SpikesFree; } @@ -14189,7 +14189,7 @@ static void atkC3_trysetfutureattack(void) static void atkC4_trydobeatup(void) { register struct Pokemon* party asm("r7"); - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -14241,7 +14241,7 @@ static void atkC4_trydobeatup(void) push {r6,r7}\n\ ldr r0, _08029A8C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ ldr r7, _08029A90 @ =gEnemyParty\n\ cmp r0, 0\n\ @@ -14562,8 +14562,8 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento static void atkCA_setforcedtarget(void) //follow me { - gSideTimers[GetBankSide(gBankAttacker)].followmeTimer = 1; - gSideTimers[GetBankSide(gBankAttacker)].followmeTarget = gBankAttacker; + gSideTimers[GetBattlerSide(gBankAttacker)].followmeTimer = 1; + gSideTimers[GetBattlerSide(gBankAttacker)].followmeTarget = gBankAttacker; gBattlescriptCurrInstr++; } @@ -14645,9 +14645,9 @@ static void atkD1_trysethelpinghand(void) #ifdef NONMATCHING static void atkD2_tryswapitems(void) { - if ((GetBankSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == 0x400)) + if ((GetBattlerSide(gBankAttacker) != 1 || gBattleTypeFlags & (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER) || gTrainerBattleOpponent == 0x400)) { - u8 side = GetBankSide(gBankAttacker); + u8 side = GetBattlerSide(gBankAttacker); if (gBattleTypeFlags) } @@ -14667,7 +14667,7 @@ static void atkD2_tryswapitems(void) sub sp, 0x4\n\ ldr r0, _0802A30C @ =gBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -14687,7 +14687,7 @@ static void atkD2_tryswapitems(void) _0802A24C:\n\ ldr r4, _0802A30C @ =gBankAttacker\n\ ldrb r0, [r4]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r2, r0, 24\n\ ldr r0, _0802A310 @ =gBattleTypeFlags\n\ @@ -15102,7 +15102,7 @@ static void atkDB_tryimprision(void) PressurePPLoseOnUsingImprision(gBankAttacker); for (bank = 0; bank < gNoOfAllBanks; bank++) { - if (r8 != GetBankSide(bank)) + if (r8 != GetBattlerSide(bank)) { int j; for (j = 0; j < 4; j++) @@ -15427,7 +15427,7 @@ static void atkE1_trygetintimidatetarget(void) u8 side; gBattleStruct->scriptingActive = ewram160DD; - side = GetBankSide(gBattleStruct->scriptingActive); + side = GetBattlerSide(gBattleStruct->scriptingActive); gBattleTextBuff1[0] = 0xFD; gBattleTextBuff1[1] = 9; gBattleTextBuff1[2] = gBattleMons[gBattleStruct->scriptingActive].ability; @@ -15435,7 +15435,7 @@ static void atkE1_trygetintimidatetarget(void) for (;gBankTarget < gNoOfAllBanks; gBankTarget++) { - if (GetBankSide(gBankTarget) == side) + if (GetBattlerSide(gBankTarget) == side) continue; if (!(gAbsentBattlerFlags & gBitTable[gBankTarget])) break; @@ -15665,7 +15665,7 @@ static void atkED_snatchsetbanks(void) static void atkEE_removelightscreenreflect(void) //brick break { - u8 side = GetBankSide(gBankAttacker) ^ 1; + u8 side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].reflectTimer || gSideTimers[side].lightscreenTimer) { gSideAffecting[side] &= ~(SIDE_STATUS_REFLECT); diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index e691a5d29..70863a9fd 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -578,7 +578,7 @@ u8 battle_load_something(u8 *pState, u8 *b) } break; case 5: - if (GetBankSide(*b) == 0) + if (GetBattlerSide(*b) == 0) { if (!(gBattleTypeFlags & 0x80)) sub_8045A5C(gHealthboxIDs[*b], &gPlayerParty[gBattlerPartyIndexes[*b]], 0); @@ -671,11 +671,11 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) else { r10 = GetBattlerPosition(a); - if (GetBankSide(b) == 1) + if (GetBattlerSide(b) == 1) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES); else species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[b]], MON_DATA_SPECIES); - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_PERSONALITY); otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_OT_ID); @@ -742,7 +742,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) r4 = GetBattlerPosition(a); if (IsContest()) LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); - else if (GetBankSide(a) != 0) + else if (GetBattlerSide(a) != 0) LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]); else LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]); @@ -758,7 +758,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b) { if (!IsContest()) { - if (GetBankSide(a) != 0) + if (GetBattlerSide(a) != 0) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[a]], a); else BattleLoadPlayerMonSprite(&gPlayerParty[gBattlerPartyIndexes[a]], a); @@ -921,7 +921,7 @@ void sub_8032978(struct Sprite *sprite) void sub_8032984(u8 a, u16 b) { - if (GetBankSide(a) != 0) + if (GetBattlerSide(a) != 0) { if (ewram17800[a].transformedSpecies != 0) b = ewram17800[a].transformedSpecies; diff --git a/src/battle/battle_9.c b/src/battle/battle_9.c deleted file mode 100755 index c8bb89a0a..000000000 --- a/src/battle/battle_9.c +++ /dev/null @@ -1,863 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "battle_script_commands.h" -#include "data2.h" -#include "ewram.h" -#include "pokemon.h" -#include "random.h" -#include "rom_8077ABC.h" -#include "rom3.h" -#include "util.h" -#include "constants/abilities.h" -#include "constants/items.h" -#include "constants/moves.h" -#include "constants/species.h" - -extern u8 gUnknown_02023A14_50; - -extern u8 gLastHitBy[]; -extern u8 gActiveBattler; -extern u16 gBattleTypeFlags; -extern u8 gAbsentBattlerFlags; -extern s32 gBattleMoveDamage; -extern u8 gMoveResultFlags; -extern u16 gDynamicBasePower; -extern u8 gCritMultiplier; -extern u16 gBattlerPartyIndexes[]; -extern u16 gLastLandedMoves[]; -extern const u8 gTypeEffectiveness[]; -extern struct BattlePokemon gBattleMons[]; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; - -/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); -/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent); -/*static*/ bool8 ShouldUseItem(void); -/*static*/ u8 GetMostSuitableMonToSwitchInto(void); - - -/*static*/ bool8 ShouldSwitchIfPerishSong(void) -{ - if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG - && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) - { - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = 6; - Emitcmd33(1, 2, 0); - return TRUE; - } - - return FALSE; -} - -#ifdef NONMATCHING -/*static*/ bool8 ShouldSwitchIfWonderGuard(void) -{ - u8 opposingBank; - u8 moveFlags; - s32 i, j; - - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - return FALSE; - - if (gBattleMons[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)].ability != ABILITY_WONDER_GUARD) - return FALSE; - - // check if pokemon has a super effective move - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - for (i = 0; i < 4; i++) - { - u16 move = gBattleMons[gActiveBattler].moves[i]; - if (move == MOVE_NONE) - continue; - - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) - return FALSE; - } - - // find a pokemon in the party that has a super effective move - for (i = 0; i < 6; i++) - { - if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0 - || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE - || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG - || i == gBattlerPartyIndexes[gActiveBattler]) - continue; - - GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); // unused return value - GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY); // unused return value - - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - for (j = 0; j < 4; j++) - { - u16 move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); - if (move == MOVE_NONE) - continue; - - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && (Random() % 3) < 2) - { - // we found a mon - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = i; - Emitcmd33(1, B_ACTION_SWITCH, 0); - return TRUE; - } - } - } - - return FALSE; // at this point there is not a single pokemon in the party that has a super effective move against a pokemon with wonder guard -} -#else -__attribute__((naked)) -/*static*/ bool8 ShouldSwitchIfWonderGuard(void) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - ldr r0, _0803606C @ =gBattleTypeFlags\n\ - ldrh r1, [r0]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080360A0\n\ - b _080361C8\n\ - .align 2, 0\n\ -_0803606C: .4byte gBattleTypeFlags\n\ -_08036070:\n\ - ldr r0, _08036094 @ =gActiveBattler\n\ - ldrb r0, [r0]\n\ - bl GetBattlerPosition\n\ - ldr r1, _08036098 @ =gSharedMem\n\ - lsls r0, 24\n\ - lsrs r0, 25\n\ - ldr r2, _0803609C @ =0x000160c8\n\ - adds r0, r2\n\ - adds r0, r1\n\ - strb r6, [r0]\n\ - movs r0, 0x1\n\ - movs r1, 0x2\n\ - movs r2, 0\n\ - bl Emitcmd33\n\ - movs r0, 0x1\n\ - b _080361CA\n\ - .align 2, 0\n\ -_08036094: .4byte gActiveBattler\n\ -_08036098: .4byte gSharedMem\n\ -_0803609C: .4byte 0x000160c8\n\ -_080360A0:\n\ - ldr r4, _080361D8 @ =gBattleMons\n\ - movs r0, 0\n\ - bl GetBattlerAtPosition\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - movs r1, 0x58\n\ - muls r0, r1\n\ - adds r0, r4\n\ - adds r0, 0x20\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x19\n\ - beq _080360BC\n\ - b _080361C8\n\ -_080360BC:\n\ - movs r0, 0\n\ - bl GetBattlerAtPosition\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - movs r6, 0\n\ - adds r7, r4, 0\n\ - movs r5, 0x58\n\ - adds r0, r2, 0\n\ - muls r0, r5\n\ - adds r4, r0, r7\n\ - movs r3, 0x20\n\ - adds r3, r4\n\ - mov r8, r3\n\ -_080360D8:\n\ - lsls r1, r6, 1\n\ - ldr r0, _080361DC @ =gActiveBattler\n\ - ldrb r0, [r0]\n\ - muls r0, r5\n\ - adds r1, r0\n\ - adds r0, r7, 0\n\ - adds r0, 0xC\n\ - adds r1, r0\n\ - ldrh r0, [r1]\n\ - cmp r0, 0\n\ - beq _08036104\n\ - ldrh r1, [r4]\n\ - mov r3, r8\n\ - ldrb r2, [r3]\n\ - bl AI_TypeCalc\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - movs r0, 0x2\n\ - ands r1, r0\n\ - cmp r1, 0\n\ - bne _080361C8\n\ -_08036104:\n\ - adds r6, 0x1\n\ - cmp r6, 0x3\n\ - ble _080360D8\n\ - movs r6, 0\n\ - ldr r0, _080361E0 @ =gEnemyParty\n\ - mov r9, r0\n\ -_08036110:\n\ - movs r0, 0x64\n\ - adds r5, r6, 0\n\ - muls r5, r0\n\ - mov r2, r9\n\ - adds r4, r5, r2\n\ - adds r0, r4, 0\n\ - movs r1, 0x39\n\ - bl GetMonData\n\ - cmp r0, 0\n\ - beq _080361C2\n\ - adds r0, r4, 0\n\ - movs r1, 0x41\n\ - bl GetMonData\n\ - cmp r0, 0\n\ - beq _080361C2\n\ - adds r0, r4, 0\n\ - movs r1, 0x41\n\ - bl GetMonData\n\ - movs r1, 0xCE\n\ - lsls r1, 1\n\ - cmp r0, r1\n\ - beq _080361C2\n\ - ldr r1, _080361E4 @ =gBattlerPartyIndexes\n\ - ldr r0, _080361DC @ =gActiveBattler\n\ - ldrb r0, [r0]\n\ - lsls r0, 1\n\ - adds r0, r1\n\ - ldrh r0, [r0]\n\ - cmp r6, r0\n\ - beq _080361C2\n\ - adds r0, r4, 0\n\ - movs r1, 0xB\n\ - bl GetMonData\n\ - adds r0, r4, 0\n\ - movs r1, 0x2E\n\ - bl GetMonData\n\ - movs r0, 0\n\ - bl GetBattlerAtPosition\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - movs r4, 0\n\ - mov r8, r5\n\ - ldr r1, _080361D8 @ =gBattleMons\n\ - movs r0, 0x58\n\ - muls r0, r2\n\ - adds r5, r0, r1\n\ - adds r7, r5, 0\n\ - adds r7, 0x20\n\ -_0803617C:\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - mov r0, r8\n\ - add r0, r9\n\ - bl GetMonData\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - cmp r0, 0\n\ - beq _080361BC\n\ - ldrh r1, [r5]\n\ - ldrb r2, [r7]\n\ - bl AI_TypeCalc\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - movs r0, 0x2\n\ - ands r1, r0\n\ - cmp r1, 0\n\ - beq _080361BC\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0x3\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - cmp r0, 0x1\n\ - bhi _080361BC\n\ - b _08036070\n\ -_080361BC:\n\ - adds r4, 0x1\n\ - cmp r4, 0x3\n\ - ble _0803617C\n\ -_080361C2:\n\ - adds r6, 0x1\n\ - cmp r6, 0x5\n\ - ble _08036110\n\ -_080361C8:\n\ - movs r0, 0\n\ -_080361CA:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_080361D8: .4byte gBattleMons\n\ -_080361DC: .4byte gActiveBattler\n\ -_080361E0: .4byte gEnemyParty\n\ -_080361E4: .4byte gBattlerPartyIndexes\n\ - .syntax divided\n"); -} -#endif // NONMATCHING - -/*static*/ bool8 FindMonThatAbsorbsOpponentsMove(void) -{ - u8 bankIn1, bankIn2; - u8 absorbingTypeAbility; - s32 i; - - if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) - return FALSE; - if (gLastLandedMoves[gActiveBattler] == 0) - return FALSE; - if (gLastLandedMoves[gActiveBattler] == 0xFFFF) - return FALSE; - if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) - return FALSE; - - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - { - bankIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - bankIn2 = gActiveBattler; - else - bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); - } - else - { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; - } - - if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) - absorbingTypeAbility = ABILITY_FLASH_FIRE; - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER) - absorbingTypeAbility = ABILITY_WATER_ABSORB; - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC) - absorbingTypeAbility = ABILITY_VOLT_ABSORB; - else - return FALSE; - - if (gBattleMons[gActiveBattler].ability == absorbingTypeAbility) - return FALSE; - - for (i = 0; i < 6; i++) - { - u16 species; - u8 monAbility; - - if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) - continue; - if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) - continue; - if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) - continue; - if (i == gBattlerPartyIndexes[bankIn1]) - continue; - if (i == gBattlerPartyIndexes[bankIn2]) - continue; - if (i == ewram16068arr(bankIn1)) - continue; - if (i == ewram16068arr(bankIn2)) - continue; - - species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); - if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) - monAbility = gBaseStats[species].ability2; - else - monAbility = gBaseStats[species].ability1; - - if (absorbingTypeAbility == monAbility && Random() & 1) - { - // we found a mon - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; - Emitcmd33(1, B_ACTION_SWITCH, 0); - return TRUE; - } - } - - return FALSE; -} - -/*static*/ bool8 ShouldSwitchIfNaturalCure(void) -{ - if (!(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP)) - return FALSE; - if (gBattleMons[gActiveBattler].ability != ABILITY_NATURAL_CURE) - return FALSE; - if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2) - return FALSE; - - if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) - { - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; - Emitcmd33(1, B_ACTION_SWITCH, 0); - return TRUE; - } - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) - { - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; - Emitcmd33(1, B_ACTION_SWITCH, 0); - return TRUE; - } - - if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1)) - return TRUE; - if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1)) - return TRUE; - if (Random() & 1) - { - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; - Emitcmd33(1, B_ACTION_SWITCH, 0); - return TRUE; - } - - return FALSE; -} - -/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) -{ - u8 opposingBank; - s32 i; - u8 moveFlags; - u16 move; - - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) - { - for (i = 0; i < 4; i++) - { - move = gBattleMons[gActiveBattler].moves[i]; - if (move == MOVE_NONE) - continue; - - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) - { - if (noRng) - return TRUE; - if (Random() % 10 != 0) - return TRUE; - } - } - } - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - return FALSE; - - opposingBank = GetBattlerAtPosition(BATTLE_PARTNER(B_POSITION_PLAYER_LEFT)); - if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) - { - for (i = 0; i < 4; i++) - { - move = gBattleMons[gActiveBattler].moves[i]; - if (move == MOVE_NONE) - continue; - - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); - if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) - { - if (noRng) - return TRUE; - if (Random() % 10 != 0) - return TRUE; - } - } - } - - return FALSE; -} - -/*static*/ bool8 AreStatsRaised(void) -{ - u8 buffedStatsValue = 0; - s32 i; - - for (i = 0; i < BATTLE_STATS_NO; i++) - { - if (gBattleMons[gActiveBattler].statStages[i] > 6) - buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6; - } - - return (buffedStatsValue > 3); -} - -/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) -{ - u8 bankIn1, bankIn2; - s32 i, j; - u16 move; - u8 moveFlags; - - if (gLastLandedMoves[gActiveBattler] == 0) - return FALSE; - if (gLastLandedMoves[gActiveBattler] == 0xFFFF) - return FALSE; - if (gLastHitBy[gActiveBattler] == 0xFF) - return FALSE; - if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) - return FALSE; - - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - { - bankIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - bankIn2 = gActiveBattler; - else - bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); - } - else - { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; - } - - for (i = 0; i < 6; i++) - { - u16 species; - u8 monAbility; - - if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) - continue; - if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) - continue; - if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) - continue; - if (i == gBattlerPartyIndexes[bankIn1]) - continue; - if (i == gBattlerPartyIndexes[bankIn2]) - continue; - if (i == ewram16068arr(bankIn1)) - continue; - if (i == ewram16068arr(bankIn2)) - continue; - - species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); - if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) - monAbility = gBaseStats[species].ability2; - else - monAbility = gBaseStats[species].ability1; - - moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility); - if (moveFlags & flags) - { - bankIn1 = gLastHitBy[gActiveBattler]; - - for (j = 0; j < 4; j++) - { - move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); - if (move == 0) - continue; - - moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability); - if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) - { - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; - Emitcmd33(1, B_ACTION_SWITCH, 0); - return TRUE; - } - } - } - } - - return FALSE; -} - -/*static*/ bool8 ShouldSwitch(void) -{ - u8 bankIn1, bankIn2; - s32 i; - s32 availableToSwitch; - - if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) - return FALSE; - if (gStatuses3[gActiveBattler] & STATUS3_ROOTED) - return FALSE; - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) - return FALSE; - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) - return FALSE; // misses the flying or levitate check - if (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MAGNET_PULL, 0, 0)) - { - if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL) - return FALSE; - if (gBattleMons[gActiveBattler].type2 == TYPE_STEEL) - return FALSE; - } - - availableToSwitch = 0; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - { - bankIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) - bankIn2 = gActiveBattler; - else - bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); - } - else - { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; - } - - for (i = 0; i < 6; i++) - { - if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) - continue; - if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) - continue; - if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) - continue; - if (i == gBattlerPartyIndexes[bankIn1]) - continue; - if (i == gBattlerPartyIndexes[bankIn2]) - continue; - if (i == ewram16068arr(bankIn1)) - continue; - if (i == ewram16068arr(bankIn2)) - continue; - - availableToSwitch++; - } - - if (availableToSwitch == 0) - return FALSE; - if (ShouldSwitchIfPerishSong()) - return TRUE; - if (ShouldSwitchIfWonderGuard()) - return TRUE; - if (FindMonThatAbsorbsOpponentsMove()) - return TRUE; - if (ShouldSwitchIfNaturalCure()) - return TRUE; - if (HasSuperEffectiveMoveAgainstOpponents(FALSE)) - return FALSE; - if (AreStatsRaised()) - return FALSE; - if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2) - || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) - return TRUE; - - return FALSE; -} - -void AI_TrySwitchOrUseItem(void) -{ - u8 bankIn1, bankIn2; - - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) - { - if (ShouldSwitch()) - { - if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6) - { - s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); - if (monToSwitchId == 6) - { - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - { - bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - bankIn2 = bankIn1; - } - else - { - bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - bankIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - } - - for (monToSwitchId = 0; monToSwitchId < 6; monToSwitchId++) - { - if (GetMonData(&gEnemyParty[monToSwitchId], MON_DATA_HP) == 0) - continue; - if (monToSwitchId == gBattlerPartyIndexes[bankIn1]) - continue; - if (monToSwitchId == gBattlerPartyIndexes[bankIn2]) - continue; - if (monToSwitchId == ewram16068arr(bankIn1)) - continue; - if (monToSwitchId == ewram16068arr(bankIn2)) - continue; - - break; - } - } - - ewram160C8arr(GetBattlerPosition(gActiveBattler)) = monToSwitchId; - } - - ewram16068arr(gActiveBattler) = ewram160C8arr(GetBattlerPosition(gActiveBattler)); - return; - } - else - { - #if DEBUG - if (!(gUnknown_02023A14_50 & 0x20) && ShouldUseItem()) - return; - #else - if (ShouldUseItem()) - return; - #endif - } - } - - Emitcmd33(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); -} - -/*static*/ void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var) -{ - s32 i = 0; - - 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) == attackType) - { - // check type1 - if (TYPE_EFFECT_DEF_TYPE(i) == defenseType1) - *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; - // check type2 - if (TYPE_EFFECT_DEF_TYPE(i) == defenseType2 && defenseType1 != defenseType2) - *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; - } - i += 3; - } -} - -u8 GetMostSuitableMonToSwitchInto(void) -{ - u8 opposingBank; - u8 bestDmg; // note : should be changed to s32 - u8 bestMonId; - u8 bankIn1, bankIn2; - s32 i, j; - u8 invalidMons; - u16 move; - - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - { - bankIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) - bankIn2 = gActiveBattler; - else - bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); - - // UB: It considers the opponent only player's side even though it can battle alongside player; - opposingBank = Random() & BIT_FLANK; - if (gAbsentBattlerFlags & gBitTable[opposingBank]) - opposingBank ^= BIT_FLANK; - } - else - { - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; - } - - invalidMons = 0; - - while (invalidMons != 0x3F) // all mons are invalid - { - bestDmg = 0; - bestMonId = 6; - // find the mon which type is the most suitable offensively - for (i = 0; i < 6; i++) - { - u16 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); - if (species != SPECIES_NONE - && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0 - && !(gBitTable[i] & invalidMons) - && gBattlerPartyIndexes[bankIn1] != i - && gBattlerPartyIndexes[bankIn2] != i - && i != ewram16068arr(bankIn1) - && i != ewram16068arr(bankIn2)) - { - u8 type1 = gBaseStats[species].type1; - u8 type2 = gBaseStats[species].type2; - u8 typeDmg = 10; - ModulateByTypeEffectiveness(gBattleMons[opposingBank].type1, type1, type2, &typeDmg); - ModulateByTypeEffectiveness(gBattleMons[opposingBank].type2, type1, type2, &typeDmg); - if (bestDmg < typeDmg) - { - bestDmg = typeDmg; - bestMonId = i; - } - } - else - { - invalidMons |= gBitTable[i]; - } - } - - // ok, we know the mon has the right typing but does it have at least one super effective move? - if (bestMonId != 6) - { - for (i = 0; i < 4; i++) - { - move = GetMonData(&gEnemyParty[bestMonId], MON_DATA_MOVE1 + i); - if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE) - break; - } - - if (i != 4) - return bestMonId; // has both the typing and at least one super effective move - - invalidMons |= gBitTable[bestMonId]; // sorry buddy, we want something better - } - else - { - invalidMons = 0x3F; // no viable mon to switch - } - } - - gDynamicBasePower = 0; - gBattleStruct->dynamicMoveType = 0; - gBattleStruct->dmgMultiplier = 1; - gMoveResultFlags = 0; - gCritMultiplier = 1; - bestDmg = 0; - bestMonId = 6; - - // if we couldn't find the best mon in terms of typing, find the one that deals most damage - for (i = 0; i < 6; i++) - { - if ((u16)(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES)) == SPECIES_NONE) - continue; - if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) - continue; - if (gBattlerPartyIndexes[bankIn1] == i) - continue; - if (gBattlerPartyIndexes[bankIn2] == i) - continue; - if (i == ewram16068arr(bankIn1)) - continue; - if (i == ewram16068arr(bankIn2)) - continue; - - for (j = 0; j < 4; j++) - { - move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); - gBattleMoveDamage = 0; - if (move != MOVE_NONE && gBattleMoves[move].power != 1) - { - AI_CalcDmg(gActiveBattler, opposingBank); - TypeCalc(move, gActiveBattler, opposingBank); - } - if (bestDmg < gBattleMoveDamage) - { - bestDmg = gBattleMoveDamage; - bestMonId = i; - } - } - } - - return bestMonId; -} diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 7b04446a0..134f6c18b 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -272,7 +272,7 @@ void BattleAI_HandleItemUseBeforeAISetup(void) s32 i; u8 *data; - MEMSET_ALT(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data); + MEMSET_ALT(AI_BATTLE_HISTORY, 0, sizeof(struct BattleHistory), i, data); if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 0x400 @@ -282,8 +282,8 @@ void BattleAI_HandleItemUseBeforeAISetup(void) { if (gTrainers[gTrainerBattleOpponent].items[i] != 0) { - UNK_2016A00_STRUCT->items[UNK_2016A00_STRUCT->numOfItems] = gTrainers[gTrainerBattleOpponent].items[i]; - UNK_2016A00_STRUCT->numOfItems++; + AI_BATTLE_HISTORY->trainerItems[AI_BATTLE_HISTORY->numItems] = gTrainers[gTrainerBattleOpponent].items[i]; + AI_BATTLE_HISTORY->numItems++; } } } @@ -446,9 +446,9 @@ void sub_810745C(void) for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == 0) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == 0) { - UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] = gLastUsedMove[gBankTarget]; + AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] = gLastUsedMove[gBankTarget]; return; } } @@ -459,19 +459,19 @@ void unref_sub_81074A0(u8 a) s32 i; for (i = 0; i < 8; i++) - UNK_2016A00_STRUCT->movesUsed[a / 2][i] = 0; + AI_BATTLE_HISTORY->usedMoves[a / 2][i] = 0; } void RecordAbilityBattle(u8 a, u8 b) { - if (GetBankSide(a) == 0) - UNK_2016A00_STRUCT->unk20[GetBattlerPosition(a) & 1] = b; + if (GetBattlerSide(a) == 0) + AI_BATTLE_HISTORY->abilities[GetBattlerPosition(a) & 1] = b; } void RecordItemBattle(u8 a, u8 b) { - if (GetBankSide(a) == 0) - UNK_2016A00_STRUCT->unk22[GetBattlerPosition(a) & 1] = b; + if (GetBattlerSide(a) == 0) + AI_BATTLE_HISTORY->itemEffects[GetBattlerPosition(a) & 1] = b; } static void BattleAICmd_if_random_less_than(void) @@ -1317,7 +1317,7 @@ static void BattleAICmd_count_alive_pokemon(void) else index = gBankTarget; - if (GetBankSide(index) == 0) + if (GetBattlerSide(index) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -1370,13 +1370,13 @@ static void BattleAICmd_get_ability(void) else index = gBankTarget; - if (GetBankSide(index) == TARGET) + if (GetBattlerSide(index) == TARGET) { - u16 unk = GetBattlerPosition(index) & 1; + u16 side = GetBattlerPosition(index) & 1; - if (UNK_2016A00_STRUCT->unk20[unk] != 0) + if (AI_BATTLE_HISTORY->abilities[side] != 0) { - AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk20[unk]; + AI_THINKING_STRUCT->funcResult = AI_BATTLE_HISTORY->abilities[side]; gAIScriptPtr += 2; return; } @@ -1745,7 +1745,7 @@ static void BattleAICmd_if_has_move(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == *temp_ptr) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == *temp_ptr) break; } if (i == 8) @@ -1779,7 +1779,7 @@ static void BattleAICmd_if_dont_have_move(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] == *temp_ptr) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] == *temp_ptr) break; } if (i != 8) @@ -1812,7 +1812,7 @@ static void BattleAICmd_if_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) + if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); @@ -1841,7 +1841,7 @@ static void BattleAICmd_if_not_move_effect(void) case 2: for (i = 0; i < 8; i++) { - if (UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) + if (AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i] != 0 && gBattleMoves[AI_BATTLE_HISTORY->usedMoves[gBankTarget >> 1][i]].effect == gAIScriptPtr[2]) break; } gAIScriptPtr += 7; @@ -1929,17 +1929,17 @@ static void BattleAICmd_watch(void) static void BattleAICmd_get_hold_effect(void) { u8 index; - u16 status; + u16 side; if (gAIScriptPtr[1] == USER) index = gBankAttacker; else index = gBankTarget; - if (GetBankSide(index) == 0) + if (GetBattlerSide(index) == 0) { - status = (GetBattlerPosition(index) & 1); - AI_THINKING_STRUCT->funcResult = UNK_2016A00_STRUCT->unk22[status]; + side = (GetBattlerPosition(index) & 1); + AI_THINKING_STRUCT->funcResult = AI_BATTLE_HISTORY->itemEffects[side]; } else AI_THINKING_STRUCT->funcResult = ItemId_GetHoldEffect(gBattleMons[index].item); diff --git a/src/battle/battle_ai_switch_items.c b/src/battle/battle_ai_switch_items.c new file mode 100755 index 000000000..fd1d23684 --- /dev/null +++ b/src/battle/battle_ai_switch_items.c @@ -0,0 +1,1008 @@ +#include "global.h" +#include "battle.h" +#include "battle_script_commands.h" +#include "data2.h" +#include "ewram.h" +#include "pokemon.h" +#include "random.h" +#include "rom_8077ABC.h" +#include "rom3.h" +#include "util.h" +#include "constants/abilities.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/species.h" + +extern u8 gUnknown_02023A14_50; + +extern u8 gLastHitBy[]; +extern u8 gActiveBattler; +extern u16 gBattleTypeFlags; +extern u8 gAbsentBattlerFlags; +extern s32 gBattleMoveDamage; +extern u8 gMoveResultFlags; +extern u16 gDynamicBasePower; +extern u8 gCritMultiplier; +extern u16 gBattlerPartyIndexes[]; +extern u16 gLastLandedMoves[]; +extern const u8 gTypeEffectiveness[]; +extern struct BattlePokemon gBattleMons[]; +extern u32 gStatuses3[BATTLE_BANKS_COUNT]; + +/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); +/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent); +/*static*/ bool8 ShouldUseItem(void); +/*static*/ u8 GetMostSuitableMonToSwitchInto(void); + + +/*static*/ bool8 ShouldSwitchIfPerishSong(void) +{ + if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG + && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = 6; + Emitcmd33(1, 2, 0); + return TRUE; + } + + return FALSE; +} + +#ifdef NONMATCHING +/*static*/ bool8 ShouldSwitchIfWonderGuard(void) +{ + u8 opposingBank; + u8 moveFlags; + s32 i, j; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + return FALSE; + + if (gBattleMons[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)].ability != ABILITY_WONDER_GUARD) + return FALSE; + + // check if pokemon has a super effective move + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + for (i = 0; i < 4; i++) + { + u16 move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + return FALSE; + } + + // find a pokemon in the party that has a super effective move + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0 + || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE + || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG + || i == gBattlerPartyIndexes[gActiveBattler]) + continue; + + GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); // unused return value + GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY); // unused return value + + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + for (j = 0; j < 4; j++) + { + u16 move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && (Random() % 3) < 2) + { + // we found a mon + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; // gBattleStruct->AI_monToSwitchIntoId[GetBattlerPosition(gActiveBattler)] = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + } + + return FALSE; // at this point there is not a single pokemon in the party that has a super effective move against a pokemon with wonder guard +} +#else +__attribute__((naked)) +/*static*/ bool8 ShouldSwitchIfWonderGuard(void) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + ldr r0, _0803606C @ =gBattleTypeFlags\n\ + ldrh r1, [r0]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080360A0\n\ + b _080361C8\n\ + .align 2, 0\n\ +_0803606C: .4byte gBattleTypeFlags\n\ +_08036070:\n\ + ldr r0, _08036094 @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + bl GetBattlerPosition\n\ + ldr r1, _08036098 @ =gSharedMem\n\ + lsls r0, 24\n\ + lsrs r0, 25\n\ + ldr r2, _0803609C @ =0x000160c8\n\ + adds r0, r2\n\ + adds r0, r1\n\ + strb r6, [r0]\n\ + movs r0, 0x1\n\ + movs r1, 0x2\n\ + movs r2, 0\n\ + bl Emitcmd33\n\ + movs r0, 0x1\n\ + b _080361CA\n\ + .align 2, 0\n\ +_08036094: .4byte gActiveBattler\n\ +_08036098: .4byte gSharedMem\n\ +_0803609C: .4byte 0x000160c8\n\ +_080360A0:\n\ + ldr r4, _080361D8 @ =gBattleMons\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + movs r1, 0x58\n\ + muls r0, r1\n\ + adds r0, r4\n\ + adds r0, 0x20\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x19\n\ + beq _080360BC\n\ + b _080361C8\n\ +_080360BC:\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + movs r6, 0\n\ + adds r7, r4, 0\n\ + movs r5, 0x58\n\ + adds r0, r2, 0\n\ + muls r0, r5\n\ + adds r4, r0, r7\n\ + movs r3, 0x20\n\ + adds r3, r4\n\ + mov r8, r3\n\ +_080360D8:\n\ + lsls r1, r6, 1\n\ + ldr r0, _080361DC @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + muls r0, r5\n\ + adds r1, r0\n\ + adds r0, r7, 0\n\ + adds r0, 0xC\n\ + adds r1, r0\n\ + ldrh r0, [r1]\n\ + cmp r0, 0\n\ + beq _08036104\n\ + ldrh r1, [r4]\n\ + mov r3, r8\n\ + ldrb r2, [r3]\n\ + bl AI_TypeCalc\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + movs r0, 0x2\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + bne _080361C8\n\ +_08036104:\n\ + adds r6, 0x1\n\ + cmp r6, 0x3\n\ + ble _080360D8\n\ + movs r6, 0\n\ + ldr r0, _080361E0 @ =gEnemyParty\n\ + mov r9, r0\n\ +_08036110:\n\ + movs r0, 0x64\n\ + adds r5, r6, 0\n\ + muls r5, r0\n\ + mov r2, r9\n\ + adds r4, r5, r2\n\ + adds r0, r4, 0\n\ + movs r1, 0x39\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + cmp r0, 0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + movs r1, 0xCE\n\ + lsls r1, 1\n\ + cmp r0, r1\n\ + beq _080361C2\n\ + ldr r1, _080361E4 @ =gBattlerPartyIndexes\n\ + ldr r0, _080361DC @ =gActiveBattler\n\ + ldrb r0, [r0]\n\ + lsls r0, 1\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + cmp r6, r0\n\ + beq _080361C2\n\ + adds r0, r4, 0\n\ + movs r1, 0xB\n\ + bl GetMonData\n\ + adds r0, r4, 0\n\ + movs r1, 0x2E\n\ + bl GetMonData\n\ + movs r0, 0\n\ + bl GetBattlerAtPosition\n\ + lsls r0, 24\n\ + lsrs r2, r0, 24\n\ + movs r4, 0\n\ + mov r8, r5\n\ + ldr r1, _080361D8 @ =gBattleMons\n\ + movs r0, 0x58\n\ + muls r0, r2\n\ + adds r5, r0, r1\n\ + adds r7, r5, 0\n\ + adds r7, 0x20\n\ +_0803617C:\n\ + adds r1, r4, 0\n\ + adds r1, 0xD\n\ + mov r0, r8\n\ + add r0, r9\n\ + bl GetMonData\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0\n\ + beq _080361BC\n\ + ldrh r1, [r5]\n\ + ldrb r2, [r7]\n\ + bl AI_TypeCalc\n\ + lsls r0, 24\n\ + lsrs r1, r0, 24\n\ + movs r0, 0x2\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + beq _080361BC\n\ + bl Random\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + movs r1, 0x3\n\ + bl __umodsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _080361BC\n\ + b _08036070\n\ +_080361BC:\n\ + adds r4, 0x1\n\ + cmp r4, 0x3\n\ + ble _0803617C\n\ +_080361C2:\n\ + adds r6, 0x1\n\ + cmp r6, 0x5\n\ + ble _08036110\n\ +_080361C8:\n\ + movs r0, 0\n\ +_080361CA:\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .align 2, 0\n\ +_080361D8: .4byte gBattleMons\n\ +_080361DC: .4byte gActiveBattler\n\ +_080361E0: .4byte gEnemyParty\n\ +_080361E4: .4byte gBattlerPartyIndexes\n\ + .syntax divided\n"); +} +#endif // NONMATCHING + +/*static*/ bool8 FindMonThatAbsorbsOpponentsMove(void) +{ + u8 bankIn1, bankIn2; + u8 absorbingTypeAbility; + s32 i; + + if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + return FALSE; + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) + return FALSE; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + } + else + { + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) + absorbingTypeAbility = ABILITY_FLASH_FIRE; + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER) + absorbingTypeAbility = ABILITY_WATER_ABSORB; + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC) + absorbingTypeAbility = ABILITY_VOLT_ABSORB; + else + return FALSE; + + if (gBattleMons[gActiveBattler].ability == absorbingTypeAbility) + return FALSE; + + for (i = 0; i < 6; i++) + { + u16 species; + u8 monAbility; + + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[bankIn1]) + continue; + if (i == gBattlerPartyIndexes[bankIn2]) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) + monAbility = gBaseStats[species].ability2; + else + monAbility = gBaseStats[species].ability1; + + if (absorbingTypeAbility == monAbility && Random() & 1) + { + // we found a mon + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + + return FALSE; +} + +/*static*/ bool8 ShouldSwitchIfNaturalCure(void) +{ + if (!(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP)) + return FALSE; + if (gBattleMons[gActiveBattler].ability != ABILITY_NATURAL_CURE) + return FALSE; + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 2) + return FALSE; + + if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 1)) + return TRUE; + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1)) + return TRUE; + if (Random() & 1) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = 6; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + + return FALSE; +} + +/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) +{ + u8 opposingBank; + s32 i; + u8 moveFlags; + u16 move; + + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + { + for (i = 0; i < 4; i++) + { + move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + { + if (noRng) + return TRUE; + if (Random() % 10 != 0) + return TRUE; + } + } + } + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + return FALSE; + + opposingBank = GetBattlerAtPosition(BATTLE_PARTNER(B_POSITION_PLAYER_LEFT)); + if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + { + for (i = 0; i < 4; i++) + { + move = gBattleMons[gActiveBattler].moves[i]; + if (move == MOVE_NONE) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) + { + if (noRng) + return TRUE; + if (Random() % 10 != 0) + return TRUE; + } + } + } + + return FALSE; +} + +/*static*/ bool8 AreStatsRaised(void) +{ + u8 buffedStatsValue = 0; + s32 i; + + for (i = 0; i < BATTLE_STATS_NO; i++) + { + if (gBattleMons[gActiveBattler].statStages[i] > 6) + buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - 6; + } + + return (buffedStatsValue > 3); +} + +/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) +{ + u8 bankIn1, bankIn2; + s32 i, j; + u16 move; + u8 moveFlags; + + if (gLastLandedMoves[gActiveBattler] == 0) + return FALSE; + if (gLastLandedMoves[gActiveBattler] == 0xFFFF) + return FALSE; + if (gLastHitBy[gActiveBattler] == 0xFF) + return FALSE; + if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0) + return FALSE; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + } + else + { + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + for (i = 0; i < 6; i++) + { + u16 species; + u8 monAbility; + + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[bankIn1]) + continue; + if (i == gBattlerPartyIndexes[bankIn2]) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY) != 0) + monAbility = gBaseStats[species].ability2; + else + monAbility = gBaseStats[species].ability1; + + moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility); + if (moveFlags & flags) + { + bankIn1 = gLastHitBy[gActiveBattler]; + + for (j = 0; j < 4; j++) + { + move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + if (move == 0) + continue; + + moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability); + if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) + { + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; + Emitcmd33(1, B_ACTION_SWITCH, 0); + return TRUE; + } + } + } + } + + return FALSE; +} + +/*static*/ bool8 ShouldSwitch(void) +{ + u8 bankIn1, bankIn2; + s32 i; + s32 availableToSwitch; + + if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + return FALSE; + if (gStatuses3[gActiveBattler] & STATUS3_ROOTED) + return FALSE; + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) + return FALSE; + if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) + return FALSE; // misses the flying or levitate check + if (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MAGNET_PULL, 0, 0)) + { + if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL) + return FALSE; + if (gBattleMons[gActiveBattler].type2 == TYPE_STEEL) + return FALSE; + } + + availableToSwitch = 0; + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + } + else + { + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) + continue; + if (i == gBattlerPartyIndexes[bankIn1]) + continue; + if (i == gBattlerPartyIndexes[bankIn2]) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + availableToSwitch++; + } + + if (availableToSwitch == 0) + return FALSE; + if (ShouldSwitchIfPerishSong()) + return TRUE; + if (ShouldSwitchIfWonderGuard()) + return TRUE; + if (FindMonThatAbsorbsOpponentsMove()) + return TRUE; + if (ShouldSwitchIfNaturalCure()) + return TRUE; + if (HasSuperEffectiveMoveAgainstOpponents(FALSE)) + return FALSE; + if (AreStatsRaised()) + return FALSE; + if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2) + || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) + return TRUE; + + return FALSE; +} + +void AI_TrySwitchOrUseItem(void) +{ + u8 bankIn1, bankIn2; + + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + { + if (ShouldSwitch()) + { + if (ewram160C8arr(GetBattlerPosition(gActiveBattler)) == 6) + { + s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); + if (monToSwitchId == 6) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + { + bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + bankIn2 = bankIn1; + } + else + { + bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + bankIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + + for (monToSwitchId = 0; monToSwitchId < 6; monToSwitchId++) + { + if (GetMonData(&gEnemyParty[monToSwitchId], MON_DATA_HP) == 0) + continue; + if (monToSwitchId == gBattlerPartyIndexes[bankIn1]) + continue; + if (monToSwitchId == gBattlerPartyIndexes[bankIn2]) + continue; + if (monToSwitchId == ewram16068arr(bankIn1)) + continue; + if (monToSwitchId == ewram16068arr(bankIn2)) + continue; + + break; + } + } + + ewram160C8arr(GetBattlerPosition(gActiveBattler)) = monToSwitchId; + } + + ewram16068arr(gActiveBattler) = ewram160C8arr(GetBattlerPosition(gActiveBattler)); + return; + } + else + { + #if DEBUG + if (!(gUnknown_02023A14_50 & 0x20) && ShouldUseItem()) + return; + #else + if (ShouldUseItem()) + return; + #endif + } + } + + Emitcmd33(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); +} + +/*static*/ void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var) +{ + s32 i = 0; + + 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) == attackType) + { + // check type1 + if (TYPE_EFFECT_DEF_TYPE(i) == defenseType1) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; + // check type2 + if (TYPE_EFFECT_DEF_TYPE(i) == defenseType2 && defenseType1 != defenseType2) + *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; + } + i += 3; + } +} + +u8 GetMostSuitableMonToSwitchInto(void) +{ + u8 opposingBank; + u8 bestDmg; // note : should be changed to s32 + u8 bestMonId; + u8 bankIn1, bankIn2; + s32 i, j; + u8 invalidMons; + u16 move; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + bankIn1 = gActiveBattler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) + bankIn2 = gActiveBattler; + else + bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + + // UB: It considers the opponent only player's side even though it can battle alongside player; + opposingBank = Random() & BIT_FLANK; + if (gAbsentBattlerFlags & gBitTable[opposingBank]) + opposingBank ^= BIT_FLANK; + } + else + { + opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + bankIn1 = gActiveBattler; + bankIn2 = gActiveBattler; + } + + invalidMons = 0; + + while (invalidMons != 0x3F) // all mons are invalid + { + bestDmg = 0; + bestMonId = 6; + // find the mon which type is the most suitable offensively + for (i = 0; i < 6; i++) + { + u16 species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + if (species != SPECIES_NONE + && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0 + && !(gBitTable[i] & invalidMons) + && gBattlerPartyIndexes[bankIn1] != i + && gBattlerPartyIndexes[bankIn2] != i + && i != ewram16068arr(bankIn1) + && i != ewram16068arr(bankIn2)) + { + u8 type1 = gBaseStats[species].type1; + u8 type2 = gBaseStats[species].type2; + u8 typeDmg = 10; + ModulateByTypeEffectiveness(gBattleMons[opposingBank].type1, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBank].type2, type1, type2, &typeDmg); + if (bestDmg < typeDmg) + { + bestDmg = typeDmg; + bestMonId = i; + } + } + else + { + invalidMons |= gBitTable[i]; + } + } + + // ok, we know the mon has the right typing but does it have at least one super effective move? + if (bestMonId != 6) + { + for (i = 0; i < 4; i++) + { + move = GetMonData(&gEnemyParty[bestMonId], MON_DATA_MOVE1 + i); + if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE) + break; + } + + if (i != 4) + return bestMonId; // has both the typing and at least one super effective move + + invalidMons |= gBitTable[bestMonId]; // sorry buddy, we want something better + } + else + { + invalidMons = 0x3F; // no viable mon to switch + } + } + + gDynamicBasePower = 0; + gBattleStruct->dynamicMoveType = 0; + gBattleStruct->dmgMultiplier = 1; + gMoveResultFlags = 0; + gCritMultiplier = 1; + bestDmg = 0; + bestMonId = 6; + + // if we couldn't find the best mon in terms of typing, find the one that deals most damage + for (i = 0; i < 6; i++) + { + if ((u16)(GetMonData(&gEnemyParty[i], MON_DATA_SPECIES)) == SPECIES_NONE) + continue; + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + continue; + if (gBattlerPartyIndexes[bankIn1] == i) + continue; + if (gBattlerPartyIndexes[bankIn2] == i) + continue; + if (i == ewram16068arr(bankIn1)) + continue; + if (i == ewram16068arr(bankIn2)) + continue; + + for (j = 0; j < 4; j++) + { + move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); + gBattleMoveDamage = 0; + if (move != MOVE_NONE && gBattleMoves[move].power != 1) + { + AI_CalcDmg(gActiveBattler, opposingBank); + TypeCalc(move, gActiveBattler, opposingBank); + } + if (bestDmg < gBattleMoveDamage) + { + bestDmg = gBattleMoveDamage; + bestMonId = i; + } + } + } + + return bestMonId; +} + +// TODO: use PokemonItemEffect struct instead of u8 once it's documented +/*static*/ u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u16 as item Id argument +{ + if (itemId == ITEM_FULL_RESTORE) + return AI_ITEM_FULL_RESTORE; + if (itemEffect[4] & 4) + return AI_ITEM_HEAL_HP; + if (itemEffect[3] & 0x3F) + return AI_ITEM_CURE_CONDITION; + if (itemEffect[0] & 0x3F || itemEffect[1] != 0 || itemEffect[2] != 0) + return AI_ITEM_X_STAT; + if (itemEffect[3] & 0x80) + return AI_ITEM_GUARD_SPECS; + + return AI_ITEM_NOT_RECOGNIZABLE; +} + +/*static*/ bool8 ShouldUseItem(void) +{ + s32 i; + u8 validMons = 0; + bool8 shouldUse = FALSE; + + for (i = 0; i < 6; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0 + && GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) != SPECIES_NONE + && GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) != SPECIES_EGG) + { + validMons++; + } + } + + for (i = 0; i < 4; i++) + { + u16 item; + const u8 *itemEffects; + u8 paramOffset; + u8 bankSide; + + if (i != 0 && validMons > (AI_BATTLE_HISTORY->numItems - i) + 1) + continue; + item = AI_BATTLE_HISTORY->trainerItems[i]; + if (item == ITEM_NONE) + continue; + if (gItemEffectTable[item - 13] == NULL) + continue; + + if (item == ITEM_ENIGMA_BERRY) + itemEffects = gSaveBlock1.enigmaBerry.itemEffect; + else + itemEffects = gItemEffectTable[item - 13]; + + ewram160D8(gActiveBattler) = GetAI_ItemType(item, itemEffects); + + switch (ewram160D8(gActiveBattler)) + { + case AI_ITEM_FULL_RESTORE: + if (gBattleMons[gActiveBattler].hp >= gBattleMons[gActiveBattler].maxHP / 4) + break; + if (gBattleMons[gActiveBattler].hp == 0) + break; + shouldUse = TRUE; + break; + case AI_ITEM_HEAL_HP: + paramOffset = GetItemEffectParamOffset(item, 4, 4); + if (paramOffset == 0) + break; + if (gBattleMons[gActiveBattler].hp == 0) + break; + if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 4 || gBattleMons[gActiveBattler].maxHP - gBattleMons[gActiveBattler].hp > itemEffects[paramOffset]) + shouldUse = TRUE; + break; + case AI_ITEM_CURE_CONDITION: + ewram160DA(gActiveBattler) = 0; + if (itemEffects[3] & 0x20 && gBattleMons[gActiveBattler].status1 & STATUS_SLEEP) + { + ewram160DA(gActiveBattler) |= 0x20; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x10 && (gBattleMons[gActiveBattler].status1 & STATUS_POISON || gBattleMons[gActiveBattler].status1 & STATUS_TOXIC_POISON)) + { + ewram160DA(gActiveBattler) |= 0x10; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x8 && gBattleMons[gActiveBattler].status1 & STATUS_BURN) + { + ewram160DA(gActiveBattler) |= 0x8; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x4 && gBattleMons[gActiveBattler].status1 & STATUS_FREEZE) + { + ewram160DA(gActiveBattler) |= 0x4; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x2 && gBattleMons[gActiveBattler].status1 & STATUS_PARALYSIS) + { + ewram160DA(gActiveBattler) |= 0x2; + shouldUse = TRUE; + } + if (itemEffects[3] & 0x1 && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) + { + ewram160DA(gActiveBattler) |= 0x1; + shouldUse = TRUE; + } + break; + case AI_ITEM_X_STAT: + ewram160DA(gActiveBattler) = 0; + if (gDisableStructs[gActiveBattler].isFirstTurn == 0) + break; + if (itemEffects[0] & 0xF) + ewram160DA(gActiveBattler) |= 0x1; + if (itemEffects[1] & 0xF0) + ewram160DA(gActiveBattler) |= 0x2; + if (itemEffects[1] & 0xF) + ewram160DA(gActiveBattler) |= 0x4; + if (itemEffects[2] & 0xF) + ewram160DA(gActiveBattler) |= 0x8; + if (itemEffects[2] & 0xF0) + ewram160DA(gActiveBattler) |= 0x20; + if (itemEffects[0] & 0x30) + ewram160DA(gActiveBattler) |= 0x80; + shouldUse = TRUE; + break; + case AI_ITEM_GUARD_SPECS: + bankSide = GetBattlerSide(gActiveBattler); + if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[bankSide].mistTimer == 0) + shouldUse = TRUE; + break; + case AI_ITEM_NOT_RECOGNIZABLE: + return FALSE; + } + + if (shouldUse) + { + Emitcmd33(1, B_ACTION_USE_ITEM, 0); + ewram160D4(gActiveBattler) = item; + AI_BATTLE_HISTORY->trainerItems[i] = 0; + return shouldUse; + } + } + + return FALSE; +} diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 90fff11ee..ca2431f15 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -1490,7 +1490,7 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim) UpdateOamPriorityInAllHealthboxes(0); for (i = 0; i < 4; i++) { - if (GetBankSide(i) != 0) + if (GetBattlerSide(i) != 0) gAnimSpeciesByBanks[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); else gAnimSpeciesByBanks[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES); @@ -2369,7 +2369,7 @@ static void ScriptCmd_fadetobgfromset(void) if (IsContest()) gTasks[taskId].tBackgroundId = bg3; - else if (GetBankSide(gAnimBankTarget) == 0) + else if (GetBattlerSide(gAnimBankTarget) == 0) gTasks[taskId].tBackgroundId = bg2; else gTasks[taskId].tBackgroundId = bg1; @@ -2494,7 +2494,7 @@ s8 BattleAnimAdjustPanning(s8 a) { if (!IsContest() && (EWRAM_17810[gAnimBankAttacker].unk0 & 0x10)) { - a = GetBankSide(gAnimBankAttacker) ? 0xC0 : 0x3F; + a = GetBattlerSide(gAnimBankAttacker) ? 0xC0 : 0x3F; } //_08076FDC else @@ -2513,9 +2513,9 @@ s8 BattleAnimAdjustPanning(s8 a) //_08077004 else { - if (GetBankSide(gAnimBankAttacker) == 0) + if (GetBattlerSide(gAnimBankAttacker) == 0) { - if (GetBankSide(gAnimBankTarget) == 0) + if (GetBattlerSide(gAnimBankTarget) == 0) } //_08077042 else @@ -2552,7 +2552,7 @@ s8 BattleAnimAdjustPanning(s8 a) cmp r0, 0\n\ beq _08076FDC\n\ adds r0, r2, 0\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ movs r4, 0xC0\n\ cmp r0, 0\n\ @@ -2584,13 +2584,13 @@ _08077000: .4byte gAnimBankTarget\n\ _08077004:\n\ ldr r0, _0807702C @ =gAnimBankAttacker\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08077042\n\ ldr r0, _08077030 @ =gAnimBankTarget\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _0807706E\n\ @@ -2614,7 +2614,7 @@ _08077034:\n\ _08077042:\n\ ldr r0, _08077064 @ =gAnimBankTarget\n\ ldrb r0, [r0]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -2662,14 +2662,14 @@ s8 BattleAnimAdjustPanning2(s8 pan) { if (!IsContest() && (EWRAM_17810[gAnimBankAttacker].unk0 & 0x10)) { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) pan = 0x3F; else pan = 0xC0; } else { - if (GetBankSide(gAnimBankAttacker) != 0 || IsContest() != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0 || IsContest() != 0) pan = -pan; } return pan; @@ -3078,7 +3078,7 @@ static void ScriptCmd_monbgprio_2A(void) wantedBank = T1_READ_8(sBattleAnimScriptPtr + 1); sBattleAnimScriptPtr += 2; - if (GetBankSide(gAnimBankAttacker) != GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankAttacker) != GetBattlerSide(gAnimBankTarget)) { if (wantedBank != 0) bank = gAnimBankTarget; @@ -3124,7 +3124,7 @@ static void ScriptCmd_doublebattle_2D(void) wantedBank = T1_READ_8(sBattleAnimScriptPtr + 1); sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + && GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { if (wantedBank == 0) { @@ -3158,7 +3158,7 @@ static void ScriptCmd_doublebattle_2E(void) wantedBank = T1_READ_8(sBattleAnimScriptPtr + 1); sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() - && GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget)) + && GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) { if (wantedBank == 0) { diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index 15191a1ce..a504570ca 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -427,7 +427,7 @@ static void sub_80A8488(u8 taskId) // arg 4: speed (valid values are 0-5) void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) { - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; AnimTask_TranslateMonElliptical(taskId); @@ -440,7 +440,7 @@ void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId) static void DoHorizontalLunge(struct Sprite *sprite) { sprite->invisible = TRUE; - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) sprite->data[1] = -gBattleAnimArgs[1]; else sprite->data[1] = gBattleAnimArgs[1]; @@ -572,7 +572,7 @@ static void SlideMonToOffset(struct Sprite *sprite) battler = gAnimBankTarget; monSpriteId = gBankSpriteIds[battler]; - if (GetBankSide(battler) != B_SIDE_PLAYER) + if (GetBattlerSide(battler) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -609,7 +609,7 @@ static void sub_80A8818(struct Sprite *sprite) v1 = gAnimBankTarget; } spriteId = gBankSpriteIds[v1]; - if (GetBankSide(v1)) + if (GetBattlerSide(v1)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; if (gBattleAnimArgs[3] == 1) @@ -659,7 +659,7 @@ static void sub_80A88F0(struct Sprite *sprite) void AnimTask_WindUpLunge(u8 taskId) { s16 wavePeriod = 0x8000 / gBattleAnimArgs[3]; - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[5] = -gBattleAnimArgs[5]; @@ -741,7 +741,7 @@ void sub_80A8A80(u8 taskId) return; } TASK.data[0] = spriteId; - if (GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankTarget)) { TASK.data[1] = gBattleAnimArgs[1]; } @@ -774,7 +774,7 @@ static void sub_80A8B3C(u8 taskId) void AnimTask_SwayMon(u8 taskId) { u8 spriteId; - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]); @@ -812,7 +812,7 @@ static void AnimTask_SwayMonStep(u8 taskId) } else { - if (GetBankSide(TASK.data[5]) == B_SIDE_PLAYER) + if (GetBattlerSide(TASK.data[5]) == B_SIDE_PLAYER) { gSprites[spriteId].pos2.y = (sineValue >= 0) ? sineValue : -sineValue; } @@ -909,11 +909,11 @@ void sub_80A8E04(u8 taskId) { if (gBattleAnimArgs[2] == 0) { - TASK.data[7] = !GetBankSide(gAnimBankAttacker); + TASK.data[7] = !GetBattlerSide(gAnimBankAttacker); } else { - TASK.data[7] = !GetBankSide(gAnimBankTarget); + TASK.data[7] = !GetBattlerSide(gAnimBankTarget); } } if (TASK.data[7]) @@ -936,14 +936,14 @@ void sub_80A8EFC(u8 taskId) TASK.data[2] = gBattleAnimArgs[0]; if (gBattleAnimArgs[2] == 0) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } } else { - if (GetBankSide(gAnimBankTarget)) + if (GetBattlerSide(gAnimBankTarget)) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; } diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index b1e711b05..f26ec399c 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -92,7 +92,7 @@ extern void sub_8037FAC(void); extern void move_anim_start_t2_for_situation(); extern void dp01t_0F_4_move_anim(void); extern void sub_8047858(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void StartBattleIntroAnim(); extern void sub_803A3A8(struct Sprite *); extern void sub_8044CA0(u8); @@ -1596,7 +1596,7 @@ void LinkOpponentHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; @@ -1678,7 +1678,7 @@ void sub_803A3A8(struct Sprite *sprite) void LinkOpponentHandlecmd48(void) { - if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { LinkOpponentBufferExecCompleted(); return; diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 9d0181336..e8da4721a 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -1541,7 +1541,7 @@ void LinkPartnerHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; @@ -1630,7 +1630,7 @@ void sub_812071C(u8 taskId) void LinkPartnerHandlecmd48(void) { - if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { LinkPartnerBufferExecCompleted(); return; diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index c87ffaf92..abdc9ccd0 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -108,7 +108,7 @@ void sub_8033494(void); extern void move_anim_start_t2_for_situation(); extern void bx_blink_t7(void); extern void sub_8047858(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void StartBattleIntroAnim(); extern void sub_8044CA0(u8); extern void nullsub_45(void); @@ -2188,7 +2188,7 @@ void OpponentHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; @@ -2270,7 +2270,7 @@ void sub_8035C44(u8 taskId) void OpponentHandlecmd48(void) { - if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { OpponentBufferExecCompleted(); return; diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 83171a0e9..439888d38 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -101,7 +101,7 @@ extern bool8 mplay_80342A4(u8); extern void move_anim_start_t2_for_situation(); extern void bx_blink_t1(void); extern void sub_8047858(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void StartBattleIntroAnim(); extern void oamt_add_pos2_onto_pos1(); extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); @@ -2773,7 +2773,7 @@ void PlayerHandlePrintString(void) void PlayerHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) PlayerHandlePrintString(); else PlayerBufferExecCompleted(); @@ -3041,7 +3041,7 @@ void PlayerHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; @@ -3139,7 +3139,7 @@ void task05_08033660(u8 taskId) void PlayerHandlecmd48(void) { - if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { PlayerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 9e29fbf5c..53c4d71d7 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -40,7 +40,7 @@ extern u16 gBattlerPartyIndexes[]; extern u16 gUnknown_02024DE8; extern u8 gBattleOutcome; -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern u8 GetBattlerAtPosition(u8); extern u8 GetBattlerPosition(u8); extern void LoadPlayerTrainerBankSprite(); @@ -471,7 +471,7 @@ void SafariHandlePrintString(void) void SafariHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) SafariHandlePrintString(); else SafariBufferExecCompleted(); @@ -629,7 +629,7 @@ void SafariHandleEffectivenessSound(void) { s8 pan; - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) pan = -64; else pan = 63; diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 1a11ee876..8ae61d0cb 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -82,7 +82,7 @@ extern void sub_80326EC(); extern void sub_8031F24(void); extern void sub_80324BC(); extern void BufferStringBattle(); -extern u8 GetBankSide(u8); +extern u8 GetBattlerSide(u8); extern void sub_80304A8(void); extern void sub_8047858(); extern void StartBattleIntroAnim(); @@ -1252,7 +1252,7 @@ void WallyHandlePrintString(void) void WallyHandlePrintStringPlayerOnly(void) { - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) WallyHandlePrintString(); else WallyBufferExecCompleted(); @@ -1544,7 +1544,7 @@ void sub_8139A2C(u8 taskId) void WallyHandlecmd48(void) { - if (gBattleBufferA[gActiveBattler][1] != 0 && GetBankSide(gActiveBattler) == 0) + if (gBattleBufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == 0) { WallyBufferExecCompleted(); } diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 516b58b5e..823fba6d0 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -783,7 +783,7 @@ u8 battle_make_oam_normal_battle(u8 a) if (!IsDoubleBattle()) { - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[0], 240, 160, 1); spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[0], 240, 160, 1); @@ -809,7 +809,7 @@ u8 battle_make_oam_normal_battle(u8 a) //_08043A28 else { - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { spriteId1 = CreateSprite(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1); spriteId2 = CreateSpriteAtEnd(&gSpriteTemplates_820A4EC[GetBattlerPosition(a) / 2], 240, 160, 1); @@ -838,7 +838,7 @@ u8 battle_make_oam_normal_battle(u8 a) spriteId3 = CreateSpriteAtEnd(&gSpriteTemplates_820A56C[gBanksBySide[a]], 140, 60, 0); sprite = &gSprites[spriteId3]; - SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]); + SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBattlerSide(a)]); sprite->subspriteMode = 2; sprite->oam.priority = 1; CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64); @@ -973,7 +973,7 @@ void sub_8043F44(u8 a) if (!IsDoubleBattle()) { - if (GetBankSide(a) != 0) + if (GetBattlerSide(a) != 0) { x = 44; y = 30; @@ -1027,14 +1027,14 @@ void sub_8043F44(u8 a) memcpy(str, gUnknown_0820A81C, sizeof(str)); if (!IsDoubleBattle()) { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r7 = gUnknown_0820A804; else r7 = gUnknown_0820A80C; } else { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r7 = gUnknown_0820A814; else r7 = gUnknown_0820A80C; @@ -1084,7 +1084,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) memcpy(str, gUnknown_0820A864, sizeof(str)); foo = gSprites[a].data[6]; - if (IsDoubleBattle() == TRUE || GetBankSide(foo) == 1) + if (IsDoubleBattle() == TRUE || GetBattlerSide(foo) == 1) { //_08044136 sub_8044210(a, b, c); @@ -1094,7 +1094,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) ptr = str + 6; if (c == 0) { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r4 = gUnknown_0820A83C; else r4 = gUnknown_0820A848; @@ -1106,7 +1106,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) } else { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r4 = gUnknown_0820A854; else r4 = gUnknown_0820A85C; @@ -1156,7 +1156,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) beq _08044136\n\ lsls r0, r5, 24\n\ lsrs r0, 24\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ lsrs r0, 24\n\ cmp r0, 0x1\n\ @@ -1180,7 +1180,7 @@ _0804414C:\n\ ldrh r0, [r4, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ ldr r4, _08044188 @ =gUnknown_0820A848\n\ cmp r0, 0\n\ @@ -1208,7 +1208,7 @@ _08044190:\n\ ldrh r0, [r4, 0x3A]\n\ lsls r0, 24\n\ lsrs r0, 24\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ ldr r4, _080441FC @ =gUnknown_0820A85C\n\ cmp r0, 0\n\ @@ -1297,7 +1297,7 @@ _0804420C: .4byte 0x04000008\n\ r7 = gUnknown_0820A894; r10 = 2; sub_8003504(ptr, b, 0xF, 1); - if (GetBankSide(r4) == 0) + if (GetBattlerSide(r4) == 0) { CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32); } @@ -1652,17 +1652,17 @@ void sub_804454C(void) { if (gSprites[gHealthboxIDs[i]].callback == SpriteCallbackDummy #if DEBUG - && (gUnknown_020297ED != 0 || GetBankSide(i) != 1) + && (gUnknown_020297ED != 0 || GetBattlerSide(i) != 1) #else - && GetBankSide(i) != 1 + && GetBattlerSide(i) != 1 #endif - && (IsDoubleBattle() || GetBankSide(i) != 0)) + && (IsDoubleBattle() || GetBattlerSide(i) != 0)) { u8 r6; ewram17800[i].unk0_4 ^= 1; r6 = ewram17800[i].unk0_4; - if (GetBankSide(i) == 0) + if (GetBattlerSide(i) == 0) { if (!IsDoubleBattle()) @@ -1733,7 +1733,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) if (c == 0 || GetBattlerPosition(a) != 3) { - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { r7 = 0; x = 136; @@ -1826,7 +1826,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) gSprites[sp[i]].data[2] = r7; } //_08044A76 - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) { for (i = 0; i < 6; i++) //_08044A9A { @@ -1954,7 +1954,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) beq _08044878\n\ _08044834:\n\ ldr r0, [sp, 0x8]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08044854\n\ @@ -2236,7 +2236,7 @@ _08044A56:\n\ b _08044970\n\ _08044A76:\n\ ldr r0, [sp, 0x8]\n\ - bl GetBankSide\n\ + bl GetBattlerSide\n\ lsls r0, 24\n\ cmp r0, 0\n\ bne _08044B5E\n\ @@ -2542,7 +2542,7 @@ void sub_8044CA0(u8 taskId) { for (i = 0; i < 6; i++) { - if (GetBankSide(sp8) != 0) + if (GetBattlerSide(sp8) != 0) { gSprites[sp[5 - i]].data[1] = 7 * i; gSprites[sp[5 - i]].data[3] = 0; @@ -2816,7 +2816,7 @@ void sub_8045180(struct Sprite *sprite) for (; i < _7; i++) CpuCopy32(sub_8043CDC(0x2B), ptr + 64 * i, 32); - if (GetBankSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle()) + if (GetBattlerSide(gSprites[a].data[6]) == 0 && !IsDoubleBattle()) { r1 = (u8 *const *)gUnknown_0820A8B4; for (i = 0; i < _7; i++) @@ -2834,7 +2834,7 @@ void sub_8045180(struct Sprite *sprite) } else { - if (GetBankSide(gSprites[a].data[6]) == 0) + if (GetBattlerSide(gSprites[a].data[6]) == 0) r1 = (u8 *const *)gUnknown_0820A904; else r1 = (u8 *const *)gUnknown_0820A8DC; @@ -2863,7 +2863,7 @@ static void sub_8045458(u8 a, u8 b) return; r4 = gSprites[a].data[6]; - if (GetBankSide(r4) != 0) + if (GetBattlerSide(r4) != 0) { u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r4]], MON_DATA_SPECIES); if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 1) != 0) @@ -2890,7 +2890,7 @@ static void sub_8045458(u8 a, u8 b) r7 = gSprites[a].data[6]; r10 = gSprites[a].data[5]; - if (GetBankSide(r7) == 0) + if (GetBattlerSide(r7) == 0) { r4 = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r7]], MON_DATA_STATUS); if (!IsDoubleBattle()) @@ -2948,7 +2948,7 @@ static void sub_8045458(u8 a, u8 b) FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2); CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2); CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96); - if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE) + if (IsDoubleBattle() == TRUE || GetBattlerSide(r7) == TRUE) { if (!ewram17800[r7].unk0_4) { @@ -3074,7 +3074,7 @@ void sub_8045A5C(u8 a, struct Pokemon *pkmn, u8 c) u32 currhp; r10 = gSprites[a].data[6]; - if (GetBankSide(r10) == 0) + if (GetBattlerSide(r10) == 0) { if (c == 3 || c == 0) sub_8043FC0(a, GetMonData(pkmn, MON_DATA_LEVEL)); diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c index 01cfc73dd..f87e1f152 100644 --- a/src/battle/battle_message.c +++ b/src/battle/battle_message.c @@ -197,13 +197,13 @@ void sub_8121D1C(u8* textBuff); void sub_8121D74(u8* textBuff); void StrCpyDecodeBattleTextBuff(u8* src, u8* dst); -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); s32 sub_803FC34(u16); void get_trainer_name(u8* dst); u8 get_trainer_class_name_index(void); u8 GetMultiplayerId(void); u8 GetBattlerAtPosition(u8 ID); -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); u8 GetBattlerPosition(u8 bank); #ifdef GERMAN extern u8 *de_sub_804110C(); @@ -265,7 +265,7 @@ void BufferStringBattle(u16 stringID) } break; case 1: // poke first send-out - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { @@ -305,7 +305,7 @@ void BufferStringBattle(u16 stringID) } break; case 2: // sending poke to ball msg - if (GetBankSide(gActiveBattler) == 0) + if (GetBattlerSide(gActiveBattler) == 0) { if (gBattleStruct->hpScale == 0) stringPtr = BattleText_ComeBackSingle1; @@ -335,7 +335,7 @@ void BufferStringBattle(u16 stringID) } break; case 3: // switch-in msg - if (GetBankSide(gBattleStruct->scriptingActive) == 0) + if (GetBattlerSide(gBattleStruct->scriptingActive) == 0) { if (gBattleStruct->hpScale == 0 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE) stringPtr = BattleText_SentOutSingle7; @@ -377,7 +377,7 @@ void BufferStringBattle(u16 stringID) if (gBattleTextBuff1[0] & 0x80) { gBattleTextBuff1[0] &= ~(0x80); - if (GetBankSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) + if (GetBattlerSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) gBattleTextBuff1[0] ^= 3; if (gBattleTextBuff1[0] == BATTLE_LOST || gBattleTextBuff1[0] == BATTLE_DREW) stringPtr = BattleText_GotAwaySafely; @@ -391,7 +391,7 @@ void BufferStringBattle(u16 stringID) } else { - if (GetBankSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) + if (GetBattlerSide(gActiveBattler) == 1 && gBattleTextBuff1[0] != 3) gBattleTextBuff1[0] ^= 3; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -483,7 +483,7 @@ extern u8 *de_sub_8041024(s32, u32); #ifdef ENGLISH #define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \ - if (GetBankSide(bank) != 0) \ + if (GetBattlerSide(bank) != 0) \ { \ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ toCpy = BattleText_Foe; \ @@ -505,7 +505,7 @@ extern u8 *de_sub_8041024(s32, u32); toCpy = text; #else #define HANDLE_NICKNAME_STRING_CASE(bank, monIndex) \ - if (GetBankSide(bank) != 0) \ + if (GetBattlerSide(bank) != 0) \ { \ GetMonData(&gEnemyParty[monIndex], MON_DATA_NICKNAME, text); \ StringGetEnd10(text); \ @@ -618,7 +618,7 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) HANDLE_NICKNAME_STRING_CASE(gBankAttacker, gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1)]) break; case 11: // attacker partner name, only bank 0/1 - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); else GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GetBattlerPosition(gBankAttacker) & 1) + 2]], MON_DATA_NICKNAME, text); @@ -771,37 +771,37 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst) toCpy = BattleText_Someone; break; case 38: - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) toCpy = BattleText_Ally2; else toCpy = BattleText_Foe3; break; case 39: - if (GetBankSide(gBankTarget) == 0) + if (GetBattlerSide(gBankTarget) == 0) toCpy = BattleText_Ally2; else toCpy = BattleText_Foe3; break; case 36: - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) toCpy = BattleText_Ally; else toCpy = BattleText_Foe2; break; case 37: - if (GetBankSide(gBankTarget) == 0) + if (GetBattlerSide(gBankTarget) == 0) toCpy = BattleText_Ally; else toCpy = BattleText_Foe2; break; case 40: - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) toCpy = BattleText_Ally3; else toCpy = BattleText_Foe4; break; case 41: - if (GetBankSide(gBankTarget) == 0) + if (GetBattlerSide(gBankTarget) == 0) toCpy = BattleText_Ally3; else toCpy = BattleText_Foe4; @@ -884,7 +884,7 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) break; case 4: // poke nick with prefix #ifdef ENGLISH - if (GetBankSide(src[srcID + 1]) == 0) + if (GetBattlerSide(src[srcID + 1]) == 0) { GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text); } @@ -899,7 +899,7 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) StringGetEnd10(text); StringAppend(dst, text); #else - if (GetBankSide(src[srcID + 1]) == 0) + if (GetBattlerSide(src[srcID + 1]) == 0) { GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text); StringGetEnd10(text); @@ -927,7 +927,7 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst) srcID += 3; break; case 7: // poke nick without prefix - if (GetBankSide(src[srcID + 1]) == 0) + if (GetBattlerSide(src[srcID + 1]) == 0) GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, dst); else GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, dst); diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index 9dc835d5c..be7269699 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -145,7 +145,7 @@ static void sub_8094A74(u8 arg[3], u8 player_number, u32 arg3) { int i, j; u8 temp[6]; - if (!GetBankSide(arg3)) + if (!GetBattlerSide(arg3)) { i = GetBattlerAtPosition(0); j = GetBattlerAtPosition(2); @@ -664,7 +664,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) } for (i = 0; i < gNoOfAllBanks; i++) { - if (GetBankSide(i) == 0 + if (GetBattlerSide(i) == 0 && sub_8094C20(partySelection) == gBattlerPartyIndexes[i]) { sub_806D5A4(); diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index 43364a24a..3441c0d14 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -79,7 +79,7 @@ extern const BattleCmdFunc gBattleScriptingCommandsTable[]; u8 IsImprisoned(u8 bank, u16 move); u8 GetBattlerAtPosition(u8 ID); u8 GetBattlerPosition(u8 bank); -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); void SetMoveEffect(bool8 primary, u8 certainArg); bool8 UproarWakeUpCheck(u8 bank); bool8 sub_8018018(u8 bank, u8, u8); @@ -269,11 +269,11 @@ void PressurePPLoseOnUsingImprision(u8 bankAtk) { s32 i, j; s32 imprisionPos = 4; - u8 atkSide = GetBankSide(bankAtk); + u8 atkSide = GetBattlerSide(bankAtk); for (i = 0; i < gNoOfAllBanks; i++) { - if (atkSide != GetBankSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) + if (atkSide != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) { for (j = 0; j < 4; j++) { @@ -427,7 +427,7 @@ void sub_8015740(u8 bank) s32 i = 0; u32 bits = 0; - if (GetBankSide(bank) == B_SIDE_OPPONENT) + if (GetBattlerSide(bank) == B_SIDE_OPPONENT) { u8 id = ((bank & BIT_FLANK) >> 1); gSentPokesToOpponent[id] = 0; @@ -444,7 +444,7 @@ void sub_8015740(u8 bank) void sub_80157C4(u8 bank) { - if (GetBankSide(bank) == B_SIDE_OPPONENT) + if (GetBattlerSide(bank) == B_SIDE_OPPONENT) { sub_8015740(bank); } @@ -582,11 +582,11 @@ bool8 AreAllMovesUnusable(void) u8 IsImprisoned(u8 bank, u16 move) { u8 imprisionedMoves = 0; - u8 bankSide = GetBankSide(bank); + u8 bankSide = GetBattlerSide(bank); s32 i; for (i = 0; i < gNoOfAllBanks; i++) { - if (bankSide != GetBankSide(i) && gStatuses3[i] & STATUS3_IMPRISIONED) + if (bankSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISIONED) { s32 j; for (j = 0; j < 4; j++) @@ -1597,7 +1597,7 @@ bool8 sub_8018018(u8 bank, u8 r1, u8 r2) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { r7 = sub_803FC34(bank); - if (GetBankSide(bank) == 0) + if (GetBattlerSide(bank) == 0) party = gPlayerParty; else party = gEnemyParty; @@ -1611,7 +1611,7 @@ bool8 sub_8018018(u8 bank, u8 r1, u8 r2) } else { - if (GetBankSide(bank) == 1) + if (GetBattlerSide(bank) == 1) { r7 = GetBattlerAtPosition(1); r6 = GetBattlerAtPosition(3); @@ -1697,14 +1697,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (gBankAttacker >= gNoOfAllBanks) gBankAttacker = bank; - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; else pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; if (gBankTarget >= gNoOfAllBanks) gBankTarget = bank; - if (GetBankSide(gBankTarget) == 0) + if (GetBattlerSide(gBankTarget) == 0) pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; else pokeDef = &gEnemyParty[gBattlerPartyIndexes[gBankTarget]]; @@ -2451,10 +2451,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_OTHER_SIDE: // 12 - side = GetBankSide(bank); + side = GetBattlerSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2462,10 +2462,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 - side = GetBankSide(bank); + side = GetBattlerSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect = i + 1; @@ -2522,10 +2522,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_OTHER_SIZE: // 16 - side = GetBankSide(bank); + side = GetBattlerSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { - if (GetBankSide(i) != side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2533,10 +2533,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 - side = GetBankSide(bank); + side = GetBattlerSide(bank); for (i = 0; i < gNoOfAllBanks; i++) { - if (GetBankSide(i) == side && gBattleMons[i].ability == ability) + if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { gLastUsedAbility = ability; effect++; @@ -2692,7 +2692,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) u8 ppBonuses; u16 move; - if (GetBankSide(bank) == 0) + if (GetBattlerSide(bank) == 0) poke = &gPlayerParty[gBattlerPartyIndexes[bank]]; else poke = &gEnemyParty[gBattlerPartyIndexes[bank]]; @@ -3376,16 +3376,16 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target switch (moveTarget) { case 0: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else { - side = GetBankSide(gBankAttacker); + side = GetBattlerSide(gBankAttacker); do { targetBank = Random() % gNoOfAllBanks; - } while (targetBank == gBankAttacker || side == GetBankSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); + } while (targetBank == gBankAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) @@ -3405,12 +3405,12 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target targetBank ^= 2; break; case 4: - side = GetBankSide(gBankAttacker) ^ 1; + side = GetBattlerSide(gBankAttacker) ^ 1; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) targetBank = gSideTimers[side].followmeTarget; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & 4) { - if (GetBankSide(gBankAttacker) == 0) + if (GetBattlerSide(gBankAttacker) == 0) { if (Random() & 1) targetBank = GetBattlerAtPosition(1); @@ -3446,7 +3446,7 @@ u8 IsMonDisobedient(void) s32 calc; if (gBattleTypeFlags & BATTLE_TYPE_LINK - || GetBankSide(gBankAttacker) == 1 + || GetBattlerSide(gBankAttacker) == 1 || !IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName)) return 0; diff --git a/src/battle/calculate_base_damage.c b/src/battle/calculate_base_damage.c index 217ab28a3..5e63ee92c 100644 --- a/src/battle/calculate_base_damage.c +++ b/src/battle/calculate_base_damage.c @@ -71,7 +71,7 @@ const u8 gHoldEffectToType[][2] = {HOLD_EFFECT_NORMAL_POWER, TYPE_NORMAL} }; -u8 GetBankSide(u8 bank); +u8 GetBattlerSide(u8 bank); #define APPLY_STAT_MOD(var, mon, stat, statIndex) \ { \ @@ -137,7 +137,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE01_GET) - && !GetBankSide(bankAtk)) + && !GetBattlerSide(bankAtk)) attack = (110 * attack) / 100; } if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -145,7 +145,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE05_GET) - && !GetBankSide(bankDef)) + && !GetBattlerSide(bankDef)) defense = (110 * defense) / 100; } if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -153,7 +153,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE07_GET) - && !GetBankSide(bankAtk)) + && !GetBattlerSide(bankAtk)) spAttack = (110 * spAttack) / 100; } if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_EREADER_TRAINER))) @@ -161,7 +161,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) && gTrainerBattleOpponent != 1024 && FlagGet(FLAG_BADGE07_GET) - && !GetBankSide(bankDef)) + && !GetBattlerSide(bankDef)) spDefense = (110 * spDefense) / 100; } diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index 606bc3e50..91754b4d3 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -357,7 +357,7 @@ static void sub_8046464(u8 taskId) } r8 = gTasks[taskId].data[2]; r5 = gTasks[taskId].data[3]; - if (GetBankSide(r5) != 0) + if (GetBattlerSide(r5) != 0) ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL); else ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[r5]], MON_DATA_POKEBALL); @@ -711,7 +711,7 @@ static void sub_8046C78(struct Sprite *sprite) u16 r4_2; u8 taskId; - if (GetBankSide(r5) != 0) + if (GetBattlerSide(r5) != 0) { pkmn = &gEnemyParty[gBattlerPartyIndexes[r5]]; r8 = 25; @@ -1102,7 +1102,7 @@ void sub_804777C(u8 a) sprite->pos2.x = 0x73; sprite->pos2.y = 0; sprite->callback = sub_8047830; - if (GetBankSide(a) != 0) + if (GetBattlerSide(a) != 0) { sprite->data[0] = -sprite->data[0]; sprite->data[1] = -sprite->data[1]; @@ -1187,7 +1187,7 @@ void sub_804794C(u8 a) static u16 sub_8047978(u8 a) { - if (GetBankSide(a) == 0) + if (GetBattlerSide(a) == 0) return GetMonData(&gPlayerParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL); else return GetMonData(&gEnemyParty[gBattlerPartyIndexes[a]], MON_DATA_POKEBALL); diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index bc25f8e15..fe80168fd 100644 --- a/src/battle/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c @@ -207,7 +207,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank) { if (bank < gNoOfAllBanks) { - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) { if (!ewram17800[bank].substituteSprite) BattleLoadOpponentMonSprite(&gEnemyParty[gBattlerPartyIndexes[bank]], bank); @@ -238,7 +238,7 @@ static void sub_807B184(u8 bank) posY = sub_8077F7C(bank); else posY = sub_8077F68(bank); - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) { if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; @@ -300,7 +300,7 @@ static void sub_807B508(u8 bank) gHealthboxIDs[bank] = healthboxID; sub_8043F44(bank); sub_8043DFC(healthboxID); - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) sub_8045A5C(gHealthboxIDs[bank], &gEnemyParty[gBattlerPartyIndexes[bank]], 0); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) sub_8045A5C(gHealthboxIDs[bank], &gPlayerParty[gBattlerPartyIndexes[bank]], 10); @@ -310,7 +310,7 @@ static void sub_807B508(u8 bank) nullsub_11(gHealthboxIDs[bank], 1); else nullsub_11(gHealthboxIDs[bank], 0); - if (GetBankSide(bank)) + if (GetBattlerSide(bank)) { if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) sub_8043DB0(healthboxID); diff --git a/src/pokemon_2.c b/src/pokemon_2.c index a618fdec5..9c60ea108 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -67,14 +67,14 @@ u8 CountAliveMons(u8 a1) case 1: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBankAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; case 2: for (i = 0; i < 4; i++) { - if (GetBankSide(i) == GetBankSide(gBankTarget) && !(gAbsentBattlerFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(gBankTarget) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; @@ -1226,7 +1226,7 @@ void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex) GetMonData(&gPlayerParty[partyIndex], MON_DATA_NICKNAME, nickname); StringCopy10(gBattleMons[battleIndex].nickname, nickname); GetMonData(&gPlayerParty[partyIndex], MON_DATA_OT_NAME, gBattleMons[battleIndex].otName); - ewram160BC[GetBankSide(battleIndex)] = gBattleMons[battleIndex].hp; + ewram160BC[GetBattlerSide(battleIndex)] = gBattleMons[battleIndex].hp; for (i = 0; i < 8; i++) gBattleMons[battleIndex].statStages[i] = 6; diff --git a/src/pokemon_3.c b/src/pokemon_3.c index d35551613..791dd5d2f 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -1298,7 +1298,7 @@ void sub_8040B8C(void) gBattleTextBuff1[1] = 4; gBattleTextBuff1[2] = gBattleStruct->unk16054; gBattleTextBuff1[4] = EOS; - if (!GetBankSide(gBattleStruct->unk16054)) + if (!GetBattlerSide(gBattleStruct->unk16054)) gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->unk16054]); else gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->unk16054]; diff --git a/src/pokemon_item_effect.c b/src/pokemon_item_effect.c index 6f1e9dabb..aa6e49877 100644 --- a/src/pokemon_item_effect.c +++ b/src/pokemon_item_effect.c @@ -79,7 +79,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo if (gMain.inBattle) { gActiveBattler = gBankInMenu; - cmdIndex = (GetBankSide(gActiveBattler) != 0); + cmdIndex = (GetBattlerSide(gActiveBattler) != 0); while (cmdIndex < gNoOfAllBanks) { if (gBattlerPartyIndexes[cmdIndex] == partyIndex) @@ -180,9 +180,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo break; case 3: if ((itemEffect[cmdIndex] & 0x80) - && gSideTimers[GetBankSide(gActiveBattler)].mistTimer == 0) + && gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer == 0) { - gSideTimers[GetBankSide(gActiveBattler)].mistTimer = 5; + gSideTimers[GetBattlerSide(gActiveBattler)].mistTimer = 5; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0x40) // raise level @@ -280,13 +280,13 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo { gAbsentBattlerFlags &= ~gBitTable[sp34]; CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34])); - if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) + if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } else { gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2]; - if (GetBankSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) + if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.unk4 < 255) gBattleResults.unk4++; } } @@ -325,7 +325,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo if (gMain.inBattle && sp34 != 4) { gBattleMons[sp34].hp = data; - if (!(r10 & 0x10) && GetBankSide(gActiveBattler) == 0) + if (!(r10 & 0x10) && GetBattlerSide(gActiveBattler) == 0) { if (gBattleResults.unk3 < 255) gBattleResults.unk3++; diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 2df2360dc..0a0c89cf4 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -186,7 +186,7 @@ u8 GetBankPosition(u8 slot, u8 a2) } else { - if (GetBankSide(slot)) + if (GetBattlerSide(slot)) { transform = &eTransformStatuses[slot]; if (!transform->species) @@ -220,7 +220,7 @@ u8 sub_8077BFC(u8 slot, u16 species) u8 ret; u16 var; - if (GetBankSide(slot) == 0 || IsContest()) + if (GetBattlerSide(slot) == 0 || IsContest()) { if (species == SPECIES_UNOWN) { @@ -294,7 +294,7 @@ u8 sub_8077BFC(u8 slot, u16 species) u8 sub_8077DD8(u8 slot, u16 species) { u8 ret = 0; - if (GetBankSide(slot) == 1) + if (GetBattlerSide(slot) == 1) { if (!IsContest()) { @@ -314,7 +314,7 @@ u8 sub_8077E44(u8 slot, u16 species, u8 a3) u16 offset; u8 y; - if (GetBankSide(slot) == 0 || IsContest()) + if (GetBattlerSide(slot) == 0 || IsContest()) { offset = sub_8077BFC(slot, species); } @@ -326,7 +326,7 @@ u8 sub_8077E44(u8 slot, u16 species, u8 a3) y = offset + gUnknown_0837F578[IS_DOUBLE_BATTLE()][GetBattlerPosition(slot)].field_1; if (a3) { - if (GetBankSide(slot) == 0) + if (GetBattlerSide(slot) == 0) y += 8; if (y > 104) y = 104; @@ -374,7 +374,7 @@ u8 sub_8077F68(u8 slot) u8 sub_8077F7C(u8 slot) { u16 var; - if (GetBankSide(slot) != 0) + if (GetBattlerSide(slot) != 0) var = GetBankPosition(slot, 1) + 16; else var = GetBankPosition(slot, 1) + 17; @@ -390,7 +390,7 @@ u8 sub_8077FC0(u8 slot) r6 = GetBankPosition(slot, 1); if (!IsContest()) { - if (GetBankSide(slot) != 0) + if (GetBattlerSide(slot) != 0) { transform = &eTransformStatuses[slot]; if (!transform->species) { @@ -407,7 +407,7 @@ u8 sub_8077FC0(u8 slot) else var = transform->species; } - if (GetBankSide(slot) != 0) + if (GetBattlerSide(slot) != 0) r6 -= sub_8077DD8(slot, var); } return r6; @@ -760,7 +760,7 @@ void sub_807867C(struct Sprite *sprite, s16 a2) } else { - if (GetBankSide(gAnimBankAttacker) != 0) + if (GetBattlerSide(gAnimBankAttacker) != 0) sprite->pos1.x -= a2; else sprite->pos1.x += a2; @@ -820,7 +820,7 @@ void InitAnimSpritePos(struct Sprite *sprite, u8 a2) sprite->pos1.y += gBattleAnimArgs[1]; } -u8 GetBankSide(u8 slot) +u8 GetBattlerSide(u8 slot) { return gBanksBySide[slot] & 1; } @@ -856,7 +856,7 @@ bool8 IsBankSpritePresent(u8 slot) { if (gBanksBySide[slot] == 0xff) return FALSE; - if (GetBankSide(slot) != B_SIDE_PLAYER) + if (GetBattlerSide(slot) != B_SIDE_PLAYER) { if (GetMonData(&gEnemyParty[gBattleMonPartyPositions[slot]], MON_DATA_HP) != 0) return TRUE; @@ -1421,7 +1421,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) v2 = 1; InitAnimSpritePos(sprite, v1); - if (GetBankSide(gAnimBankAttacker) != B_SIDE_PLAYER) + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; @@ -1434,7 +1434,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) void sub_80794A8(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; @@ -1474,7 +1474,7 @@ void sub_8079534(struct Sprite *sprite) sub_8078764(sprite, r4); slot = gAnimBankTarget; } - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sub_8078764(sprite, r4); sprite->data[0] = gBattleAnimArgs[4]; @@ -1767,7 +1767,7 @@ u16 sub_8079B10(u8 sprite) } else { - if (!GetBankSide(i)) + if (!GetBattlerSide(i)) { transform = &eTransformStatuses[slot]; if (!transform->species) @@ -2037,7 +2037,7 @@ s16 sub_807A100(u8 slot, u8 a2) } else { - if (!GetBankSide(slot)) + if (!GetBattlerSide(slot)) { transform = &eTransformStatuses[slot]; if (!transform->species) @@ -2176,7 +2176,7 @@ u8 sub_807A4A0(int bank, u8 sprite, int species) void sub_807A544(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; @@ -2197,7 +2197,7 @@ void sub_807A544(struct Sprite *sprite) void sub_807A5C4(struct Sprite *sprite) { - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; gBattleAnimArgs[3] *= -1; @@ -2221,7 +2221,7 @@ void sub_807A5C4(struct Sprite *sprite) void sub_807A63C(struct Sprite *sprite) { sub_8078650(sprite); - if (GetBankSide(gAnimBankAttacker)) + if (GetBattlerSide(gAnimBankAttacker)) sprite->pos1.x -= gBattleAnimArgs[0]; else sprite->pos1.x += gBattleAnimArgs[0]; @@ -2238,7 +2238,7 @@ void sub_807A69C(u8 taskId) u16 dest; struct Task *task = &gTasks[taskId]; task->data[0] = GetAnimBankSpriteId(0); - task->data[1] = (GetBankSide(gAnimBankAttacker)) ? -8 : 8; + task->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? -8 : 8; task->data[2] = 0; task->data[3] = 0; gSprites[task->data[0]].pos2.x -= task->data[0]; @@ -2320,7 +2320,7 @@ void sub_807A8D4(struct Sprite *sprite) void sub_807A908(struct Sprite *sprite) { sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); - if (!GetBankSide(gAnimBankAttacker)) + if (!GetBattlerSide(gAnimBankAttacker)) sprite->data[0] = 5; else sprite->data[0] = -10; @@ -2346,7 +2346,7 @@ void sub_807A9BC(struct Sprite *sprite) sprite->data[0] = gBattleAnimArgs[2]; sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4]; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5]; - if (!GetBankSide(gAnimBankTarget)) + if (!GetBattlerSide(gAnimBankTarget)) { x = (u16)gBattleAnimArgs[4] + 30; sprite->pos1.x += x; -- cgit v1.2.3 From c36715e3b692ac116a5f8d32b5c2bde7d5ce8f8e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 6 Apr 2018 16:24:35 -0700 Subject: Use 'battler' instead of 'bank' --- src/battle/anim/anger.c | 4 +- src/battle/anim/aurora.c | 4 +- src/battle/anim/blow_kiss.c | 4 +- src/battle/anim/bottle.c | 4 +- src/battle/anim/brace.c | 8 +- src/battle/anim/breath.c | 6 +- src/battle/anim/bubble.c | 12 +-- src/battle/anim/bug.c | 28 ++--- src/battle/anim/bullet.c | 4 +- src/battle/anim/copy_orb.c | 8 +- src/battle/anim/cube.c | 4 +- src/battle/anim/cutter.c | 4 +- src/battle/anim/dark.c | 24 ++--- src/battle/anim/dragon.c | 24 ++--- src/battle/anim/draw.c | 2 +- src/battle/anim/drum.c | 4 +- src/battle/anim/energy_wave.c | 12 +-- src/battle/anim/espeed.c | 10 +- src/battle/anim/evasion.c | 2 +- src/battle/anim/fight.c | 52 ++++----- src/battle/anim/fire_2.c | 10 +- src/battle/anim/flying_path.c | 4 +- src/battle/anim/flying_petals.c | 6 +- src/battle/anim/glitter.c | 8 +- src/battle/anim/grip.c | 4 +- src/battle/anim/grow.c | 2 +- src/battle/anim/guard.c | 4 +- src/battle/anim/guillotine.c | 4 +- src/battle/anim/homing.c | 8 +- src/battle/anim/hop.c | 6 +- src/battle/anim/hop_2.c | 4 +- src/battle/anim/leaf.c | 4 +- src/battle/anim/money.c | 4 +- src/battle/anim/noise.c | 4 +- src/battle/anim/note_rain.c | 4 +- src/battle/anim/note_scatter.c | 4 +- src/battle/anim/note_wave.c | 4 +- src/battle/anim/orbit.c | 4 +- src/battle/anim/orbit_fast.c | 4 +- src/battle/anim/orbit_scatter.c | 4 +- src/battle/anim/orbs.c | 24 ++--- src/battle/anim/osmose.c | 4 +- src/battle/anim/poison.c | 4 +- src/battle/anim/psychic.c | 32 +++--- src/battle/anim/ring.c | 14 +-- src/battle/anim/rock.c | 14 +-- src/battle/anim/roots.c | 12 +-- src/battle/anim/scan.c | 4 +- src/battle/anim/seed.c | 4 +- src/battle/anim/shadow_enlarge.c | 4 +- src/battle/anim/shadow_minimize.c | 2 +- src/battle/anim/shock.c | 12 +-- src/battle/anim/silhouette.c | 6 +- src/battle/anim/slash.c | 16 +-- src/battle/anim/slice.c | 20 ++-- src/battle/anim/sonic.c | 4 +- src/battle/anim/sonic_task.c | 8 +- src/battle/anim/spin_finger.c | 2 +- src/battle/anim/spit.c | 4 +- src/battle/anim/splash.c | 2 +- src/battle/anim/startle.c | 8 +- src/battle/anim/strike.c | 4 +- src/battle/anim/struggle.c | 8 +- src/battle/anim/tendrils.c | 4 +- src/battle/anim/thought.c | 2 +- src/battle/anim/thrashing.c | 4 +- src/battle/anim/tile_in.c | 4 +- src/battle/anim/tile_out.c | 10 +- src/battle/anim/twinkle.c | 2 +- src/battle/anim/unused_7.c | 4 +- src/battle/anim/uproar.c | 2 +- src/battle/anim/wisp_fire.c | 4 +- src/battle/anim/wisp_orb.c | 4 +- src/battle/battle_2.c | 102 +++++++++--------- src/battle/battle_4.c | 128 +++++++++++----------- src/battle/battle_7.c | 18 ++-- src/battle/battle_ai_switch_items.c | 162 ++++++++++++++-------------- src/battle/battle_anim.c | 14 +-- src/battle/battle_anim_807B69C.c | 6 +- src/battle/battle_anim_80A7E7C.c | 26 ++--- src/battle/battle_controller_linkopponent.c | 4 +- src/battle/battle_controller_linkpartner.c | 6 +- src/battle/battle_controller_opponent.c | 6 +- src/battle/battle_controller_player.c | 14 +-- src/battle/battle_controller_wally.c | 4 +- src/battle/battle_interface.c | 6 +- src/battle/battle_party_menu.c | 4 +- src/battle/battle_util.c | 100 ++++++++--------- src/battle/pokeball.c | 12 +-- src/battle/reshow_battle_screen.c | 12 +-- src/contest.c | 4 +- src/pokemon_item_effect.c | 4 +- src/rom3.c | 20 ++-- src/rom_8077ABC.c | 78 +++++++------- 94 files changed, 649 insertions(+), 649 deletions(-) (limited to 'src') diff --git a/src/battle/anim/anger.c b/src/battle/anim/anger.c index 0f1984f90..4ea56636b 100644 --- a/src/battle/anim/anger.c +++ b/src/battle/anim/anger.c @@ -24,8 +24,8 @@ void sub_80D09C0(struct Sprite* sprite) gBattleAnimArgs[1] *= -1; } - sprite->pos1.x = GetBankPosition(bank, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(bank, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(bank, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[2]; if (sprite->pos1.y <= 7) sprite->pos1.y = 8; diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c index 4041dd3bf..de145d6a4 100644 --- a/src/battle/anim/aurora.c +++ b/src/battle/anim/aurora.c @@ -23,9 +23,9 @@ void sub_80D33B4(struct Sprite *sprite) r6 = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r6; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + r6; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D344C; sprite->affineAnimPaused = TRUE; diff --git a/src/battle/anim/blow_kiss.c b/src/battle/anim/blow_kiss.c index f585b74bc..6d762bc7f 100644 --- a/src/battle/anim/blow_kiss.c +++ b/src/battle/anim/blow_kiss.c @@ -18,9 +18,9 @@ void sub_80D1F58(struct Sprite* sprite) InitAnimSpritePos(sprite, 1); sprite->data[0] = 0x5F; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); sprite->callback = sub_80D1FA4; } diff --git a/src/battle/anim/bottle.c b/src/battle/anim/bottle.c index 5485bcf5d..0d5a54e18 100644 --- a/src/battle/anim/bottle.c +++ b/src/battle/anim/bottle.c @@ -16,8 +16,8 @@ static void sub_80CD0CC(struct Sprite* sprite, int unk1, int unk2); void sub_80CCF04(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + 0xFFE8; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + 0xFFE8; sprite->data[0] = 0; sprite->data[1] = 0; sprite->data[2] = 0; diff --git a/src/battle/anim/brace.c b/src/battle/anim/brace.c index 19ea4297b..a81af73ac 100644 --- a/src/battle/anim/brace.c +++ b/src/battle/anim/brace.c @@ -17,13 +17,13 @@ void sub_80CDF0C(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[2]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[2]; } sprite->data[0] = 0; diff --git a/src/battle/anim/breath.c b/src/battle/anim/breath.c index 948a855b8..58b5066c0 100644 --- a/src/battle/anim/breath.c +++ b/src/battle/anim/breath.c @@ -16,17 +16,17 @@ void sub_80D0930(struct Sprite* sprite) if (GetBattlerSide(gAnimBankAttacker) == 0) { StartSpriteAnim(sprite, 0); - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + 32; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + 32; sprite->data[1] = 0x40; } else { StartSpriteAnim(sprite, 1); - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) - 32; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) - 32; sprite->data[1] = -0x40; } - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = 0x34; sprite->data[2] = 0; sprite->data[3] = 0; diff --git a/src/battle/anim/bubble.c b/src/battle/anim/bubble.c index b118b5f90..27791eedf 100644 --- a/src/battle/anim/bubble.c +++ b/src/battle/anim/bubble.c @@ -21,13 +21,13 @@ void sub_80D31C8(struct Sprite* sprite) if (GetBattlerSide(gAnimBankAttacker) != 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) - gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) - gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[1]; } sprite->animPaused = 1; @@ -39,9 +39,9 @@ void sub_80D31C8(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[6]; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index 64021f499..245e45774 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -37,8 +37,8 @@ void sub_80DC824(struct Sprite *sprite) sprite->pos1.y = sub_8077EE4(gAnimBankTarget, 3) + gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); @@ -62,8 +62,8 @@ void sub_80DC8F4(struct Sprite *sprite) sprite->pos1.y = sub_8077EE4(gAnimBankTarget, 3) + gBattleAnimArgs[1]; sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); @@ -83,8 +83,8 @@ void sub_80DC9A0(struct Sprite *sprite) if (!gBattleAnimArgs[4]) { - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); } else { @@ -220,8 +220,8 @@ void AnimTranslateStinger(struct Sprite *sprite) InitAnimSpritePos(sprite, 1); - lVarX = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - lVarY = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + lVarX = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + lVarY = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; rot = ArcTan2Neg(lVarX - sprite->pos1.x, lVarY - sprite->pos1.y); rot += 0xC000; sub_8078FDC(sprite, FALSE, 0x100, 0x100, rot); @@ -251,8 +251,8 @@ void AnimMissileArc(struct Sprite *sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); @@ -301,13 +301,13 @@ void sub_80DCE40(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + 18; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + 18; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + 18; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + 18; } StoreSpriteCallbackInData(sprite, move_anim_8074EE0); diff --git a/src/battle/anim/bullet.c b/src/battle/anim/bullet.c index 1dca0b886..035adf394 100644 --- a/src/battle/anim/bullet.c +++ b/src/battle/anim/bullet.c @@ -19,8 +19,8 @@ void sub_80CFFD8(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); sprite->data[0] = 20; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; sprite->affineAnimPaused = 1; StoreSpriteCallbackInData(sprite, sub_80D0030); diff --git a/src/battle/anim/copy_orb.c b/src/battle/anim/copy_orb.c index 9c583670b..ac60d2c2b 100644 --- a/src/battle/anim/copy_orb.c +++ b/src/battle/anim/copy_orb.c @@ -22,8 +22,8 @@ void sub_80CB4CC(struct Sprite* sprite) gBattleAnimArgs[0] = -a; } - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[1]; sprite->invisible = 1; sprite->data[0]++; break; @@ -35,8 +35,8 @@ void sub_80CB4CC(struct Sprite* sprite) { ChangeSpriteAffineAnim(sprite, 1); sprite->data[0] = 25; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = sub_8078CC0; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); break; diff --git a/src/battle/anim/cube.c b/src/battle/anim/cube.c index 9adf46e32..6fef2de69 100644 --- a/src/battle/anim/cube.c +++ b/src/battle/anim/cube.c @@ -16,8 +16,8 @@ static void sub_80CE000(struct Sprite* sprite); void sub_80CDFB0(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) - 12; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) - 12; sprite->data[0] = 0; sprite->data[1] = 2; sprite->data[2] = 0; diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c index 80411f70d..bc7478053 100644 --- a/src/battle/anim/cutter.c +++ b/src/battle/anim/cutter.c @@ -32,8 +32,8 @@ void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) sprite->data[0] = gBattleAnimArgs[4]; if (!gBattleAnimArgs[6]) { - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; } else { diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index aeb74a7d5..9a1d0842b 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -123,10 +123,10 @@ void sub_80DFDC0(u8 taskId) void sub_80DFE14(struct Sprite *sprite) { - sprite->data[1] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[3] = GetBankPosition(gAnimBankTarget, 3); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[1] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[3] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = 0x7E; InitSpriteDataForLinearTranslation(sprite); sprite->data[3] = -sprite->data[1]; @@ -257,13 +257,13 @@ void sub_80E00EC(u8 taskId) int var0; struct Task *task = &gTasks[taskId]; - task->data[7] = GetBankPosition(gAnimBankAttacker, 1) + 31; + task->data[7] = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + 31; task->data[6] = sub_807A100(gAnimBankAttacker, 2) - 7; task->data[5] = task->data[7]; task->data[4] = task->data[6]; task->data[13] = (task->data[7] - task->data[6]) << 8; - pos = GetBankPosition(gAnimBankAttacker, 0); + pos = GetBattlerSpriteCoord(gAnimBankAttacker, 0); task->data[14] = pos - 32; task->data[15] = pos + 32; @@ -435,10 +435,10 @@ void sub_80E03BC(u8 taskId) task->data[0]++; break; case 2: - task->data[7] = GetBankPosition(gAnimBankTarget, 1) + 31; + task->data[7] = GetBattlerSpriteCoord(gAnimBankTarget, 1) + 31; task->data[6] = sub_807A100(gAnimBankTarget, 2) - 7; task->data[13] = (task->data[7] - task->data[6]) << 8; - pos = GetBankPosition(gAnimBankTarget, 0); + pos = GetBattlerSpriteCoord(gAnimBankTarget, 0); task->data[14] = pos - 4; task->data[15] = pos + 4; @@ -783,7 +783,7 @@ static void sub_80E08CC(u8 priority) for (i = 0; i < 4; i++) { - u8 spriteId = GetAnimBankSpriteId(i); + u8 spriteId = GetAnimBattlerSpriteId(i); if (spriteId != 0xFF) gSprites[spriteId].oam.priority = priority; } @@ -870,7 +870,7 @@ void sub_80E0A4C(u8 taskId) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gAnimBankAttacker]], MON_DATA_SPECIES); } - spriteId = GetAnimBankSpriteId(0); + spriteId = GetAnimBattlerSpriteId(0); newSpriteId = sub_807A4A0(gAnimBankAttacker, spriteId, species); sub_8078914(&subStruct); @@ -926,7 +926,7 @@ static void sub_80E0CD0(u8 taskId) REG_BLDCNT = 0; REG_BLDALPHA = 0; - spriteId = GetAnimBankSpriteId(0); + spriteId = GetAnimBattlerSpriteId(0); paletteNum = 16 + gSprites[spriteId].oam.paletteNum; if (gTasks[taskIdCopy].data[1] == 0) sub_8079108(paletteNum, 1); @@ -958,7 +958,7 @@ void sub_80E0E24(u8 taskId) case 1: case 2: case 3: - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); break; case 4: identity = B_POSITION_PLAYER_LEFT; diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c index edb07af01..4c8448636 100644 --- a/src/battle/anim/dragon.c +++ b/src/battle/anim/dragon.c @@ -25,8 +25,8 @@ extern u8 gBankSpriteIds[]; void sub_80DF5A0(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[0]; @@ -50,8 +50,8 @@ void sub_80DF5A0(struct Sprite *sprite) void sub_80DF63C(struct Sprite *sprite) { sub_8078650(sprite); - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= gBattleAnimArgs[1]; @@ -78,13 +78,13 @@ void sub_80DF6F0(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); } sub_807867C(sprite, gBattleAnimArgs[1]); sprite->pos1.y += gBattleAnimArgs[2]; @@ -107,8 +107,8 @@ void sub_80DF78C(struct Sprite *sprite) { u16 r5; u16 r0; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[4] = 0; sprite->data[5] = 1; sprite->data[6] = gBattleAnimArgs[0]; @@ -252,8 +252,8 @@ void sub_80DFB28(struct Sprite *sprite) { int r6 = (gBattleAnimArgs[2] * 3) / 5; int i; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[4]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[4]; sprite->data[1] = Cos(gBattleAnimArgs[1], gBattleAnimArgs[2]); sprite->data[2] = Sin(gBattleAnimArgs[1], r6); sprite->pos1.x += sprite->data[1] * gBattleAnimArgs[0]; diff --git a/src/battle/anim/draw.c b/src/battle/anim/draw.c index 29b0c0ceb..9eea43220 100644 --- a/src/battle/anim/draw.c +++ b/src/battle/anim/draw.c @@ -108,7 +108,7 @@ void sub_80D0D68(u8 taskId) void sub_80D0E30(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) - 16; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) - 16; sprite->pos1.y = sub_8077FC0(gAnimBankTarget) + 16; sprite->data[0] = 0; sprite->data[1] = 0; diff --git a/src/battle/anim/drum.c b/src/battle/anim/drum.c index 7937d040a..8dea7e608 100644 --- a/src/battle/anim/drum.c +++ b/src/battle/anim/drum.c @@ -24,8 +24,8 @@ void sub_80CEDF0(struct Sprite* sprite) a = -16; } - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + a; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + 8; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + a; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + 8; sprite->data[0] = 8; sprite->callback = WaitAnimForDuration; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c index 029344428..7980c7b34 100644 --- a/src/battle/anim/energy_wave.c +++ b/src/battle/anim/energy_wave.c @@ -24,9 +24,9 @@ void sub_80D3554(struct Sprite *sprite) sprite->data[0] = 30; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); @@ -86,8 +86,8 @@ void sub_80D3698(struct Sprite *sprite) { u8 subpriority; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); sprite->pos2.y = -10; subpriority = sub_8079E90(gAnimBankAttacker); @@ -155,8 +155,8 @@ void sub_80D3728(struct Sprite *sprite) } sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, var2) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, var2) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } diff --git a/src/battle/anim/espeed.c b/src/battle/anim/espeed.c index a69c04330..2e80afff7 100644 --- a/src/battle/anim/espeed.c +++ b/src/battle/anim/espeed.c @@ -25,7 +25,7 @@ static void sub_80D1930(u8 taskId); void sub_80D15A4(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; sub_80798F4(task, spriteId, &gUnknown_083D79BC); task->func = sub_80D15E0; @@ -62,7 +62,7 @@ void sub_80D1638(u8 taskId) task->data[14] = -8; } - task->data[15] = GetAnimBankSpriteId(1); + task->data[15] = GetAnimBattlerSpriteId(1); task->func = sub_80D16A0; } @@ -123,7 +123,7 @@ void sub_80D17C4(u8 taskId) task->data[4] = 1; task->data[13] = 14; task->data[14] = 2; - task->data[15] = GetAnimBankSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(0); task->func = sub_80D1808; } @@ -169,8 +169,8 @@ void sub_80D18D4(u8 taskId) task->data[7] = 0; task->data[8] = 0; task->data[13] = 0; - task->data[14] = GetBankPosition(gAnimBankAttacker, 0); - task->data[15] = GetBankPosition(gAnimBankAttacker, 1); + task->data[14] = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + task->data[15] = GetBattlerSpriteCoord(gAnimBankAttacker, 1); task->func = sub_80D1930; } diff --git a/src/battle/anim/evasion.c b/src/battle/anim/evasion.c index a441110f8..e7387a52a 100644 --- a/src/battle/anim/evasion.c +++ b/src/battle/anim/evasion.c @@ -23,7 +23,7 @@ void sub_80CE7E0(u8 taskId) u16 r3; u16 r4; struct Task* task = &gTasks[taskId]; - task->data[0] = GetAnimBankSpriteId(0); + task->data[0] = GetAnimBattlerSpriteId(0); task->data[1] = AllocSpritePalette(0x2771); r3 = (task->data[1] * 16) + 0x100; r4 = (gSprites[task->data[0]].oam.paletteNum + 16) << 4; diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 4210b751c..5e25d664a 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -108,8 +108,8 @@ void sub_80D90F4(struct Sprite *sprite) gBattleAnimArgs[2] = Random() % 5; StartSpriteAnim(sprite, gBattleAnimArgs[2]); - sprite->pos1.x = GetBankPosition(bank, 2); - sprite->pos1.y = GetBankPosition(bank, 3); + sprite->pos1.x = GetBattlerSpriteCoord(bank, 2); + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3); xMod = sub_807A100(bank, 1) / 2; yMod = sub_807A100(bank, 0) / 4; @@ -275,8 +275,8 @@ static void AnimStompFootStep(struct Sprite *sprite) if (--sprite->data[0] == -1) { sprite->data[0] = 6; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, AnimStompFootEnd); @@ -319,13 +319,13 @@ void sub_80D95D0(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); } sprite->pos1.x += gBattleAnimArgs[1]; @@ -372,13 +372,13 @@ void sub_80D96B8(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[3]; } sprite->oam.tileNum += gBattleAnimArgs[1] * 16; @@ -423,8 +423,8 @@ void sub_80D97CC(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBankAttacker, 3); sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); sprite->data[7] = gAnimBankTarget; } @@ -448,9 +448,9 @@ static void sub_80D986C(struct Sprite *sprite) sprite->data[0] = 16; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(sprite->data[7], 2); + sprite->data[2] = GetBattlerSpriteCoord(sprite->data[7], 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(sprite->data[7], 3); + sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3); InitAnimSpriteTranslationDeltas(sprite); StoreSpriteCallbackInData(sprite, move_anim_8074EE0); @@ -491,10 +491,10 @@ static void sub_80D9934(struct Sprite *sprite) } else { - s16 pos0 = GetBankPosition(gAnimBankAttacker, 2); - s16 pos1 = GetBankPosition(gAnimBankAttacker, 3); - s16 pos2 = GetBankPosition(gAnimBankTarget, 2); - s16 pos3 = GetBankPosition(gAnimBankTarget, 3); + s16 pos0 = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + s16 pos1 = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + s16 pos2 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + s16 pos3 = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->data[0] = pos2 - pos0; sprite->data[1] = pos3 - pos1; @@ -525,8 +525,8 @@ void sub_80D9A38(struct Sprite *sprite) if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gBankAttacker, 3); bank = gAnimBankTarget; sprite->oam.priority = sub_8079ED4(gAnimBankAttacker); } @@ -543,9 +543,9 @@ void sub_80D9A38(struct Sprite *sprite) sprite->data[0] = 16; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(bank, 2); + sprite->data[2] = GetBattlerSpriteCoord(bank, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(bank, 3); + sprite->data[4] = GetBattlerSpriteCoord(bank, 3); InitAnimSpriteTranslationDeltas(sprite); StoreSpriteCallbackInData(sprite, DestroyAnimSprite); @@ -564,8 +564,8 @@ void sub_80D9B48(struct Sprite *sprite) { u8 turn; - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->data[1] = gBattleAnimArgs[3]; sprite->data[2] = gBattleAnimArgs[0]; sprite->data[3] = gBattleAnimArgs[1]; diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index 6d95475d0..97ac2e933 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -76,9 +76,9 @@ static void AnimFireRingStep1(struct Sprite *sprite) { sprite->data[0] = 0x19; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); @@ -92,8 +92,8 @@ static void AnimFireRingStep2(struct Sprite *sprite) { sprite->data[0] = 0; - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->pos2.y = 0; sprite->pos2.x = 0; @@ -184,7 +184,7 @@ void sub_80D5470(u8 taskId) // initialize animation task for Move_ERUPTION? { struct Task *task = &gTasks[taskId]; - task->data[15] = GetAnimBankSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(0); task->data[0] = 0; task->data[1] = 0; diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c index 8145446ad..5e9de8cb1 100644 --- a/src/battle/anim/flying_path.c +++ b/src/battle/anim/flying_path.c @@ -23,8 +23,8 @@ void sub_80CBDF4(u8 taskId) struct Task *task = &gTasks[taskId]; task->data[4] = sub_8079E90(gAnimBankTarget) - 1; - task->data[6] = GetBankPosition(gAnimBankTarget, 2); - task->data[7] = GetBankPosition(gAnimBankTarget, 3); + task->data[6] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + task->data[7] = GetBattlerSpriteCoord(gAnimBankTarget, 3); task->data[10] = sub_807A100(gAnimBankTarget, 1); task->data[11] = sub_807A100(gAnimBankTarget, 0); task->data[5] = (GetBattlerSide(gAnimBankTarget) == 1) ? 1 : -1; diff --git a/src/battle/anim/flying_petals.c b/src/battle/anim/flying_petals.c index 681b0ba1f..c7a596b56 100644 --- a/src/battle/anim/flying_petals.c +++ b/src/battle/anim/flying_petals.c @@ -48,12 +48,12 @@ void sub_80CC474(struct Sprite* sprite) sprite->oam.priority = sub_8079ED4(bank) + 1; break; case 2: - sprite->pos1.y = GetBankPosition(bank, 3) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[0]; sprite->oam.priority = sub_8079ED4(bank); break; case 3: - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[0]; - GetAnimBankSpriteId(1); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[0]; + GetAnimBattlerSpriteId(1); sprite->oam.priority = sub_8079ED4(bank) + 1; break; } diff --git a/src/battle/anim/glitter.c b/src/battle/anim/glitter.c index e6c101de3..d73b46bbd 100644 --- a/src/battle/anim/glitter.c +++ b/src/battle/anim/glitter.c @@ -43,13 +43,13 @@ void sub_80CD190(struct Sprite* sprite) { if (!gBattleAnimArgs[6]) { - sprite->pos1.x = GetBankPosition(bank, 0); - sprite->pos1.y = GetBankPosition(bank, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(bank, 0); + sprite->pos1.y = GetBattlerSpriteCoord(bank, 1) + gBattleAnimArgs[1]; } else { - sprite->pos1.x = GetBankPosition(bank, 2); - sprite->pos1.y = GetBankPosition(bank, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(bank, 2); + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[1]; } sub_807867C(sprite, gBattleAnimArgs[0]); diff --git a/src/battle/anim/grip.c b/src/battle/anim/grip.c index dbf7a1562..a56a02d82 100644 --- a/src/battle/anim/grip.c +++ b/src/battle/anim/grip.c @@ -31,8 +31,8 @@ void sub_80D0178(struct Sprite* sprite) sprite->pos1.x += r7; sprite->pos1.y += r4; sprite->data[0] = 6; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r8; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + r8; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + r6; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80D020C); } diff --git a/src/battle/anim/grow.c b/src/battle/anim/grow.c index 8788b32fe..924629048 100644 --- a/src/battle/anim/grow.c +++ b/src/battle/anim/grow.c @@ -18,7 +18,7 @@ static void sub_80D0904(u8 taskId); void sub_80D08C8(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); sub_80798F4(task, spriteId, &gUnknown_083D7714); task->func = sub_80D0904; } diff --git a/src/battle/anim/guard.c b/src/battle/anim/guard.c index 211e0e841..d54fa4abc 100644 --- a/src/battle/anim/guard.c +++ b/src/battle/anim/guard.c @@ -22,8 +22,8 @@ void sub_80D3014(struct Sprite *sprite) } else { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + 40; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + 40; } sprite->data[0] = 13; diff --git a/src/battle/anim/guillotine.c b/src/battle/anim/guillotine.c index 15279d5e2..0768e8334 100644 --- a/src/battle/anim/guillotine.c +++ b/src/battle/anim/guillotine.c @@ -34,9 +34,9 @@ void sub_80D0228(struct Sprite* sprite) sprite->pos1.y += r4; sprite->data[0] = 6; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + r9; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + r9; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + r6; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + r6; InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[0]; sprite->data[6] = sprite->data[0]; diff --git a/src/battle/anim/homing.c b/src/battle/anim/homing.c index 208d3b831..b24fcf4b1 100644 --- a/src/battle/anim/homing.c +++ b/src/battle/anim/homing.c @@ -29,13 +29,13 @@ void sub_80CC6CC(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - a = GetBankPosition(gAnimBankAttacker, 2); - b = GetBankPosition(gAnimBankAttacker, 3); + a = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + b = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } else { - a = GetBankPosition(gAnimBankTarget, 2); - b = GetBankPosition(gAnimBankTarget, 3); + a = GetBattlerSpriteCoord(gAnimBankTarget, 2); + b = GetBattlerSpriteCoord(gAnimBankTarget, 3); } sprite->data[0] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c index c76863f4a..7d1b2fd01 100644 --- a/src/battle/anim/hop.c +++ b/src/battle/anim/hop.c @@ -92,8 +92,8 @@ void sub_80CB94C(struct Sprite* sprite) s16 e1; s16 e2; InitAnimSpritePos(sprite, 0); - e1 = GetBankPosition(gAnimBankTarget, 0); - e2 = GetBankPosition(gAnimBankTarget, 1); + e1 = GetBattlerSpriteCoord(gAnimBankTarget, 0); + e2 = GetBattlerSpriteCoord(gAnimBankTarget, 1); if ((gAnimBankAttacker ^ 2) == gAnimBankTarget) { sprite->data[6] = e1; @@ -135,7 +135,7 @@ void sub_80CB9C4(struct Sprite* sprite) void sub_80CBA28(struct Sprite* sprite) { - s16 e = GetBankPosition(gAnimBankTarget, 1); + s16 e = GetBattlerSpriteCoord(gAnimBankTarget, 1); if (GetBattlerSide(gAnimBankTarget) == 0) { sprite->data[6] = 0; diff --git a/src/battle/anim/hop_2.c b/src/battle/anim/hop_2.c index 1bc3f46af..861f428da 100644 --- a/src/battle/anim/hop_2.c +++ b/src/battle/anim/hop_2.c @@ -22,8 +22,8 @@ void sub_80CBAE8(struct Sprite* sprite) s16 p1; s16 p2; sub_8078764(sprite, 0); - p1 = GetBankPosition(gAnimBankAttacker, 0); - p2 = GetBankPosition(gAnimBankAttacker, 1); + p1 = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + p2 = GetBattlerSpriteCoord(gAnimBankAttacker, 1); if ((gAnimBankTarget ^ 2) == gAnimBankAttacker) { sprite->data[6] = p1; diff --git a/src/battle/anim/leaf.c b/src/battle/anim/leaf.c index c39a52ff1..ca2af257d 100644 --- a/src/battle/anim/leaf.c +++ b/src/battle/anim/leaf.c @@ -15,8 +15,8 @@ static void sub_80CAF6C(struct Sprite* sprite); void sub_80CAED8(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c index 093c406a0..1407e8cd7 100644 --- a/src/battle/anim/money.c +++ b/src/battle/anim/money.c @@ -20,8 +20,8 @@ void sub_80CFE9C(struct Sprite* sprite) u16 var; InitAnimSpritePos(sprite, 1); - r6 = GetBankPosition(gAnimBankTarget, 2); - r7 = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + r6 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + r7 = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; if (GetBattlerSide(gAnimBankAttacker) != 0) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; diff --git a/src/battle/anim/noise.c b/src/battle/anim/noise.c index dab6c698f..0b6498318 100644 --- a/src/battle/anim/noise.c +++ b/src/battle/anim/noise.c @@ -21,8 +21,8 @@ void sub_80D2D68(struct Sprite* sprite) gBattleAnimArgs[1] *= -1; } - sprite->pos1.x = GetBankPosition(slot, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(slot, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(slot, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(slot, 3) + gBattleAnimArgs[2]; sprite->data[0] = 0; sprite->data[1] = (u16)sprite->pos1.x << 3; sprite->data[2] = (u16)sprite->pos1.y << 3; diff --git a/src/battle/anim/note_rain.c b/src/battle/anim/note_rain.c index 5574d5b98..4e12c7e1a 100644 --- a/src/battle/anim/note_rain.c +++ b/src/battle/anim/note_rain.c @@ -29,8 +29,8 @@ void sub_80D1C08(struct Sprite* sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); sub_80D1BA8(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); diff --git a/src/battle/anim/note_scatter.c b/src/battle/anim/note_scatter.c index 5820da571..53afa7d78 100644 --- a/src/battle/anim/note_scatter.c +++ b/src/battle/anim/note_scatter.c @@ -22,8 +22,8 @@ void sub_80CECE8(struct Sprite* sprite) (u16)gBattleAnimArgs[1] = -a; } - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; StartSpriteAnim(sprite, gBattleAnimArgs[0]); sprite->data[2] = 0; sprite->data[3] = 0; diff --git a/src/battle/anim/note_wave.c b/src/battle/anim/note_wave.c index 80ed2256f..1f3db8c56 100644 --- a/src/battle/anim/note_wave.c +++ b/src/battle/anim/note_wave.c @@ -81,8 +81,8 @@ void sub_80CEB0C(struct Sprite* sprite) } else { - a = GetBankPosition(gAnimBankTarget, 2); - b = GetBankPosition(gAnimBankTarget, 3); + a = GetBattlerSpriteCoord(gAnimBankTarget, 2); + b = GetBattlerSpriteCoord(gAnimBankTarget, 3); } sprite->data[4] = sprite->pos1.x << 4; diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c index 7bf5f647c..b4a641cc2 100644 --- a/src/battle/anim/orbit.c +++ b/src/battle/anim/orbit.c @@ -84,7 +84,7 @@ void sub_80CAD54(struct Sprite* sprite) sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CADA8; @@ -121,7 +121,7 @@ void sub_80CAE20(struct Sprite* sprite) sprite->data[1] = sprite->pos1.x; sprite->data[2] = sprite->pos1.x; sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = 0x40; sprite->callback = sub_80CAE74; diff --git a/src/battle/anim/orbit_fast.c b/src/battle/anim/orbit_fast.c index 71303b03c..67a59583f 100644 --- a/src/battle/anim/orbit_fast.c +++ b/src/battle/anim/orbit_fast.c @@ -16,8 +16,8 @@ static void AnimOrbitFastStep(struct Sprite* sprite); // arg 1: initial wave offset void AnimOrbitFast(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->affineAnimPaused = 1; sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; diff --git a/src/battle/anim/orbit_scatter.c b/src/battle/anim/orbit_scatter.c index cda09a729..bd03ee78c 100644 --- a/src/battle/anim/orbit_scatter.c +++ b/src/battle/anim/orbit_scatter.c @@ -15,8 +15,8 @@ static void AnimOrbitScatterStep(struct Sprite* sprite); // arg 0: initial wave offset void AnimOrbitScatter(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = Sin(gBattleAnimArgs[0], 10); sprite->data[1] = Cos(gBattleAnimArgs[0], 7); sprite->callback = AnimOrbitScatterStep; diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c index 1c98da012..53c16d8d7 100644 --- a/src/battle/anim/orbs.c +++ b/src/battle/anim/orbs.c @@ -21,8 +21,8 @@ void sub_80CA7B0(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, move_anim_8074EE0); } @@ -32,8 +32,8 @@ void sub_80CA800(struct Sprite* sprite) InitAnimSpritePos(sprite, 1); StartSpriteAnim(sprite, gBattleAnimArgs[3]); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -43,9 +43,9 @@ void sub_80CA858(struct Sprite* sprite) InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); InitAnimSpriteTranslationDeltas(sprite); sprite->data[5] = gBattleAnimArgs[3]; sprite->callback = sub_80CA8B4; @@ -96,8 +96,8 @@ void sub_80CA9A8(struct Sprite* sprite) { sub_8078764(sprite, 1); sprite->data[0] = gBattleAnimArgs[3]; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[5] = gBattleAnimArgs[2]; InitAnimSpriteTranslationOverDuration(sprite); sprite->callback = sub_80CA9F8; @@ -115,8 +115,8 @@ void sub_80CAA14(struct Sprite* sprite) u16 b; StartSpriteAnim(sprite, a & 7); - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); if (GetBattlerSide(gAnimBankAttacker)) { sprite->pos1.x -= 20; @@ -129,9 +129,9 @@ void sub_80CAA14(struct Sprite* sprite) b = Random(); sprite->data[0] = (b & 31) + 64; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sub_8078D60(sprite); sprite->data[5] = Random() & 0xFF; sprite->data[6] = sprite->subpriority; diff --git a/src/battle/anim/osmose.c b/src/battle/anim/osmose.c index 1140aa34a..cca7af76e 100644 --- a/src/battle/anim/osmose.c +++ b/src/battle/anim/osmose.c @@ -14,8 +14,8 @@ void sub_80CB768(struct Sprite* sprite) { if (!sprite->data[0]) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; sprite->data[1] = gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[3]; sprite->data[3] = gBattleAnimArgs[4]; diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c index 3bdac02da..2cc104c07 100644 --- a/src/battle/anim/poison.c +++ b/src/battle/anim/poison.c @@ -20,8 +20,8 @@ void sub_80D9D70(struct Sprite *sprite) InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->data[5] = -30; InitAnimSpriteTranslationOverDuration(sprite); diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 294069efe..4a48d1ecf 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -78,8 +78,8 @@ void sub_80DB74C(struct Sprite *sprite) if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; } if (IsContest()) @@ -208,8 +208,8 @@ void sub_80DBA4C(struct Sprite *sprite) void sub_80DBAF4(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) { @@ -239,8 +239,8 @@ void sub_80DBB70(struct Sprite *sprite) x = -x; } - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + x; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + y; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + x; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + y; if (sprite->pos1.y < 16) { @@ -285,7 +285,7 @@ static void sub_80DBC34(struct Sprite *sprite) void sub_80DBC94(u8 taskId) { struct Task *task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; sub_80798F4(task, spriteId, &gUnknown_083DA8A4); task->func = sub_80DBCD0; @@ -302,7 +302,7 @@ static void sub_80DBCD0(u8 taskId) void sub_80DBCFC(u8 taskId) { struct Task *task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; task->data[1] = 0; task->data[2] = 0; @@ -348,8 +348,8 @@ void sub_80DBE00(u8 taskId) task->data[3] = 16; task->data[4] = 0; - task->data[13] = GetBankPosition(gAnimBankAttacker, 2); - task->data[14] = GetBankPosition(gAnimBankAttacker, 3); + task->data[13] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + task->data[14] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); var0 = sub_807A100(gAnimBankAttacker, 1) / 3; var1 = sub_807A100(gAnimBankAttacker, 0) / 3; @@ -448,8 +448,8 @@ void sub_80DC068(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } sprite->data[0] = gBattleAnimArgs[1]; @@ -684,7 +684,7 @@ void sub_80DC4F4(u8 taskId) obj_id_set_rotscale(spriteId, 256, 256, 0); CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode); - task->data[13] = GetAnimBankSpriteId(gBattleAnimArgs[0]); + task->data[13] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); task->data[14] = matrixNum; task->data[15] = spriteId; task->func = sub_80DC5F4; @@ -789,7 +789,7 @@ _080DC554:\n\ bl CalcCenterToCornerVec\n\ ldr r1, _080DC5EC @ =gBattleAnimArgs\n\ ldrb r0, [r1]\n\ - bl GetAnimBankSpriteId\n\ + bl GetAnimBattlerSpriteId\n\ lsls r0, 24\n\ lsrs r0, 24\n\ strh r0, [r7, 0x22]\n\ @@ -854,8 +854,8 @@ void sub_80DC700(struct Sprite *sprite) switch (sprite->data[0]) { case 0: - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); if (IsContest()) sprite->pos1.y += 12; diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c index 7516d74e5..b317cdaed 100644 --- a/src/battle/anim/ring.c +++ b/src/battle/anim/ring.c @@ -34,9 +34,9 @@ void sub_80D0FD8(struct Sprite* sprite) { SetAverageBattlerPositions(bank, r4, &sp0, &sp1); if (r4 == 0) - r4 = GetBankPosition(bank, 0); + r4 = GetBattlerSpriteCoord(bank, 0); else - r4 = GetBankPosition(bank, 2); + r4 = GetBattlerSpriteCoord(bank, 2); if (GetBattlerSide(bank) != 0) gBattleAnimArgs[0] -= (sp0 - r4) - gBattleAnimArgs[0]; // This is weird. @@ -92,7 +92,7 @@ void sub_80D10B8(struct Sprite* sprite) if (GetBattlerSide(bankr7) != 0) { - r9 = GetBankPosition(bankr7, r10) + gBattleAnimArgs[0]; + r9 = GetBattlerSpriteCoord(bankr7, r10) + gBattleAnimArgs[0]; if (IsAnimBankSpriteVisible(bankr8 ^ 2)) sprite->subpriority = gSprites[gBankSpriteIds[bankr8 ^ 2]].subpriority - 1; else @@ -100,7 +100,7 @@ void sub_80D10B8(struct Sprite* sprite) } else { - r9 = GetBankPosition(bankr7, r10) - gBattleAnimArgs[0]; + r9 = GetBattlerSpriteCoord(bankr7, r10) - gBattleAnimArgs[0]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr7 ^ 2)) { if (gSprites[gBankSpriteIds[bankr7]].pos1.x < gSprites[gBankSpriteIds[bankr7 ^ 2]].pos1.x) @@ -115,15 +115,15 @@ void sub_80D10B8(struct Sprite* sprite) } - r6 = GetBankPosition(bankr7, sp4) + gBattleAnimArgs[1]; + r6 = GetBattlerSpriteCoord(bankr7, sp4) + gBattleAnimArgs[1]; if (gMain.inBattle && IsAnimBankSpriteVisible(bankr8 ^ 2)) { SetAverageBattlerPositions(bankr8, gBattleAnimArgs[6], &sp0, &sp1); } else { - sp0 = GetBankPosition(bankr8, r10); - sp1 = GetBankPosition(bankr8, sp4); + sp0 = GetBattlerSpriteCoord(bankr8, r10); + sp1 = GetBattlerSpriteCoord(bankr8, sp4); } if (GetBattlerSide(bankr8)) diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index 4254c551c..73be7c42b 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -295,10 +295,10 @@ void sub_80DD4D4(u8 taskId) task = &gTasks[taskId]; - var0 = GetBankPosition(gAnimBankAttacker, 2); - var1 = GetBankPosition(gAnimBankAttacker, 1) + 24; - var2 = GetBankPosition(gAnimBankTarget, 2); - var3 = GetBankPosition(gAnimBankTarget, 1) + 24; + var0 = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + var1 = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + 24; + var2 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + var3 = GetBattlerSpriteCoord(gAnimBankTarget, 1) + 24; if ((gAnimBankAttacker ^ 2) == gAnimBankTarget) var3 = var1; @@ -333,7 +333,7 @@ void sub_80DD4D4(u8 taskId) task->data[13] = pan1; task->data[14] = (pan2 - pan1) / task->data[8]; task->data[1] = var4; - task->data[15] = GetAnimBankSpriteId(0); + task->data[15] = GetAnimBattlerSpriteId(0); task->func = sub_80DD604; } @@ -522,8 +522,8 @@ void sub_80DD978(struct Sprite *sprite) void sub_80DD9A4(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.y += gBattleAnimArgs[1]; diff --git a/src/battle/anim/roots.c b/src/battle/anim/roots.c index 68f8a3e2f..30c2d9652 100644 --- a/src/battle/anim/roots.c +++ b/src/battle/anim/roots.c @@ -18,8 +18,8 @@ void sub_80CB59C(struct Sprite* sprite) { if (!sprite->data[0]) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); sprite->pos2.x = gBattleAnimArgs[0]; sprite->pos2.y = gBattleAnimArgs[1]; sprite->subpriority = gBattleAnimArgs[2] + 30; @@ -36,10 +36,10 @@ void sub_80CB59C(struct Sprite* sprite) void sub_80CB620(struct Sprite *sprite) { - s16 p1 = GetBankPosition(gAnimBankAttacker, 2); - s16 p2 = GetBankPosition(gAnimBankAttacker, 3); - s16 e1 = GetBankPosition(gAnimBankTarget, 2); - s16 e2 = GetBankPosition(gAnimBankTarget, 3); + s16 p1 = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + s16 p2 = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + s16 e1 = GetBattlerSpriteCoord(gAnimBankTarget, 2); + s16 e2 = GetBattlerSpriteCoord(gAnimBankTarget, 3); e1 -= p1; e2 -= p2; diff --git a/src/battle/anim/scan.c b/src/battle/anim/scan.c index 403894cc8..abd54cef3 100644 --- a/src/battle/anim/scan.c +++ b/src/battle/anim/scan.c @@ -110,8 +110,8 @@ void sub_80CD4EC(struct Sprite* sprite) sprite->pos2.y = 0; sprite->pos2.x = 0; sprite->data[0] = 6; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + a; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + b; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + a; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + b; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, sub_80CD654); } diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c index 2bce9df41..d7c56e7a8 100644 --- a/src/battle/anim/seed.c +++ b/src/battle/anim/seed.c @@ -27,8 +27,8 @@ void AnimLeechSeed(struct Sprite* sprite) } sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 0) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 1) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); sprite->callback = AnimLeechSeedStep; diff --git a/src/battle/anim/shadow_enlarge.c b/src/battle/anim/shadow_enlarge.c index 399cf1ba4..7662583ac 100644 --- a/src/battle/anim/shadow_enlarge.c +++ b/src/battle/anim/shadow_enlarge.c @@ -15,7 +15,7 @@ static void sub_80D0428(u8 taskId); void sub_80D03C4(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); sub_8078E70(spriteId, 1); obj_id_set_rotscale(spriteId, 0xD0, 0xD0, 0); sub_8079108(gSprites[spriteId].oam.paletteNum + 16, 0); @@ -27,7 +27,7 @@ void sub_80D0428(u8 taskId) { if (--gTasks[taskId].data[0] == -1) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); sub_8078F40(spriteId); sub_8079108(gSprites[spriteId].oam.paletteNum + 16, 1); DestroyAnimVisualTask(taskId); diff --git a/src/battle/anim/shadow_minimize.c b/src/battle/anim/shadow_minimize.c index 61645bc59..b4e18eb51 100644 --- a/src/battle/anim/shadow_minimize.c +++ b/src/battle/anim/shadow_minimize.c @@ -18,7 +18,7 @@ void sub_80D0704(struct Sprite* sprite); void sub_80D0488(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; sub_8078E70(spriteId, 0); task->data[1] = 0; diff --git a/src/battle/anim/shock.c b/src/battle/anim/shock.c index 50bd78379..19e4d0fb2 100644 --- a/src/battle/anim/shock.c +++ b/src/battle/anim/shock.c @@ -15,8 +15,8 @@ extern void sub_80DA48C(struct Sprite *); void sub_80D6294(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); if (GetBattlerSide(gAnimBankAttacker) != 0) { @@ -77,13 +77,13 @@ void sub_80D6328(struct Sprite *sprite) if (gBattleAnimArgs[5] == 0) { - sprite->pos1.x = GetBankPosition(slot, 0); - sprite->pos1.y = GetBankPosition(slot, 1); + sprite->pos1.x = GetBattlerSpriteCoord(slot, 0); + sprite->pos1.y = GetBattlerSpriteCoord(slot, 1); } else { - sprite->pos1.x = GetBankPosition(slot, 2); - sprite->pos1.y = GetBankPosition(slot, 3); + sprite->pos1.x = GetBattlerSpriteCoord(slot, 2); + sprite->pos1.y = GetBattlerSpriteCoord(slot, 3); } sprite->pos2.x = (gSineTable[gBattleAnimArgs[0]] * gBattleAnimArgs[1]) >> 8; diff --git a/src/battle/anim/silhouette.c b/src/battle/anim/silhouette.c index b34eaf0b5..00bb24762 100644 --- a/src/battle/anim/silhouette.c +++ b/src/battle/anim/silhouette.c @@ -15,7 +15,7 @@ static void sub_80CB438(u8 taskId); void sub_80CB340(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); if (gSprites[spriteId].invisible) { DestroyAnimVisualTask(taskId); @@ -32,7 +32,7 @@ void sub_80CB340(u8 taskId) void sub_80CB3A8(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); gTasks[taskId].data[10] += gTasks[taskId].data[0]; gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8; if (GetBattlerSide(gAnimBankTarget)) @@ -57,7 +57,7 @@ void sub_80CB438(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); sub_8078F40(spriteId); gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.y = 0; diff --git a/src/battle/anim/slash.c b/src/battle/anim/slash.c index 306968111..68a1b81ef 100644 --- a/src/battle/anim/slash.c +++ b/src/battle/anim/slash.c @@ -19,13 +19,13 @@ void sub_80CDD74(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[2]; } sprite->data[0] = 0; @@ -36,16 +36,16 @@ void sub_80CDD74(struct Sprite* sprite) void sub_80CDDDC(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + 0xFFD0; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + 0xFFD0; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); StoreSpriteCallbackInData(sprite, sub_80CDE78); sprite->callback = sub_8078600; } void sub_80CDE24(struct Sprite* sprite) { - sprite->pos1.x = sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + 0xFFD0 + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); StartSpriteAnim(sprite, 1); sprite->data[0] = 0; sprite->data[1] = 0; diff --git a/src/battle/anim/slice.c b/src/battle/anim/slice.c index 814aa46ac..8e7f35f46 100644 --- a/src/battle/anim/slice.c +++ b/src/battle/anim/slice.c @@ -17,8 +17,8 @@ static void AnimSliceStep(struct Sprite* sprite); // arg 2: slice direction; 0 = right-to-left, 1 = left-to-right void AnimCuttingSlice(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 0); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); if (GetBattlerSide(gAnimBankTarget) == 0) sprite->pos1.y += 8; @@ -48,22 +48,22 @@ void sub_80CC9BC(struct Sprite* sprite) switch (gBattleAnimArgs[3]) { case 1: - a = GetBankPosition(gAnimBankTarget ^ 2, 0); - b = GetBankPosition(gAnimBankTarget ^ 2, 1); + a = GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 0); + b = GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 1); break; case 2: - a = GetBankPosition(gAnimBankTarget, 0); - b = GetBankPosition(gAnimBankTarget, 1); + a = GetBattlerSpriteCoord(gAnimBankTarget, 0); + b = GetBattlerSpriteCoord(gAnimBankTarget, 1); if (IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { - a = (GetBankPosition(gAnimBankTarget ^ 2, 0) + a) / 2; - b = (GetBankPosition(gAnimBankTarget ^ 2, 1) + b) / 2; + a = (GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 0) + a) / 2; + b = (GetBattlerSpriteCoord(gAnimBankTarget ^ 2, 1) + b) / 2; } break; case 0: default: - a = GetBankPosition(gAnimBankTarget, 0); - b = GetBankPosition(gAnimBankTarget, 1); + a = GetBattlerSpriteCoord(gAnimBankTarget, 0); + b = GetBattlerSpriteCoord(gAnimBankTarget, 1); break; } diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c index b89338a26..a882be73c 100644 --- a/src/battle/anim/sonic.c +++ b/src/battle/anim/sonic.c @@ -34,8 +34,8 @@ void AnimSonicBoomProjectile(struct Sprite* sprite) } InitAnimSpritePos(sprite, 1); - targetXPos = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - targetYPos = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + targetXPos = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + targetYPos = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; rotation = ArcTan2Neg(targetXPos - sprite->pos1.x, targetYPos - sprite->pos1.y); rotation += 0xF000; if (IsContest()) diff --git a/src/battle/anim/sonic_task.c b/src/battle/anim/sonic_task.c index 260ae544c..dc5d60efa 100644 --- a/src/battle/anim/sonic_task.c +++ b/src/battle/anim/sonic_task.c @@ -82,8 +82,8 @@ void sub_80CFB04(u8 taskId) gBattleAnimArgs[2] |= 1; } } - r6 = gTasks[taskId].data[9] = GetBankPosition(gAnimBankAttacker, 0); - r9 = gTasks[taskId].data[10] = GetBankPosition(gAnimBankAttacker, 1); + r6 = gTasks[taskId].data[9] = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + r9 = gTasks[taskId].data[10] = GetBattlerSpriteCoord(gAnimBankAttacker, 1); if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) { @@ -91,8 +91,8 @@ void sub_80CFB04(u8 taskId) } else { - sp1 = GetBankPosition(gAnimBankTarget, 0); - sp2 = GetBankPosition(gAnimBankTarget, 1); + sp1 = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sp2 = GetBattlerSpriteCoord(gAnimBankTarget, 1); } sp1 = gTasks[taskId].data[11] = sp1 + gBattleAnimArgs[0]; diff --git a/src/battle/anim/spin_finger.c b/src/battle/anim/spin_finger.c index 8eb060358..1ce3aa0d0 100644 --- a/src/battle/anim/spin_finger.c +++ b/src/battle/anim/spin_finger.c @@ -23,7 +23,7 @@ void sub_80CF0BC(struct Sprite* sprite) else bank = gAnimBankTarget; - sprite->pos1.x = GetBankPosition(bank, 0); + sprite->pos1.x = GetBattlerSpriteCoord(bank, 0); sprite->pos1.y = sub_807A100(bank, 2); if (sprite->pos1.y <= 9) sprite->pos1.y = 10; diff --git a/src/battle/anim/spit.c b/src/battle/anim/spit.c index 1e65ba53e..36fcb788c 100644 --- a/src/battle/anim/spit.c +++ b/src/battle/anim/spit.c @@ -21,8 +21,8 @@ void sub_80D287C(struct Sprite* sprite) void sub_80D28AC(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->data[0] = Sin(gBattleAnimArgs[0], 10); sprite->data[1] = Cos(gBattleAnimArgs[0], 7); sprite->data[2] = gBattleAnimArgs[1]; diff --git a/src/battle/anim/splash.c b/src/battle/anim/splash.c index 570ef0dca..d6caaf0f6 100644 --- a/src/battle/anim/splash.c +++ b/src/battle/anim/splash.c @@ -24,7 +24,7 @@ void sub_80D074C(u8 taskId) } else { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); task->data[0] = spriteId; task->data[1] = 0; task->data[2] = gBattleAnimArgs[1]; diff --git a/src/battle/anim/startle.c b/src/battle/anim/startle.c index 50e78af37..95462bd9f 100644 --- a/src/battle/anim/startle.c +++ b/src/battle/anim/startle.c @@ -16,10 +16,10 @@ extern struct AffineAnimFrameCmd gUnknown_083D7A98; // opponent void sub_80D1E38(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(1); + u8 spriteId = GetAnimBattlerSpriteId(1); if (++gTasks[taskId].data[0] == 1) { - sub_80798F4(&gTasks[taskId], GetAnimBankSpriteId(1), &gUnknown_083D7A98); + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(1), &gUnknown_083D7A98); gSprites[spriteId].pos2.x = 4; } else @@ -37,10 +37,10 @@ void sub_80D1E38(u8 taskId) // player void sub_80D1EC8(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); if (++gTasks[taskId].data[0] == 1) { - sub_80798F4(&gTasks[taskId], GetAnimBankSpriteId(0), &gUnknown_083D7A98); + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_083D7A98); gSprites[spriteId].pos2.x = 4; } else diff --git a/src/battle/anim/strike.c b/src/battle/anim/strike.c index 832abe694..775485a79 100644 --- a/src/battle/anim/strike.c +++ b/src/battle/anim/strike.c @@ -23,8 +23,8 @@ void sub_80CE670(struct Sprite* sprite) sprite->data[0] = 0; sprite->data[1] = gBattleAnimArgs[2]; - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[1]; sprite->data[6] = sprite->pos1.x; sprite->data[7] = sprite->pos1.y; if (IsContest() != 0) diff --git a/src/battle/anim/struggle.c b/src/battle/anim/struggle.c index 20dbaf2dc..6a1355e1b 100644 --- a/src/battle/anim/struggle.c +++ b/src/battle/anim/struggle.c @@ -19,13 +19,13 @@ void sub_80D2C38(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } else { - sprite->pos1.x = GetBankPosition(gAnimBankTarget, 2); - sprite->pos1.y = GetBankPosition(gAnimBankTarget, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); } if (gBattleAnimArgs[1] == 0) diff --git a/src/battle/anim/tendrils.c b/src/battle/anim/tendrils.c index 9f57ffd45..4ef704f3a 100644 --- a/src/battle/anim/tendrils.c +++ b/src/battle/anim/tendrils.c @@ -28,7 +28,7 @@ void sub_80CB298(struct Sprite* sprite) if ((u16)gBattleAnimArgs[7] == 0xFFFF) { sprite->affineAnimPaused = 0; - GetAnimBankSpriteId(1); + GetAnimBattlerSpriteId(1); sprite->data[0] = 0x100; sprite->callback = sub_80CB2D4; } @@ -36,7 +36,7 @@ void sub_80CB298(struct Sprite* sprite) void sub_80CB2D4(struct Sprite* sprite) { - GetAnimBankSpriteId(1); + GetAnimBattlerSpriteId(1); if (!sprite->data[2]) { sprite->data[0] += 11; diff --git a/src/battle/anim/thought.c b/src/battle/anim/thought.c index fbd7dfaee..5163cbfad 100644 --- a/src/battle/anim/thought.c +++ b/src/battle/anim/thought.c @@ -20,7 +20,7 @@ void sub_80CEF44(u8 bank, struct Sprite* sprite) else sprite->pos1.x = sub_807A100(bank, 4) - 8; - sprite->pos1.y = GetBankPosition(bank, 3) - (s16)sub_807A100(bank, 0) / 4; + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) - (s16)sub_807A100(bank, 0) / 4; } void sub_80CEF9C(struct Sprite* sprite) diff --git a/src/battle/anim/thrashing.c b/src/battle/anim/thrashing.c index 34089de31..bc1fc4842 100644 --- a/src/battle/anim/thrashing.c +++ b/src/battle/anim/thrashing.c @@ -20,7 +20,7 @@ static void sub_80D0B3C(u8 taskId); void sub_80D0A4C(u8 taskId) { struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBankSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; task->data[1] = 0; sub_80798F4(task, spriteId, &gUnknown_083D77B0); @@ -38,7 +38,7 @@ void sub_80D0A8C(u8 taskId) void sub_80D0AB8(u8 taskId) { struct Task* task = &gTasks[taskId]; - task->data[0] = GetAnimBankSpriteId(0); + task->data[0] = GetAnimBattlerSpriteId(0); task->data[1] = 0; task->data[2] = 4; task->data[3] = 7; diff --git a/src/battle/anim/tile_in.c b/src/battle/anim/tile_in.c index a4a544a0c..b1d804317 100644 --- a/src/battle/anim/tile_in.c +++ b/src/battle/anim/tile_in.c @@ -15,8 +15,8 @@ void sub_80CE09C(struct Sprite* sprite) { if (sprite->data[0] == 0) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; if (IsContest()) sprite->pos1.y += 10; sprite->data[0]++; diff --git a/src/battle/anim/tile_out.c b/src/battle/anim/tile_out.c index f253c2524..04f51e556 100644 --- a/src/battle/anim/tile_out.c +++ b/src/battle/anim/tile_out.c @@ -9,7 +9,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u8 gHealthboxIDs[]; static void sub_80CE1AC(struct Sprite* sprite); @@ -35,8 +35,8 @@ void sub_80CE1AC(struct Sprite* sprite) { sprite->animPaused = 0; sprite->data[0] = 30; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -57,7 +57,7 @@ void sub_80CE210(u8 taskId) void unref_sub_80CE260(u8 taskId) { u8 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == 0) sub_8043DB0(gHealthboxIDs[i]); @@ -72,7 +72,7 @@ void unref_sub_80CE260(u8 taskId) void unref_sub_80CE2D4(u8 taskId) { u8 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { sub_8043DFC(gHealthboxIDs[i]); } diff --git a/src/battle/anim/twinkle.c b/src/battle/anim/twinkle.c index e26669f63..34082cc2f 100644 --- a/src/battle/anim/twinkle.c +++ b/src/battle/anim/twinkle.c @@ -15,7 +15,7 @@ static void sub_80CE3B0(struct Sprite* sprite); void sub_80CE36C(struct Sprite* sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; sprite->data[0] = 0; sprite->data[1] = 0; diff --git a/src/battle/anim/unused_7.c b/src/battle/anim/unused_7.c index eea10aaa2..a2f00db31 100644 --- a/src/battle/anim/unused_7.c +++ b/src/battle/anim/unused_7.c @@ -30,8 +30,8 @@ void sub_80CF374(struct Sprite* sprite) void sub_80CF3C4(struct Sprite* sprite) { u8 a; - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); a = gBankSpriteIds[gAnimBankTarget]; if (GetBattlerSide(gAnimBankAttacker) != 0) { diff --git a/src/battle/anim/uproar.c b/src/battle/anim/uproar.c index 03cc65bc0..538ca9b20 100644 --- a/src/battle/anim/uproar.c +++ b/src/battle/anim/uproar.c @@ -12,7 +12,7 @@ void sub_80D2D3C(u8); void sub_80D2CF8(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); sub_80798F4(&gTasks[taskId], spriteId, gUnknown_083D7CA8); gTasks[taskId].func = sub_80D2D3C; diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c index 36fc655c3..5a51986c7 100644 --- a/src/battle/anim/wisp_fire.c +++ b/src/battle/anim/wisp_fire.c @@ -60,8 +60,8 @@ void sub_80D5DDC(u8 taskId) task->data[12] = !GetBattlerSide(gAnimBankAttacker) ? 1 : -1; task->data[13] = IsAnimBankSpriteVisible(gAnimBankTarget ^ 2) + 1; - task->data[14] = GetAnimBankSpriteId(1); - task->data[15] = GetAnimBankSpriteId(3); + task->data[14] = GetAnimBattlerSpriteId(1); + task->data[15] = GetAnimBattlerSpriteId(3); task->func = sub_80D5E4C; } diff --git a/src/battle/anim/wisp_orb.c b/src/battle/anim/wisp_orb.c index cd91080ba..90b90acb7 100644 --- a/src/battle/anim/wisp_orb.c +++ b/src/battle/anim/wisp_orb.c @@ -70,9 +70,9 @@ void sub_80D5B0C(struct Sprite *sprite) sprite->data[0] = 256; sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sub_8078BD4(sprite); sprite->callback = sub_80D5C5C; diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 4abf89bf1..8e727f00f 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -86,7 +86,7 @@ extern struct UnknownPokemonStruct2 gUnknown_02023A00[]; extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gCurrentActionFuncId; extern u8 gBanksByTurnOrder[]; @@ -3604,17 +3604,17 @@ void sub_8010824(void) #if DEBUG if (gUnknown_02023A14_50 & 0x80) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) debug_sub_80138CC(); gBattleMainFunc(); - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) gBattleBankFunc[gActiveBattler](); } else #endif { gBattleMainFunc(); - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) gBattleBankFunc[gActiveBattler](); } } @@ -3735,7 +3735,7 @@ void SwitchInClearSetData(void) { for (i = 0; i < 8; i++) gBattleMons[gActiveBattler].statStages[i] = 6; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { struct UnknownStruct12 *sp20 = &gUnknown_02024AD0[i]; @@ -3753,7 +3753,7 @@ void SwitchInClearSetData(void) gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BANK | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_MUDSPORT | STATUS3_WATERSPORT); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(gActiveBattler) != GetBattlerSide(i) && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 @@ -3770,7 +3770,7 @@ void SwitchInClearSetData(void) gStatuses3[gActiveBattler] = 0; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gUnknown_02024AD0[i].unk0 & (gBitTable[gActiveBattler] << 16)) gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gActiveBattler] << 16); @@ -3822,7 +3822,7 @@ void UndoEffectsAfterFainting(void) gBattleMons[gActiveBattler].statStages[i] = 6; gBattleMons[gActiveBattler].status2 = 0; gStatuses3[gActiveBattler] = 0; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].bankPreventingEscape == gActiveBattler) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; @@ -3892,7 +3892,7 @@ void bc_8012FAC(void) if (gBattleExecBuffer == 0) { gBattleCommunication[1]++; - if (gBattleCommunication[1] == gNoOfAllBanks) + if (gBattleCommunication[1] == gBattlersCount) gBattleMainFunc = BattlePrepIntroSlide; else gBattleCommunication[0] = 0; @@ -3921,7 +3921,7 @@ void sub_8011384(void) if (gBattleExecBuffer == 0) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBattlerSide(gActiveBattler) == 0) @@ -4090,7 +4090,7 @@ void sub_8011834(void) { if (gBattleExecBuffer == 0) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerPosition(gActiveBattler) == 1) { @@ -4112,7 +4112,7 @@ void bc_801362C(void) { if (gBattleExecBuffer == 0) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerSide(gActiveBattler) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK))) @@ -4142,7 +4142,7 @@ void sub_80119B4(void) { if (gBattleExecBuffer == 0) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerPosition(gActiveBattler) == 0) { @@ -4167,7 +4167,7 @@ void unref_sub_8011A68(void) { if (gBattleExecBuffer == 0) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerSide(gActiveBattler) == 0) { @@ -4192,11 +4192,11 @@ void BattleBeginFirstTurn(void) { if (ewram16058 == 0) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBanksByTurnOrder[i] = i; - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattlersCount; j++) { if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 1) != 0) SwapTurnOrder(i, j); @@ -4208,7 +4208,7 @@ void BattleBeginFirstTurn(void) ewram160E6 = 1; return; } - while (ewram16058 < gNoOfAllBanks) + while (ewram16058 < gBattlersCount) { if (AbilityBattleEffects(0, gBanksByTurnOrder[ewram16058], 0, 0, 0) != 0) r9++; @@ -4220,7 +4220,7 @@ void BattleBeginFirstTurn(void) return; if (AbilityBattleEffects(11, 0, 0, 0, 0) != 0) return; - while (ewram160F9 < gNoOfAllBanks) + while (ewram160F9 < gBattlersCount) { if (ItemBattleEffects(0, gBanksByTurnOrder[ewram160F9], 0) != 0) r9++; @@ -4229,7 +4229,7 @@ void BattleBeginFirstTurn(void) return; } // Absolutely pointless for-loop that somehow doesn't get optimized out - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) ; for (i = 0; i < 4; i++) { @@ -4244,7 +4244,7 @@ void BattleBeginFirstTurn(void) ResetSentPokesToOpponentValue(); for (i = 0; i < 8; i++) gBattleCommunication[i] = 0; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBattleMons[i].status2 &= ~8; ewram16000 = 0; ewram16001 = 0; @@ -4267,7 +4267,7 @@ void bc_8013B1C(void) gBattleMainFunc = BattleTurnPassed; for (i = 0; i < 8; i++) gBattleCommunication[i] = 0; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gBattleMons[i].status2 &= ~8; if ((gBattleMons[i].status1 & 7) && (gBattleMons[i].status2 & 0x1000)) @@ -4319,7 +4319,7 @@ void BattleTurnPassed(void) } if (gBattleResults.battleTurnCounter < 0xFF) gBattleResults.battleTurnCounter++; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gActionForBanks[i] = 0xFF; gChosenMovesByBanks[i] = 0; @@ -4349,7 +4349,7 @@ u8 CanRunFromBattle(void) if (gBattleMons[gActiveBattler].ability == ABILITY_RUN_AWAY) return 0; r6 = GetBattlerSide(gActiveBattler); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (r6 != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_SHADOW_TAG) @@ -4428,7 +4428,7 @@ void sub_8012324(void) gBattleCommunication[4] = 0; // inverted loop //_0801234C - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { r5 = GetBattlerPosition(gActiveBattler); switch (gBattleCommunication[gActiveBattler]) @@ -4485,12 +4485,12 @@ void sub_8012324(void) strb r1, [r0, 0x4]\n\ ldr r0, _08012344 @ =gActiveBattler\n\ strb r1, [r0]\n\ - ldr r0, _08012348 @ =gNoOfAllBanks\n\ + ldr r0, _08012348 @ =gBattlersCount\n\ bl _08012F74\n\ .align 2, 0\n\ _08012340: .4byte gBattleCommunication\n\ _08012344: .4byte gActiveBattler\n\ -_08012348: .4byte gNoOfAllBanks\n\ +_08012348: .4byte gBattlersCount\n\ _0801234C:\n\ ldr r4, _08012374 @ =gActiveBattler\n\ ldrb r0, [r4]\n\ @@ -5914,7 +5914,7 @@ _08012F66:\n\ ldrb r1, [r0]\n\ adds r1, 0x1\n\ strb r1, [r0]\n\ - ldr r0, _08012FB0 @ =gNoOfAllBanks\n\ + ldr r0, _08012FB0 @ =gBattlersCount\n\ lsls r1, 24\n\ lsrs r1, 24\n\ _08012F74:\n\ @@ -5946,7 +5946,7 @@ _08012FA0: .4byte gBattleExecBuffer\n\ _08012FA4: .4byte gBitTable\n\ _08012FA8: .4byte gActiveBattler\n\ _08012FAC: .4byte gBattleCommunication\n\ -_08012FB0: .4byte gNoOfAllBanks\n\ +_08012FB0: .4byte gBattlersCount\n\ _08012FB4: .4byte gBattleMainFunc\n\ _08012FB8: .4byte SetActionsAndBanksTurnOrder\n\ .syntax divided\n"); @@ -6117,7 +6117,7 @@ void SetActionsAndBanksTurnOrder(void) if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { gActionsByTurnOrder[var] = gActionForBanks[gActiveBattler]; gBanksByTurnOrder[var] = gActiveBattler; @@ -6128,7 +6128,7 @@ void SetActionsAndBanksTurnOrder(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (gActionForBanks[gActiveBattler] == ACTION_RUN) { @@ -6151,7 +6151,7 @@ void SetActionsAndBanksTurnOrder(void) gActionsByTurnOrder[0] = gActionForBanks[gActiveBattler]; gBanksByTurnOrder[0] = gActiveBattler; var = 1; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (i != gActiveBattler) { @@ -6161,12 +6161,12 @@ void SetActionsAndBanksTurnOrder(void) } } gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; - eFocusPunchBank = 0; + eFocusPunchBattler = 0; return; } else { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (gActionForBanks[gActiveBattler] == ACTION_USE_ITEM || gActionForBanks[gActiveBattler] == ACTION_SWITCH) { @@ -6175,7 +6175,7 @@ void SetActionsAndBanksTurnOrder(void) var++; } } - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (gActionForBanks[gActiveBattler] != ACTION_USE_ITEM && gActionForBanks[gActiveBattler] != ACTION_SWITCH) { @@ -6184,9 +6184,9 @@ void SetActionsAndBanksTurnOrder(void) var++; } } - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattlersCount; j++) { u8 bank1 = gBanksByTurnOrder[i]; u8 bank2 = gBanksByTurnOrder[j]; @@ -6204,7 +6204,7 @@ void SetActionsAndBanksTurnOrder(void) } gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; - eFocusPunchBank = 0; + eFocusPunchBattler = 0; } static void TurnValuesCleanUp(bool8 var0) @@ -6212,7 +6212,7 @@ static void TurnValuesCleanUp(bool8 var0) s32 i; u8 *dataPtr; - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (var0) { @@ -6246,7 +6246,7 @@ static void TurnValuesCleanUp(bool8 var0) void SpecialStatusesClear(void) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { s32 i; u8 *dataPtr = (u8*)(&gSpecialStatuses[gActiveBattler]); @@ -6260,10 +6260,10 @@ void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) { if (!(gHitMarker & HITMARKER_RUN)) { - while (eFocusPunchBank < gNoOfAllBanks) + while (eFocusPunchBattler < gBattlersCount) { - gActiveBattler = gBankAttacker = eFocusPunchBank; - eFocusPunchBank++; + gActiveBattler = gBankAttacker = eFocusPunchBattler; + eFocusPunchBattler++; if (gChosenMovesByBanks[gActiveBattler] == MOVE_FOCUS_PUNCH && !(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP) && !(gDisableStructs[gBankAttacker].truantCounter) @@ -6300,7 +6300,7 @@ static void RunTurnActionsFunctions(void) gBattleStruct->unk16057 = gCurrentTurnActionNumber; gUnknown_081FA640[gCurrentActionFuncId](); - if (gCurrentTurnActionNumber >= gNoOfAllBanks) // everyone did their actions, turn finished + if (gCurrentTurnActionNumber >= gBattlersCount) // everyone did their actions, turn finished { gHitMarker &= ~(HITMARKER_x100000); gBattleMainFunc = gUnknown_081FA678[gBattleOutcome & 0x7F]; @@ -6425,7 +6425,7 @@ void HandleEndTurn_FinishBattle(void) | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_BATTLE_TOWER))) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { @@ -6640,7 +6640,7 @@ void HandleAction_UseMove(void) && gBattleMoves[gCurrentMove].type == TYPE_ELECTRIC) { side = GetBattlerSide(gBankAttacker); - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (side != GetBattlerSide(gActiveBattler) && ewram16010arr(gBankAttacker) != gActiveBattler @@ -7255,7 +7255,7 @@ bool8 TryRunFromBattle(u8 bank) if (effect) { - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = BATTLE_RAN; } @@ -7268,9 +7268,9 @@ void HandleAction_Run(void) if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { @@ -7308,7 +7308,7 @@ void HandleAction_Run(void) } else { - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = BATTLE_POKE_FLED; } } @@ -7388,7 +7388,7 @@ void HandleAction_SafriZoneRun(void) { gBankAttacker = gBanksByTurnOrder[gCurrentTurnActionNumber]; PlaySE(SE_NIGERU); - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = BATTLE_RAN; } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 9c6d3bbd4..8f5ea7cae 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -98,17 +98,17 @@ enum extern u8 gUnknown_02023A14_50; extern u8 gCritMultiplier; extern s32 gBattleMoveDamage; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; extern u16 gBattleTypeFlags; extern const struct BaseStats gBaseStats[]; -extern struct BattleEnigmaBerry gEnigmaBerries[BATTLE_BANKS_COUNT]; -extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT]; +extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; +extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT]; extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u8 gNoOfAllBanks; -extern u16 gBattlerPartyIndexes[BATTLE_BANKS_COUNT]; -extern u8 gBanksByTurnOrder[BATTLE_BANKS_COUNT]; -extern u8 gActionsByTurnOrder[BATTLE_BANKS_COUNT]; +extern u8 gBattlersCount; +extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; +extern u8 gBanksByTurnOrder[MAX_BATTLERS_COUNT]; +extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT]; extern u16 gCurrentMove; extern u8 gLastUsedAbility; extern u16 gBattleWeather; @@ -142,8 +142,8 @@ extern const u8 gTypeEffectiveness[]; extern u16 gLastUsedItem; extern u16 gBattleMovePower; extern s32 gHpDealt; -extern s32 gTakenDmg[BATTLE_BANKS_COUNT]; -extern u8 gTakenDmgBanks[BATTLE_BANKS_COUNT]; +extern s32 gTakenDmg[MAX_BATTLERS_COUNT]; +extern u8 gTakenDmgBanks[MAX_BATTLERS_COUNT]; extern const u16 gMissStringIds[]; extern u8 gSentPokesToOpponent[2]; extern u8 gBank1; @@ -1152,7 +1152,7 @@ static void atk00_attackcanceler(void) return; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if ((gProtectStructs[gBanksByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) { @@ -2352,7 +2352,7 @@ static void atk14_printselectionstringfromtable(void) u8 BankGetTurnOrder(u8 bank) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBanksByTurnOrder[i] == bank) break; @@ -2406,12 +2406,12 @@ void SetMoveEffect(bool8 primary, u8 certainArg) //check active uproar if (gBattleMons[gEffectBank].ability != ABILITY_SOUNDPROOF) { - for (gActiveBattler = 0; gActiveBattler < gNoOfAllBanks && !(gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR); gActiveBattler++) {} + for (gActiveBattler = 0; gActiveBattler < gBattlersCount && !(gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR); gActiveBattler++) {} } else - gActiveBattler = gNoOfAllBanks; + gActiveBattler = gBattlersCount; if (gBattleMons[gEffectBank].status1) {break;} - if (gActiveBattler != gNoOfAllBanks) {break;} //nice way of checking uproar... + if (gActiveBattler != gBattlersCount) {break;} //nice way of checking uproar... if (gBattleMons[gEffectBank].ability == ABILITY_VITAL_SPIRIT) {break;} if (gBattleMons[gEffectBank].ability == ABILITY_INSOMNIA) {break;} @@ -3061,7 +3061,7 @@ _0801E57A:\n\ ldr r0, _0801E5D4 @ =gActiveBattler\n\ movs r1, 0\n\ strb r1, [r0]\n\ - ldr r1, _0801E5D8 @ =gNoOfAllBanks\n\ + ldr r1, _0801E5D8 @ =gBattlersCount\n\ ldrb r3, [r1]\n\ adds r7, r0, 0\n\ mov r12, r1\n\ @@ -3096,10 +3096,10 @@ _0801E5B4:\n\ b _0801E5E8\n\ .align 2, 0\n\ _0801E5D4: .4byte gActiveBattler\n\ -_0801E5D8: .4byte gNoOfAllBanks\n\ +_0801E5D8: .4byte gBattlersCount\n\ _0801E5DC:\n\ ldr r0, _0801E628 @ =gActiveBattler\n\ - ldr r2, _0801E62C @ =gNoOfAllBanks\n\ + ldr r2, _0801E62C @ =gBattlersCount\n\ ldrb r1, [r2]\n\ strb r1, [r0]\n\ adds r7, r0, 0\n\ @@ -3142,7 +3142,7 @@ _0801E620:\n\ b _0801EA04\n\ .align 2, 0\n\ _0801E628: .4byte gActiveBattler\n\ -_0801E62C: .4byte gNoOfAllBanks\n\ +_0801E62C: .4byte gBattlersCount\n\ _0801E630:\n\ mov r2, r8\n\ ldrb r1, [r2]\n\ @@ -5662,13 +5662,13 @@ static void atk24(void) //I can't for the love of god decompile that part - for (found1 = 0, i = 0; i < gNoOfAllBanks; i += 2) + for (found1 = 0, i = 0; i < gBattlersCount; i += 2) { if ((gHitMarker & HITMARKER_UNK(i)) && !gSpecialStatuses[i].flag40) found1++; } - for (found2 = 0, i = 1; i < gNoOfAllBanks; i += 2) + for (found2 = 0, i = 1; i < gBattlersCount; i += 2) { if ((gHitMarker & HITMARKER_UNK(i)) && !gSpecialStatuses[i].flag40) found2++; @@ -5791,7 +5791,7 @@ _08020A54:\n\ beq _08020B3E\n\ movs r2, 0\n\ movs r5, 0\n\ - ldr r0, _08020B04 @ =gNoOfAllBanks\n\ + ldr r0, _08020B04 @ =gBattlersCount\n\ ldrb r3, [r0]\n\ mov r12, r0\n\ ldr r7, _08020B08 @ =gBattlescriptCurrInstr\n\ @@ -5868,7 +5868,7 @@ _08020AF4: .4byte gPlayerParty\n\ _08020AF8: .4byte gBattleOutcome\n\ _08020AFC: .4byte gEnemyParty\n\ _08020B00: .4byte gBattleTypeFlags\n\ -_08020B04: .4byte gNoOfAllBanks\n\ +_08020B04: .4byte gBattlersCount\n\ _08020B08: .4byte gBattlescriptCurrInstr\n\ _08020B0C: .4byte gHitMarker\n\ _08020B10: .4byte gSpecialStatuses\n\ @@ -6844,7 +6844,7 @@ static void atk49_moveend(void) gBattleStruct->cmd49StateTracker++; break; case 7: //changed held items - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { #define CHANGED_ITEM (((*u16)(gSharedMem + 0x160F0))) if (CHANGED_ITEM(i)) @@ -7408,7 +7408,7 @@ _08021C38: .4byte gBattleMons\n\ _08021C3C: .4byte gBankAttacker\n\ _08021C40:\n\ movs r4, 0\n\ - ldr r0, _08021C6C @ =gNoOfAllBanks\n\ + ldr r0, _08021C6C @ =gBattlersCount\n\ ldrb r2, [r0]\n\ cmp r4, r2\n\ blt _08021C4C\n\ @@ -7432,7 +7432,7 @@ _08021C5C:\n\ blt _08021C52\n\ b _08022244\n\ .align 2, 0\n\ -_08021C6C: .4byte gNoOfAllBanks\n\ +_08021C6C: .4byte gBattlersCount\n\ _08021C70: .4byte gSharedMem + 0x160F0\n\ _08021C74: .4byte gBattleMons\n\ _08021C78:\n\ @@ -7588,7 +7588,7 @@ _08021DAC:\n\ lsls r0, 29\n\ cmp r0, 0\n\ blt _08021DFA\n\ - ldr r0, _08021E14 @ =gNoOfAllBanks\n\ + ldr r0, _08021E14 @ =gBattlersCount\n\ ldrb r0, [r0]\n\ cmp r3, r0\n\ bcs _08021DFA\n\ @@ -7627,7 +7627,7 @@ _08021E00:\n\ .align 2, 0\n\ _08021E0C: .4byte gSpecialStatuses\n\ _08021E10: .4byte gBankTarget\n\ -_08021E14: .4byte gNoOfAllBanks\n\ +_08021E14: .4byte gBattlersCount\n\ _08021E18: .4byte gStatuses3\n\ _08021E1C: .4byte 0x000400c0\n\ _08021E20: .4byte gActiveBattler\n\ @@ -7636,7 +7636,7 @@ _08021E28: .4byte gSharedMem\n\ _08021E2C: .4byte 0x0001600c\n\ _08021E30:\n\ movs r4, 0\n\ - ldr r0, _08021E60 @ =gNoOfAllBanks\n\ + ldr r0, _08021E60 @ =gBattlersCount\n\ ldrb r5, [r0]\n\ cmp r4, r5\n\ blt _08021E3C\n\ @@ -7662,7 +7662,7 @@ _08021E50:\n\ blt _08021E44\n\ b _08022244\n\ .align 2, 0\n\ -_08021E60: .4byte gNoOfAllBanks\n\ +_08021E60: .4byte gBattlersCount\n\ _08021E64: .4byte gDisableStructs\n\ _08021E68: .4byte 0xfeffffff\n\ _08021E6C: .4byte gUnknown_02024AD0\n\ @@ -8456,7 +8456,7 @@ static void atk50_openpartyscreen(void) { if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE) { - for (gActiveBattler = i; gActiveBattler < gNoOfAllBanks; gActiveBattler++) + for (gActiveBattler = i; gActiveBattler < gBattlersCount; gActiveBattler++) { if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) { @@ -8538,7 +8538,7 @@ _08022ACE:\n\ beq _08022BBC\n\ ldr r1, _08022B4C @ =gActiveBattler\n\ strb r7, [r1]\n\ - ldr r0, _08022B50 @ =gNoOfAllBanks\n\ + ldr r0, _08022B50 @ =gBattlersCount\n\ ldrb r0, [r0]\n\ cmp r7, r0\n\ bcc _08022AE8\n\ @@ -8592,7 +8592,7 @@ _08022AF2:\n\ _08022B44: .4byte gBattlescriptCurrInstr\n\ _08022B48: .4byte gBattleTypeFlags\n\ _08022B4C: .4byte gActiveBattler\n\ -_08022B50: .4byte gNoOfAllBanks\n\ +_08022B50: .4byte gBattlersCount\n\ _08022B54: .4byte gHitMarker\n\ _08022B58: .4byte gBitTable\n\ _08022B5C: .4byte gAbsentBattlerFlags\n\ @@ -8631,7 +8631,7 @@ _08022BA2:\n\ ldrb r0, [r4]\n\ adds r0, 0x1\n\ strb r0, [r4]\n\ - ldr r1, _08022BB8 @ =gNoOfAllBanks\n\ + ldr r1, _08022BB8 @ =gBattlersCount\n\ lsls r0, 24\n\ lsrs r0, 24\n\ ldrb r1, [r1]\n\ @@ -8639,7 +8639,7 @@ _08022BA2:\n\ bcc _08022AF2\n\ b _08022F62\n\ .align 2, 0\n\ -_08022BB8: .4byte gNoOfAllBanks\n\ +_08022BB8: .4byte gBattlersCount\n\ _08022BBC:\n\ ands r1, r0\n\ cmp r1, 0\n\ @@ -9277,7 +9277,7 @@ _08023110:\n\ ldr r4, _08023168 @ =gBitTable\n\ ldr r2, [r4]\n\ ands r2, r5\n\ - ldr r6, _0802316C @ =gNoOfAllBanks\n\ + ldr r6, _0802316C @ =gBattlersCount\n\ cmp r2, 0\n\ bne _0802314C\n\ adds r7, r6, 0\n\ @@ -9314,7 +9314,7 @@ _08023156:\n\ _08023160: .4byte gHitMarker\n\ _08023164: .4byte gBank1\n\ _08023168: .4byte gBitTable\n\ -_0802316C: .4byte gNoOfAllBanks\n\ +_0802316C: .4byte gBattlersCount\n\ _08023170:\n\ movs r0, 0x80\n\ ands r0, r2\n\ @@ -9436,7 +9436,7 @@ _0802325A:\n\ ldr r1, _080232A0 @ =gActiveBattler\n\ movs r0, 0\n\ strb r0, [r1]\n\ - ldr r0, _080232C0 @ =gNoOfAllBanks\n\ + ldr r0, _080232C0 @ =gBattlersCount\n\ ldrb r0, [r0]\n\ cmp r0, 0\n\ beq _08023302\n\ @@ -9454,7 +9454,7 @@ _0802328A:\n\ ldrb r0, [r4]\n\ adds r0, 0x1\n\ strb r0, [r4]\n\ - ldr r1, _080232C0 @ =gNoOfAllBanks\n\ + ldr r1, _080232C0 @ =gBattlersCount\n\ lsls r0, 24\n\ lsrs r0, 24\n\ ldrb r1, [r1]\n\ @@ -9470,7 +9470,7 @@ _080232B0: .4byte 0x00016068\n\ _080232B4: .4byte 0x0001606c\n\ _080232B8: .4byte gBattleResults\n\ _080232BC: .4byte gBattleTypeFlags\n\ -_080232C0: .4byte gNoOfAllBanks\n\ +_080232C0: .4byte gBattlersCount\n\ _080232C4:\n\ adds r0, r7, 0\n\ bl GetBattlerPosition\n\ @@ -9525,7 +9525,7 @@ static void atk51_switchhandleorder(void) switch (T2_READ_8(gBattlescriptCurrInstr + 2)) { case 0: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleBufferB[i][0] == 0x22) ewram16068arr(i) = gBattleBufferB[i][1]; @@ -9608,13 +9608,13 @@ static void atk52_switchineffects(void) { gSideAffecting[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBanksByTurnOrder[i] == gActiveBattler) gActionsByTurnOrder[i] = 0xC; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { *(HP_ON_SWITCHOUT + GetBattlerSide(i)) = gBattleMons[i].hp; } @@ -9627,7 +9627,7 @@ static void atk52_switchineffects(void) { if (hitmark & gBitTable[gBank1] && !(gAbsentBattlerFlags & gBitTable[gBank1])) break; - if (gBank1 >= gNoOfAllBanks) + if (gBank1 >= gBattlersCount) break; gBank1++; } @@ -10422,7 +10422,7 @@ static void atk67_yesnobox(void) static void atk68_cancelallactions(void) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gActionsByTurnOrder[i] = 0xC; } @@ -11100,7 +11100,7 @@ static void atk77_setprotectlike(void) //protect and endure if (last_move != MOVE_PROTECT && last_move != MOVE_DETECT && last_move != MOVE_ENDURE) gDisableStructs[gBankAttacker].protectUses = 0; - if (gCurrentTurnActionNumber == (gNoOfAllBanks - 1)) + if (gCurrentTurnActionNumber == (gBattlersCount - 1)) not_last_turn = 0; if (sProtectSuccessRates[gDisableStructs[gBankAttacker].protectUses] > Random() && not_last_turn) @@ -11132,13 +11132,13 @@ static void atk78_faintifabilitynotdamp(void) if (gBattleExecBuffer) return; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBattleMons[gBankTarget].ability == ABILITY_DAMP) break; } - if (gBankTarget == gNoOfAllBanks) + if (gBankTarget == gBattlersCount) { gActiveBattler = gBankAttacker; gBattleMoveDamage = gBattleMons[gActiveBattler].hp; @@ -11146,7 +11146,7 @@ static void atk78_faintifabilitynotdamp(void) MarkBufferBankForExecution(gActiveBattler); gBattlescriptCurrInstr++; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBankTarget == gBankAttacker) continue; @@ -11189,7 +11189,7 @@ static void atk7A_jumpifnexttargetvalid(void) //used by intimidate to loop throu break; } - if (gBankTarget >= gNoOfAllBanks) + if (gBankTarget >= gBattlersCount) gBattlescriptCurrInstr += 5; else gBattlescriptCurrInstr = jump_loc; @@ -11378,7 +11378,7 @@ static void atk83_nop(void) bool8 UproarWakeUpCheck(u8 bank) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || gBattleMons[bank].ability == ABILITY_SOUNDPROOF) //wtf gamefreak, you should check this only once, not every time in a loop... continue; @@ -11391,7 +11391,7 @@ bool8 UproarWakeUpCheck(u8 bank) gBattleCommunication[MULTISTRING_CHOOSER] = 1; break; } - if (i == gNoOfAllBanks) + if (i == gBattlersCount) return 0; else return 1; @@ -11677,7 +11677,7 @@ static void atk89_statbuffchange(void) static void atk8A_normalisebuffs(void) //haze { int i, j; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { for (j = 0; j < 8; j++) { @@ -13668,7 +13668,7 @@ static void atkB2_trysetperishsong(void) { int not_affected_pokes = 0, i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_PERISH_SONG || gBattleMons[i].ability == ABILITY_SOUNDPROOF) not_affected_pokes++; @@ -13681,7 +13681,7 @@ static void atkB2_trysetperishsong(void) } PressurePPLoseOnUsingPerishSong(gBankAttacker); - if (not_affected_pokes == gNoOfAllBanks) + if (not_affected_pokes == gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; @@ -13846,7 +13846,7 @@ static void atkB9_magnitudedamagecalculation(void) gBattleTextBuff1[4] = magnitude; gBattleTextBuff1[5] = 0xFF; - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBankTarget == gBankAttacker) continue; @@ -13877,7 +13877,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void) && gBattleMons[gBankAttacker].hp && !gDisableStructs[gBankTarget].truantCounter && gChosenMovesByBanks[gBankTarget] == MOVE_PURSUIT) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBanksByTurnOrder[i] == gBankTarget) gActionsByTurnOrder[i] = 11; @@ -14148,7 +14148,7 @@ _080298A8: .4byte gBattlescriptCurrInstr\n\ static void atkC2_selectfirstvalidtarget(void) { - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount; gBankTarget++) { if (gBankTarget == gBankAttacker) continue; @@ -15100,7 +15100,7 @@ static void atkDB_tryimprision(void) { u8 bank; PressurePPLoseOnUsingImprision(gBankAttacker); - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { if (r8 != GetBattlerSide(bank)) { @@ -15124,7 +15124,7 @@ static void atkDB_tryimprision(void) } } } - if (bank == gNoOfAllBanks) + if (bank == gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); } } @@ -15401,7 +15401,7 @@ static void atkDF_trysetmagiccoat(void) { gBankTarget = gBankAttacker; gSpecialStatuses[gBankAttacker].flag20 = 1; - if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) //last turn + if (gCurrentTurnActionNumber == gBattlersCount - 1) //last turn gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -15413,7 +15413,7 @@ static void atkDF_trysetmagiccoat(void) static void atkE0_trysetsnatch(void) { gSpecialStatuses[gBankAttacker].flag20 = 1; - if (gCurrentTurnActionNumber == gNoOfAllBanks - 1) //last turn + if (gCurrentTurnActionNumber == gBattlersCount - 1) //last turn gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else { @@ -15433,7 +15433,7 @@ static void atkE1_trygetintimidatetarget(void) gBattleTextBuff1[2] = gBattleMons[gBattleStruct->scriptingActive].ability; gBattleTextBuff1[3] = 0xFF; - for (;gBankTarget < gNoOfAllBanks; gBankTarget++) + for (;gBankTarget < gBattlersCount; gBankTarget++) { if (GetBattlerSide(gBankTarget) == side) continue; @@ -15441,7 +15441,7 @@ static void atkE1_trygetintimidatetarget(void) break; } - if (gBankTarget >= gNoOfAllBanks) + if (gBankTarget >= gBattlersCount) gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else gBattlescriptCurrInstr += 5; @@ -16061,5 +16061,5 @@ static void atkF6_finishaction(void) static void atkF7_finishturn(void) { gCurrentActionFuncId = 0xC; - gCurrentTurnActionNumber = gNoOfAllBanks; + gCurrentTurnActionNumber = gBattlersCount; } diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 70863a9fd..914ee245b 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -24,7 +24,7 @@ extern u8 gBattleBufferA[][0x200]; extern u8 gActiveBattler; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u8 gBankSpriteIds[]; @@ -96,7 +96,7 @@ extern void c3_0802FDF4(u8); extern void sub_80440EC(); extern void sub_804777C(); extern void sub_8141828(); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 IsBankSpritePresent(u8); extern u8 sub_8077F68(u8); extern u8 sub_8077F7C(u8); @@ -558,7 +558,7 @@ u8 battle_load_something(u8 *pState, u8 *b) else gHealthboxIDs[*b] = battle_make_oam_normal_battle(*b); (*b)++; - if (*b == gNoOfAllBanks) + if (*b == gBattlersCount) { *b = 0; (*pState)++; @@ -571,7 +571,7 @@ u8 battle_load_something(u8 *pState, u8 *b) else nullsub_11(gHealthboxIDs[*b], 1); (*b)++; - if (*b == gNoOfAllBanks) + if (*b == gBattlersCount) { *b = 0; (*pState)++; @@ -589,7 +589,7 @@ u8 battle_load_something(u8 *pState, u8 *b) } sub_8043DB0(gHealthboxIDs[*b]); (*b)++; - if (*b == gNoOfAllBanks) + if (*b == gBattlersCount) { *b = 0; (*pState)++; @@ -620,7 +620,7 @@ void sub_8031F24(void) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) ewram17800[i].invisible = gSprites[gBankSpriteIds[i]].invisible; } @@ -858,7 +858,7 @@ void sub_80326EC(u8 a) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (IsBankSpritePresent(i) != 0) { @@ -882,12 +882,12 @@ void sub_80327CC(void) LoadCompressedObjectPic(&gUnknown_081FAF24); r5 = GetBattlerAtPosition(1); - ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8); + ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBattlerSpriteCoord(r5, 0), GetBattlerSpriteCoord(r5, 1) + 32, 0xC8); gSprites[ewram17810[r5].unk7].data[0] = r5; if (IsDoubleBattle()) { r5 = GetBattlerAtPosition(3); - ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBankPosition(r5, 0), GetBankPosition(r5, 1) + 32, 0xC8); + ewram17810[r5].unk7 = CreateSprite(&gSpriteTemplate_81FAF34, GetBattlerSpriteCoord(r5, 0), GetBattlerSpriteCoord(r5, 1) + 32, 0xC8); gSprites[ewram17810[r5].unk7].data[0] = r5; } } diff --git a/src/battle/battle_ai_switch_items.c b/src/battle/battle_ai_switch_items.c index fd1d23684..7edd3ce94 100755 --- a/src/battle/battle_ai_switch_items.c +++ b/src/battle/battle_ai_switch_items.c @@ -27,7 +27,7 @@ extern u16 gBattlerPartyIndexes[]; extern u16 gLastLandedMoves[]; extern const u8 gTypeEffectiveness[]; extern struct BattlePokemon gBattleMons[]; -extern u32 gStatuses3[BATTLE_BANKS_COUNT]; +extern u32 gStatuses3[MAX_BATTLERS_COUNT]; /*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); /*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent); @@ -51,7 +51,7 @@ extern u32 gStatuses3[BATTLE_BANKS_COUNT]; #ifdef NONMATCHING /*static*/ bool8 ShouldSwitchIfWonderGuard(void) { - u8 opposingBank; + u8 opposingBattler; u8 moveFlags; s32 i, j; @@ -62,14 +62,14 @@ extern u32 gStatuses3[BATTLE_BANKS_COUNT]; return FALSE; // check if pokemon has a super effective move - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); for (i = 0; i < 4; i++) { u16 move = gBattleMons[gActiveBattler].moves[i]; if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) return FALSE; } @@ -86,14 +86,14 @@ extern u32 gStatuses3[BATTLE_BANKS_COUNT]; GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); // unused return value GetMonData(&gEnemyParty[i], MON_DATA_ALT_ABILITY); // unused return value - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); for (j = 0; j < 4; j++) { u16 move = GetMonData(&gEnemyParty[i], MON_DATA_MOVE1 + j); if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && (Random() % 3) < 2) { // we found a mon @@ -308,7 +308,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ /*static*/ bool8 FindMonThatAbsorbsOpponentsMove(void) { - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; u8 absorbingTypeAbility; s32 i; @@ -323,16 +323,16 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBattler; + battlerIn1 = gActiveBattler; if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - bankIn2 = gActiveBattler; + battlerIn2 = gActiveBattler; else - bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); } else { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; } if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) @@ -358,13 +358,13 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ continue; if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlerPartyIndexes[bankIn1]) + if (i == gBattlerPartyIndexes[battlerIn1]) continue; - if (i == gBattlerPartyIndexes[bankIn2]) + if (i == gBattlerPartyIndexes[battlerIn2]) continue; - if (i == ewram16068arr(bankIn1)) + if (i == ewram16068arr(battlerIn1)) continue; - if (i == ewram16068arr(bankIn2)) + if (i == ewram16068arr(battlerIn2)) continue; species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); @@ -423,13 +423,13 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ /*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) { - u8 opposingBank; + u8 opposingBattler; s32 i; u8 moveFlags; u16 move; - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) { for (i = 0; i < 4; i++) { @@ -437,7 +437,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) { if (noRng) @@ -450,8 +450,8 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return FALSE; - opposingBank = GetBattlerAtPosition(BATTLE_PARTNER(B_POSITION_PLAYER_LEFT)); - if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + opposingBattler = GetBattlerAtPosition(BATTLE_PARTNER(B_POSITION_PLAYER_LEFT)); + if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) { for (i = 0; i < 4; i++) { @@ -459,7 +459,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) { if (noRng) @@ -489,7 +489,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ /*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) { - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; s32 i, j; u16 move; u8 moveFlags; @@ -505,16 +505,16 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBattler; + battlerIn1 = gActiveBattler; if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - bankIn2 = gActiveBattler; + battlerIn2 = gActiveBattler; else - bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); } else { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; } for (i = 0; i < 6; i++) @@ -528,13 +528,13 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ continue; if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlerPartyIndexes[bankIn1]) + if (i == gBattlerPartyIndexes[battlerIn1]) continue; - if (i == gBattlerPartyIndexes[bankIn2]) + if (i == gBattlerPartyIndexes[battlerIn2]) continue; - if (i == ewram16068arr(bankIn1)) + if (i == ewram16068arr(battlerIn1)) continue; - if (i == ewram16068arr(bankIn2)) + if (i == ewram16068arr(battlerIn2)) continue; species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); @@ -546,7 +546,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility); if (moveFlags & flags) { - bankIn1 = gLastHitBy[gActiveBattler]; + battlerIn1 = gLastHitBy[gActiveBattler]; for (j = 0; j < 4; j++) { @@ -554,7 +554,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ if (move == 0) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[battlerIn1].species, gBattleMons[battlerIn1].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { ewram160C8arr(GetBattlerPosition(gActiveBattler)) = i; @@ -570,7 +570,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ /*static*/ bool8 ShouldSwitch(void) { - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; s32 i; s32 availableToSwitch; @@ -593,16 +593,16 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ availableToSwitch = 0; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBattler; + battlerIn1 = gActiveBattler; if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) - bankIn2 = gActiveBattler; + battlerIn2 = gActiveBattler; else - bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); } else { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; } for (i = 0; i < 6; i++) @@ -613,13 +613,13 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ continue; if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlerPartyIndexes[bankIn1]) + if (i == gBattlerPartyIndexes[battlerIn1]) continue; - if (i == gBattlerPartyIndexes[bankIn2]) + if (i == gBattlerPartyIndexes[battlerIn2]) continue; - if (i == ewram16068arr(bankIn1)) + if (i == ewram16068arr(battlerIn1)) continue; - if (i == ewram16068arr(bankIn2)) + if (i == ewram16068arr(battlerIn2)) continue; availableToSwitch++; @@ -648,7 +648,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ void AI_TrySwitchOrUseItem(void) { - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { @@ -661,26 +661,26 @@ void AI_TrySwitchOrUseItem(void) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - bankIn2 = bankIn1; + battlerIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battlerIn2 = battlerIn1; } else { - bankIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - bankIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + battlerIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battlerIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } for (monToSwitchId = 0; monToSwitchId < 6; monToSwitchId++) { if (GetMonData(&gEnemyParty[monToSwitchId], MON_DATA_HP) == 0) continue; - if (monToSwitchId == gBattlerPartyIndexes[bankIn1]) + if (monToSwitchId == gBattlerPartyIndexes[battlerIn1]) continue; - if (monToSwitchId == gBattlerPartyIndexes[bankIn2]) + if (monToSwitchId == gBattlerPartyIndexes[battlerIn2]) continue; - if (monToSwitchId == ewram16068arr(bankIn1)) + if (monToSwitchId == ewram16068arr(battlerIn1)) continue; - if (monToSwitchId == ewram16068arr(bankIn2)) + if (monToSwitchId == ewram16068arr(battlerIn2)) continue; break; @@ -734,32 +734,32 @@ void AI_TrySwitchOrUseItem(void) u8 GetMostSuitableMonToSwitchInto(void) { - u8 opposingBank; + u8 opposingBattler; u8 bestDmg; // note : should be changed to s32 u8 bestMonId; - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; s32 i, j; u8 invalidMons; u16 move; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBattler; + battlerIn1 = gActiveBattler; if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) - bankIn2 = gActiveBattler; + battlerIn2 = gActiveBattler; else - bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); // UB: It considers the opponent only player's side even though it can battle alongside player; - opposingBank = Random() & BIT_FLANK; - if (gAbsentBattlerFlags & gBitTable[opposingBank]) - opposingBank ^= BIT_FLANK; + opposingBattler = Random() & BIT_FLANK; + if (gAbsentBattlerFlags & gBitTable[opposingBattler]) + opposingBattler ^= BIT_FLANK; } else { - opposingBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; + opposingBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; } invalidMons = 0; @@ -775,16 +775,16 @@ u8 GetMostSuitableMonToSwitchInto(void) if (species != SPECIES_NONE && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0 && !(gBitTable[i] & invalidMons) - && gBattlerPartyIndexes[bankIn1] != i - && gBattlerPartyIndexes[bankIn2] != i - && i != ewram16068arr(bankIn1) - && i != ewram16068arr(bankIn2)) + && gBattlerPartyIndexes[battlerIn1] != i + && gBattlerPartyIndexes[battlerIn2] != i + && i != ewram16068arr(battlerIn1) + && i != ewram16068arr(battlerIn2)) { u8 type1 = gBaseStats[species].type1; u8 type2 = gBaseStats[species].type2; u8 typeDmg = 10; - ModulateByTypeEffectiveness(gBattleMons[opposingBank].type1, type1, type2, &typeDmg); - ModulateByTypeEffectiveness(gBattleMons[opposingBank].type2, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type1, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type2, type1, type2, &typeDmg); if (bestDmg < typeDmg) { bestDmg = typeDmg; @@ -803,7 +803,7 @@ u8 GetMostSuitableMonToSwitchInto(void) for (i = 0; i < 4; i++) { move = GetMonData(&gEnemyParty[bestMonId], MON_DATA_MOVE1 + i); - if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE) + if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBattler) & MOVE_RESULT_SUPER_EFFECTIVE) break; } @@ -833,13 +833,13 @@ u8 GetMostSuitableMonToSwitchInto(void) continue; if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) continue; - if (gBattlerPartyIndexes[bankIn1] == i) + if (gBattlerPartyIndexes[battlerIn1] == i) continue; - if (gBattlerPartyIndexes[bankIn2] == i) + if (gBattlerPartyIndexes[battlerIn2] == i) continue; - if (i == ewram16068arr(bankIn1)) + if (i == ewram16068arr(battlerIn1)) continue; - if (i == ewram16068arr(bankIn2)) + if (i == ewram16068arr(battlerIn2)) continue; for (j = 0; j < 4; j++) @@ -848,8 +848,8 @@ u8 GetMostSuitableMonToSwitchInto(void) gBattleMoveDamage = 0; if (move != MOVE_NONE && gBattleMoves[move].power != 1) { - AI_CalcDmg(gActiveBattler, opposingBank); - TypeCalc(move, gActiveBattler, opposingBank); + AI_CalcDmg(gActiveBattler, opposingBattler); + TypeCalc(move, gActiveBattler, opposingBattler); } if (bestDmg < gBattleMoveDamage) { @@ -900,7 +900,7 @@ u8 GetMostSuitableMonToSwitchInto(void) u16 item; const u8 *itemEffects; u8 paramOffset; - u8 bankSide; + u8 battlerSide; if (i != 0 && validMons > (AI_BATTLE_HISTORY->numItems - i) + 1) continue; @@ -987,8 +987,8 @@ u8 GetMostSuitableMonToSwitchInto(void) shouldUse = TRUE; break; case AI_ITEM_GUARD_SPECS: - bankSide = GetBattlerSide(gActiveBattler); - if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[bankSide].mistTimer == 0) + battlerSide = GetBattlerSide(gActiveBattler); + if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[battlerSide].mistTimer == 0) shouldUse = TRUE; break; case AI_ITEM_NOT_RECOGNIZABLE: diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index ca2431f15..a3360096a 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -1679,7 +1679,7 @@ static void ScriptCmd_createsprite(void) if (subpriority < 3) subpriority = 3; - CreateSpriteAndAnimate(template, GetBankPosition(gAnimBankTarget, 2), GetBankPosition(gAnimBankTarget, 3), subpriority); + CreateSpriteAndAnimate(template, GetBattlerSpriteCoord(gAnimBankTarget, 2), GetBattlerSpriteCoord(gAnimBankTarget, 3), subpriority); gAnimVisualTaskCount++; } @@ -3097,7 +3097,7 @@ static void ScriptCmd_invisible(void) { u8 spriteId; - spriteId = GetAnimBankSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); + spriteId = GetAnimBattlerSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); if (spriteId != 0xFF) gSprites[spriteId].invisible = TRUE; @@ -3108,7 +3108,7 @@ static void ScriptCmd_visible(void) { u8 spriteId; - spriteId = GetAnimBankSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); + spriteId = GetAnimBattlerSpriteId(T1_READ_8(sBattleAnimScriptPtr + 1)); if (spriteId != 0xFF) gSprites[spriteId].invisible = FALSE; @@ -3129,12 +3129,12 @@ static void ScriptCmd_doublebattle_2D(void) if (wantedBank == 0) { r4 = GetBattlerPosition_permutated(gAnimBankAttacker); - spriteId = GetAnimBankSpriteId(0); + spriteId = GetAnimBattlerSpriteId(0); } else { r4 = GetBattlerPosition_permutated(gAnimBankTarget); - spriteId = GetAnimBankSpriteId(1); + spriteId = GetAnimBattlerSpriteId(1); } if (spriteId != 0xFF) { @@ -3163,12 +3163,12 @@ static void ScriptCmd_doublebattle_2E(void) if (wantedBank == 0) { r4 = GetBattlerPosition_permutated(gAnimBankAttacker); - spriteId = GetAnimBankSpriteId(0); + spriteId = GetAnimBattlerSpriteId(0); } else { r4 = GetBattlerPosition_permutated(gAnimBankTarget); - spriteId = GetAnimBankSpriteId(1); + spriteId = GetAnimBattlerSpriteId(1); } if (spriteId != 0xFF && r4 == 2) { diff --git a/src/battle/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c index 6043efb0c..92099c495 100644 --- a/src/battle/battle_anim_807B69C.c +++ b/src/battle/battle_anim_807B69C.c @@ -22,7 +22,7 @@ extern const u8 *const gBattleAnims_StatusConditions[]; extern const struct OamData gOamData_837E05C; extern const struct OamData gOamData_837DF24; -extern u8 GetBankPosition(u8, u8); +extern u8 GetBattlerSpriteCoord(u8, u8); extern void sub_80E32E0(u8); @@ -180,8 +180,8 @@ static void sub_807B8A4(struct Sprite *sprite) void sub_807B920(u8 taskId) { - s16 x = GetBankPosition(gAnimBankTarget, 2) - 32; - s16 y = GetBankPosition(gAnimBankTarget, 3) - 36; + s16 x = GetBattlerSpriteCoord(gAnimBankTarget, 2) - 32; + s16 y = GetBattlerSpriteCoord(gAnimBankTarget, 3) - 36; u8 spriteId; if (IsContest()) diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c index a504570ca..480cb3d72 100644 --- a/src/battle/battle_anim_80A7E7C.c +++ b/src/battle/battle_anim_80A7E7C.c @@ -102,7 +102,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_83C2010 = void AnimTask_ShakeMon(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) { DestroyAnimVisualTask(taskId); @@ -170,7 +170,7 @@ void AnimTask_ShakeMon2(u8 taskId) destroy = FALSE; if (gBattleAnimArgs[0] < 4) { - sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); + sprite = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (sprite == 0xff) { DestroyAnimVisualTask(taskId); @@ -263,7 +263,7 @@ static void AnimTask_ShakeMon2Step(u8 taskId) // arg 4: delay void AnimTask_ShakeMonInPlace(u8 taskId) { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) { DestroyAnimVisualTask(taskId); @@ -328,7 +328,7 @@ static void AnimTask_ShakeMonInPlaceStep(u8 taskId) // arg 4: duration void AnimTask_ShakeAndSinkMon(u8 taskId) { - u8 sprite = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 sprite = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); gSprites[sprite].pos2.x = gBattleAnimArgs[1]; TASK.data[0] = sprite; TASK.data[1] = gBattleAnimArgs[1]; @@ -378,7 +378,7 @@ void AnimTask_TranslateMonElliptical(u8 taskId) u8 wavePeriod; wavePeriod = 1; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (gBattleAnimArgs[4] > 5) gBattleAnimArgs[4] = 5; @@ -470,7 +470,7 @@ static void DoVerticalDip(struct Sprite *sprite) { u8 spriteId; sprite->invisible = TRUE; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = 0; sprite->data[2] = gBattleAnimArgs[1]; @@ -664,7 +664,7 @@ void AnimTask_WindUpLunge(u8 taskId) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[5] = -gBattleAnimArgs[5]; } - TASK.data[0] = GetAnimBankSpriteId(gBattleAnimArgs[0]); + TASK.data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); TASK.data[1] = (gBattleAnimArgs[1] << 8) / gBattleAnimArgs[3]; TASK.data[2] = gBattleAnimArgs[2]; TASK.data[3] = gBattleAnimArgs[3]; @@ -718,7 +718,7 @@ void sub_80A8A80(u8 taskId) { case 0: case 1: - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); break; case 2: if (!IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) @@ -777,7 +777,7 @@ void AnimTask_SwayMon(u8 taskId) if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[4]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[4]); TASK.data[0] = gBattleAnimArgs[0]; TASK.data[1] = gBattleAnimArgs[1]; TASK.data[2] = gBattleAnimArgs[2]; @@ -846,7 +846,7 @@ static void AnimTask_SwayMonStep(u8 taskId) void AnimTask_ScaleMonAndRestore(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[3]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[3]); sub_8078E70(spriteId, gBattleAnimArgs[4]); TASK.data[0] = gBattleAnimArgs[0]; TASK.data[1] = gBattleAnimArgs[1]; @@ -886,7 +886,7 @@ static void AnimTask_ScaleMonAndRestoreStep(u8 taskId) void sub_80A8E04(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); sub_8078E70(spriteId, 0); TASK.data[1] = 0; TASK.data[2] = gBattleAnimArgs[0]; @@ -930,7 +930,7 @@ void sub_80A8E04(u8 taskId) void sub_80A8EFC(u8 taskId) { u8 spriteId; - spriteId = GetAnimBankSpriteId(gBattleAnimArgs[2]); + spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[2]); sub_8078E70(spriteId, 0); TASK.data[1] = 0; TASK.data[2] = gBattleAnimArgs[0]; @@ -1023,7 +1023,7 @@ void sub_80A9058(u8 taskId) TASK.data[12] = 0; TASK.data[10] = gBattleAnimArgs[3]; TASK.data[11] = gBattleAnimArgs[4]; - TASK.data[7] = GetAnimBankSpriteId(1); + TASK.data[7] = GetAnimBattlerSpriteId(1); TASK.data[8] = gSprites[TASK.data[7]].pos2.x; TASK.data[9] = gSprites[TASK.data[7]].pos2.y; TASK.data[0] = 0; diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index f26ec399c..f720d6a78 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -1157,7 +1157,7 @@ void LinkOpponentHandleLoadPokeSprite(void) GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBattler, 2), + GetBattlerSpriteCoord(gActiveBattler, 2), sub_8077F68(gActiveBattler), sub_8079E90(gActiveBattler)); gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; @@ -1187,7 +1187,7 @@ void sub_8039430(u8 a, u8 b) GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(a, 2), + GetBattlerSpriteCoord(a, 2), sub_8077F68(a), sub_8079E90(a)); gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index e8da4721a..0baeca43e 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -85,7 +85,7 @@ extern u8 sub_8046400(); extern void sub_80312F0(struct Sprite *); extern u8 CreateInvisibleSpriteWithCallback(); extern void BattleLoadPlayerMonSprite(); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8079E90(); extern void nullsub_10(); @@ -1106,7 +1106,7 @@ void LinkPartnerHandleLoadPokeSprite(void) GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBattler, 2), + GetBattlerSpriteCoord(gActiveBattler, 2), sub_8077F68(gActiveBattler), sub_8079E90(gActiveBattler)); gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; @@ -1136,7 +1136,7 @@ void sub_811F864(u8 a, u8 b) GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(a, 2), + GetBattlerSpriteCoord(a, 2), sub_8077F68(a), sub_8079E90(a)); gSprites[gUnknown_0300434C[a]].data[1] = gBankSpriteIds[a]; diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index abdc9ccd0..232a9c07d 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -66,7 +66,7 @@ extern struct MusicPlayerInfo gMPlay_SE2; extern struct MusicPlayerInfo gMPlay_BGM; extern u32 gBattleExecBuffer; -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8079E90(); extern void sub_8033018(void); @@ -1128,7 +1128,7 @@ void OpponentHandleLoadPokeSprite(void) GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(gActiveBattler)); gBankSpriteIds[gActiveBattler] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(gActiveBattler, 2), + GetBattlerSpriteCoord(gActiveBattler, 2), sub_8077F68(gActiveBattler), sub_8079E90(gActiveBattler)); gSprites[gBankSpriteIds[gActiveBattler]].pos2.x = -240; @@ -1160,7 +1160,7 @@ void sub_803495C(u8 a, u8 b) GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(a)); gBankSpriteIds[a] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(a, 2), + GetBattlerSpriteCoord(a, 2), sub_8077F68(a), sub_8079E90(a)); gSprites[gBankSpriteIds[a]].data[0] = a; diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 439888d38..50ab1eb7e 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -133,7 +133,7 @@ extern void sub_802D204(void); extern u8 sub_8079E90(); extern void sub_802DEAC(void); extern void sub_80312F0(struct Sprite *); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8046400(); extern void sub_802D798(void); @@ -149,7 +149,7 @@ extern u8 gActionSelectionCursor[]; extern u8 gMoveSelectionCursor[]; extern u8 gAbsentBattlerFlags; extern u8 gUnknown_03004344; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u16 gBattle_BG0_Y; extern u16 gBattle_BG0_X; @@ -486,14 +486,14 @@ void sub_802C2EC(void) dp11b_obj_instanciate(gUnknown_03004344, 1, 15, 1); i = 0; - if (gNoOfAllBanks != 0) + if (gBattlersCount != 0) { do { if (i != gUnknown_03004344) dp11b_obj_free(i, 1); i++; - } while (i < gNoOfAllBanks); + } while (i < gBattlersCount); } if (gMain.newKeys & A_BUTTON) { @@ -533,7 +533,7 @@ void sub_802C2EC(void) if (i < 0) i = 3; gUnknown_03004344 = GetBattlerAtPosition(arr[i]); - } while(gUnknown_03004344 == gNoOfAllBanks); + } while(gUnknown_03004344 == gBattlersCount); i = 0; switch (GetBattlerPosition(gUnknown_03004344)) { @@ -580,7 +580,7 @@ void sub_802C2EC(void) if (i > 3) i = 0; gUnknown_03004344 = GetBattlerAtPosition(arr[i]); - } while (gUnknown_03004344 == gNoOfAllBanks); + } while (gUnknown_03004344 == gBattlersCount); i = 0; switch (GetBattlerPosition(gUnknown_03004344)) { @@ -2525,7 +2525,7 @@ void sub_802F934(u8 bank, u8 b) GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(bank, 2), + GetBattlerSpriteCoord(bank, 2), sub_8077F68(bank), sub_8079E90(bank)); gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 8ae61d0cb..26348b434 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -91,7 +91,7 @@ extern void StartTranslateAnimSpriteByDeltas(struct Sprite *); extern void sub_8030E38(struct Sprite *); extern void StoreSpriteCallbackInData(); extern u8 sub_8046400(); -extern u8 GetBankPosition(); +extern u8 GetBattlerSpriteCoord(); extern u8 sub_8077F68(); extern u8 sub_8079E90(); extern void sub_80312F0(struct Sprite *); @@ -1510,7 +1510,7 @@ void sub_81398BC(u8 bank) GetMonSpriteTemplate_803C56C(species, GetBattlerPosition(bank)); gBankSpriteIds[bank] = CreateSprite( &gUnknown_02024E8C, - GetBankPosition(bank, 2), + GetBattlerSpriteCoord(bank, 2), sub_8077F68(bank), sub_8079E90(bank)); gSprites[gUnknown_0300434C[bank]].data[1] = gBankSpriteIds[bank]; diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index 823fba6d0..bd954ae8d 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -423,7 +423,7 @@ u8 *const gUnknown_0820A904[10] = }; extern u8 gDisplayedStringBattle[]; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u8 gHealthboxIDs[]; @@ -951,7 +951,7 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority) { s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { u8 spriteId1; u8 spriteId2; @@ -1648,7 +1648,7 @@ void sub_804454C(void) s32 i; u8 spriteId; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gSprites[gHealthboxIDs[i]].callback == SpriteCallbackDummy #if DEBUG diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index be7269699..be376a9f1 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -31,7 +31,7 @@ extern void nullsub_14(); extern u8 sub_803FBBC(void); extern u8 gPlayerPartyCount; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBankInMenu; extern u8 gUnknown_0202E8F4; @@ -662,7 +662,7 @@ static void Task_BattlePartyMenuShift(u8 taskId) gTasks[taskId].func = Task_80954C0; return; } - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(i) == 0 && sub_8094C20(partySelection) == gBattlerPartyIndexes[i]) diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index 3441c0d14..e164a60dc 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -36,7 +36,7 @@ extern u16 gLastUsedItem; extern u16 gCurrentMove; extern const u32 gBitTable[]; extern u16 gBattleTypeFlags; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u32 gStatuses3[4]; extern u8 gBankAttacker; extern u8 gBankTarget; @@ -271,7 +271,7 @@ void PressurePPLoseOnUsingImprision(u8 bankAtk) s32 imprisionPos = 4; u8 atkSide = GetBattlerSide(bankAtk); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (atkSide != GetBattlerSide(i) && gBattleMons[i].ability == ABILITY_PRESSURE) { @@ -304,7 +304,7 @@ void PressurePPLoseOnUsingPerishSong(u8 bankAtk) s32 i, j; s32 perishSongPos = 4; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_PRESSURE && i != bankAtk) { @@ -339,12 +339,12 @@ void MarkAllBufferBanksForExecution(void) // unused if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBattleExecBuffer |= gBitTable[i] << 0x1C; } else { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) gBattleExecBuffer |= gBitTable[i]; } } @@ -415,10 +415,10 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[0] = 0; gSentPokesToOpponent[1] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) + for (i = 0; i < gBattlersCount; i += 2) bits |= gBitTable[gBattlerPartyIndexes[i]]; - for (i = 1; i < gNoOfAllBanks; i += 2) + for (i = 1; i < gBattlersCount; i += 2) gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; } @@ -432,7 +432,7 @@ void sub_8015740(u8 bank) u8 id = ((bank & BIT_FLANK) >> 1); gSentPokesToOpponent[id] = 0; - for (i = 0; i < gNoOfAllBanks; i += 2) + for (i = 0; i < gBattlersCount; i += 2) { if (!(gAbsentBattlerFlags & gBitTable[i])) bits |= gBitTable[gBattlerPartyIndexes[i]]; @@ -451,7 +451,7 @@ void sub_80157C4(u8 bank) else { s32 i; - for (i = 1; i < gNoOfAllBanks; i++) + for (i = 1; i < gBattlersCount; i++) gSentPokesToOpponent[(i & BIT_FLANK) >> 1] |= gBitTable[gBattlerPartyIndexes[bank]]; } } @@ -584,7 +584,7 @@ u8 IsImprisoned(u8 bank, u16 move) u8 imprisionedMoves = 0; u8 bankSide = GetBattlerSide(bank); s32 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (bankSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISIONED) { @@ -606,10 +606,10 @@ u8 UpdateTurnCounters(void) u8 effect = 0; s32 i; - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks && gAbsentBattlerFlags & gBitTable[gBankAttacker]; gBankAttacker++) + for (gBankAttacker = 0; gBankAttacker < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBankAttacker]; gBankAttacker++) { } - for (gBankTarget = 0; gBankTarget < gNoOfAllBanks && gAbsentBattlerFlags & gBitTable[gBankTarget]; gBankTarget++) + for (gBankTarget = 0; gBankTarget < gBattlersCount && gAbsentBattlerFlags & gBitTable[gBankTarget]; gBankTarget++) { } @@ -620,14 +620,14 @@ u8 UpdateTurnCounters(void) switch (gBattleStruct->turncountersTracker) { case 0: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { gBanksByTurnOrder[i] = i; } - for (i = 0; i < gNoOfAllBanks - 1; i++) + for (i = 0; i < gBattlersCount - 1; i++) { s32 j; - for (j = i + 1; j < gNoOfAllBanks; j++) + for (j = i + 1; j < gBattlersCount; j++) { if (GetWhoStrikesFirst(gBanksByTurnOrder[i], gBanksByTurnOrder[j], 0)) SwapTurnOrder(i, j); @@ -744,7 +744,7 @@ u8 UpdateTurnCounters(void) } break; case 5: - while (gBattleStruct->turnSideTracker < gNoOfAllBanks) + while (gBattleStruct->turnSideTracker < gBattlersCount) { gActiveBattler = gBanksByTurnOrder[gBattleStruct->turnSideTracker]; if (gWishFutureKnock.wishCounter[gActiveBattler] && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp) @@ -854,7 +854,7 @@ u8 TurnBasedEffects(void) u8 effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); - while (gBattleStruct->turnEffectsBank < gNoOfAllBanks && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) + while (gBattleStruct->turnEffectsBank < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->turnEffectsBank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -1002,7 +1002,7 @@ u8 TurnBasedEffects(void) case 10: // uproar if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) { - for (gBankAttacker = 0; gBankAttacker < gNoOfAllBanks; gBankAttacker++) + for (gBankAttacker = 0; gBankAttacker < gBattlersCount; gBankAttacker++) { if ((gBattleMons[gBankAttacker].status1 & STATUS_SLEEP) && gBattleMons[gBankAttacker].ability != ABILITY_SOUNDPROOF) @@ -1017,7 +1017,7 @@ u8 TurnBasedEffects(void) break; } } - if (gBankAttacker != gNoOfAllBanks) + if (gBankAttacker != gBattlersCount) { effect = 2; // a pokemon was awaken break; @@ -1165,7 +1165,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) switch (gBattleStruct->sub80170DC_Tracker) { case 0: // future sight - while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) + while (gBattleStruct->sub80170DC_Bank < gBattlersCount) { gActiveBattler = gBattleStruct->sub80170DC_Bank; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -1196,7 +1196,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) gBattleStruct->sub80170DC_Tracker = 1; gBattleStruct->sub80170DC_Bank = 0; case 1: // perish song - while (gBattleStruct->sub80170DC_Bank < gNoOfAllBanks) + while (gBattleStruct->sub80170DC_Bank < gBattlersCount) { gActiveBattler = gBankAttacker = gBanksByTurnOrder[gBattleStruct->sub80170DC_Bank]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) @@ -1248,7 +1248,7 @@ bool8 HandleFaintedMonActions(void) case 0: gBattleStruct->unk1605A = 0; gBattleStruct->sub80173A4_Tracker++; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gAbsentBattlerFlags & gBitTable[i] && !sub_8018018(i, 6, 6)) gAbsentBattlerFlags &= ~(gBitTable[i]); @@ -1263,12 +1263,12 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->sub80173A4_Tracker = 2; return 1; } - } while (++gBattleStruct->unk1605A != gNoOfAllBanks); + } while (++gBattleStruct->unk1605A != gBattlersCount); gBattleStruct->sub80173A4_Tracker = 3; break; case 2: sub_8015740(gBank1); - if (++gBattleStruct->unk1605A == gNoOfAllBanks) + if (++gBattleStruct->unk1605A == gBattlersCount) gBattleStruct->sub80173A4_Tracker = 3; else gBattleStruct->sub80173A4_Tracker = 1; @@ -1286,11 +1286,11 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->sub80173A4_Tracker = 5; return 1; } - } while (++gBattleStruct->unk1605A != gNoOfAllBanks); + } while (++gBattleStruct->unk1605A != gBattlersCount); gBattleStruct->sub80173A4_Tracker = 6; break; case 5: - if (++gBattleStruct->unk1605A == gNoOfAllBanks) + if (++gBattleStruct->unk1605A == gBattlersCount) gBattleStruct->sub80173A4_Tracker = 6; else gBattleStruct->sub80173A4_Tracker = 4; @@ -1310,7 +1310,7 @@ bool8 HandleFaintedMonActions(void) void TryClearRageStatuses(void) { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].status2 & STATUS2_RAGE && gChosenMovesByBanks[i] != MOVE_RAGE) gBattleMons[i].status2 &= ~(STATUS2_RAGE); @@ -1695,14 +1695,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) u32 pidAtk; u32 pidDef; - if (gBankAttacker >= gNoOfAllBanks) + if (gBankAttacker >= gBattlersCount) gBankAttacker = bank; if (GetBattlerSide(gBankAttacker) == 0) pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBankAttacker]]; else pokeAtk = &gEnemyParty[gBattlerPartyIndexes[gBankAttacker]]; - if (gBankTarget >= gNoOfAllBanks) + if (gBankTarget >= gBattlersCount) gBankTarget = bank; if (GetBattlerSide(gBankTarget) == 0) pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBankTarget]]; @@ -1741,7 +1741,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (caseID) { case ABILITYEFFECT_ON_SWITCHIN: // 0 - if (gBankAttacker >= gNoOfAllBanks) + if (gBankAttacker >= gBattlersCount) gBankAttacker = bank; switch (gLastUsedAbility) { @@ -1838,7 +1838,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) case ABILITY_AIR_LOCK: { // that's a weird choice for a variable, why not use i or bank? - for (target1 = 0; target1 < gNoOfAllBanks; target1++) + for (target1 = 0; target1 < gBattlersCount; target1++) { effect = CastformDataTypeChange(target1); if (effect != 0) @@ -2227,7 +2227,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_IMMUNITY: // 5 { - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { switch (gBattleMons[bank].ability) { @@ -2310,7 +2310,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_FORECAST: // 6 { - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { if (gBattleMons[bank].ability == ABILITY_FORECAST) { @@ -2357,7 +2357,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE1: // 9 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && gStatuses3[i] & STATUS3_INTIMIDATE_POKES) { @@ -2371,7 +2371,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_TRACE: // 11 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_TRACE && (gStatuses3[i] & STATUS3_TRACE)) { @@ -2436,7 +2436,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_INTIMIDATE2: // 10 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ABILITY_INTIMIDATE && (gStatuses3[i] & STATUS3_INTIMIDATE_POKES)) { @@ -2452,7 +2452,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_CHECK_OTHER_SIDE: // 12 side = GetBattlerSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { @@ -2463,7 +2463,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 side = GetBattlerSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { @@ -2476,21 +2476,21 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) switch (gLastUsedAbility) { case 0xFD: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_MUDSPORT) effect = i + 1; } break; case 0xFE: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gStatuses3[i] & STATUS3_WATERSPORT) effect = i + 1; } break; default: - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability) { @@ -2502,7 +2502,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_ON_FIELD: // 19 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && gBattleMons[i].hp != 0) { @@ -2512,7 +2512,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK: // 15 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && i != bank) { @@ -2523,7 +2523,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_COUNT_OTHER_SIZE: // 16 side = GetBattlerSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(i) != side && gBattleMons[i].ability == ability) { @@ -2534,7 +2534,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) break; case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 side = GetBattlerSide(bank); - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(i) == side && gBattleMons[i].ability == ability) { @@ -2544,7 +2544,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) } break; case ABILITYEFFECT_COUNT_ON_FIELD: // 18 - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && i != bank) { @@ -3115,7 +3115,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) case 2: break; case 3: - for (bank = 0; bank < gNoOfAllBanks; bank++) + for (bank = 0; bank < gBattlersCount; bank++) { gLastUsedItem = gBattleMons[bank].item; if (gBattleMons[bank].item == ITEM_ENIGMA_BERRY) @@ -3384,7 +3384,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget) //get move target side = GetBattlerSide(gBankAttacker); do { - targetBank = Random() % gNoOfAllBanks; + targetBank = Random() % gBattlersCount; } while (targetBank == gBankAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); if (gBattleMoves[move].type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIZE, gBankAttacker, ABILITY_LIGHTNING_ROD, 0, 0) @@ -3519,12 +3519,12 @@ u8 IsMonDisobedient(void) { // try putting asleep int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].status2 & STATUS2_UPROAR) break; } - if (i == gNoOfAllBanks) + if (i == gBattlersCount) { gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; return 1; diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index 91754b4d3..be2adbf1b 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -376,8 +376,8 @@ static void sub_8046464(u8 taskId) gSprites[spriteId].callback = sub_8047074; break; case 0xFE: - gSprites[spriteId].pos1.x = GetBankPosition(r5, 0); - gSprites[spriteId].pos1.y = GetBankPosition(r5, 1) + 24; + gSprites[spriteId].pos1.x = GetBattlerSpriteCoord(r5, 0); + gSprites[spriteId].pos1.y = GetBattlerSpriteCoord(r5, 1) + 24; gBankTarget = r5; gSprites[spriteId].data[0] = 0; gSprites[spriteId].callback = sub_8047254; @@ -394,8 +394,8 @@ static void sub_8046464(u8 taskId) return; } gSprites[spriteId].data[0] = 0x22; - gSprites[spriteId].data[2] = GetBankPosition(gBankTarget, 0); - gSprites[spriteId].data[4] = GetBankPosition(gBankTarget, 1) - 16; + gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBankTarget, 0); + gSprites[spriteId].data[4] = GetBattlerSpriteCoord(gBankTarget, 1) - 16; gSprites[spriteId].data[5] = -40; InitAnimSpriteTranslationOverDuration(&gSprites[spriteId]); gSprites[spriteId].oam.affineParam = taskId; @@ -830,8 +830,8 @@ static void sub_8046FBC(struct Sprite *sprite) static void sub_8047074(struct Sprite *sprite) { sprite->data[0] = 25; - sprite->data[2] = GetBankPosition(sprite->data[6], 2); - sprite->data[4] = GetBankPosition(sprite->data[6], 3) + 24; + sprite->data[2] = GetBattlerSpriteCoord(sprite->data[6], 2); + sprite->data[4] = GetBattlerSpriteCoord(sprite->data[6], 3) + 24; sprite->data[5] = -30; sprite->oam.affineParam = sprite->data[6]; InitAnimSpriteTranslationOverDuration(sprite); diff --git a/src/battle/reshow_battle_screen.c b/src/battle/reshow_battle_screen.c index fe80168fd..f602d4835 100644 --- a/src/battle/reshow_battle_screen.c +++ b/src/battle/reshow_battle_screen.c @@ -23,7 +23,7 @@ extern u8 gReservedSpritePaletteCount; extern u8 gActionSelectionCursor[4]; extern u8 gBankInMenu; extern u16 gBattlerPartyIndexes[4]; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattleTypeFlags; extern u8 gBankSpriteIds[4]; extern u8 gBattleMonForms[4]; @@ -205,7 +205,7 @@ static void sub_807B06C(void) static bool8 LoadAppropiateBankSprite(u8 bank) { - if (bank < gNoOfAllBanks) + if (bank < gBattlersCount) { if (GetBattlerSide(bank)) { @@ -230,7 +230,7 @@ static bool8 LoadAppropiateBankSprite(u8 bank) static void sub_807B184(u8 bank) { - if (bank < gNoOfAllBanks) + if (bank < gBattlersCount) { u8 posY; @@ -243,7 +243,7 @@ static void sub_807B184(u8 bank) if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; GetMonSpriteTemplate_803C56C(GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, sub_8079E90(bank)); gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gBankSpriteIds[bank]].data[0] = bank; @@ -275,7 +275,7 @@ static void sub_807B184(u8 bank) if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_HP) == 0) return; GetMonSpriteTemplate_803C56C(GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], MON_DATA_SPECIES), GetBattlerPosition(bank)); - gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBankPosition(bank, 2), posY, sub_8079E90(bank)); + gBankSpriteIds[bank] = CreateSprite(&gUnknown_02024E8C, GetBattlerSpriteCoord(bank, 2), posY, sub_8079E90(bank)); gSprites[gBankSpriteIds[bank]].oam.paletteNum = bank; gSprites[gBankSpriteIds[bank]].callback = SpriteCallbackDummy; gSprites[gBankSpriteIds[bank]].data[0] = bank; @@ -288,7 +288,7 @@ static void sub_807B184(u8 bank) static void sub_807B508(u8 bank) { - if (bank < gNoOfAllBanks) + if (bank < gBattlersCount) { u8 healthboxID; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && bank == 0) diff --git a/src/contest.c b/src/contest.c index 2d953241a..031cf768f 100644 --- a/src/contest.c +++ b/src/contest.c @@ -5421,8 +5421,8 @@ void sub_80B2968(void) sprite->pos2.x = 0; sprite->pos2.y = 0; - sprite->pos1.x = GetBankPosition(3, 0); - sprite->pos1.y = GetBankPosition(3, 1); + sprite->pos1.x = GetBattlerSpriteCoord(3, 0); + sprite->pos1.y = GetBattlerSpriteCoord(3, 1); sprite->invisible = TRUE; } diff --git a/src/pokemon_item_effect.c b/src/pokemon_item_effect.c index aa6e49877..d26546f02 100644 --- a/src/pokemon_item_effect.c +++ b/src/pokemon_item_effect.c @@ -18,7 +18,7 @@ extern s32 gBattleMoveDamage; extern u8 gAbsentBattlerFlags; extern u8 gBankInMenu; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gActiveBattler; extern u8 gStringBank; @@ -80,7 +80,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *pkmn, u16 item, u8 partyIndex, u8 mo { gActiveBattler = gBankInMenu; cmdIndex = (GetBattlerSide(gActiveBattler) != 0); - while (cmdIndex < gNoOfAllBanks) + while (cmdIndex < gBattlersCount) { if (gBattlerPartyIndexes[cmdIndex] == partyIndex) { diff --git a/src/rom3.c b/src/rom3.c index 64d7a535c..a9433695d 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -32,7 +32,7 @@ extern u8 gBattleBufferA[][0x200]; extern u8 gBattleBufferB[][0x200]; extern u8 gActiveBattler; extern u32 gBattleExecBuffer; -extern u8 gNoOfAllBanks; +extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[]; extern u8 gBanksBySide[]; extern u16 gCurrentMove; @@ -120,7 +120,7 @@ void sub_800B950(void) sub_800BD54(); if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) sub_8094978(i, 0); } } @@ -139,7 +139,7 @@ void sub_800B9A8(void) gBanksBySide[0] = 0; gBattleBankFunc[1] = SetBankFuncToOpponentBufferRunCommand; gBanksBySide[1] = 1; - gNoOfAllBanks = 2; + gBattlersCount = 2; } else { @@ -152,7 +152,7 @@ void sub_800B9A8(void) gBanksBySide[2] = 2; gBattleBankFunc[3] = SetBankFuncToOpponentBufferRunCommand; gBanksBySide[3] = 3; - gNoOfAllBanks = 4; + gBattlersCount = 4; } } @@ -170,7 +170,7 @@ void sub_800BA78(void) gBanksBySide[0] = 0; gBattleBankFunc[1] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[1] = 1; - gNoOfAllBanks = 2; + gBattlersCount = 2; } else { @@ -178,7 +178,7 @@ void sub_800BA78(void) gBanksBySide[1] = 0; gBattleBankFunc[0] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[0] = 1; - gNoOfAllBanks = 2; + gBattlersCount = 2; } return; } @@ -195,7 +195,7 @@ void sub_800BA78(void) gBanksBySide[2] = 2; gBattleBankFunc[3] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[3] = 3; - gNoOfAllBanks = 4; + gBattlersCount = 4; } else { @@ -207,7 +207,7 @@ void sub_800BA78(void) gBanksBySide[3] = 2; gBattleBankFunc[2] = SetBankFuncToLinkOpponentBufferRunCommand; gBanksBySide[2] = 3; - gNoOfAllBanks = 4; + gBattlersCount = 4; } return; @@ -285,7 +285,7 @@ void sub_800BA78(void) } } } - gNoOfAllBanks = 4; + gBattlersCount = 4; } void sub_800BD54(void) @@ -295,7 +295,7 @@ void sub_800BD54(void) if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { for (j = 0; j < 6; j++) { diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 0a0c89cf4..cccedc89c 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -70,7 +70,7 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern s16 gBattleAnimArgs[8]; extern u8 gBanksBySide[NUM_BATTLE_SLOTS]; -extern u8 gNoOfAllBanks; // gNumBattleMons? +extern u8 gBattlersCount; // gNumBattleMons? extern struct OamMatrix gOamMatrices[]; extern struct Struct_2017810 unk_2017810[]; extern u8 gAnimFriendship; @@ -154,7 +154,7 @@ const struct SpriteSheet gUnknown_0837F5E0[] = // pkmn_form.c -u8 GetBankPosition(u8 slot, u8 a2) +u8 GetBattlerSpriteCoord(u8 slot, u8 a2) { u8 var; u16 species; @@ -362,22 +362,22 @@ u8 sub_8077EE4(u8 slot, u8 a2) } else { - return GetBankPosition(slot, a2); + return GetBattlerSpriteCoord(slot, a2); } } u8 sub_8077F68(u8 slot) { - return GetBankPosition(slot, 4); + return GetBattlerSpriteCoord(slot, 4); } u8 sub_8077F7C(u8 slot) { u16 var; if (GetBattlerSide(slot) != 0) - var = GetBankPosition(slot, 1) + 16; + var = GetBattlerSpriteCoord(slot, 1) + 16; else - var = GetBankPosition(slot, 1) + 17; + var = GetBattlerSpriteCoord(slot, 1) + 17; return var; } @@ -387,7 +387,7 @@ u8 sub_8077FC0(u8 slot) u8 r6; struct TransformStatus *transform; - r6 = GetBankPosition(slot, 1); + r6 = GetBattlerSpriteCoord(slot, 1); if (!IsContest()) { if (GetBattlerSide(slot) != 0) @@ -413,7 +413,7 @@ u8 sub_8077FC0(u8 slot) return r6; } -u8 GetAnimBankSpriteId(u8 whichBank) +u8 GetAnimBattlerSpriteId(u8 whichBank) { u8 *sprites; @@ -634,8 +634,8 @@ void unref_sub_8078414(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x + sprite->pos2.x; sprite->data[3] = sprite->pos1.y + sprite->pos2.y; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2); - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sprite->callback = sub_80782F8; } @@ -702,8 +702,8 @@ void unref_sub_8078588(struct Sprite *sprite) { sprite->data[1] = sprite->pos1.x + sprite->pos2.x; sprite->data[3] = sprite->pos1.y + sprite->pos2.y; - sprite->data[2] = GetBankPosition(gAnimBankAttacker, 2); - sprite->data[4] = GetBankPosition(gAnimBankAttacker, 3); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); sprite->callback = sub_80782F8; } @@ -741,14 +741,14 @@ void sub_8078634(u8 task) void sub_8078650(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); } void sub_807867C(struct Sprite *sprite, s16 a2) { - u16 v1 = GetBankPosition(gAnimBankAttacker, 0); - u16 v2 = GetBankPosition(gAnimBankTarget, 0); + u16 v1 = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + u16 v2 = GetBattlerSpriteCoord(gAnimBankTarget, 0); if (v1 > v2) { @@ -834,7 +834,7 @@ u8 GetBattlerAtPosition(u8 slot) { u8 i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (gBanksBySide[i] == slot) break; @@ -1159,7 +1159,7 @@ bool8 sub_8078E38() { if (IsContest()) { - if (gSprites[GetAnimBankSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) + if (gSprites[GetAnimBattlerSpriteId(0)].data[2] == 0xc9 /* XXX SPECIES_UNOWN? */) return FALSE; return TRUE; } @@ -1425,8 +1425,8 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, v2) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, v2) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -1437,8 +1437,8 @@ void sub_80794A8(struct Sprite *sprite) if (GetBattlerSide(gAnimBankAttacker)) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; sprite->data[5] = gBattleAnimArgs[5]; InitAnimSpriteTranslationOverDuration(sprite); sprite->callback = sub_8079518; @@ -1478,8 +1478,8 @@ void sub_8079534(struct Sprite *sprite) gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sub_8078764(sprite, r4); sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBankPosition(slot, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBankPosition(slot, r7) + gBattleAnimArgs[3]; + sprite->data[2] = GetBattlerSpriteCoord(slot, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(slot, r7) + gBattleAnimArgs[3]; sprite->callback = StartTranslateAnimSpriteByDeltas; StoreSpriteCallbackInData(sprite, DestroyAnimSprite); } @@ -1487,7 +1487,7 @@ void sub_8079534(struct Sprite *sprite) s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1) { u16 i; - u8 sprite = GetAnimBankSpriteId(a1); + u8 sprite = GetAnimBattlerSpriteId(a1); if (sprite != 0xff) { @@ -1573,7 +1573,7 @@ void sub_80796F8(u8 taskId) // arg 4: number of times to blend in and out void AnimTask_BlendMonInAndOut(u8 task) { - u8 spriteId = GetAnimBankSpriteId(gBattleAnimArgs[0]); + u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); if (spriteId == 0xff) { DestroyAnimVisualTask(task); @@ -1872,7 +1872,7 @@ void sub_8079E24() { int i; - for (i = 0; i < gNoOfAllBanks; i++) + for (i = 0; i < gBattlersCount; i++) { if (IsAnimBankSpriteVisible(i)) { @@ -2112,15 +2112,15 @@ s16 sub_807A100(u8 slot, u8 a2) case 1: return (coords->coords >> 4) * 8; case 4: - return GetBankPosition(slot, 2) - ((coords->coords >> 4) * 4); + return GetBattlerSpriteCoord(slot, 2) - ((coords->coords >> 4) * 4); case 5: - return GetBankPosition(slot, 2) + ((coords->coords >> 4) * 4); + return GetBattlerSpriteCoord(slot, 2) + ((coords->coords >> 4) * 4); case 2: - return GetBankPosition(slot, 3) - ((coords->coords & 0xf) * 4); + return GetBattlerSpriteCoord(slot, 3) - ((coords->coords & 0xf) * 4); case 3: - return GetBankPosition(slot, 3) + ((coords->coords & 0xf) * 4); + return GetBattlerSpriteCoord(slot, 3) + ((coords->coords & 0xf) * 4); case 6: - ret = GetBankPosition(slot, 1) + 0x1f; + ret = GetBattlerSpriteCoord(slot, 1) + 0x1f; return ret - coords->y_offset; default: return 0; @@ -2143,12 +2143,12 @@ void SetAverageBattlerPositions(u8 slot, bool8 a2, s16 *x, s16 *y) v1 = 2; v2 = 3; } - v3 = GetBankPosition(slot, v1); - v4 = GetBankPosition(slot, v2); + v3 = GetBattlerSpriteCoord(slot, v1); + v4 = GetBattlerSpriteCoord(slot, v2); if (IsDoubleBattle() && !IsContest()) { - v5 = GetBankPosition(slot ^ 2, v1); - v6 = GetBankPosition(slot ^ 2, v2); + v5 = GetBattlerSpriteCoord(slot ^ 2, v1); + v6 = GetBattlerSpriteCoord(slot ^ 2, v2); } else { @@ -2237,7 +2237,7 @@ void sub_807A69C(u8 taskId) u16 src; u16 dest; struct Task *task = &gTasks[taskId]; - task->data[0] = GetAnimBankSpriteId(0); + task->data[0] = GetAnimBattlerSpriteId(0); task->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? -8 : 8; task->data[2] = 0; task->data[3] = 0; @@ -2318,8 +2318,8 @@ void sub_807A8D4(struct Sprite *sprite) // file_4 void sub_807A908(struct Sprite *sprite) { - sprite->pos1.x = GetBankPosition(gAnimBankAttacker, 2); - sprite->pos1.y = GetBankPosition(gAnimBankAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); if (!GetBattlerSide(gAnimBankAttacker)) sprite->data[0] = 5; else -- cgit v1.2.3 From 3571cb1d142090b59a9161a6bada11f0caf53b8c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 6 Apr 2018 16:41:20 -0700 Subject: Cleanup statics and create battle_ai_switch_items.h --- src/battle/battle_ai_switch_items.c | 32 ++++++++++++++++---------------- src/battle/battle_controller_opponent.c | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/battle/battle_ai_switch_items.c b/src/battle/battle_ai_switch_items.c index 7edd3ce94..e01c7b729 100755 --- a/src/battle/battle_ai_switch_items.c +++ b/src/battle/battle_ai_switch_items.c @@ -1,5 +1,6 @@ #include "global.h" #include "battle.h" +#include "battle_ai_switch_items.h" #include "battle_script_commands.h" #include "data2.h" #include "ewram.h" @@ -29,13 +30,12 @@ extern const u8 gTypeEffectiveness[]; extern struct BattlePokemon gBattleMons[]; extern u32 gStatuses3[MAX_BATTLERS_COUNT]; -/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); -/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent); -/*static*/ bool8 ShouldUseItem(void); -/*static*/ u8 GetMostSuitableMonToSwitchInto(void); +static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); +static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent); +static bool8 ShouldUseItem(void); -/*static*/ bool8 ShouldSwitchIfPerishSong(void) +static bool8 ShouldSwitchIfPerishSong(void) { if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) @@ -49,7 +49,7 @@ extern u32 gStatuses3[MAX_BATTLERS_COUNT]; } #ifdef NONMATCHING -/*static*/ bool8 ShouldSwitchIfWonderGuard(void) +static bool8 ShouldSwitchIfWonderGuard(void) { u8 opposingBattler; u8 moveFlags; @@ -108,7 +108,7 @@ extern u32 gStatuses3[MAX_BATTLERS_COUNT]; } #else __attribute__((naked)) -/*static*/ bool8 ShouldSwitchIfWonderGuard(void) +static bool8 ShouldSwitchIfWonderGuard(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ @@ -306,7 +306,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ } #endif // NONMATCHING -/*static*/ bool8 FindMonThatAbsorbsOpponentsMove(void) +static bool8 FindMonThatAbsorbsOpponentsMove(void) { u8 battlerIn1, battlerIn2; u8 absorbingTypeAbility; @@ -385,7 +385,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ return FALSE; } -/*static*/ bool8 ShouldSwitchIfNaturalCure(void) +static bool8 ShouldSwitchIfNaturalCure(void) { if (!(gBattleMons[gActiveBattler].status1 & STATUS_SLEEP)) return FALSE; @@ -421,7 +421,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ return FALSE; } -/*static*/ bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) +static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) { u8 opposingBattler; s32 i; @@ -473,7 +473,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ return FALSE; } -/*static*/ bool8 AreStatsRaised(void) +static bool8 AreStatsRaised(void) { u8 buffedStatsValue = 0; s32 i; @@ -487,7 +487,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ return (buffedStatsValue > 3); } -/*static*/ bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) +static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) { u8 battlerIn1, battlerIn2; s32 i, j; @@ -568,7 +568,7 @@ _080361E4: .4byte gBattlerPartyIndexes\n\ return FALSE; } -/*static*/ bool8 ShouldSwitch(void) +static bool8 ShouldSwitch(void) { u8 battlerIn1, battlerIn2; s32 i; @@ -708,7 +708,7 @@ void AI_TrySwitchOrUseItem(void) Emitcmd33(1, B_ACTION_USE_MOVE, (gActiveBattler ^ BIT_SIDE) << 8); } -/*static*/ void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var) +static void ModulateByTypeEffectiveness(u8 attackType, u8 defenseType1, u8 defenseType2, u8 *var) { s32 i = 0; @@ -863,7 +863,7 @@ u8 GetMostSuitableMonToSwitchInto(void) } // TODO: use PokemonItemEffect struct instead of u8 once it's documented -/*static*/ u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u16 as item Id argument +static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u16 as item Id argument { if (itemId == ITEM_FULL_RESTORE) return AI_ITEM_FULL_RESTORE; @@ -879,7 +879,7 @@ u8 GetMostSuitableMonToSwitchInto(void) return AI_ITEM_NOT_RECOGNIZABLE; } -/*static*/ bool8 ShouldUseItem(void) +static bool8 ShouldUseItem(void) { s32 i; u8 validMons = 0; diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 232a9c07d..583690c27 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1,5 +1,6 @@ #include "global.h" #include "battle.h" +#include "battle_ai_switch_items.h" #include "battle_anim.h" #include "battle_interface.h" #include "data2.h" @@ -100,7 +101,6 @@ extern void BufferStringBattle(); extern void sub_80331D0(void); extern void AI_TrySwitchOrUseItem(void); extern u8 GetBattlerAtPosition(u8); -extern u8 GetMostSuitableMonToSwitchInto(void); extern void sub_80330C8(void); extern void sub_8043D84(); extern void sub_8045A5C(); -- cgit v1.2.3 From 4d3098e89b5aebf080547a99e68640138dc74599 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 6 Apr 2018 21:30:05 -0400 Subject: Start decompiling unk_debug_menu_3 code --- src/debug/unk_debug_menu_3.c | 10 ++++++++++ src/mystery_event_script.c | 6 ++++-- src/util.c | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 5f2ede62a..8603cb1e7 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -2,7 +2,17 @@ #include "global.h" #include "debug.h" +#include "mystery_event_script.h" +extern const u8 gUnknown_Debug_845DAE1[]; +extern const u8 gUnknown_Debug_845DAE1End[]; +size_t debug_sub_813C404(void * dest) +{ + size_t size = gUnknown_Debug_845DAE1End - gUnknown_Debug_845DAE1; + memcpy(dest, gUnknown_Debug_845DAE1, size); + unref_sub_812620C(dest, gUnknown_Debug_845DAE1); + return size; +} #endif // DEBUG diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 6fcad66ac..83aa90102 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -114,8 +114,9 @@ static void SetWord(u8 *ptr, u32 val) ptr[3] = val >> 24; } -bool8 unref_sub_81261B4(u8 *a1, int a2) +bool8 unref_sub_81261B4(u8 *a1, const u8 * _a2) { + int a2 = (int)_a2; if (a1[0x0] == 1 && a1[0x11] == 15 && !GetWord(a1 + 0x12)) { int v4 = GetWord(a1 + 0x16) - a2 + (int)a1; @@ -128,8 +129,9 @@ bool8 unref_sub_81261B4(u8 *a1, int a2) return FALSE; } -bool8 unref_sub_812620C(u8 *a1, int a2) +bool8 unref_sub_812620C(u8 *a1, const u8 * _a2) { + int a2 = (int)_a2; if (a1[0x0] == 1 && a1[0x11] == 16 && !GetWord(a1 + 0x12)) { int v4 = GetWord(a1 + 0x16) - a2 + (int)a1; diff --git a/src/util.c b/src/util.c index 582b9f806..e14665a03 100644 --- a/src/util.c +++ b/src/util.c @@ -490,7 +490,7 @@ int CountTrailingZeroBits(u32 value) return 0; } -u16 CalcCRC16(u8 *data, int length) +u16 CalcCRC16(const u8 *data, int length) { u16 i, j; u16 crc = 0x1121; -- cgit v1.2.3 From dade23a2663d064304dd49157e6e1f87642c1d05 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 6 Apr 2018 21:40:09 -0400 Subject: through debug_sub_813C500 --- src/debug/unk_debug_menu_3.c | 65 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 8603cb1e7..e42506971 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -15,4 +15,69 @@ size_t debug_sub_813C404(void * dest) return size; } +extern const u8 gUnknown_Debug_845E3E0[]; +extern const u8 gUnknown_Debug_845E3E0End[]; + +size_t debug_sub_813C430(void * dest) +{ + size_t size = gUnknown_Debug_845E3E0End - gUnknown_Debug_845E3E0; + memcpy(dest, gUnknown_Debug_845E3E0, size); + unref_sub_812620C(dest, gUnknown_Debug_845E3E0); + return size; +} + +extern const u8 gUnknown_Debug_845E422[]; +extern const u8 gUnknown_Debug_845E422End[]; + +size_t debug_sub_813C45C(void * dest) +{ + size_t size = gUnknown_Debug_845E422End - gUnknown_Debug_845E422; + memcpy(dest, gUnknown_Debug_845E422, size); + unref_sub_812620C(dest, gUnknown_Debug_845E422); + return size; +} + +extern const u8 gUnknown_Debug_845E402[]; +extern const u8 gUnknown_Debug_845E402End[]; + +size_t debug_sub_813C488(void * dest) +{ + size_t size = gUnknown_Debug_845E402End - gUnknown_Debug_845E402; + memcpy(dest, gUnknown_Debug_845E402, size); + unref_sub_812620C(dest, gUnknown_Debug_845E402); + return size; +} + +extern const u8 gUnknown_Debug_845E606[]; +extern const u8 gUnknown_Debug_845E606End[]; + +size_t debug_sub_813C4B4(void * dest) +{ + size_t size = gUnknown_Debug_845E606End - gUnknown_Debug_845E606; + memcpy(dest, gUnknown_Debug_845E606, size); + return size; +} + +extern const u8 gUnknown_Debug_845E619[]; +extern const u8 gUnknown_Debug_845E619End[]; + +size_t debug_sub_813C4D4(void * dest) +{ + size_t size = gUnknown_Debug_845E619End - gUnknown_Debug_845E619; + memcpy(dest, gUnknown_Debug_845E619, size); + unref_sub_81261B4(dest, gUnknown_Debug_845E619); + return size; +} + +extern const u8 gUnknown_Debug_845E712[]; +extern const u8 gUnknown_Debug_845E712End[]; + +size_t debug_sub_813C500(void * dest) +{ + size_t size = gUnknown_Debug_845E712End - gUnknown_Debug_845E712; + memcpy(dest, gUnknown_Debug_845E712, size); + unref_sub_812620C(dest, gUnknown_Debug_845E712); + return size; +} + #endif // DEBUG -- cgit v1.2.3 From 2b09707c406245214572abb9f4bc81ee408e5be5 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 6 Apr 2018 21:50:50 -0400 Subject: through debug_sub_813C5A4 --- src/debug/unk_debug_menu_3.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index e42506971..4b40927b9 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -2,6 +2,7 @@ #include "global.h" #include "debug.h" +#include "constants/items.h" #include "mystery_event_script.h" extern const u8 gUnknown_Debug_845DAE1[]; @@ -80,4 +81,41 @@ size_t debug_sub_813C500(void * dest) return size; } +extern const u8 gUnknown_Debug_845E797[]; +extern const u8 gUnknown_Debug_845E797End[]; +extern const u8 gUnknown_Debug_845E7B5[]; + +size_t debug_sub_813C52C(void * dest, u16 itemId) +{ + u8 * ptr; + size_t size = gUnknown_Debug_845E797End - gUnknown_Debug_845E797; + memcpy(dest, gUnknown_Debug_845E797, size); + ptr = gUnknown_Debug_845E7B5 - gUnknown_Debug_845E797 + dest; + ptr += 3; + ptr[0] = itemId; + ptr[1] = itemId >> 8; + unref_sub_812620C(dest, gUnknown_Debug_845E797); + return size; +} + +size_t debug_sub_813C580(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_POTION); +} + +size_t debug_sub_813C58C(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_POKE_BALL); +} + +size_t debug_sub_813C598(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_CHERI_BERRY); +} + +size_t debug_sub_813C5A4(void * dest) +{ + return debug_sub_813C52C(dest, ITEM_TM01_FOCUS_PUNCH); +} + #endif // DEBUG -- cgit v1.2.3 From 9a529d12a955a605810154ea0eb242860db9304e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 6 Apr 2018 22:18:52 -0400 Subject: debug_sub_813C5B4 --- src/berry.c | 2 +- src/debug/unk_debug_menu_3.c | 58 +++++++++++++++++++++++++++++++++----------- 2 files changed, 45 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/berry.c b/src/berry.c index 9313c458b..16b5b2b22 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1085,7 +1085,7 @@ extern u8 gUnknown_Debug_839B6CE[]; static const u8 gUnknown_Debug_083F7F84[] = _("そとから きた きのみ"); static const u8 gUnknown_Debug_083F7F90[] = _("ただいま かいはつちゅう"); -void debug_sub_80C2C18(u8 *name, u8 holdEffect, u8 holdEffectParam) +void debug_sub_80C2C18(const u8 *name, u8 holdEffect, u8 holdEffectParam) { s32 i; diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 4b40927b9..7e63abbd3 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -1,14 +1,15 @@ -#if DEBUG - #include "global.h" #include "debug.h" #include "constants/items.h" #include "mystery_event_script.h" +#include "berry.h" + +#if DEBUG extern const u8 gUnknown_Debug_845DAE1[]; extern const u8 gUnknown_Debug_845DAE1End[]; -size_t debug_sub_813C404(void * dest) +size_t debug_sub_813C404(u8 * dest) { size_t size = gUnknown_Debug_845DAE1End - gUnknown_Debug_845DAE1; memcpy(dest, gUnknown_Debug_845DAE1, size); @@ -19,7 +20,7 @@ size_t debug_sub_813C404(void * dest) extern const u8 gUnknown_Debug_845E3E0[]; extern const u8 gUnknown_Debug_845E3E0End[]; -size_t debug_sub_813C430(void * dest) +size_t debug_sub_813C430(u8 * dest) { size_t size = gUnknown_Debug_845E3E0End - gUnknown_Debug_845E3E0; memcpy(dest, gUnknown_Debug_845E3E0, size); @@ -30,7 +31,7 @@ size_t debug_sub_813C430(void * dest) extern const u8 gUnknown_Debug_845E422[]; extern const u8 gUnknown_Debug_845E422End[]; -size_t debug_sub_813C45C(void * dest) +size_t debug_sub_813C45C(u8 * dest) { size_t size = gUnknown_Debug_845E422End - gUnknown_Debug_845E422; memcpy(dest, gUnknown_Debug_845E422, size); @@ -41,7 +42,7 @@ size_t debug_sub_813C45C(void * dest) extern const u8 gUnknown_Debug_845E402[]; extern const u8 gUnknown_Debug_845E402End[]; -size_t debug_sub_813C488(void * dest) +size_t debug_sub_813C488(u8 * dest) { size_t size = gUnknown_Debug_845E402End - gUnknown_Debug_845E402; memcpy(dest, gUnknown_Debug_845E402, size); @@ -52,7 +53,7 @@ size_t debug_sub_813C488(void * dest) extern const u8 gUnknown_Debug_845E606[]; extern const u8 gUnknown_Debug_845E606End[]; -size_t debug_sub_813C4B4(void * dest) +size_t debug_sub_813C4B4(u8 * dest) { size_t size = gUnknown_Debug_845E606End - gUnknown_Debug_845E606; memcpy(dest, gUnknown_Debug_845E606, size); @@ -62,7 +63,7 @@ size_t debug_sub_813C4B4(void * dest) extern const u8 gUnknown_Debug_845E619[]; extern const u8 gUnknown_Debug_845E619End[]; -size_t debug_sub_813C4D4(void * dest) +size_t debug_sub_813C4D4(u8 * dest) { size_t size = gUnknown_Debug_845E619End - gUnknown_Debug_845E619; memcpy(dest, gUnknown_Debug_845E619, size); @@ -73,7 +74,7 @@ size_t debug_sub_813C4D4(void * dest) extern const u8 gUnknown_Debug_845E712[]; extern const u8 gUnknown_Debug_845E712End[]; -size_t debug_sub_813C500(void * dest) +size_t debug_sub_813C500(u8 * dest) { size_t size = gUnknown_Debug_845E712End - gUnknown_Debug_845E712; memcpy(dest, gUnknown_Debug_845E712, size); @@ -85,7 +86,7 @@ extern const u8 gUnknown_Debug_845E797[]; extern const u8 gUnknown_Debug_845E797End[]; extern const u8 gUnknown_Debug_845E7B5[]; -size_t debug_sub_813C52C(void * dest, u16 itemId) +size_t debug_sub_813C52C(u8 * dest, u16 itemId) { u8 * ptr; size_t size = gUnknown_Debug_845E797End - gUnknown_Debug_845E797; @@ -98,24 +99,53 @@ size_t debug_sub_813C52C(void * dest, u16 itemId) return size; } -size_t debug_sub_813C580(void * dest) +size_t debug_sub_813C580(u8 * dest) { return debug_sub_813C52C(dest, ITEM_POTION); } -size_t debug_sub_813C58C(void * dest) +size_t debug_sub_813C58C(u8 * dest) { return debug_sub_813C52C(dest, ITEM_POKE_BALL); } -size_t debug_sub_813C598(void * dest) +size_t debug_sub_813C598(u8 * dest) { return debug_sub_813C52C(dest, ITEM_CHERI_BERRY); } -size_t debug_sub_813C5A4(void * dest) +size_t debug_sub_813C5A4(u8 * dest) { return debug_sub_813C52C(dest, ITEM_TM01_FOCUS_PUNCH); } +extern const u8 gUnknown_Debug_845DDB2[]; +extern const u8 gUnknown_Debug_845DDB2End[]; +extern const u8 gUnknown_Debug_845DDD6[]; + +extern const u8 Str_842E23C[]; //static const u8 Str_842E23C[] = _("ガイブ"); + +size_t debug_sub_813C5B4(u8 * dest) +{ + u8 * saveBerry = (u8 *)&gSaveBlock1.enigmaBerry; + u8 * berry = (u8 *)(dest - gUnknown_Debug_845DDB2 + gUnknown_Debug_845DDD6); + size_t size = gUnknown_Debug_845DDB2End - gUnknown_Debug_845DDB2; + int i; + + debug_sub_80C2C18(Str_842E23C, 0, 0); + + for (i = 0; i < 0x1000; i++) + dest[i] = 0; + + for (i = 0; i < size; i++) + dest[i] = gUnknown_Debug_845DDB2[i]; + + for (i = 0; i < sizeof(struct EnigmaBerry); i++) + berry[i] = saveBerry[i]; + + ClearEnigmaBerries(); + unref_sub_81261B4(dest, gUnknown_Debug_845DDB2); + return size; +} + #endif // DEBUG -- cgit v1.2.3 From 0426e350618857107fd8351e7c05b563152e4fdb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 6 Apr 2018 22:38:12 -0400 Subject: through debug_sub_813C6AC --- src/debug/unk_debug_menu_3.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 7e63abbd3..0b348fa0b 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -1,8 +1,11 @@ #include "global.h" #include "debug.h" #include "constants/items.h" +#include "string_util.h" +#include "new_game.h" #include "mystery_event_script.h" #include "berry.h" +#include "mail_data.h" #if DEBUG @@ -148,4 +151,44 @@ size_t debug_sub_813C5B4(u8 * dest) return size; } +extern const u8 Str_842E240[]; +extern const u8 Str_842E248[]; + +void debug_sub_813C638(struct Pokemon * mon, u16 species, u8 level, u16 itemId) +{ + u32 _itemId; + ZeroMonData(mon); + CreateMon(mon, species, level, 32, FALSE, 0, TRUE, 9999); + SetMonData(mon, MON_DATA_OT_NAME, Str_842E240); + SetMonData(mon, MON_DATA_NICKNAME, Str_842E248); + _itemId = itemId; + SetMonData(mon, MON_DATA_HELD_ITEM, &_itemId); +} + +void debug_sub_813C6AC(struct Pokemon *mon, struct MailStruct *mail) +{ + u16 itemId; + ClearMailStruct(mail); + itemId = GetMonData(mon, MON_DATA_HELD_ITEM); + if (ItemIsMail(itemId)) + { + u8 * name = mail->playerName; + u8 * id = mail->trainerId; + u8 nameBuf[8]; + int i; + + for (i = 0; i < 9; i++) + mail->words[i] = i + 1; + + GetMonData(mon, MON_DATA_OT_NAME, nameBuf); + StringCopyN(name, nameBuf, OT_NAME_LENGTH + 1); + + write_word_to_mem(GetMonData(mon, MON_DATA_OT_ID), id); + + mail->species = SpeciesToMailSpecies(GetMonData(mon, MON_DATA_SPECIES), GetMonData(mon, MON_DATA_PERSONALITY)); + mail->itemId = itemId; + + } +} + #endif // DEBUG -- cgit v1.2.3 From 5bf9e96c84c5f9253e014416208f32b95a297087 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 13:02:58 -0400 Subject: Decompile nonmatching debug_sub_813C740 --- src/debug/unk_debug_menu_3.c | 173 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 153 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 0b348fa0b..50c9cb5cb 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -1,5 +1,6 @@ #include "global.h" #include "debug.h" +#include "constants/species.h" #include "constants/items.h" #include "string_util.h" #include "new_game.h" @@ -9,8 +10,8 @@ #if DEBUG -extern const u8 gUnknown_Debug_845DAE1[]; -extern const u8 gUnknown_Debug_845DAE1End[]; +extern u8 gUnknown_Debug_845DAE1[]; +extern u8 gUnknown_Debug_845DAE1End[]; size_t debug_sub_813C404(u8 * dest) { @@ -20,8 +21,8 @@ size_t debug_sub_813C404(u8 * dest) return size; } -extern const u8 gUnknown_Debug_845E3E0[]; -extern const u8 gUnknown_Debug_845E3E0End[]; +extern u8 gUnknown_Debug_845E3E0[]; +extern u8 gUnknown_Debug_845E3E0End[]; size_t debug_sub_813C430(u8 * dest) { @@ -31,8 +32,8 @@ size_t debug_sub_813C430(u8 * dest) return size; } -extern const u8 gUnknown_Debug_845E422[]; -extern const u8 gUnknown_Debug_845E422End[]; +extern u8 gUnknown_Debug_845E422[]; +extern u8 gUnknown_Debug_845E422End[]; size_t debug_sub_813C45C(u8 * dest) { @@ -42,8 +43,8 @@ size_t debug_sub_813C45C(u8 * dest) return size; } -extern const u8 gUnknown_Debug_845E402[]; -extern const u8 gUnknown_Debug_845E402End[]; +extern u8 gUnknown_Debug_845E402[]; +extern u8 gUnknown_Debug_845E402End[]; size_t debug_sub_813C488(u8 * dest) { @@ -53,8 +54,8 @@ size_t debug_sub_813C488(u8 * dest) return size; } -extern const u8 gUnknown_Debug_845E606[]; -extern const u8 gUnknown_Debug_845E606End[]; +extern u8 gUnknown_Debug_845E606[]; +extern u8 gUnknown_Debug_845E606End[]; size_t debug_sub_813C4B4(u8 * dest) { @@ -63,8 +64,8 @@ size_t debug_sub_813C4B4(u8 * dest) return size; } -extern const u8 gUnknown_Debug_845E619[]; -extern const u8 gUnknown_Debug_845E619End[]; +extern u8 gUnknown_Debug_845E619[]; +extern u8 gUnknown_Debug_845E619End[]; size_t debug_sub_813C4D4(u8 * dest) { @@ -74,8 +75,8 @@ size_t debug_sub_813C4D4(u8 * dest) return size; } -extern const u8 gUnknown_Debug_845E712[]; -extern const u8 gUnknown_Debug_845E712End[]; +extern u8 gUnknown_Debug_845E712[]; +extern u8 gUnknown_Debug_845E712End[]; size_t debug_sub_813C500(u8 * dest) { @@ -85,9 +86,9 @@ size_t debug_sub_813C500(u8 * dest) return size; } -extern const u8 gUnknown_Debug_845E797[]; -extern const u8 gUnknown_Debug_845E797End[]; -extern const u8 gUnknown_Debug_845E7B5[]; +extern u8 gUnknown_Debug_845E797[]; +extern u8 gUnknown_Debug_845E797End[]; +extern u8 gUnknown_Debug_845E7B5[]; size_t debug_sub_813C52C(u8 * dest, u16 itemId) { @@ -122,9 +123,9 @@ size_t debug_sub_813C5A4(u8 * dest) return debug_sub_813C52C(dest, ITEM_TM01_FOCUS_PUNCH); } -extern const u8 gUnknown_Debug_845DDB2[]; -extern const u8 gUnknown_Debug_845DDB2End[]; -extern const u8 gUnknown_Debug_845DDD6[]; +extern u8 gUnknown_Debug_845DDB2[]; +extern u8 gUnknown_Debug_845DDB2End[]; +extern u8 gUnknown_Debug_845DDD6[]; extern const u8 Str_842E23C[]; //static const u8 Str_842E23C[] = _("ガイブ"); @@ -191,4 +192,136 @@ void debug_sub_813C6AC(struct Pokemon *mon, struct MailStruct *mail) } } +extern u8 gUnknown_Debug_845E443[]; +extern u8 gUnknown_Debug_845E443End[]; +extern u8 gUnknown_Debug_845E467[]; +extern u8 gUnknown_Debug_845E4CB[]; +extern const u8 Str_842E238[]; + +#ifdef NONMATCHING +size_t debug_sub_813C740(u8 * dest) +{ + struct MailStruct mail; + struct Pokemon *mon = gEnemyParty; + size_t size = gUnknown_Debug_845E443End - gUnknown_Debug_845E443; + u8 dataBuffer[11]; + + memcpy(dest, gUnknown_Debug_845E443, size); + debug_sub_813C638(mon, SPECIES_PIKACHU, 5, ITEM_NONE); + dataBuffer[0] = TRUE; + SetMonData(mon, MON_DATA_IS_EGG, dataBuffer); + dataBuffer[0] = 3; + SetMonData(mon, MON_DATA_FRIENDSHIP, dataBuffer); + dataBuffer[0] = 255; + SetMonData(mon, MON_DATA_MET_LOCATION, dataBuffer); + + StringCopyN(dataBuffer, Str_842E238, POKEMON_NAME_LENGTH); + SetMonData(mon, MON_DATA_NICKNAME, dataBuffer); + + dataBuffer[0] = LANGUAGE_JAPANESE; + SetMonData(mon, MON_DATA_LANGUAGE, dataBuffer); + + // nonmatching pointer arithmetic + memcpy(gUnknown_Debug_845E467 - gUnknown_Debug_845E443 + dest, mon, sizeof(struct Pokemon)); + + memcpy(gUnknown_Debug_845E4CB - gUnknown_Debug_845E443 + dest, &mail, sizeof(struct MailStruct)); + + return size; +} +#else +__attribute__((naked)) size_t debug_sub_813C740(u8 * dest) +{ + asm("\tpush\t{r4, r5, r6, lr}\n" + "\tmov\tr6, sl\n" + "\tmov\tr5, r9\n" + "\tmov\tr4, r8\n" + "\tpush\t{r4, r5, r6}\n" + "\tadd\tsp, sp, #0xffffffd0\n" + "\tadd\tr6, r0, #0\n" + "\tldr\tr0, ._29 @ gUnknown_Debug_845E443\n" + "\tmov\tr8, r0\n" + "\tldr\tr1, ._29 + 4 @ gUnknown_Debug_845E4EF\n" + "\tldr\tr5, ._29 + 8 @ gEnemyParty\n" + "\tsub\tr1, r1, r0\n" + "\tmov\tr9, r1\n" + "\tadd\tr0, r6, #0\n" + "\tmov\tr1, r8\n" + "\tmov\tr2, r9\n" + "\tbl\tmemcpy\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x19\n" + "\tmov\tr2, #0x5\n" + "\tmov\tr3, #0x0\n" + "\tbl\tdebug_sub_813C638\n" + "\tadd\tr4, sp, #0x24\n" + "\tmov\tr0, #0x1\n" + "\tmov\tsl, r0\n" + "\tmov\tr1, sl\n" + "\tstrb\tr1, [r4]\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x2d\n" + "\tadd\tr2, r4, #0\n" + "\tbl\tSetMonData\n" + "\tmov\tr0, #0x3\n" + "\tstrb\tr0, [r4]\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x20\n" + "\tadd\tr2, r4, #0\n" + "\tbl\tSetMonData\n" + "\tmov\tr0, #0xff\n" + "\tstrb\tr0, [r4]\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x23\n" + "\tadd\tr2, r4, #0\n" + "\tbl\tSetMonData\n" + "\tldr\tr1, ._29 + 12 @ Str_842E238\n" + "\tadd\tr0, r4, #0\n" + "\tmov\tr2, #0xb\n" + "\tbl\tStringCopyN\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x2\n" + "\tadd\tr2, r4, #0\n" + "\tbl\tSetMonData\n" + "\tmov\tr0, sl\n" + "\tstrb\tr0, [r4]\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x3\n" + "\tadd\tr2, r4, #0\n" + "\tbl\tSetMonData\n" + "\tldr\tr0, ._29 + 16 @ gUnknown_Debug_845E467\n" + "\tadd\tr0, r6, r0\n" + "\tmov\tr1, r8\n" + "\tsub\tr0, r0, r1\n" + "\tadd\tr1, r5, #0\n" + "\tmov\tr2, #0x64\n" + "\tbl\tmemcpy\n" + "\tldr\tr0, ._29 + 20 @ gUnknown_Debug_845E4CB\n" + "\tadd\tr6, r6, r0\n" + "\tmov\tr0, r8\n" + "\tsub\tr6, r6, r0\n" + "\tadd\tr0, r6, #0\n" + "\tmov\tr1, sp\n" + "\tmov\tr2, #0x24\n" + "\tbl\tmemcpy\n" + "\tmov\tr0, r9\n" + "\tadd\tsp, sp, #0x30\n" + "\tpop\t{r3, r4, r5}\n" + "\tmov\tr8, r3\n" + "\tmov\tr9, r4\n" + "\tmov\tsl, r5\n" + "\tpop\t{r4, r5, r6}\n" + "\tpop\t{r1}\n" + "\tbx\tr1\n" + "._30:\n" + "\t.align\t2, 0\n" + "._29:\n" + "\t.word\tgUnknown_Debug_845E443\n" + "\t.word\tgUnknown_Debug_845E4EF\n" + "\t.word\tgEnemyParty\n" + "\t.word\tStr_842E238\n" + "\t.word\tgUnknown_Debug_845E467\n" + "\t.word\tgUnknown_Debug_845E4CB"); +} +#endif + #endif // DEBUG -- cgit v1.2.3 From 28565a3fe307d906cceb562c1ffe526f3d94cfc8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 13:20:26 -0400 Subject: I struggle to hold back my words about debug_sub_813C810 --- src/debug/unk_debug_menu_3.c | 81 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 50c9cb5cb..7b9d2bbaa 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -322,6 +322,85 @@ __attribute__((naked)) size_t debug_sub_813C740(u8 * dest) "\t.word\tgUnknown_Debug_845E467\n" "\t.word\tgUnknown_Debug_845E4CB"); } -#endif +#endif // NONMATCHING + +#ifdef NONMATCHING +// same reason as before +size_t debug_sub_813C810(u8 * dest) +{ + struct MailStruct mail; + size_t size = gUnknown_Debug_845E443End - gUnknown_Debug_845E443; + struct Pokemon *mon = gEnemyParty; + + memcpy(dest, gUnknown_Debug_845E443, size); + debug_sub_813C638(mon, SPECIES_UNOWN, 5, ITEM_NONE); + debug_sub_813C6AC(mon, &mail); + + // nonmatching pointer arithmetic + memcpy(gUnknown_Debug_845E467 - gUnknown_Debug_845E443 + dest, mon, sizeof(struct Pokemon)); + + memcpy(gUnknown_Debug_845E4CB - gUnknown_Debug_845E443 + dest, &mail, sizeof(struct MailStruct)); + + unref_sub_812620C(dest, gUnknown_Debug_845E443); + + return size; +} +#else +__attribute__((naked)) size_t debug_sub_813C810(u8 * dest) +{ + asm("\tpush\t{r4, r5, r6, lr}\n" + "\tmov\tr6, r8\n" + "\tpush\t{r6}\n" + "\tadd\tsp, sp, #0xffffffdc\n" + "\tadd\tr6, r0, #0\n" + "\tldr\tr5, ._31 @ gUnknown_Debug_845E443\n" + "\tldr\tr0, ._31 + 4 @ gUnknown_Debug_845E4EF\n" + "\tldr\tr4, ._31 + 8 @ gEnemyParty\n" + "\tsub\tr0, r0, r5\n" + "\tmov\tr8, r0\n" + "\tadd\tr0, r6, #0\n" + "\tadd\tr1, r5, #0\n" + "\tmov\tr2, r8\n" + "\tbl\tmemcpy\n" + "\tadd\tr0, r4, #0\n" + "\tmov\tr1, #0xc9\n" + "\tmov\tr2, #0x15\n" + "\tmov\tr3, #0x82\n" + "\tbl\tdebug_sub_813C638\n" + "\tadd\tr0, r4, #0\n" + "\tmov\tr1, sp\n" + "\tbl\tdebug_sub_813C6AC\n" + "\tldr\tr0, ._31 + 12 @ gUnknown_Debug_845E467\n" + "\tadd\tr0, r6, r0\n" + "\tsub\tr0, r0, r5\n" + "\tadd\tr1, r4, #0\n" + "\tmov\tr2, #0x64\n" + "\tbl\tmemcpy\n" + "\tldr\tr0, ._31 + 16 @ gUnknown_Debug_845E4CB\n" + "\tadd\tr0, r6, r0\n" + "\tsub\tr0, r0, r5\n" + "\tmov\tr1, sp\n" + "\tmov\tr2, #0x24\n" + "\tbl\tmemcpy\n" + "\tadd\tr0, r6, #0\n" + "\tadd\tr1, r5, #0\n" + "\tbl\tunref_sub_812620C\n" + "\tmov\tr0, r8\n" + "\tadd\tsp, sp, #0x24\n" + "\tpop\t{r3}\n" + "\tmov\tr8, r3\n" + "\tpop\t{r4, r5, r6}\n" + "\tpop\t{r1}\n" + "\tbx\tr1\n" + "._32:\n" + "\t.align\t2, 0\n" + "._31:\n" + "\t.word\tgUnknown_Debug_845E443\n" + "\t.word\tgUnknown_Debug_845E4EF\n" + "\t.word\tgEnemyParty\n" + "\t.word\tgUnknown_Debug_845E467\n" + "\t.word\tgUnknown_Debug_845E4CB"); +} +#endif // NONMATCHING #endif // DEBUG -- cgit v1.2.3 From 0d6c2a9b1b1cfc3eba7dfe51066f8520283fc28f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 13:29:59 -0400 Subject: debug_sub_813C888; and then everything matched --- src/debug/unk_debug_menu_3.c | 199 ++++++++----------------------------------- 1 file changed, 36 insertions(+), 163 deletions(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 7b9d2bbaa..6cadea1eb 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -198,15 +198,16 @@ extern u8 gUnknown_Debug_845E467[]; extern u8 gUnknown_Debug_845E4CB[]; extern const u8 Str_842E238[]; -#ifdef NONMATCHING size_t debug_sub_813C740(u8 * dest) { struct MailStruct mail; + u8 * src = gUnknown_Debug_845E443; + u8 * end = gUnknown_Debug_845E443End; struct Pokemon *mon = gEnemyParty; - size_t size = gUnknown_Debug_845E443End - gUnknown_Debug_845E443; + size_t size = end - src; u8 dataBuffer[11]; - memcpy(dest, gUnknown_Debug_845E443, size); + memcpy(dest, src, size); debug_sub_813C638(mon, SPECIES_PIKACHU, 5, ITEM_NONE); dataBuffer[0] = TRUE; SetMonData(mon, MON_DATA_IS_EGG, dataBuffer); @@ -215,192 +216,64 @@ size_t debug_sub_813C740(u8 * dest) dataBuffer[0] = 255; SetMonData(mon, MON_DATA_MET_LOCATION, dataBuffer); - StringCopyN(dataBuffer, Str_842E238, POKEMON_NAME_LENGTH); + StringCopyN(dataBuffer, Str_842E238, POKEMON_NAME_LENGTH + 1); SetMonData(mon, MON_DATA_NICKNAME, dataBuffer); dataBuffer[0] = LANGUAGE_JAPANESE; SetMonData(mon, MON_DATA_LANGUAGE, dataBuffer); // nonmatching pointer arithmetic - memcpy(gUnknown_Debug_845E467 - gUnknown_Debug_845E443 + dest, mon, sizeof(struct Pokemon)); + memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); - memcpy(gUnknown_Debug_845E4CB - gUnknown_Debug_845E443 + dest, &mail, sizeof(struct MailStruct)); + memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); return size; } -#else -__attribute__((naked)) size_t debug_sub_813C740(u8 * dest) -{ - asm("\tpush\t{r4, r5, r6, lr}\n" - "\tmov\tr6, sl\n" - "\tmov\tr5, r9\n" - "\tmov\tr4, r8\n" - "\tpush\t{r4, r5, r6}\n" - "\tadd\tsp, sp, #0xffffffd0\n" - "\tadd\tr6, r0, #0\n" - "\tldr\tr0, ._29 @ gUnknown_Debug_845E443\n" - "\tmov\tr8, r0\n" - "\tldr\tr1, ._29 + 4 @ gUnknown_Debug_845E4EF\n" - "\tldr\tr5, ._29 + 8 @ gEnemyParty\n" - "\tsub\tr1, r1, r0\n" - "\tmov\tr9, r1\n" - "\tadd\tr0, r6, #0\n" - "\tmov\tr1, r8\n" - "\tmov\tr2, r9\n" - "\tbl\tmemcpy\n" - "\tadd\tr0, r5, #0\n" - "\tmov\tr1, #0x19\n" - "\tmov\tr2, #0x5\n" - "\tmov\tr3, #0x0\n" - "\tbl\tdebug_sub_813C638\n" - "\tadd\tr4, sp, #0x24\n" - "\tmov\tr0, #0x1\n" - "\tmov\tsl, r0\n" - "\tmov\tr1, sl\n" - "\tstrb\tr1, [r4]\n" - "\tadd\tr0, r5, #0\n" - "\tmov\tr1, #0x2d\n" - "\tadd\tr2, r4, #0\n" - "\tbl\tSetMonData\n" - "\tmov\tr0, #0x3\n" - "\tstrb\tr0, [r4]\n" - "\tadd\tr0, r5, #0\n" - "\tmov\tr1, #0x20\n" - "\tadd\tr2, r4, #0\n" - "\tbl\tSetMonData\n" - "\tmov\tr0, #0xff\n" - "\tstrb\tr0, [r4]\n" - "\tadd\tr0, r5, #0\n" - "\tmov\tr1, #0x23\n" - "\tadd\tr2, r4, #0\n" - "\tbl\tSetMonData\n" - "\tldr\tr1, ._29 + 12 @ Str_842E238\n" - "\tadd\tr0, r4, #0\n" - "\tmov\tr2, #0xb\n" - "\tbl\tStringCopyN\n" - "\tadd\tr0, r5, #0\n" - "\tmov\tr1, #0x2\n" - "\tadd\tr2, r4, #0\n" - "\tbl\tSetMonData\n" - "\tmov\tr0, sl\n" - "\tstrb\tr0, [r4]\n" - "\tadd\tr0, r5, #0\n" - "\tmov\tr1, #0x3\n" - "\tadd\tr2, r4, #0\n" - "\tbl\tSetMonData\n" - "\tldr\tr0, ._29 + 16 @ gUnknown_Debug_845E467\n" - "\tadd\tr0, r6, r0\n" - "\tmov\tr1, r8\n" - "\tsub\tr0, r0, r1\n" - "\tadd\tr1, r5, #0\n" - "\tmov\tr2, #0x64\n" - "\tbl\tmemcpy\n" - "\tldr\tr0, ._29 + 20 @ gUnknown_Debug_845E4CB\n" - "\tadd\tr6, r6, r0\n" - "\tmov\tr0, r8\n" - "\tsub\tr6, r6, r0\n" - "\tadd\tr0, r6, #0\n" - "\tmov\tr1, sp\n" - "\tmov\tr2, #0x24\n" - "\tbl\tmemcpy\n" - "\tmov\tr0, r9\n" - "\tadd\tsp, sp, #0x30\n" - "\tpop\t{r3, r4, r5}\n" - "\tmov\tr8, r3\n" - "\tmov\tr9, r4\n" - "\tmov\tsl, r5\n" - "\tpop\t{r4, r5, r6}\n" - "\tpop\t{r1}\n" - "\tbx\tr1\n" - "._30:\n" - "\t.align\t2, 0\n" - "._29:\n" - "\t.word\tgUnknown_Debug_845E443\n" - "\t.word\tgUnknown_Debug_845E4EF\n" - "\t.word\tgEnemyParty\n" - "\t.word\tStr_842E238\n" - "\t.word\tgUnknown_Debug_845E467\n" - "\t.word\tgUnknown_Debug_845E4CB"); -} -#endif // NONMATCHING -#ifdef NONMATCHING // same reason as before size_t debug_sub_813C810(u8 * dest) { struct MailStruct mail; - size_t size = gUnknown_Debug_845E443End - gUnknown_Debug_845E443; + u8 * src = gUnknown_Debug_845E443; + u8 * end = gUnknown_Debug_845E443End; struct Pokemon *mon = gEnemyParty; + size_t size = end - src; - memcpy(dest, gUnknown_Debug_845E443, size); - debug_sub_813C638(mon, SPECIES_UNOWN, 5, ITEM_NONE); + memcpy(dest, src, size); + debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL); debug_sub_813C6AC(mon, &mail); // nonmatching pointer arithmetic - memcpy(gUnknown_Debug_845E467 - gUnknown_Debug_845E443 + dest, mon, sizeof(struct Pokemon)); + memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); - memcpy(gUnknown_Debug_845E4CB - gUnknown_Debug_845E443 + dest, &mail, sizeof(struct MailStruct)); + memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); - unref_sub_812620C(dest, gUnknown_Debug_845E443); + unref_sub_812620C(dest, src); return size; } -#else -__attribute__((naked)) size_t debug_sub_813C810(u8 * dest) + +size_t debug_sub_813C888(u8 * dest) { - asm("\tpush\t{r4, r5, r6, lr}\n" - "\tmov\tr6, r8\n" - "\tpush\t{r6}\n" - "\tadd\tsp, sp, #0xffffffdc\n" - "\tadd\tr6, r0, #0\n" - "\tldr\tr5, ._31 @ gUnknown_Debug_845E443\n" - "\tldr\tr0, ._31 + 4 @ gUnknown_Debug_845E4EF\n" - "\tldr\tr4, ._31 + 8 @ gEnemyParty\n" - "\tsub\tr0, r0, r5\n" - "\tmov\tr8, r0\n" - "\tadd\tr0, r6, #0\n" - "\tadd\tr1, r5, #0\n" - "\tmov\tr2, r8\n" - "\tbl\tmemcpy\n" - "\tadd\tr0, r4, #0\n" - "\tmov\tr1, #0xc9\n" - "\tmov\tr2, #0x15\n" - "\tmov\tr3, #0x82\n" - "\tbl\tdebug_sub_813C638\n" - "\tadd\tr0, r4, #0\n" - "\tmov\tr1, sp\n" - "\tbl\tdebug_sub_813C6AC\n" - "\tldr\tr0, ._31 + 12 @ gUnknown_Debug_845E467\n" - "\tadd\tr0, r6, r0\n" - "\tsub\tr0, r0, r5\n" - "\tadd\tr1, r4, #0\n" - "\tmov\tr2, #0x64\n" - "\tbl\tmemcpy\n" - "\tldr\tr0, ._31 + 16 @ gUnknown_Debug_845E4CB\n" - "\tadd\tr0, r6, r0\n" - "\tsub\tr0, r0, r5\n" - "\tmov\tr1, sp\n" - "\tmov\tr2, #0x24\n" - "\tbl\tmemcpy\n" - "\tadd\tr0, r6, #0\n" - "\tadd\tr1, r5, #0\n" - "\tbl\tunref_sub_812620C\n" - "\tmov\tr0, r8\n" - "\tadd\tsp, sp, #0x24\n" - "\tpop\t{r3}\n" - "\tmov\tr8, r3\n" - "\tpop\t{r4, r5, r6}\n" - "\tpop\t{r1}\n" - "\tbx\tr1\n" - "._32:\n" - "\t.align\t2, 0\n" - "._31:\n" - "\t.word\tgUnknown_Debug_845E443\n" - "\t.word\tgUnknown_Debug_845E4EF\n" - "\t.word\tgEnemyParty\n" - "\t.word\tgUnknown_Debug_845E467\n" - "\t.word\tgUnknown_Debug_845E4CB"); + struct MailStruct mail; + u8 * src = gUnknown_Debug_845E443; + u8 * end = gUnknown_Debug_845E443End; + struct Pokemon *mon = gEnemyParty; + size_t size = end - src; + + memcpy(dest, src, size); + debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL); + debug_sub_813C6AC(mon, &mail); + mon->box.checksum = 0; + + // nonmatching pointer arithmetic + memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); + + memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); + + unref_sub_812620C(dest, src); + + return size; } -#endif // NONMATCHING #endif // DEBUG -- cgit v1.2.3 From eaaa093ccaca498e79a0630941cfba0f31fbd9fb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 13:39:52 -0400 Subject: finish decompiling unk_debug_menu_3 code --- src/debug/unk_debug_menu_3.c | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 6cadea1eb..373c01f5b 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -4,6 +4,8 @@ #include "constants/items.h" #include "string_util.h" #include "new_game.h" +#include "load_save.h" +#include "start_menu.h" #include "mystery_event_script.h" #include "berry.h" #include "mail_data.h" @@ -222,7 +224,6 @@ size_t debug_sub_813C740(u8 * dest) dataBuffer[0] = LANGUAGE_JAPANESE; SetMonData(mon, MON_DATA_LANGUAGE, dataBuffer); - // nonmatching pointer arithmetic memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); @@ -243,7 +244,6 @@ size_t debug_sub_813C810(u8 * dest) debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL); debug_sub_813C6AC(mon, &mail); - // nonmatching pointer arithmetic memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); @@ -266,7 +266,6 @@ size_t debug_sub_813C888(u8 * dest) debug_sub_813C6AC(mon, &mail); mon->box.checksum = 0; - // nonmatching pointer arithmetic memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); @@ -276,4 +275,33 @@ size_t debug_sub_813C888(u8 * dest) return size; } +void debug_sub_813C904(void) +{ + debug_sub_813C638(gPlayerParty + 0, SPECIES_CHARMELEON, 50, ITEM_QUICK_CLAW); + debug_sub_813C638(gPlayerParty + 1, SPECIES_WARTORTLE, 50, ITEM_FOCUS_BAND); + debug_sub_813C638(gPlayerParty + 2, SPECIES_IVYSAUR, 50, ITEM_LUM_BERRY); +} + +extern u8 gUnknown_Debug_845E4EF[]; +extern u8 gUnknown_Debug_845E4EFEnd[]; +extern u8 gUnknown_Debug_845E506[]; +extern const u8 Str_842E253[]; + +size_t debug_sub_813C93C(u8 * dest) +{ + u8 * src = gUnknown_Debug_845E4EF; + size_t size = gUnknown_Debug_845E4EFEnd - src; + struct BattleTowerEReaderTrainer ereaderTrainer; + + memcpy(dest, src, size); + SavePlayerParty(); + debug_sub_813C904(); + debug_sub_8075DB4(&ereaderTrainer, Str_842E253 + 5, 9999); + LoadPlayerParty(); + + memcpy(gUnknown_Debug_845E506 - src + dest, &ereaderTrainer, sizeof(ereaderTrainer)); + + return size; +} + #endif // DEBUG -- cgit v1.2.3 From b8aa92332113127b908973d681c287b32e538a15 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 13:50:24 -0400 Subject: Decompile rodata --- src/debug/unk_debug_menu_3.c | 73 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 373c01f5b..f9ae9b4b5 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -10,6 +10,8 @@ #include "berry.h" #include "mail_data.h" +const u8 Str_842E238[] = _("タマゴ"); + #if DEBUG extern u8 gUnknown_Debug_845DAE1[]; @@ -129,7 +131,7 @@ extern u8 gUnknown_Debug_845DDB2[]; extern u8 gUnknown_Debug_845DDB2End[]; extern u8 gUnknown_Debug_845DDD6[]; -extern const u8 Str_842E23C[]; //static const u8 Str_842E23C[] = _("ガイブ"); +const u8 Str_842E23C[] = _("ガイブ"); size_t debug_sub_813C5B4(u8 * dest) { @@ -154,8 +156,8 @@ size_t debug_sub_813C5B4(u8 * dest) return size; } -extern const u8 Str_842E240[]; -extern const u8 Str_842E248[]; +const u8 Str_842E240[] = _("ENGLISH"); +const u8 Str_842E248[] = _("TOURNAMENT"); void debug_sub_813C638(struct Pokemon * mon, u16 species, u8 level, u16 itemId) { @@ -198,7 +200,6 @@ extern u8 gUnknown_Debug_845E443[]; extern u8 gUnknown_Debug_845E443End[]; extern u8 gUnknown_Debug_845E467[]; extern u8 gUnknown_Debug_845E4CB[]; -extern const u8 Str_842E238[]; size_t debug_sub_813C740(u8 * dest) { @@ -231,7 +232,6 @@ size_t debug_sub_813C740(u8 * dest) return size; } -// same reason as before size_t debug_sub_813C810(u8 * dest) { struct MailStruct mail; @@ -285,7 +285,8 @@ void debug_sub_813C904(void) extern u8 gUnknown_Debug_845E4EF[]; extern u8 gUnknown_Debug_845E4EFEnd[]; extern u8 gUnknown_Debug_845E506[]; -extern const u8 Str_842E253[]; + +const u8 Str_842E253[] = _(" そら  カードイー"); size_t debug_sub_813C93C(u8 * dest) { @@ -304,4 +305,64 @@ size_t debug_sub_813C93C(u8 * dest) return size; } +const u8 Str_842E25E[] = _("ポケコッコ"); +const u8 Str_842E264[] = _("ticket"); +const u8 Str_842E26B[] = _("{PKMN}"); +const u8 Str_842E26E[] = _("wrong {PKMN}"); +const u8 Str_842E277[] = _("ribbon"); +const u8 Str_842E27E[] = _("DEX"); +const u8 Str_842E282[] = _("message"); +const u8 Str_842E28A[] = _("egg"); +const u8 Str_842E28E[] = _("RAM seed"); +const u8 Str_842E297[] = _("trainer"); +const u8 Str_842E29F[] = _("clock"); +const u8 Str_842E2A5[] = _("item"); +const u8 Str_842E2AA[] = _("goods"); +const u8 Str_842E2B0[] = _("potion"); +const u8 Str_842E2B7[] = _("ball"); +const u8 Str_842E2BC[] = _("cheri berry"); +const u8 Str_842E2C8[] = _("TM01"); + +const struct { + const u8 * name; + size_t (*func)(u8 * dest); +} gUnknown_Debug_842E2D0[] = { + {Str_842E264, debug_sub_813C404}, + {Str_842E26B, debug_sub_813C810}, + {Str_842E26E, debug_sub_813C888}, + {Str_842E277, debug_sub_813C430}, + {Str_842E27E, debug_sub_813C488}, + {Str_842E282, debug_sub_813C45C}, + {Str_842E28A, debug_sub_813C740}, + {Str_842E28E, debug_sub_813C5B4}, + {Str_842E297, debug_sub_813C93C}, + {Str_842E29F, debug_sub_813C4B4}, + {Str_842E2A5, debug_sub_813C4D4}, + {Str_842E2AA, debug_sub_813C500}, + {Str_842E2B0, debug_sub_813C580}, + {Str_842E2B7, debug_sub_813C58C}, + {Str_842E2BC, debug_sub_813C598}, + {Str_842E2C8, debug_sub_813C5A4} +}; + +extern u8 gUnknown_Debug_845E306[]; + +const struct { + u8 unk0; + u8 *scripts[10]; +} gUnknown_Debug_842E350 = { + 0x10, { + gUnknown_Debug_845DAE1, + gUnknown_Debug_845DDB2, + gUnknown_Debug_845E306, + gUnknown_Debug_845E3E0, + gUnknown_Debug_845E3E0, + gUnknown_Debug_845E402, + gUnknown_Debug_845E402, + gUnknown_Debug_845E422, + gUnknown_Debug_845E422, + gUnknown_Debug_845E443 + } +}; + #endif // DEBUG -- cgit v1.2.3 From 030ce70f350ec85e22c067659cd05d521a779ce2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 14:35:13 -0400 Subject: Correct some data misclassification and link relevant objects to mystery_event_menu --- src/debug/unk_debug_menu_3.c | 34 ++++++++++++++-------------------- src/mystery_event_menu.c | 3 +-- 2 files changed, 15 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index f9ae9b4b5..138b99104 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -323,10 +323,7 @@ const u8 Str_842E2B7[] = _("ball"); const u8 Str_842E2BC[] = _("cheri berry"); const u8 Str_842E2C8[] = _("TM01"); -const struct { - const u8 * name; - size_t (*func)(u8 * dest); -} gUnknown_Debug_842E2D0[] = { +const struct UnkDebugMenu3Items gUnknown_Debug_842E2D0[] = { {Str_842E264, debug_sub_813C404}, {Str_842E26B, debug_sub_813C810}, {Str_842E26E, debug_sub_813C888}, @@ -347,22 +344,19 @@ const struct { extern u8 gUnknown_Debug_845E306[]; -const struct { - u8 unk0; - u8 *scripts[10]; -} gUnknown_Debug_842E350 = { - 0x10, { - gUnknown_Debug_845DAE1, - gUnknown_Debug_845DDB2, - gUnknown_Debug_845E306, - gUnknown_Debug_845E3E0, - gUnknown_Debug_845E3E0, - gUnknown_Debug_845E402, - gUnknown_Debug_845E402, - gUnknown_Debug_845E422, - gUnknown_Debug_845E422, - gUnknown_Debug_845E443 - } +const u8 gUnknown_Debug_842E350 = 16; + +u8 *const gUnknown_Debug_842E354[] = { + gUnknown_Debug_845DAE1, + gUnknown_Debug_845DDB2, + gUnknown_Debug_845E306, + gUnknown_Debug_845E3E0, + gUnknown_Debug_845E3E0, + gUnknown_Debug_845E402, + gUnknown_Debug_845E402, + gUnknown_Debug_845E422, + gUnknown_Debug_845E422, + gUnknown_Debug_845E443 }; #endif // DEBUG diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 56801ff53..1ea177f2e 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -15,6 +15,7 @@ #include "text.h" #include "title_screen.h" #include "ewram.h" +#include "debug.h" static EWRAM_DATA u8 gUnknown_02039338 = 0; @@ -347,8 +348,6 @@ static const u8 Str_843DA84[] = _("LR: select A: send。"); static const u8 Str_843DA98[] = _("sending。。。"); static const u8 Str_843DAA3[] = _("completed。"); -extern const struct {const u8 *text; void (*func)();} gUnknown_Debug_842E2D0[]; -extern const u8 gUnknown_Debug_842E350; void debug_sub_815D1D8(); -- cgit v1.2.3 From 2c18a6395c59d134d47b8e43407cbffd2f3c6a0e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 14:45:00 -0400 Subject: Fix nonmatching --- src/save.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/save.c b/src/save.c index 0b7a3dd79..0df83200a 100644 --- a/src/save.c +++ b/src/save.c @@ -927,3 +927,6 @@ u8 unref_sub_8126080(u8 sector, u8 *data) ReadFlash(sector, 0, data, sizeof(struct SaveSector)); return 1; } + +asm(".section .rodata\n" + "\t.align 2"); -- cgit v1.2.3 From e145153bd895365652dac6cfffc38e383acd10cc Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 19:13:12 -0400 Subject: Actually decompile start_menu_debug through DebugMenu_8076EF4 --- src/debug/start_menu_debug.c | 241 ++++++++++--------------------------------- src/menu.c | 4 +- 2 files changed, 58 insertions(+), 187 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 340ef2f17..9c88b30b9 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -485,201 +485,72 @@ void DebugMenu_8076D6C(u8 taskId) } } -__attribute__((naked)) -u8 DebugMenu_8076E18() +u8 DebugMenu_8076E18(void) { - asm( - " push {lr}\n" - " bl debug_sub_8076B4C\n" - " ldr r0, ._67 @ DebugMenu_8076D6C\n" - " mov r1, #0xa\n" - " bl CreateTask\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._68:\n" - " .align 2, 0\n" - "._67:\n" - " .word DebugMenu_8076D6C+1\n" - "\n" - ); + debug_sub_8076B4C(); + CreateTask(DebugMenu_8076D6C, 10); + return 0; } -__attribute__((naked)) -void DebugMenu_8076E30() +void DebugMenu_8076E30(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " lsl r0, r3, #0x2\n" - " add r0, r0, r3\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._73 @ gTasks\n" - " add r4, r0, r1\n" - " mov r0, #0x0\n" - " ldsh r1, [r4, r0]\n" - " cmp r1, #0x1\n" - " beq ._69 @cond_branch\n" - " cmp r1, #0x1\n" - " bgt ._70 @cond_branch\n" - " cmp r1, #0\n" - " beq ._71 @cond_branch\n" - " b ._86\n" - "._74:\n" - " .align 2, 0\n" - "._73:\n" - " .word gTasks+0x8\n" - "._70:\n" - " cmp r1, #0x2\n" - " beq ._75 @cond_branch\n" - " b ._86\n" - "._71:\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._78 @ Str_839BD5A\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " b ._77\n" - "._79:\n" - " .align 2, 0\n" - "._78:\n" - " .word Str_839BD5A\n" - "._69:\n" - " ldr r0, ._82 @ gMain\n" - " ldrh r2, [r0, #0x2e]\n" - " and r1, r1, r2\n" - " cmp r1, #0\n" - " beq ._80 @cond_branch\n" - " bl Menu_DisplayDialogueFrame\n" - " bl sub_813B79C\n" - " ldr r0, ._82 + 4 @ Str_839BD7D\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r0, #0x49\n" - " bl PlaySE\n" - "._77:\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4]\n" - " b ._86\n" - "._83:\n" - " .align 2, 0\n" - "._82:\n" - " .word gMain\n" - " .word Str_839BD7D\n" - "._80:\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._86 @cond_branch\n" - " add r0, r3, #0\n" - " bl DestroyTask\n" - " bl DoSoftReset\n" - " b ._86\n" - "._75:\n" - " ldr r0, ._87 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._86 @cond_branch\n" - " add r0, r3, #0\n" - " bl DestroyTask\n" - " bl DoSoftReset\n" - "._86:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._88:\n" - " .align 2, 0\n" - "._87:\n" - " .word gMain\n" - "\n" - ); + s16 * data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_839BD5A, 2, 15); + data[0]++; + break; + case 1: + if (gMain.newKeys & A_BUTTON) + { + Menu_DisplayDialogueFrame(); + sub_813B79C(); + Menu_PrintText(Str_839BD7D, 2, 15); + PlaySE(SE_PINPON); + data[0]++; + } + else if (gMain.newKeys & B_BUTTON) + { + DestroyTask(taskId); + DoSoftReset(); // noreturn + } + break; + case 2: + if (gMain.newKeys & A_BUTTON) + { + DestroyTask(taskId); + DoSoftReset(); // noreturn + } + break; + } } -__attribute__((naked)) -u8 DebugMenu_8076EDC() +u8 DebugMenu_8076EDC(void) { - asm( - " push {lr}\n" - " bl debug_sub_8076B4C\n" - " ldr r0, ._89 @ DebugMenu_8076E30\n" - " mov r1, #0xa\n" - " bl CreateTask\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._90:\n" - " .align 2, 0\n" - "._89:\n" - " .word DebugMenu_8076E30+1\n" - "\n" - ); + debug_sub_8076B4C(); + CreateTask(DebugMenu_8076E30, 10); + return 0; } -__attribute__((naked)) -void DebugMenu_8076EF4() +extern const struct { + const u8 * text; + u32 flags; +} gUnknown_Debug_839BDC4[8]; + +void DebugMenu_8076EF4(void) { - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xb\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r4, ._93 @ gUnknown_Debug_839BDC4\n" - " mov r0, #0x2\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " add r3, r4, #0\n" - " bl Menu_PrintItems\n" - " mov r5, #0x0\n" - " add r4, r4, #0x4\n" - "._92:\n" - " lsl r0, r5, #0x3\n" - " add r0, r0, r4\n" - " ldr r1, [r0]\n" - " mov r0, #0x1\n" - " and r1, r1, r0\n" - " mov r0, #0xb6\n" - " cmp r1, #0\n" - " bne ._91 @cond_branch\n" - " mov r0, #0xb5\n" - "._91:\n" - " lsl r2, r5, #0x1\n" - " add r2, r2, #0x1\n" - " lsl r2, r2, #0x18\n" - " lsr r2, r2, #0x18\n" - " mov r1, #0xa\n" - " bl sub_8071F60\n" - " add r0, r5, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " cmp r5, #0x7\n" - " bls ._92 @cond_branch\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x9\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x8\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._94:\n" - " .align 2, 0\n" - "._93:\n" - " .word gUnknown_Debug_839BDC4\n" - "\n" - ); + u8 i; + + Menu_DrawStdWindowFrame(0, 0, 11, 17); + Menu_PrintItems(2, 1, ARRAY_COUNT(gUnknown_Debug_839BDC4), gUnknown_Debug_839BDC4); + for (i = 0; i < ARRAY_COUNT(gUnknown_Debug_839BDC4); i++) + { + sub_8071F60((gUnknown_Debug_839BDC4[i].flags & 1) == MALE ? CHAR_MALE : CHAR_FEMALE, 10, 2 * i + 1); + } + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_839BDC4), 0, 9); } __attribute__((naked)) diff --git a/src/menu.c b/src/menu.c index 86e20d0eb..677a0e4bd 100644 --- a/src/menu.c +++ b/src/menu.c @@ -581,12 +581,12 @@ u8 Menu_GetColumnXCoord(u8 column) return gMenu.columnXCoords[column]; } -void Menu_PrintItems(u8 left, u8 top, u8 menuItemCount, const struct MenuAction menuItems[]) +void Menu_PrintItems(u8 left, u8 top, u8 menuItemCount, const void * menuItems) { u8 i; for (i = 0; i < menuItemCount; i++) - Menu_PrintText(menuItems[i].text, left, top + 2 * i); + Menu_PrintText(((const struct MenuAction *)menuItems)[i].text, left, top + 2 * i); } void Menu_PrintItemsReordered(u8 left, u8 top, u8 menuItemCount, const struct MenuAction2 menuItems[], const u8 *order) -- cgit v1.2.3 From 0db42079be4911ab63aab0396cf1429db089cd55 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 19:36:19 -0400 Subject: start_menu_debug thru DebugMenu_807709C --- src/debug/start_menu_debug.c | 398 +++++++++++-------------------------------- 1 file changed, 96 insertions(+), 302 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 9c88b30b9..57f203b28 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -16,12 +16,21 @@ #include "task.h" #include "text.h" #include "trade.h" +#include "start_menu.h" +#include "string_util.h" +#include "new_game.h" +#include "script.h" // berry_blender.c extern void unref_sub_80524BC(void); void debug_sub_8076BB4(u8); void debug_sub_8077CF4(); +u8 DebugMenu_807706C(void); +u8 DebugMenu_807709C(void); +void DebugMenu_807719C(void); +void DebugMenu_80771EC(void); +void DebugMenu_8077238(void); u8 DebugMenu_Exit(void); u8 DebugMenu_OpenWatanabe(void); @@ -553,329 +562,114 @@ void DebugMenu_8076EF4(void) InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_839BDC4), 0, 9); } -__attribute__((naked)) -void DebugMenu_8076F60() +void DebugMenu_8076F60(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " bl Menu_ProcessInput\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r2, r0, #0x18\n" - " lsl r4, r4, #0x18\n" - " asr r4, r4, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._97 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r4, r0\n" - " bne ._96 @cond_branch\n" - " bl Menu_EraseScreen\n" - " bl debug_sub_8076B68\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - " b ._97\n" - "._96:\n" - " ldr r3, ._100 @ gUnknown_Debug_839BDC4\n" - " lsl r2, r2, #0x18\n" - " asr r2, r2, #0x15\n" - " add r0, r3, #4\n" - " add r0, r2, r0\n" - " ldrb r4, [r0]\n" - " ldr r0, ._100 + 4 @ gSaveBlock2\n" - " mov r1, #0x1\n" - " and r1, r1, r4\n" - " strb r1, [r0, #0x8]\n" - " add r2, r2, r3\n" - " ldr r1, [r2]\n" - " bl StringCopy\n" - " mov r0, #0x80\n" - " and r4, r4, r0\n" - " cmp r4, #0\n" - " bne ._98 @cond_branch\n" - " mov r0, #0x0\n" - " bl debug_sub_8057508\n" - " b ._99\n" - "._101:\n" - " .align 2, 0\n" - "._100:\n" - " .word gUnknown_Debug_839BDC4\n" - " .word gSaveBlock2\n" - "._98:\n" - " mov r0, #0x1\n" - " bl debug_sub_8057508\n" - "._99:\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - " ldr r0, ._102 @ debug_sub_8058C00\n" - " bl SetMainCallback2\n" - "._97:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._103:\n" - " .align 2, 0\n" - "._102:\n" - " .word debug_sub_8058C00+1\n" - "\n" - ); + s8 input = Menu_ProcessInput(); + s8 cursorPos = Menu_GetCursorPos(); + + switch (input) + { + case -2: + break; + case -1: + Menu_EraseScreen(); + debug_sub_8076B68(); + DestroyTask(taskId); + break; + default: + { + u8 flags = gUnknown_Debug_839BDC4[cursorPos].flags; + gSaveBlock2.playerGender = flags & 1; + StringCopy(gSaveBlock2.playerName, gUnknown_Debug_839BDC4[cursorPos].text); + if ((flags & 0x80) == 0) + debug_sub_8057508(FALSE); + else + debug_sub_8057508(TRUE); + DestroyTask(taskId); + SetMainCallback2(debug_sub_8058C00); + break; + } + } } -__attribute__((naked)) -void DebugMenu_8076FEC() +void DebugMenu_8076FEC(void) { - asm( - " push {lr}\n" - " bl DebugMenu_8076EF4\n" - " ldr r0, ._104 @ DebugMenu_8076F60\n" - " mov r1, #0xa\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._105:\n" - " .align 2, 0\n" - "._104:\n" - " .word DebugMenu_8076F60+1\n" - "\n" - ); + DebugMenu_8076EF4(); + CreateTask(DebugMenu_8076F60, 10); } -__attribute__((naked)) void DebugMenu_8077004() { - asm( - " ldr r2, ._106 @ gUnknown_030006C4\n" - " ldr r0, ._106 + 4 @ gUnknown_030006C1\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._106 + 8 @ gUnknown_Debug_839BB64\n" - " add r0, r0, r1\n" - " str r0, [r2]\n" - " bx lr\n" - "._107:\n" - " .align 2, 0\n" - "._106:\n" - " .word gUnknown_030006C4 \n" - " .word gUnknown_030006C1 \n" - " .word gUnknown_Debug_839BB64\n" - "\n" - ); + gUnknown_030006C4 = gUnknown_Debug_839BB64 + gUnknown_030006C1 * 8; } -__attribute__((naked)) -void DebugMenu_8077020() +void DebugMenu_8077020(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._109 @ gMenuCallback\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._108 @cond_branch\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - "._108:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._110:\n" - " .align 2, 0\n" - "._109:\n" - " .word gMenuCallback\n" - "\n" - ); + if (gMenuCallback() == TRUE) + DestroyTask(taskId); } -__attribute__((naked)) void DebugMenu_8077048() { - asm( - " push {lr}\n" - " ldr r0, ._111 @ gMenuCallback\n" - " ldr r1, ._111 + 4 @ DebugMenu_807706C\n" - " str r1, [r0]\n" - " bl ScriptContext2_Enable\n" - " ldr r0, ._111 + 8 @ DebugMenu_8077020\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " pop {r0}\n" - " bx r0\n" - "._112:\n" - " .align 2, 0\n" - "._111:\n" - " .word gMenuCallback\n" - " .word DebugMenu_807706C+1\n" - " .word DebugMenu_8077020+1\n" - "\n" - ); + gMenuCallback = DebugMenu_807706C; + ScriptContext2_Enable(); + CreateTask(DebugMenu_8077020, 80); } -__attribute__((naked)) -void DebugMenu_807706C() +u8 DebugMenu_807706C(void) { - asm( - " push {lr}\n" - " ldr r0, ._113 @ gWindowTemplate_81E6CE4\n" - " bl InitMenuWindow\n" - " bl DebugMenu_8077004\n" - " bl DebugMenu_807719C\n" - " bl DebugMenu_80771EC\n" - " bl DebugMenu_8077238\n" - " ldr r1, ._113 + 4 @ gMenuCallback\n" - " ldr r0, ._113 + 8 @ DebugMenu_807709C\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._114:\n" - " .align 2, 0\n" - "._113:\n" - " .word gWindowTemplate_81E6CE4\n" - " .word gMenuCallback\n" - " .word DebugMenu_807709C+1\n" - "\n" - ); + InitMenuWindow(&gWindowTemplate_81E6CE4); + DebugMenu_8077004(); + DebugMenu_807719C(); + DebugMenu_80771EC(); + DebugMenu_8077238(); + gMenuCallback = DebugMenu_807709C; + return FALSE; } -__attribute__((naked)) -void DebugMenu_807709C() +u8 DebugMenu_807709C(void) { - asm( - " push {r4, lr}\n" - " ldr r4, ._120 @ gMain\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._115 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._120 + 4 @ gUnknown_030006C0\n" - " strb r0, [r1]\n" - "._115:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._116 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._120 + 4 @ gUnknown_030006C0\n" - " strb r0, [r1]\n" - "._116:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._117 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._120 + 8 @ gUnknown_030006C1\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " bne ._118 @cond_branch\n" - " mov r0, #0x7\n" - " b ._119\n" - "._121:\n" - " .align 2, 0\n" - "._120:\n" - " .word gMain\n" - " .word gUnknown_030006C0 \n" - " .word gUnknown_030006C1 \n" - "._118:\n" - " sub r0, r0, #0x1\n" - "._119:\n" - " strb r0, [r1]\n" - " bl DebugMenu_8077004\n" - " bl DebugMenu_807719C\n" - "._117:\n" - " ldr r0, ._125 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._122 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._125 + 4 @ gUnknown_030006C1\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x7\n" - " bne ._123 @cond_branch\n" - " mov r0, #0x0\n" - " b ._124\n" - "._126:\n" - " .align 2, 0\n" - "._125:\n" - " .word gMain\n" - " .word gUnknown_030006C1 \n" - "._123:\n" - " add r0, r0, #0x1\n" - "._124:\n" - " strb r0, [r1]\n" - " bl DebugMenu_8077004\n" - " bl DebugMenu_807719C\n" - "._122:\n" - " ldr r0, ._129 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._127 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r1, ._129 + 4 @ gDebug0x839B9BC\n" - " ldr r0, ._129 + 8 @ gUnknown_030006C0\n" - " ldrb r2, [r0]\n" - " ldr r0, ._129 + 12 @ gUnknown_030006C4\n" - " ldr r0, [r0]\n" - " add r0, r0, r2\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x3\n" - " add r1, r1, #0x4\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " bl _call_via_r0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " b ._132\n" - "._130:\n" - " .align 2, 0\n" - "._129:\n" - " .word gMain\n" - " .word gDebug0x839B9BC\n" - " .word gUnknown_030006C0 \n" - " .word gUnknown_030006C4 \n" - "._127:\n" - " mov r0, #0xa\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._131 @cond_branch\n" - " mov r0, #0x0\n" - " b ._132\n" - "._131:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._132:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + gUnknown_030006C0 = Menu_MoveCursor(-1); + } + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + gUnknown_030006C0 = Menu_MoveCursor(+1); + } + if (gMain.newKeys & DPAD_LEFT) + { + PlaySE(SE_SELECT); + if (gUnknown_030006C1 == 0) + gUnknown_030006C1 = 7; + else + gUnknown_030006C1--; + DebugMenu_8077004(); + DebugMenu_807719C(); + } + if (gMain.newKeys & DPAD_RIGHT) + { + PlaySE(SE_SELECT); + if (gUnknown_030006C1 == 7) + gUnknown_030006C1 = 0; + else + gUnknown_030006C1++; + DebugMenu_8077004(); + DebugMenu_807719C(); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + return gDebug0x839B9BC[gUnknown_030006C4[gUnknown_030006C0]].func(); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + CloseMenu(); + return TRUE; + } + return FALSE; } __attribute__((naked)) -- cgit v1.2.3 From 26d0664302577a882f98fb3fcbd4cf15a99b9591 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 20:32:47 -0400 Subject: through DebugMenu_HoennNationalDex --- src/debug/start_menu_debug.c | 464 +++++++++++-------------------------------- src/menu.c | 4 +- 2 files changed, 117 insertions(+), 351 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 57f203b28..e08affd82 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -20,6 +20,10 @@ #include "string_util.h" #include "new_game.h" #include "script.h" +#include "fieldmap.h" +#include "field_player_avatar.h" +#include "credits.h" +#include "event_data.h" // berry_blender.c extern void unref_sub_80524BC(void); @@ -544,10 +548,28 @@ u8 DebugMenu_8076EDC(void) return 0; } -extern const struct { +const u8 Str_839BD90[] = _("ジュンイチ"); +const u8 Str_839BD96[] = _("ダイゴロウ"); +const u8 Str_839BD9C[] = _("テツジ"); +const u8 Str_839BDA0[] = _("バレンシア"); +const u8 Str_839BDA6[] = _("ハルコマチ"); +const u8 Str_839BDAC[] = _("RAYMOND"); +const u8 Str_839BDB4[] = _("TIFFANY"); +const u8 Str_839BDBC[] = _("くまxちえ"); + +const struct { const u8 * text; u32 flags; -} gUnknown_Debug_839BDC4[8]; +} gUnknown_Debug_839BDC4[] = { + {Str_839BD90, 0x0}, + {Str_839BD96, 0x0}, + {Str_839BDA0, 0x1}, + {Str_839BDA6, 0x1}, + {Str_839BDAC, 0x80}, + {Str_839BDB4, 0x81}, + {Str_839BD9C, 0x0}, + {Str_839BDBC, 0x1} +}; void DebugMenu_8076EF4(void) { @@ -598,7 +620,7 @@ void DebugMenu_8076FEC(void) CreateTask(DebugMenu_8076F60, 10); } -void DebugMenu_8077004() +void DebugMenu_8077004(void) { gUnknown_030006C4 = gUnknown_Debug_839BB64 + gUnknown_030006C1 * 8; } @@ -609,7 +631,7 @@ void DebugMenu_8077020(u8 taskId) DestroyTask(taskId); } -void DebugMenu_8077048() +void DebugMenu_8077048(void) { gMenuCallback = DebugMenu_807706C; ScriptContext2_Enable(); @@ -672,400 +694,130 @@ u8 DebugMenu_807709C(void) return FALSE; } -__attribute__((naked)) -void DebugMenu_807719C() +void DebugMenu_807719C(void) { - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0xe\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r3, ._133 @ gDebug0x839B9BC\n" - " ldr r0, ._133 + 4 @ gUnknown_030006C4\n" - " ldr r0, [r0]\n" - " str r0, [sp]\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " mov r2, #0x8\n" - " bl Menu_PrintItemsReordered\n" - " ldr r4, ._133 + 8 @ gUnknown_030006C0\n" - " ldrb r0, [r4]\n" - " str r0, [sp]\n" - " mov r0, #0xd\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " mov r3, #0x8\n" - " bl InitMenu\n" - " strb r0, [r4]\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._134:\n" - " .align 2, 0\n" - "._133:\n" - " .word gDebug0x839B9BC\n" - " .word gUnknown_030006C4 \n" - " .word gUnknown_030006C0 \n" - "\n" - ); + Menu_DrawStdWindowFrame(0, 0, 14, 17); + Menu_PrintItemsReordered(1, 1, 8, gDebug0x839B9BC, gUnknown_030006C4); + gUnknown_030006C0 = InitMenu(0, 1, 1, 8, gUnknown_030006C0, 13); } -__attribute__((naked)) -void DebugMenu_80771EC() +const u8 Str_839BE04[] = _("ID"); + +void DebugMenu_80771EC(void) { - asm( - " push {r4, lr}\n" - " ldr r0, ._135 @ gStringVar4\n" - " ldr r1, ._135 + 4 @ Str_839BE04\n" - " bl StringCopy\n" - " ldr r4, ._135 + 8 @ gSaveBlock1\n" - " mov r1, #0x4\n" - " ldsb r1, [r4, r1]\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r1, #0x5\n" - " ldsb r1, [r4, r1]\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, #0x13\n" - " mov r1, #0xc\n" - " mov r2, #0x1d\n" - " mov r3, #0xf\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._135 @ gStringVar4\n" - " mov r1, #0x14\n" - " mov r2, #0xd\n" - " bl Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._136:\n" - " .align 2, 0\n" - "._135:\n" - " .word gStringVar4\n" - " .word Str_839BE04\n" - " .word gSaveBlock1\n" - "\n" - ); + u8 * buf = gStringVar4; + buf = StringCopy(buf, Str_839BE04); + buf = ConvertIntToDecimalStringN(buf, gSaveBlock1.location.mapGroup, STR_CONV_MODE_RIGHT_ALIGN, 3); + buf = ConvertIntToDecimalStringN(buf, gSaveBlock1.location.mapNum, STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_DrawStdWindowFrame(19, 12, 29, 15); + Menu_PrintText(gStringVar4, 20, 13); } -__attribute__((naked)) -void DebugMenu_8077238() +void DebugMenu_8077238(void) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xffffffe8\n" - " ldr r1, ._139 @ Str_839BE07\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " bl memcpy\n" - " add r0, sp, #0x4\n" - " mov r9, r0\n" - " ldr r1, ._139 + 4 @ Str_839BE09\n" - " mov r2, #0x3\n" - " bl memcpy\n" - " add r1, sp, #0x8\n" - " mov sl, r1\n" - " ldr r1, ._139 + 8 @ Str_839BE0C\n" - " mov r0, sl\n" - " mov r2, #0x3\n" - " bl memcpy\n" - " mov r2, #0x0\n" - " str r2, [sp, #0x14]\n" - " add r4, sp, #0x10\n" - " mov r6, sp\n" - " add r6, r6, #0x12\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl PlayerGetDestCoords\n" - " mov r1, #0x0\n" - " ldsh r0, [r4, r1]\n" - " mov r2, #0x0\n" - " ldsh r1, [r6, r2]\n" - " bl MapGridGetZCoordAt\n" - " mov r8, r0\n" - " mov r0, r8\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r8, r0\n" - " ldrh r0, [r4]\n" - " sub r0, r0, #0x7\n" - " strh r0, [r4]\n" - " ldrh r0, [r6]\n" - " sub r0, r0, #0x7\n" - " strh r0, [r6]\n" - " ldr r7, ._139 + 12 @ gStringVar4\n" - " add r0, r7, #0\n" - " mov r1, sp\n" - " bl StringCopy\n" - " add r5, sp, #0xc\n" - " mov r2, #0x0\n" - " ldsh r1, [r4, r2]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " bl StringAppend\n" - " add r0, r7, #0\n" - " mov r1, r9\n" - " bl StringAppend\n" - " mov r0, #0x0\n" - " ldsh r1, [r6, r0]\n" - " add r0, r5, #0\n" - " mov r2, #0x0\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " bl StringAppend\n" - " add r0, r7, #0\n" - " mov r1, sl\n" - " bl StringAppend\n" - " add r0, r5, #0\n" - " mov r1, r8\n" - " mov r2, #0x0\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " bl StringAppend\n" - " ldrb r0, [r7]\n" - " cmp r0, #0xff\n" - " beq ._137 @cond_branch\n" - " add r1, r7, #0\n" - "._138:\n" - " ldr r0, [sp, #0x14]\n" - " add r0, r0, #0x1\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " str r0, [sp, #0x14]\n" - " add r0, r0, r1\n" - " ldrb r0, [r0]\n" - " cmp r0, #0xff\n" - " bne ._138 @cond_branch\n" - "._137:\n" - " mov r0, #0x1c\n" - " ldr r1, [sp, #0x14]\n" - " sub r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x10\n" - " mov r2, #0x1d\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._139 + 12 @ gStringVar4\n" - " mov r1, #0x1d\n" - " ldr r2, [sp, #0x14]\n" - " sub r1, r1, r2\n" - " lsl r1, r1, #0x18\n" - " lsr r1, r1, #0x18\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add sp, sp, #0x18\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._140:\n" - " .align 2, 0\n" - "._139:\n" - " .word Str_839BE07\n" - " .word Str_839BE09\n" - " .word Str_839BE0C\n" - " .word gStringVar4\n" - "\n" - ); + u8 sp00[] = _("X"); + u8 sp04[] = _(" Y"); + u8 sp08[] = _(" H"); + u8 sp0c[4]; + + s16 x; + s16 y; + u8 z; + u16 sp14 = 0; + + PlayerGetDestCoords(&x, &y); + z = MapGridGetZCoordAt(x, y); + x -= 7; + y -= 7; + + StringCopy(gStringVar4, sp00); + ConvertIntToDecimalStringN(sp0c, x, STR_CONV_MODE_LEFT_ALIGN, 3); + StringAppend(gStringVar4, sp0c); + StringAppend(gStringVar4, sp04); + ConvertIntToDecimalStringN(sp0c, y, STR_CONV_MODE_LEFT_ALIGN, 3); + StringAppend(gStringVar4, sp0c); + StringAppend(gStringVar4, sp08); + ConvertIntToDecimalStringN(sp0c, z, STR_CONV_MODE_LEFT_ALIGN, 2); + StringAppend(gStringVar4, sp0c); + + for (sp14 = 0; gStringVar4[sp14] != EOS; sp14++) + ; + + Menu_DrawStdWindowFrame(28 - sp14, 16, 29, 19); + Menu_PrintText(gStringVar4, 29 - sp14, 17); } -__attribute__((naked)) -u8 DebugMenu_Exit() +u8 DebugMenu_Exit(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_OpenSogabe() +u8 DebugMenu_OpenSogabe(void) { - asm( - " push {lr}\n" - " bl unref_sub_814A414\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return unref_sub_814A414(); } -__attribute__((naked)) u8 DebugMenu_OpenTamada() { - asm( - " push {lr}\n" - " bl debug_sub_8075C30\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return debug_sub_8075C30(); } -__attribute__((naked)) u8 DebugMenu_OpenKagaya() { - asm( - " push {lr}\n" - " bl InitKagayaDebugMenu_A\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return InitKagayaDebugMenu_A(); } -__attribute__((naked)) u8 DebugMenu_OpenMatsuda() { - asm( - " push {lr}\n" - " bl unref_sub_80A9B28\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return unref_sub_80A9B28(); } -__attribute__((naked)) u8 DebugMenu_OpenNohara() { - asm( - " push {lr}\n" - " bl InitNoharaDebugMenu\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return InitNoharaDebugMenu(); } -__attribute__((naked)) u8 DebugMenu_OpenWatanabe() { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._141 @ InitWatanabeDebugMenu\n" - " bl SetMainCallback2\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._142:\n" - " .align 2, 0\n" - "._141:\n" - " .word InitWatanabeDebugMenu+1\n" - "\n" - ); + CloseMenu(); + SetMainCallback2(InitWatanabeDebugMenu); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) u8 DebugMenu_EndSequenceDemo() { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._143 @ sub_81439D0\n" - " bl SetMainCallback2\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._144:\n" - " .align 2, 0\n" - "._143:\n" - " .word sub_81439D0+1\n" - "\n" - ); + CloseMenu(); + SetMainCallback2(sub_81439D0); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) u8 DebugMenu_HallOfFame() { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl GameClear\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + GameClear(); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) u8 DebugMenu_OpenSizeComparison() { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl InitSizeComparison\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + InitSizeComparison(); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) u8 DebugMenu_HoennNationalDex() { - asm( - " push {lr}\n" - " bl IsNationalPokedexEnabled\n" - " cmp r0, #0\n" - " beq ._145 @cond_branch\n" - " bl DisableNationalPokedex\n" - " b ._146\n" - "._145:\n" - " bl EnableNationalPokedex\n" - "._146:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (IsNationalPokedexEnabled()) + DisableNationalPokedex(); + else + EnableNationalPokedex(); + CloseMenu(); + return TRUE; } __attribute__((naked)) @@ -1186,6 +938,20 @@ u8 DebugMenu_8077434() ); } +const u8 Str_839BE0F[] = _("HP"); +const u8 Str_839BE12[] = _("PAR"); +const u8 Str_839BE16[] = _("SLP"); +const u8 Str_839BE1A[] = _("PSN"); +const u8 Str_839BE1E[] = _("ウマイ"); + +const struct MenuAction gUnknown_Debug_839BE24[] = { + {Str_839BE0F, DebugMenu_8077434}, + {Str_839BE12, DebugMenu_8077434}, + {Str_839BE16, DebugMenu_8077434}, + {Str_839BE1A, DebugMenu_8077434}, + {Str_839BE1E, DebugMenu_8077434} +}; + __attribute__((naked)) u8 DebugMenu_807750C() { diff --git a/src/menu.c b/src/menu.c index 677a0e4bd..0e615a6d2 100644 --- a/src/menu.c +++ b/src/menu.c @@ -589,12 +589,12 @@ void Menu_PrintItems(u8 left, u8 top, u8 menuItemCount, const void * menuItems) Menu_PrintText(((const struct MenuAction *)menuItems)[i].text, left, top + 2 * i); } -void Menu_PrintItemsReordered(u8 left, u8 top, u8 menuItemCount, const struct MenuAction2 menuItems[], const u8 *order) +void Menu_PrintItemsReordered(u8 left, u8 top, u8 menuItemCount, const void * menuItems, const u8 *order) { u8 i; for (i = 0; i < menuItemCount; i++) - Menu_PrintText(menuItems[order[i]].text, left, top + 2 * i); + Menu_PrintText(((const struct MenuAction *)menuItems)[order[i]].text, left, top + 2 * i); } void InitYesNoMenu(u8 left, u8 top, u8 a3) -- cgit v1.2.3 From 978bdaaa050420289374ddc23aa0017df06e4000 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 22:03:22 -0400 Subject: through DebugMenu_EditPKMN --- src/debug/start_menu_debug.c | 520 +++++++++++-------------------------------- 1 file changed, 124 insertions(+), 396 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index e08affd82..efabbe30e 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -24,6 +24,11 @@ #include "field_player_avatar.h" #include "credits.h" #include "event_data.h" +#include "berry.h" +#include "pokedex.h" +#include "mori_debug_menu.h" +#include "cable_club.h" +#include "field_fadetransition.h" // berry_blender.c extern void unref_sub_80524BC(void); @@ -35,6 +40,8 @@ u8 DebugMenu_807709C(void); void DebugMenu_807719C(void); void DebugMenu_80771EC(void); void DebugMenu_8077238(void); +u8 DebugMenu_8077D78(const struct MenuAction *menuActions); +void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 a2); u8 DebugMenu_Exit(void); u8 DebugMenu_OpenWatanabe(void); @@ -758,27 +765,27 @@ u8 DebugMenu_OpenSogabe(void) return unref_sub_814A414(); } -u8 DebugMenu_OpenTamada() +u8 DebugMenu_OpenTamada(void) { return debug_sub_8075C30(); } -u8 DebugMenu_OpenKagaya() +u8 DebugMenu_OpenKagaya(void) { return InitKagayaDebugMenu_A(); } -u8 DebugMenu_OpenMatsuda() +u8 DebugMenu_OpenMatsuda(void) { return unref_sub_80A9B28(); } -u8 DebugMenu_OpenNohara() +u8 DebugMenu_OpenNohara(void) { return InitNoharaDebugMenu(); } -u8 DebugMenu_OpenWatanabe() +u8 DebugMenu_OpenWatanabe(void) { CloseMenu(); SetMainCallback2(InitWatanabeDebugMenu); @@ -786,7 +793,7 @@ u8 DebugMenu_OpenWatanabe() return TRUE; } -u8 DebugMenu_EndSequenceDemo() +u8 DebugMenu_EndSequenceDemo(void) { CloseMenu(); SetMainCallback2(sub_81439D0); @@ -794,7 +801,7 @@ u8 DebugMenu_EndSequenceDemo() return TRUE; } -u8 DebugMenu_HallOfFame() +u8 DebugMenu_HallOfFame(void) { CloseMenu(); GameClear(); @@ -802,7 +809,7 @@ u8 DebugMenu_HallOfFame() return TRUE; } -u8 DebugMenu_OpenSizeComparison() +u8 DebugMenu_OpenSizeComparison(void) { CloseMenu(); InitSizeComparison(); @@ -810,7 +817,7 @@ u8 DebugMenu_OpenSizeComparison() return TRUE; } -u8 DebugMenu_HoennNationalDex() +u8 DebugMenu_HoennNationalDex(void) { if (IsNationalPokedexEnabled()) DisableNationalPokedex(); @@ -820,130 +827,41 @@ u8 DebugMenu_HoennNationalDex() return TRUE; } -__attribute__((naked)) -u8 DebugMenu_8077434() -{ - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x4\n" - " bhi ._165 @cond_branch\n" - " lsl r0, r0, #0x2\n" - " ldr r1, ._149 @ \n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " mov pc, r0\n" - "._150:\n" - " .align 2, 0\n" - "._149:\n" - " .word ._148\n" - "._148:\n" - " .word ._151\n" - " .word ._152\n" - " .word ._153\n" - " .word ._154\n" - " .word ._155\n" - "._151:\n" - " ldr r0, ._157 @ Str_839BE0F\n" - " mov r1, #0x1\n" - " mov r2, #0x4\n" - " bl debug_sub_80C2C18\n" - " mov r0, #0xff\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " mov r1, #0xff\n" - " mov r2, #0xff\n" - " mov r3, #0x0\n" - " bl debug_sub_80C2D24\n" - " b ._165\n" - "._158:\n" - " .align 2, 0\n" - "._157:\n" - " .word Str_839BE0F\n" - "._152:\n" - " ldr r0, ._160 @ Str_839BE12\n" - " mov r1, #0x2\n" - " mov r2, #0x0\n" - " bl debug_sub_80C2C18\n" - " mov r0, #0xff\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " mov r1, #0xff\n" - " mov r2, #0x0\n" - " b ._159\n" - "._161:\n" - " .align 2, 0\n" - "._160:\n" - " .word Str_839BE12\n" - "._153:\n" - " ldr r0, ._163 @ Str_839BE16\n" - " mov r1, #0x3\n" - " mov r2, #0x0\n" - " bl debug_sub_80C2C18\n" - " mov r0, #0xff\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " mov r1, #0x0\n" - " b ._162\n" - "._164:\n" - " .align 2, 0\n" - "._163:\n" - " .word Str_839BE16\n" - "._154:\n" - " ldr r0, ._166 @ Str_839BE1A\n" - " mov r1, #0x4\n" - " mov r2, #0x0\n" - " bl debug_sub_80C2C18\n" - " mov r0, #0xff\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0xff\n" - "._162:\n" - " mov r2, #0xff\n" - "._159:\n" - " mov r3, #0xff\n" - " bl debug_sub_80C2D24\n" - " b ._165\n" - "._167:\n" - " .align 2, 0\n" - "._166:\n" - " .word Str_839BE1A\n" - "._155:\n" - " ldr r0, ._168 @ Str_839BE1E\n" - " mov r1, #0x4\n" - " mov r2, #0x0\n" - " bl debug_sub_80C2C18\n" - " mov r0, #0xff\n" - " str r0, [sp]\n" - " str r0, [sp, #0x4]\n" - " mov r1, #0xff\n" - " mov r2, #0xff\n" - " mov r3, #0xff\n" - " bl debug_sub_80C2D24\n" - "._165:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._169:\n" - " .align 2, 0\n" - "._168:\n" - " .word Str_839BE1E\n" - "\n" - ); -} - const u8 Str_839BE0F[] = _("HP"); const u8 Str_839BE12[] = _("PAR"); const u8 Str_839BE16[] = _("SLP"); const u8 Str_839BE1A[] = _("PSN"); const u8 Str_839BE1E[] = _("ウマイ"); +u8 DebugMenu_8077434(void) +{ + switch (Menu_GetCursorPos()) + { + case 0: + debug_sub_80C2C18(Str_839BE0F, 1, 4); + debug_sub_80C2D24(0xff, 0xff, 0xff, 0, 0xff, 0xff); + break; + case 1: + debug_sub_80C2C18(Str_839BE12, 2, 0); + debug_sub_80C2D24(0xff, 0xff, 0, 0xff, 0xff, 0xff); + break; + case 2: + debug_sub_80C2C18(Str_839BE16, 3, 0); + debug_sub_80C2D24(0xff, 0, 0xff, 0xff, 0xff, 0xff); + break; + case 3: + debug_sub_80C2C18(Str_839BE1A, 4, 0); + debug_sub_80C2D24(0, 0xff, 0xff, 0xff, 0xff, 0xff); + break; + case 4: + debug_sub_80C2C18(Str_839BE1E, 4, 0); + debug_sub_80C2D24(0xff, 0xff, 0xff, 0xff, 0xff, 0xff); + break; + } + CloseMenu(); + return TRUE; +} + const struct MenuAction gUnknown_Debug_839BE24[] = { {Str_839BE0F, DebugMenu_8077434}, {Str_839BE12, DebugMenu_8077434}, @@ -952,321 +870,131 @@ const struct MenuAction gUnknown_Debug_839BE24[] = { {Str_839BE1E, DebugMenu_8077434} }; -__attribute__((naked)) -u8 DebugMenu_807750C() +u8 DebugMenu_807750C(void) { - asm( - " push {lr}\n" - " ldr r0, ._170 @ gUnknown_Debug_839BE24\n" - " bl DebugMenu_8077D78\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._171:\n" - " .align 2, 0\n" - "._170:\n" - " .word gUnknown_Debug_839BE24\n" - "\n" - ); + return DebugMenu_8077D78(gUnknown_Debug_839BE24); } -__attribute__((naked)) -u8 DebugMenu_SetRamBerry() +u8 DebugMenu_SetRamBerry(void) { - asm( - " push {lr}\n" - " ldr r0, ._172 @ gUnknown_Debug_839BE24\n" - " mov r1, #0xc\n" - " mov r2, #0x5\n" - " bl DebugMenu_8077D24\n" - " ldr r1, ._172 + 4 @ gMenuCallback\n" - " ldr r0, ._172 + 8 @ DebugMenu_807750C\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._173:\n" - " .align 2, 0\n" - "._172:\n" - " .word gUnknown_Debug_839BE24\n" - " .word gMenuCallback\n" - " .word DebugMenu_807750C+1\n" - "\n" - ); + DebugMenu_8077D24(gUnknown_Debug_839BE24, 12, 5); + gMenuCallback = DebugMenu_807750C; + return FALSE; } -__attribute__((naked)) -u8 DebugMenu_ToggleBGM() +u8 DebugMenu_ToggleBGM(void) { - asm( - " push {lr}\n" - " ldr r2, ._175 @ gDisableMusic\n" - " mov r1, #0x0\n" - " ldrb r0, [r2]\n" - " cmp r0, #0\n" - " bne ._174 @cond_branch\n" - " mov r1, #0x1\n" - "._174:\n" - " strb r1, [r2]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._176:\n" - " .align 2, 0\n" - "._175:\n" - " .word gDisableMusic\n" - "\n" - ); + gDisableMusic = gDisableMusic ? FALSE : TRUE; + CloseMenu(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_BattleForDebug() +u8 DebugMenu_BattleForDebug(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl InitBattleForDebug\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + InitBattleForDebug(); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_NationalDex() +u8 DebugMenu_NationalDex(void) { - asm( - " push {r4, r5, lr}\n" - " mov r4, #0x0\n" - " ldr r5, ._178 @ 0x181\n" - "._177:\n" - " add r4, r4, #0x1\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " bl GetSetPokedexFlag\n" - " add r0, r4, #0\n" - " mov r1, #0x3\n" - " bl GetSetPokedexFlag\n" - " cmp r4, r5\n" - " bls ._177 @cond_branch\n" - " ldr r1, ._178 + 4 @ gUnknown_03005CE8\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "._179:\n" - " .align 2, 0\n" - "._178:\n" - " .word 0x181\n" - " .word gUnknown_03005CE8\n" - "\n" - ); + u16 i; + + for (i = 0; i < 386; i++) + { + GetSetPokedexFlag(i + 1, 2); + GetSetPokedexFlag(i + 1, 3); + } + gUnknown_03005CE8 = TRUE; + CloseMenu(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_HoennDex() +u8 DebugMenu_HoennDex(void) { - asm( - " push {r4, r5, lr}\n" - " mov r5, #0x0\n" - "._180:\n" - " add r5, r5, #0x1\n" - " lsl r5, r5, #0x10\n" - " lsr r5, r5, #0x10\n" - " add r0, r5, #0\n" - " bl HoennToNationalOrder\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " bl GetSetPokedexFlag\n" - " add r0, r4, #0\n" - " mov r1, #0x3\n" - " bl GetSetPokedexFlag\n" - " cmp r5, #0xc9\n" - " bls ._180 @cond_branch\n" - " ldr r1, ._181 @ gUnknown_03005CE8\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "._182:\n" - " .align 2, 0\n" - "._181:\n" - " .word gUnknown_03005CE8\n" - "\n" - ); + u16 i; + + for (i = 0; i < 202; i++) + { + u16 nati = HoennToNationalOrder(i + 1); + GetSetPokedexFlag(nati, 2); + GetSetPokedexFlag(nati, 3); + } + gUnknown_03005CE8 = TRUE; + CloseMenu(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_CreatePKMN() +u8 DebugMenu_CreatePKMN(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl InitCreatePokemon\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + InitCreatePokemon(); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_ViewPokemonGraphics() +u8 DebugMenu_ViewPokemonGraphics(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl InitSeePokemonGraphics\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + InitSeePokemonGraphics(); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_OpenSeeTrainers() +u8 DebugMenu_OpenSeeTrainers(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl InitSeeTrainers\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + InitSeeTrainers(); + ScriptContext2_Enable(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_OpenMori() +u8 DebugMenu_OpenMori(void) { - asm( - " push {lr}\n" - " bl InitMoriDebugMenu\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return InitMoriDebugMenu(); } -__attribute__((naked)) -u8 DebugMenu_OpenTomomichi() +u8 DebugMenu_OpenTomomichi(void) { - asm( - " push {lr}\n" - " bl InitTomomichiDebugWindow\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return InitTomomichiDebugWindow(); } -__attribute__((naked)) -u8 DebugMenu_OpenAoki() +u8 DebugMenu_OpenAoki(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_OpenTaya() +u8 DebugMenu_OpenTaya(void) { - asm( - " push {lr}\n" - " bl InitTayaDebugWindow\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return InitTayaDebugWindow(); } -__attribute__((naked)) -u8 DebugMenu_OpenNakamura() +u8 DebugMenu_OpenNakamura(void) { - asm( - " push {lr}\n" - " bl InitNakamuraDebugMenu\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return InitNakamuraDebugMenu(); } -__attribute__((naked)) -u8 DebugMenu_OpenIwasawa() +u8 DebugMenu_OpenIwasawa(void) { - asm( - " push {lr}\n" - " bl debug_sub_8138CC4\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + return debug_sub_8138CC4(); } -__attribute__((naked)) -u8 DebugMenu_Teleport() +u8 DebugMenu_Teleport(void) { - asm( - " push {lr}\n" - " bl Overworld_SetWarpDestToLastHealLoc\n" - " bl sub_8080E88\n" - " bl ScriptContext2_Enable\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + Overworld_SetWarpDestToLastHealLoc(); + sub_8080E88(); + ScriptContext2_Enable(); + CloseMenu(); + return TRUE; } -__attribute__((naked)) -u8 DebugMenu_EditPKMN() +u8 DebugMenu_EditPKMN(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " bl NakaGenderTest\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + Menu_EraseScreen(); + NakaGenderTest(); + return FALSE; } __attribute__((naked)) @@ -1822,7 +1550,7 @@ void DebugMenu_8077A40() } __attribute__((naked)) -void DebugMenu_8077A60() +u8 DebugMenu_8077A60() { asm( " push {lr}\n" @@ -2310,7 +2038,7 @@ void debug_sub_8077CF4() } __attribute__((naked)) -void DebugMenu_8077D24() +void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 a2) { asm( " push {r4, r5, r6, lr}\n" @@ -2355,7 +2083,7 @@ void DebugMenu_8077D24() } __attribute__((naked)) -void DebugMenu_8077D78() +u8 DebugMenu_8077D78(const struct MenuAction *menuActions) { asm( " push {r4, r5, lr}\n" -- cgit v1.2.3 From 83bb25e7af1837d41177d84f1b03d83b42b9478c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 7 Apr 2018 22:49:37 -0400 Subject: through DebugMenu_807786C; use macro NAKED instead of __attribute__((naked)) --- src/battle/anim/dark.c | 2 +- src/battle/anim/psychic.c | 2 +- src/battle/anim/shadow_minimize.c | 2 +- src/battle/anim/unused_9.c | 2 +- src/battle/anim/water.c | 2 +- src/battle/battle_2.c | 4 +- src/battle/battle_4.c | 30 +- src/battle/battle_ai.c | 2 +- src/battle/battle_ai_switch_items.c | 2 +- src/battle/battle_anim.c | 2 +- src/battle/battle_controller_opponent.c | 4 +- src/battle/battle_controller_player.c | 2 +- src/battle/battle_interface.c | 8 +- src/battle/contest_link_80C857C.c | 2 +- src/battle_tower.c | 4 +- src/contest.c | 2 +- src/contest_effect.c | 2 +- src/contest_painting.c | 6 +- src/daycare.c | 6 +- src/de_rom_8040FE0.c | 2 +- src/debug/nakamura_debug_menu.c | 2 +- src/debug/start_menu_debug.c | 547 ++++++++++---------------------- src/debug/tomomichi_debug_menu.c | 2 +- src/decoration.c | 6 +- src/easy_chat_2.c | 2 +- src/egg_hatch.c | 2 +- src/event_object_movement.c | 2 +- src/evolution_scene.c | 6 +- src/field_effect.c | 6 +- src/field_effect_helpers.c | 4 +- src/field_fadetransition.c | 2 +- src/field_specials.c | 4 +- src/field_tasks.c | 2 +- src/item.c | 2 +- src/item_menu.c | 6 +- src/item_use.c | 2 +- src/mauville_man.c | 2 +- src/menu.c | 2 +- src/menu_cursor.c | 4 +- src/money.c | 2 +- src/option_menu.c | 2 +- src/party_menu.c | 14 +- src/pokedex.c | 6 +- src/pokemon_storage_system.c | 2 +- src/pokemon_storage_system_2.c | 2 +- src/pokemon_storage_system_4.c | 8 +- src/pokemon_summary_screen.c | 22 +- src/pokenav_before.c | 10 +- src/record_mixing.c | 2 +- src/rotating_gate.c | 2 +- src/roulette.c | 2 +- src/script_menu.c | 2 +- src/secret_base.c | 2 +- src/shop.c | 4 +- src/starter_choose.c | 2 +- src/title_screen.c | 2 +- src/trade.c | 14 +- src/trainer_card.c | 4 +- src/tv.c | 2 +- src/unk_text_8095904.c | 2 +- src/use_pokeblock.c | 2 +- src/util.c | 2 +- 62 files changed, 304 insertions(+), 501 deletions(-) (limited to 'src') diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 9a1d0842b..55d500950 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -611,7 +611,7 @@ static void sub_80E0620(u8 taskId) // } // } -__attribute__((naked)) +NAKED static void sub_80E079C(struct Task *task) { asm(".syntax unified\n\ diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 4a48d1ecf..7babb3a19 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -690,7 +690,7 @@ void sub_80DC4F4(u8 taskId) task->func = sub_80DC5F4; } #else -__attribute__((naked)) +NAKED void sub_80DC4F4(u8 taskId) { asm(".syntax unified\n\ diff --git a/src/battle/anim/shadow_minimize.c b/src/battle/anim/shadow_minimize.c index b4e18eb51..be033ae6d 100644 --- a/src/battle/anim/shadow_minimize.c +++ b/src/battle/anim/shadow_minimize.c @@ -129,7 +129,7 @@ void sub_80D0614(struct Task* task, u8 taskId) } } #else -__attribute__((naked)) +NAKED void sub_80D0614(struct Task* task, u8 taskId) { asm(".syntax unified\n\ diff --git a/src/battle/anim/unused_9.c b/src/battle/anim/unused_9.c index 6e0d0321b..8e3f0a8b7 100644 --- a/src/battle/anim/unused_9.c +++ b/src/battle/anim/unused_9.c @@ -45,7 +45,7 @@ void sub_80CFE2C(struct Sprite* sprite) } } #else -__attribute__((naked)) +NAKED void sub_80CFE2C(struct Sprite* sprite) { asm(".syntax unified\n\ diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c index 2700bfd27..a7e1883f3 100644 --- a/src/battle/anim/water.c +++ b/src/battle/anim/water.c @@ -51,7 +51,7 @@ static void sub_80D3874(struct Sprite *sprite) } } -__attribute__((naked)) +NAKED void sub_80D38BC(u8 taskId) { asm(".syntax unified\n\ diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 096bd878f..005dee32d 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -4470,7 +4470,7 @@ void sub_8012324(void) } } */ -__attribute__((naked)) +NAKED void sub_8012324(void) { asm(".syntax unified\n\ @@ -6839,7 +6839,7 @@ void HandleAction_UseItem(void) gCurrentActionFuncId = ACTION_RUN_BATTLESCRIPT; } #else -__attribute__((naked)) +NAKED void HandleAction_UseItem(void) { asm(".syntax unified\n\ diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 8f5ea7cae..6646d6bae 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -2850,7 +2850,7 @@ void SetMoveEffect(bool8 primary, u8 certainArg) } } #else -__attribute__((naked)) +NAKED void SetMoveEffect(bool8 primary, u8 certainArg) { asm(".syntax unified\n\ @@ -5694,7 +5694,7 @@ static void atk24(void) } #else -__attribute__((naked)) +NAKED static void atk24(void) { asm(".syntax unified\n\ @@ -6484,7 +6484,7 @@ static void atk48_playstatchangeanimation(void) } #else -__attribute__((naked)) +NAKED static void atk48_playstatchangeanimation(void) { asm(".syntax unified\n\ @@ -6892,7 +6892,7 @@ static void atk49_moveend(void) } while (effect == 0) } #else -__attribute__((naked)) +NAKED void atk49_moveend(void) { asm(".syntax unified\n\ @@ -8498,7 +8498,7 @@ static void atk50_openpartyscreen(void) } */ -__attribute__((naked)) +NAKED static void atk50_openpartyscreen(void) { asm(".syntax unified\n\ @@ -9965,7 +9965,7 @@ static void atk5D_getmoneyreward(void) gBattlescriptCurrInstr += 1; } #else -__attribute__((naked)) +NAKED static void atk5D_getmoneyreward(void) { asm(".syntax unified\n\ @@ -10508,7 +10508,7 @@ static void atk6C_drawlvlupbox(void) } #else -__attribute__((naked)) +NAKED static void atk6C_drawlvlupbox(void) { asm(".syntax unified\n\ @@ -12631,7 +12631,7 @@ static void atk9D_mimicattackcopy(void) } #if DEBUG -__attribute__((naked)) +NAKED static void atk9E_metronome(void) { asm("\ @@ -12834,7 +12834,7 @@ static void atk9E_metronome(void) } #else -__attribute__((naked)) +NAKED static void atk9E_metronome(void) { asm(".syntax unified\n\ @@ -13097,7 +13097,7 @@ static void atkA6_settypetorandomresistance(void) } #else -__attribute__((naked)) +NAKED static void atkA6_settypetorandomresistance(void) { asm(".syntax unified\n\ @@ -13997,7 +13997,7 @@ static void atkC0_recoverbasedonsunlight(void) } } -__attribute__((naked)) +NAKED static void atkC1_hiddenpowercalc(void) { asm(".syntax unified\n\ @@ -14231,7 +14231,7 @@ static void atkC4_trydobeatup(void) } } #else -__attribute__((naked)) +NAKED static void atkC4_trydobeatup(void) { asm(".syntax unified\n\ @@ -14655,7 +14655,7 @@ static void atkD2_tryswapitems(void) } #else -__attribute__((naked)) +NAKED static void atkD2_tryswapitems(void) { asm(".syntax unified\n\ @@ -15210,7 +15210,7 @@ static void atkDE_asistattackselect(void) } #else -__attribute__((naked)) +NAKED static void atkDE_asistattackselect(void) { asm(".syntax unified\n\ @@ -15875,7 +15875,7 @@ static void atkF2_displaydexinfo(void) } } -__attribute__((naked)) +NAKED void sub_802BBD4(u8 r0, u8 r1, u8 r2, u8 r3, u8 sp0) { asm(".syntax unified\n\ diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c index 134f6c18b..447909091 100644 --- a/src/battle/battle_ai.c +++ b/src/battle/battle_ai.c @@ -1008,7 +1008,7 @@ static void BattleAICmd_is_most_powerful_move(void) gAIScriptPtr += 1; } #else -__attribute__((naked)) +NAKED static void BattleAICmd_is_most_powerful_move(void) { asm(".syntax unified\n\ diff --git a/src/battle/battle_ai_switch_items.c b/src/battle/battle_ai_switch_items.c index e01c7b729..4dd7614bf 100755 --- a/src/battle/battle_ai_switch_items.c +++ b/src/battle/battle_ai_switch_items.c @@ -107,7 +107,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) return FALSE; // at this point there is not a single pokemon in the party that has a super effective move against a pokemon with wonder guard } #else -__attribute__((naked)) +NAKED static bool8 ShouldSwitchIfWonderGuard(void) { asm(".syntax unified\n\ diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index a3360096a..2f57bcd97 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -2528,7 +2528,7 @@ s8 BattleAnimAdjustPanning(s8 a) //_0807706E } */ -__attribute__((naked)) +NAKED s8 BattleAnimAdjustPanning(s8 a) { asm(".syntax unified\n\ diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index 583690c27..d6e7ed4a7 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -1438,7 +1438,7 @@ void OpponentHandlecmd19(void) } #if DEBUG -__attribute__((naked)) +NAKED void OpponentHandlecmd20(void) { asm("\ @@ -1812,7 +1812,7 @@ void OpponentHandlecmd20(void) } } #else -__attribute__((naked)) +NAKED void OpponentHandlecmd20(void) { asm(".syntax unified\n\ diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 50ab1eb7e..881ec72fc 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -1459,7 +1459,7 @@ void sub_802DB6C(u8 taskId) } } #else -__attribute__((naked)) +NAKED void sub_802DB6C(u8 taskId) { asm_unified("push {r4-r7,lr}\n\ diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index bd954ae8d..b7c0dce4e 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -539,7 +539,7 @@ void sub_8043740(s16 a, u16 *b, u8 c) asm(""::"r"(r9)); } #else -__attribute__((naked)) +NAKED void sub_8043740(s16 a, u16 *b, u8 c) { asm(".syntax unified\n\ @@ -1123,7 +1123,7 @@ void sub_80440EC(u8 a, s16 b, u8 c) } } #else -__attribute__((naked)) +NAKED void sub_80440EC(u8 a, s16 b, u8 c) { asm(".syntax unified\n\ @@ -1380,7 +1380,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn) } } #else -__attribute__((naked)) +NAKED void sub_8044338(u8 a, struct Pokemon *pkmn) { asm(".syntax unified\n\ @@ -1925,7 +1925,7 @@ u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) return taskId; } #else -__attribute__((naked)) +NAKED u8 sub_8044804(u8 a, const struct BattleInterfaceStruct2 *b, u8 c, u8 d) { asm(".syntax unified\n\ diff --git a/src/battle/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c index 4fb236294..94454e45c 100644 --- a/src/battle/contest_link_80C857C.c +++ b/src/battle/contest_link_80C857C.c @@ -107,7 +107,7 @@ u8 sub_80C86A0(const u8 *string) return language; } #else -__attribute__((naked)) u8 sub_80C86A0(const u8 *string) +NAKED u8 sub_80C86A0(const u8 *string) { asm_unified("\tpush {r4,r5,lr}\n" "\tadds r4, r0, 0\n" diff --git a/src/battle_tower.c b/src/battle_tower.c index 8c44b71a3..8659f202f 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -514,7 +514,7 @@ bool8 sub_81346F4(void) // } // } -__attribute__((naked)) +NAKED void sub_81347F8(void) { asm(".syntax unified\n\ @@ -906,7 +906,7 @@ void SetEReaderTrainerGfxId(void) // gSaveBlock2.battleTower.records[var2[(Random() % l)]] = *record; // } -__attribute__((naked)) +NAKED void sub_8134AC0(struct BattleTowerRecord *record) { asm(".syntax unified\n\ diff --git a/src/contest.c b/src/contest.c index 031cf768f..f7436c51c 100644 --- a/src/contest.c +++ b/src/contest.c @@ -3891,7 +3891,7 @@ void sub_80B0748(u8 taskId) #undef i } #else -__attribute__((naked)) +NAKED void sub_80B0748(u8 taskId) { asm(".syntax unified\n\ diff --git a/src/contest_effect.c b/src/contest_effect.c index 2932d8e6e..a5615851f 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -646,7 +646,7 @@ static void ContestEffect_BetterIfSameType(void) } } #else -__attribute__((naked)) void ContestEffect_BetterIfSameType(void) +NAKED void ContestEffect_BetterIfSameType(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tldr r1, _080B8940 @ =gSharedMem + 0x192D0\n" diff --git a/src/contest_painting.c b/src/contest_painting.c index e90391469..28dd3def7 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -104,7 +104,7 @@ static void VBlankCB_ContestPainting(void); void sub_8106B90(); //should be static static void sub_8107090(u8 arg0, u8 arg1); -__attribute__((naked)) +NAKED void sub_8106630(u32 arg0) { asm(".syntax unified\n\ @@ -364,7 +364,7 @@ static void sub_8106AC4(u16 species, u8 arg1) } } #else -__attribute__((naked)) +NAKED static void sub_8106AC4(u16 arg0, u8 arg2) { asm(".syntax unified\n\ @@ -497,7 +497,7 @@ void sub_8106B90(u8 a[][8][8][4], u16 b[], u16 c[][8][8][8]) } } #else -__attribute__((naked)) +NAKED void sub_8106B90() { asm(".syntax unified\n\ diff --git a/src/daycare.c b/src/daycare.c index e26db531f..a77b6c5f5 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -592,7 +592,7 @@ void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxP } } #else -__attribute__((naked)) +NAKED void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxPokemon *mother) { asm_unified("\tpush {r4-r7,lr}\n" @@ -1119,7 +1119,7 @@ static bool8 _ShouldEggHatch(struct DayCare *daycare) return FALSE; } #else -__attribute__((naked)) +NAKED static bool8 _ShouldEggHatch(struct DayCare *daycare) { asm_unified("\tpush {r4-r7,lr}\n" @@ -1398,7 +1398,7 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) } } #else -__attribute__((naked)) +NAKED static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) { asm_unified("\tpush {r4-r7,lr}\n" diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c index c93ef74cd..24e0fa51b 100644 --- a/src/de_rom_8040FE0.c +++ b/src/de_rom_8040FE0.c @@ -89,7 +89,7 @@ u8 *de_sub_8041024(s32 arg0, u32 arg1) } #else -__attribute__((naked)) +NAKED void de_sub_8041024(void) { asm(".syntax unified\n\ push {r4-r6,lr}\n\ diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 3880c7b7b..f40d5556a 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -1335,7 +1335,7 @@ static u8 SetPokeblock_CalcColor(u8 * dest, struct Pokeblock * pokeblock) return 0; // PBLOCK_CLR_UNKNOWN } #else -__attribute__((naked)) +NAKED static u8 SetPokeblock_CalcColor(u8 * dest, struct Pokeblock * pokeblock) { asm("\tpush\t{r4, r5, r6, r7, lr}\n" diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index efabbe30e..0328565c6 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -300,12 +300,12 @@ const u8 Str_839BD7D[] = _("へんかんが しゅうりょう しました extern const u8 Str_839BD2C[]; extern const u8 Str_839BD4C[]; -__attribute__((unused)) static u8 gUnknown_030006B8[4]; -__attribute__((unused)) static u8 gUnknown_030006BC[4]; -__attribute__((unused)) static u8 gUnknown_030006C0; -__attribute__((unused)) static u8 gUnknown_030006C1; +static u8 gUnknown_030006B8; +UNUSED static u32 gUnknown_030006BC; +static u8 gUnknown_030006C0; +static u8 gUnknown_030006C1; static const u8 *gUnknown_030006C4; -__attribute__((unused)) static u8 gUnknown_030006C8; +static u8 gUnknown_030006C8; void debug_sub_8076AC8(u8 a) { @@ -997,285 +997,83 @@ u8 DebugMenu_EditPKMN(void) return FALSE; } -__attribute__((naked)) -void DebugMenu_80776B4() +void DebugMenu_80776B4(u8 bgNum) { - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffff8\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r1, ._183 @ Str_839BE4C\n" - " mov r0, sp\n" - " mov r2, #0x7\n" - " bl memcpy\n" - " lsl r3, r4, #0x1\n" - " lsl r5, r4, #0x19\n" - " lsr r5, r5, #0x18\n" - " add r3, r3, #0x1\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r0, #0x19\n" - " add r1, r5, #0\n" - " mov r2, #0x1d\n" - " bl Menu_BlankWindowRect\n" - " ldr r0, ._183 + 4 @ gUnknown_030006C8\n" - " ldrb r0, [r0]\n" - " ASR r0, r4\n" - " mov r1, #0x1\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x2\n" - " add r0, r0, sp\n" - " mov r1, #0x19\n" - " add r2, r5, #0\n" - " bl Menu_PrintText\n" - " add sp, sp, #0x8\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._184:\n" - " .align 2, 0\n" - "._183:\n" - " .word Str_839BE4C\n" - " .word gUnknown_030006C8 \n" - "\n" - ); + u8 sp00[] = __("OFF$" + "ON$"); + Menu_BlankWindowRect(25, bgNum * 2, 29, bgNum * 2 + 1); + Menu_PrintText(sp00 + 4 * ((gUnknown_030006C8 >> bgNum) & 1), 25, bgNum * 2); } -__attribute__((naked)) -void DebugMenu_8077704() +void DebugMenu_8077704(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xffffffec\n" - " ldr r1, ._185 @ Str_839BE53\n" - " mov r0, sp\n" - " mov r2, #0x11\n" - " bl memcpy\n" - " mov r0, #0x13\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x8\n" - " bl Menu_BlankWindowRect\n" - " mov r0, sp\n" - " mov r1, #0x15\n" - " mov r2, #0x0\n" - " bl Menu_PrintText\n" - " ldr r2, ._185 + 4 @ gUnknown_030006C8\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x13\n" - " ldrh r0, [r0]\n" - " lsr r0, r0, #0x8\n" - " mov r1, #0xf\n" - " and r0, r0, r1\n" - " strb r0, [r2]\n" - " mov r0, #0x0\n" - " bl DebugMenu_80776B4\n" - " mov r0, #0x1\n" - " bl DebugMenu_80776B4\n" - " mov r0, #0x2\n" - " bl DebugMenu_80776B4\n" - " mov r0, #0x3\n" - " bl DebugMenu_80776B4\n" - " add sp, sp, #0x14\n" - " pop {r0}\n" - " bx r0\n" - "._186:\n" - " .align 2, 0\n" - "._185:\n" - " .word Str_839BE53\n" - " .word gUnknown_030006C8 \n" - "\n" - ); + u8 sp00[] = _("BG0\n" + "BG1\n" + "BG2\n" + "BG3\n"); + Menu_BlankWindowRect(19, 0, 29, 8); + Menu_PrintText(sp00, 21, 0); + gUnknown_030006C8 = (REG_DISPCNT >> 8) & 0x0F; + DebugMenu_80776B4(0); + DebugMenu_80776B4(1); + DebugMenu_80776B4(2); + DebugMenu_80776B4(3); } -__attribute__((naked)) -u8 DebugMenu_8077760() +u8 DebugMenu_8077760(void) { - asm( - " push {r4, r5, lr}\n" - " ldr r2, ._190 @ gMain\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " add r5, r2, #0\n" - " cmp r0, #0\n" - " beq ._187 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._190 + 4 @ gUnknown_030006B8\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._188 @cond_branch\n" - " sub r0, r0, #0x1\n" - " b ._189\n" - "._191:\n" - " .align 2, 0\n" - "._190:\n" - " .word gMain\n" - " .word gUnknown_030006B8 \n" - "._188:\n" - " mov r0, #0x3\n" - "._189:\n" - " strb r0, [r1]\n" - "._187:\n" - " ldrh r1, [r5, #0x2e]\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._192 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - " bl Menu_MoveCursor\n" - " ldr r1, ._195 @ gUnknown_030006B8\n" - " ldrb r0, [r1]\n" - " cmp r0, #0x3\n" - " beq ._193 @cond_branch\n" - " add r0, r0, #0x1\n" - " b ._194\n" - "._196:\n" - " .align 2, 0\n" - "._195:\n" - " .word gUnknown_030006B8 \n" - "._193:\n" - " mov r0, #0x0\n" - "._194:\n" - " strb r0, [r1]\n" - "._192:\n" - " ldrh r1, [r5, #0x2e]\n" - " mov r0, #0x30\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._197 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r4, ._201 @ gUnknown_030006C8\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x1\n" - " LSL r1, r0\n" - " ldrb r0, [r4]\n" - " eor r1, r1, r0\n" - " strb r1, [r4]\n" - " bl Menu_GetCursorPos\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl DebugMenu_80776B4\n" - "._197:\n" - " ldrh r2, [r5, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " bne ._198 @cond_branch\n" - " mov r0, #0x2\n" - " and r0, r0, r2\n" - " cmp r0, #0\n" - " beq ._199 @cond_branch\n" - "._198:\n" - " mov r2, #0x80\n" - " lsl r2, r2, #0x13\n" - " ldrh r0, [r2]\n" - " ldr r1, ._201 + 4 @ 0xf0ff\n" - " and r1, r1, r0\n" - " ldr r0, ._201 @ gUnknown_030006C8\n" - " ldrb r0, [r0]\n" - " lsl r0, r0, #0x8\n" - " add r1, r1, r0\n" - " strh r1, [r2]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._200\n" - "._202:\n" - " .align 2, 0\n" - "._201:\n" - " .word gUnknown_030006C8 \n" - " .word 0xf0ff\n" - "._199:\n" - " mov r0, #0x0\n" - "._200:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (gMain.newKeys & DPAD_UP) + { + PlaySE(SE_SELECT); + Menu_MoveCursor(-1); + if (gUnknown_030006B8 != 0) + gUnknown_030006B8--; + else + gUnknown_030006B8 = 3; + } + if (gMain.newKeys & DPAD_DOWN) + { + PlaySE(SE_SELECT); + Menu_MoveCursor(+1); + if (gUnknown_030006B8 != 3) + gUnknown_030006B8++; + else + gUnknown_030006B8 = 0; + } + if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) + { + PlaySE(SE_SELECT); + gUnknown_030006C8 ^= (1 << Menu_GetCursorPos()); + DebugMenu_80776B4(Menu_GetCursorPos()); + } + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + { + REG_DISPCNT = (REG_DISPCNT & 0xF0FF) + (gUnknown_030006C8 << 8); + CloseMenu(); + return TRUE; + } + return FALSE; } -__attribute__((naked)) -u8 DebugMenu_SwitchBG() +u8 DebugMenu_SwitchBG(void) { - asm( - " push {lr}\n" - " add sp, sp, #0xfffffff8\n" - " bl Menu_EraseScreen\n" - " bl DebugMenu_8077704\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " mov r0, #0x6\n" - " str r0, [sp, #0x4]\n" - " mov r0, #0x0\n" - " mov r1, #0x14\n" - " mov r2, #0x0\n" - " mov r3, #0x4\n" - " bl InitMenu\n" - " ldr r1, ._203 @ gMenuCallback\n" - " ldr r0, ._203 + 4 @ DebugMenu_8077760\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " add sp, sp, #0x8\n" - " pop {r1}\n" - " bx r1\n" - "._204:\n" - " .align 2, 0\n" - "._203:\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077760+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_8077704(); + InitMenu(0, 20, 0, 4, 0, 6); + gMenuCallback = DebugMenu_8077760; + return FALSE; } -__attribute__((naked)) -void DebugMenu_807786C() +void DebugMenu_807786C(u8 a0) { - asm( - " push {r4, lr}\n" - " add sp, sp, #0xfffffff8\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " ldr r1, ._205 @ Str_839BE64\n" - " mov r0, sp\n" - " mov r2, #0x7\n" - " bl memcpy\n" - " mov r0, #0x19\n" - " mov r1, #0x0\n" - " mov r2, #0x1d\n" - " mov r3, #0x3\n" - " bl Menu_DrawStdWindowFrame\n" - " lsl r0, r4, #0x1\n" - " add r0, r0, r4\n" - " add r0, r0, sp\n" - " mov r1, #0x1a\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " add sp, sp, #0x8\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._206:\n" - " .align 2, 0\n" - "._205:\n" - " .word Str_839BE64\n" - "\n" - ); + u8 sp00[] = __("ON$" + "OFF$"); + + Menu_DrawStdWindowFrame(25, 0, 29, 3); + Menu_PrintText(sp00 + 3 * a0, 26, 1); } -__attribute__((naked)) +NAKED void DebugMenu_80778A8() { asm( @@ -1324,7 +1122,7 @@ void DebugMenu_80778A8() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_ControlEncounter() { asm( @@ -1349,7 +1147,7 @@ u8 DebugMenu_ControlEncounter() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_UseHM() { asm( @@ -1367,7 +1165,7 @@ u8 DebugMenu_UseHM() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077934() { asm( @@ -1393,7 +1191,7 @@ void DebugMenu_8077934() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077954() { asm( @@ -1419,7 +1217,12 @@ void DebugMenu_8077954() ); } -__attribute__((naked)) +const u8 Str_839BE6B[] = _("さいせんかのうトレーナー:{STR_VAR_1}\n" + "さいせんじょうたいトレーナー:{STR_VAR_2}"); +const u8 Str_839BE8D[] = _("いる"); +const u8 Str_839BE90[] = _("いない"); + +NAKED void DebugMenu_8077974() { asm( @@ -1503,7 +1306,7 @@ void DebugMenu_8077974() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077A20() { asm( @@ -1526,7 +1329,7 @@ void DebugMenu_8077A20() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077A40() { asm( @@ -1549,7 +1352,7 @@ void DebugMenu_8077A40() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_8077A60() { asm( @@ -1568,7 +1371,7 @@ u8 DebugMenu_8077A60() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_RematchTrainers() { asm( @@ -1594,7 +1397,7 @@ u8 DebugMenu_RematchTrainers() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077A9C() { asm( @@ -1614,7 +1417,7 @@ void DebugMenu_8077A9C() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077AB4() { asm( @@ -1634,7 +1437,7 @@ void DebugMenu_8077AB4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077ACC() { asm( @@ -1656,7 +1459,7 @@ void DebugMenu_8077ACC() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077AE8() { asm( @@ -1676,7 +1479,7 @@ void DebugMenu_8077AE8() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077B00() { asm( @@ -1712,7 +1515,7 @@ void DebugMenu_8077B00() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077B3C() { asm( @@ -1731,7 +1534,7 @@ void DebugMenu_8077B3C() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_Safari() { asm( @@ -1779,7 +1582,7 @@ u8 DebugMenu_Safari() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077BB4() { asm( @@ -1792,7 +1595,7 @@ void DebugMenu_8077BB4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077BC0() { asm( @@ -1805,7 +1608,7 @@ void DebugMenu_8077BC0() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077BCC() { asm( @@ -1818,7 +1621,7 @@ void DebugMenu_8077BCC() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077BD8() { asm( @@ -1831,7 +1634,7 @@ void DebugMenu_8077BD8() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077BE4() { asm( @@ -1845,7 +1648,7 @@ void DebugMenu_8077BE4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077BF4() { asm( @@ -1858,7 +1661,7 @@ void DebugMenu_8077BF4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077C00() { asm( @@ -1877,7 +1680,7 @@ void DebugMenu_8077C00() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077C14() { asm( @@ -1903,7 +1706,7 @@ void DebugMenu_8077C14() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077C3C() { asm( @@ -2006,7 +1809,7 @@ void DebugMenu_8077C3C() ); } -__attribute__((naked)) +NAKED void debug_sub_8077CF4() { asm( @@ -2037,7 +1840,7 @@ void debug_sub_8077CF4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 a2) { asm( @@ -2082,7 +1885,7 @@ void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 a2) ); } -__attribute__((naked)) +NAKED u8 DebugMenu_8077D78(const struct MenuAction *menuActions) { asm( @@ -2122,7 +1925,7 @@ u8 DebugMenu_8077D78(const struct MenuAction *menuActions) ); } -__attribute__((naked)) +NAKED void DebugMenu_8077DB4() { asm( @@ -2149,7 +1952,7 @@ void DebugMenu_8077DB4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077DD8() { asm( @@ -2216,7 +2019,7 @@ void DebugMenu_8077DD8() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077E40() { asm( @@ -2269,7 +2072,7 @@ void DebugMenu_8077E40() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_MakeItems() { asm( @@ -2284,7 +2087,7 @@ u8 DebugMenu_MakeItems() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077EAC() { asm( @@ -2316,7 +2119,7 @@ void DebugMenu_8077EAC() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077EE0() { asm( @@ -2367,7 +2170,7 @@ void DebugMenu_8077EE0() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077F40() { asm( @@ -2402,7 +2205,7 @@ void DebugMenu_8077F40() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077F7C() { asm( @@ -2471,7 +2274,7 @@ void DebugMenu_8077F7C() ); } -__attribute__((naked)) +NAKED void DebugMenu_8077FFC() { asm( @@ -2537,7 +2340,7 @@ void DebugMenu_8077FFC() ); } -__attribute__((naked)) +NAKED void DebugMenu_807806C() { asm( @@ -2557,7 +2360,7 @@ void DebugMenu_807806C() ); } -__attribute__((naked)) +NAKED void DebugMenu_807808C() { asm( @@ -2677,7 +2480,7 @@ void DebugMenu_807808C() ); } -__attribute__((naked)) +NAKED void DebugMenu_807817C() { asm( @@ -2706,7 +2509,7 @@ void DebugMenu_807817C() ); } -__attribute__((naked)) +NAKED void DebugMenu_80781A8() { asm( @@ -2788,7 +2591,7 @@ void DebugMenu_80781A8() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_ViewPortraits() { asm( @@ -2809,7 +2612,7 @@ u8 DebugMenu_ViewPortraits() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078254() { asm( @@ -2821,7 +2624,7 @@ void DebugMenu_8078254() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_AllBadges() { asm( @@ -2861,7 +2664,7 @@ u8 DebugMenu_AllBadges() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_TimeRecords() { asm( @@ -2882,7 +2685,7 @@ u8 DebugMenu_TimeRecords() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_SetTime() { asm( @@ -2897,7 +2700,7 @@ u8 DebugMenu_SetTime() ); } -__attribute__((naked)) +NAKED void DebugMenu_80782EC() { asm( @@ -2922,7 +2725,7 @@ void DebugMenu_80782EC() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078310() { asm( @@ -3010,7 +2813,7 @@ void DebugMenu_8078310() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_MiragaIslandRND() { asm( @@ -3031,7 +2834,7 @@ u8 DebugMenu_MiragaIslandRND() ); } -__attribute__((naked)) +NAKED void DebugMenu_80783C8() { asm( @@ -3094,7 +2897,7 @@ void DebugMenu_80783C8() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_ToggleClearFlag() { asm( @@ -3123,7 +2926,7 @@ u8 DebugMenu_ToggleClearFlag() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078464() { asm( @@ -3173,7 +2976,7 @@ void DebugMenu_8078464() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_OpenWeatherEvents() { asm( @@ -3205,7 +3008,7 @@ u8 DebugMenu_OpenWeatherEvents() ); } -__attribute__((naked)) +NAKED void DebugMenu_80784E8() { asm( @@ -3244,7 +3047,7 @@ void DebugMenu_80784E8() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_OpenMysteryEvent() { asm( @@ -3273,7 +3076,7 @@ u8 DebugMenu_OpenMysteryEvent() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078550() { asm( @@ -3367,7 +3170,7 @@ void DebugMenu_8078550() ); } -__attribute__((naked)) +NAKED void DebugMenu_807860C() { asm( @@ -3472,7 +3275,7 @@ void DebugMenu_807860C() ); } -__attribute__((naked)) +NAKED void DebugMenu_80786C0() { asm( @@ -3486,7 +3289,7 @@ void DebugMenu_80786C0() ); } -__attribute__((naked)) +NAKED void DebugMenu_80786D0() { asm( @@ -3527,7 +3330,7 @@ void DebugMenu_80786D0() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078714() { asm( @@ -3568,7 +3371,7 @@ void DebugMenu_8078714() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078758() { asm( @@ -3587,7 +3390,7 @@ void DebugMenu_8078758() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078774() { asm( @@ -3606,7 +3409,7 @@ void DebugMenu_8078774() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078788() { asm( @@ -3625,7 +3428,7 @@ void DebugMenu_8078788() ); } -__attribute__((naked)) +NAKED void DebugMenu_807879C() { asm( @@ -3644,7 +3447,7 @@ void DebugMenu_807879C() ); } -__attribute__((naked)) +NAKED void DebugMenu_80787B0() { asm( @@ -3663,7 +3466,7 @@ void DebugMenu_80787B0() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_OpenLegendsRecord() { asm( @@ -3689,7 +3492,7 @@ u8 DebugMenu_OpenLegendsRecord() ); } -__attribute__((naked)) +NAKED void DebugMenu_80787EC() { asm( @@ -3759,7 +3562,7 @@ void DebugMenu_80787EC() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078880() { asm( @@ -3828,7 +3631,7 @@ void DebugMenu_8078880() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_CellInfo() { asm( @@ -3850,7 +3653,7 @@ u8 DebugMenu_CellInfo() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_OpenBerryInfo() { asm( @@ -3889,7 +3692,7 @@ u8 DebugMenu_OpenBerryInfo() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078950() { asm( @@ -3909,7 +3712,7 @@ void DebugMenu_8078950() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078968() { asm( @@ -3948,7 +3751,7 @@ void DebugMenu_8078968() ); } -__attribute__((naked)) +NAKED void DebugMenu_80789A4() { asm( @@ -3976,7 +3779,7 @@ void DebugMenu_80789A4() ); } -__attribute__((naked)) +NAKED void DebugMenu_80789CC() { asm( @@ -4016,7 +3819,7 @@ void DebugMenu_80789CC() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078A14() { asm( @@ -4100,7 +3903,7 @@ void DebugMenu_8078A14() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078AA4() { asm( @@ -4183,7 +3986,7 @@ void DebugMenu_8078AA4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078B38() { asm( @@ -4202,7 +4005,7 @@ void DebugMenu_8078B38() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_BattleTowerStages() { asm( @@ -4223,7 +4026,7 @@ u8 DebugMenu_BattleTowerStages() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078B70() { asm( @@ -4248,7 +4051,7 @@ void DebugMenu_8078B70() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078B94() { asm( @@ -4291,7 +4094,7 @@ void DebugMenu_8078B94() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078BD4() { asm( @@ -4367,7 +4170,7 @@ void DebugMenu_8078BD4() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_CheckPKBLCK() { asm( @@ -4388,7 +4191,7 @@ u8 DebugMenu_CheckPKBLCK() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078C80() { asm( @@ -4414,7 +4217,7 @@ void DebugMenu_8078C80() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078CA8() { asm( @@ -4453,7 +4256,7 @@ void DebugMenu_8078CA8() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078CE4() { asm( @@ -4497,7 +4300,7 @@ void DebugMenu_8078CE4() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078D30() { asm( @@ -4539,7 +4342,7 @@ void DebugMenu_8078D30() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078D7C() { asm( @@ -4565,7 +4368,7 @@ void DebugMenu_8078D7C() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078DA4() { asm( @@ -4592,7 +4395,7 @@ void DebugMenu_8078DA4() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_MeTooBackupMan() { asm( @@ -4618,7 +4421,7 @@ u8 DebugMenu_MeTooBackupMan() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078DF0() { asm( @@ -4637,7 +4440,7 @@ void DebugMenu_8078DF0() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078E04() { asm( @@ -4680,7 +4483,7 @@ void DebugMenu_8078E04() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078E40() { asm( @@ -4705,7 +4508,7 @@ void DebugMenu_8078E40() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078E68() { asm( @@ -4724,7 +4527,7 @@ void DebugMenu_8078E68() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078E80() { asm( @@ -4755,7 +4558,7 @@ void DebugMenu_8078E80() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078EB0() { asm( @@ -4811,7 +4614,7 @@ void DebugMenu_8078EB0() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078F1C() { asm( @@ -4854,7 +4657,7 @@ void DebugMenu_8078F1C() ); } -__attribute__((naked)) +NAKED void DebugMenu_8078F68() { asm( @@ -4959,7 +4762,7 @@ void DebugMenu_8078F68() ); } -__attribute__((naked)) +NAKED void DebugMenu_8079020() { asm( @@ -4978,7 +4781,7 @@ void DebugMenu_8079020() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_PTime() { asm( @@ -4999,7 +4802,7 @@ u8 DebugMenu_PTime() ); } -__attribute__((naked)) +NAKED void DebugMenu_8079058() { asm( @@ -5093,7 +4896,7 @@ void DebugMenu_8079058() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_OpenMurakawa() { asm( @@ -5114,7 +4917,7 @@ u8 DebugMenu_OpenMurakawa() ); } -__attribute__((naked)) +NAKED void DebugMenu_8079110() { asm( @@ -5187,7 +4990,7 @@ void DebugMenu_8079110() ); } -__attribute__((naked)) +NAKED u8 DebugMenu_OpenKiwa() { asm( diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 3d4637746..40df600fa 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -4161,7 +4161,7 @@ static void PicTest_Redraw(u8 a0) } } #else -__attribute__((naked)) void PicTest_Redraw(u8 a0) +NAKED void PicTest_Redraw(u8 a0) { asm("\tpush\t{r4, r5, r6, r7, lr}\n" "\tmov\tr7, r8\n" diff --git a/src/decoration.c b/src/decoration.c index 477414993..b00a51ef0 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1856,7 +1856,7 @@ void sub_80FECE0(u8 decoCat) sub_8072AB0(gDecorations[gUnknown_020388D0[decoCat]].description, 0x80, 0x68, 0x68, 0x30, 0x1); } #elif GERMAN -__attribute__((naked)) +NAKED void sub_80FECE0(u8 decoCat) { asm(".syntax unified\n\ @@ -2575,7 +2575,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) return TRUE; } #else -__attribute__((naked)) +NAKED bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) { asm(".syntax unified\n" @@ -4036,7 +4036,7 @@ void sub_8101460(u8 taskId) } } #else -__attribute__((naked)) +NAKED void sub_8101460(u8 taskId) { asm(".syntax unified\n" diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c index ed6a97ba2..01290daba 100644 --- a/src/easy_chat_2.c +++ b/src/easy_chat_2.c @@ -2133,7 +2133,7 @@ u16 sub_80EAE88(u8 group) } #if GERMAN -__attribute__((naked)) +NAKED void sub_80EAECC(void) { asm(".syntax unified\n\ diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 5bba69f86..43dfa6864 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -317,7 +317,7 @@ static bool8 sub_8042ABC(void* a, u8 b) } #else -__attribute__((naked)) +NAKED static bool8 sub_8042ABC(void* a, u8 b) { asm(".syntax unified\n\ diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 155ce33f5..3fb611433 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -8145,7 +8145,7 @@ void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) } } #else -__attribute__((naked)) +NAKED void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) { asm(".syntax unified\n\ push {r4-r6,lr}\n\ diff --git a/src/evolution_scene.c b/src/evolution_scene.c index a3a5dbcec..4fdbeb60f 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1511,7 +1511,7 @@ void unref_sub_8113B50(u8 *a, u8 *b) #undef sp4 } */ -__attribute__((naked)) +NAKED void unref_sub_8113B50() { asm(".syntax unified\n\ @@ -2436,7 +2436,7 @@ void sub_811430C(u32 a, u32 b) sEvoInfo.unk90C4[b][a] = r7 * 16; } -__attribute__((naked)) +NAKED void unref_sub_81143CC() { asm(".syntax unified\n\ @@ -3688,7 +3688,7 @@ void sub_8114DF0(u32 a, u8 b) } } -__attribute__((naked)) +NAKED void sub_8114E48() { asm(".syntax unified\n\ diff --git a/src/field_effect.c b/src/field_effect.c index f85bc520e..ae0acf1a0 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -601,7 +601,7 @@ void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) gPlttBufferFaded[i] = RGB(curRed, curGreen, curBlue); } #else -__attribute__((naked)) +NAKED void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { asm(".syntax unified\n" @@ -676,7 +676,7 @@ void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) ".syntax divided"); } -__attribute__((naked)) +NAKED void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b) { asm(".syntax unified\n" @@ -2607,7 +2607,7 @@ bool8 sub_8088708(struct Task *task) return FALSE; } #else -__attribute__((naked)) +NAKED bool8 sub_8088708(struct Task *task) { asm_unified("\tpush {r4-r7,lr}\n" diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index bc4a1770e..216f39d62 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1024,7 +1024,7 @@ static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) } } #else -__attribute__((naked)) static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) +NAKED static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r8\n" @@ -1496,7 +1496,7 @@ static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) } } #else -__attribute__((naked)) static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) +NAKED static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) { asm_unified("\tpush {r4-r7,lr}\n" "\tadds r6, r0, 0\n" diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index a7087be0f..4a4122641 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -512,7 +512,7 @@ void sub_80810DC(void) #if DEBUG -__attribute__((naked)) +NAKED void debug_sub_80888D8() { asm("\ diff --git a/src/field_specials.c b/src/field_specials.c index 715086f00..eff623548 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1172,7 +1172,7 @@ bool8 sub_810EAC8(u8 prevMenuPos, u8 dpadInput) return flag; } #else -__attribute__((naked)) +NAKED bool8 sub_810EAC8(u8 prevMenuPos, u8 dpadInput) { asm_unified("\tpush {r4-r7,lr}\n" @@ -1630,7 +1630,7 @@ bool8 sub_810F1F4(u8 prevCursorPos, u8 dpadInput) return flag; } #else -__attribute__((naked)) +NAKED bool8 sub_810F1F4(u8 prevCursorPos, u8 dpadInput) { asm_unified("\tpush {r4-r7,lr}\n" diff --git a/src/field_tasks.c b/src/field_tasks.c index ce5fc6c0e..e4f1aadf2 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -213,7 +213,7 @@ void sub_8069638(const struct MetatileOffset offsets[][2], s16 x, s16 y, bool32 } } #else -__attribute__((naked)) +NAKED void sub_8069638(const struct MetatileOffset offsets[][2], s16 x, s16 y, bool32 flag) { asm_unified("\tpush {r4-r7,lr}\n" diff --git a/src/item.c b/src/item.c index 41cbb7a1e..e6294884b 100644 --- a/src/item.c +++ b/src/item.c @@ -239,7 +239,7 @@ bool8 AddBagItem(u16 itemId, u16 count) return TRUE; } //#else -//__attribute__((naked)) +//NAKED //bool8 AddBagItem(u16 itemId, u16 count) //{ // asm(".syntax unified\n\ diff --git a/src/item_menu.c b/src/item_menu.c index 981f42282..a5748cdab 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1278,7 +1278,7 @@ static void sub_80A4548(u16 a, int b, int c, int d) } } #else -__attribute__((naked)) +NAKED static void sub_80A4548(u16 a, int b, int c, int d) { asm(".syntax unified\n\ @@ -2102,7 +2102,7 @@ static void sub_80A5414(u8 taskId) } } #else -__attribute__((naked)) +NAKED static void sub_80A5414(u8 taskId) { asm(".syntax unified\n\ @@ -2337,7 +2337,7 @@ _080A55FA:\n\ } #endif -__attribute__((naked)) +NAKED static void sub_80A5600(u8 taskId) { asm(".syntax unified\n\ diff --git a/src/item_use.c b/src/item_use.c index a14abbe3e..19c298850 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -439,7 +439,7 @@ void sub_80C9720(u8 taskId) } } #else -__attribute__((naked)) +NAKED void sub_80C9720(u8 taskId) { asm(".syntax unified\n\ diff --git a/src/mauville_man.c b/src/mauville_man.c index a68d5071d..088085851 100644 --- a/src/mauville_man.c +++ b/src/mauville_man.c @@ -557,7 +557,7 @@ static const u16 gUnknown_083E53C8[][2] = {0x15, 0}, }; -__attribute__((naked)) +NAKED static void sub_80F7DC0(void) { asm(".syntax unified\n\ diff --git a/src/menu.c b/src/menu.c index 0e615a6d2..9abcf66d1 100644 --- a/src/menu.c +++ b/src/menu.c @@ -644,7 +644,7 @@ int sub_8072AB0(const u8 *str, u8 left, u16 top, u8 width, u8 height, u32 a6) Menu_BlankWindowRect(left, top + 2 * newlineCount, left + width - 1, height + top - 1); } #elif GERMAN -__attribute__((naked)) +NAKED int sub_8072AB0(const u8 *str, u8 left, u16 top, u8 width, u8 height, u32 a6) { asm(".syntax unified\n\ diff --git a/src/menu_cursor.c b/src/menu_cursor.c index f2eb31f16..32578d1a4 100644 --- a/src/menu_cursor.c +++ b/src/menu_cursor.c @@ -236,7 +236,7 @@ void sub_814A958(u8 a) SetSubspriteTables(&gSprites[gUnknown_0203A3D1], gSubspriteTables_842F5C0 + r7); } #else -__attribute__((naked)) +NAKED void sub_814A958(u8 a1) { asm(".syntax unified\n\ @@ -419,7 +419,7 @@ _0814AAB8: .4byte gUnknown_0203A3D1\n\ } #endif #elif GERMAN -__attribute__((naked)) +NAKED void sub_814A958(u8 a1) { asm(".syntax unified\n\ diff --git a/src/money.c b/src/money.c index 3b7268dbc..1081d5063 100644 --- a/src/money.c +++ b/src/money.c @@ -176,7 +176,7 @@ void sub_80B7AEC(u32 arg0, u8 left, u8 top) #endif } -__attribute__((naked)) +NAKED void Draw10000Sprite(u8 var1, u8 var2, int var3) { asm(".syntax unified\n\ diff --git a/src/option_menu.c b/src/option_menu.c index a2d32ffb6..8a46e48d9 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -463,7 +463,7 @@ static void FrameType_DrawChoices(u8 selection) Menu_PrintText(text, 18, 15); } #elif GERMAN -__attribute__((naked)) +NAKED static void FrameType_DrawChoices(u8 selection) { asm(".syntax unified\n\ diff --git a/src/party_menu.c b/src/party_menu.c index 9caaa05b9..b9d3796f1 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -1007,7 +1007,7 @@ void sub_806B908(void) ewram1B000.unk261 = 2; } #else -__attribute__((naked)) +NAKED void sub_806B908(void) { asm(".syntax unified\n\ @@ -1326,7 +1326,7 @@ u16 HandleDefaultPartyMenuInput(u8 taskId) return gMain.newAndRepeatedKeys; } #else -__attribute__((naked)) +NAKED u16 HandleDefaultPartyMenuInput(u8 taskId) { asm(".syntax unified\n\ @@ -1810,7 +1810,7 @@ void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 dire } #else -__attribute__((naked)) +NAKED void ChangeLinkDoubleBattlePartyMenuSelection(u8 spriteId, u8 menuIndex, s8 directionPressed) { asm(".syntax unified\n\ @@ -2408,7 +2408,7 @@ void sub_806CF04(void) gSprites[ewram01000.unk4].callback = SpriteCB_sub_806D37C; } #else -__attribute__((naked)) +NAKED void sub_806CF04(void) { asm(".syntax unified\n\ @@ -2986,7 +2986,7 @@ void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item) gSprites[heldItemSpriteId].callback(&gSprites[heldItemSpriteId]); } #else -__attribute__((naked)) +NAKED void CreateHeldItemIcon_806DCD4(u8 taskId, u8 monIndex, u16 item) { asm(".syntax unified\n\ @@ -3172,7 +3172,7 @@ void SetHeldItemIconVisibility(u8 taskId, u8 monIndex) } } #else -__attribute__((naked)) +NAKED void SetHeldItemIconVisibility(u8 a, u8 monIndex) { asm(".syntax unified\n\ @@ -5111,7 +5111,7 @@ u8 GetItemEffectType(u16 item) } } #else -__attribute__((naked)) +NAKED u8 GetItemEffectType(u16 item) { asm(".syntax unified\n\ diff --git a/src/pokedex.c b/src/pokedex.c index d90b73178..61f2bfbba 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -3522,7 +3522,7 @@ static void sub_8090584(u8 a, u16 b) } } #else -__attribute__((naked)) +NAKED static void sub_8090584(u8 a, u16 b) { asm(".syntax unified\n\ @@ -3666,7 +3666,7 @@ static void sub_8090644(u8 a, u16 b) } } #else -__attribute__((naked)) +NAKED static void sub_8090644(u8 a, u16 b) { asm(".syntax unified\n\ @@ -5120,7 +5120,7 @@ void sub_8092810(u8 a, u8 b, u8 c, u8 d) } } #else -__attribute__((naked)) +NAKED void sub_8092810(u8 a, u8 b, u8 c, u8 d) { asm(".syntax unified\n\ diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 1ea8bc205..770b69813 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -405,7 +405,7 @@ void ResetPokemonStorageSystem(void) } #if DEBUG -__attribute__((naked)) +NAKED void debug_sub_80A3904(void) { asm("\ diff --git a/src/pokemon_storage_system_2.c b/src/pokemon_storage_system_2.c index 0331abf3e..0905c185b 100644 --- a/src/pokemon_storage_system_2.c +++ b/src/pokemon_storage_system_2.c @@ -1564,7 +1564,7 @@ const struct SpriteTemplate gSpriteTemplate_83B6DDC = { 0x0002, 0xdac7, &gOamData_83B6EAC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -__attribute__((naked)) void sub_80980D4(void) +NAKED void sub_80980D4(void) { asm_unified("\tpush {r4,r5,lr}\n" "\tsub sp, 0x28\n" diff --git a/src/pokemon_storage_system_4.c b/src/pokemon_storage_system_4.c index 2f9f79a54..2383ac46c 100644 --- a/src/pokemon_storage_system_4.c +++ b/src/pokemon_storage_system_4.c @@ -519,7 +519,7 @@ void sub_8099F58(u16 *vdest, const u16 *src, s8 a2, u8 a3) } } #else -__attribute__((naked)) void sub_8099F58(u16 *vdest, const u16 *src, s8 a2, u8 a3) +NAKED void sub_8099F58(u16 *vdest, const u16 *src, s8 a2, u8 a3) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" @@ -808,7 +808,7 @@ void sub_809A14C(u16 *vdest) } } #else -__attribute__((naked)) void sub_809A14C(u16 *vdest) +NAKED void sub_809A14C(u16 *vdest) { asm_unified("\tpush {r4-r6,lr}\n" "\tadds r2, r0, 0\n" @@ -2214,7 +2214,7 @@ u8 sub_809C464(void) return r9; } #else -__attribute__((naked)) u8 sub_809C464(void) +NAKED u8 sub_809C464(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" @@ -2584,7 +2584,7 @@ u8 sub_809C664(void) return r8; } #else -__attribute__((naked)) u8 sub_809C664(void) +NAKED u8 sub_809C664(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 75ddb52d0..f8f075296 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1227,7 +1227,7 @@ static void sub_809E83C(u8 taskId, s8 b) sub_80A2078(taskId); } -__attribute__((naked)) +NAKED static void sub_809E8F0(/*u8 taskId, s8 direction, u8 *c*/) { asm(".syntax unified\n\ @@ -1766,7 +1766,7 @@ static void SummaryScreenHandleUpDownInput(u8 taskId, s8 direction) } } #else -__attribute__((naked)) +NAKED static void SummaryScreenHandleUpDownInput(u8 taskId, s8 direction) { asm(".syntax unified\n\ @@ -1897,7 +1897,7 @@ s8 sub_809F284(s8 a) } } #else -__attribute__((naked)) +NAKED s8 sub_809F284(s8 a) { asm(".syntax unified\n\ @@ -2316,7 +2316,7 @@ u8 sub_809FA30(void) // vramAddr[(d * 32) + c] = (b * 0x1000) + (a * 2) + 0x200 + 0x80; // vramAddr[(d * 32) + c + 32] = (b * 0x1000) + (a * 2) + 0x200 + 0x81; // } -__attribute__((naked)) +NAKED void GetStringCenterAlignXOffsetWithLetterSpacing(u8 a, u8 b, u8 c, u8 d) { asm(".syntax unified\n\ @@ -2840,7 +2840,7 @@ static void sub_80A057C(u16 move) } } #else -__attribute__((naked)) +NAKED static void sub_80A057C(u16 move) { asm(".syntax unified\n\ @@ -3463,7 +3463,7 @@ static void DrawSummaryScreenNavigationDots(void) DmaCopy16Defvars(3, arr, (void *)(VRAM + 0xE056), 16); } #else -__attribute__((naked)) +NAKED static void DrawSummaryScreenNavigationDots(void) { asm(".syntax unified\n\ @@ -3646,7 +3646,7 @@ _080A1044: .4byte 0x0600e056\n\ } #endif // NONMATCHING -__attribute__((naked)) +NAKED void sub_80A1048(u8 taskId) { asm(".syntax unified\n\ @@ -4049,7 +4049,7 @@ static void sub_80A12D0(s8 a) // DestroyTask(taskId); // } // } -__attribute__((naked)) +NAKED static void sub_80A1334(u8 taskId) { asm(".syntax unified\n\ @@ -4245,7 +4245,7 @@ static void sub_80A1488(s8 a, u8 b) gTasks[taskId].data[3] = b; } -__attribute__((naked)) +NAKED static void sub_80A1500(u8 taskId) { asm(".syntax unified\n\ @@ -4487,7 +4487,7 @@ static void sub_80A16CC(u8 a) } } #else -__attribute__((naked)) +NAKED static void sub_80A16CC(u8 a) { asm(".syntax unified\n\ @@ -4884,7 +4884,7 @@ void sub_80A1D18(void) StartSpriteAnim(&gSprites[ewram1A000[29]], statusAndPkrs2); } #else -__attribute__((naked)) +NAKED void sub_80A1D18(void) { asm(".syntax unified\n\ diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 55cf05790..8684f2155 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -1793,7 +1793,7 @@ label2: } #else #if DEBUG -__attribute__((naked)) +NAKED void sub_80ED858() { asm("\ @@ -2216,7 +2216,7 @@ void sub_80ED858() .word 0xfbd"); } #else -__attribute__((naked)) +NAKED void sub_80ED858() { asm_unified("push {r4,r5,lr}\n\ @@ -3277,7 +3277,7 @@ bool8 sub_80EEA0C() { } } #else -__attribute__((naked)) +NAKED bool8 sub_80EEA0C() { asm_unified( "push {r4,lr}\n\ @@ -3969,7 +3969,7 @@ void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes) } } #else -__attribute__((naked)) +NAKED void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes) { asm(".syntax unified\n\ @@ -4713,7 +4713,7 @@ bool8 sub_80F02A0(void) return TRUE; } #else -__attribute__((naked)) +NAKED bool8 sub_80F02A0(void) { asm(".syntax unified\n\ diff --git a/src/record_mixing.c b/src/record_mixing.c index a2660bf82..0eb13899e 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -635,7 +635,7 @@ void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d) SeedRng(sp40); } #else -__attribute__((naked)) +NAKED void sub_80B9C6C(u8 *a, u32 b, u8 c, void *d) { asm(".syntax unified\n\ diff --git a/src/rotating_gate.c b/src/rotating_gate.c index 69f655a65..f5e8fa99a 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -923,7 +923,7 @@ static int RotatingGate_CanRotate(u8 gateId, int rotationDirection) return 1; } #else -__attribute__((naked)) +NAKED static int RotatingGate_CanRotate(u8 a, int puzzleType) { asm(".syntax unified\n\ diff --git a/src/roulette.c b/src/roulette.c index 5e7517d79..b278521b1 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -2733,7 +2733,7 @@ void sub_811952C(struct Sprite *sprite) sprite->callback = sub_8118CEC; } #else -__attribute__((naked)) +NAKED void sub_811952C(struct Sprite *sprite) { asm_unified("push {r4-r7,lr}\n" diff --git a/src/script_menu.c b/src/script_menu.c index 9d901a03c..615004be3 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -930,7 +930,7 @@ void ScriptMenu_CreatePCMenu(void) StartScriptMenuTask(0, 0, width + 2, 2 * numChoices + 1, 0, numChoices); } #elif GERMAN -__attribute__((naked)) +NAKED void ScriptMenu_CreatePCMenu(void) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ diff --git a/src/secret_base.c b/src/secret_base.c index 210d49835..3c4028dca 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -694,7 +694,7 @@ void sub_80BC300(void) } } #else -__attribute__((naked)) +NAKED void sub_80BC300(void) { asm(".syntax unified\n\ diff --git a/src/shop.c b/src/shop.c index 42cda5e2e..96b417b68 100644 --- a/src/shop.c +++ b/src/shop.c @@ -811,7 +811,7 @@ static void Shop_MoveItemListUp(void) } } #else -__attribute__((naked)) +NAKED static void Shop_MoveItemListUp(void) { asm(".syntax unified\n\ @@ -950,7 +950,7 @@ static void Shop_MoveItemListDown(void) } } #else -__attribute__((naked)) +NAKED static void Shop_MoveItemListDown(void) { asm(".syntax unified\n\ diff --git a/src/starter_choose.c b/src/starter_choose.c index 418488774..ff8c706b8 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -548,7 +548,7 @@ static void CreateStarterPokemonLabel(u8 prevSelection, u8 selection) REG_WIN0V = WIN_RANGE(labelTop, labelBottom); } #elif GERMAN -__attribute__((naked)) +NAKED static void CreateStarterPokemonLabel(u8 prevSelection, u8 selection) { asm(".syntax unified\n\ diff --git a/src/title_screen.c b/src/title_screen.c index a1c8e081d..30ba7191e 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -437,7 +437,7 @@ static void CreatePressStartBanner(s16 x, s16 y) } } #elif GERMAN -__attribute__((naked)) +NAKED static void CreatePressStartBanner(s16 x, s16 y) { asm(".syntax unified\n\ diff --git a/src/trade.c b/src/trade.c index a05bddee4..3245ec5b0 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1492,7 +1492,7 @@ static void sub_8048B0C(u8 a0) #pragma pop_macro("BLOCKSIZE") #else asm(".include \"constants/gba_constants.inc\""); -__attribute__((naked)) +NAKED static void sub_8048B0C(u8 a0) { asm_unified("\tpush {r4-r7,lr}\n" @@ -2488,7 +2488,7 @@ static void sub_8049ED4(u8 a0) } } #else -__attribute__((naked)) +NAKED static void sub_8049ED4(u8 a0) { asm_unified("\tpush {r4-r7,lr}\n" @@ -3055,7 +3055,7 @@ static void sub_804A41C(u8 whichParty) } } #else -__attribute__((naked)) +NAKED static void sub_804A41C(u8 whichParty) { asm_unified("\tpush {r4-r7,lr}\n" @@ -3250,7 +3250,7 @@ static void sub_804A6DC(u8 whichParty) } } #else -__attribute__((naked)) +NAKED static void sub_804A6DC(u8 whichParty) { asm_unified("\tpush {r4-r7,lr}\n" @@ -3561,7 +3561,7 @@ static void sub_804ACF4(u8 who) } } #else -static __attribute__((naked)) void sub_804ACF4(u8 who) +static NAKED void sub_804ACF4(u8 who) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" @@ -3869,7 +3869,7 @@ static void sub_804B1BC(void) } } #else -__attribute__((naked)) static void sub_804B1BC(void) +NAKED static void sub_804B1BC(void) { asm_unified("\tpush {lr}\n" "\tldr r1, _0804B1FC @ =REG_BG1VOFS\n" @@ -4113,7 +4113,7 @@ static void sub_804B41C(void) UpdatePaletteFade(); } #else -static __attribute__((naked)) void sub_804B41C(void) +static NAKED void sub_804B41C(void) { asm_unified("\tpush {r4-r6,lr}\n" "\tsub sp, 0x4\n" diff --git a/src/trainer_card.c b/src/trainer_card.c index 8d16aa9bf..599479f16 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -864,7 +864,7 @@ bool8 TrainerCard_ScaleDownFlipAnimation(struct Task *task) } */ -__attribute__((naked)) +NAKED bool8 TrainerCard_ScaleDownFlipAnimation(struct Task *task) { asm(".syntax unified\n\ @@ -1028,7 +1028,7 @@ bool8 TrainerCard_SwitchToNewSide(struct Task *task) return TRUE; } -__attribute__((naked)) +NAKED bool8 TrainerCard_ScaleUpFlipAnimation(struct Task *task) { asm(".syntax unified\n\ diff --git a/src/tv.c b/src/tv.c index 6c24170ae..b195c1e99 100644 --- a/src/tv.c +++ b/src/tv.c @@ -2435,7 +2435,7 @@ void sub_80C01D4(void) } } #else -__attribute__((naked)) +NAKED void sub_80C01D4(void) { asm(".syntax unified\n\ push {r4-r6,lr}\n\ diff --git a/src/unk_text_8095904.c b/src/unk_text_8095904.c index 4b190bdaa..df0a35e7c 100644 --- a/src/unk_text_8095904.c +++ b/src/unk_text_8095904.c @@ -64,7 +64,7 @@ void sub_8095904(const u8 *src, u8 *dest, u8 bgOverride, u16 width, u8 bg, u8 *b } } #else -__attribute__((naked)) void sub_8095904(const u8 *src, u8 *dest, u8 bgOverride, u16 width, u8 bg, u8 *buffer) +NAKED void sub_8095904(const u8 *src, u8 *dest, u8 bgOverride, u16 width, u8 bg, u8 *buffer) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 8ea93aab8..8205f4f70 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -697,7 +697,7 @@ static void Pokeblock_BufferEnhancedStatText(u8 *dest, u8 statID, s16 a2) } } #else -__attribute__((naked)) +NAKED static void Pokeblock_BufferEnhancedStatText(u8 *dest, u8 a1, s16 a2) { asm_unified("\tpush {r4,lr}\n" diff --git a/src/util.c b/src/util.c index e14665a03..2e76cf4de 100644 --- a/src/util.c +++ b/src/util.c @@ -231,7 +231,7 @@ void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output) #else -__attribute__((naked)) 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" -- cgit v1.2.3 From dc729e5d420c63e83b92ca1b984e164ef7559c8b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 09:48:41 -0400 Subject: through DebugMenu_Safari --- src/debug/start_menu_debug.c | 649 +++++++++++-------------------------------- src/safari_zone.c | 2 +- src/wild_encounter.c | 6 +- 3 files changed, 173 insertions(+), 484 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 0328565c6..4663d01a6 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -29,6 +29,9 @@ #include "mori_debug_menu.h" #include "cable_club.h" #include "field_fadetransition.h" +#include "wild_encounter.h" +#include "battle_setup.h" +#include "safari_zone.h" // berry_blender.c extern void unref_sub_80524BC(void); @@ -42,6 +45,8 @@ void DebugMenu_80771EC(void); void DebugMenu_8077238(void); u8 DebugMenu_8077D78(const struct MenuAction *menuActions); void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 a2); +u8 DebugMenu_8077C14(void); +bool8 DebugMenu_8077DB4(void); u8 DebugMenu_Exit(void); u8 DebugMenu_OpenWatanabe(void); @@ -1073,148 +1078,54 @@ void DebugMenu_807786C(u8 a0) Menu_PrintText(sp00 + 3 * a0, 26, 1); } -NAKED -void DebugMenu_80778A8() +u8 DebugMenu_80778A8(void) { - asm( - " push {r4, lr}\n" - " ldr r4, ._211 @ gMain\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x30\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._207 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r2, ._211 + 4 @ sWildEncountersDisabled\n" - " ldrb r0, [r2]\n" - " mov r1, #0x1\n" - " eor r0, r0, r1\n" - " strb r0, [r2]\n" - " ldrb r0, [r2]\n" - " bl DebugMenu_807786C\n" - "._207:\n" - " ldrh r1, [r4, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._208 @cond_branch\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._209 @cond_branch\n" - "._208:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._210\n" - "._212:\n" - " .align 2, 0\n" - "._211:\n" - " .word gMain\n" - " .word sWildEncountersDisabled\n" - "._209:\n" - " mov r0, #0x0\n" - "._210:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) + { + PlaySE(SE_SELECT); + gWildEncountersDisabled ^= 1; + DebugMenu_807786C(gWildEncountersDisabled); + } + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + return FALSE; } -NAKED -u8 DebugMenu_ControlEncounter() +u8 DebugMenu_ControlEncounter(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._213 @ sWildEncountersDisabled\n" - " ldrb r0, [r0]\n" - " bl DebugMenu_807786C\n" - " ldr r1, ._213 + 4 @ gMenuCallback\n" - " ldr r0, ._213 + 8 @ DebugMenu_80778A8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._214:\n" - " .align 2, 0\n" - "._213:\n" - " .word sWildEncountersDisabled\n" - " .word gMenuCallback\n" - " .word DebugMenu_80778A8+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_807786C(gWildEncountersDisabled); + gMenuCallback = DebugMenu_80778A8; + return FALSE; } -NAKED u8 DebugMenu_UseHM() { - asm( - " ldr r1, ._215 @ gMenuCallback\n" - " ldr r0, ._215 + 4 @ DebugMenu_8077C14\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " bx lr\n" - "._216:\n" - " .align 2, 0\n" - "._215:\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077C14+1\n" - "\n" - ); + gMenuCallback = DebugMenu_8077C14; + return FALSE; } -NAKED -void DebugMenu_8077934() +u8 DebugMenu_8077934(void) { - asm( - " push {lr}\n" - " mov r1, #0x0\n" - " ldr r3, ._218 @ gSaveBlock1\n" - " mov r2, #0x1\n" - "._217:\n" - " add r0, r1, r3\n" - " strb r2, [r0]\n" - " add r1, r1, #0x1\n" - " cmp r1, #0x63\n" - " bls ._217 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._219:\n" - " .align 2, 0\n" - "._218:\n" - " .word gSaveBlock1+0x97a\n" - "\n" - ); + int i; + + for (i = 0; i < ARRAY_COUNT(gSaveBlock1.trainerRematches); i++) + gSaveBlock1.trainerRematches[i] = 1; + CloseMenu(); + return TRUE; } -NAKED -void DebugMenu_8077954() +u8 DebugMenu_8077954(void) { - asm( - " push {lr}\n" - " mov r1, #0x0\n" - " ldr r3, ._222 @ gSaveBlock1\n" - " mov r2, #0x0\n" - "._221:\n" - " add r0, r1, r3\n" - " strb r2, [r0]\n" - " add r1, r1, #0x1\n" - " cmp r1, #0x63\n" - " bls ._221 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._223:\n" - " .align 2, 0\n" - "._222:\n" - " .word gSaveBlock1+0x97a\n" - "\n" - ); + int i; + + for (i = 0; i < ARRAY_COUNT(gSaveBlock1.trainerRematches); i++) + gSaveBlock1.trainerRematches[i] = 0; + CloseMenu(); + return TRUE; } const u8 Str_839BE6B[] = _("さいせんかのうトレーナー:{STR_VAR_1}\n" @@ -1222,368 +1133,146 @@ const u8 Str_839BE6B[] = _("さいせんかのうトレーナー:{STR_VAR_1}\n" const u8 Str_839BE8D[] = _("いる"); const u8 Str_839BE90[] = _("いない"); -NAKED -void DebugMenu_8077974() +bool8 DebugMenu_8077974(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r1, ._226 @ gSaveBlock1\n" - " mov r0, #0x4\n" - " ldsb r0, [r1, r0]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " ldrb r1, [r1, #0x5]\n" - " lsl r1, r1, #0x18\n" - " asr r1, r1, #0x18\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " bl IsRematchTrainerIn\n" - " cmp r0, #0\n" - " beq ._224 @cond_branch\n" - " ldr r0, ._226 + 4 @ gStringVar1\n" - " ldr r1, ._226 + 8 @ Str_839BE8D\n" - " bl StringCopy\n" - " b ._225\n" - "._227:\n" - " .align 2, 0\n" - "._226:\n" - " .word gSaveBlock1\n" - " .word gStringVar1\n" - " .word Str_839BE8D\n" - "._224:\n" - " ldr r0, ._230 @ gStringVar1\n" - " ldr r1, ._230 + 4 @ Str_839BE90\n" - " bl StringCopy\n" - "._225:\n" - " ldr r1, ._230 + 8 @ gSaveBlock1\n" - " mov r0, #0x4\n" - " ldsb r0, [r1, r0]\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " ldrb r1, [r1, #0x5]\n" - " lsl r1, r1, #0x18\n" - " asr r1, r1, #0x18\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " bl DoesSomeoneWantRematchIn\n" - " cmp r0, #0\n" - " beq ._228 @cond_branch\n" - " ldr r0, ._230 + 12 @ gStringVar2\n" - " ldr r1, ._230 + 16 @ Str_839BE8D\n" - " bl StringCopy\n" - " b ._229\n" - "._231:\n" - " .align 2, 0\n" - "._230:\n" - " .word gStringVar1\n" - " .word Str_839BE90\n" - " .word gSaveBlock1\n" - " .word gStringVar2\n" - " .word Str_839BE8D\n" - "._228:\n" - " ldr r0, ._232 @ gStringVar2\n" - " ldr r1, ._232 + 4 @ Str_839BE90\n" - " bl StringCopy\n" - "._229:\n" - " ldr r0, ._232 + 8 @ Str_839BE6B\n" - " bl sub_8071F40\n" - " ldr r1, ._232 + 12 @ gMenuCallback\n" - " ldr r0, ._232 + 16 @ DebugMenu_8077DB4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._233:\n" - " .align 2, 0\n" - "._232:\n" - " .word gStringVar2\n" - " .word Str_839BE90\n" - " .word Str_839BE6B\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077DB4+1\n" - "\n" - ); + Menu_EraseScreen(); + if (IsRematchTrainerIn(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum)) + StringCopy(gStringVar1, Str_839BE8D); + else + StringCopy(gStringVar1, Str_839BE90); + if (DoesSomeoneWantRematchIn(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum)) + StringCopy(gStringVar2, Str_839BE8D); + else + StringCopy(gStringVar2, Str_839BE90); + sub_8071F40(Str_839BE6B); + gMenuCallback = DebugMenu_8077DB4; + return FALSE; } -NAKED -void DebugMenu_8077A20() +bool8 DebugMenu_8077A20(void) { - asm( - " push {lr}\n" - " ldr r0, ._234 @ gSaveBlock1\n" - " ldr r1, ._234 + 4 @ 0x978\n" - " add r0, r0, r1\n" - " mov r1, #0xff\n" - " strh r1, [r0]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._235:\n" - " .align 2, 0\n" - "._234:\n" - " .word gSaveBlock1\n" - " .word 0x978\n" - "\n" - ); + gSaveBlock1.trainerRematchStepCounter = 255; + CloseMenu(); + return TRUE; } -NAKED -void DebugMenu_8077A40() +bool8 DebugMenu_8077A40(void) { - asm( - " push {lr}\n" - " ldr r0, ._236 @ gSaveBlock1\n" - " ldr r1, ._236 + 4 @ 0x978\n" - " add r0, r0, r1\n" - " mov r1, #0x0\n" - " strh r1, [r0]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._237:\n" - " .align 2, 0\n" - "._236:\n" - " .word gSaveBlock1\n" - " .word 0x978\n" - "\n" - ); + gSaveBlock1.trainerRematchStepCounter = 0; + CloseMenu(); + return TRUE; } -NAKED -u8 DebugMenu_8077A60() +const u8 Str_839BE94[] = _("Max num of steps"); +const u8 Str_839BEA5[] = _("Clear num of steps"); +const u8 Str_839BEB8[] = _("See trainers"); +const u8 Str_839BEC5[] = _("Flag all clear"); +const u8 Str_839BED4[] = _("Flag all set"); + +const struct MenuAction gUnknown_Debug_839BEE4[] = { + {Str_839BEB8, DebugMenu_8077974}, + {Str_839BE94, DebugMenu_8077A20}, + {Str_839BEA5, DebugMenu_8077A40}, + {Str_839BED4, DebugMenu_8077934}, + {Str_839BEC5, DebugMenu_8077954} +}; + +u8 DebugMenu_8077A60(void) { - asm( - " push {lr}\n" - " ldr r0, ._238 @ gUnknown_Debug_839BEE4\n" - " bl DebugMenu_8077D78\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._239:\n" - " .align 2, 0\n" - "._238:\n" - " .word gUnknown_Debug_839BEE4\n" - "\n" - ); + return DebugMenu_8077D78(gUnknown_Debug_839BEE4); } -NAKED -u8 DebugMenu_RematchTrainers() +u8 DebugMenu_RematchTrainers(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._240 @ gUnknown_Debug_839BEE4\n" - " mov r1, #0xd\n" - " mov r2, #0x5\n" - " bl DebugMenu_8077D24\n" - " ldr r1, ._240 + 4 @ gMenuCallback\n" - " ldr r0, ._240 + 8 @ DebugMenu_8077A60\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._241:\n" - " .align 2, 0\n" - "._240:\n" - " .word gUnknown_Debug_839BEE4\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077A60+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_8077D24(gUnknown_Debug_839BEE4, 13, 5); + gMenuCallback = DebugMenu_8077A60; + return FALSE; } -NAKED -void DebugMenu_8077A9C() +bool8 DebugMenu_8077A9C(void) { - asm( - " push {lr}\n" - " ldr r1, ._242 @ gNumSafariBalls\n" - " mov r0, #0x1e\n" - " strb r0, [r1]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._243:\n" - " .align 2, 0\n" - "._242:\n" - " .word gNumSafariBalls\n" - "\n" - ); + gNumSafariBalls = 30; + CloseMenu(); + return TRUE; } -NAKED -void DebugMenu_8077AB4() +bool8 DebugMenu_8077AB4() { - asm( - " push {lr}\n" - " ldr r1, ._244 @ gNumSafariBalls\n" - " mov r0, #0x1\n" - " strb r0, [r1]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._245:\n" - " .align 2, 0\n" - "._244:\n" - " .word gNumSafariBalls\n" - "\n" - ); + gNumSafariBalls = 1; + CloseMenu(); + return TRUE; } -NAKED -void DebugMenu_8077ACC() +bool8 DebugMenu_8077ACC() { - asm( - " push {lr}\n" - " ldr r1, ._246 @ gSafariZoneStepCounter\n" - " mov r2, #0xfa\n" - " lsl r2, r2, #0x1\n" - " add r0, r2, #0\n" - " strh r0, [r1]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._247:\n" - " .align 2, 0\n" - "._246:\n" - " .word gSafariZoneStepCounter\n" - "\n" - ); + gSafariZoneStepCounter = 500; + CloseMenu(); + return TRUE; } -NAKED -void DebugMenu_8077AE8() +bool8 DebugMenu_8077AE8() { - asm( - " push {lr}\n" - " ldr r1, ._248 @ gSafariZoneStepCounter\n" - " mov r0, #0x1\n" - " strh r0, [r1]\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._249:\n" - " .align 2, 0\n" - "._248:\n" - " .word gSafariZoneStepCounter\n" - "\n" - ); + gSafariZoneStepCounter = 1; + CloseMenu(); + return TRUE; } -NAKED -void DebugMenu_8077B00() +const u8 Str_839BF0C[] = _("のこり {STR_VAR_1}ほ"); +const u8 Str_839BF14[] = _("{STR_VAR_1}\n" + "のこり {STR_VAR_2}ほ"); +const u8 Str_839BF1F[] = _("めのまえには\n" + "キューブが ありません!"); + +bool8 DebugMenu_8077B00() { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " bl unref_sub_80C853C\n" - " cmp r0, #0\n" - " beq ._250 @cond_branch\n" - " ldr r0, ._252 @ Str_839BF14\n" - " bl sub_8071F40\n" - " b ._251\n" - "._253:\n" - " .align 2, 0\n" - "._252:\n" - " .word Str_839BF14\n" - "._250:\n" - " ldr r0, ._254 @ Str_839BF1F\n" - " bl sub_8071F40\n" - "._251:\n" - " ldr r1, ._254 + 4 @ gMenuCallback\n" - " ldr r0, ._254 + 8 @ DebugMenu_8077DB4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._255:\n" - " .align 2, 0\n" - "._254:\n" - " .word Str_839BF1F\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077DB4+1\n" - "\n" - ); + Menu_EraseScreen(); + if (unref_sub_80C853C()) + sub_8071F40(Str_839BF14); + else + sub_8071F40(Str_839BF1F); + gMenuCallback = DebugMenu_8077DB4; + return FALSE; } -NAKED -void DebugMenu_8077B3C() +const u8 Str_839BF33[] = _("ほすうをのこり1にする"); +const u8 Str_839BF3F[] = _("ボールをのこり1にする"); +const u8 Str_839BF4B[] = _("キューブおきば"); +const u8 Str_839BF53[] = _("ボールをのこり30に"); +const u8 Str_839BF5E[] = _("ほすうをのこり500に"); + +const struct MenuAction gUnknown_Debug_839BF6C[] = { + {Str_839BF4B, DebugMenu_8077B00}, + {Str_839BF5E, DebugMenu_8077ACC}, + {Str_839BF33, DebugMenu_8077AE8}, + {Str_839BF53, DebugMenu_8077A9C}, + {Str_839BF3F, DebugMenu_8077AB4} +}; + +bool8 DebugMenu_8077B3C() { - asm( - " push {lr}\n" - " ldr r0, ._256 @ gUnknown_Debug_839BF6C\n" - " bl DebugMenu_8077D78\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._257:\n" - " .align 2, 0\n" - "._256:\n" - " .word gUnknown_Debug_839BF6C\n" - "\n" - ); + return DebugMenu_8077D78(gUnknown_Debug_839BF6C); } -NAKED u8 DebugMenu_Safari() { - asm( - " push {lr}\n" - " bl GetSafariZoneFlag\n" - " cmp r0, #0\n" - " beq ._258 @cond_branch\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._260 @ gUnknown_Debug_839BF6C\n" - " mov r1, #0xe\n" - " mov r2, #0x5\n" - " bl DebugMenu_8077D24\n" - " ldr r0, ._260 + 4 @ gStringVar1\n" - " ldr r1, ._260 + 8 @ gSafariZoneStepCounter\n" - " ldrh r1, [r1]\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " ldr r0, ._260 + 12 @ Str_839BF0C\n" - " bl sub_8071F40\n" - " ldr r1, ._260 + 16 @ gMenuCallback\n" - " ldr r0, ._260 + 20 @ DebugMenu_8077B3C\n" - " str r0, [r1]\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x0\n" - " b ._259\n" - "._261:\n" - " .align 2, 0\n" - "._260:\n" - " .word gUnknown_Debug_839BF6C\n" - " .word gStringVar1\n" - " .word gSafariZoneStepCounter\n" - " .word Str_839BF0C\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077B3C+1\n" - "._258:\n" - " bl CloseMenu\n" - " mov r0, #0x16\n" - " bl PlaySE\n" - " mov r0, #0x1\n" - "._259:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (!GetSafariZoneFlag()) + { + CloseMenu(); + PlaySE(SE_BOO); + return TRUE; + } + Menu_EraseScreen(); + DebugMenu_8077D24(gUnknown_Debug_839BF6C, 14, 5); + ConvertIntToDecimalStringN(gStringVar1, gSafariZoneStepCounter, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8071F40(Str_839BF0C); + gMenuCallback = DebugMenu_8077B3C; + ScriptContext2_Enable(); + return FALSE; } NAKED -void DebugMenu_8077BB4() +bool8 DebugMenu_8077BB4() { asm( " push {lr}\n" @@ -1596,7 +1285,7 @@ void DebugMenu_8077BB4() } NAKED -void DebugMenu_8077BC0() +bool8 DebugMenu_8077BC0() { asm( " push {lr}\n" @@ -1609,7 +1298,7 @@ void DebugMenu_8077BC0() } NAKED -void DebugMenu_8077BCC() +bool8 DebugMenu_8077BCC() { asm( " push {lr}\n" @@ -1622,7 +1311,7 @@ void DebugMenu_8077BCC() } NAKED -void DebugMenu_8077BD8() +bool8 DebugMenu_8077BD8() { asm( " push {lr}\n" @@ -1635,7 +1324,7 @@ void DebugMenu_8077BD8() } NAKED -void DebugMenu_8077BE4() +bool8 DebugMenu_8077BE4() { asm( " push {lr}\n" @@ -1649,7 +1338,7 @@ void DebugMenu_8077BE4() } NAKED -void DebugMenu_8077BF4() +bool8 DebugMenu_8077BF4() { asm( " push {lr}\n" @@ -1662,7 +1351,7 @@ void DebugMenu_8077BF4() } NAKED -void DebugMenu_8077C00() +bool8 DebugMenu_8077C00() { asm( " push {lr}\n" @@ -1681,7 +1370,7 @@ void DebugMenu_8077C00() } NAKED -void DebugMenu_8077C14() +u8 DebugMenu_8077C14(void) { asm( " push {lr}\n" @@ -1926,7 +1615,7 @@ u8 DebugMenu_8077D78(const struct MenuAction *menuActions) } NAKED -void DebugMenu_8077DB4() +bool8 DebugMenu_8077DB4(void) { asm( " push {lr}\n" @@ -1953,7 +1642,7 @@ void DebugMenu_8077DB4() } NAKED -void DebugMenu_8077DD8() +bool8 DebugMenu_8077DD8() { asm( " push {r4, r5, lr}\n" @@ -2020,7 +1709,7 @@ void DebugMenu_8077DD8() } NAKED -void DebugMenu_8077E40() +bool8 DebugMenu_8077E40() { asm( " push {r4, lr}\n" @@ -2835,7 +2524,7 @@ u8 DebugMenu_MiragaIslandRND() } NAKED -void DebugMenu_80783C8() +bool8 DebugMenu_80783C8() { asm( " push {r4, lr}\n" @@ -2927,7 +2616,7 @@ u8 DebugMenu_ToggleClearFlag() } NAKED -void DebugMenu_8078464() +bool8 DebugMenu_8078464() { asm( " push {r4, lr}\n" @@ -3009,7 +2698,7 @@ u8 DebugMenu_OpenWeatherEvents() } NAKED -void DebugMenu_80784E8() +bool8 DebugMenu_80784E8() { asm( " push {lr}\n" @@ -3171,7 +2860,7 @@ void DebugMenu_8078550() } NAKED -void DebugMenu_807860C() +bool8 DebugMenu_807860C() { asm( " push {r4, r5, lr}\n" @@ -3372,7 +3061,7 @@ void DebugMenu_8078714() } NAKED -void DebugMenu_8078758() +bool8 DebugMenu_8078758() { asm( " push {r4, lr}\n" @@ -3391,7 +3080,7 @@ void DebugMenu_8078758() } NAKED -void DebugMenu_8078774() +bool8 DebugMenu_8078774() { asm( " push {lr}\n" @@ -3410,7 +3099,7 @@ void DebugMenu_8078774() } NAKED -void DebugMenu_8078788() +bool8 DebugMenu_8078788() { asm( " push {lr}\n" @@ -3429,7 +3118,7 @@ void DebugMenu_8078788() } NAKED -void DebugMenu_807879C() +bool8 DebugMenu_807879C() { asm( " push {lr}\n" @@ -3448,7 +3137,7 @@ void DebugMenu_807879C() } NAKED -void DebugMenu_80787B0() +bool8 DebugMenu_80787B0() { asm( " push {lr}\n" @@ -4192,7 +3881,7 @@ u8 DebugMenu_CheckPKBLCK() } NAKED -void DebugMenu_8078C80() +bool8 DebugMenu_8078C80() { asm( " push {lr}\n" @@ -4218,7 +3907,7 @@ void DebugMenu_8078C80() } NAKED -void DebugMenu_8078CA8() +bool8 DebugMenu_8078CA8() { asm( " push {lr}\n" @@ -4257,7 +3946,7 @@ void DebugMenu_8078CA8() } NAKED -void DebugMenu_8078CE4() +bool8 DebugMenu_8078CE4() { asm( " push {lr}\n" @@ -4301,7 +3990,7 @@ void DebugMenu_8078CE4() } NAKED -void DebugMenu_8078D30() +bool8 DebugMenu_8078D30() { asm( " push {r4, r5, r6, lr}\n" @@ -4343,7 +4032,7 @@ void DebugMenu_8078D30() } NAKED -void DebugMenu_8078D7C() +bool8 DebugMenu_8078D7C() { asm( " push {lr}\n" @@ -4369,7 +4058,7 @@ void DebugMenu_8078D7C() } NAKED -void DebugMenu_8078DA4() +bool8 DebugMenu_8078DA4() { asm( " push {lr}\n" @@ -4422,7 +4111,7 @@ u8 DebugMenu_MeTooBackupMan() } NAKED -void DebugMenu_8078DF0() +bool8 DebugMenu_8078DF0() { asm( " push {lr}\n" @@ -4441,7 +4130,7 @@ void DebugMenu_8078DF0() } NAKED -void DebugMenu_8078E04() +bool8 DebugMenu_8078E04() { asm( " push {r4, r5, r6, lr}\n" @@ -4484,7 +4173,7 @@ void DebugMenu_8078E04() } NAKED -void DebugMenu_8078E40() +bool8 DebugMenu_8078E40() { asm( " push {r4, r5, r6, lr}\n" diff --git a/src/safari_zone.c b/src/safari_zone.c index f371b08b3..f4f1d96a6 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -236,7 +236,7 @@ static void DecrementFeederStepCounters(void) } } -bool8 unref_sub_80C853C(void) +bool32 unref_sub_80C853C(void) { SafariZoneGetPokeblockNameInFeeder(); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index ddad43a56..7e5dac594 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3698,7 +3698,7 @@ const u16 gRoute119WaterTileData[] = extern u16 gSpecialVar_Result; extern u8 S_RepelWoreOff[]; -EWRAM_DATA u8 sWildEncountersDisabled = 0; +EWRAM_DATA u8 gWildEncountersDisabled = 0; EWRAM_DATA static u32 sFeebasRngValue = 0; #define NUM_FEEBAS_SPOTS 6 @@ -3712,7 +3712,7 @@ static void ApplyCleanseTagEncounterRateMod(u32 *encRate); void DisableWildEncounters(bool8 disabled) { - sWildEncountersDisabled = disabled; + gWildEncountersDisabled = disabled; } static u16 GetRoute119WaterTileNum(s16 x, s16 y, u8 section) @@ -4110,7 +4110,7 @@ bool8 StandardWildEncounter(u16 a, u16 b) u16 headerNum; struct Roamer *roamer; - if (sWildEncountersDisabled == TRUE) + if (gWildEncountersDisabled == TRUE) return 0; else { -- cgit v1.2.3 From 676db333866efd16d17aeedc507f53f3db2206ab Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 11:37:32 -0400 Subject: through DebugMenu_8077C14 --- src/debug/start_menu_debug.c | 166 +++++++++++++++---------------------------- 1 file changed, 56 insertions(+), 110 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 4663d01a6..35f4f3f57 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -2,6 +2,7 @@ #include "global.h" #include "constants/songs.h" +#include "constants/moves.h" #include "battle.h" #include "debug.h" #include "link.h" @@ -32,6 +33,13 @@ #include "wild_encounter.h" #include "battle_setup.h" #include "safari_zone.h" +#include "fldeff_cut.h" +#include "fldeff_flash.h" +#include "rom6.h" +#include "fldeff_strength.h" +#include "pokemon_menu.h" +#include "fldeff_secretpower.h" +#include "data2.h" // berry_blender.c extern void unref_sub_80524BC(void); @@ -44,7 +52,7 @@ void DebugMenu_807719C(void); void DebugMenu_80771EC(void); void DebugMenu_8077238(void); u8 DebugMenu_8077D78(const struct MenuAction *menuActions); -void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 a2); +void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 itemCount); u8 DebugMenu_8077C14(void); bool8 DebugMenu_8077DB4(void); @@ -882,7 +890,7 @@ u8 DebugMenu_807750C(void) u8 DebugMenu_SetRamBerry(void) { - DebugMenu_8077D24(gUnknown_Debug_839BE24, 12, 5); + DebugMenu_8077D24(gUnknown_Debug_839BE24, 12, ARRAY_COUNT(gUnknown_Debug_839BE24)); gMenuCallback = DebugMenu_807750C; return FALSE; } @@ -1185,7 +1193,7 @@ u8 DebugMenu_8077A60(void) u8 DebugMenu_RematchTrainers(void) { Menu_EraseScreen(); - DebugMenu_8077D24(gUnknown_Debug_839BEE4, 13, 5); + DebugMenu_8077D24(gUnknown_Debug_839BEE4, 13, ARRAY_COUNT(gUnknown_Debug_839BEE4)); gMenuCallback = DebugMenu_8077A60; return FALSE; } @@ -1197,21 +1205,21 @@ bool8 DebugMenu_8077A9C(void) return TRUE; } -bool8 DebugMenu_8077AB4() +bool8 DebugMenu_8077AB4(void) { gNumSafariBalls = 1; CloseMenu(); return TRUE; } -bool8 DebugMenu_8077ACC() +bool8 DebugMenu_8077ACC(void) { gSafariZoneStepCounter = 500; CloseMenu(); return TRUE; } -bool8 DebugMenu_8077AE8() +bool8 DebugMenu_8077AE8(void) { gSafariZoneStepCounter = 1; CloseMenu(); @@ -1224,7 +1232,7 @@ const u8 Str_839BF14[] = _("{STR_VAR_1}\n" const u8 Str_839BF1F[] = _("めのまえには\n" "キューブが ありません!"); -bool8 DebugMenu_8077B00() +bool8 DebugMenu_8077B00(void) { Menu_EraseScreen(); if (unref_sub_80C853C()) @@ -1249,12 +1257,12 @@ const struct MenuAction gUnknown_Debug_839BF6C[] = { {Str_839BF3F, DebugMenu_8077AB4} }; -bool8 DebugMenu_8077B3C() +bool8 DebugMenu_8077B3C(void) { return DebugMenu_8077D78(gUnknown_Debug_839BF6C); } -u8 DebugMenu_Safari() +u8 DebugMenu_Safari(void) { if (!GetSafariZoneFlag()) { @@ -1263,7 +1271,7 @@ u8 DebugMenu_Safari() return TRUE; } Menu_EraseScreen(); - DebugMenu_8077D24(gUnknown_Debug_839BF6C, 14, 5); + DebugMenu_8077D24(gUnknown_Debug_839BF6C, 14, ARRAY_COUNT(gUnknown_Debug_839BF6C)); ConvertIntToDecimalStringN(gStringVar1, gSafariZoneStepCounter, STR_CONV_MODE_RIGHT_ALIGN, 3); sub_8071F40(Str_839BF0C); gMenuCallback = DebugMenu_8077B3C; @@ -1271,128 +1279,66 @@ u8 DebugMenu_Safari() return FALSE; } -NAKED -bool8 DebugMenu_8077BB4() +bool8 DebugMenu_8077BB4(void) { - asm( - " push {lr}\n" - " bl debug_sub_80AFEE4\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_80AFEE4(); + return TRUE; } -NAKED -bool8 DebugMenu_8077BC0() +bool8 DebugMenu_8077BC0(void) { - asm( - " push {lr}\n" - " bl debug_sub_8122080\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_8122080(); + return TRUE; } -NAKED -bool8 DebugMenu_8077BCC() +bool8 DebugMenu_8077BCC(void) { - asm( - " push {lr}\n" - " bl debug_sub_8120968\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_8120968(); + return TRUE; } -NAKED -bool8 DebugMenu_8077BD8() +bool8 DebugMenu_8077BD8(void) { - asm( - " push {lr}\n" - " bl debug_sub_8130318\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_8130318(); + return TRUE; } -NAKED -bool8 DebugMenu_8077BE4() +bool8 DebugMenu_8077BE4(void) { - asm( - " push {lr}\n" - " bl debug_sub_80986AC\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_80986AC(); + CloseMenu(); + return TRUE; } -NAKED -bool8 DebugMenu_8077BF4() +bool8 DebugMenu_8077BF4(void) { - asm( - " push {lr}\n" - " bl debug_sub_80D93F4\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + debug_sub_80D93F4(); + return TRUE; } -NAKED -bool8 DebugMenu_8077C00() +const struct MenuAction gUnknown_Debug_839BF94[] = { + {gMoveNames[MOVE_CUT], DebugMenu_8077BB4}, + {gMoveNames[MOVE_FLASH], DebugMenu_8077BC0}, + {gMoveNames[MOVE_ROCK_SMASH], DebugMenu_8077BCC}, + {gMoveNames[MOVE_STRENGTH], DebugMenu_8077BD8}, + {gMoveNames[MOVE_SURF], debug_sub_80B0770}, + {gMoveNames[MOVE_FLY], debug_sub_80B07B0}, + {gMoveNames[MOVE_WATERFALL], DebugMenu_8077BE4}, + {gMoveNames[MOVE_DIVE], debug_sub_80B0800}, + {gMoveNames[MOVE_SECRET_POWER], DebugMenu_8077BF4} +}; + +bool8 DebugMenu_8077C00(void) { - asm( - " push {lr}\n" - " ldr r0, ._262 @ gUnknown_Debug_839BF94\n" - " bl DebugMenu_8077D78\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._263:\n" - " .align 2, 0\n" - "._262:\n" - " .word gUnknown_Debug_839BF94\n" - "\n" - ); + return DebugMenu_8077D78(gUnknown_Debug_839BF94); } -NAKED u8 DebugMenu_8077C14(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._264 @ gUnknown_Debug_839BF94\n" - " mov r1, #0xa\n" - " mov r2, #0x9\n" - " bl DebugMenu_8077D24\n" - " ldr r1, ._264 + 4 @ gMenuCallback\n" - " ldr r0, ._264 + 8 @ DebugMenu_8077C00\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._265:\n" - " .align 2, 0\n" - "._264:\n" - " .word gUnknown_Debug_839BF94\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077C00+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_8077D24(gUnknown_Debug_839BF94, 10, ARRAY_COUNT(gUnknown_Debug_839BF94)); + gMenuCallback = DebugMenu_8077C00; + return FALSE; } NAKED @@ -1530,7 +1476,7 @@ void debug_sub_8077CF4() } NAKED -void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 a2) +void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 itemCount) { asm( " push {r4, r5, r6, lr}\n" -- cgit v1.2.3 From 0d5c05be8f2013c3ed2e9523fac788bac3607bd1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 12:41:53 -0400 Subject: Nonmatching DebugMenu_8077C3C --- src/debug/start_menu_debug.c | 224 +++++++++++++++++++++++++------------------ 1 file changed, 129 insertions(+), 95 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 35f4f3f57..ad2e3a1a4 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -314,10 +314,10 @@ extern const u8 Str_839BD2C[]; extern const u8 Str_839BD4C[]; static u8 gUnknown_030006B8; -UNUSED static u32 gUnknown_030006BC; +UNUSED static const s32 * gUnknown_030006BC; static u8 gUnknown_030006C0; static u8 gUnknown_030006C1; -static const u8 *gUnknown_030006C4; +static const u8 * gUnknown_030006C4; static u8 gUnknown_030006C8; void debug_sub_8076AC8(u8 a) @@ -1341,108 +1341,142 @@ u8 DebugMenu_8077C14(void) return FALSE; } -NAKED -void DebugMenu_8077C3C() +const u8 Str_839BFDC[] = _(" じかん ふん びょう"); + +const s32 gUnknown_Debug_839BFE8[] = { + 99, 10, 2, 23, + 99, 10, 2, 26 +}; + +#ifdef NONMATCHING +void DebugMenu_8077C3C(const char * a0, u8 * a1) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " mov r7, sl\n" - " mov r6, r9\n" - " mov r5, r8\n" - " push {r5, r6, r7}\n" - " add sp, sp, #0xfffffffc\n" - " mov sl, r0\n" - " add r7, r1, #0\n" - " ldr r0, ._271 @ gUnknown_030006BC\n" - " ldr r1, ._271 + 4 @ gUnknown_Debug_839BFE8\n" - " str r1, [r0]\n" - " mov r1, #0x0\n" - " strb r1, [r7]\n" - " add r7, r7, #0x1\n" - " strb r1, [r7]\n" - " add r7, r7, #0x1\n" - " mov r3, #0x0\n" - " mov r8, r0\n" + // Register allocation swap + // Intended: r7 = a1, r6 = gUnknown_030006BC[2] + // Observed: r6 = a1, r7 = gUnknown_030006BC[2] + + int i; + + gUnknown_030006BC = gUnknown_Debug_839BFE8; + *a1++ = CHAR_SPACE; + *a1++ = CHAR_SPACE; + + for (i = 0; i < 2; i++, gUnknown_030006BC += 4) + { + u32 r5 = 0; + int r2; + int r4; + for (r2 = gUnknown_030006BC[1], r4 = 0; r4 < gUnknown_030006BC[2]; r4++, r2 /= 10) + r5 += (a0[gUnknown_030006BC[3] + r4] - '0') * r2; + if (gUnknown_030006BC[0] < r5) + r5 = gUnknown_030006BC[0]; + a1 = ConvertIntToDecimalStringN(a1, r5, STR_CONV_MODE_LEADING_ZEROS, gUnknown_030006BC[2]); + } + a1[0] = a0[29] - 'A' + CHAR_A; + if (a1[0] > 0xf6) + a1[0] = 0xf6; + a1[1] = EOS; +} +#else +NAKED void DebugMenu_8077C3C(const char * a0, u8 * a1) +{ + asm("\tpush\t{r4, r5, r6, r7, lr}\n" + "\tmov\tr7, sl\n" + "\tmov\tr6, r9\n" + "\tmov\tr5, r8\n" + "\tpush\t{r5, r6, r7}\n" + "\tadd\tsp, sp, #0xfffffffc\n" + "\tmov\tsl, r0\n" + "\tadd\tr7, r1, #0\n" + "\tldr\tr0, ._271 @ gUnknown_030006BC\n" + "\tldr\tr1, ._271 + 4 @ gUnknown_Debug_839BFE8\n" + "\tstr\tr1, [r0]\n" + "\tmov\tr1, #0x0\n" + "\tstrb\tr1, [r7]\n" + "\tadd\tr7, r7, #0x1\n" + "\tstrb\tr1, [r7]\n" + "\tadd\tr7, r7, #0x1\n" + "\tmov\tr3, #0x0\n" + "\tmov\tr8, r0\n" "._269:\n" - " mov r5, #0x0\n" - " ldr r1, ._271 @ gUnknown_030006BC\n" - " ldr r0, [r1]\n" - " ldr r2, [r0, #0x4]\n" - " mov r4, #0x0\n" - " ldr r1, [r0, #0x8]\n" - " add r3, r3, #0x1\n" - " mov r9, r3\n" - " cmp r5, r1\n" - " bge ._266 @cond_branch\n" - " add r3, r0, #0\n" - " add r6, r1, #0\n" + "\tmov\tr5, #0x0\n" + "\tldr\tr1, ._271 @ gUnknown_030006BC\n" + "\tldr\tr0, [r1]\n" + "\tldr\tr2, [r0, #0x4]\n" + "\tmov\tr4, #0x0\n" + "\tldr\tr1, [r0, #0x8]\n" + "\tadd\tr3, r3, #0x1\n" + "\tmov\tr9, r3\n" + "\tcmp\tr5, r1\n" + "\tbge\t._266\t@cond_branch\n" + "\tadd\tr3, r0, #0\n" + "\tadd\tr6, r1, #0\n" "._267:\n" - " ldr r0, [r3, #0xc]\n" - " add r0, r0, r4\n" - " add r0, r0, sl\n" - " ldrb r0, [r0]\n" - " sub r0, r0, #0x30\n" - " mul r0, r0, r2\n" - " add r5, r5, r0\n" - " add r4, r4, #0x1\n" - " add r0, r2, #0\n" - " mov r1, #0xa\n" - " str r3, [sp]\n" - " bl __divsi3\n" - " add r2, r0, #0\n" - " ldr r3, [sp]\n" - " cmp r4, r6\n" - " blt ._267 @cond_branch\n" + "\tldr\tr0, [r3, #0xc]\n" + "\tadd\tr0, r0, r4\n" + "\tadd r0, r0, sl\n" + "\tldrb\tr0, [r0]\n" + "\tsub\tr0, r0, #0x30\n" + "\tmul\tr0, r0, r2\n" + "\tadd\tr5, r5, r0\n" + "\tadd\tr4, r4, #0x1\n" + "\tadd\tr0, r2, #0\n" + "\tmov\tr1, #0xa\n" + "\tstr\tr3, [sp]\n" + "\tbl\t__divsi3\n" + "\tadd\tr2, r0, #0\n" + "\tldr\tr3, [sp]\n" + "\tcmp\tr4, r6\n" + "\tblt\t._267\t@cond_branch\n" "._266:\n" - " mov r0, r8\n" - " ldr r1, [r0]\n" - " ldr r0, [r1]\n" - " cmp r0, r5\n" - " bcs ._268 @cond_branch\n" - " add r5, r0, #0\n" + "\tmov\tr0, r8\n" + "\tldr\tr1, [r0]\n" + "\tldr\tr0, [r1]\n" + "\tcmp\tr0, r5\n" + "\tbcs\t._268\t@cond_branch\n" + "\tadd\tr5, r0, #0\n" "._268:\n" - " ldrb r3, [r1, #0x8]\n" - " add r0, r7, #0\n" - " add r1, r5, #0\n" - " mov r2, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r7, r0, #0\n" - " mov r3, r9\n" - " mov r1, r8\n" - " ldr r0, [r1]\n" - " add r0, r0, #0x10\n" - " str r0, [r1]\n" - " cmp r3, #0x1\n" - " ble ._269 @cond_branch\n" - " mov r1, sl\n" - " ldrb r0, [r1, #0x1d]\n" - " add r0, r0, #0x7a\n" - " strb r0, [r7]\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0xf6\n" - " bls ._270 @cond_branch\n" - " mov r0, #0xf6\n" - " strb r0, [r7]\n" + "\tldrb\tr3, [r1, #0x8]\n" + "\tadd\tr0, r7, #0\n" + "\tadd\tr1, r5, #0\n" + "\tmov\tr2, #0x2\n" + "\tbl\tConvertIntToDecimalStringN\n" + "\tadd\tr7, r0, #0\n" + "\tmov\tr3, r9\n" + "\tmov\tr1, r8\n" + "\tldr\tr0, [r1]\n" + "\tadd\tr0, r0, #0x10\n" + "\tstr\tr0, [r1]\n" + "\tcmp\tr3, #0x1\n" + "\tble\t._269\t@cond_branch\n" + "\tmov\tr1, sl\n" + "\tldrb\tr0, [r1, #0x1d]\n" + "\tadd\tr0, r0, #0x7a\n" + "\tstrb\tr0, [r7]\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr0, r0, #0x18\n" + "\tcmp\tr0, #0xf6\n" + "\tbls\t._270\t@cond_branch\n" + "\tmov\tr0, #0xf6\n" + "\tstrb\tr0, [r7]\n" "._270:\n" - " mov r0, #0xff\n" - " strb r0, [r7, #0x1]\n" - " add sp, sp, #0x4\n" - " pop {r3, r4, r5}\n" - " mov r8, r3\n" - " mov r9, r4\n" - " mov sl, r5\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" + "\tmov\tr0, #0xff\n" + "\tstrb\tr0, [r7, #0x1]\n" + "\tadd\tsp, sp, #0x4\n" + "\tpop\t{r3, r4, r5}\n" + "\tmov\tr8, r3\n" + "\tmov\tr9, r4\n" + "\tmov\tsl, r5\n" + "\tpop\t{r4, r5, r6, r7}\n" + "\tpop\t{r0}\n" + "\tbx\tr0\n" "._272:\n" - " .align 2, 0\n" + "\t.align\t2, 0\n" "._271:\n" - " .word gUnknown_030006BC \n" - " .word gUnknown_Debug_839BFE8\n" - "\n" - ); + "\t.word\tgUnknown_030006BC \n" + "\t.word\tgUnknown_Debug_839BFE8\n"); } +#endif NAKED void debug_sub_8077CF4() -- cgit v1.2.3 From bac8127928eb5f19245b49449ad423f853a4d7ed Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 15:52:49 -0400 Subject: through DebugMenu_8078254 --- src/debug/start_menu_debug.c | 987 ++++++++++--------------------------------- 1 file changed, 225 insertions(+), 762 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index ad2e3a1a4..43d13ae9c 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -3,6 +3,7 @@ #include "global.h" #include "constants/songs.h" #include "constants/moves.h" +#include "constants/items.h" #include "battle.h" #include "debug.h" #include "link.h" @@ -40,21 +41,27 @@ #include "pokemon_menu.h" #include "fldeff_secretpower.h" #include "data2.h" +#include "item.h" // berry_blender.c extern void unref_sub_80524BC(void); void debug_sub_8076BB4(u8); -void debug_sub_8077CF4(); +void debug_sub_8077CF4(u8 x, u8 y); u8 DebugMenu_807706C(void); u8 DebugMenu_807709C(void); void DebugMenu_807719C(void); void DebugMenu_80771EC(void); void DebugMenu_8077238(void); u8 DebugMenu_8077D78(const struct MenuAction *menuActions); -void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 itemCount); +void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 width, u8 itemCount); u8 DebugMenu_8077C14(void); bool8 DebugMenu_8077DB4(void); +void DebugMenu_8077EAC(void); +void DebugMenu_8077F40(u8 taskId); +void DebugMenu_8077F7C(u8 taskId); +void DebugMenu_8077FFC(u8 taskId); +void DebugMenu_807806C(u8 taskId); u8 DebugMenu_Exit(void); u8 DebugMenu_OpenWatanabe(void); @@ -1478,819 +1485,272 @@ NAKED void DebugMenu_8077C3C(const char * a0, u8 * a1) } #endif -NAKED -void debug_sub_8077CF4() +void debug_sub_8077CF4(u8 x, u8 y) { - asm( - " push {r4, r5, r6, lr}\n" - " add r4, r0, #0\n" - " add r5, r1, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " ldr r0, ._273 @ BuildDateTime\n" - " ldr r6, ._273 + 4 @ gStringVar4\n" - " add r1, r6, #0\n" - " bl DebugMenu_8077C3C\n" - " add r0, r6, #0\n" - " add r1, r4, #0\n" - " add r2, r5, #0\n" - " bl Menu_PrintText\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._274:\n" - " .align 2, 0\n" - "._273:\n" - " .word BuildDateTime\n" - " .word gStringVar4\n" - "\n" - ); + DebugMenu_8077C3C(BuildDateTime, gStringVar4); + Menu_PrintText(gStringVar4, x, y); } -NAKED -void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 a1, u8 itemCount) +void DebugMenu_8077D24(const struct MenuAction *menuAction, u8 width, u8 itemCount) { - asm( - " push {r4, r5, r6, lr}\n" - " add sp, sp, #0xfffffff8\n" - " add r6, r0, #0\n" - " add r4, r1, #0\n" - " add r5, r2, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " lsl r5, r5, #0x18\n" - " lsr r5, r5, #0x18\n" - " bl Menu_EraseScreen\n" - " lsl r3, r5, #0x1\n" - " add r3, r3, #0x1\n" - " lsl r3, r3, #0x18\n" - " lsr r3, r3, #0x18\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " add r2, r4, #0\n" - " bl Menu_DrawStdWindowFrame\n" - " mov r0, #0x1\n" - " mov r1, #0x1\n" - " add r2, r5, #0\n" - " add r3, r6, #0\n" - " bl Menu_PrintItems\n" - " mov r0, #0x0\n" - " str r0, [sp]\n" - " sub r4, r4, #0x1\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " str r4, [sp, #0x4]\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " add r3, r5, #0\n" - " bl InitMenu\n" - " add sp, sp, #0x8\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, width, 2 * itemCount + 1); + Menu_PrintItems(1, 1, itemCount, menuAction); + InitMenu(0, 1, 1, itemCount, 0, width - 1); } -NAKED u8 DebugMenu_8077D78(const struct MenuAction *menuActions) { - asm( - " push {r4, r5, lr}\n" - " add r5, r0, #0\n" - " bl Menu_ProcessInput\n" - " lsl r0, r0, #0x18\n" - " asr r4, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r4, r0\n" - " beq ._275 @cond_branch\n" - " add r0, r0, #0x1\n" - " cmp r4, r0\n" - " beq ._276 @cond_branch\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._278 @ gMenuCallback\n" - " lsl r1, r4, #0x3\n" - " add r1, r1, r5\n" - " ldr r1, [r1, #0x4]\n" - " str r1, [r0]\n" - "._275:\n" - " mov r0, #0x0\n" - " b ._277\n" - "._279:\n" - " .align 2, 0\n" - "._278:\n" - " .word gMenuCallback\n" - "._276:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._277:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + s8 input = Menu_ProcessInput(); + switch (input) + { + default: + Menu_EraseScreen(); + gMenuCallback = menuActions[input].func; + return FALSE; + case -2: + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } } -NAKED bool8 DebugMenu_8077DB4(void) { - asm( - " push {lr}\n" - " ldr r0, ._282 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._280 @cond_branch\n" - " mov r0, #0x0\n" - " b ._281\n" - "._283:\n" - " .align 2, 0\n" - "._282:\n" - " .word gMain\n" - "._280:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._281:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (gMain.newKeys & A_BUTTON) + { + CloseMenu(); + return TRUE; + } + return FALSE; } -NAKED -bool8 DebugMenu_8077DD8() +bool32 DebugMenu_8077DD8(s16 * a0, s32 a1, s32 a2, u16 a3) { - asm( - " push {r4, r5, lr}\n" - " add r4, r0, #0\n" - " add r5, r1, #0\n" - " lsl r3, r3, #0x10\n" - " lsr r3, r3, #0x10\n" - " add r1, r3, #0\n" - " mov r0, #0x80\n" - " and r0, r0, r3\n" - " cmp r0, #0\n" - " beq ._284 @cond_branch\n" - " ldrh r0, [r4]\n" - " sub r0, r0, #0x1\n" - " b ._285\n" - "._284:\n" - " mov r0, #0x40\n" - " and r0, r0, r3\n" - " cmp r0, #0\n" - " beq ._286 @cond_branch\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0x1\n" - " b ._287\n" - "._286:\n" - " mov r0, #0x20\n" - " and r0, r0, r3\n" - " cmp r0, #0\n" - " beq ._288 @cond_branch\n" - " ldrh r0, [r4]\n" - " sub r0, r0, #0xa\n" - "._285:\n" - " strh r0, [r4]\n" - " mov r1, #0x0\n" - " ldsh r0, [r4, r1]\n" - " cmp r0, r5\n" - " bge ._293 @cond_branch\n" - " strh r2, [r4]\n" - " b ._293\n" - "._288:\n" - " mov r0, #0x10\n" - " and r1, r1, r0\n" - " cmp r1, #0\n" - " bne ._291 @cond_branch\n" - " mov r0, #0x0\n" - " b ._292\n" - "._291:\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0xa\n" - "._287:\n" - " strh r0, [r4]\n" - " mov r1, #0x0\n" - " ldsh r0, [r4, r1]\n" - " cmp r0, r2\n" - " ble ._293 @cond_branch\n" - " strh r5, [r4]\n" - "._293:\n" - " mov r0, #0x1\n" - "._292:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (a3 & DPAD_DOWN) + { + *a0 -= 1; + if (*a0 < a1) + *a0 = a2; + } + else if (a3 & DPAD_UP) + { + *a0 += 1; + if (*a0 > a2) + *a0 = a1; + } + else if (a3 & DPAD_LEFT) + { + *a0 -= 10; + if (*a0 < a1) + *a0 = a2; + } + else if (a3 & DPAD_RIGHT) + { + *a0 += 10; + if (*a0 > a2) + *a0 = a1; + } + else + return FALSE; + return TRUE; } -NAKED -bool8 DebugMenu_8077E40() +int DebugMenu_8077E40(int flag) { - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " ldr r0, ._297 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._294 @cond_branch\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._295 @cond_branch\n" - "._294:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " b ._302\n" - "._298:\n" - " .align 2, 0\n" - "._297:\n" - " .word gMain\n" - "._295:\n" - " mov r0, #0x30\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._299 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " cmp r4, #0\n" - " beq ._300 @cond_branch\n" - " mov r0, #0x1\n" - " bl DebugMenu_807786C\n" - " mov r0, #0x0\n" - " b ._302\n" - "._300:\n" - " mov r0, #0x0\n" - " bl DebugMenu_807786C\n" - " mov r0, #0x1\n" - " b ._302\n" - "._299:\n" - " add r0, r4, #0\n" - "._302:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return -1; + } + if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) + { + PlaySE(SE_SELECT); + if (flag) + { + DebugMenu_807786C(1); + return 0; + } + else + { + DebugMenu_807786C(0); + return 1; + } + } + return flag; } -NAKED u8 DebugMenu_MakeItems() { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl DebugMenu_8077EAC\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + DebugMenu_8077EAC(); + ScriptContext2_Enable(); + return TRUE; } -NAKED -void DebugMenu_8077EAC() +void DebugMenu_8077EAC(void) { - asm( - " push {r4, lr}\n" - " ldr r0, ._303 @ DebugMenu_8077F40\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_EraseScreen\n" - " ldr r1, ._303 + 4 @ gTasks\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " mov r1, #0x1\n" - " strh r1, [r0, #0xa]\n" - " strh r1, [r0, #0xc]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._304:\n" - " .align 2, 0\n" - "._303:\n" - " .word DebugMenu_8077F40+1\n" - " .word gTasks\n" - "\n" - ); + u8 taskId = CreateTask(DebugMenu_8077F40, 80); + Menu_EraseScreen(); + gTasks[taskId].data[1] = 1; + gTasks[taskId].data[2] = 1; } -NAKED -void DebugMenu_8077EE0() +void DebugMenu_8077EE0(u16 itemId, u16 quantity) { - asm( - " push {r4, r5, r6, lr}\n" - " add r4, r0, #0\n" - " add r6, r1, #0\n" - " lsl r4, r4, #0x10\n" - " lsr r4, r4, #0x10\n" - " lsl r6, r6, #0x10\n" - " lsr r6, r6, #0x10\n" - " mov r0, #0x4\n" - " mov r1, #0x11\n" - " mov r2, #0x16\n" - " mov r3, #0x12\n" - " bl Menu_BlankWindowRect\n" - " ldr r5, ._305 @ gStringVar1\n" - " add r0, r5, #0\n" - " add r1, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x4\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r4, #0\n" - " bl ItemId_GetName\n" - " mov r1, #0x8\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " add r0, r5, #0\n" - " add r1, r6, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r5, #0\n" - " mov r1, #0x12\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._306:\n" - " .align 2, 0\n" - "._305:\n" - " .word gStringVar1\n" - "\n" - ); + Menu_BlankWindowRect(4, 17, 22, 18); + ConvertIntToDecimalStringN(gStringVar1, itemId, STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(gStringVar1, 4, 17); + Menu_PrintText(ItemId_GetName(itemId), 8, 17); + ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(gStringVar1, 18, 17); } -NAKED -void DebugMenu_8077F40() +const u8 gDebug0x839C008[] = _("Which item?"); + +void DebugMenu_8077F40(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r4, r0, #0x2\n" - " add r4, r4, r0\n" - " lsl r4, r4, #0x3\n" - " ldr r0, ._307 @ gTasks\n" - " add r4, r4, r0\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._307 + 4 @ gDebug0x839C008\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldrh r0, [r4, #0xa]\n" - " ldrh r1, [r4, #0xc]\n" - " bl DebugMenu_8077EE0\n" - " ldr r0, ._307 + 8 @ DebugMenu_8077F7C\n" - " str r0, [r4]\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._308:\n" - " .align 2, 0\n" - "._307:\n" - " .word gTasks\n" - " .word gDebug0x839C008\n" - " .word DebugMenu_8077F7C+1\n" - "\n" - ); + struct Task *task = gTasks + taskId; + Menu_DisplayDialogueFrame(); + Menu_PrintText(gDebug0x839C008, 2, 15); + DebugMenu_8077EE0(task->data[1], task->data[2]); + task->func = DebugMenu_8077F7C; +} + +const u8 Str_839C014[] = _("How many?"); + +void DebugMenu_8077F7C(u8 taskId) +{ + struct Task *task = gTasks + taskId; + if (gMain.newKeys & A_BUTTON) + { + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_839C014, 2, 15); + DebugMenu_8077EE0(task->data[1], task->data[2]); + task->func = DebugMenu_8077FFC; + } + else if (gMain.newKeys & B_BUTTON) + { + task->func = DebugMenu_807806C; + } + else if (DebugMenu_8077DD8(task->data + 1, 1, ITEM_15C, gMain.newAndRepeatedKeys) == TRUE) + { + DebugMenu_8077EE0(task->data[1], task->data[2]); + } } -NAKED -void DebugMenu_8077F7C() +void DebugMenu_8077FFC(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " ldr r0, ._311 @ gTasks\n" - " add r4, r1, r0\n" - " ldr r3, ._311 + 4 @ gMain\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._309 @cond_branch\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._311 + 8 @ Str_839C014\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldrh r0, [r4, #0xa]\n" - " ldrh r1, [r4, #0xc]\n" - " bl DebugMenu_8077EE0\n" - " ldr r0, ._311 + 12 @ DebugMenu_8077FFC\n" - " str r0, [r4]\n" - " b ._317\n" - "._312:\n" - " .align 2, 0\n" - "._311:\n" - " .word gTasks\n" - " .word gMain\n" - " .word Str_839C014\n" - " .word DebugMenu_8077FFC+1\n" - "._309:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._313 @cond_branch\n" - " ldr r0, ._315 @ DebugMenu_807806C\n" - " str r0, [r4]\n" - " b ._317\n" - "._316:\n" - " .align 2, 0\n" - "._315:\n" - " .word DebugMenu_807806C+1\n" - "._313:\n" - " add r0, r4, #0\n" - " add r0, r0, #0xa\n" - " mov r2, #0xae\n" - " lsl r2, r2, #0x1\n" - " ldrh r3, [r3, #0x30]\n" - " mov r1, #0x1\n" - " bl DebugMenu_8077DD8\n" - " cmp r0, #0x1\n" - " bne ._317 @cond_branch\n" - " ldrh r0, [r4, #0xa]\n" - " ldrh r1, [r4, #0xc]\n" - " bl DebugMenu_8077EE0\n" - "._317:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + struct Task *task = gTasks + taskId; + if (gMain.newKeys & A_BUTTON) + { + if (AddBagItem(task->data[1], task->data[2]) == TRUE) + PlaySE(SE_SELECT); + task->func = DebugMenu_8077F40; + } + else if (gMain.newKeys & B_BUTTON) + { + task->func = DebugMenu_8077F40; + } + else if (DebugMenu_8077DD8(task->data + 2, 1, 99, gMain.newAndRepeatedKeys) == TRUE) + { + DebugMenu_8077EE0(task->data[1], task->data[2]); + } } -NAKED -void DebugMenu_8077FFC() +void DebugMenu_807806C(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " ldr r0, ._321 @ gTasks\n" - " add r4, r1, r0\n" - " ldr r2, ._321 + 4 @ gMain\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._318 @cond_branch\n" - " ldrh r0, [r4, #0xa]\n" - " ldrh r1, [r4, #0xc]\n" - " bl AddBagItem\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " cmp r0, #0x1\n" - " bne ._320 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " b ._320\n" - "._322:\n" - " .align 2, 0\n" - "._321:\n" - " .word gTasks\n" - " .word gMain\n" - "._318:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._323 @cond_branch\n" - "._320:\n" - " ldr r0, ._325 @ DebugMenu_8077F40\n" - " str r0, [r4]\n" - " b ._327\n" - "._326:\n" - " .align 2, 0\n" - "._325:\n" - " .word DebugMenu_8077F40+1\n" - "._323:\n" - " add r0, r4, #0\n" - " add r0, r0, #0xc\n" - " ldrh r3, [r2, #0x30]\n" - " mov r1, #0x1\n" - " mov r2, #0x63\n" - " bl DebugMenu_8077DD8\n" - " cmp r0, #0x1\n" - " bne ._327 @cond_branch\n" - " ldrh r0, [r4, #0xa]\n" - " ldrh r1, [r4, #0xc]\n" - " bl DebugMenu_8077EE0\n" - "._327:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + Menu_EraseScreen(); + ScriptContext2_Disable(); + DestroyTask(taskId); + DebugMenu_8077048(); } -NAKED -void DebugMenu_807806C() -{ - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_EraseScreen\n" - " bl ScriptContext2_Disable\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " bl DebugMenu_8077048\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} +const u8 Str_839C01E[] = _("にがおえ ばんごう\n" + "ポケモンナンバー\n" + "ポケモンめい\n" + "ブリーダーめい\n" + "しゅるい\n" + "こせいらんすう"); +const u8 Str_839C04D[] = _("データなし"); -NAKED -void DebugMenu_807808C() +void DebugMenu_807808C(u32 a0) { - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffff4\n" - " add r4, r0, #0\n" - " sub r0, r4, #1\n" - " cmp r0, #0xc\n" - " bls ._328 @cond_branch\n" - " mov r4, #0x1\n" - "._328:\n" - " lsl r1, r4, #0x5\n" - " ldr r0, ._331 @ gSaveBlock1\n" - " add r5, r1, r0\n" - " bl Menu_EraseScreen\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x13\n" - " mov r3, #0x11\n" - " bl Menu_DrawStdWindowFrame\n" - " ldr r0, ._331 + 4 @ Str_839C01E\n" - " mov r1, #0x2\n" - " mov r2, #0x2\n" - " bl Menu_PrintText\n" - " mov r0, sp\n" - " add r1, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, sp\n" - " mov r1, #0xb\n" - " mov r2, #0x2\n" - " bl Menu_PrintText\n" - " ldrh r1, [r5, #0x8]\n" - " mov r0, sp\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, sp\n" - " mov r1, #0xb\n" - " mov r2, #0x4\n" - " bl Menu_PrintText\n" - " add r4, r5, #0\n" - " add r4, r4, #0xb\n" - " add r0, r4, #0\n" - " bl StringLength\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi ._329 @cond_branch\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x6\n" - " bl Menu_PrintText\n" - " b ._330\n" - "._332:\n" - " .align 2, 0\n" - "._331:\n" - " .word gSaveBlock1+0x2ddc\n" - " .word Str_839C01E\n" - "._329:\n" - " ldr r0, ._335 @ Str_839C04D\n" - " mov r1, #0xb\n" - " mov r2, #0x6\n" - " bl Menu_PrintText\n" - "._330:\n" - " add r4, r5, #0\n" - " add r4, r4, #0x16\n" - " add r0, r4, #0\n" - " bl StringLength\n" - " lsl r0, r0, #0x10\n" - " lsr r0, r0, #0x10\n" - " cmp r0, #0xb\n" - " bhi ._333 @cond_branch\n" - " add r0, r4, #0\n" - " mov r1, #0xb\n" - " mov r2, #0x8\n" - " bl Menu_PrintText\n" - " b ._334\n" - "._336:\n" - " .align 2, 0\n" - "._335:\n" - " .word Str_839C04D\n" - "._333:\n" - " ldr r0, ._337 @ Str_839C04D\n" - " mov r1, #0xb\n" - " mov r2, #0x8\n" - " bl Menu_PrintText\n" - "._334:\n" - " ldrb r1, [r5, #0xa]\n" - " mov r0, sp\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r0, sp\n" - " mov r1, #0xb\n" - " mov r2, #0xa\n" - " bl Menu_PrintText\n" - " ldr r1, [r5]\n" - " mov r0, sp\n" - " mov r2, #0x2\n" - " mov r3, #0x8\n" - " bl ConvertIntToHexStringN\n" - " mov r0, sp\n" - " mov r1, #0xb\n" - " mov r2, #0xc\n" - " bl Menu_PrintText\n" - " add sp, sp, #0xc\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._338:\n" - " .align 2, 0\n" - "._337:\n" - " .word Str_839C04D\n" - "\n" - ); + u8 strbuf[11]; + struct ContestWinner *winner; + + if (a0 == 0 || a0 > 13) + a0 = 1; + winner = gSaveBlock1.contestWinners + a0 - 1; + + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 19, 17); + Menu_PrintText(Str_839C01E, 2, 2); + + ConvertIntToDecimalStringN(strbuf, a0, STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(strbuf, 11, 2); + + ConvertIntToDecimalStringN(strbuf, winner->species, STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(strbuf, 11, 4); + + if (StringLength(winner->nickname) <= 11) + Menu_PrintText(winner->nickname, 11, 6); + else + Menu_PrintText(Str_839C04D, 11, 6); + + if (StringLength(winner->trainerName) <= 11) + Menu_PrintText(winner->trainerName, 11, 8); + else + Menu_PrintText(Str_839C04D, 11, 8); + + ConvertIntToDecimalStringN(strbuf, winner->contestCategory, STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(strbuf, 11, 10); + + ConvertIntToHexStringN(strbuf, winner->personality, STR_CONV_MODE_LEADING_ZEROS, 8); + Menu_PrintText(strbuf, 11, 12); } -NAKED -void DebugMenu_807817C() +void DebugMenu_807817C(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " ldr r0, ._340 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._339 @cond_branch\n" - " bl Menu_EraseScreen\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " bl ScriptContext2_Disable\n" - "._339:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._341:\n" - " .align 2, 0\n" - "._340:\n" - " .word gMain\n" - "\n" - ); + if (gMain.newKeys & A_BUTTON) + { + Menu_EraseScreen(); + DestroyTask(taskId); + ScriptContext2_Disable(); + } } -NAKED -void DebugMenu_80781A8() +void DebugMenu_80781A8(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r1, r1, #0x3\n" - " ldr r0, ._344 @ gTasks\n" - " add r5, r1, r0\n" - " ldrh r1, [r5, #0x8]\n" - " mov r2, #0x8\n" - " ldsh r0, [r5, r2]\n" - " cmp r0, #0\n" - " bne ._342 @cond_branch\n" - " add r0, r1, #1\n" - " strh r0, [r5, #0x8]\n" - " b ._343\n" - "._345:\n" - " .align 2, 0\n" - "._344:\n" - " .word gTasks\n" - "._342:\n" - " ldr r2, ._348 @ gMain\n" - " ldrh r1, [r2, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._346 @cond_branch\n" - " mov r1, #0x8\n" - " ldsh r0, [r5, r1]\n" - " bl DebugMenu_807808C\n" - " ldr r0, ._348 + 4 @ DebugMenu_807817C\n" - " str r0, [r5]\n" - " b ._350\n" - "._349:\n" - " .align 2, 0\n" - "._348:\n" - " .word gMain\n" - " .word DebugMenu_807817C+1\n" - "._346:\n" - " add r0, r5, #0\n" - " add r0, r0, #0x8\n" - " ldrh r1, [r2, #0x30]\n" - " mov r3, #0xc0\n" - " and r3, r3, r1\n" - " mov r1, #0x1\n" - " mov r2, #0xd\n" - " bl DebugMenu_8077DD8\n" - " cmp r0, #0\n" - " beq ._350 @cond_branch\n" - "._343:\n" - " mov r0, #0x4\n" - " mov r1, #0x11\n" - " mov r2, #0x16\n" - " mov r3, #0x12\n" - " bl Menu_BlankWindowRect\n" - " ldr r4, ._351 @ gStringVar1\n" - " mov r2, #0x8\n" - " ldsh r1, [r5, r2]\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x4\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - "._350:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._352:\n" - " .align 2, 0\n" - "._351:\n" - " .word gStringVar1\n" - "\n" - ); + struct Task *task = gTasks + taskId; + + if (task->data[0] == 0) + task->data[0]++; + else if (gMain.newKeys & A_BUTTON) + { + DebugMenu_807808C(task->data[0]); + task->func = DebugMenu_807817C; + return; + } + else if (!DebugMenu_8077DD8(task->data + 0, 1, 13, gMain.newAndRepeatedKeys & (DPAD_UP | DPAD_DOWN))) + return; + Menu_BlankWindowRect(4, 17, 22, 18); + ConvertIntToDecimalStringN(gStringVar1, task->data[0], STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(gStringVar1, 4, 17); } -NAKED -u8 DebugMenu_ViewPortraits() +u8 DebugMenu_ViewPortraits(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._353 @ DebugMenu_80781A8\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._354:\n" - " .align 2, 0\n" - "._353:\n" - " .word DebugMenu_80781A8+1\n" - "\n" - ); + CloseMenu(); + CreateTask(DebugMenu_80781A8, 80); + ScriptContext2_Enable(); + return TRUE; } -NAKED -void DebugMenu_8078254() +void DebugMenu_8078254(u32 a0) { - asm( - " push {lr}\n" - " bl DebugMenu_807808C\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + DebugMenu_807808C(a0); } NAKED @@ -2369,6 +1829,9 @@ u8 DebugMenu_SetTime() ); } +const u8 Str_839C053[] = _("Miracle Island emerged\n" + "Random numbers:{STR_VAR_1}"); + NAKED void DebugMenu_80782EC() { -- cgit v1.2.3 From 0a3b052bdc89eacddd1152049983c89dde37e7e4 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 8 Apr 2018 12:59:08 -0700 Subject: Document friendship events, primary status ailments, and misc cleanup --- src/battle/battle_2.c | 6 +- src/battle/battle_4.c | 9 ++- src/battle/battle_party_menu.c | 10 +-- src/choose_party.c | 11 ++-- src/field_control_avatar.c | 9 ++- src/field_poison.c | 59 +++++++++--------- src/party_menu.c | 136 ++++++++++++++++++++--------------------- src/pokemon_3.c | 50 ++++++++------- src/pokemon_summary_screen.c | 30 ++++----- 9 files changed, 163 insertions(+), 157 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 096bd878f..21f53b5d7 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -291,8 +291,8 @@ void InitBattle(void) SetWildMonHeldItem(); } gMain.inBattle = TRUE; - for (i = 0; i < 6; i++) - AdjustFriendship(&gPlayerParty[i], 3); + for (i = 0; i < PARTY_SIZE; i++) + AdjustFriendship(&gPlayerParty[i], FRIENDSHIP_EVENT_LEAGUE_BATTLE); gBattleCommunication[0] = 0; } @@ -304,7 +304,7 @@ void sub_800E9EC(void) u32 status; s32 i; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 8f5ea7cae..950ccb6ae 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -203,7 +203,6 @@ void PlayBGM(u16 songID); void MonGainEVs(struct Pokemon*, u16 defeatedSpecies); extern u8 gBattleBufferB[4][0x200]; void HandleLowHpMusicChange(struct Pokemon*, u8 bank); -void AdjustFriendship(struct Pokemon*, u8 value); bool8 IsTradedMon(struct Pokemon*); void BattleScriptPop(void); void SwitchInClearSetData(void); @@ -5133,10 +5132,10 @@ static void atk19_tryfaintmon(void) gBattleResults.playerFaintCounter++; if (gBattleMons[bank].level > gBattleMons[gActiveBattler].level) { - if (gBattleMons[bank].level - gBattleMons[gActiveBattler].level > 0x1D) - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 8); + if (gBattleMons[bank].level - gBattleMons[gActiveBattler].level > 29) + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], FRIENDSHIP_EVENT_FAINT_LARGE); else - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], 6); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], FRIENDSHIP_EVENT_FAINT_SMALL); } } else @@ -5569,7 +5568,7 @@ static void atk23_getexp(void) gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterID]; gBattlescriptCurrInstr = BattleScript_LevelUp; gBattleMoveDamage = (gBattleBufferB[gActiveBattler][2] | (gBattleBufferB[gActiveBattler][3] << 8)); - AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterID], 0); + AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterID], FRIENDSHIP_EVENT_GROW_LEVEL); // update battle mon structure after level up if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterID && gBattleMons[0].hp) diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index be376a9f1..923cf05a4 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -232,16 +232,16 @@ void sub_8094B6C(u8 a, u8 b, u8 c) } } -u8 sub_8094C20(u8 a) +u8 sub_8094C20(u8 monIndex) { u8 retVal; - u8 val = a & 1; + u8 val = monIndex & 1; - a /= 2; + monIndex /= 2; if (val) - retVal = gUnknown_02038470[a] & 0xF; + retVal = gUnknown_02038470[monIndex] & 0xF; else - retVal = gUnknown_02038470[a] >> 4; + retVal = gUnknown_02038470[monIndex] >> 4; return retVal; } diff --git a/src/choose_party.c b/src/choose_party.c index b4920dedd..186b42de3 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -671,15 +671,16 @@ static void sub_8122B10(u8 taskId) { if (gMultiPartnerParty[i].species != 0) { - u8 r2; + u8 primaryStatus; PartyMenuDoPrintHP(i + 3, 3, gMultiPartnerParty[i].hp, gMultiPartnerParty[i].maxhp); if (gMultiPartnerParty[i].hp == 0) - r2 = 7; + primaryStatus = 7; else - r2 = pokemon_ailments_get_primary(gMultiPartnerParty[i].status); - if (r2 != 0) - PartyMenuPutStatusTilemap(i + 3, 3, r2 - 1); + primaryStatus = GetPrimaryStatus(gMultiPartnerParty[i].status); + + if (primaryStatus != STATUS_PRIMARY_NONE) + PartyMenuPutStatusTilemap(i + 3, 3, primaryStatus - 1); else PartyMenuDoPrintLevel(i + 3, 3, gMultiPartnerParty[i].level); PartyMenuDoPrintGenderIcon(gMultiPartnerParty[i].species, gMultiPartnerParty[i].gender, 3, i + 3, gMultiPartnerParty[i].nickname); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 3ae422512..918ab0e21 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -587,12 +587,11 @@ static void happiness_algorithm_step(void) (*ptr) %= 128; if (*ptr == 0) { - struct Pokemon *pkmn = gPlayerParty; - - for (i = 0; i < 6; i++) + struct Pokemon *mon = gPlayerParty; + for (i = 0; i < PARTY_SIZE; i++) { - AdjustFriendship(pkmn, 5); - pkmn++; + AdjustFriendship(mon, FRIENDSHIP_EVENT_WALKING); + mon++; } } } diff --git a/src/field_poison.c b/src/field_poison.c index 8365351f9..dd7500d22 100644 --- a/src/field_poison.c +++ b/src/field_poison.c @@ -8,53 +8,54 @@ #include "string_util.h" #include "task.h" #include "text.h" +#include "constants/species.h" extern u16 gSpecialVar_Result; extern u8 fieldPoisonText_PokemonFainted[]; -bool32 CheckMonIsValid(struct Pokemon *pkmn) +static bool32 IsMonValidSpecies(struct Pokemon *mon) { // UB: Too few arguments for function 'GetMonData' - u16 species2 = GetMonData(pkmn, MON_DATA_SPECIES2); - - if (species2 == 0 || species2 == 0x19C) + u16 species = GetMonData(mon, MON_DATA_SPECIES2); + if (species == SPECIES_NONE || species == SPECIES_EGG) return FALSE; else return TRUE; } -bool32 AllMonsFainted(void) +static bool32 AllMonsFainted(void) { - struct Pokemon *pkmn = &gPlayerParty[0]; int i; + struct Pokemon *mon = gPlayerParty; - for (i = 0; i < 6; i++, pkmn++) + for (i = 0; i < PARTY_SIZE; i++, mon++) { // UB: Too few arguments for function 'GetMonData' - if (CheckMonIsValid(pkmn) && GetMonData(pkmn, MON_DATA_HP) != 0) + if (IsMonValidSpecies(mon) && GetMonData(mon, MON_DATA_HP) != 0) return FALSE; } + return TRUE; } -void MonFaintFromPoisonOnField(u8 partyMember) +static void FaintFromFieldPoison(u8 monIndex) { - struct Pokemon *pkmn = &gPlayerParty[partyMember]; - u32 val = 0; + struct Pokemon *mon = &gPlayerParty[monIndex]; + u32 status = 0; - AdjustFriendship(pkmn, 7); - SetMonData(pkmn, MON_DATA_STATUS, &val); - GetMonData(pkmn, MON_DATA_NICKNAME, gStringVar1); + AdjustFriendship(mon, FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE); + SetMonData(mon, MON_DATA_STATUS, &status); + GetMonData(mon, MON_DATA_NICKNAME, gStringVar1); StringGetEnd10(gStringVar1); } -bool32 CheckMonFaintedFromPoison(u8 partyMember) +static bool32 MonFaintedFromPoison(u8 monIndex) { - struct Pokemon *pkmn = &gPlayerParty[partyMember]; + struct Pokemon *mon = &gPlayerParty[monIndex]; // UB: Too few arguments for function 'GetMonData' - if (CheckMonIsValid(pkmn) && GetMonData(pkmn, MON_DATA_HP) == 0 - && pokemon_ailments_get_primary(GetMonData(pkmn, MON_DATA_STATUS)) == 1) + if (IsMonValidSpecies(mon) && GetMonData(mon, MON_DATA_HP) == 0 + && GetPrimaryStatus(GetMonData(mon, MON_DATA_STATUS)) == STATUS_PRIMARY_POISON) return TRUE; else return FALSE; @@ -63,7 +64,7 @@ bool32 CheckMonFaintedFromPoison(u8 partyMember) #define tState data[0] #define tPartyMember data[1] -void Task_WhiteOut(u8 taskId) +static void Task_WhiteOut(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -71,12 +72,12 @@ void Task_WhiteOut(u8 taskId) { case 0: // Check if any Pokemon have fainted due to poison - while (tPartyMember < 6) + while (tPartyMember < PARTY_SIZE) { - if (CheckMonFaintedFromPoison(tPartyMember)) + if (MonFaintedFromPoison(tPartyMember)) { // Show message about fainted mon - MonFaintFromPoisonOnField(tPartyMember); + FaintFromFieldPoison(tPartyMember); ShowFieldMessage(fieldPoisonText_PokemonFainted); tState++; return; @@ -111,30 +112,30 @@ void ExecuteWhiteOut(void) s32 DoPoisonFieldEffect(void) { - struct Pokemon *pkmn = &gPlayerParty[0]; + struct Pokemon *mon = &gPlayerParty[0]; u32 numPoisoned = 0; u32 numFainting = 0; int i; // count the number of mons that are poisoned and fainting from poison, // and decrement HP of all poisoned mons - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { u32 hp; - if (GetMonData(pkmn, MON_DATA_SANITY_BIT2) != 0 - && pokemon_ailments_get_primary(GetMonData(pkmn, MON_DATA_STATUS)) == 1) + if (GetMonData(mon, MON_DATA_SANITY_BIT2) != 0 + && GetPrimaryStatus(GetMonData(mon, MON_DATA_STATUS)) == STATUS_PRIMARY_POISON) { // decrement HP of poisoned mon - hp = GetMonData(pkmn, MON_DATA_HP); + hp = GetMonData(mon, MON_DATA_HP); if (hp != 0) hp--; if (hp == 0) numFainting++; - SetMonData(pkmn, MON_DATA_HP, &hp); + SetMonData(mon, MON_DATA_HP, &hp); numPoisoned++; } - pkmn++; + mon++; } if (numFainting != 0 || numPoisoned != 0) FldeffPoison_Start(); diff --git a/src/party_menu.c b/src/party_menu.c index 9caaa05b9..c21c29b01 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -450,8 +450,8 @@ struct Unk201C000 { /*0x00*/ struct Pokemon *pokemon; /*0x04*/ u8 unk4; - /*0x05*/ u8 unk5; - /*0x06*/ u16 unk6; + /*0x05*/ u8 primarySelectedMonIndex; + /*0x06*/ u16 secondarySelectedIndex; /*0x08*/ u16 unk8; /*0x0A*/ u8 pad_0A[2]; /*0x0C*/ s32 unkC; @@ -3601,9 +3601,9 @@ void sub_806E8D0(u8 taskId, u16 b, TaskFunc c) { ewram1C000.unk10 = c; ewram1C000.unk4 = taskId; - ewram1C000.unk5 = sub_806CA38(taskId); - ewram1C000.unk6 = b; - ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; + ewram1C000.primarySelectedMonIndex = sub_806CA38(taskId); + ewram1C000.secondarySelectedIndex = b; + ewram1C000.pokemon = &gPlayerParty[ewram1C000.primarySelectedMonIndex]; } bool8 PartyMenuUpdateMonHeldItem(struct Pokemon *pkmn, u16 item) @@ -3664,7 +3664,7 @@ void PartyMenuTryGiveMonHeldItem(u8 taskId, u16 newItem, TaskFunc c) } else { - DisplayGiveHeldItemMessage(ewram1C000.unk5, newItem, 1); + DisplayGiveHeldItemMessage(ewram1C000.primarySelectedMonIndex, newItem, 1); CreateTask(party_menu_link_mon_held_item_object, 5); } } @@ -3674,7 +3674,7 @@ void party_menu_link_mon_held_item_object(u8 taskId) { if (gUnknown_0202E8F6 == 0) { - SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); + SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex); gTasks[ewram1C000.unk4].func = ewram1C000.unk10; DestroyTask(taskId); } @@ -3690,17 +3690,17 @@ void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId) Menu_EraseWindowRect(23, 8, 29, 13); currentItem = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); - RemoveBagItem(ewram1C000.unk6, 1); + RemoveBagItem(ewram1C000.secondarySelectedIndex, 1); if (AddBagItem(currentItem, 1) == TRUE) { - PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.unk6); - if (ItemIsMail(ewram1C000.unk6)) + PartyMenuUpdateMonHeldItem(ewram1C000.pokemon, ewram1C000.secondarySelectedIndex); + if (ItemIsMail(ewram1C000.secondarySelectedIndex)) { - DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 1); + DisplayTakeHeldItemMessage(ewram1C000.primarySelectedMonIndex, currentItem, 1); } else { - CopyItemName(ewram1C000.unk6, gStringVar1); + CopyItemName(ewram1C000.secondarySelectedIndex, gStringVar1); StringExpandPlaceholders(gStringVar4, gOtherText_TakenAndReplaced); sub_806E834(gStringVar4, 1); } @@ -3708,7 +3708,7 @@ void PartyMenuTryGiveMonHeldItem_806EACC(u8 taskId) else { sub_806E834(gOtherText_BagFullCannotRemoveItem, 0); - AddBagItem(ewram1C000.unk6, 1); + AddBagItem(ewram1C000.secondarySelectedIndex, 1); } } else @@ -3789,7 +3789,7 @@ void PartyMenuTryGiveMonHeldItem_806ECE8(u8 taskId, TaskFunc func) { if (ItemIsMail(currentItem) == TRUE) TakeMailFromMon(ewram1C000.pokemon); - DisplayTakeHeldItemMessage(ewram1C000.unk5, currentItem, 0); + DisplayTakeHeldItemMessage(ewram1C000.primarySelectedMonIndex, currentItem, 0); SetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM, itemData); } else @@ -3812,7 +3812,7 @@ void DoTakeMail(u8 taskId, TaskFunc func) { gTasks[taskId].func = TaskDummy; sub_806E8D0(taskId, 0, func); - ewram1C000.unk6 = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); + ewram1C000.secondarySelectedIndex = GetMonData(ewram1C000.pokemon, MON_DATA_HELD_ITEM); sub_806E834(gOtherText_SendRemovedMailPrompt, 1); CreateTask(Task_ConfirmTakeHeldMail, 5); } @@ -3823,7 +3823,7 @@ void Task_LoseMailMessage(u8 taskId) if (selection == 0) { - if (AddBagItem(ewram1C000.unk6, 1) == TRUE) + if (AddBagItem(ewram1C000.secondarySelectedIndex, 1) == TRUE) { TakeMailFromMon(ewram1C000.pokemon); sub_806E834(gOtherText_MailTaken, 0); @@ -3923,7 +3923,7 @@ extern u8 gUnknown_020297ED; void Task_TeamMonTMMove(u8 taskId) { GetMonNickname(ewram1C000.pokemon, gStringVar1); - ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.unk6); + ewram1C000.unk8 = ItemIdToBattleMoveId(ewram1C000.secondarySelectedIndex); StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); ewram1B000.unk282 = 0; if (pokemon_has_move(ewram1C000.pokemon, ewram1C000.unk8)) @@ -3938,7 +3938,7 @@ void Task_TeamMonTMMove(u8 taskId) #if DEBUG !gUnknown_020297ED && #endif - !CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.unk6 - 33)) + !CanMonLearnTMHM(ewram1C000.pokemon, ewram1C000.secondarySelectedIndex - 33)) { StringExpandPlaceholders(gStringVar4, gOtherText_NotCompatible); sub_806E834(gStringVar4, 1); @@ -3965,9 +3965,9 @@ void Task_TeamMonTMMove2(u8 taskId) StringCopy(gStringVar2, gMoveNames[ewram1C000.unk8]); StringExpandPlaceholders(gStringVar4, gOtherText_LearnedMove); sub_806E834(gStringVar4, 1); - AdjustFriendship(ewram1C000.pokemon, 4); - if (ewram1B000.unk282 == 0 && ewram1C000.unk6 <= 0x152) - RemoveBagItem(ewram1C000.unk6, 1); + AdjustFriendship(ewram1C000.pokemon, FRIENDSHIP_EVENT_LEARN_TMHM); + if (ewram1B000.unk282 == 0 && ewram1C000.secondarySelectedIndex < ITEM_HM01_CUT) + RemoveBagItem(ewram1C000.secondarySelectedIndex, 1); gTasks[taskId].func = Task_TeamMonTMMove3; } @@ -3986,7 +3986,7 @@ void Task_TeamMonTMMove4(u8 taskId) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { - SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); + SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex); if (ewram1B000.unk282 == 1) { TeachMonMoveInPartyMenu(taskId); @@ -4004,7 +4004,7 @@ void sub_806F2FC(u8 taskId) { if (gUnknown_0202E8F6 == 0) { - SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.unk5); + SetHeldItemIconVisibility(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex); if (ewram1B000.unk282 == 1) { TeachMonMoveInPartyMenu(taskId); @@ -4050,7 +4050,7 @@ void sub_806F3FC(u8 taskId) { if (!gPaletteFade.active) { - ShowSelectMovePokemonSummaryScreen(gPlayerParty, ewram1C000.unk5, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8); + ShowSelectMovePokemonSummaryScreen(gPlayerParty, ewram1C000.primarySelectedMonIndex, gPlayerPartyCount - 1, sub_808B564, ewram1C000.unk8); DestroyTask(taskId); } } @@ -4184,7 +4184,7 @@ s16 sub_806F7E8(u8 taskId, struct BattleInterfaceStruct1 *b, s8 c) b->unkC_0 = 5; if (hpBarLevel < 2) b->unkC_0 = 6; - vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.unk5]; + vramPtr = gUnknown_08376858[IsDoubleBattle()][ewram1C000.primarySelectedMonIndex]; return sub_80460C8(b, &ewram1C000.unkC, vramPtr, 0); } @@ -4208,19 +4208,19 @@ void sub_806F8AC(u8 taskId) StringExpandPlaceholders(gStringVar4, gOtherText_HPRestoredBy); else StringExpandPlaceholders(gStringVar4, gOtherText_RegainedHealth); - SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram1C000.unk5), ewram1C000.pokemon); - task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 7); + SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram1C000.primarySelectedMonIndex), ewram1C000.pokemon); + task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.primarySelectedMonIndex * 2], 7); ewram1B000.unk261 = 2; sub_806E834(gStringVar4, 1); sp14 += sp0.unk4; SetMonData(ewram1C000.pokemon, MON_DATA_HP, &sp14); - RemoveBagItem(ewram1C000.unk6, 1); + RemoveBagItem(ewram1C000.secondarySelectedIndex, 1); sub_8032638(); gTasks[taskId].func = sub_806FB44; } else { - PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); + PartyMenuDoPrintHP(ewram1C000.primarySelectedMonIndex, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); } } @@ -4236,8 +4236,8 @@ void sub_806FA18(u8 taskId) gTasks[taskId].data[11] -= gTasks[taskId].data[12]; SetMonData(ewram1C000.pokemon, MON_DATA_HP, &gTasks[taskId].data[11]); SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon); - ewram1C000.unk5 = gSprites[ewram01000.unk2].data[0]; - ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; + ewram1C000.primarySelectedMonIndex = gSprites[ewram01000.unk2].data[0]; + ewram1C000.pokemon = &gPlayerParty[ewram1C000.primarySelectedMonIndex]; gTasks[taskId].data[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); gTasks[taskId].data[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); ewram1C000.unkC = -32768; @@ -4247,7 +4247,7 @@ void sub_806FA18(u8 taskId) } else { - PartyMenuDoPrintHP(ewram1C000.unk5, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); + PartyMenuDoPrintHP(ewram1C000.primarySelectedMonIndex, IsDoubleBattle(), ewram1B000.unk282, sp0.unk0); } } @@ -4364,12 +4364,12 @@ bool8 IsMedicineIneffective(struct Pokemon *pkmn, u16 item) return FALSE; } -bool8 ExecuteTableBasedItemEffect__(u8 a, u16 b, u8 c) +bool8 ExecuteTableBasedItemEffect__(u8 monIndex, u16 item, u8 moveIndex) { if (gMain.inBattle) - return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, sub_8094C20(a), c); + return ExecuteTableBasedItemEffect_(&gPlayerParty[monIndex], item, sub_8094C20(monIndex), moveIndex); else - return ExecuteTableBasedItemEffect_(&gPlayerParty[a], b, a, c); + return ExecuteTableBasedItemEffect_(&gPlayerParty[monIndex], item, monIndex, moveIndex); } void UseMedicine(u8 taskId, u16 item, TaskFunc func) @@ -4395,7 +4395,7 @@ void UseMedicine(u8 taskId, u16 item, TaskFunc func) gTasks[r7].data[11] = 0; } } - r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, item, 0); + r0 = ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, item, 0); } else { @@ -4420,7 +4420,7 @@ void UseMedicine(u8 taskId, u16 item, TaskFunc func) PlaySE(SE_BIDORO); statusAndPkrs = GetMonStatusAndPokerus(ewram1C000.pokemon); if (statusAndPkrs == 6 || statusAndPkrs == 0) - PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5); + PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.primarySelectedMonIndex); if (r9 == TRUE) { gTasks[r7].data[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - gTasks[r7].data[11]; @@ -4439,7 +4439,7 @@ void UseMedicine(u8 taskId, u16 item, TaskFunc func) if (!IsBlueYellowRedFlute(item)) RemoveBagItem(item, 1); GetMedicineItemEffectMessage(item); - TryPrintPartyMenuMonNickname(ewram1C000.unk5, ewram1C000.pokemon); + TryPrintPartyMenuMonNickname(ewram1C000.primarySelectedMonIndex, ewram1C000.pokemon); sub_806E834(gStringVar4, 1); gTasks[r7].func = sub_806FB0C; } @@ -4460,8 +4460,8 @@ void sub_8070048(u8 taskId, u16 item, TaskFunc func) { ewram1C000.unk10 = func; ewram1C000.unk4 = taskId; - ewram1C000.unk6 = item; - ewram1C000.unk5 = 0; + ewram1C000.secondarySelectedIndex = item; + ewram1C000.primarySelectedMonIndex = 0; ewram1C000.unk14 = sub_80701DC; ewram1B000.unk27E = 0; ewram1B000.unk280 = 0; @@ -4473,7 +4473,7 @@ void sub_8070088(u8 taskId) u8 taskId2; gTasks[taskId].func = TaskDummy; - if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) == 0) + if (GetMonData(&gPlayerParty[ewram1C000.primarySelectedMonIndex], MON_DATA_SPECIES) == 0) { gTasks[taskId].func = sub_80701DC; } @@ -4483,10 +4483,10 @@ void sub_8070088(u8 taskId) taskId2 = CreateTask(TaskDummy, 5); taskData = gTasks[taskId2].data; - ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5]; + ewram1C000.pokemon = &gPlayerParty[ewram1C000.primarySelectedMonIndex]; taskData[10] = GetMonData(ewram1C000.pokemon, MON_DATA_MAX_HP); taskData[11] = GetMonData(ewram1C000.pokemon, MON_DATA_HP); - if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, 0)) + if (ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, ewram1C000.secondarySelectedIndex, 0)) { DestroyTask(taskId2); gTasks[taskId].func = sub_80701DC; @@ -4496,8 +4496,8 @@ void sub_8070088(u8 taskId) gUnknown_0202E8F4 = 1; Menu_EraseWindowRect(WINDOW_LEFT, 14, WINDOW_RIGHT, 19); PlaySE(SE_KAIFUKU); - PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.unk5); - task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 9); + PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.primarySelectedMonIndex); + task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.primarySelectedMonIndex * 2], 9); ewram1B000.unk261 = 2; taskData[12] = GetMonData(ewram1C000.pokemon, MON_DATA_HP) - taskData[11]; taskData[14] = 1; @@ -4514,16 +4514,16 @@ void sub_80701DC(u8 taskId) { if (ewram1B000.unk27E == 1) { - AddBagItem(ewram1C000.unk6, 1); - if (GetMonData(&gPlayerParty[ewram1C000.unk5], MON_DATA_SPECIES) != 0) + AddBagItem(ewram1C000.secondarySelectedIndex, 1); + if (GetMonData(&gPlayerParty[ewram1C000.primarySelectedMonIndex], MON_DATA_SPECIES) != 0) { - task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.unk5 * 2], 3); + task_pc_turn_off(&gUnknown_083769A8[IsDoubleBattle() * 12 + ewram1C000.primarySelectedMonIndex * 2], 3); ewram1B000.unk261 = 2; } ewram1B000.unk27E = 0; } - ewram1C000.unk5++; - if (ewram1C000.unk5 == 6) + ewram1C000.primarySelectedMonIndex++; + if (ewram1C000.primarySelectedMonIndex == 6) { gUnknown_0202E8F4 = 0; if (ewram1B000.unk280 == 0) @@ -4534,7 +4534,7 @@ void sub_80701DC(u8 taskId) } else { - RemoveBagItem(ewram1C000.unk6, 1); + RemoveBagItem(ewram1C000.secondarySelectedIndex, 1); gTasks[taskId].func = ewram1C000.unk10; } gLastFieldPokeMenuOpened = 0; @@ -4607,7 +4607,7 @@ void DoPPRecoveryItemEffect(u8 taskId, u16 item, TaskFunc c) { PlaySE(SE_SELECT); PrintPartyMenuPromptText(10, 3); - CreateItemUseMoveMenu(ewram1C000.unk5); + CreateItemUseMoveMenu(ewram1C000.primarySelectedMonIndex); gTasks[taskId2].func = Task_HandleItemUseMoveMenuInput; gMain.newKeys = 0; } @@ -4638,7 +4638,7 @@ void DoRecoverPP(u8 taskId) { u16 r5 = 0; - if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, ewram1C000.unk6, gTasks[taskId].data[11])) + if (ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, ewram1C000.secondarySelectedIndex, gTasks[taskId].data[11])) { gUnknown_0202E8F4 = r5; PlaySE(SE_SELECT); @@ -4648,10 +4648,10 @@ void DoRecoverPP(u8 taskId) { gUnknown_0202E8F4 = 1; PlaySE(SE_KAIFUKU); - RemoveBagItem(ewram1C000.unk6, 1); + RemoveBagItem(ewram1C000.secondarySelectedIndex, 1); r5 = GetMonData(ewram1C000.pokemon, MON_DATA_MOVE1 + gTasks[taskId].data[11]); StringCopy(gStringVar1, gMoveNames[r5]); - GetMedicineItemEffectMessage(ewram1C000.unk6); + GetMedicineItemEffectMessage(ewram1C000.secondarySelectedIndex); sub_806E834(gStringVar4, 1); } gTasks[taskId].func = sub_806FB0C; @@ -4663,7 +4663,7 @@ void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c) sub_806E8D0(taskId, b, c); PlaySE(SE_SELECT); PrintPartyMenuPromptText(11, 3); - CreateItemUseMoveMenu(ewram1C000.unk5); + CreateItemUseMoveMenu(ewram1C000.primarySelectedMonIndex); CreateTask(Task_HandleItemUseMoveMenuInput, 5); gMain.newKeys = 0; } @@ -4698,24 +4698,24 @@ const u8 gUnknown_Debug_839B6D8[] = _( #endif -void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c) +void DoRareCandyItemEffect(u8 taskId, u16 item, TaskFunc c) { u8 i; - bool8 r0; + bool8 noEffect; gTasks[taskId].func = TaskDummy; - sub_806E8D0(taskId, b, c); + sub_806E8D0(taskId, item, c); if (GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL) != 100) { - for (i = 0; i < 6; i++) + for (i = 0; i < NUM_STATS; i++) ewram1B000.statGrowths[i] = GetMonData(ewram1C000.pokemon, StatDataTypes[i]); - r0 = ExecuteTableBasedItemEffect__(ewram1C000.unk5, b, 0); + noEffect = ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, item, 0); } else - r0 = TRUE; + noEffect = TRUE; - if (r0) + if (noEffect) { gUnknown_0202E8F4 = 0; PlaySE(SE_SELECT); @@ -4728,8 +4728,8 @@ void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c) gUnknown_0202E8F4 = 1; PlayFanfareByFanfareNum(0); - RedrawPokemonInfoInMenu(ewram1C000.unk5, ewram1C000.pokemon); - RemoveBagItem(b, 1); + RedrawPokemonInfoInMenu(ewram1C000.primarySelectedMonIndex, ewram1C000.pokemon); + RemoveBagItem(item, 1); GetMonNickname(ewram1C000.pokemon, gStringVar1); level = GetMonData(ewram1C000.pokemon, MON_DATA_LEVEL); ConvertIntToDecimalStringN(gStringVar2, level, 0, 3); @@ -4878,7 +4878,7 @@ void Task_RareCandy3(u8 taskId) if (evolutionSpecies != 0) { gCB2_AfterEvolution = sub_80A53F8; - BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5); + BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.primarySelectedMonIndex); DestroyTask(taskId); } else @@ -4930,7 +4930,7 @@ void TeachMonMoveInPartyMenu(u8 taskId) if (evolutionSpecies != 0) { gCB2_AfterEvolution = sub_80A53F8; - BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.unk5); + BeginEvolutionScene(ewram1C000.pokemon, evolutionSpecies, TRUE, ewram1C000.primarySelectedMonIndex); DestroyTask(taskId); } else @@ -4981,7 +4981,7 @@ void DoEvolutionStoneItemEffect(u8 taskId, u16 evolutionStoneItem, TaskFunc c) gCB2_AfterEvolution = sub_80A53F8; - if (ExecuteTableBasedItemEffect__(ewram1C000.unk5, evolutionStoneItem, 0)) + if (ExecuteTableBasedItemEffect__(ewram1C000.primarySelectedMonIndex, evolutionStoneItem, 0)) { gUnknown_0202E8F4 = 0; sub_806E834(gOtherText_WontHaveAnyEffect, 1); diff --git a/src/pokemon_3.c b/src/pokemon_3.c index 791dd5d2f..ac739728e 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -22,6 +22,7 @@ #include "sprite.h" #include "string_util.h" #include "text.h" +#include "trainer.h" #include "util.h" #include "ewram.h" @@ -643,18 +644,19 @@ u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex) return n; } -const s8 gUnknown_082082FE[][3] = -{ - // Happiness deltas - { 5, 3, 2}, - { 5, 3, 2}, - { 1, 1, 0}, - { 3, 2, 1}, - { 1, 1, 0}, - { 1, 1, 1}, - {-1, -1, -1}, - {-5, -5, -10}, - {-5, -5, -10} +// Friendship deltas. Each event has 3 separate values, depending on the mon's +// current friendship value. In general, a mon's friendship grows faster if +// its current friendship is lower. The 3 tiers are 0-99, 100-199, and 200-255. +static const s8 sFriendshipEventDeltas[][3] = { + { 5, 3, 2}, // FRIENDSHIP_EVENT_GROW_LEVEL + { 5, 3, 2}, // FRIENDSHIP_EVENT_VITAMIN + { 1, 1, 0}, // FRIENDSHIP_EVENT_BATTLE_ITEM + { 3, 2, 1}, // FRIENDSHIP_EVENT_LEAGUE_BATTLE + { 1, 1, 0}, // FRIENDSHIP_EVENT_LEARN_TMHM + { 1, 1, 1}, // FRIENDSHIP_EVENT_WALKING + {-1, -1, -1}, // FRIENDSHIP_EVENT_FAINT_SMALL + {-5, -5, -10}, // FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE + {-5, -5, -10}, // FRIENDSHIP_EVENT_FAINT_LARGE }; void AdjustFriendship(struct Pokemon *mon, u8 event) @@ -683,28 +685,32 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) friendshipLevel++; if (friendship > 199) friendshipLevel++; - if ((event != 5 || !(Random() & 1)) - && (event != 3 + + if ((event != FRIENDSHIP_EVENT_WALKING || !(Random() & 1)) + && (event != FRIENDSHIP_EVENT_LEAGUE_BATTLE || ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) - && (gTrainers[gTrainerBattleOpponent].trainerClass == 24 - || gTrainers[gTrainerBattleOpponent].trainerClass == 25 - || gTrainers[gTrainerBattleOpponent].trainerClass == 32)))) + && (gTrainers[gTrainerBattleOpponent].trainerClass == TRAINER_CLASS_ELITE_FOUR + || gTrainers[gTrainerBattleOpponent].trainerClass == TRAINER_CLASS_LEADER + || gTrainers[gTrainerBattleOpponent].trainerClass == TRAINER_CLASS_CHAMPION)))) { - s8 mod = gUnknown_082082FE[event][friendshipLevel]; - if (mod > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP) - mod = (150 * mod) / 100; - friendship += mod; - if (mod > 0) + s8 delta = sFriendshipEventDeltas[event][friendshipLevel]; + if (delta > 0 && holdEffect == HOLD_EFFECT_HAPPINESS_UP) + delta = (150 * delta) / 100; + + friendship += delta; + if (delta > 0) { if (GetMonData(mon, MON_DATA_POKEBALL, 0) == ITEM_LUXURY_BALL) friendship++; if (GetMonData(mon, MON_DATA_MET_LOCATION, 0) == sav1_map_get_name()) friendship++; } + if (friendship < 0) friendship = 0; if (friendship > 255) friendship = 255; + SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship); } } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 75ddb52d0..2bfb42681 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -4823,20 +4823,20 @@ void sub_80A1C30(u8 a) } } -u8 pokemon_ailments_get_primary(u32 status) +u8 GetPrimaryStatus(u32 status) { - if (status & 0x88) - return 1; - if (status & 0x40) - return 2; - if (status & 0x7) - return 3; - if (status & 0x20) - return 4; - if (status & 0x10) - return 5; - - return 0; + if (status & (STATUS_POISON | STATUS_TOXIC_POISON)) + return STATUS_PRIMARY_POISON; + if (status & STATUS_PARALYSIS) + return STATUS_PRIMARY_PARALYSIS; + if (status & STATUS_SLEEP) + return STATUS_PRIMARY_SLEEP; + if (status & STATUS_FREEZE) + return STATUS_PRIMARY_FREEZE; + if (status & STATUS_BURN) + return STATUS_PRIMARY_BURN; + + return STATUS_PRIMARY_NONE; } u8 GetMonStatusAndPokerus(struct Pokemon *mon) @@ -4846,8 +4846,8 @@ u8 GetMonStatusAndPokerus(struct Pokemon *mon) if (GetMonData(mon, MON_DATA_HP) == 0) return 7; - statusAilment = pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS)); - if (statusAilment == 0) + statusAilment = GetPrimaryStatus(GetMonData(mon, MON_DATA_STATUS)); + if (statusAilment == STATUS_PRIMARY_NONE) { if (!CheckPartyPokerus(mon, 0)) return 0; -- cgit v1.2.3 From b320e08a1245ab0a7971807392d8ed0105c8490a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 17:08:36 -0400 Subject: through DebugMenu_8078550 --- src/debug/start_menu_debug.c | 760 ++++++++++++++----------------------------- 1 file changed, 253 insertions(+), 507 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 43d13ae9c..3b0fe7591 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -42,6 +42,7 @@ #include "fldeff_secretpower.h" #include "data2.h" #include "item.h" +#include "reset_rtc_screen.h" // berry_blender.c extern void unref_sub_80524BC(void); @@ -1753,553 +1754,298 @@ void DebugMenu_8078254(u32 a0) DebugMenu_807808C(a0); } -NAKED -u8 DebugMenu_AllBadges() +u8 DebugMenu_AllBadges(void) { - asm( - " push {lr}\n" - " ldr r0, ._355 @ 0x807\n" - " bl FlagSet\n" - " ldr r0, ._355 + 4 @ 0x808\n" - " bl FlagSet\n" - " ldr r0, ._355 + 8 @ 0x809\n" - " bl FlagSet\n" - " ldr r0, ._355 + 12 @ 0x80a\n" - " bl FlagSet\n" - " ldr r0, ._355 + 16 @ 0x80b\n" - " bl FlagSet\n" - " ldr r0, ._355 + 20 @ 0x80c\n" - " bl FlagSet\n" - " ldr r0, ._355 + 24 @ 0x80d\n" - " bl FlagSet\n" - " ldr r0, ._355 + 28 @ 0x80e\n" - " bl FlagSet\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._356:\n" - " .align 2, 0\n" - "._355:\n" - " .word 0x807\n" - " .word 0x808\n" - " .word 0x809\n" - " .word 0x80a\n" - " .word 0x80b\n" - " .word 0x80c\n" - " .word 0x80d\n" - " .word 0x80e\n" - "\n" - ); + FlagSet(FLAG_BADGE01_GET); + FlagSet(FLAG_BADGE02_GET); + FlagSet(FLAG_BADGE03_GET); + FlagSet(FLAG_BADGE04_GET); + FlagSet(FLAG_BADGE05_GET); + FlagSet(FLAG_BADGE06_GET); + FlagSet(FLAG_BADGE07_GET); + FlagSet(FLAG_BADGE08_GET); + CloseMenu(); + return TRUE; } -NAKED -u8 DebugMenu_TimeRecords() +u8 DebugMenu_TimeRecords(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._357 @ debug_sub_806F9E4\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._358:\n" - " .align 2, 0\n" - "._357:\n" - " .word debug_sub_806F9E4+1\n" - "\n" - ); + CloseMenu(); + CreateTask(debug_sub_806F9E4, 80); + ScriptContext2_Enable(); + return TRUE; } -NAKED -u8 DebugMenu_SetTime() +u8 DebugMenu_SetTime(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl debug_sub_806F99C\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + debug_sub_806F99C(); + ScriptContext2_Enable(); + return TRUE; } const u8 Str_839C053[] = _("Miracle Island emerged\n" "Random numbers:{STR_VAR_1}"); -NAKED -void DebugMenu_80782EC() +void DebugMenu_80782EC(u16 rnums) { - asm( - " push {lr}\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r0, ._359 @ gStringVar1\n" - " mov r2, #0x0\n" - " mov r3, #0x4\n" - " bl ConvertIntToHexStringN\n" - " ldr r0, ._359 + 4 @ Str_839C053\n" - " bl sub_8071F40\n" - " pop {r0}\n" - " bx r0\n" - "._360:\n" - " .align 2, 0\n" - "._359:\n" - " .word gStringVar1\n" - " .word Str_839C053\n" - "\n" - ); + ConvertIntToHexStringN(gStringVar1, rnums, STR_CONV_MODE_LEFT_ALIGN, 4); + sub_8071F40(Str_839C053); } -NAKED -void DebugMenu_8078310() +void DebugMenu_8078310(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._364 @ gTasks\n" - " add r4, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r4, r1]\n" - " cmp r0, #0\n" - " beq ._361 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._362 @cond_branch\n" - " b ._375\n" - "._365:\n" - " .align 2, 0\n" - "._364:\n" - " .word gTasks+0x8\n" - "._361:\n" - " ldr r0, ._367 @ 0x4024\n" - " bl VarGet\n" - " strh r0, [r4, #0x2]\n" - " ldrh r0, [r4, #0x2]\n" - " bl DebugMenu_80782EC\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4]\n" - " b ._375\n" - "._368:\n" - " .align 2, 0\n" - "._367:\n" - " .word 0x4024\n" - "._362:\n" - " ldr r3, ._371 @ gMain\n" - " ldrh r1, [r3, #0x2e]\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._369 @cond_branch\n" - " mov r0, #0x49\n" - " bl PlaySE\n" - " ldr r0, ._371 + 4 @ 0x4024\n" - " bl GetVarPointer\n" - " ldrh r1, [r4, #0x2]\n" - " strh r1, [r0]\n" - " b ._370\n" - "._372:\n" - " .align 2, 0\n" - "._371:\n" - " .word gMain\n" - " .word 0x4024\n" - "._369:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._373 @cond_branch\n" - "._370:\n" - " bl Menu_EraseScreen\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - " bl ScriptContext2_Disable\n" - " b ._375\n" - "._373:\n" - " add r0, r4, #2\n" - " ldr r2, ._376 @ 0xffff\n" - " ldrh r3, [r3, #0x30]\n" - " mov r1, #0x0\n" - " bl DebugMenu_8077DD8\n" - " cmp r0, #0x1\n" - " bne ._375 @cond_branch\n" - " ldrh r0, [r4, #0x2]\n" - " bl DebugMenu_80782EC\n" - "._375:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._377:\n" - " .align 2, 0\n" - "._376:\n" - " .word 0xffff\n" - "\n" - ); + s16 * data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + data[1] = VarGet(VAR_MIRAGE_RND_H); + DebugMenu_80782EC(data[1]); + data[0]++; + break; + case 1: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_PINPON); + *GetVarPointer(VAR_MIRAGE_RND_H) = data[1]; + Menu_EraseScreen(); + DestroyTask(taskId); + ScriptContext2_Disable(); + } + else if (gMain.newKeys & B_BUTTON) + { + Menu_EraseScreen(); + DestroyTask(taskId); + ScriptContext2_Disable(); + } + else if (DebugMenu_8077DD8(data + 1, 0, 0xFFFF, gMain.newAndRepeatedKeys) == TRUE) + DebugMenu_80782EC(data[1]); + break; + } } -NAKED -u8 DebugMenu_MiragaIslandRND() +u8 DebugMenu_MiragaIslandRND(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._378 @ DebugMenu_8078310\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._379:\n" - " .align 2, 0\n" - "._378:\n" - " .word DebugMenu_8078310+1\n" - "\n" - ); + CloseMenu(); + CreateTask(DebugMenu_8078310, 80); + ScriptContext2_Enable(); + return TRUE; } -NAKED -bool8 DebugMenu_80783C8() +bool8 DebugMenu_80783C8(void) { - asm( - " push {r4, lr}\n" - " ldr r0, ._383 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x30\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._382 @cond_branch\n" - " mov r0, #0x5\n" - " bl PlaySE\n" - " ldr r4, ._383 + 4 @ 0x804\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._381 @cond_branch\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " mov r0, #0x0\n" - " bl DebugMenu_807786C\n" - " b ._382\n" - "._384:\n" - " .align 2, 0\n" - "._383:\n" - " .word gMain\n" - " .word 0x804\n" - "._381:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - " mov r0, #0x1\n" - " bl DebugMenu_807786C\n" - "._382:\n" - " ldr r0, ._388 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._385 @cond_branch\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._386 @cond_branch\n" - "._385:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._387\n" - "._389:\n" - " .align 2, 0\n" - "._388:\n" - " .word gMain\n" - "._386:\n" - " mov r0, #0x0\n" - "._387:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT)) + { + PlaySE(SE_SELECT); + if (!FlagGet(FLAG_SYS_GAME_CLEAR)) + { + FlagSet(FLAG_SYS_GAME_CLEAR); + DebugMenu_807786C(0); + } + else + { + FlagClear(FLAG_SYS_GAME_CLEAR); + DebugMenu_807786C(1); + } + } + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + return FALSE; } -NAKED -u8 DebugMenu_ToggleClearFlag() +u8 DebugMenu_ToggleClearFlag(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._390 @ 0x804\n" - " bl FlagGet\n" - " mov r1, #0x1\n" - " eor r0, r0, r1\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl DebugMenu_807786C\n" - " ldr r1, ._390 + 4 @ gMenuCallback\n" - " ldr r0, ._390 + 8 @ DebugMenu_80783C8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._391:\n" - " .align 2, 0\n" - "._390:\n" - " .word 0x804\n" - " .word gMenuCallback\n" - " .word DebugMenu_80783C8+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_807786C(FlagGet(FLAG_SYS_GAME_CLEAR) ^ 1); + gMenuCallback = DebugMenu_80783C8; + return FALSE; } -NAKED -bool8 DebugMenu_8078464() +bool8 DebugMenu_8078464(void) { - asm( - " push {r4, lr}\n" - " ldr r4, ._396 @ 0x82a\n" - " add r0, r4, #0\n" - " bl FlagGet\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl DebugMenu_8077E40\n" - " add r1, r0, #0\n" - " cmp r1, #0\n" - " beq ._392 @cond_branch\n" - " cmp r1, #0\n" - " bgt ._393 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._394 @cond_branch\n" - " b ._401\n" - "._397:\n" - " .align 2, 0\n" - "._396:\n" - " .word 0x82a\n" - "._393:\n" - " cmp r1, #0x1\n" - " beq ._398 @cond_branch\n" - " b ._401\n" - "._392:\n" - " add r0, r4, #0\n" - " bl FlagClear\n" - " b ._401\n" - "._398:\n" - " add r0, r4, #0\n" - " bl FlagSet\n" - " b ._401\n" - "._394:\n" - " mov r0, #0x1\n" - " b ._402\n" - "._401:\n" - " mov r0, #0x0\n" - "._402:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + switch (DebugMenu_8077E40(FlagGet(FLAG_SYS_WEATHER_CTRL))) + { + case 0: + FlagClear(FLAG_SYS_WEATHER_CTRL); + return FALSE; + case 1: + FlagSet(FLAG_SYS_WEATHER_CTRL); + return FALSE; + case -1: + return TRUE; + } + return FALSE; } -NAKED -u8 DebugMenu_OpenWeatherEvents() +u8 DebugMenu_OpenWeatherEvents(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._404 @ 0x82a\n" - " bl FlagGet\n" - " mov r1, #0x0\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " bne ._403 @cond_branch\n" - " mov r1, #0x1\n" - "._403:\n" - " add r0, r1, #0\n" - " bl DebugMenu_807786C\n" - " ldr r1, ._404 + 4 @ gMenuCallback\n" - " ldr r0, ._404 + 8 @ DebugMenu_8078464\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._405:\n" - " .align 2, 0\n" - "._404:\n" - " .word 0x82a\n" - " .word gMenuCallback\n" - " .word DebugMenu_8078464+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_807786C(FlagGet(FLAG_SYS_WEATHER_CTRL) ? FALSE : TRUE); + gMenuCallback = DebugMenu_8078464; + return FALSE; } -NAKED -bool8 DebugMenu_80784E8() +bool8 DebugMenu_80784E8(void) { - asm( - " push {lr}\n" - " bl IsMysteryGiftEnabled\n" - " bl DebugMenu_8077E40\n" - " add r1, r0, #0\n" - " cmp r1, #0\n" - " beq ._406 @cond_branch\n" - " cmp r1, #0\n" - " bgt ._407 @cond_branch\n" - " mov r0, #0x1\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._408 @cond_branch\n" - " b ._413\n" - "._407:\n" - " cmp r1, #0x1\n" - " beq ._410 @cond_branch\n" - " b ._413\n" - "._406:\n" - " bl DisableMysteryGift\n" - " b ._413\n" - "._410:\n" - " bl EnableMysteryGift\n" - " b ._413\n" - "._408:\n" - " mov r0, #0x1\n" - " b ._414\n" - "._413:\n" - " mov r0, #0x0\n" - "._414:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + switch (DebugMenu_8077E40(IsMysteryGiftEnabled())) + { + case 0: + DisableMysteryGift(); + return FALSE; + case 1: + EnableMysteryGift(); + return FALSE; + case -1: + return TRUE; + } + return FALSE; } -NAKED -u8 DebugMenu_OpenMysteryEvent() +u8 DebugMenu_OpenMysteryEvent(void) { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " bl IsMysteryGiftEnabled\n" - " mov r1, #0x0\n" - " cmp r0, #0\n" - " bne ._415 @cond_branch\n" - " mov r1, #0x1\n" - "._415:\n" - " add r0, r1, #0\n" - " bl DebugMenu_807786C\n" - " ldr r1, ._416 @ gMenuCallback\n" - " ldr r0, ._416 + 4 @ DebugMenu_80784E8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._417:\n" - " .align 2, 0\n" - "._416:\n" - " .word gMenuCallback\n" - " .word DebugMenu_80784E8+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_807786C(IsMysteryGiftEnabled() ? FALSE : TRUE); + gMenuCallback = DebugMenu_80784E8; + return FALSE; } -NAKED -void DebugMenu_8078550() +const u8 Str_839C07C[] = _("{STR_VAR_1}:{STR_VAR_2}\n" + "{STR_VAR_3}"); +const u8 Str_839C085[] = _("みしよう データ"); +const u8 Str_839C08E[] = _("Confirmation"); +const u8 Str_839C09B[] = _("Max-1 set"); +const u8 Str_839C0A5[] = _("Zero clear"); +const u8 Str_839C0B0[] = _("レポート"); +const u8 Str_839C0B5[] = _("クリア じかん"); +const u8 Str_839C0BD[] = _("りゅうこう さくせい"); +const u8 Str_839C0C8[] = _("きのみを うえたかいすう"); +const u8 Str_839C0D5[] = _("じてんしゃこうかん"); +const u8 Str_839C0DF[] = _("ほすう"); +const u8 Str_839C0E3[] = _("インタビュー"); +const u8 Str_839C0EA[] = _("バトル"); +const u8 Str_839C0EE[] = _("やせいバトル"); +const u8 Str_839C0F5[] = _("トレーナーバトル"); +const u8 Str_839C0FE[] = _("でんどういり"); +const u8 Str_839C105[] = _("ポケモンほかく"); +const u8 Str_839C10D[] = _("つった かいすう"); +const u8 Str_839C116[] = _("タマゴかえった"); +const u8 Str_839C11E[] = _("しんかした"); +const u8 Str_839C124[] = _("ポケセン かいふく"); +const u8 Str_839C12E[] = _("じたく かいふく"); +const u8 Str_839C137[] = _("サファリ りよう"); +const u8 Str_839C140[] = _("ひでん:いあいぎり"); +const u8 Str_839C14A[] = _("ひでん:いわくだき"); +const u8 Str_839C154[] = _("きち ひっこし"); +const u8 Str_839C15C[] = _("つうしんこうかん"); +const u8 Str_839C165[] = _("つうしんたいせん"); +const u8 Str_839C16E[] = _("つうしん かち"); +const u8 Str_839C176[] = _("つうしん まけ"); +const u8 Str_839C17E[] = _("つうしん ひきわけ"); +const u8 Str_839C188[] = _("わざ:はねる"); +const u8 Str_839C18F[] = _("わざ:わるあがき"); +const u8 Str_839C198[] = _("スロットおおあたりかいすう"); +const u8 Str_839C1A6[] = _("ルーレット れんしょう"); +const u8 Str_839C1B2[] = _("バトルタワー"); +const u8 Str_839C1B9[] = _("バトルタワーかち"); +const u8 Str_839C1C2[] = _("バトルタワーれんしょう"); +const u8 Str_839C1CE[] = _("ポロックさくせい"); +const u8 Str_839C1D7[] = _("つうしんでポロックつくった"); +const u8 Str_839C1E5[] = _("つうしんコンテストかち"); +const u8 Str_839C1F1[] = _("CPUコンテストさんか"); +const u8 Str_839C1FD[] = _("CPUコンテストかち"); +const u8 Str_839C208[] = _("かいもの"); +const u8 Str_839C20D[] = _("ダウジングマシン"); +const u8 Str_839C216[] = _("あめふり"); +const u8 Str_839C21B[] = _("ずかんをみた"); +const u8 Str_839C222[] = _("リボン もらった"); +const u8 Str_839C22B[] = _("だんさ とびおり"); +const u8 Str_839C234[] = _("TVを みた"); +const u8 Str_839C23B[] = _("とけいを みた"); +const u8 Str_839C243[] = _("くじが あたった"); +const u8 Str_839C24C[] = _("ポケモンあずけた"); +const u8 Str_839C255[] = _("ロープウェイりよう"); +const u8 Str_839C25F[] = _("おんせん はいった"); + +const struct { + u32 maxVal; + const u8 * name; +} gUnknown_Debug_839C26C[] = { + {0xFFFFFF, Str_839C0B0}, + {65485627, Str_839C0B5}, + {0xFFFFFF, Str_839C0BD}, + {0xFFFFFF, Str_839C0C8}, + {0xFFFFFF, Str_839C0D5}, + {0xFFFFFF, Str_839C0DF}, + {0xFFFFFF, Str_839C0E3}, + {0xFFFFFF, Str_839C0EA}, + {0xFFFFFF, Str_839C0EE}, + {0xFFFFFF, Str_839C0F5}, + {999, Str_839C0FE}, + {0xFFFFFF, Str_839C105}, + {0xFFFFFF, Str_839C10D}, + {0xFFFFFF, Str_839C116}, + {0xFFFFFF, Str_839C11E}, + {0xFFFFFF, Str_839C124}, + {0xFFFFFF, Str_839C12E}, + {0xFFFFFF, Str_839C137}, + {0xFFFFFF, Str_839C140}, + {0xFFFFFF, Str_839C14A}, + {0xFFFFFF, Str_839C154}, + {0xFFFFFF, Str_839C15C}, + {0xFFFFFF, Str_839C165}, + {9999, Str_839C16E}, + {9999, Str_839C176}, + {9999, Str_839C17E}, + {0xFFFFFF, Str_839C188}, + {0xFFFFFF, Str_839C18F}, + {0xFFFFFF, Str_839C198}, + {0xFFFFFF, Str_839C1A6}, + {0xFFFFFF, Str_839C1B2}, + {0x0, Str_839C1B9}, + {0x0, Str_839C1C2}, + {0xFFFFFF, Str_839C1CE}, + {0xFFFFFF, Str_839C1D7}, + {0xFFFFFF, Str_839C1E5}, + {0xFFFFFF, Str_839C1F1}, + {0xFFFFFF, Str_839C1FD}, + {0xFFFFFF, Str_839C208}, + {0xFFFFFF, Str_839C20D}, + {0xFFFFFF, Str_839C216}, + {0xFFFFFF, Str_839C21B}, + {0xFFFFFF, Str_839C222}, + {0xFFFFFF, Str_839C22B}, + {0xFFFFFF, Str_839C234}, + {0xFFFFFF, Str_839C23B}, + {0xFFFFFF, Str_839C243}, + {0xFFFFFF, Str_839C24C}, + {0xFFFFFF, Str_839C255}, + {0xFFFFFF, Str_839C25F} +}; + +void DebugMenu_8078550(u16 gameStat) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x10\n" - " lsr r6, r0, #0x10\n" - " lsl r0, r6, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl GetGameStat\n" - " add r7, r0, #0\n" - " ldr r0, ._420 @ gStringVar1\n" - " add r1, r6, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " ldr r0, ._420 + 4 @ gStringVar2\n" - " ldr r5, ._420 + 8 @ gUnknown_Debug_839C26C\n" - " lsl r4, r6, #0x3\n" - " add r1, r5, #4\n" - " add r1, r4, r1\n" - " ldr r1, [r1]\n" - " bl StringCopy\n" - " add r4, r4, r5\n" - " ldr r0, [r4]\n" - " cmp r0, #0\n" - " bne ._418 @cond_branch\n" - " ldr r0, ._420 + 12 @ gStringVar3\n" - " ldr r1, ._420 + 16 @ Str_839C085\n" - " bl StringCopy\n" - " b ._423\n" - "._421:\n" - " .align 2, 0\n" - "._420:\n" - " .word gStringVar1\n" - " .word gStringVar2\n" - " .word gUnknown_Debug_839C26C\n" - " .word gStringVar3\n" - " .word Str_839C085\n" - "._418:\n" - " cmp r6, #0x1\n" - " beq ._422 @cond_branch\n" - " ldr r0, ._424 @ gStringVar3\n" - " add r1, r7, #0\n" - " mov r2, #0x1\n" - " mov r3, #0xa\n" - " bl ConvertIntToDecimalStringN\n" - " b ._423\n" - "._425:\n" - " .align 2, 0\n" - "._424:\n" - " .word gStringVar3\n" - "._422:\n" - " ldr r4, ._426 @ gStringVar3\n" - " lsr r1, r7, #0x10\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " mov r6, #0xf0\n" - " strb r6, [r4, #0x3]\n" - " add r0, r4, #4\n" - " lsr r1, r7, #0x8\n" - " mov r5, #0xff\n" - " and r1, r1, r5\n" - " mov r2, #0x2\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " strb r6, [r4, #0x6]\n" - " add r4, r4, #0x7\n" - " and r7, r7, r5\n" - " add r0, r4, #0\n" - " add r1, r7, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - "._423:\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._426 + 4 @ Str_839C07C\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._427:\n" - " .align 2, 0\n" - "._426:\n" - " .word gStringVar3\n" - " .word Str_839C07C\n" - "\n" - ); + u32 value = GetGameStat(gameStat); + + ConvertIntToDecimalStringN(gStringVar1, gameStat, STR_CONV_MODE_LEADING_ZEROS, 2); + StringCopy(gStringVar2, gUnknown_Debug_839C26C[gameStat].name); + if (gUnknown_Debug_839C26C[gameStat].maxVal == 0) + StringCopy(gStringVar3, Str_839C085); + else if (gameStat != GAME_STAT_FIRST_HOF_PLAY_TIME) + ConvertIntToDecimalStringN(gStringVar3, value, STR_CONV_MODE_RIGHT_ALIGN, 10); + else + { + ConvertIntToDecimalStringN(gStringVar3, value >> 16, STR_CONV_MODE_RIGHT_ALIGN, 3); + gStringVar3[3] = CHAR_COLON; + ConvertIntToDecimalStringN(gStringVar3 + 4, (value >> 8) & 0xff, STR_CONV_MODE_LEADING_ZEROS, 2); + gStringVar3[6] = CHAR_COLON; + ConvertIntToDecimalStringN(gStringVar3 + 7, value & 0xff, STR_CONV_MODE_LEADING_ZEROS, 2); + } + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_839C07C, 2, 15); } NAKED -- cgit v1.2.3 From d26de1d236c7f3358e56733955460078e07712c7 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 8 Apr 2018 14:37:01 -0700 Subject: Add 'fainted' and 'pokerus' primary status defines --- src/choose_party.c | 4 ++-- src/party_menu.c | 6 +++--- src/pokemon_summary_screen.c | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/choose_party.c b/src/choose_party.c index 186b42de3..698460547 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -628,7 +628,7 @@ static void sub_81229B8(void) PartyMenuPrintHP(i, 3, &gPlayerParty[i]); status = GetMonStatusAndPokerus(&gPlayerParty[i]); - if (status != 0 && status != 6) + if (status && status != STATUS_PRIMARY_POKERUS) PartyMenuPutStatusTilemap(i, 3, status - 1); else PartyMenuPrintLevel(i, 3, &gPlayerParty[i]); @@ -675,7 +675,7 @@ static void sub_8122B10(u8 taskId) PartyMenuDoPrintHP(i + 3, 3, gMultiPartnerParty[i].hp, gMultiPartnerParty[i].maxhp); if (gMultiPartnerParty[i].hp == 0) - primaryStatus = 7; + primaryStatus = STATUS_PRIMARY_FAINTED; else primaryStatus = GetPrimaryStatus(gMultiPartnerParty[i].status); diff --git a/src/party_menu.c b/src/party_menu.c index c21c29b01..dd96ec116 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -3376,7 +3376,7 @@ void PartyMenuPrintMonLevelOrStatus(u8 monIndex, struct Pokemon *pokemon) else menuLayout = IsDoubleBattle(); - if (statusAndPkrs != 0 && statusAndPkrs != 6) + if (statusAndPkrs && statusAndPkrs != STATUS_PRIMARY_POKERUS) PartyMenuPutStatusTilemap(monIndex, menuLayout, statusAndPkrs - 1); else PartyMenuPrintLevel(monIndex, menuLayout, pokemon); @@ -4419,7 +4419,7 @@ void UseMedicine(u8 taskId, u16 item, TaskFunc func) else PlaySE(SE_BIDORO); statusAndPkrs = GetMonStatusAndPokerus(ewram1C000.pokemon); - if (statusAndPkrs == 6 || statusAndPkrs == 0) + if (statusAndPkrs == STATUS_PRIMARY_POKERUS || statusAndPkrs == STATUS_PRIMARY_NONE) PartyMenuUpdateLevelOrStatus(ewram1C000.pokemon, ewram1C000.primarySelectedMonIndex); if (r9 == TRUE) { @@ -4843,7 +4843,7 @@ void RedrawPokemonInfoInMenu(u8 monIndex, struct Pokemon *pokemon) u8 statusAndPkrs = GetMonStatusAndPokerus(pokemon); u8 icon; - if (statusAndPkrs == 0 || statusAndPkrs == 6) + if (statusAndPkrs == STATUS_PRIMARY_NONE || statusAndPkrs == STATUS_PRIMARY_POKERUS) PartyMenuUpdateLevelOrStatus(pokemon, monIndex); PartyMenuDoPrintHP(monIndex, IsDoubleBattle(), GetMonData(pokemon, MON_DATA_HP), GetMonData(pokemon, MON_DATA_MAX_HP)); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 2bfb42681..28dd21b42 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -4844,15 +4844,15 @@ u8 GetMonStatusAndPokerus(struct Pokemon *mon) u8 statusAilment; if (GetMonData(mon, MON_DATA_HP) == 0) - return 7; + return STATUS_PRIMARY_FAINTED; statusAilment = GetPrimaryStatus(GetMonData(mon, MON_DATA_STATUS)); if (statusAilment == STATUS_PRIMARY_NONE) { if (!CheckPartyPokerus(mon, 0)) - return 0; + return STATUS_PRIMARY_NONE; else - return 6; + return STATUS_PRIMARY_POKERUS; } return statusAilment; -- cgit v1.2.3 From 21d580ec5146cdb3df1724844d8f64e47028e2bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 17:40:26 -0400 Subject: through DebugMenu_OpenLegendsRecord --- src/debug/start_menu_debug.c | 375 ++++++++++--------------------------------- 1 file changed, 86 insertions(+), 289 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 3b0fe7591..e96ee31c8 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -2048,326 +2048,123 @@ void DebugMenu_8078550(u16 gameStat) Menu_PrintText(Str_839C07C, 2, 15); } -NAKED -bool8 DebugMenu_807860C() +bool32 DebugMenu_807860C(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._432 @ gTasks\n" - " add r4, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r4, r1]\n" - " cmp r0, #0x1\n" - " beq ._428 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._429 @cond_branch\n" - " cmp r0, #0\n" - " beq ._430 @cond_branch\n" - " b ._447\n" - "._433:\n" - " .align 2, 0\n" - "._432:\n" - " .word gTasks+0x8\n" - "._429:\n" - " cmp r0, #0x2\n" - " beq ._434 @cond_branch\n" - " b ._447\n" - "._430:\n" - " ldrh r0, [r4, #0x2]\n" - " bl DebugMenu_8078550\n" - "._441:\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4]\n" - " b ._447\n" - "._428:\n" - " ldr r3, ._439 @ gMain\n" - " ldrh r1, [r3, #0x2e]\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._437 @cond_branch\n" - " ldrh r0, [r4]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r4]\n" - " mov r0, #0x1\n" - " b ._438\n" - "._440:\n" - " .align 2, 0\n" - "._439:\n" - " .word gMain\n" - "._437:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " lsl r0, r0, #0x10\n" - " lsr r2, r0, #0x10\n" - " cmp r2, #0\n" - " bne ._441 @cond_branch\n" - " ldrh r1, [r3, #0x30]\n" - " mov r0, #0x40\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._442 @cond_branch\n" - " ldrh r0, [r4, #0x2]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4, #0x2]\n" - " lsl r0, r0, #0x10\n" - " asr r0, r0, #0x10\n" - " cmp r0, #0x32\n" - " bne ._446 @cond_branch\n" - " strh r2, [r4, #0x2]\n" - " b ._446\n" - "._442:\n" - " mov r0, #0x80\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._447 @cond_branch\n" - " ldrh r0, [r4, #0x2]\n" - " sub r0, r0, #0x1\n" - " strh r0, [r4, #0x2]\n" - " lsl r0, r0, #0x10\n" - " cmp r0, #0\n" - " bge ._446 @cond_branch\n" - " mov r0, #0x31\n" - " strh r0, [r4, #0x2]\n" - "._446:\n" - " ldrh r0, [r4, #0x2]\n" - " bl DebugMenu_8078550\n" - " b ._447\n" - "._434:\n" - " bl Menu_EraseScreen\n" - " bl ScriptContext2_Disable\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - "._447:\n" - " mov r0, #0x0\n" - "._438:\n" - " pop {r4, r5}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + s16 * data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + DebugMenu_8078550(data[1]); + data[0]++; + return FALSE; + case 1: + if (gMain.newKeys & A_BUTTON) + { + data[0]--; + return TRUE; + } + if (gMain.newKeys & B_BUTTON) + { + data[0]++; + return FALSE; + } + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + data[1]++; + if (data[1] == NUM_GAME_STATS) + data[1] = 0; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + data[1]--; + if (data[1] < 0) + data[1] = NUM_GAME_STATS - 1; + } + else + return FALSE; + DebugMenu_8078550(data[1]); + return FALSE; + case 2: + Menu_EraseScreen(); + ScriptContext2_Disable(); + DestroyTask(taskId); + return FALSE; + } + return FALSE; } -NAKED -void DebugMenu_80786C0() +void DebugMenu_80786C0(u8 taskId) { - asm( - " push {lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " bl DebugMenu_807860C\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + DebugMenu_807860C(taskId); } -NAKED -void DebugMenu_80786D0() +void DebugMenu_80786D0(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " add r0, r4, #0\n" - " bl DebugMenu_807860C\n" - " cmp r0, #0\n" - " beq ._449 @cond_branch\n" - " ldr r1, ._450 @ gTasks\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrb r2, [r0, #0xa]\n" - " ldr r1, ._450 + 4 @ gUnknown_Debug_839C26C\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._449 @cond_branch\n" - " sub r1, r0, #1\n" - " add r0, r2, #0\n" - " bl SetGameStat\n" - " mov r0, #0x15\n" - " bl PlaySE\n" - "._449:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._451:\n" - " .align 2, 0\n" - "._450:\n" - " .word gTasks\n" - " .word gUnknown_Debug_839C26C\n" - "\n" - ); + if (DebugMenu_807860C(taskId)) + { + u8 gameStat = gTasks[taskId].data[1]; + if (gUnknown_Debug_839C26C[gameStat].maxVal != 0) + { + SetGameStat(gameStat, gUnknown_Debug_839C26C[gameStat].maxVal - 1); + PlaySE(SE_PIN); + } + } } -NAKED -void DebugMenu_8078714() +void DebugMenu_8078714(u8 taskId) { - asm( - " push {r4, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " add r0, r4, #0\n" - " bl DebugMenu_807860C\n" - " cmp r0, #0\n" - " beq ._453 @cond_branch\n" - " ldr r1, ._454 @ gTasks\n" - " lsl r0, r4, #0x2\n" - " add r0, r0, r4\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrb r2, [r0, #0xa]\n" - " ldr r1, ._454 + 4 @ gUnknown_Debug_839C26C\n" - " lsl r0, r2, #0x3\n" - " add r0, r0, r1\n" - " ldr r0, [r0]\n" - " cmp r0, #0\n" - " beq ._453 @cond_branch\n" - " add r0, r2, #0\n" - " mov r1, #0x0\n" - " bl SetGameStat\n" - " mov r0, #0x15\n" - " bl PlaySE\n" - "._453:\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._455:\n" - " .align 2, 0\n" - "._454:\n" - " .word gTasks\n" - " .word gUnknown_Debug_839C26C\n" - "\n" - ); + if (DebugMenu_807860C(taskId)) + { + u8 gameStat = gTasks[taskId].data[1]; + if (gUnknown_Debug_839C26C[gameStat].maxVal != 0) + { + SetGameStat(gameStat, 0); + PlaySE(SE_PIN); + } + } } -NAKED -bool8 DebugMenu_8078758() +bool8 DebugMenu_8078758(TaskFunc func) { - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " bl CloseMenu\n" - " bl ScriptContext2_Enable\n" - " add r0, r4, #0\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " mov r0, #0x1\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + CloseMenu(); + ScriptContext2_Enable(); + CreateTask(func, 80); + return TRUE; } -NAKED -bool8 DebugMenu_8078774() +bool8 DebugMenu_8078774(void) { - asm( - " push {lr}\n" - " ldr r0, ._456 @ DebugMenu_80786C0\n" - " bl DebugMenu_8078758\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._457:\n" - " .align 2, 0\n" - "._456:\n" - " .word DebugMenu_80786C0+1\n" - "\n" - ); + return DebugMenu_8078758(DebugMenu_80786C0); } -NAKED -bool8 DebugMenu_8078788() +bool8 DebugMenu_8078788(void) { - asm( - " push {lr}\n" - " ldr r0, ._458 @ DebugMenu_80786D0\n" - " bl DebugMenu_8078758\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._459:\n" - " .align 2, 0\n" - "._458:\n" - " .word DebugMenu_80786D0+1\n" - "\n" - ); + return DebugMenu_8078758(DebugMenu_80786D0); } -NAKED bool8 DebugMenu_807879C() { - asm( - " push {lr}\n" - " ldr r0, ._460 @ DebugMenu_8078714\n" - " bl DebugMenu_8078758\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._461:\n" - " .align 2, 0\n" - "._460:\n" - " .word DebugMenu_8078714+1\n" - "\n" - ); + return DebugMenu_8078758(DebugMenu_8078714); } -NAKED +const struct MenuAction gUnknown_Debug_839C3FC[] = { + {Str_839C08E, DebugMenu_8078774}, + {Str_839C09B, DebugMenu_8078788}, + {Str_839C0A5, DebugMenu_807879C} +}; + bool8 DebugMenu_80787B0() { - asm( - " push {lr}\n" - " ldr r0, ._462 @ gUnknown_Debug_839C3FC\n" - " bl DebugMenu_8077D78\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._463:\n" - " .align 2, 0\n" - "._462:\n" - " .word gUnknown_Debug_839C3FC\n" - "\n" - ); + return DebugMenu_8077D78(gUnknown_Debug_839C3FC); } -NAKED u8 DebugMenu_OpenLegendsRecord() { - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._464 @ gUnknown_Debug_839C3FC\n" - " mov r1, #0xc\n" - " mov r2, #0x3\n" - " bl DebugMenu_8077D24\n" - " ldr r1, ._464 + 4 @ gMenuCallback\n" - " ldr r0, ._464 + 8 @ DebugMenu_80787B0\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._465:\n" - " .align 2, 0\n" - "._464:\n" - " .word gUnknown_Debug_839C3FC\n" - " .word gMenuCallback\n" - " .word DebugMenu_80787B0+1\n" - "\n" - ); + Menu_EraseScreen(); + DebugMenu_8077D24(gUnknown_Debug_839C3FC, 12, ARRAY_COUNT(gUnknown_Debug_839C3FC)); + gMenuCallback = DebugMenu_80787B0; + return FALSE; } NAKED -- cgit v1.2.3 From b3878d6c472d773cd2072849245a9be257089450 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 18:17:17 -0400 Subject: through DebugMenu_BattleTowerStages --- src/debug/start_menu_debug.c | 618 +++++++++---------------------------------- 1 file changed, 120 insertions(+), 498 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index e96ee31c8..bd0b06828 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -63,6 +63,9 @@ void DebugMenu_8077F40(u8 taskId); void DebugMenu_8077F7C(u8 taskId); void DebugMenu_8077FFC(u8 taskId); void DebugMenu_807806C(u8 taskId); +void DebugMenu_8078A14(u8 taskId); +void DebugMenu_8078AA4(u8 taskId); +void DebugMenu_8078B38(u8 taskId); u8 DebugMenu_Exit(void); u8 DebugMenu_OpenWatanabe(void); @@ -2167,538 +2170,157 @@ u8 DebugMenu_OpenLegendsRecord() return FALSE; } -NAKED -void DebugMenu_80787EC() +const u8 Str_839C414[] = _("ATTR:{STR_VAR_1} HEIGHT:{STR_VAR_3}\n" + "CODE:{STR_VAR_2}"); + +void DebugMenu_80787EC(void) { - asm( - " push {r4, r5, lr}\n" - " add sp, sp, #0xfffffffc\n" - " mov r5, sp\n" - " add r5, r5, #0x2\n" - " mov r0, sp\n" - " add r1, r5, #0\n" - " bl GetXYCoordsOneStepInFrontOfPlayer\n" - " ldr r4, ._466 @ gSpecialVar_Result\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " mov r2, #0x0\n" - " ldsh r1, [r5, r2]\n" - " bl MapGridGetMetatileBehaviorAt\n" - " strh r0, [r4]\n" - " ldr r0, ._466 + 4 @ gStringVar1\n" - " ldrh r1, [r4]\n" - " mov r2, #0x2\n" - " mov r3, #0x4\n" - " bl ConvertIntToHexStringN\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " mov r2, #0x0\n" - " ldsh r1, [r5, r2]\n" - " bl MapGridGetMetatileIdAt\n" - " strh r0, [r4]\n" - " ldr r0, ._466 + 8 @ gStringVar2\n" - " ldrh r1, [r4]\n" - " mov r2, #0x2\n" - " mov r3, #0x4\n" - " bl ConvertIntToHexStringN\n" - " mov r0, sp\n" - " mov r1, #0x0\n" - " ldsh r0, [r0, r1]\n" - " mov r2, #0x0\n" - " ldsh r1, [r5, r2]\n" - " bl MapGridGetZCoordAt\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " strh r0, [r4]\n" - " ldr r0, ._466 + 12 @ gStringVar3\n" - " ldrh r1, [r4]\n" - " mov r2, #0x2\n" - " mov r3, #0x4\n" - " bl ConvertIntToHexStringN\n" - " ldr r0, ._466 + 16 @ gStringVar4\n" - " ldr r1, ._466 + 20 @ Str_839C414\n" - " bl StringExpandPlaceholders\n" - " add sp, sp, #0x4\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._467:\n" - " .align 2, 0\n" - "._466:\n" - " .word gSpecialVar_Result\n" - " .word gStringVar1\n" - " .word gStringVar2\n" - " .word gStringVar3\n" - " .word gStringVar4\n" - " .word Str_839C414\n" - "\n" - ); + s16 x; + s16 y; + + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + gSpecialVar_Result = MapGridGetMetatileBehaviorAt(x, y); + ConvertIntToHexStringN(gStringVar1, gSpecialVar_Result, STR_CONV_MODE_LEADING_ZEROS, 4); + gSpecialVar_Result = MapGridGetMetatileIdAt(x, y); + ConvertIntToHexStringN(gStringVar2, gSpecialVar_Result, STR_CONV_MODE_LEADING_ZEROS, 4); + gSpecialVar_Result = MapGridGetZCoordAt(x, y); + ConvertIntToHexStringN(gStringVar3, gSpecialVar_Result, STR_CONV_MODE_LEADING_ZEROS, 4); + StringExpandPlaceholders(gStringVar4, Str_839C414); } -NAKED -void DebugMenu_8078880() +void DebugMenu_8078880(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._472 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r4, r0, r1\n" - " mov r1, #0x8\n" - " ldsh r0, [r4, r1]\n" - " cmp r0, #0x1\n" - " beq ._468 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._469 @cond_branch\n" - " cmp r0, #0\n" - " beq ._470 @cond_branch\n" - " b ._480\n" - "._473:\n" - " .align 2, 0\n" - "._472:\n" - " .word gTasks\n" - "._469:\n" - " cmp r0, #0x2\n" - " beq ._474 @cond_branch\n" - " b ._480\n" - "._470:\n" - " bl Menu_DisplayDialogueFrame\n" - " b ._476\n" - "._468:\n" - " ldr r0, ._478 @ gStringVar4\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - "._476:\n" - " ldrh r0, [r4, #0x8]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4, #0x8]\n" - " b ._480\n" - "._479:\n" - " .align 2, 0\n" - "._478:\n" - " .word gStringVar4\n" - "._474:\n" - " ldr r0, ._481 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._480 @cond_branch\n" - " bl Menu_EraseScreen\n" - " bl ScriptContext2_Disable\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - "._480:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._482:\n" - " .align 2, 0\n" - "._481:\n" - " .word gMain\n" - "\n" - ); + switch (gTasks[taskId].data[0]) + { + case 0: + Menu_DisplayDialogueFrame(); + gTasks[taskId].data[0]++; + break; + case 1: + Menu_PrintText(gStringVar4, 2, 15); + gTasks[taskId].data[0]++; + break; + case 2: + if (gMain.newKeys & A_BUTTON) + { + Menu_EraseScreen(); + ScriptContext2_Disable(); + DestroyTask(taskId); + } + break; + } } -NAKED -u8 DebugMenu_CellInfo() +u8 DebugMenu_CellInfo(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._483 @ DebugMenu_8078880\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl DebugMenu_80787EC\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._484:\n" - " .align 2, 0\n" - "._483:\n" - " .word DebugMenu_8078880+1\n" - "\n" - ); + CloseMenu(); + CreateTask(DebugMenu_8078880, 80); + DebugMenu_80787EC(); + ScriptContext2_Enable(); + return TRUE; } -NAKED -u8 DebugMenu_OpenBerryInfo() +u8 DebugMenu_OpenBerryInfo(void) { - asm( - " push {r4, lr}\n" - " bl DebugOpenBerryInfo\n" - " add r4, r0, #0\n" - " cmp r4, #0\n" - " bne ._485 @cond_branch\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - " b ._486\n" - "._485:\n" - " mov r0, #0x0\n" - " mov r1, #0x0\n" - " mov r2, #0x13\n" - " mov r3, #0x13\n" - " bl Menu_DrawStdWindowFrame\n" - " add r0, r4, #0\n" - " mov r1, #0x1\n" - " mov r2, #0x1\n" - " bl Menu_PrintText\n" - " ldr r1, ._487 @ gMenuCallback\n" - " ldr r0, ._487 + 4 @ DebugMenu_8077DB4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - "._486:\n" - " pop {r4}\n" - " pop {r1}\n" - " bx r1\n" - "._488:\n" - " .align 2, 0\n" - "._487:\n" - " .word gMenuCallback\n" - " .word DebugMenu_8077DB4+1\n" - "\n" - ); + const u8 * berryInfo = DebugOpenBerryInfo(); + if (berryInfo != NULL) + { + Menu_DrawStdWindowFrame(0, 0, 19, 19); + Menu_PrintText(berryInfo, 1, 1); + gMenuCallback = DebugMenu_8077DB4; + return FALSE; + } + CloseMenu(); + return TRUE; } -NAKED -void DebugMenu_8078950() +const u8 Str_839C42E[] = _("レベル  ステージ"); + +void DebugMenu_8078950(void) { - asm( - " push {lr}\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._489 @ Str_839C42E\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._490:\n" - " .align 2, 0\n" - "._489:\n" - " .word Str_839C42E\n" - "\n" - ); + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_839C42E, 4, 15); } -NAKED -void DebugMenu_8078968() +void DebugMenu_8078968(u16 flag) { - asm( - " push {lr}\n" - " lsl r0, r0, #0x10\n" - " cmp r0, #0\n" - " bne ._491 @cond_branch\n" - " ldr r0, ._493 @ gStringVar1\n" - " mov r1, #0x32\n" - " mov r2, #0x2\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " b ._492\n" - "._494:\n" - " .align 2, 0\n" - "._493:\n" - " .word gStringVar1\n" - "._491:\n" - " ldr r0, ._495 @ gStringVar1\n" - " mov r1, #0x64\n" - " mov r2, #0x2\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - "._492:\n" - " ldr r0, ._495 @ gStringVar1\n" - " mov r1, #0x4\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r0}\n" - " bx r0\n" - "._496:\n" - " .align 2, 0\n" - "._495:\n" - " .word gStringVar1\n" - "\n" - ); + if (flag == 0) + ConvertIntToDecimalStringN(gStringVar1, 50, STR_CONV_MODE_LEADING_ZEROS, 3); + else + ConvertIntToDecimalStringN(gStringVar1, 100, STR_CONV_MODE_LEADING_ZEROS, 3); + Menu_PrintText(gStringVar1, 4, 17); } -NAKED -void DebugMenu_80789A4() +void DebugMenu_80789A4(u16 value) { - asm( - " push {r4, lr}\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r4, ._497 @ gStringVar1\n" - " add r0, r4, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x4\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x9\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._498:\n" - " .align 2, 0\n" - "._497:\n" - " .word gStringVar1\n" - "\n" - ); + ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEADING_ZEROS, 4); + Menu_PrintText(gStringVar1, 9, 17); } -NAKED -void DebugMenu_80789CC() +void DebugMenu_80789CC(u8 taskId) { - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r4, r0, #0x2\n" - " add r4, r4, r0\n" - " lsl r4, r4, #0x3\n" - " ldr r6, ._499 @ gTasks\n" - " add r5, r4, r6\n" - " mov r0, #0x0\n" - " strh r0, [r5]\n" - " ldr r0, ._499 + 4 @ gSaveBlock2\n" - " ldr r1, ._499 + 8 @ 0x55c\n" - " add r0, r0, r1\n" - " ldrh r0, [r0]\n" - " strh r0, [r5, #0x2]\n" - " bl DebugMenu_8078950\n" - " ldrh r0, [r5]\n" - " bl DebugMenu_8078968\n" - " sub r6, r6, #0x8\n" - " add r4, r4, r6\n" - " ldr r0, ._499 + 12 @ DebugMenu_8078A14\n" - " str r0, [r4]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._500:\n" - " .align 2, 0\n" - "._499:\n" - " .word gTasks+0x8\n" - " .word gSaveBlock2\n" - " .word 0x55c\n" - " .word DebugMenu_8078A14+1\n" - "\n" - ); + s16 * data = gTasks[taskId].data; + data[0] = 0; + data[1] = gSaveBlock2.battleTower.curStreakChallengesNum[0]; + DebugMenu_8078950(); + DebugMenu_8078968(data[0]); + gTasks[taskId].func = DebugMenu_8078A14; } -NAKED -void DebugMenu_8078A14() +void DebugMenu_8078A14(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r4, r1, #0x3\n" - " ldr r5, ._504 @ gTasks\n" - " add r2, r4, r5\n" - " ldr r0, ._504 + 4 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0xc0\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._501 @cond_branch\n" - " mov r1, #0x0\n" - " mov r3, #0x0\n" - " ldsh r0, [r2, r3]\n" - " cmp r0, #0\n" - " bne ._502 @cond_branch\n" - " mov r1, #0x1\n" - "._502:\n" - " strh r1, [r2]\n" - " ldrh r0, [r2]\n" - " bl DebugMenu_8078968\n" - " b ._510\n" - "._505:\n" - " .align 2, 0\n" - "._504:\n" - " .word gTasks+0x8\n" - " .word gMain\n" - "._501:\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._506 @cond_branch\n" - " ldr r1, ._508 @ gSaveBlock2\n" - " mov r3, #0x0\n" - " ldsh r0, [r2, r3]\n" - " lsl r0, r0, #0x1\n" - " ldr r3, ._508 + 4 @ 0x55c\n" - " add r1, r1, r3\n" - " add r0, r0, r1\n" - " ldrh r0, [r0]\n" - " strh r0, [r2, #0x2]\n" - " ldrh r0, [r2, #0x2]\n" - " bl DebugMenu_80789A4\n" - " add r0, r5, #0\n" - " sub r0, r0, #0x8\n" - " add r0, r4, r0\n" - " ldr r1, ._508 + 8 @ DebugMenu_8078AA4\n" - " b ._507\n" - "._509:\n" - " .align 2, 0\n" - "._508:\n" - " .word gSaveBlock2\n" - " .word 0x55c\n" - " .word DebugMenu_8078AA4+1\n" - "._506:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._510 @cond_branch\n" - " add r0, r5, #0\n" - " sub r0, r0, #0x8\n" - " add r0, r4, r0\n" - " ldr r1, ._511 @ DebugMenu_8078B38\n" - "._507:\n" - " str r1, [r0]\n" - "._510:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._512:\n" - " .align 2, 0\n" - "._511:\n" - " .word DebugMenu_8078B38+1\n" - "\n" - ); + s16 * data = gTasks[taskId].data; + if (gMain.newKeys & (DPAD_UP | DPAD_DOWN)) + { + data[0] = data[0] == 0 ? 1 : 0; + DebugMenu_8078968(data[0]); + } + else if (gMain.newKeys & A_BUTTON) + { + data[1] = gSaveBlock2.battleTower.curStreakChallengesNum[data[0]]; + DebugMenu_80789A4(data[1]); + gTasks[taskId].func = DebugMenu_8078AA4; + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = DebugMenu_8078B38; + } } -NAKED -void DebugMenu_8078AA4() +void DebugMenu_8078AA4(u8 taskId) { - asm( - " push {r4, r5, r6, r7, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r5, r1, #0x3\n" - " ldr r7, ._515 @ gTasks\n" - " add r4, r5, r7\n" - " add r0, r4, #2\n" - " mov r2, #0xfa\n" - " lsl r2, r2, #0x3\n" - " ldr r6, ._515 + 4 @ gMain\n" - " ldrh r3, [r6, #0x30]\n" - " mov r1, #0x0\n" - " bl DebugMenu_8077DD8\n" - " cmp r0, #0x1\n" - " bne ._513 @cond_branch\n" - " ldrh r0, [r4, #0x2]\n" - " bl DebugMenu_80789A4\n" - " b ._521\n" - "._516:\n" - " .align 2, 0\n" - "._515:\n" - " .word gTasks+0x8\n" - " .word gMain\n" - "._513:\n" - " ldrh r1, [r6, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._517 @cond_branch\n" - " ldr r1, ._519 @ gSaveBlock2\n" - " mov r2, #0x0\n" - " ldsh r0, [r4, r2]\n" - " lsl r0, r0, #0x1\n" - " ldr r2, ._519 + 4 @ 0x55c\n" - " add r1, r1, r2\n" - " add r0, r0, r1\n" - " ldrh r1, [r4, #0x2]\n" - " strh r1, [r0]\n" - " mov r0, #0x49\n" - " bl PlaySE\n" - " add r0, r7, #0\n" - " sub r0, r0, #0x8\n" - " add r0, r5, r0\n" - " ldr r1, ._519 + 8 @ DebugMenu_8078B38\n" - " b ._518\n" - "._520:\n" - " .align 2, 0\n" - "._519:\n" - " .word gSaveBlock2\n" - " .word 0x55c\n" - " .word DebugMenu_8078B38+1\n" - "._517:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._521 @cond_branch\n" - " bl DebugMenu_8078950\n" - " ldrh r0, [r4]\n" - " bl DebugMenu_8078968\n" - " add r0, r7, #0\n" - " sub r0, r0, #0x8\n" - " add r0, r5, r0\n" - " ldr r1, ._522 @ DebugMenu_8078A14\n" - "._518:\n" - " str r1, [r0]\n" - "._521:\n" - " pop {r4, r5, r6, r7}\n" - " pop {r0}\n" - " bx r0\n" - "._523:\n" - " .align 2, 0\n" - "._522:\n" - " .word DebugMenu_8078A14+1\n" - "\n" - ); + s16 * data = gTasks[taskId].data; + if (DebugMenu_8077DD8(data + 1, 0, 2000, gMain.newAndRepeatedKeys) == TRUE) + { + DebugMenu_80789A4(data[1]); + } + else if (gMain.newKeys & A_BUTTON) + { + gSaveBlock2.battleTower.curStreakChallengesNum[data[0]] = data[1]; + PlaySE(SE_PINPON); + gTasks[taskId].func = DebugMenu_8078B38; + } + else if (gMain.newKeys & B_BUTTON) + { + DebugMenu_8078950(); + DebugMenu_8078968(data[0]); + gTasks[taskId].func = DebugMenu_8078A14; + } } -NAKED -void DebugMenu_8078B38() +void DebugMenu_8078B38(u8 taskId) { - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_EraseScreen\n" - " bl ScriptContext2_Disable\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + Menu_EraseScreen(); + ScriptContext2_Disable(); + DestroyTask(taskId); } -NAKED -u8 DebugMenu_BattleTowerStages() +u8 DebugMenu_BattleTowerStages(void) { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " bl ScriptContext2_Enable\n" - " ldr r0, ._524 @ DebugMenu_80789CC\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._525:\n" - " .align 2, 0\n" - "._524:\n" - " .word DebugMenu_80789CC+1\n" - "\n" - ); + CloseMenu(); + ScriptContext2_Enable(); + CreateTask(DebugMenu_80789CC, 80); + return TRUE; } NAKED -- cgit v1.2.3 From cc8b69676d79bd0791373dce093a33b5e831de49 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 18:59:40 -0400 Subject: through DebugMenu_8078D30 --- src/debug/start_menu_debug.c | 451 +++++++++++++++---------------------------- 1 file changed, 155 insertions(+), 296 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index bd0b06828..75e1b028d 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -43,6 +43,8 @@ #include "data2.h" #include "item.h" #include "reset_rtc_screen.h" +#include "pokeblock.h" +#include "ewram.h" // berry_blender.c extern void unref_sub_80524BC(void); @@ -66,6 +68,13 @@ void DebugMenu_807806C(u8 taskId); void DebugMenu_8078A14(u8 taskId); void DebugMenu_8078AA4(u8 taskId); void DebugMenu_8078B38(u8 taskId); +bool8 DebugMenu_8078C80(void); +bool8 DebugMenu_8078CA8(void); +bool8 DebugMenu_8078CE4(void); +bool8 DebugMenu_8078D30(void); +bool8 DebugMenu_8078D7C(void); +bool32 DebugMenu_8078E40(u8 a0, u8 * a1, u32 a2); +void DebugMenu_8078E68(u8 a0, u8 * a1, u32 a2); u8 DebugMenu_Exit(void); u8 DebugMenu_OpenWatanabe(void); @@ -2323,320 +2332,170 @@ u8 DebugMenu_BattleTowerStages(void) return TRUE; } -NAKED -void DebugMenu_8078B70() -{ - asm( - " push {lr}\n" - " add r1, r0, #0\n" - " lsl r1, r1, #0x10\n" - " lsr r1, r1, #0x10\n" - " ldr r0, ._526 @ gStringVar1\n" - " mov r2, #0x0\n" - " mov r3, #0x1\n" - " bl ConvertIntToHexStringN\n" - " ldr r0, ._526 + 4 @ Str_839C438\n" - " bl sub_8071F40\n" - " pop {r0}\n" - " bx r0\n" - "._527:\n" - " .align 2, 0\n" - "._526:\n" - " .word gStringVar1\n" - " .word Str_839C438\n" - "\n" - ); -} +const u8 Str_839C438[] = _("ポロック グループ{STR_VAR_1}"); + +void DebugMenu_8078B70(u16 value) +{ + ConvertIntToHexStringN(gStringVar1, value, STR_CONV_MODE_LEFT_ALIGN, 1); + sub_8071F40(Str_839C438); +} + +const struct Pokeblock gUnknown_Debug_839C444[] = { + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {PBLOCK_CLR_BLACK, 0x03, 0x03, 0x03, 0x03, 0x1e, 0x00}, + {} +}; -NAKED -void DebugMenu_8078B94() +void DebugMenu_8078B94(void) { - asm( - " push {r4, r5, lr}\n" - " mov r3, #0x0\n" - " ldr r1, ._531 @ gUnknown_Debug_839C444\n" - " ldrb r0, [r1]\n" - " cmp r0, #0\n" - " beq ._529 @cond_branch\n" - " ldr r5, ._531 + 4 @ gSaveBlock1\n" - " add r4, r1, #0\n" - "._530:\n" - " lsl r0, r3, #0x3\n" - " add r2, r0, r5\n" - " add r0, r0, r4\n" - " ldr r1, [r0, #0x4]\n" - " ldr r0, [r0]\n" - " str r0, [r2]\n" - " str r1, [r2, #0x4]\n" - " add r0, r3, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r3, r0, #0x18\n" - " cmp r3, #0x27\n" - " bhi ._529 @cond_branch\n" - " lsl r0, r3, #0x3\n" - " add r0, r0, r4\n" - " ldrb r0, [r0]\n" - " cmp r0, #0\n" - " bne ._530 @cond_branch\n" - "._529:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._532:\n" - " .align 2, 0\n" - "._531:\n" - " .word gUnknown_Debug_839C444\n" - " .word gSaveBlock1+0x7f8\n" - "\n" - ); + u8 i; + + for (i = 0; i < ARRAY_COUNT(gSaveBlock1.pokeblocks); i++) + { + if (gUnknown_Debug_839C444[i].color == 0) + break; + gSaveBlock1.pokeblocks[i] = gUnknown_Debug_839C444[i]; + } } -NAKED -void DebugMenu_8078BD4() +void DebugMenu_8078BD4(u8 taskId) { - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " ldr r1, ._536 @ gTasks\n" - " add r4, r0, r1\n" - " mov r1, #0x0\n" - " ldsh r0, [r4, r1]\n" - " cmp r0, #0\n" - " beq ._533 @cond_branch\n" - " cmp r0, #0x1\n" - " beq ._534 @cond_branch\n" - " b ._545\n" - "._537:\n" - " .align 2, 0\n" - "._536:\n" - " .word gTasks+0x8\n" - "._533:\n" - " ldrh r0, [r4, #0x2]\n" - " bl DebugMenu_8078B70\n" - " ldrh r0, [r4]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4]\n" - " b ._545\n" - "._534:\n" - " ldr r2, ._541 @ gMain\n" - " ldrh r1, [r2, #0x2e]\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._539 @cond_branch\n" - " mov r0, #0x49\n" - " bl PlaySE\n" - " bl Menu_EraseScreen\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - " bl ScriptContext2_Disable\n" - " bl DebugMenu_8078B94\n" - " b ._545\n" - "._542:\n" - " .align 2, 0\n" - "._541:\n" - " .word gMain\n" - "._539:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._543 @cond_branch\n" - " bl Menu_EraseScreen\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - " bl ScriptContext2_Disable\n" - " b ._545\n" - "._543:\n" - " add r0, r4, #2\n" - " ldrh r3, [r2, #0x30]\n" - " mov r1, #0x0\n" - " mov r2, #0x4\n" - " bl DebugMenu_8077DD8\n" - " cmp r0, #0x1\n" - " bne ._545 @cond_branch\n" - " ldrh r0, [r4, #0x2]\n" - " bl DebugMenu_8078B70\n" - "._545:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); + s16 * data = gTasks[taskId].data; + + switch (data[0]) + { + case 0: + DebugMenu_8078B70(data[1]); + data[0]++; + break; + case 1: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_PINPON); + Menu_EraseScreen(); + DestroyTask(taskId); + ScriptContext2_Disable(); + DebugMenu_8078B94(); + } + else if (gMain.newKeys & B_BUTTON) + { + Menu_EraseScreen(); + DestroyTask(taskId); + ScriptContext2_Disable(); + } + else if (DebugMenu_8077DD8(data + 1, 0, 4, gMain.newAndRepeatedKeys) == TRUE) + { + DebugMenu_8078B70(data[1]); + } + break; + } } -NAKED u8 DebugMenu_CheckPKBLCK() { - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._546 @ DebugMenu_8078BD4\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._547:\n" - " .align 2, 0\n" - "._546:\n" - " .word DebugMenu_8078BD4+1\n" - "\n" - ); + CloseMenu(); + CreateTask(DebugMenu_8078BD4, 80); + ScriptContext2_Enable(); + return TRUE; } -NAKED -bool8 DebugMenu_8078C80() +const u8 Str_839C574[] = _("write to flash"); +const u8 Str_839C583[] = _("read from flash"); + +const struct MenuAction gUnknown_Debug_839C594[] = { + {Str_839C574, DebugMenu_8078C80}, + {Str_839C583, DebugMenu_8078D30} +}; + +const u8 Str_839C5A4[] = _("Press A, begin to write\n" + "Press B, cancel"); + +bool8 DebugMenu_8078C80(void) { - asm( - " push {lr}\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._548 @ Str_839C5A4\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r1, ._548 + 4 @ gMenuCallback\n" - " ldr r0, ._548 + 8 @ DebugMenu_8078CA8\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._549:\n" - " .align 2, 0\n" - "._548:\n" - " .word Str_839C5A4\n" - " .word gMenuCallback\n" - " .word DebugMenu_8078CA8+1\n" - "\n" - ); + Menu_DisplayDialogueFrame(); + Menu_PrintText(Str_839C5A4, 2, 15); + gMenuCallback = DebugMenu_8078CA8; + return FALSE; } -NAKED -bool8 DebugMenu_8078CA8() +bool8 DebugMenu_8078CA8(void) { - asm( - " push {lr}\n" - " ldr r0, ._552 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._550 @cond_branch\n" - " ldr r1, ._552 + 4 @ gMenuCallback\n" - " ldr r0, ._552 + 8 @ DebugMenu_8078CE4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " b ._555\n" - "._553:\n" - " .align 2, 0\n" - "._552:\n" - " .word gMain\n" - " .word gMenuCallback\n" - " .word DebugMenu_8078CE4+1\n" - "._550:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._554 @cond_branch\n" - " mov r0, #0x0\n" - " b ._555\n" - "._554:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._555:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); + if (gMain.newKeys & A_BUTTON) + { + gMenuCallback = DebugMenu_8078CE4; + return FALSE; + } + if (gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + return FALSE; } -NAKED -bool8 DebugMenu_8078CE4() +const u8 Str_839C5CC[] =_("かきこみ せいこう"); +const u8 Str_839C5D6[] =_("よみこみせいこう"); +const u8 Str_839C5DF[] =_("かきこみ しっぱい"); +const u8 Str_839C5E9[] =_("よみこみ しっぱい"); + +bool8 DebugMenu_8078CE4(void) { - asm( - " push {lr}\n" - " ldr r1, ._558 @ \n" - " mov r2, #0x80\n" - " lsl r2, r2, #0xa\n" - " mov r0, #0x0\n" - " bl DebugMenu_8078E40\n" - " cmp r0, #0x1\n" - " bne ._556 @cond_branch\n" - " ldr r0, ._558 + 4 @ \n" - " ldr r1, ._558 + 8 @ \n" - " bl StringCopy\n" - " b ._557\n" - "._559:\n" - " .align 2, 0\n" - "._558:\n" - " .word +0x2000000\n" - " .word gStringVar4\n" - " .word Str_839C5CC\n" - "._556:\n" - " ldr r0, ._560 @ gStringVar4\n" - " ldr r1, ._560 + 4 @ Str_839C5DF\n" - " bl StringCopy\n" - "._557:\n" - " ldr r1, ._560 + 8 @ gMenuCallback\n" - " ldr r0, ._560 + 12 @ DebugMenu_8078D7C\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._561:\n" - " .align 2, 0\n" - "._560:\n" - " .word gStringVar4\n" - " .word Str_839C5DF\n" - " .word gMenuCallback\n" - " .word DebugMenu_8078D7C+1\n" - "\n" - ); + if (DebugMenu_8078E40(0, gSharedMem, 0x20000) == TRUE) + StringCopy(gStringVar4, Str_839C5CC); + else + StringCopy(gStringVar4, Str_839C5DF); + gMenuCallback = DebugMenu_8078D7C; + return FALSE; } -NAKED -bool8 DebugMenu_8078D30() +bool8 DebugMenu_8078D30(void) { - asm( - " push {r4, r5, r6, lr}\n" - " ldr r5, ._563 @ \n" - " mov r4, #0x0\n" - " mov r6, #0x80\n" - " lsl r6, r6, #0x5\n" - "._562:\n" - " add r0, r4, #0\n" - " add r1, r5, #0\n" - " add r2, r6, #0\n" - " bl DebugMenu_8078E68\n" - " add r5, r5, r6\n" - " add r0, r4, #1\n" - " lsl r0, r0, #0x18\n" - " lsr r4, r0, #0x18\n" - " cmp r4, #0x1f\n" - " bls ._562 @cond_branch\n" - " ldr r0, ._563 + 4 @ \n" - " ldr r1, ._563 + 8 @ \n" - " bl StringCopy\n" - " ldr r1, ._563 + 12 @ \n" - " ldr r0, ._563 + 16 @ \n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "._564:\n" - " .align 2, 0\n" - "._563:\n" - " .word +0x2000000\n" - " .word gStringVar4\n" - " .word Str_839C5D6\n" - " .word gMenuCallback\n" - " .word DebugMenu_8078D7C+1\n" - "\n" - ); + u8 * data = gSharedMem; + u8 i; + + for (i = 0; i < 32; i++) + { + DebugMenu_8078E68(i, data, 0x1000); + data += 0x1000; + } + StringCopy(gStringVar4, Str_839C5D6); + gMenuCallback = DebugMenu_8078D7C; + return FALSE; } NAKED @@ -2738,7 +2597,7 @@ bool8 DebugMenu_8078DF0() } NAKED -bool8 DebugMenu_8078E04() +bool32 DebugMenu_8078E04(u16 a0, u8 * a1, u32 a2) { asm( " push {r4, r5, r6, lr}\n" @@ -2781,7 +2640,7 @@ bool8 DebugMenu_8078E04() } NAKED -bool8 DebugMenu_8078E40() +bool32 DebugMenu_8078E40(u8 a0, u8 * a1, u32 a2) { asm( " push {r4, r5, r6, lr}\n" @@ -2806,7 +2665,7 @@ bool8 DebugMenu_8078E40() } NAKED -void DebugMenu_8078E68() +void DebugMenu_8078E68(u8 a0, u8 * a1, u32 a2) { asm( " push {r4, lr}\n" -- cgit v1.2.3 From e651e6a7847bb8f1a55506c8f7729176f84fabf9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 8 Apr 2018 21:41:23 -0400 Subject: Remaining functions and data in start_menu_debug --- src/debug/start_menu_debug.c | 897 ++++++++++++------------------------------- 1 file changed, 239 insertions(+), 658 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 75e1b028d..c1f508ebc 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -45,6 +45,8 @@ #include "reset_rtc_screen.h" #include "pokeblock.h" #include "ewram.h" +#include "gba/flash_internal.h" +#include "gba/m4a_internal.h" // berry_blender.c extern void unref_sub_80524BC(void); @@ -73,8 +75,12 @@ bool8 DebugMenu_8078CA8(void); bool8 DebugMenu_8078CE4(void); bool8 DebugMenu_8078D30(void); bool8 DebugMenu_8078D7C(void); +bool8 DebugMenu_8078DA4(void); +bool8 DebugMenu_8078DF0(void); bool32 DebugMenu_8078E40(u8 a0, u8 * a1, u32 a2); void DebugMenu_8078E68(u8 a0, u8 * a1, u32 a2); +void DebugMenu_8078F68(u8 taskId); +void DebugMenu_8079020(u8 taskId); u8 DebugMenu_Exit(void); u8 DebugMenu_OpenWatanabe(void); @@ -2498,672 +2504,247 @@ bool8 DebugMenu_8078D30(void) return FALSE; } -NAKED -bool8 DebugMenu_8078D7C() -{ - asm( - " push {lr}\n" - " bl Menu_DisplayDialogueFrame\n" - " ldr r0, ._565 @ gStringVar4\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " ldr r1, ._565 + 4 @ gMenuCallback\n" - " ldr r0, ._565 + 8 @ DebugMenu_8078DA4\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._566:\n" - " .align 2, 0\n" - "._565:\n" - " .word gStringVar4\n" - " .word gMenuCallback\n" - " .word DebugMenu_8078DA4+1\n" - "\n" - ); -} - -NAKED -bool8 DebugMenu_8078DA4() -{ - asm( - " push {lr}\n" - " ldr r0, ._569 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " bne ._567 @cond_branch\n" - " mov r0, #0x0\n" - " b ._568\n" - "._570:\n" - " .align 2, 0\n" - "._569:\n" - " .word gMain\n" - "._567:\n" - " bl CloseMenu\n" - " mov r0, #0x1\n" - "._568:\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -NAKED -u8 DebugMenu_MeTooBackupMan() -{ - asm( - " push {lr}\n" - " bl Menu_EraseScreen\n" - " ldr r0, ._571 @ gUnknown_Debug_839C594\n" - " mov r1, #0xc\n" - " mov r2, #0x2\n" - " bl DebugMenu_8077D24\n" - " ldr r1, ._571 + 4 @ gMenuCallback\n" - " ldr r0, ._571 + 8 @ DebugMenu_8078DF0\n" - " str r0, [r1]\n" - " mov r0, #0x0\n" - " pop {r1}\n" - " bx r1\n" - "._572:\n" - " .align 2, 0\n" - "._571:\n" - " .word gUnknown_Debug_839C594\n" - " .word gMenuCallback\n" - " .word DebugMenu_8078DF0+1\n" - "\n" - ); -} - -NAKED +bool8 DebugMenu_8078D7C(void) +{ + Menu_DisplayDialogueFrame(); + Menu_PrintText(gStringVar4, 2, 15); + gMenuCallback = DebugMenu_8078DA4; + return FALSE; +} + +bool8 DebugMenu_8078DA4(void) +{ + if (gMain.newKeys & A_BUTTON) + { + CloseMenu(); + return TRUE; + } + return FALSE; +} + +u8 DebugMenu_MeTooBackupMan(void) +{ + Menu_EraseScreen(); + DebugMenu_8077D24(gUnknown_Debug_839C594, 12, ARRAY_COUNT(gUnknown_Debug_839C594)); + gMenuCallback = DebugMenu_8078DF0; + return FALSE; +} + bool8 DebugMenu_8078DF0() { - asm( - " push {lr}\n" - " ldr r0, ._573 @ gUnknown_Debug_839C594\n" - " bl DebugMenu_8077D78\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " pop {r1}\n" - " bx r1\n" - "._574:\n" - " .align 2, 0\n" - "._573:\n" - " .word gUnknown_Debug_839C594\n" - "\n" - ); -} - -NAKED + return DebugMenu_8077D78(gUnknown_Debug_839C594); +} + bool32 DebugMenu_8078E04(u16 a0, u8 * a1, u32 a2) { - asm( - " push {r4, r5, r6, lr}\n" - " add r6, r1, #0\n" - " add r5, r2, #0\n" - " b ._575\n" - "._577:\n" - " ldr r0, ._579 @ 0xfffff000\n" - " add r5, r5, r0\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x5\n" - " add r6, r6, r0\n" - " add r0, r4, #1\n" - "._575:\n" - " lsl r0, r0, #0x10\n" - " lsr r4, r0, #0x10\n" - " add r0, r4, #0\n" - " add r1, r6, #0\n" - " bl ProgramFlashSectorAndVerify\n" - " cmp r0, #0\n" - " bne ._576 @cond_branch\n" - " mov r0, #0x80\n" - " lsl r0, r0, #0x5\n" - " cmp r5, r0\n" - " bhi ._577 @cond_branch\n" - " mov r0, #0x1\n" - " b ._578\n" - "._580:\n" - " .align 2, 0\n" - "._579:\n" - " .word 0xfffff000\n" - "._576:\n" - " mov r0, #0x0\n" - "._578:\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -NAKED + while (1) + { + if (ProgramFlashSectorAndVerify(a0, a1)) + return FALSE; + if (a2 <= 0x1000) + break; + a2 -= 0x1000; + a1 += 0x1000; + a0++; + } + return TRUE; +} + bool32 DebugMenu_8078E40(u8 a0, u8 * a1, u32 a2) { - asm( - " push {r4, r5, r6, lr}\n" - " add r4, r0, #0\n" - " add r5, r1, #0\n" - " add r6, r2, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl m4aSoundVSyncOff\n" - " add r0, r4, #0\n" - " add r1, r5, #0\n" - " add r2, r6, #0\n" - " bl DebugMenu_8078E04\n" - " add r4, r0, #0\n" - " bl m4aSoundVSyncOn\n" - " add r0, r4, #0\n" - " pop {r4, r5, r6}\n" - " pop {r1}\n" - " bx r1\n" - "\n" - ); -} - -NAKED + bool32 result; + m4aSoundVSyncOff(); + result = DebugMenu_8078E04(a0, a1, a2); + m4aSoundVSyncOn(); + return result; +} + void DebugMenu_8078E68(u8 a0, u8 * a1, u32 a2) { - asm( - " push {r4, lr}\n" - " add r4, r1, #0\n" - " add r3, r2, #0\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " mov r1, #0x0\n" - " add r2, r4, #0\n" - " bl ReadFlash\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -NAKED -void DebugMenu_8078E80() -{ - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " mov r0, #0x2\n" - " mov r1, #0xf\n" - " mov r2, #0x16\n" - " mov r3, #0x10\n" - " bl Menu_BlankWindowRect\n" - " ldr r1, ._581 @ gUnknown_Debug_839C5F4\n" - " mov r2, #0x0\n" - " ldsh r0, [r4, r2]\n" - " lsl r0, r0, #0x3\n" - " add r0, r0, r1\n" - " ldrb r1, [r0, #0x4]\n" - " mov r0, #0xd0\n" - " mov r2, #0xf\n" - " bl sub_8071F60\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "._582:\n" - " .align 2, 0\n" - "._581:\n" - " .word gUnknown_Debug_839C5F4\n" - "\n" - ); -} - -NAKED -void DebugMenu_8078EB0() -{ - asm( - " push {r4, r5, lr}\n" - " add r5, r0, #0\n" - " ldr r4, ._583 @ gStringVar1\n" - " mov r0, #0x2\n" - " ldsh r1, [r5, r0]\n" - " add r0, r4, #0\n" - " mov r2, #0x1\n" - " mov r3, #0x3\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x2\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0xf0\n" - " mov r1, #0x5\n" - " mov r2, #0x11\n" - " bl sub_8071F60\n" - " mov r0, #0x4\n" - " ldsh r1, [r5, r0]\n" - " add r0, r4, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x6\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " mov r0, #0xf0\n" - " mov r1, #0x8\n" - " mov r2, #0x11\n" - " bl sub_8071F60\n" - " mov r0, #0x6\n" - " ldsh r1, [r5, r0]\n" - " add r0, r4, #0\n" - " mov r2, #0x2\n" - " mov r3, #0x2\n" - " bl ConvertIntToDecimalStringN\n" - " add r0, r4, #0\n" - " mov r1, #0x9\n" - " mov r2, #0x11\n" - " bl Menu_PrintText\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._584:\n" - " .align 2, 0\n" - "._583:\n" - " .word gStringVar1\n" - "\n" - ); -} - -NAKED -void DebugMenu_8078F1C() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r4, r0, #0x2\n" - " add r4, r4, r0\n" - " lsl r4, r4, #0x3\n" - " ldr r6, ._585 @ gTasks\n" - " add r5, r4, r6\n" - " mov r0, #0x0\n" - " strh r0, [r5]\n" - " ldr r1, ._585 + 4 @ gSaveBlock2\n" - " ldrh r0, [r1, #0xe]\n" - " strh r0, [r5, #0x2]\n" - " ldrb r0, [r1, #0x10]\n" - " strh r0, [r5, #0x4]\n" - " ldrb r0, [r1, #0x11]\n" - " strh r0, [r5, #0x6]\n" - " bl Menu_DisplayDialogueFrame\n" - " add r0, r5, #0\n" - " bl DebugMenu_8078EB0\n" - " add r0, r5, #0\n" - " bl DebugMenu_8078E80\n" - " sub r6, r6, #0x8\n" - " add r4, r4, r6\n" - " ldr r0, ._585 + 8 @ DebugMenu_8078F68\n" - " str r0, [r4]\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._586:\n" - " .align 2, 0\n" - "._585:\n" - " .word gTasks+0x8\n" - " .word gSaveBlock2\n" - " .word DebugMenu_8078F68+1\n" - "\n" - ); -} - -NAKED -void DebugMenu_8078F68() -{ - asm( - " push {r4, r5, r6, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r0, r0, #0x18\n" - " lsl r1, r0, #0x2\n" - " add r1, r1, r0\n" - " lsl r5, r1, #0x3\n" - " ldr r6, ._589 @ gTasks\n" - " add r4, r5, r6\n" - " ldr r3, ._589 + 4 @ gMain\n" - " ldrh r1, [r3, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._587 @cond_branch\n" - " ldr r1, ._589 + 8 @ gSaveBlock2\n" - " ldrh r0, [r4, #0x2]\n" - " strh r0, [r1, #0xe]\n" - " ldrh r0, [r4, #0x4]\n" - " strb r0, [r1, #0x10]\n" - " ldrh r0, [r4, #0x6]\n" - " strb r0, [r1, #0x11]\n" - " mov r0, #0x49\n" - " bl PlaySE\n" - " b ._588\n" - "._590:\n" - " .align 2, 0\n" - "._589:\n" - " .word gTasks+0x8\n" - " .word gMain\n" - " .word gSaveBlock2\n" - "._587:\n" - " mov r0, #0x2\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._591 @cond_branch\n" - "._588:\n" - " add r0, r6, #0\n" - " sub r0, r0, #0x8\n" - " add r0, r5, r0\n" - " ldr r1, ._593 @ DebugMenu_8079020\n" - " str r1, [r0]\n" - " b ._601\n" - "._594:\n" - " .align 2, 0\n" - "._593:\n" - " .word DebugMenu_8079020+1\n" - "._591:\n" - " mov r0, #0x20\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._595 @cond_branch\n" - " ldrh r1, [r4]\n" - " mov r2, #0x0\n" - " ldsh r0, [r4, r2]\n" - " cmp r0, #0\n" - " beq ._601 @cond_branch\n" - " sub r0, r1, #1\n" - " b ._597\n" - "._595:\n" - " mov r0, #0x10\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._598 @cond_branch\n" - " ldrh r0, [r4]\n" - " cmp r0, #0x1\n" - " bhi ._601 @cond_branch\n" - " add r0, r0, #0x1\n" - "._597:\n" - " strh r0, [r4]\n" - " add r0, r4, #0\n" - " bl DebugMenu_8078E80\n" - " b ._601\n" - "._598:\n" - " mov r0, #0x0\n" - " ldsh r2, [r4, r0]\n" - " lsl r2, r2, #0x3\n" - " ldr r0, ._602 @ gUnknown_Debug_839C5F4\n" - " add r2, r2, r0\n" - " ldrb r0, [r2, #0x5]\n" - " lsl r0, r0, #0x1\n" - " add r0, r4, r0\n" - " ldrh r1, [r2]\n" - " ldrh r2, [r2, #0x2]\n" - " ldrh r3, [r3, #0x30]\n" - " bl DebugMenu_8077DD8\n" - " cmp r0, #0x1\n" - " bne ._601 @cond_branch\n" - " add r0, r4, #0\n" - " bl DebugMenu_8078EB0\n" - "._601:\n" - " pop {r4, r5, r6}\n" - " pop {r0}\n" - " bx r0\n" - "._603:\n" - " .align 2, 0\n" - "._602:\n" - " .word gUnknown_Debug_839C5F4\n" - "\n" - ); -} - -NAKED -void DebugMenu_8079020() -{ - asm( - " push {r4, lr}\n" - " add r4, r0, #0\n" - " lsl r4, r4, #0x18\n" - " lsr r4, r4, #0x18\n" - " bl Menu_EraseScreen\n" - " bl ScriptContext2_Disable\n" - " add r0, r4, #0\n" - " bl DestroyTask\n" - " pop {r4}\n" - " pop {r0}\n" - " bx r0\n" - "\n" - ); -} - -NAKED -u8 DebugMenu_PTime() -{ - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._604 @ DebugMenu_8078F1C\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._605:\n" - " .align 2, 0\n" - "._604:\n" - " .word DebugMenu_8078F1C+1\n" - "\n" - ); -} - -NAKED -void DebugMenu_8079058() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._610 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r4, r0, r1\n" - " mov r0, #0x8\n" - " ldsh r1, [r4, r0]\n" - " cmp r1, #0x1\n" - " beq ._606 @cond_branch\n" - " cmp r1, #0x1\n" - " bgt ._607 @cond_branch\n" - " cmp r1, #0\n" - " beq ._608 @cond_branch\n" - " b ._620\n" - "._611:\n" - " .align 2, 0\n" - "._610:\n" - " .word gTasks\n" - "._607:\n" - " cmp r1, #0x2\n" - " beq ._612 @cond_branch\n" - " b ._620\n" - "._608:\n" - " ldr r0, ._615 @ gUnknown_Debug_03004BD0\n" - " str r1, [r0]\n" - " bl Menu_DisplayDialogueFrame\n" - " b ._614\n" - "._616:\n" - " .align 2, 0\n" - "._615:\n" - " .word gUnknown_Debug_03004BD0\n" - "._606:\n" - " ldr r0, ._618 @ gDebug0x839C60C\n" - " mov r1, #0x4\n" - " mov r2, #0xf\n" - " bl Menu_PrintText\n" - " mov r0, #0x14\n" - " mov r1, #0x8\n" - " mov r2, #0x1\n" - " bl DisplayYesNoMenu\n" - "._614:\n" - " ldrh r0, [r4, #0x8]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4, #0x8]\n" - " b ._620\n" - "._619:\n" - " .align 2, 0\n" - "._618:\n" - " .word gDebug0x839C60C\n" - "._612:\n" - " bl Menu_ProcessInputNoWrap_\n" - " lsl r0, r0, #0x18\n" - " asr r1, r0, #0x18\n" - " mov r0, #0x2\n" - " neg r0, r0\n" - " cmp r1, r0\n" - " beq ._620 @cond_branch\n" - " cmp r1, #0\n" - " bne ._621 @cond_branch\n" - " ldr r1, ._623 @ gUnknown_Debug_03004BD0\n" - " mov r0, #0x1\n" - " b ._622\n" - "._624:\n" - " .align 2, 0\n" - "._623:\n" - " .word gUnknown_Debug_03004BD0\n" - "._621:\n" - " ldr r1, ._625 @ gUnknown_Debug_03004BD0\n" - " mov r0, #0x0\n" - "._622:\n" - " str r0, [r1]\n" - " bl Menu_EraseScreen\n" - " bl ScriptContext2_Disable\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - "._620:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._626:\n" - " .align 2, 0\n" - "._625:\n" - " .word gUnknown_Debug_03004BD0\n" - "\n" - ); -} - -NAKED -u8 DebugMenu_OpenMurakawa() -{ - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._627 @ DebugMenu_8079058\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl ScriptContext2_Enable\n" - " mov r0, #0x1\n" - " pop {r1}\n" - " bx r1\n" - "._628:\n" - " .align 2, 0\n" - "._627:\n" - " .word DebugMenu_8079058+1\n" - "\n" - ); -} - -NAKED -void DebugMenu_8079110() -{ - asm( - " push {r4, r5, lr}\n" - " lsl r0, r0, #0x18\n" - " lsr r5, r0, #0x18\n" - " ldr r1, ._633 @ gTasks\n" - " lsl r0, r5, #0x2\n" - " add r0, r0, r5\n" - " lsl r0, r0, #0x3\n" - " add r4, r0, r1\n" - " mov r1, #0x8\n" - " ldsh r0, [r4, r1]\n" - " cmp r0, #0x1\n" - " beq ._629 @cond_branch\n" - " cmp r0, #0x1\n" - " bgt ._630 @cond_branch\n" - " cmp r0, #0\n" - " beq ._631 @cond_branch\n" - " b ._642\n" - "._634:\n" - " .align 2, 0\n" - "._633:\n" - " .word gTasks\n" - "._630:\n" - " cmp r0, #0x2\n" - " beq ._635 @cond_branch\n" - " b ._642\n" - "._631:\n" - " bl Menu_DisplayDialogueFrame\n" - " b ._637\n" - "._629:\n" - " ldr r0, ._639 @ Str_839C61A\n" - " mov r1, #0x2\n" - " mov r2, #0xf\n" - " bl MenuPrintMessage\n" - "._637:\n" - " ldrh r0, [r4, #0x8]\n" - " add r0, r0, #0x1\n" - " strh r0, [r4, #0x8]\n" - " b ._642\n" - "._640:\n" - " .align 2, 0\n" - "._639:\n" - " .word Str_839C61A\n" - "._635:\n" - " bl Menu_UpdateWindowText\n" - " lsl r0, r0, #0x18\n" - " cmp r0, #0\n" - " beq ._642 @cond_branch\n" - " ldr r0, ._643 @ gMain\n" - " ldrh r1, [r0, #0x2e]\n" - " mov r0, #0x1\n" - " and r0, r0, r1\n" - " cmp r0, #0\n" - " beq ._642 @cond_branch\n" - " bl Menu_EraseScreen\n" - " bl ScriptContext2_Disable\n" - " add r0, r5, #0\n" - " bl DestroyTask\n" - "._642:\n" - " pop {r4, r5}\n" - " pop {r0}\n" - " bx r0\n" - "._644:\n" - " .align 2, 0\n" - "._643:\n" - " .word gMain\n" - "\n" - ); -} - -NAKED -u8 DebugMenu_OpenKiwa() -{ - asm( - " push {lr}\n" - " bl CloseMenu\n" - " ldr r0, ._645 @ DebugMenu_8079110\n" - " mov r1, #0x50\n" - " bl CreateTask\n" - " bl ScriptContext2_Enable\n" - " pop {r1}\n" - " bx r1\n" - "._646:\n" - " .align 2, 0\n" - "._645:\n" - " .word DebugMenu_8079110+1\n" - "\n" - ); + ReadFlash(a0, 0, a1, a2); +} + +struct GameTimeDebugMenuStruct { + u16 unk0; + u16 unk2; + u8 unk4; + u8 unk5; +}; + +const struct GameTimeDebugMenuStruct gUnknown_Debug_839C5F4[] = { + {0, 999, 2, 1}, + {0, 59, 6, 2}, + {0, 59, 9, 3} +}; + +void DebugMenu_8078E80(s16 * a0) +{ + Menu_BlankWindowRect(2, 15, 22, 16); + sub_8071F60(0xd0, gUnknown_Debug_839C5F4[*a0].unk4, 15); +} + +void DebugMenu_8078EB0(s16 * a0) +{ + ConvertIntToDecimalStringN(gStringVar1, a0[1], STR_CONV_MODE_RIGHT_ALIGN, 3); + Menu_PrintText(gStringVar1, 2, 17); + sub_8071F60(0xf0, 5, 17); + ConvertIntToDecimalStringN(gStringVar1, a0[2], STR_CONV_MODE_LEADING_ZEROS, 2); + Menu_PrintText(gStringVar1, 6, 17); + sub_8071F60(0xf0, 8, 17); + ConvertIntToDecimalStringN(gStringVar1, a0[3], STR_CONV_MODE_LEADING_ZEROS, 2); + Menu_PrintText(gStringVar1, 9, 17); +} + +void DebugMenu_8078F1C(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + data[0] = 0; + data[1] = gSaveBlock2.playTimeHours; + data[2] = gSaveBlock2.playTimeMinutes; + data[3] = gSaveBlock2.playTimeSeconds; + + Menu_DisplayDialogueFrame(); + DebugMenu_8078EB0(data); + DebugMenu_8078E80(data); + gTasks[taskId].func = DebugMenu_8078F68; +} + +void DebugMenu_8078F68(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (gMain.newKeys & A_BUTTON) + { + gSaveBlock2.playTimeHours = data[1]; + gSaveBlock2.playTimeMinutes = data[2]; + gSaveBlock2.playTimeSeconds = data[3]; + PlaySE(SE_PINPON); + gTasks[taskId].func = DebugMenu_8079020; + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = DebugMenu_8079020; + } + else if (gMain.newKeys & DPAD_LEFT) + { + if ((u16)data[0] > 0) + { + data[0]--; + DebugMenu_8078E80(data); + } + } + else if (gMain.newKeys & DPAD_RIGHT) + { + if ((u16)data[0] < 2) + { + data[0]++; + DebugMenu_8078E80(data); + } + } + else + { + const struct GameTimeDebugMenuStruct *r2 = gUnknown_Debug_839C5F4 + data[0]; + if (DebugMenu_8077DD8(data + r2->unk5, r2->unk0, r2->unk2, gMain.newAndRepeatedKeys) == TRUE) + DebugMenu_8078EB0(data); + } +} + +void DebugMenu_8079020(u8 taskId) +{ + Menu_EraseScreen(); + ScriptContext2_Disable(); + DestroyTask(taskId); +} + +u8 DebugMenu_PTime(void) +{ + CloseMenu(); + CreateTask(DebugMenu_8078F1C, 80); + ScriptContext2_Enable(); + return TRUE; +} + +const u8 gDebug0x839C60C[] = _("Set FLASH ERR"); + +void DebugMenu_8079058(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + gUnknown_Debug_03004BD0 = 0; + Menu_DisplayDialogueFrame(); + gTasks[taskId].data[0]++; + break; + case 1: + Menu_PrintText(gDebug0x839C60C, 4, 15); + DisplayYesNoMenu(20, 8, 1); + gTasks[taskId].data[0]++; + break; + case 2: + switch (Menu_ProcessInputNoWrap_()) + { + case -2: + return; + case 0: + gUnknown_Debug_03004BD0 = 1; + break; + default: + gUnknown_Debug_03004BD0 = 0; + break; + } + Menu_EraseScreen(); + ScriptContext2_Disable(); + DestroyTask(taskId); + break; + } +} + +u8 DebugMenu_OpenMurakawa(void) +{ + CloseMenu(); + CreateTask(DebugMenu_8079058, 80); + ScriptContext2_Enable(); + return TRUE; +} + +const u8 Str_839C61A[] = _("abcde; abcde: ABCDE; ABCDE:\p" + "Tableaux des verbes du 2{SUPER_E} groupe.\p" + "La1{SUPER_RE} chose à apprendre c’est de lire.\p" + "Tableaux des verbes du 1{SUPER_ER} groupe.\p" + "“あいうえおかきくけコさしすせそたちつてとな”\n" + "<にぬネのはひふへほマみむめもやゆよらりるれろわャッ>\p" + "をんゃゅょアイウエオカキクケサシスルレロワ,"); + +void DebugMenu_8079110(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + Menu_DisplayDialogueFrame(); + gTasks[taskId].data[0]++; + break; + case 1: + MenuPrintMessage(Str_839C61A, 2, 15); + gTasks[taskId].data[0]++; + break; + case 2: + if (Menu_UpdateWindowText() && gMain.newKeys & A_BUTTON) + { + Menu_EraseScreen(); + ScriptContext2_Disable(); + DestroyTask(taskId); + } + break; + } +} + +u8 DebugMenu_OpenKiwa(void) +{ + CloseMenu(); + CreateTask(DebugMenu_8079110, 80); + ScriptContext2_Enable(); + // return TRUE; } #endif -- cgit v1.2.3 From 5e9dabd92e84f8e7c5d136e6d408a99120ea1064 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 13:57:20 -0400 Subject: Rename referenced unref_sub_* --- src/berry_blender.c | 2 +- src/debug/matsuda_debug_menu.c | 2 +- src/debug/start_menu_debug.c | 12 +++++------- src/debug/unk_debug_menu_3.c | 20 ++++++++++---------- src/debug/unknown_debug_menu.c | 2 +- src/mystery_event_script.c | 4 ++-- src/safari_zone.c | 2 +- 7 files changed, 21 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/berry_blender.c b/src/berry_blender.c index 5d40ea321..cde189738 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -3276,7 +3276,7 @@ static bool8 Blender_PrintBlendingRanking(void) // debug menu goes here -void unref_sub_80524BC(void) +void debug_sub_80524BC(void) { ResetSpriteData(); FreeAllSpritePalettes(); diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index 7a66ded57..c936af864 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -76,7 +76,7 @@ const struct MenuAction gMatsudaDebugMenuActions[] = {gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems}, }; -u8 unref_sub_80A9B28(void) +u8 InitMatsudaDebugMenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 17, 18); diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index c1f508ebc..549842c6a 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -47,9 +47,7 @@ #include "ewram.h" #include "gba/flash_internal.h" #include "gba/m4a_internal.h" - -// berry_blender.c -extern void unref_sub_80524BC(void); +#include "berry_blender.h" void debug_sub_8076BB4(u8); void debug_sub_8077CF4(u8 x, u8 y); @@ -461,7 +459,7 @@ u8 DebugMenu_8076CD4(void) u8 DebugMenu_8076CD8(void) { - SetMainCallback2(unref_sub_80524BC); + SetMainCallback2(debug_sub_80524BC); return 0; } @@ -801,7 +799,7 @@ u8 DebugMenu_Exit(void) u8 DebugMenu_OpenSogabe(void) { - return unref_sub_814A414(); + return InitSogabeDebugMenu(); } u8 DebugMenu_OpenTamada(void) @@ -816,7 +814,7 @@ u8 DebugMenu_OpenKagaya(void) u8 DebugMenu_OpenMatsuda(void) { - return unref_sub_80A9B28(); + return InitMatsudaDebugMenu(); } u8 DebugMenu_OpenNohara(void) @@ -1261,7 +1259,7 @@ const u8 Str_839BF1F[] = _("めのまえには\n" bool8 DebugMenu_8077B00(void) { Menu_EraseScreen(); - if (unref_sub_80C853C()) + if (debug_sub_80C853C()) sub_8071F40(Str_839BF14); else sub_8071F40(Str_839BF1F); diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c index 138b99104..aaffca383 100644 --- a/src/debug/unk_debug_menu_3.c +++ b/src/debug/unk_debug_menu_3.c @@ -21,7 +21,7 @@ size_t debug_sub_813C404(u8 * dest) { size_t size = gUnknown_Debug_845DAE1End - gUnknown_Debug_845DAE1; memcpy(dest, gUnknown_Debug_845DAE1, size); - unref_sub_812620C(dest, gUnknown_Debug_845DAE1); + debug_sub_812620C(dest, gUnknown_Debug_845DAE1); return size; } @@ -32,7 +32,7 @@ size_t debug_sub_813C430(u8 * dest) { size_t size = gUnknown_Debug_845E3E0End - gUnknown_Debug_845E3E0; memcpy(dest, gUnknown_Debug_845E3E0, size); - unref_sub_812620C(dest, gUnknown_Debug_845E3E0); + debug_sub_812620C(dest, gUnknown_Debug_845E3E0); return size; } @@ -43,7 +43,7 @@ size_t debug_sub_813C45C(u8 * dest) { size_t size = gUnknown_Debug_845E422End - gUnknown_Debug_845E422; memcpy(dest, gUnknown_Debug_845E422, size); - unref_sub_812620C(dest, gUnknown_Debug_845E422); + debug_sub_812620C(dest, gUnknown_Debug_845E422); return size; } @@ -54,7 +54,7 @@ size_t debug_sub_813C488(u8 * dest) { size_t size = gUnknown_Debug_845E402End - gUnknown_Debug_845E402; memcpy(dest, gUnknown_Debug_845E402, size); - unref_sub_812620C(dest, gUnknown_Debug_845E402); + debug_sub_812620C(dest, gUnknown_Debug_845E402); return size; } @@ -75,7 +75,7 @@ size_t debug_sub_813C4D4(u8 * dest) { size_t size = gUnknown_Debug_845E619End - gUnknown_Debug_845E619; memcpy(dest, gUnknown_Debug_845E619, size); - unref_sub_81261B4(dest, gUnknown_Debug_845E619); + debug_sub_81261B4(dest, gUnknown_Debug_845E619); return size; } @@ -86,7 +86,7 @@ size_t debug_sub_813C500(u8 * dest) { size_t size = gUnknown_Debug_845E712End - gUnknown_Debug_845E712; memcpy(dest, gUnknown_Debug_845E712, size); - unref_sub_812620C(dest, gUnknown_Debug_845E712); + debug_sub_812620C(dest, gUnknown_Debug_845E712); return size; } @@ -103,7 +103,7 @@ size_t debug_sub_813C52C(u8 * dest, u16 itemId) ptr += 3; ptr[0] = itemId; ptr[1] = itemId >> 8; - unref_sub_812620C(dest, gUnknown_Debug_845E797); + debug_sub_812620C(dest, gUnknown_Debug_845E797); return size; } @@ -152,7 +152,7 @@ size_t debug_sub_813C5B4(u8 * dest) berry[i] = saveBerry[i]; ClearEnigmaBerries(); - unref_sub_81261B4(dest, gUnknown_Debug_845DDB2); + debug_sub_81261B4(dest, gUnknown_Debug_845DDB2); return size; } @@ -248,7 +248,7 @@ size_t debug_sub_813C810(u8 * dest) memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); - unref_sub_812620C(dest, src); + debug_sub_812620C(dest, src); return size; } @@ -270,7 +270,7 @@ size_t debug_sub_813C888(u8 * dest) memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); - unref_sub_812620C(dest, src); + debug_sub_812620C(dest, src); return size; } diff --git a/src/debug/unknown_debug_menu.c b/src/debug/unknown_debug_menu.c index ef3e0e66c..787e456d2 100644 --- a/src/debug/unknown_debug_menu.c +++ b/src/debug/unknown_debug_menu.c @@ -30,7 +30,7 @@ const struct MenuAction gUnknown_0842C29C[] = { {UnknownString_8thRound, sub_814A4B8} }; -int unref_sub_814A414(void) +int InitSogabeDebugMenu(void) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 16, 18); diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c index 83aa90102..58f7f8627 100644 --- a/src/mystery_event_script.c +++ b/src/mystery_event_script.c @@ -114,7 +114,7 @@ static void SetWord(u8 *ptr, u32 val) ptr[3] = val >> 24; } -bool8 unref_sub_81261B4(u8 *a1, const u8 * _a2) +bool8 debug_sub_81261B4(u8 *a1, const u8 * _a2) { int a2 = (int)_a2; if (a1[0x0] == 1 && a1[0x11] == 15 && !GetWord(a1 + 0x12)) @@ -129,7 +129,7 @@ bool8 unref_sub_81261B4(u8 *a1, const u8 * _a2) return FALSE; } -bool8 unref_sub_812620C(u8 *a1, const u8 * _a2) +bool8 debug_sub_812620C(u8 *a1, const u8 * _a2) { int a2 = (int)_a2; if (a1[0x0] == 1 && a1[0x11] == 16 && !GetWord(a1 + 0x12)) diff --git a/src/safari_zone.c b/src/safari_zone.c index f4f1d96a6..7cc8e16a0 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -236,7 +236,7 @@ static void DecrementFeederStepCounters(void) } } -bool32 unref_sub_80C853C(void) +bool32 debug_sub_80C853C(void) { SafariZoneGetPokeblockNameInFeeder(); -- cgit v1.2.3 From 91f869d1e6ed1ef12ad4b2255d3762e3b1b51429 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 14:01:40 -0400 Subject: Rename unk_debug_menu_3 to ereader_debug_menu --- src/debug/ereader_debug_menu.c | 362 +++++++++++++++++++++++++++++++++++++++++ src/debug/unk_debug_menu_3.c | 362 ----------------------------------------- 2 files changed, 362 insertions(+), 362 deletions(-) create mode 100644 src/debug/ereader_debug_menu.c delete mode 100644 src/debug/unk_debug_menu_3.c (limited to 'src') diff --git a/src/debug/ereader_debug_menu.c b/src/debug/ereader_debug_menu.c new file mode 100644 index 000000000..aaffca383 --- /dev/null +++ b/src/debug/ereader_debug_menu.c @@ -0,0 +1,362 @@ +#include "global.h" +#include "debug.h" +#include "constants/species.h" +#include "constants/items.h" +#include "string_util.h" +#include "new_game.h" +#include "load_save.h" +#include "start_menu.h" +#include "mystery_event_script.h" +#include "berry.h" +#include "mail_data.h" + +const u8 Str_842E238[] = _("タマゴ"); + +#if DEBUG + +extern u8 gUnknown_Debug_845DAE1[]; +extern u8 gUnknown_Debug_845DAE1End[]; + +size_t debug_sub_813C404(u8 * dest) +{ + size_t size = gUnknown_Debug_845DAE1End - gUnknown_Debug_845DAE1; + memcpy(dest, gUnknown_Debug_845DAE1, size); + debug_sub_812620C(dest, gUnknown_Debug_845DAE1); + return size; +} + +extern u8 gUnknown_Debug_845E3E0[]; +extern u8 gUnknown_Debug_845E3E0End[]; + +size_t debug_sub_813C430(u8 * dest) +{ + size_t size = gUnknown_Debug_845E3E0End - gUnknown_Debug_845E3E0; + memcpy(dest, gUnknown_Debug_845E3E0, size); + debug_sub_812620C(dest, gUnknown_Debug_845E3E0); + return size; +} + +extern u8 gUnknown_Debug_845E422[]; +extern u8 gUnknown_Debug_845E422End[]; + +size_t debug_sub_813C45C(u8 * dest) +{ + size_t size = gUnknown_Debug_845E422End - gUnknown_Debug_845E422; + memcpy(dest, gUnknown_Debug_845E422, size); + debug_sub_812620C(dest, gUnknown_Debug_845E422); + return size; +} + +extern u8 gUnknown_Debug_845E402[]; +extern u8 gUnknown_Debug_845E402End[]; + +size_t debug_sub_813C488(u8 * dest) +{ + size_t size = gUnknown_Debug_845E402End - gUnknown_Debug_845E402; + memcpy(dest, gUnknown_Debug_845E402, size); + debug_sub_812620C(dest, gUnknown_Debug_845E402); + return size; +} + +extern u8 gUnknown_Debug_845E606[]; +extern u8 gUnknown_Debug_845E606End[]; + +size_t debug_sub_813C4B4(u8 * dest) +{ + size_t size = gUnknown_Debug_845E606End - gUnknown_Debug_845E606; + memcpy(dest, gUnknown_Debug_845E606, size); + return size; +} + +extern u8 gUnknown_Debug_845E619[]; +extern u8 gUnknown_Debug_845E619End[]; + +size_t debug_sub_813C4D4(u8 * dest) +{ + size_t size = gUnknown_Debug_845E619End - gUnknown_Debug_845E619; + memcpy(dest, gUnknown_Debug_845E619, size); + debug_sub_81261B4(dest, gUnknown_Debug_845E619); + return size; +} + +extern u8 gUnknown_Debug_845E712[]; +extern u8 gUnknown_Debug_845E712End[]; + +size_t debug_sub_813C500(u8 * dest) +{ + size_t size = gUnknown_Debug_845E712End - gUnknown_Debug_845E712; + memcpy(dest, gUnknown_Debug_845E712, size); + debug_sub_812620C(dest, gUnknown_Debug_845E712); + return size; +} + +extern u8 gUnknown_Debug_845E797[]; +extern u8 gUnknown_Debug_845E797End[]; +extern u8 gUnknown_Debug_845E7B5[]; + +size_t debug_sub_813C52C(u8 * dest, u16 itemId) +{ + u8 * ptr; + size_t size = gUnknown_Debug_845E797End - gUnknown_Debug_845E797; + memcpy(dest, gUnknown_Debug_845E797, size); + ptr = gUnknown_Debug_845E7B5 - gUnknown_Debug_845E797 + dest; + ptr += 3; + ptr[0] = itemId; + ptr[1] = itemId >> 8; + debug_sub_812620C(dest, gUnknown_Debug_845E797); + return size; +} + +size_t debug_sub_813C580(u8 * dest) +{ + return debug_sub_813C52C(dest, ITEM_POTION); +} + +size_t debug_sub_813C58C(u8 * dest) +{ + return debug_sub_813C52C(dest, ITEM_POKE_BALL); +} + +size_t debug_sub_813C598(u8 * dest) +{ + return debug_sub_813C52C(dest, ITEM_CHERI_BERRY); +} + +size_t debug_sub_813C5A4(u8 * dest) +{ + return debug_sub_813C52C(dest, ITEM_TM01_FOCUS_PUNCH); +} + +extern u8 gUnknown_Debug_845DDB2[]; +extern u8 gUnknown_Debug_845DDB2End[]; +extern u8 gUnknown_Debug_845DDD6[]; + +const u8 Str_842E23C[] = _("ガイブ"); + +size_t debug_sub_813C5B4(u8 * dest) +{ + u8 * saveBerry = (u8 *)&gSaveBlock1.enigmaBerry; + u8 * berry = (u8 *)(dest - gUnknown_Debug_845DDB2 + gUnknown_Debug_845DDD6); + size_t size = gUnknown_Debug_845DDB2End - gUnknown_Debug_845DDB2; + int i; + + debug_sub_80C2C18(Str_842E23C, 0, 0); + + for (i = 0; i < 0x1000; i++) + dest[i] = 0; + + for (i = 0; i < size; i++) + dest[i] = gUnknown_Debug_845DDB2[i]; + + for (i = 0; i < sizeof(struct EnigmaBerry); i++) + berry[i] = saveBerry[i]; + + ClearEnigmaBerries(); + debug_sub_81261B4(dest, gUnknown_Debug_845DDB2); + return size; +} + +const u8 Str_842E240[] = _("ENGLISH"); +const u8 Str_842E248[] = _("TOURNAMENT"); + +void debug_sub_813C638(struct Pokemon * mon, u16 species, u8 level, u16 itemId) +{ + u32 _itemId; + ZeroMonData(mon); + CreateMon(mon, species, level, 32, FALSE, 0, TRUE, 9999); + SetMonData(mon, MON_DATA_OT_NAME, Str_842E240); + SetMonData(mon, MON_DATA_NICKNAME, Str_842E248); + _itemId = itemId; + SetMonData(mon, MON_DATA_HELD_ITEM, &_itemId); +} + +void debug_sub_813C6AC(struct Pokemon *mon, struct MailStruct *mail) +{ + u16 itemId; + ClearMailStruct(mail); + itemId = GetMonData(mon, MON_DATA_HELD_ITEM); + if (ItemIsMail(itemId)) + { + u8 * name = mail->playerName; + u8 * id = mail->trainerId; + u8 nameBuf[8]; + int i; + + for (i = 0; i < 9; i++) + mail->words[i] = i + 1; + + GetMonData(mon, MON_DATA_OT_NAME, nameBuf); + StringCopyN(name, nameBuf, OT_NAME_LENGTH + 1); + + write_word_to_mem(GetMonData(mon, MON_DATA_OT_ID), id); + + mail->species = SpeciesToMailSpecies(GetMonData(mon, MON_DATA_SPECIES), GetMonData(mon, MON_DATA_PERSONALITY)); + mail->itemId = itemId; + + } +} + +extern u8 gUnknown_Debug_845E443[]; +extern u8 gUnknown_Debug_845E443End[]; +extern u8 gUnknown_Debug_845E467[]; +extern u8 gUnknown_Debug_845E4CB[]; + +size_t debug_sub_813C740(u8 * dest) +{ + struct MailStruct mail; + u8 * src = gUnknown_Debug_845E443; + u8 * end = gUnknown_Debug_845E443End; + struct Pokemon *mon = gEnemyParty; + size_t size = end - src; + u8 dataBuffer[11]; + + memcpy(dest, src, size); + debug_sub_813C638(mon, SPECIES_PIKACHU, 5, ITEM_NONE); + dataBuffer[0] = TRUE; + SetMonData(mon, MON_DATA_IS_EGG, dataBuffer); + dataBuffer[0] = 3; + SetMonData(mon, MON_DATA_FRIENDSHIP, dataBuffer); + dataBuffer[0] = 255; + SetMonData(mon, MON_DATA_MET_LOCATION, dataBuffer); + + StringCopyN(dataBuffer, Str_842E238, POKEMON_NAME_LENGTH + 1); + SetMonData(mon, MON_DATA_NICKNAME, dataBuffer); + + dataBuffer[0] = LANGUAGE_JAPANESE; + SetMonData(mon, MON_DATA_LANGUAGE, dataBuffer); + + memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); + + memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); + + return size; +} + +size_t debug_sub_813C810(u8 * dest) +{ + struct MailStruct mail; + u8 * src = gUnknown_Debug_845E443; + u8 * end = gUnknown_Debug_845E443End; + struct Pokemon *mon = gEnemyParty; + size_t size = end - src; + + memcpy(dest, src, size); + debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL); + debug_sub_813C6AC(mon, &mail); + + memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); + + memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); + + debug_sub_812620C(dest, src); + + return size; +} + +size_t debug_sub_813C888(u8 * dest) +{ + struct MailStruct mail; + u8 * src = gUnknown_Debug_845E443; + u8 * end = gUnknown_Debug_845E443End; + struct Pokemon *mon = gEnemyParty; + size_t size = end - src; + + memcpy(dest, src, size); + debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL); + debug_sub_813C6AC(mon, &mail); + mon->box.checksum = 0; + + memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); + + memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); + + debug_sub_812620C(dest, src); + + return size; +} + +void debug_sub_813C904(void) +{ + debug_sub_813C638(gPlayerParty + 0, SPECIES_CHARMELEON, 50, ITEM_QUICK_CLAW); + debug_sub_813C638(gPlayerParty + 1, SPECIES_WARTORTLE, 50, ITEM_FOCUS_BAND); + debug_sub_813C638(gPlayerParty + 2, SPECIES_IVYSAUR, 50, ITEM_LUM_BERRY); +} + +extern u8 gUnknown_Debug_845E4EF[]; +extern u8 gUnknown_Debug_845E4EFEnd[]; +extern u8 gUnknown_Debug_845E506[]; + +const u8 Str_842E253[] = _(" そら  カードイー"); + +size_t debug_sub_813C93C(u8 * dest) +{ + u8 * src = gUnknown_Debug_845E4EF; + size_t size = gUnknown_Debug_845E4EFEnd - src; + struct BattleTowerEReaderTrainer ereaderTrainer; + + memcpy(dest, src, size); + SavePlayerParty(); + debug_sub_813C904(); + debug_sub_8075DB4(&ereaderTrainer, Str_842E253 + 5, 9999); + LoadPlayerParty(); + + memcpy(gUnknown_Debug_845E506 - src + dest, &ereaderTrainer, sizeof(ereaderTrainer)); + + return size; +} + +const u8 Str_842E25E[] = _("ポケコッコ"); +const u8 Str_842E264[] = _("ticket"); +const u8 Str_842E26B[] = _("{PKMN}"); +const u8 Str_842E26E[] = _("wrong {PKMN}"); +const u8 Str_842E277[] = _("ribbon"); +const u8 Str_842E27E[] = _("DEX"); +const u8 Str_842E282[] = _("message"); +const u8 Str_842E28A[] = _("egg"); +const u8 Str_842E28E[] = _("RAM seed"); +const u8 Str_842E297[] = _("trainer"); +const u8 Str_842E29F[] = _("clock"); +const u8 Str_842E2A5[] = _("item"); +const u8 Str_842E2AA[] = _("goods"); +const u8 Str_842E2B0[] = _("potion"); +const u8 Str_842E2B7[] = _("ball"); +const u8 Str_842E2BC[] = _("cheri berry"); +const u8 Str_842E2C8[] = _("TM01"); + +const struct UnkDebugMenu3Items gUnknown_Debug_842E2D0[] = { + {Str_842E264, debug_sub_813C404}, + {Str_842E26B, debug_sub_813C810}, + {Str_842E26E, debug_sub_813C888}, + {Str_842E277, debug_sub_813C430}, + {Str_842E27E, debug_sub_813C488}, + {Str_842E282, debug_sub_813C45C}, + {Str_842E28A, debug_sub_813C740}, + {Str_842E28E, debug_sub_813C5B4}, + {Str_842E297, debug_sub_813C93C}, + {Str_842E29F, debug_sub_813C4B4}, + {Str_842E2A5, debug_sub_813C4D4}, + {Str_842E2AA, debug_sub_813C500}, + {Str_842E2B0, debug_sub_813C580}, + {Str_842E2B7, debug_sub_813C58C}, + {Str_842E2BC, debug_sub_813C598}, + {Str_842E2C8, debug_sub_813C5A4} +}; + +extern u8 gUnknown_Debug_845E306[]; + +const u8 gUnknown_Debug_842E350 = 16; + +u8 *const gUnknown_Debug_842E354[] = { + gUnknown_Debug_845DAE1, + gUnknown_Debug_845DDB2, + gUnknown_Debug_845E306, + gUnknown_Debug_845E3E0, + gUnknown_Debug_845E3E0, + gUnknown_Debug_845E402, + gUnknown_Debug_845E402, + gUnknown_Debug_845E422, + gUnknown_Debug_845E422, + gUnknown_Debug_845E443 +}; + +#endif // DEBUG diff --git a/src/debug/unk_debug_menu_3.c b/src/debug/unk_debug_menu_3.c deleted file mode 100644 index aaffca383..000000000 --- a/src/debug/unk_debug_menu_3.c +++ /dev/null @@ -1,362 +0,0 @@ -#include "global.h" -#include "debug.h" -#include "constants/species.h" -#include "constants/items.h" -#include "string_util.h" -#include "new_game.h" -#include "load_save.h" -#include "start_menu.h" -#include "mystery_event_script.h" -#include "berry.h" -#include "mail_data.h" - -const u8 Str_842E238[] = _("タマゴ"); - -#if DEBUG - -extern u8 gUnknown_Debug_845DAE1[]; -extern u8 gUnknown_Debug_845DAE1End[]; - -size_t debug_sub_813C404(u8 * dest) -{ - size_t size = gUnknown_Debug_845DAE1End - gUnknown_Debug_845DAE1; - memcpy(dest, gUnknown_Debug_845DAE1, size); - debug_sub_812620C(dest, gUnknown_Debug_845DAE1); - return size; -} - -extern u8 gUnknown_Debug_845E3E0[]; -extern u8 gUnknown_Debug_845E3E0End[]; - -size_t debug_sub_813C430(u8 * dest) -{ - size_t size = gUnknown_Debug_845E3E0End - gUnknown_Debug_845E3E0; - memcpy(dest, gUnknown_Debug_845E3E0, size); - debug_sub_812620C(dest, gUnknown_Debug_845E3E0); - return size; -} - -extern u8 gUnknown_Debug_845E422[]; -extern u8 gUnknown_Debug_845E422End[]; - -size_t debug_sub_813C45C(u8 * dest) -{ - size_t size = gUnknown_Debug_845E422End - gUnknown_Debug_845E422; - memcpy(dest, gUnknown_Debug_845E422, size); - debug_sub_812620C(dest, gUnknown_Debug_845E422); - return size; -} - -extern u8 gUnknown_Debug_845E402[]; -extern u8 gUnknown_Debug_845E402End[]; - -size_t debug_sub_813C488(u8 * dest) -{ - size_t size = gUnknown_Debug_845E402End - gUnknown_Debug_845E402; - memcpy(dest, gUnknown_Debug_845E402, size); - debug_sub_812620C(dest, gUnknown_Debug_845E402); - return size; -} - -extern u8 gUnknown_Debug_845E606[]; -extern u8 gUnknown_Debug_845E606End[]; - -size_t debug_sub_813C4B4(u8 * dest) -{ - size_t size = gUnknown_Debug_845E606End - gUnknown_Debug_845E606; - memcpy(dest, gUnknown_Debug_845E606, size); - return size; -} - -extern u8 gUnknown_Debug_845E619[]; -extern u8 gUnknown_Debug_845E619End[]; - -size_t debug_sub_813C4D4(u8 * dest) -{ - size_t size = gUnknown_Debug_845E619End - gUnknown_Debug_845E619; - memcpy(dest, gUnknown_Debug_845E619, size); - debug_sub_81261B4(dest, gUnknown_Debug_845E619); - return size; -} - -extern u8 gUnknown_Debug_845E712[]; -extern u8 gUnknown_Debug_845E712End[]; - -size_t debug_sub_813C500(u8 * dest) -{ - size_t size = gUnknown_Debug_845E712End - gUnknown_Debug_845E712; - memcpy(dest, gUnknown_Debug_845E712, size); - debug_sub_812620C(dest, gUnknown_Debug_845E712); - return size; -} - -extern u8 gUnknown_Debug_845E797[]; -extern u8 gUnknown_Debug_845E797End[]; -extern u8 gUnknown_Debug_845E7B5[]; - -size_t debug_sub_813C52C(u8 * dest, u16 itemId) -{ - u8 * ptr; - size_t size = gUnknown_Debug_845E797End - gUnknown_Debug_845E797; - memcpy(dest, gUnknown_Debug_845E797, size); - ptr = gUnknown_Debug_845E7B5 - gUnknown_Debug_845E797 + dest; - ptr += 3; - ptr[0] = itemId; - ptr[1] = itemId >> 8; - debug_sub_812620C(dest, gUnknown_Debug_845E797); - return size; -} - -size_t debug_sub_813C580(u8 * dest) -{ - return debug_sub_813C52C(dest, ITEM_POTION); -} - -size_t debug_sub_813C58C(u8 * dest) -{ - return debug_sub_813C52C(dest, ITEM_POKE_BALL); -} - -size_t debug_sub_813C598(u8 * dest) -{ - return debug_sub_813C52C(dest, ITEM_CHERI_BERRY); -} - -size_t debug_sub_813C5A4(u8 * dest) -{ - return debug_sub_813C52C(dest, ITEM_TM01_FOCUS_PUNCH); -} - -extern u8 gUnknown_Debug_845DDB2[]; -extern u8 gUnknown_Debug_845DDB2End[]; -extern u8 gUnknown_Debug_845DDD6[]; - -const u8 Str_842E23C[] = _("ガイブ"); - -size_t debug_sub_813C5B4(u8 * dest) -{ - u8 * saveBerry = (u8 *)&gSaveBlock1.enigmaBerry; - u8 * berry = (u8 *)(dest - gUnknown_Debug_845DDB2 + gUnknown_Debug_845DDD6); - size_t size = gUnknown_Debug_845DDB2End - gUnknown_Debug_845DDB2; - int i; - - debug_sub_80C2C18(Str_842E23C, 0, 0); - - for (i = 0; i < 0x1000; i++) - dest[i] = 0; - - for (i = 0; i < size; i++) - dest[i] = gUnknown_Debug_845DDB2[i]; - - for (i = 0; i < sizeof(struct EnigmaBerry); i++) - berry[i] = saveBerry[i]; - - ClearEnigmaBerries(); - debug_sub_81261B4(dest, gUnknown_Debug_845DDB2); - return size; -} - -const u8 Str_842E240[] = _("ENGLISH"); -const u8 Str_842E248[] = _("TOURNAMENT"); - -void debug_sub_813C638(struct Pokemon * mon, u16 species, u8 level, u16 itemId) -{ - u32 _itemId; - ZeroMonData(mon); - CreateMon(mon, species, level, 32, FALSE, 0, TRUE, 9999); - SetMonData(mon, MON_DATA_OT_NAME, Str_842E240); - SetMonData(mon, MON_DATA_NICKNAME, Str_842E248); - _itemId = itemId; - SetMonData(mon, MON_DATA_HELD_ITEM, &_itemId); -} - -void debug_sub_813C6AC(struct Pokemon *mon, struct MailStruct *mail) -{ - u16 itemId; - ClearMailStruct(mail); - itemId = GetMonData(mon, MON_DATA_HELD_ITEM); - if (ItemIsMail(itemId)) - { - u8 * name = mail->playerName; - u8 * id = mail->trainerId; - u8 nameBuf[8]; - int i; - - for (i = 0; i < 9; i++) - mail->words[i] = i + 1; - - GetMonData(mon, MON_DATA_OT_NAME, nameBuf); - StringCopyN(name, nameBuf, OT_NAME_LENGTH + 1); - - write_word_to_mem(GetMonData(mon, MON_DATA_OT_ID), id); - - mail->species = SpeciesToMailSpecies(GetMonData(mon, MON_DATA_SPECIES), GetMonData(mon, MON_DATA_PERSONALITY)); - mail->itemId = itemId; - - } -} - -extern u8 gUnknown_Debug_845E443[]; -extern u8 gUnknown_Debug_845E443End[]; -extern u8 gUnknown_Debug_845E467[]; -extern u8 gUnknown_Debug_845E4CB[]; - -size_t debug_sub_813C740(u8 * dest) -{ - struct MailStruct mail; - u8 * src = gUnknown_Debug_845E443; - u8 * end = gUnknown_Debug_845E443End; - struct Pokemon *mon = gEnemyParty; - size_t size = end - src; - u8 dataBuffer[11]; - - memcpy(dest, src, size); - debug_sub_813C638(mon, SPECIES_PIKACHU, 5, ITEM_NONE); - dataBuffer[0] = TRUE; - SetMonData(mon, MON_DATA_IS_EGG, dataBuffer); - dataBuffer[0] = 3; - SetMonData(mon, MON_DATA_FRIENDSHIP, dataBuffer); - dataBuffer[0] = 255; - SetMonData(mon, MON_DATA_MET_LOCATION, dataBuffer); - - StringCopyN(dataBuffer, Str_842E238, POKEMON_NAME_LENGTH + 1); - SetMonData(mon, MON_DATA_NICKNAME, dataBuffer); - - dataBuffer[0] = LANGUAGE_JAPANESE; - SetMonData(mon, MON_DATA_LANGUAGE, dataBuffer); - - memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); - - memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); - - return size; -} - -size_t debug_sub_813C810(u8 * dest) -{ - struct MailStruct mail; - u8 * src = gUnknown_Debug_845E443; - u8 * end = gUnknown_Debug_845E443End; - struct Pokemon *mon = gEnemyParty; - size_t size = end - src; - - memcpy(dest, src, size); - debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL); - debug_sub_813C6AC(mon, &mail); - - memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); - - memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); - - debug_sub_812620C(dest, src); - - return size; -} - -size_t debug_sub_813C888(u8 * dest) -{ - struct MailStruct mail; - u8 * src = gUnknown_Debug_845E443; - u8 * end = gUnknown_Debug_845E443End; - struct Pokemon *mon = gEnemyParty; - size_t size = end - src; - - memcpy(dest, src, size); - debug_sub_813C638(mon, SPECIES_UNOWN, 21, ITEM_DREAM_MAIL); - debug_sub_813C6AC(mon, &mail); - mon->box.checksum = 0; - - memcpy(gUnknown_Debug_845E467 - src + dest, mon, sizeof(struct Pokemon)); - - memcpy(gUnknown_Debug_845E4CB - src + dest, &mail, sizeof(struct MailStruct)); - - debug_sub_812620C(dest, src); - - return size; -} - -void debug_sub_813C904(void) -{ - debug_sub_813C638(gPlayerParty + 0, SPECIES_CHARMELEON, 50, ITEM_QUICK_CLAW); - debug_sub_813C638(gPlayerParty + 1, SPECIES_WARTORTLE, 50, ITEM_FOCUS_BAND); - debug_sub_813C638(gPlayerParty + 2, SPECIES_IVYSAUR, 50, ITEM_LUM_BERRY); -} - -extern u8 gUnknown_Debug_845E4EF[]; -extern u8 gUnknown_Debug_845E4EFEnd[]; -extern u8 gUnknown_Debug_845E506[]; - -const u8 Str_842E253[] = _(" そら  カードイー"); - -size_t debug_sub_813C93C(u8 * dest) -{ - u8 * src = gUnknown_Debug_845E4EF; - size_t size = gUnknown_Debug_845E4EFEnd - src; - struct BattleTowerEReaderTrainer ereaderTrainer; - - memcpy(dest, src, size); - SavePlayerParty(); - debug_sub_813C904(); - debug_sub_8075DB4(&ereaderTrainer, Str_842E253 + 5, 9999); - LoadPlayerParty(); - - memcpy(gUnknown_Debug_845E506 - src + dest, &ereaderTrainer, sizeof(ereaderTrainer)); - - return size; -} - -const u8 Str_842E25E[] = _("ポケコッコ"); -const u8 Str_842E264[] = _("ticket"); -const u8 Str_842E26B[] = _("{PKMN}"); -const u8 Str_842E26E[] = _("wrong {PKMN}"); -const u8 Str_842E277[] = _("ribbon"); -const u8 Str_842E27E[] = _("DEX"); -const u8 Str_842E282[] = _("message"); -const u8 Str_842E28A[] = _("egg"); -const u8 Str_842E28E[] = _("RAM seed"); -const u8 Str_842E297[] = _("trainer"); -const u8 Str_842E29F[] = _("clock"); -const u8 Str_842E2A5[] = _("item"); -const u8 Str_842E2AA[] = _("goods"); -const u8 Str_842E2B0[] = _("potion"); -const u8 Str_842E2B7[] = _("ball"); -const u8 Str_842E2BC[] = _("cheri berry"); -const u8 Str_842E2C8[] = _("TM01"); - -const struct UnkDebugMenu3Items gUnknown_Debug_842E2D0[] = { - {Str_842E264, debug_sub_813C404}, - {Str_842E26B, debug_sub_813C810}, - {Str_842E26E, debug_sub_813C888}, - {Str_842E277, debug_sub_813C430}, - {Str_842E27E, debug_sub_813C488}, - {Str_842E282, debug_sub_813C45C}, - {Str_842E28A, debug_sub_813C740}, - {Str_842E28E, debug_sub_813C5B4}, - {Str_842E297, debug_sub_813C93C}, - {Str_842E29F, debug_sub_813C4B4}, - {Str_842E2A5, debug_sub_813C4D4}, - {Str_842E2AA, debug_sub_813C500}, - {Str_842E2B0, debug_sub_813C580}, - {Str_842E2B7, debug_sub_813C58C}, - {Str_842E2BC, debug_sub_813C598}, - {Str_842E2C8, debug_sub_813C5A4} -}; - -extern u8 gUnknown_Debug_845E306[]; - -const u8 gUnknown_Debug_842E350 = 16; - -u8 *const gUnknown_Debug_842E354[] = { - gUnknown_Debug_845DAE1, - gUnknown_Debug_845DDB2, - gUnknown_Debug_845E306, - gUnknown_Debug_845E3E0, - gUnknown_Debug_845E3E0, - gUnknown_Debug_845E402, - gUnknown_Debug_845E402, - gUnknown_Debug_845E422, - gUnknown_Debug_845E422, - gUnknown_Debug_845E443 -}; - -#endif // DEBUG -- cgit v1.2.3 From 9b961c030b28170731844916dd03caf8d0bfce1b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 15:30:34 -0400 Subject: through debug_sub_808F648 --- src/debug/nohara_debug_menu.c | 305 +++++++++++++++++++++++++++++++++++++++++- src/field_specials.c | 2 +- 2 files changed, 305 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index b3885ff76..dbe79dc72 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -1,12 +1,315 @@ #if DEBUG #include "global.h" +#include "main.h" +#include "menu.h" +#include "start_menu.h" +#include "tv.h" +#include "event_data.h" +#include "string_util.h" +#include "field_specials.h" __attribute__((unused)) static u8 gDebug_03000724; __attribute__((unused)) static u8 gDebug_03000725; -__attribute__((unused)) static u8 gDebug_03000726; +static u8 gDebug_03000726; asm(".global gDebug_03000724"); asm(".global gDebug_03000725"); asm(".global gDebug_03000726"); +bool8 debug_sub_808F414(void); +bool8 NoharaDebugMenu_TV(void); +bool8 debug_sub_808F4AC(void); +void debug_sub_808F4EC(void); +bool8 debug_sub_808F560(void); +bool8 debug_sub_808F594(void); +bool8 debug_sub_808F5D8(void); +bool8 debug_sub_808F648(void); +bool8 debug_sub_808F7B4(void); +bool8 debug_sub_8090278(void); +bool8 NoharaDebugMenu_Fan(void); +bool8 NoharaDebugMenu_BattleVSDad(void); +bool8 NoharaDebugMenu_DadAfterBattle(void); +bool8 NoharaDebugMenu_SootopolisCity(void); +bool8 NoharaDebugMenu_Embark(void); +bool8 NoharaDebugMenu_Yes9999(void); +bool8 NoharaDebugMenu_LegendsFlagOn(void); +bool8 NoharaDebugMenu_AddNumWinningStreaks(void); +void debug_sub_808F6BC(void); +void debug_sub_808F8AC(void); +void debug_sub_808F8CC(void); +void debug_sub_808FEBC(void); +void debug_sub_808FECC(void); +void debug_sub_80900AC(void); + +const u8 gUnknown_Debug_083C48C4[] = _("TV"); +const u8 gUnknown_Debug_083C48C7[] = _("Fan"); +const u8 gUnknown_Debug_083C48CB[] = _("Battle (vs Dad)"); +const u8 gUnknown_Debug_083C48DB[] = _("Dad after battle"); +const u8 gUnknown_Debug_083C48EC[] = _("SOOTOPOLIS CITY"); +const u8 gUnknown_Debug_083C48FC[] = _("Embark"); +const u8 gUnknown_Debug_083C4903[] = _("Yes 9999"); +const u8 gUnknown_Debug_083C490C[] = _("Legends flag ON"); +const u8 gUnknown_Debug_083C491C[] = _("Add num of winning streaks"); + +const struct MenuAction gUnknown_Debug_083C4938[] = { + {gUnknown_Debug_083C48C4, NoharaDebugMenu_TV}, + {gUnknown_Debug_083C48C7, NoharaDebugMenu_Fan}, + {gUnknown_Debug_083C48CB, NoharaDebugMenu_BattleVSDad}, + {gUnknown_Debug_083C48DB, NoharaDebugMenu_DadAfterBattle}, + {gUnknown_Debug_083C48EC, NoharaDebugMenu_SootopolisCity}, + {gUnknown_Debug_083C48FC, NoharaDebugMenu_Embark}, + {gUnknown_Debug_083C4903, NoharaDebugMenu_Yes9999}, + {gUnknown_Debug_083C490C, NoharaDebugMenu_LegendsFlagOn}, + {gUnknown_Debug_083C491C, NoharaDebugMenu_AddNumWinningStreaks} +}; + +bool8 InitNoharaDebugMenu(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 19, 19); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4938), gUnknown_Debug_083C4938); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4938), 0, 18); + gMenuCallback = debug_sub_808F414; + return FALSE; +} + +bool8 debug_sub_808F414(void) +{ + s8 input = Menu_ProcessInput(); + switch (input) + { + default: + gMenuCallback = gUnknown_Debug_083C4938[input].func; + return FALSE; + case -2: + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } +} + +const u8 gUnknown_Debug_083C4980[] = _("Want to change data type{CLEAR_TO 143}Press Left\n" + "to see secret type now?{CLEAR_TO 143}to switch"); + +const u8 gUnknown_Debug_083C49CA[] = _("Choose the TV data you wish to\n" + "create to check a transmission。"); + +const u8 gUnknown_Debug_083C4A09[] = _("ほうそうの はっせいりつを セット\n" + "してください ?ぶんの1に なります"); + +const u8 gUnknown_Debug_083C4A2E[] = _("SURVEY"); +const u8 gUnknown_Debug_083C4A35[] = _("RECENT HAPPENINGS"); +const u8 gUnknown_Debug_083C4A47[] = _("POKひMON FAN CLUB"); +const u8 gUnknown_Debug_083C4A58[] = _("ジム"); +const u8 gUnknown_Debug_083C4A5B[] = _("OUTBREAKS"); +const u8 gUnknown_Debug_083C4A65[] = _("NAME RATER"); +const u8 gUnknown_Debug_083C4A70[] = _("CONTEST"); +const u8 gUnknown_Debug_083C4A78[] = _("INTRODUCTION"); +const u8 gUnknown_Debug_083C4A85[] = _("SHOPPING"); +const u8 gUnknown_Debug_083C4A8E[] = _("MISFORTUNE"); +const u8 gUnknown_Debug_083C4A99[] = _("FISHING"); +const u8 gUnknown_Debug_083C4AA1[] = _("MEMORABLE DAY"); +const u8 gUnknown_Debug_083C4AAF[] = _("BRAVO TRAINER"); + +const u8 gUnknown_Debug_083C4ABD[] = { + TVSHOW_FAN_CLUB_LETTER, + TVSHOW_RECENT_HAPPENINGS, + TVSHOW_PKMN_FAN_CLUB_OPINIONS, + TVSHOW_MASS_OUTBREAK, + TVSHOW_NAME_RATER_SHOW, + TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE, + TVSHOW_POKEMON_TODAY_CAUGHT, + TVSHOW_SMART_SHOPPER, + TVSHOW_POKEMON_TODAY_FAILED, + TVSHOW_FISHING_ADVICE, + TVSHOW_WORLD_OF_MASTERS, + TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE +}; + +const u8 *const gUnknown_Debug_083C4ACC[] = { + gUnknown_Debug_083C4A2E, + gUnknown_Debug_083C4A35, + gUnknown_Debug_083C4A47, + gUnknown_Debug_083C4A5B, + gUnknown_Debug_083C4A65, + gUnknown_Debug_083C4A70, + gUnknown_Debug_083C4A78, + gUnknown_Debug_083C4A85, + gUnknown_Debug_083C4A8E, + gUnknown_Debug_083C4A99, + gUnknown_Debug_083C4AA1, + gUnknown_Debug_083C4AAF +}; + +const u8 gDebugText_BigSale[] = _("BIG SALE"); + +const u8 gUnknown_Debug_083C4B05[] = _("SERVICE DAY"); +const u8 gUnknown_Debug_083C4B11[] = _("CLEARーOUT SALE"); +const u8 gUnknown_Debug_083C4B20[] = {1, 2, 3}; + +const u8 *const gUnknown_Debug_083C4B24[] = { + gDebugText_BigSale, + gUnknown_Debug_083C4B05, + gUnknown_Debug_083C4B11 +}; + +const u8 gUnknown_Debug_083C4B30[] = _("Secret type"); +const u8 gUnknown_Debug_083C4B3C[] = _("Start"); +const u8 gUnknown_Debug_083C4B42[] = _("Create TV"); +const u8 gUnknown_Debug_083C4B4C[] = _("All clear"); +const u8 gUnknown_Debug_083C4B56[] = _("All seen"); +const u8 gUnknown_Debug_083C4B5F[] = _("Create CM"); +const u8 gUnknown_Debug_083C4B69[] = _("Not yet seen"); +const u8 gUnknown_Debug_083C4B76[] = _("Hit Table"); +const u8 gUnknown_Debug_083C4B80[] = _("Set full"); + +// Normaly these would be struct MenuAction, but the prototype of +// member .func is not consistent. +const struct { + const u8 * text; + void *func; +} gUnknown_Debug_083C4B8C[] = { + {gUnknown_Debug_083C4B30, debug_sub_808F4EC}, + {gUnknown_Debug_083C4B3C, debug_sub_808F8AC}, + {gUnknown_Debug_083C4B42, debug_sub_808F8CC}, + {gUnknown_Debug_083C4B4C, debug_sub_808FEBC}, + {gUnknown_Debug_083C4B56, debug_sub_808F560}, + {gUnknown_Debug_083C4B5F, debug_sub_808FECC}, + {gUnknown_Debug_083C4B69, debug_sub_808F594}, + {gUnknown_Debug_083C4B76, debug_sub_808F5D8}, + {gUnknown_Debug_083C4B80, debug_sub_80900AC} +}; + +bool8 NoharaDebugMenu_TV(void) +{ + gDebug_03000726 = 0; + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 10, 19); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4B8C), gUnknown_Debug_083C4B8C); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4B8C), 0, 9); + gMenuCallback = debug_sub_808F4AC; + return FALSE; +} + +bool8 debug_sub_808F4AC(void) +{ + s8 input = Menu_ProcessInput(); + switch (input) + { + default: + gMenuCallback = (MenuFunc)gUnknown_Debug_083C4B8C[input].func; + return FALSE; + case -2: + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } +} + +void debug_sub_808F4EC(void) +{ + debug_sub_808F6BC(); + sub_8071F40(gUnknown_Debug_083C4980); + DisplayYesNoMenu(3, 3, 1); + gMenuCallback = debug_sub_808F648; +} + +void debug_sub_808F518(void) +{ + u8 i; + + for (i = 0; i < 24; i++) + { + if (gSaveBlock1.tvShows[i].common.kind >= TVSHOW_POKEMON_TODAY_CAUGHT && + gSaveBlock1.tvShows[i].common.kind < TVSHOW_MASS_OUTBREAK && + !gSaveBlock1.tvShows[i].common.active) + gSaveBlock1.tvShows[i].common.active = TRUE; + } +} + +bool8 debug_sub_808F560(void) +{ + u8 i; + + for (i = 0; i < 24; i++) + gSaveBlock1.tvShows[i].common.active = FALSE; + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_808F594(void) +{ + u8 i; + + for (i = 0; i < 24; i++) + { + if (gSaveBlock1.tvShows[i].common.kind != 0) + gSaveBlock1.tvShows[i].common.active = TRUE; + } + CloseMenu(); + return TRUE; +} + +const u8 gUnknown_Debug_083C4BD4[][12] = { + {0x0C, 0x04}, + {0x0C, 0x08}, + {0x0C, 0x0A}, + {0x0E, 0x06}, + {0x0E, 0x08}, + {0x0E, 0x0A}, + {0x10, 0x04}, + {0x10, 0x06}, + {0x10, 0x0A}, + {0x12, 0x04}, + {0x12, 0x06}, + {0x12, 0x0A} +}; + +bool8 debug_sub_808F5D8(void) +{ + u8 i; + + for (i = 0; i < 12; i++) + { + gSpecialVar_0x8004 = i; + ConvertIntToDecimalStringN(gStringVar1, GetSlotMachineId(), STR_CONV_MODE_LEFT_ALIGN, 1); + Menu_PrintText(gStringVar1, gUnknown_Debug_083C4BD4[i][0], gUnknown_Debug_083C4BD4[i][1]); + } + gSpecialVar_0x8004 = 0; + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_808F648(void) +{ + if (gMain.newKeys & DPAD_LEFT) + { + Menu_EraseWindowRect(10, 0, 29, 13); + gDebug_03000726 ^= 1; + if (gDebug_03000726) + debug_sub_808F7B4(); + else + debug_sub_808F6BC(); + return FALSE; + } + else + { + s8 input = Menu_ProcessInputNoWrap_(); + switch (input) + { + case -2: + return FALSE; + case 0: + debug_sub_808F518(); + // fallthrough + case -1: + default: + CloseMenu(); + return TRUE; + } + } +} + #endif diff --git a/src/field_specials.c b/src/field_specials.c index eff623548..a4b891dbe 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1793,7 +1793,7 @@ const u8 gUnknown_083F83E0[] = {12, 2, 4, 5, 1, 8, 7, 11, 3, 10, 9, 6}; const u8 gUnknown_083F83EC[] = {0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5}; const u8 gUnknown_083F83F8[] = {3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5}; -u8 GetSlotMachineId(void) +u16 GetSlotMachineId(void) { u32 v0 = gSaveBlock1.easyChatPairs[0].unk0_0 + gSaveBlock1.easyChatPairs[0].unk2 + gUnknown_083F83E0[gSpecialVar_0x8004]; if (GetPriceReduction(2)) -- cgit v1.2.3 From 2caef5b2b488e2a5bd88031ca747c62d376d1da8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 15:58:02 -0400 Subject: through debug_sub_808F93C --- src/debug/nohara_debug_menu.c | 158 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 149 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index dbe79dc72..1d52e70eb 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -1,5 +1,7 @@ #if DEBUG #include "global.h" +#include "constants/flags.h" +#include "constants/songs.h" #include "main.h" #include "menu.h" #include "start_menu.h" @@ -7,9 +9,10 @@ #include "event_data.h" #include "string_util.h" #include "field_specials.h" +#include "sound.h" -__attribute__((unused)) static u8 gDebug_03000724; -__attribute__((unused)) static u8 gDebug_03000725; +static u8 gDebug_03000724; +static u8 gDebug_03000725; static u8 gDebug_03000726; asm(".global gDebug_03000724"); @@ -24,7 +27,15 @@ bool8 debug_sub_808F560(void); bool8 debug_sub_808F594(void); bool8 debug_sub_808F5D8(void); bool8 debug_sub_808F648(void); -bool8 debug_sub_808F7B4(void); +void debug_sub_808F6BC(void); +void debug_sub_808F7B4(void); +bool8 debug_sub_808F8AC(void); +void debug_sub_808F8CC(void); +bool8 debug_sub_808F93C(void); +void debug_sub_808FA88(u8, u8); +void debug_sub_808FEBC(void); +void debug_sub_808FECC(void); +void debug_sub_80900AC(void); bool8 debug_sub_8090278(void); bool8 NoharaDebugMenu_Fan(void); bool8 NoharaDebugMenu_BattleVSDad(void); @@ -34,12 +45,6 @@ bool8 NoharaDebugMenu_Embark(void); bool8 NoharaDebugMenu_Yes9999(void); bool8 NoharaDebugMenu_LegendsFlagOn(void); bool8 NoharaDebugMenu_AddNumWinningStreaks(void); -void debug_sub_808F6BC(void); -void debug_sub_808F8AC(void); -void debug_sub_808F8CC(void); -void debug_sub_808FEBC(void); -void debug_sub_808FECC(void); -void debug_sub_80900AC(void); const u8 gUnknown_Debug_083C48C4[] = _("TV"); const u8 gUnknown_Debug_083C48C7[] = _("Fan"); @@ -312,4 +317,139 @@ bool8 debug_sub_808F648(void) } } +void debug_sub_808F6BC(void) +{ + u8 i; + + for (i = 0; i < 5; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.kind, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, i * 2 + 10, 0); + } + + for (i = 5; i < 24; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.kind, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 15) + Menu_PrintText(gStringVar1, i * 2, 3); + else + Menu_PrintText(gStringVar1, i * 2 - 20, 6); + } + + for (i = 0; i < 16; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.pokeNews[i].kind, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 8) + Menu_PrintText(gStringVar1, i * 2 + 10, 9); + else + Menu_PrintText(gStringVar1, i * 2 - 6, 12); + } +} + +void debug_sub_808F7B4(void) +{ + u8 i; + + for (i = 0; i < 5; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.active, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, i * 2 + 10, 0); + } + + for (i = 5; i < 24; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.tvShows[i].common.active, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 15) + Menu_PrintText(gStringVar1, i * 2, 3); + else + Menu_PrintText(gStringVar1, i * 2 - 20, 6); + } + + for (i = 0; i < 16; i++) + { + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.pokeNews[i].state, STR_CONV_MODE_LEFT_ALIGN, 2); + if (i < 8) + Menu_PrintText(gStringVar1, i * 2 + 10, 9); + else + Menu_PrintText(gStringVar1, i * 2 - 6, 12); + } +} + +bool8 debug_sub_808F8AC(void) +{ + FlagSet(FLAG_SYS_TV_START); + FlagSet(FLAG_VISITED_MAUVILLE_CITY); + CloseMenu(); + return TRUE; +} + +void debug_sub_808F8CC(void) +{ + gDebug_03000724 = 0; + sub_8071F40(gUnknown_Debug_083C49CA); + Menu_BlankWindowRect(13, 6, 26, 8); + Menu_PrintText(gUnknown_Debug_083C4ACC[0], 14, 7); + Menu_BlankWindowRect(22, 1, 24, 2); + ConvertIntToDecimalStringN(gStringVar1, 0, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 23, 1); + gMenuCallback = debug_sub_808F93C; +} + +bool8 debug_sub_808F93C(void) +{ + bool8 updateDisplay = FALSE; + if (gMain.newKeys & DPAD_UP) + { + gDebug_03000725++; + if (gDebug_03000725 == 24) + gDebug_03000725 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (gMain.newKeys & DPAD_DOWN) + { + if (gDebug_03000725 == 0) + gDebug_03000725 = 24; + gDebug_03000725--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (gMain.newKeys & DPAD_RIGHT) + { + gDebug_03000724++; + if (gDebug_03000724 == 12) + gDebug_03000724 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (gMain.newKeys & DPAD_LEFT) + { + if (gDebug_03000724 == 0) + gDebug_03000724 = 12; + gDebug_03000724--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + if (updateDisplay) + { + Menu_BlankWindowRect(13, 6, 26, 8); + Menu_PrintText(gUnknown_Debug_083C4ACC[gDebug_03000724], 14, 7); + Menu_BlankWindowRect(22, 1, 24, 2); + ConvertIntToDecimalStringN(gStringVar1, gDebug_03000725, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 23, 1); + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_PIN); + debug_sub_808FA88(gDebug_03000725, gUnknown_Debug_083C4ABD[gDebug_03000724]); + } + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + sub_80BF588(gSaveBlock1.tvShows); + CloseMenu(); + return TRUE; + } + return FALSE; +} + #endif -- cgit v1.2.3 From 5bf8472d4f8902203fc07609e30edaed3818370b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 18:13:16 -0400 Subject: debug_sub_808FA88 --- src/debug/nohara_debug_menu.c | 194 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) (limited to 'src') diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index 1d52e70eb..8f02b7e0d 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -2,6 +2,8 @@ #include "global.h" #include "constants/flags.h" #include "constants/songs.h" +#include "constants/species.h" +#include "constants/items.h" #include "main.h" #include "menu.h" #include "start_menu.h" @@ -452,4 +454,196 @@ bool8 debug_sub_808F93C(void) return FALSE; } +void debug_sub_808FA88(u8 a0, u8 a1) +{ + u8 i; + u8 leadMonIndex = GetLeadMonIndex(); + u8 channel; + + gSaveBlock1.tvShows[a0].common.kind = a1; + gSaveBlock1.tvShows[a0].common.active = TRUE; + for (i = 0; i < 0x22; i++) + gSaveBlock1.tvShows[a0].common.pad02[i] = 1; + + channel = GetTVChannelByShowType(a1); + switch (channel) + { + case 2: + case 4: + sub_80BE160(gSaveBlock1.tvShows + a0); + break; + case 3: + sub_80BE138(gSaveBlock1.tvShows + a0); + break; + } + + switch (a1) + { + case TVSHOW_FAN_CLUB_LETTER: + case TVSHOW_RECENT_HAPPENINGS: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->fanclubLetter.species = SPECIES_BULBASAUR; + StringCopy(gSaveBlock1.tvShows[a0].fanclubLetter.playerName, gSaveBlock2.playerName); + show->fanclubLetter.language = LANGUAGE_GERMAN; + break; + } + case TVSHOW_PKMN_FAN_CLUB_OPINIONS: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->fanclubOpinions.var02 = 1; + StringCopy(gSaveBlock1.tvShows[a0].fanclubOpinions.playerName, gSaveBlock2.playerName); + GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].fanclubOpinions.var10); + show->fanclubOpinions.language = LANGUAGE_GERMAN; + show->fanclubOpinions.var0E = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); + break; + } + case TVSHOW_UNKN_SHOWTYPE_04: + { + break; + } + case TVSHOW_NAME_RATER_SHOW: + { + u16 species = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_SPECIES); + TVShow * show = gSaveBlock1.tvShows + a0; + + show->nameRaterShow.species = species; + show->nameRaterShow.var1C = 1; + StringCopy(gSaveBlock1.tvShows[a0].nameRaterShow.trainerName, gSaveBlock2.playerName); + GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].nameRaterShow.pokemonName); + show->nameRaterShow.language = LANGUAGE_GERMAN; + show->nameRaterShow.pokemonNameLanguage = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); + break; + } + case TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->bravoTrainer.species = SPECIES_BULBASAUR; + StringCopy(gSaveBlock1.tvShows[a0].bravoTrainer.playerName, gSaveBlock2.playerName); + GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].bravoTrainer.pokemonNickname); + show->bravoTrainer.language = LANGUAGE_GERMAN; + show->bravoTrainer.var1f = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); + break; + } + case TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->bravoTrainerTower.species = SPECIES_BULBASAUR; + show->bravoTrainerTower.defeatedSpecies = SPECIES_BULBASAUR; + StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.trainerName, gSaveBlock2.playerName); + StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.pokemonName, gSaveBlock2.playerName); + show->bravoTrainerTower.language = LANGUAGE_GERMAN; + break; + } + case TVSHOW_MASS_OUTBREAK: + { + TVShow * show = gSaveBlock1.tvShows + a0; + + show->massOutbreak.species = SPECIES_BULBASAUR; + show->massOutbreak.daysLeft = 1; + break; + } + case TVSHOW_POKEMON_TODAY_CAUGHT: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + u8 gUnknown_Debug_083C4C6C[] = _("TERUTERUDA"); + + show->pokemonToday.var12 = 255; + StringCopy(show->pokemonToday.playerName, gUnknown_Debug_083C4C64); + StringCopy(show->pokemonToday.nickname, gUnknown_Debug_083C4C6C); + show->pokemonToday.ball = ITEM_PREMIER_BALL; + show->pokemonToday.species = SPECIES_WIGGLYTUFF; + show->pokemonToday.language = LANGUAGE_GERMAN; + show->pokemonToday.language2 = LANGUAGE_GERMAN; + break; + } + case TVSHOW_SMART_SHOPPER: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + int ii; + + for (ii = 0; ii < 3; ii++) + show->smartshopperShow.itemAmounts[ii] = 254; + show->smartshopperShow.priceReduced = TRUE; + show->smartshopperShow.shopLocation = 40; + for (ii = 0; ii < 3; ii++) + show->smartshopperShow.itemIds[ii] = ITEM_ENERGY_POWDER; + StringCopy(show->smartshopperShow.playerName, gUnknown_Debug_083C4C64); + show->smartshopperShow.language = LANGUAGE_GERMAN; + break; + } + case TVSHOW_POKEMON_TODAY_FAILED: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + + show->pokemonTodayFailed.species = SPECIES_WIGGLYTUFF; + show->pokemonTodayFailed.species2 = SPECIES_WIGGLYTUFF; + show->pokemonTodayFailed.var12 = 3; + show->pokemonTodayFailed.var10 = 0xff; + show->pokemonTodayFailed.var11 = 1; + StringCopy(show->pokemonTodayFailed.playerName, gUnknown_Debug_083C4C64); + show->pokemonTodayFailed.language = LANGUAGE_GERMAN; + break; + } + case TVSHOW_FISHING_ADVICE: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + + show->pokemonAngler.var02 = 0xff; + show->pokemonAngler.var03 = 0; + show->pokemonAngler.var04 = 40; + StringCopy(show->pokemonAngler.playerName, gUnknown_Debug_083C4C64); + show->pokemonAngler.language = LANGUAGE_GERMAN; + break; + } + case TVSHOW_WORLD_OF_MASTERS: + { + TVShow * show = gSaveBlock1.tvShows + a0; + u8 gUnknown_Debug_083C4C64[] = _("TERUKUN"); + + show->worldOfMasters.var02 = 0xffff; + show->worldOfMasters.var06 = 0xffff; + show->worldOfMasters.var04 = 40; + show->worldOfMasters.var08 = 40; + show->worldOfMasters.var0a = 3; + StringCopy(show->worldOfMasters.playerName, gUnknown_Debug_083C4C64); + show->worldOfMasters.language = LANGUAGE_GERMAN; + break; + } + + } +} + +// debug_sub_80901F8 + +const u8 gUnknown_Debug_083C4C77[] = _("1 スクル"); +const u8 gUnknown_Debug_083C4C7D[] = _("2 ミドル"); +const u8 gUnknown_Debug_083C4C83[] = _("3 オジヨ"); +const u8 gUnknown_Debug_083C4C89[] = _("4 ボーヤ"); +const u8 gUnknown_Debug_083C4C8F[] = _("5 ボーイ"); +const u8 gUnknown_Debug_083C4C95[] = _("6 ヤング"); +const u8 gUnknown_Debug_083C4C9B[] = _("7 ヲーカ"); +const u8 gUnknown_Debug_083C4CA1[] = _("8 オルド"); + +const u8 *const gUnknown_Debug_083C4CA8[] = { + gUnknown_Debug_083C4C77, + gUnknown_Debug_083C4C7D, + gUnknown_Debug_083C4C83, + gUnknown_Debug_083C4C89, + gUnknown_Debug_083C4C8F, + gUnknown_Debug_083C4C95, + gUnknown_Debug_083C4C9B, + gUnknown_Debug_083C4CA1 +}; + +// debug_sub_8090238 + #endif -- cgit v1.2.3 From 4987b746365ec09af10bc2a1ce11dbffaa284b50 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 20:04:51 -0400 Subject: Remainder of nohara --- src/debug/nohara_debug_menu.c | 334 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 325 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index 8f02b7e0d..d3af2bde7 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -17,10 +17,6 @@ static u8 gDebug_03000724; static u8 gDebug_03000725; static u8 gDebug_03000726; -asm(".global gDebug_03000724"); -asm(".global gDebug_03000725"); -asm(".global gDebug_03000726"); - bool8 debug_sub_808F414(void); bool8 NoharaDebugMenu_TV(void); bool8 debug_sub_808F4AC(void); @@ -35,11 +31,23 @@ bool8 debug_sub_808F8AC(void); void debug_sub_808F8CC(void); bool8 debug_sub_808F93C(void); void debug_sub_808FA88(u8, u8); -void debug_sub_808FEBC(void); +bool8 debug_sub_808FEBC(void); void debug_sub_808FECC(void); -void debug_sub_80900AC(void); -bool8 debug_sub_8090278(void); +bool8 debug_sub_808FF3C(void); +void debug_sub_8090080(u8, u8); +bool8 debug_sub_80900AC(void); bool8 NoharaDebugMenu_Fan(void); +bool8 debug_sub_80901A4(void); +bool8 debug_sub_80901E4(void); +bool8 debug_sub_80901F8(void); +bool8 debug_sub_8090238(void); +bool8 debug_sub_809029C(void); +bool8 debug_sub_80902E4(void); +bool8 debug_sub_80902FC(void); +bool8 debug_sub_8090310(void); +bool8 debug_sub_8090324(void); +bool8 debug_sub_8090338(void); +bool8 debug_sub_8090278(void); bool8 NoharaDebugMenu_BattleVSDad(void); bool8 NoharaDebugMenu_DadAfterBattle(void); bool8 NoharaDebugMenu_SootopolisCity(void); @@ -622,7 +630,130 @@ void debug_sub_808FA88(u8 a0, u8 a1) } } -// debug_sub_80901F8 +bool8 debug_sub_808FEBC(void) +{ + ClearTVShowData(); + CloseMenu(); + return TRUE; +} + +void debug_sub_808FECC(void) +{ + gDebug_03000724 = 0; + sub_8071F40(gUnknown_Debug_083C49CA); + Menu_BlankWindowRect(13, 6, 23, 8); + Menu_PrintText(gUnknown_Debug_083C4B24[0], 14, 7); + Menu_BlankWindowRect(22, 1, 24, 2); + ConvertIntToDecimalStringN(gStringVar1, 0, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 23, 1); + gMenuCallback = debug_sub_808FF3C; +} + +bool8 debug_sub_808FF3C(void) +{ + bool8 updateDisplay = FALSE; + + if (gMain.newKeys & DPAD_UP) + { + gDebug_03000725++; + if (gDebug_03000725 == 16) + gDebug_03000725 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (gMain.newKeys & DPAD_DOWN) + { + if (gDebug_03000725 == 0) + gDebug_03000725 = 16; + gDebug_03000725--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + gDebug_03000724++; + if (gDebug_03000724 == 3) + gDebug_03000724 = 0; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (gMain.newKeys & DPAD_LEFT) + { + if (gDebug_03000724 == 0) + gDebug_03000724 = 3; + gDebug_03000724--; + PlaySE(SE_SELECT); + updateDisplay = TRUE; + } + + if (updateDisplay) + { + Menu_BlankWindowRect(13, 6, 23, 8); + Menu_PrintText(gUnknown_Debug_083C4B24[gDebug_03000724], 14, 7); + Menu_BlankWindowRect(22, 1, 24, 2); + ConvertIntToDecimalStringN(gStringVar1, gDebug_03000725, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 23, 1); + } + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_PIN); + debug_sub_8090080(gDebug_03000725, gUnknown_Debug_083C4B20[gDebug_03000724]); + } + + if (gMain.newKeys & (B_BUTTON | START_BUTTON)) + { + sub_80BEC40(); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +void debug_sub_8090080(u8 a0, u8 a1) +{ + gSaveBlock1.pokeNews[a0].kind = a1; + gSaveBlock1.pokeNews[a0].state = 1; + gSaveBlock1.pokeNews[a0].days = 4; +} + +bool8 debug_sub_80900AC(void) +{ + u8 i; + u8 j; + + j = 0; + for (i = 0; i < 24; i++) + { + if (gSaveBlock1.tvShows[i].common.kind == 0) + { + if (j == 12) + j = 0; + debug_sub_808FA88(i, gUnknown_Debug_083C4ABD[j]); + gSaveBlock1.tvShows[i].common.active = FALSE; + j++; + } + } + + j = 0; + for (i = 0; i < 16; i++) + { + if (gSaveBlock1.pokeNews[i].kind == 0) + { + if (j == 3) + j = 0; + debug_sub_8090080(i, gUnknown_Debug_083C4B20[j]); + j++; + } + } + + CloseMenu(); + return TRUE; +} const u8 gUnknown_Debug_083C4C77[] = _("1 スクル"); const u8 gUnknown_Debug_083C4C7D[] = _("2 ミドル"); @@ -644,6 +775,191 @@ const u8 *const gUnknown_Debug_083C4CA8[] = { gUnknown_Debug_083C4CA1 }; -// debug_sub_8090238 +const u8 gUnknown_Debug_083C4CC8[] = _("Start"); +const u8 gUnknown_Debug_083C4CCE[] = _("Increase"); +const u8 gUnknown_Debug_083C4CD7[] = _("Reduce"); +const u8 gUnknown_Debug_083C4CDE[] = _("Points"); +const u8 gUnknown_Debug_083C4CE5[] = _("Play time 6"); +const u8 gUnknown_Debug_083C4CF1[] = _("P ELITE FOUR"); +const u8 gUnknown_Debug_083C4CFE[] = _("P SECRET BASE"); +const u8 gUnknown_Debug_083C4D0C[] = _("P CONTEST"); +const u8 gUnknown_Debug_083C4D16[] = _("P BATTLE TOWER"); + +const struct MenuAction gUnknown_Debug_083C4D28[] = { + {gUnknown_Debug_083C4CC8, debug_sub_80901E4}, + {gUnknown_Debug_083C4CCE, debug_sub_80901F8}, + {gUnknown_Debug_083C4CD7, debug_sub_8090238}, + {gUnknown_Debug_083C4CDE, debug_sub_809029C}, + {gUnknown_Debug_083C4CE5, debug_sub_80902E4}, + {gUnknown_Debug_083C4CF1, debug_sub_80902FC}, + {gUnknown_Debug_083C4CFE, debug_sub_8090310}, + {gUnknown_Debug_083C4D0C, debug_sub_8090324}, + {gUnknown_Debug_083C4D16, debug_sub_8090338} +}; + +bool8 NoharaDebugMenu_Fan(void) +{ + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 11, 19); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4D28), gUnknown_Debug_083C4D28); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4D28), 0, 10); + gMenuCallback = debug_sub_80901A4; + return FALSE; +} + +bool8 debug_sub_80901A4(void) +{ + s8 input = Menu_ProcessInput(); + switch (input) + { + default: + gMenuCallback = gUnknown_Debug_083C4D28[input].func; + return FALSE; + case -2: + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } +} + +bool8 debug_sub_80901E4(void) +{ + ResetFanClub(); + sub_810FAA0(); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_80901F8(void) +{ + u8 r0 = sub_810FB9C(); + Menu_PrintText(gUnknown_Debug_083C4CA8[gUnknown_083F8408[r0] - 8], 14, 7); + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_8090238(void) +{ + u8 r0 = sub_810FC18(); + Menu_PrintText(gUnknown_Debug_083C4CA8[gUnknown_083F8410[r0] - 8], 14, 7); + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_8090278(void) +{ + if (gMain.newKeys & A_BUTTON) + { + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 debug_sub_809029C(void) +{ + ConvertIntToDecimalStringN(gStringVar1, gSaveBlock1.vars[VAR_FANCLUB_UNKNOWN_1 - VARS_START] & 0x7F, STR_CONV_MODE_LEFT_ALIGN, 2); + Menu_PrintText(gStringVar1, 16, 7); + gMenuCallback = debug_sub_8090278; + return FALSE; +} + +bool8 debug_sub_80902E4(void) +{ + gSaveBlock2.playTimeHours += 6; + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_80902FC(void) +{ + sub_810FB10(0); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_8090310(void) +{ + sub_810FB10(1); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_8090324(void) +{ + sub_810FB10(2); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_8090338(void) +{ + sub_810FB10(3); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_BattleVSDad(void) +{ + VarSet(VAR_PETALBURG_GYM_STATE, 6); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_DadAfterBattle(void) +{ + VarSet(VAR_PETALBURG_GYM_STATE, 7); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_SootopolisCity(void) +{ + FlagSet(FLAG_LEGEND_ESCAPED_SEAFLOOR_CAVERN); + FlagSet(FLAG_LEGENDARY_BATTLE_COMPLETED); + FlagClear(FLAG_HIDE_WALLACE_SOOTOPOLIS_GYM); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_Embark(void) +{ + FlagClear(FLAG_HIDE_MR_BRINEY_ROUTE104_HOUSE); + VarSet(VAR_BRINEY_HOUSE_STATE, 1); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_Yes9999(void) +{ + VarSet(VAR_ASH_GATHER_COUNT, 9999); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_LegendsFlagOn(void) +{ + FlagSet(FLAG_REGI_DOORS_OPENED); + CloseMenu(); + return TRUE; +} + +bool8 NoharaDebugMenu_AddNumWinningStreaks(void) +{ + if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 50) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 50; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 100) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 100; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 1000) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 1000; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 5000) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9990; + else if (gSaveBlock2.battleTower.bestBattleTowerWinStreak < 9990) + gSaveBlock2.battleTower.bestBattleTowerWinStreak = 9999; + CloseMenu(); + return TRUE; +} #endif -- cgit v1.2.3 From 00f30deaddac8ef6b593f8e0598ce0241e733b7d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 20:19:06 -0400 Subject: LANGUAGE_GERMAN --> GAME_LANGUAGE in Nohara --- src/debug/nohara_debug_menu.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index d3af2bde7..0e6a1418e 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -494,7 +494,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->fanclubLetter.species = SPECIES_BULBASAUR; StringCopy(gSaveBlock1.tvShows[a0].fanclubLetter.playerName, gSaveBlock2.playerName); - show->fanclubLetter.language = LANGUAGE_GERMAN; + show->fanclubLetter.language = GAME_LANGUAGE; break; } case TVSHOW_PKMN_FAN_CLUB_OPINIONS: @@ -504,7 +504,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->fanclubOpinions.var02 = 1; StringCopy(gSaveBlock1.tvShows[a0].fanclubOpinions.playerName, gSaveBlock2.playerName); GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].fanclubOpinions.var10); - show->fanclubOpinions.language = LANGUAGE_GERMAN; + show->fanclubOpinions.language = GAME_LANGUAGE; show->fanclubOpinions.var0E = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); break; } @@ -521,7 +521,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->nameRaterShow.var1C = 1; StringCopy(gSaveBlock1.tvShows[a0].nameRaterShow.trainerName, gSaveBlock2.playerName); GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].nameRaterShow.pokemonName); - show->nameRaterShow.language = LANGUAGE_GERMAN; + show->nameRaterShow.language = GAME_LANGUAGE; show->nameRaterShow.pokemonNameLanguage = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); break; } @@ -532,7 +532,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->bravoTrainer.species = SPECIES_BULBASAUR; StringCopy(gSaveBlock1.tvShows[a0].bravoTrainer.playerName, gSaveBlock2.playerName); GetMonData(gPlayerParty + leadMonIndex, MON_DATA_NICKNAME, gSaveBlock1.tvShows[a0].bravoTrainer.pokemonNickname); - show->bravoTrainer.language = LANGUAGE_GERMAN; + show->bravoTrainer.language = GAME_LANGUAGE; show->bravoTrainer.var1f = GetMonData(gPlayerParty + leadMonIndex, MON_DATA_LANGUAGE); break; } @@ -544,7 +544,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->bravoTrainerTower.defeatedSpecies = SPECIES_BULBASAUR; StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.trainerName, gSaveBlock2.playerName); StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.pokemonName, gSaveBlock2.playerName); - show->bravoTrainerTower.language = LANGUAGE_GERMAN; + show->bravoTrainerTower.language = GAME_LANGUAGE; break; } case TVSHOW_MASS_OUTBREAK: @@ -566,8 +566,8 @@ void debug_sub_808FA88(u8 a0, u8 a1) StringCopy(show->pokemonToday.nickname, gUnknown_Debug_083C4C6C); show->pokemonToday.ball = ITEM_PREMIER_BALL; show->pokemonToday.species = SPECIES_WIGGLYTUFF; - show->pokemonToday.language = LANGUAGE_GERMAN; - show->pokemonToday.language2 = LANGUAGE_GERMAN; + show->pokemonToday.language = GAME_LANGUAGE; + show->pokemonToday.language2 = GAME_LANGUAGE; break; } case TVSHOW_SMART_SHOPPER: @@ -583,7 +583,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) for (ii = 0; ii < 3; ii++) show->smartshopperShow.itemIds[ii] = ITEM_ENERGY_POWDER; StringCopy(show->smartshopperShow.playerName, gUnknown_Debug_083C4C64); - show->smartshopperShow.language = LANGUAGE_GERMAN; + show->smartshopperShow.language = GAME_LANGUAGE; break; } case TVSHOW_POKEMON_TODAY_FAILED: @@ -597,7 +597,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->pokemonTodayFailed.var10 = 0xff; show->pokemonTodayFailed.var11 = 1; StringCopy(show->pokemonTodayFailed.playerName, gUnknown_Debug_083C4C64); - show->pokemonTodayFailed.language = LANGUAGE_GERMAN; + show->pokemonTodayFailed.language = GAME_LANGUAGE; break; } case TVSHOW_FISHING_ADVICE: @@ -609,7 +609,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->pokemonAngler.var03 = 0; show->pokemonAngler.var04 = 40; StringCopy(show->pokemonAngler.playerName, gUnknown_Debug_083C4C64); - show->pokemonAngler.language = LANGUAGE_GERMAN; + show->pokemonAngler.language = GAME_LANGUAGE; break; } case TVSHOW_WORLD_OF_MASTERS: @@ -623,7 +623,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->worldOfMasters.var08 = 40; show->worldOfMasters.var0a = 3; StringCopy(show->worldOfMasters.playerName, gUnknown_Debug_083C4C64); - show->worldOfMasters.language = LANGUAGE_GERMAN; + show->worldOfMasters.language = GAME_LANGUAGE; break; } -- cgit v1.2.3 From e472aa274cb772edbf3b797727c6918a0c493a01 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 9 Apr 2018 20:31:06 -0400 Subject: fix name of TVShow.bravoTrainerTower.pokemonName --- src/debug/nohara_debug_menu.c | 2 +- src/tv.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/debug/nohara_debug_menu.c b/src/debug/nohara_debug_menu.c index 0e6a1418e..349e5111f 100644 --- a/src/debug/nohara_debug_menu.c +++ b/src/debug/nohara_debug_menu.c @@ -543,7 +543,7 @@ void debug_sub_808FA88(u8 a0, u8 a1) show->bravoTrainerTower.species = SPECIES_BULBASAUR; show->bravoTrainerTower.defeatedSpecies = SPECIES_BULBASAUR; StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.trainerName, gSaveBlock2.playerName); - StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.pokemonName, gSaveBlock2.playerName); + StringCopy(gSaveBlock1.tvShows[a0].bravoTrainerTower.enemyTrainerName, gSaveBlock2.playerName); show->bravoTrainerTower.language = GAME_LANGUAGE; break; } diff --git a/src/tv.c b/src/tv.c index b195c1e99..7cf549802 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1004,7 +1004,7 @@ void InterviewAfter_BravoTrainerBattleTowerProfile(void) bravoTrainerTower->kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; bravoTrainerTower->active = 1; StringCopy(bravoTrainerTower->trainerName, gSaveBlock2.playerName); - StringCopy(bravoTrainerTower->pokemonName, gSaveBlock2.battleTower.defeatedByTrainerName); + StringCopy(bravoTrainerTower->enemyTrainerName, gSaveBlock2.battleTower.defeatedByTrainerName); bravoTrainerTower->species = gSaveBlock2.battleTower.firstMonSpecies; bravoTrainerTower->defeatedSpecies = gSaveBlock2.battleTower.defeatedBySpecies; bravoTrainerTower->var16 = GetCurrentBattleTowerWinStreak(gSaveBlock2.battleTower.lastStreakLevelType); @@ -2968,7 +2968,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 4; break; case 2: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sub_80BF088(1, bravoTrainerTower->var16 + 1); if (bravoTrainerTower->var1b == 0) sTVShowState = 5; @@ -2976,7 +2976,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 6; break; case 3: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->defeatedSpecies]); if (bravoTrainerTower->var1b == 0) sTVShowState = 5; @@ -2984,7 +2984,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 6; break; case 4: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); StringCopy(gStringVar2, gSpeciesNames[bravoTrainerTower->defeatedSpecies]); if (bravoTrainerTower->var1b == 0) sTVShowState = 5; @@ -2992,11 +2992,11 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) sTVShowState = 6; break; case 5: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sTVShowState = 11; break; case 6: - TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar1, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sTVShowState = 11; break; case 7: @@ -3019,7 +3019,7 @@ void DoTVShowBravoTrainerBattleTowerProfile(void) case 13: EasyChat_GetWordText(gStringVar1, bravoTrainerTower->var18[0]); TVShowConvertInternationalString(gStringVar2, bravoTrainerTower->trainerName, bravoTrainerTower->language); - TVShowConvertInternationalString(gStringVar3, bravoTrainerTower->pokemonName, bravoTrainerTower->language); + TVShowConvertInternationalString(gStringVar3, bravoTrainerTower->enemyTrainerName, bravoTrainerTower->language); sTVShowState = 14; break; case 14: -- cgit v1.2.3 From 9179520b3802f7b2ed74fd930a95bb577c2c06f0 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 10 Apr 2018 13:11:19 -0700 Subject: Document/cleanup fldeff_secretpower.c --- src/battle/battle_transition.c | 3 +- src/braille_puzzles.c | 9 +- src/debug/start_menu_debug.c | 2 +- src/event_object_movement.c | 3 +- src/field_effect.c | 5 +- src/field_effect_helpers.c | 3 +- src/field_player_avatar.c | 3 +- src/fldeff_cut.c | 39 ++++---- src/fldeff_decoration.c | 3 +- src/fldeff_flash.c | 6 +- src/fldeff_secret_base_pc.c | 3 +- src/fldeff_secretpower.c | 212 ++++++++++++++++++++--------------------- src/fldeff_strength.c | 13 +-- src/fldeff_sweetscent.c | 7 +- src/fldeff_teleport.c | 7 +- src/pokemon_menu.c | 37 +++---- src/rom6.c | 21 ++-- src/secret_base.c | 44 ++++----- src/trainer_see.c | 1 + 19 files changed, 215 insertions(+), 206 deletions(-) (limited to 'src') diff --git a/src/battle/battle_transition.c b/src/battle/battle_transition.c index a94974b27..d5035a862 100644 --- a/src/battle/battle_transition.c +++ b/src/battle/battle_transition.c @@ -10,11 +10,12 @@ #include "random.h" #include "sprite.h" #include "sound.h" -#include "constants/songs.h" #include "trainer.h" #include "field_camera.h" #include "ewram.h" #include "scanline_effect.h" +#include "constants/songs.h" +#include "constants/field_effects.h" void ScanlineEffect_Clear(void); diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index f11fb5fb3..e7132a313 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -4,18 +4,19 @@ #include "field_camera.h" #include "field_effect.h" #include "fieldmap.h" -#include "constants/flags.h" #include "main.h" -#include "constants/maps.h" #include "map_obj_lock.h" #include "menu.h" #include "rom6.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" -#include "constants/species.h" #include "task.h" #include "text.h" +#include "constants/field_effects.h" +#include "constants/flags.h" +#include "constants/maps.h" +#include "constants/songs.h" +#include "constants/species.h" extern u8 gPlayerPartyCount; extern u8 gLastFieldPokeMenuOpened; diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 549842c6a..019bac3f4 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -1336,7 +1336,7 @@ bool8 DebugMenu_8077BE4(void) bool8 DebugMenu_8077BF4(void) { - debug_sub_80D93F4(); + Debug_SetUpFieldMove_SecretPower(); return TRUE; } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 3fb611433..6883c82c1 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -12,9 +12,10 @@ #include "overworld.h" #include "sprite.h" #include "metatile_behavior.h" +#include "trainer_see.h" +#include "constants/field_effects.h" #include "constants/maps.h" #include "constants/map_objects.h" -#include "trainer_see.h" // this file was known as evobjmv.c in Game Freak's original source diff --git a/src/field_effect.c b/src/field_effect.c index ae0acf1a0..be67818b3 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -3,6 +3,7 @@ #include "script.h" #include "trig.h" #include "main.h" +#include "field_effect_helpers.h" #include "field_weather.h" #include "decompress.h" #include "sprite.h" @@ -12,7 +13,6 @@ #include "overworld.h" #include "task.h" #include "sound.h" -#include "constants/songs.h" #include "decoration.h" #include "field_player_avatar.h" #include "event_object_movement.h" @@ -22,8 +22,9 @@ #include "field_fadetransition.h" #include "fieldmap.h" #include "util.h" -#include "field_effect_helpers.h" #include "pokemon_storage_system.h" +#include "constants/field_effects.h" +#include "constants/songs.h" #define subsprite_table(ptr) {.subsprites = ptr, .subspriteCount = (sizeof ptr) / (sizeof(struct Subsprite))} diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 216f39d62..be7bcec27 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -2,13 +2,14 @@ #include "sprite.h" #include "fieldmap.h" #include "metatile_behavior.h" -#include "constants/songs.h" #include "sound.h" #include "event_object_movement.h" #include "field_camera.h" #include "field_weather.h" #include "field_effect.h" #include "field_effect_helpers.h" +#include "constants/field_effects.h" +#include "constants/songs.h" static void sub_81269E0(struct Sprite *); static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite); diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 1552381b2..3970cb824 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -7,7 +7,6 @@ #include "event_object_movement.h" #include "fieldmap.h" #include "main.h" -#include "constants/map_objects.h" #include "menu.h" #include "metatile_behavior.h" #include "new_game.h" @@ -22,6 +21,8 @@ #include "task.h" #include "tv.h" #include "wild_encounter.h" +#include "constants/field_effects.h" +#include "constants/map_objects.h" EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0}; diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index c8f942fe5..6dd643541 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -12,15 +12,16 @@ #include "overworld.h" #include "rom6.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" #include "sprite.h" #include "task.h" #include "trig.h" #include "ewram.h" +#include "constants/field_effects.h" +#include "constants/songs.h" extern void (*gFieldCallback)(void); -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; extern const u8 S_UseCut[]; @@ -87,14 +88,14 @@ void debug_sub_80AFEE4(void) return; } - PlayerGetDestCoords(&gUnknown_0203923C.x, &gUnknown_0203923C.y); + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); for (i = 0; i < 3; i++) { - y = i - 1 + gUnknown_0203923C.y; + y = i - 1 + gPlayerFacingPosition.y; for (j = 0; j < 3; j++) { - x = j - 1 + gUnknown_0203923C.x; - if (MapGridGetZCoordAt(x, y) == gUnknown_0203923C.height) + x = j - 1 + gPlayerFacingPosition.x; + if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) { metatile = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsPokeGrass(metatile) == TRUE @@ -120,27 +121,27 @@ bool8 SetUpFieldMove_Cut(void) if(npc_before_player_of_type(0x52) == TRUE) // is in front of tree? { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80A2634; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_80A2634; return TRUE; } else // is in ash or grass to cut? { - PlayerGetDestCoords(&gUnknown_0203923C.x, &gUnknown_0203923C.y); + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); for(i = 0; i < 3; i++) { - y = i - 1 + gUnknown_0203923C.y; + y = i - 1 + gPlayerFacingPosition.y; for(j = 0; j < 3; j++) { - x = j - 1 + gUnknown_0203923C.x; - if(MapGridGetZCoordAt(x, y) == gUnknown_0203923C.height) + x = j - 1 + gPlayerFacingPosition.x; + if(MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) { tileBehavior = MapGridGetMetatileBehaviorAt(x, y); if(MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE || MetatileBehavior_IsAshGrass(tileBehavior) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80A25E8; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_80A25E8; return TRUE; } } @@ -194,13 +195,13 @@ bool8 FldEff_CutGrass(void) u8 tileBehavior; u8 i, j; // not in for loop? - for(i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gUnknown_0203923C.x, &gUnknown_0203923C.y); i < 3; i++) + for(i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < 3; i++) { - y = i - 1 + gUnknown_0203923C.y; + y = i - 1 + gPlayerFacingPosition.y; for(j = 0; j < 3; j++) { - x = j - 1 + gUnknown_0203923C.x; - if(MapGridGetZCoordAt(x, y) == (s8)gUnknown_0203923C.height) + x = j - 1 + gPlayerFacingPosition.x; + if(MapGridGetZCoordAt(x, y) == (s8)gPlayerFacingPosition.height) { tileBehavior = MapGridGetMetatileBehaviorAt(x, y); if(MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) @@ -211,7 +212,7 @@ bool8 FldEff_CutGrass(void) } } } - sub_80A28F4(gUnknown_0203923C.x - 1, gUnknown_0203923C.y - 2); + sub_80A28F4(gPlayerFacingPosition.x - 1, gPlayerFacingPosition.y - 2); DrawWholeMapView(); // populate sprite ID array diff --git a/src/fldeff_decoration.c b/src/fldeff_decoration.c index 1859fc00b..467e7bca4 100644 --- a/src/fldeff_decoration.c +++ b/src/fldeff_decoration.c @@ -6,12 +6,13 @@ #include "field_player_avatar.h" #include "fieldmap.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" #include "string_util.h" #include "strings.h" #include "task.h" #include "text.h" +#include "constants/field_effects.h" +#include "constants/songs.h" extern const u8 gSpriteImage_83D21EC[]; extern const u8 gSpriteImage_83D22EC[]; diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 30ddd0f6c..a9f64a2d1 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -22,7 +22,7 @@ struct FlashStruct }; extern u8 gLastFieldPokeMenuOpened; -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 gUnknown_081B694A[]; @@ -87,8 +87,8 @@ bool8 SetUpFieldMove_Flash(void) { if (gMapHeader.cave == TRUE && !FlagGet(FLAG_SYS_USE_FLASH)) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_810CBFC; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_810CBFC; return TRUE; } diff --git a/src/fldeff_secret_base_pc.c b/src/fldeff_secret_base_pc.c index 394c4bc56..f9898c444 100644 --- a/src/fldeff_secret_base_pc.c +++ b/src/fldeff_secret_base_pc.c @@ -5,9 +5,10 @@ #include "field_player_avatar.h" #include "fieldmap.h" #include "script.h" -#include "constants/songs.h" #include "sound.h" #include "task.h" +#include "constants/field_effects.h" +#include "constants/songs.h" static void Task_SecretBasePCTurnOn(u8); diff --git a/src/fldeff_secretpower.c b/src/fldeff_secretpower.c index d1df03d84..c9fbc7b84 100644 --- a/src/fldeff_secretpower.c +++ b/src/fldeff_secretpower.c @@ -10,12 +10,13 @@ #include "rom6.h" #include "script.h" #include "secret_base.h" -#include "constants/songs.h" #include "sound.h" +#include "constants/field_effects.h" +#include "constants/songs.h" -extern u8 gUnknown_081A2CE6[]; -extern u8 gUnknown_081A2D3E[]; -extern u8 gUnknown_081A2D96[]; +extern u8 DoSecretBaseCaveFieldEffectScript[]; +extern u8 DoSecretBaseTreeFieldEffectScript[]; +extern u8 DoSecretBaseShrubFieldEffectScript[]; const u8 gSpriteImage_83D198C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/0.4bpp"); const u8 gSpriteImage_83D1A0C[] = INCBIN_U8("graphics/unknown_sprites/83D259C/1.4bpp"); @@ -162,8 +163,8 @@ const struct SpriteFrameImage gSpriteImageTable_83D25EC[] = {gSpriteImage_83D1E4C, 0x80}, }; -void sub_80C644C(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_83D2614 = +static void CaveEntranceSpriteCallback1(struct Sprite *); +static const struct SpriteTemplate sCaveEntranceSpriteTemplate = { .tileTag = 0xFFFF, .paletteTag = 4099, @@ -171,11 +172,11 @@ const struct SpriteTemplate gSpriteTemplate_83D2614 = .anims = gSpriteAnimTable_83D2584, .images = gSpriteImageTable_83D259C, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80C644C, + .callback = CaveEntranceSpriteCallback1, }; -void sub_80C6598(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_83D262C = +static void TreeEntranceSpriteCallback1(struct Sprite *); +const struct SpriteTemplate sTreeEntranceSpriteTemplate = { .tileTag = 0xFFFF, .paletteTag = 4104, @@ -183,11 +184,11 @@ const struct SpriteTemplate gSpriteTemplate_83D262C = .anims = gSpriteAnimTable_83D2588, .images = gSpriteImageTable_83D25C4, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80C6598, + .callback = TreeEntranceSpriteCallback1, }; -void sub_80C66BC(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_83D2644 = +static void ShrubEntranceSpriteCallback1(struct Sprite *); +const struct SpriteTemplate sShrubEntranceSpriteTemplate = { .tileTag = 0xFFFF, .paletteTag = 4104, @@ -195,48 +196,48 @@ const struct SpriteTemplate gSpriteTemplate_83D2644 = .anims = gSpriteAnimTable_83D2598, .images = gSpriteImageTable_83D25EC, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80C66BC, + .callback = ShrubEntranceSpriteCallback1, }; const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003}; const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008}; -void sub_80C639C(void); -void sub_80C63E8(void); -void sub_80C6468(struct Sprite *); -void sub_80C6498(struct Sprite *); -void sub_80C64A8(void); -void sub_80C64F4(void); -void sub_80C65C4(struct Sprite *); -void sub_80C65FC(struct Sprite *); -void sub_80C660C(void); -void sub_80C6658(void); -void sub_80C66D8(struct Sprite *sprite); -void sub_80C6708(struct Sprite *sprite); - -void sub_80C6264(void) -{ - sub_80BBFD8(&gUnknown_0203923C, gMapHeader.events); - sub_80BB5E4(); +static void FieldCallback_SecretBaseCave(void); +static void StartSecretBaseCaveFieldEffect(void); +static void CaveEntranceSpriteCallback2(struct Sprite *); +static void CaveEntranceSpriteCallbackEnd(struct Sprite *); +static void FieldCallback_SecretBaseTree(void); +static void StartSecretBaseTreeFieldEffect(void); +static void TreeEntranceSpriteCallback2(struct Sprite *); +static void TreeEntranceSpriteCallbackEnd(struct Sprite *); +static void FieldCallback_SecretBaseShrub(void); +static void StartSecretBaseShrubFieldEffect(void); +static void ShrubEntranceSpriteCallback2(struct Sprite *sprite); +static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite); + +static void SetCurrentSecretBase(void) +{ + SetCurrentSecretBaseFromPosition(&gPlayerFacingPosition, gMapHeader.events); + SetCurrentSecretBaseVar(); } -void sub_80C6280(void) +static void AdjustSecretPowerSpritePixelOffsets(void) { switch (gFieldEffectArguments[1]) { - case 1: + case DIR_SOUTH: gFieldEffectArguments[5] = 8; gFieldEffectArguments[6] = 40; break; - case 2: + case DIR_NORTH: gFieldEffectArguments[5] = 8; gFieldEffectArguments[6] = 8; break; - case 3: + case DIR_WEST: gFieldEffectArguments[5] = -8; gFieldEffectArguments[6] = 24; break; - case 4: + case DIR_EAST: gFieldEffectArguments[5] = 24; gFieldEffectArguments[6] = 24; break; @@ -245,37 +246,37 @@ void sub_80C6280(void) #if DEBUG -void debug_sub_80D93F4(void) +void Debug_SetUpFieldMove_SecretPower(void) { u8 metatile; - sub_80BB63C(); + CheckPlayerHasSecretBase(); - if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != 2) + if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH) { ScriptContext2_Disable(); return; } - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); - metatile = MapGridGetMetatileBehaviorAt(gUnknown_0203923C.x, gUnknown_0203923C.y); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + metatile = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y); if (MetatileBehavior_IsSecretBaseCave(metatile) == TRUE) { - sub_80C6264(); + SetCurrentSecretBase(); gLastFieldPokeMenuOpened = 0; - sub_80C639C(); + FieldCallback_SecretBaseCave(); } else if (MetatileBehavior_IsSecretBaseTree(metatile) == TRUE) { - sub_80C6264(); + SetCurrentSecretBase(); gLastFieldPokeMenuOpened = 0; - sub_80C64A8(); + FieldCallback_SecretBaseTree(); } else if (MetatileBehavior_IsSecretBaseShrub(metatile) == TRUE) { - sub_80C6264(); + SetCurrentSecretBase(); gLastFieldPokeMenuOpened = 0; - sub_80C660C(); + FieldCallback_SecretBaseShrub(); } else { @@ -289,58 +290,57 @@ bool8 SetUpFieldMove_SecretPower(void) { u8 behavior; - sub_80BB63C(); - + CheckPlayerHasSecretBase(); if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH) return FALSE; - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); - behavior = MapGridGetMetatileBehaviorAt(gUnknown_0203923C.x, gUnknown_0203923C.y); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + behavior = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y); if (MetatileBehavior_IsSecretBaseCave(behavior) == TRUE) { - sub_80C6264(); - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80C639C; + SetCurrentSecretBase(); + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseCave; return TRUE; } if (MetatileBehavior_IsSecretBaseTree(behavior) == TRUE) { - sub_80C6264(); - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80C64A8; + SetCurrentSecretBase(); + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseTree; return TRUE; } if (MetatileBehavior_IsSecretBaseShrub(behavior) == TRUE) { - sub_80C6264(); - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_80C660C; + SetCurrentSecretBase(); + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_SecretBaseShrub; return TRUE; } return FALSE; } -void sub_80C639C(void) +static void FieldCallback_SecretBaseCave(void) { gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(gUnknown_081A2CE6); + ScriptContext1_SetupScript(DoSecretBaseCaveFieldEffectScript); } bool8 FldEff_UseSecretPowerCave(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (uintptr_t)sub_80C63E8 >> 16; - gTasks[taskId].data[9] = (uintptr_t)sub_80C63E8; + gTasks[taskId].data[8] = (uintptr_t)StartSecretBaseCaveFieldEffect >> 16; + gTasks[taskId].data[9] = (uintptr_t)StartSecretBaseCaveFieldEffect; return FALSE; } -void sub_80C63E8(void) +static void StartSecretBaseCaveFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_CAVE); FieldEffectStart(FLDEFF_SECRET_POWER_CAVE); @@ -348,60 +348,60 @@ void sub_80C63E8(void) bool8 FldEff_SecretPowerCave(void) { - sub_80C6280(); + AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &gSpriteTemplate_83D2614, + &sCaveEntranceSpriteTemplate, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); return FALSE; } -void sub_80C644C(struct Sprite *sprite) +static void CaveEntranceSpriteCallback1(struct Sprite *sprite) { PlaySE(SE_W088); sprite->data[0] = 0; - sprite->callback = sub_80C6468; + sprite->callback = CaveEntranceSpriteCallback2; } -void sub_80C6468(struct Sprite *sprite) +static void CaveEntranceSpriteCallback2(struct Sprite *sprite) { if (sprite->data[0] < 40) { sprite->data[0]++; - if (sprite->data[0] == 20 ) - sub_80BB800(); + if (sprite->data[0] == 20) + SetOpenedSecretBaseMetatile(); } else { sprite->data[0] = 0; - sprite->callback = sub_80C6498; + sprite->callback = CaveEntranceSpriteCallbackEnd; } } -void sub_80C6498(struct Sprite *sprite) +static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_CAVE); EnableBothScriptContexts(); } -void sub_80C64A8(void) +static void FieldCallback_SecretBaseTree(void) { gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(gUnknown_081A2D3E); + ScriptContext1_SetupScript(DoSecretBaseTreeFieldEffectScript); } bool8 FldEff_UseSecretPowerTree(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (uintptr_t)sub_80C64F4 >> 16; - gTasks[taskId].data[9] = (uintptr_t)sub_80C64F4; + gTasks[taskId].data[8] = (uintptr_t)StartSecretBaseTreeFieldEffect >> 16; + gTasks[taskId].data[9] = (uintptr_t)StartSecretBaseTreeFieldEffect; return FALSE; } -void sub_80C64F4(void) +static void StartSecretBaseTreeFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_TREE); FieldEffectStart(FLDEFF_SECRET_POWER_TREE); @@ -409,77 +409,72 @@ void sub_80C64F4(void) bool8 FldEff_SecretPowerTree(void) { - s16 behavior = MapGridGetMetatileBehaviorAt(gUnknown_0203923C.x, gUnknown_0203923C.y) & 0xFFF; + s16 behavior = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y) & 0xFFF; if (behavior == MB_SECRET_BASE_SPOT_TREE_1) - { gFieldEffectArguments[7] = 0; - } if (behavior == MB_SECRET_BASE_SPOT_TREE_2) - { gFieldEffectArguments[7] = 2; - } - - sub_80C6280(); + AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &gSpriteTemplate_83D262C, + &sTreeEntranceSpriteTemplate, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3) - sub_80BB800(); + SetOpenedSecretBaseMetatile(); return FALSE; } -void sub_80C6598(struct Sprite *sprite) +static void TreeEntranceSpriteCallback1(struct Sprite *sprite) { PlaySE(SE_W010); sprite->animNum = gFieldEffectArguments[7]; sprite->data[0] = 0; - sprite->callback = sub_80C65C4; + sprite->callback = TreeEntranceSpriteCallback2; } -void sub_80C65C4(struct Sprite *sprite) +static void TreeEntranceSpriteCallback2(struct Sprite *sprite) { sprite->data[0]++; if (sprite->data[0] >= 40) { if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2) - sub_80BB800(); + SetOpenedSecretBaseMetatile(); + sprite->data[0] = 0; - sprite->callback = sub_80C65FC; + sprite->callback = TreeEntranceSpriteCallbackEnd; } } - -void sub_80C65FC(struct Sprite *sprite) +static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_TREE); EnableBothScriptContexts(); } -void sub_80C660C(void) +static void FieldCallback_SecretBaseShrub(void) { gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(gUnknown_081A2D96); + ScriptContext1_SetupScript(DoSecretBaseShrubFieldEffectScript); } bool8 FldEff_UseSecretPowerShrub(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (uintptr_t)sub_80C6658 >> 16; - gTasks[taskId].data[9] = (uintptr_t)sub_80C6658; + gTasks[taskId].data[8] = (uintptr_t)StartSecretBaseShrubFieldEffect >> 16; + gTasks[taskId].data[9] = (uintptr_t)StartSecretBaseShrubFieldEffect; return FALSE; } -void sub_80C6658(void) +static void StartSecretBaseShrubFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_SHRUB); FieldEffectStart(FLDEFF_SECRET_POWER_SHRUB); @@ -487,39 +482,38 @@ void sub_80C6658(void) bool8 FldEff_SecretPowerShrub(void) { - sub_80C6280(); + AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &gSpriteTemplate_83D2644, + &sShrubEntranceSpriteTemplate, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); return FALSE; } -void sub_80C66BC(struct Sprite *sprite) +static void ShrubEntranceSpriteCallback1(struct Sprite *sprite) { PlaySE(SE_W077); sprite->data[0] = 0; - sprite->callback = sub_80C66D8; + sprite->callback = ShrubEntranceSpriteCallback2; } -void sub_80C66D8(struct Sprite *sprite) +static void ShrubEntranceSpriteCallback2(struct Sprite *sprite) { if (sprite->data[0] < 40) { sprite->data[0]++; - if (sprite->data[0] == 20 ) - sub_80BB800(); + if (sprite->data[0] == 20) + SetOpenedSecretBaseMetatile(); } else { sprite->data[0] = 0; - sprite->callback = sub_80C6708; + sprite->callback = ShrubEntranceSpriteCallbackEnd; } } - -void sub_80C6708(struct Sprite *sprite) +static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite) { FieldEffectStop(sprite, FLDEFF_SECRET_POWER_SHRUB); EnableBothScriptContexts(); diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 9f9cd4013..b41f369bb 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -1,5 +1,4 @@ #include "global.h" -#include "constants/map_objects.h" #include "braille_puzzles.h" #include "field_effect.h" #include "party_menu.h" @@ -9,6 +8,8 @@ #include "script.h" #include "task.h" #include "text.h" +#include "constants/field_effects.h" +#include "constants/map_objects.h" static void sub_811AA18(void); static void sub_811AA38(void); @@ -17,7 +18,7 @@ static void sub_811AA9C(void); extern u8 gLastFieldPokeMenuOpened; extern u16 gSpecialVar_Result; extern void (*gFieldCallback)(void); -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 S_UseStrength[]; @@ -48,16 +49,16 @@ bool8 SetUpFieldMove_Strength(void) if (ShouldDoBrailleStrengthEffect()) { gSpecialVar_Result = gLastFieldPokeMenuOpened; - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_811AA38; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_811AA38; } else { if (npc_before_player_of_type(87) != TRUE) return 0; gSpecialVar_Result = gLastFieldPokeMenuOpened; - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_811AA18; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_811AA18; } return TRUE; diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index b9dbf619d..f850f5b0c 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -9,6 +9,7 @@ #include "sprite.h" #include "task.h" #include "wild_encounter.h" +#include "constants/field_effects.h" static void sub_812BFD4(void); static void sub_812C01C(void); @@ -17,14 +18,14 @@ static void sub_812C118(u8); extern u8 gLastFieldPokeMenuOpened; extern void (*gFieldCallback)(void); -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 SweetScentNothingHereScript[]; bool8 SetUpFieldMove_SweetScent(void) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_812BFD4; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_812BFD4; return TRUE; } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index af48fb414..f27fa86fa 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -6,17 +6,18 @@ #include "overworld.h" #include "rom6.h" #include "task.h" +#include "constants/field_effects.h" extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); bool8 SetUpFieldMove_Teleport(void) { if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = hm_teleport_run_dp02scr; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm_teleport_run_dp02scr; return TRUE; } diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c index 60757b7d4..46909435a 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon_menu.c @@ -6,13 +6,11 @@ #include "palette.h" #include "menu.h" #include "mail_data.h" -#include "constants/songs.h" #include "sound.h" #include "main.h" #include "overworld.h" #include "menu_helpers.h" #include "pokemon_summary_screen.h" -#include "constants/moves.h" #include "data2.h" #include "strings.h" #include "item_use.h" @@ -32,6 +30,9 @@ #include "player_pc.h" #include "ewram.h" #include "script.h" +#include "constants/field_effects.h" +#include "constants/moves.h" +#include "constants/songs.h" /* Pokemon menu: @@ -84,7 +85,7 @@ static void sub_808A848(u8 taskID); static void sub_808AAF0(u8 taskID); static void sub_808ABF4(u8 taskID); static void sub_808AB34(u8 taskID); -static void sub_808ABA8(u8 taskID); +static void FieldCallback_AfterFadeInFromMenu(u8 taskID); static void sub_808B224(u8 taskID); static void sub_808B2EC(u8 taskID); static void sub_808B2B4(u8 taskID); @@ -118,7 +119,7 @@ EWRAM_DATA static u8 sPokeMenuOptionsOrder[8] = {0}; // 4 possible field moves a // iwram common u8 gLastFieldPokeMenuOpened; -void (*gUnknown_03005CE4)(void); +void (*gPostMenuFieldCallback)(void); // const data @@ -780,18 +781,18 @@ static void sub_808AB34(u8 taskID) #undef tFieldMoveId -void FieldCallback_Teleport(void) +void FieldCallback_PrepareFadeInFromMenu(void) { pal_fill_black(); - CreateTask(sub_808ABA8, 8); + CreateTask(FieldCallback_AfterFadeInFromMenu, 8); } -static void sub_808ABA8(u8 taskID) +static void FieldCallback_AfterFadeInFromMenu(u8 taskID) { if (IsWeatherNotFadingIn() == TRUE) { gFieldEffectArguments[0] = GetMonData(&gPlayerParty[gLastFieldPokeMenuOpened], MON_DATA_SPECIES); - gUnknown_03005CE4(); + gPostMenuFieldCallback(); DestroyTask(taskID); } } @@ -815,8 +816,8 @@ static bool8 SetUpFieldMove_Surf(void) { if (PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808AC2C; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808AC2C; return TRUE; } else @@ -833,14 +834,14 @@ static bool8 SetUpFieldMove_Fly(void) { if (ShouldDoBrailleFlyEffect()) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = DoBrailleFlyEffect; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = DoBrailleFlyEffect; return TRUE; } if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808AC8C; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808AC8C; return TRUE; } return FALSE; @@ -885,8 +886,8 @@ static bool8 SetUpFieldMove_Dive(void) gFieldEffectArguments[1] = sub_8068F18(); if (gFieldEffectArguments[1]) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808ADAC; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808ADAC; return TRUE; } else @@ -907,8 +908,8 @@ static bool8 SetUpFieldMove_Waterfall(void) if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE && IsPlayerSurfingNorth() == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_808AE08; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_808AE08; return TRUE; } else diff --git a/src/rom6.c b/src/rom6.c index ffd01fdb9..e7b84e42c 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -13,14 +13,15 @@ #include "sound.h" #include "sprite.h" #include "task.h" +#include "constants/field_effects.h" extern u16 gSpecialVar_LastTalked; extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; -extern void (*gUnknown_03005CE4)(void); +extern void (*gPostMenuFieldCallback)(void); extern u8 S_UseRockSmash[]; -EWRAM_DATA struct MapPosition gUnknown_0203923C = {0}; +EWRAM_DATA struct MapPosition gPlayerFacingPosition = {0}; static void task08_080C9820(u8); static void sub_810B3DC(u8); @@ -35,9 +36,9 @@ bool8 npc_before_player_of_type(u8 a) { u8 mapObjId; - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); - gUnknown_0203923C.height = PlayerGetZCoord(); - mapObjId = GetFieldObjectIdByXYZ(gUnknown_0203923C.x, gUnknown_0203923C.y, gUnknown_0203923C.height); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + gPlayerFacingPosition.height = PlayerGetZCoord(); + mapObjId = GetFieldObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); if (gMapObjects[mapObjId].graphicsId != a) { return FALSE; @@ -51,7 +52,7 @@ bool8 npc_before_player_of_type(u8 a) u8 oei_task_add(void) { - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203923C.x, &gUnknown_0203923C.y); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); return CreateTask(task08_080C9820, 8); } @@ -136,8 +137,8 @@ bool8 SetUpFieldMove_RockSmash(void) { if (npc_before_player_of_type(0x56) == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_810B53C; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_810B53C; return TRUE; } else @@ -173,8 +174,8 @@ int SetUpFieldMove_Dig(void) { if (CanUseEscapeRopeOnCurrMap() == TRUE) { - gFieldCallback = FieldCallback_Teleport; - gUnknown_03005CE4 = sub_810B5D8; + gFieldCallback = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_810B5D8; return TRUE; } else diff --git a/src/secret_base.c b/src/secret_base.c index 3c4028dca..cf66db03b 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -52,7 +52,7 @@ static void Task_SecretBasePC_Registry(u8 taskId); extern u8 gUnknown_0815F399[]; extern u8 gUnknown_0815F49A[]; -EWRAM_DATA u8 gUnknown_020387DC = 0; +EWRAM_DATA u8 gCurrentSecretBaseId = 0; const struct { @@ -172,17 +172,17 @@ void ResetSecretBases(void) void sub_80BB5D0(void) { - gUnknown_020387DC = gSpecialVar_0x8004; + gCurrentSecretBaseId = gSpecialVar_0x8004; } -void sub_80BB5E4(void) +void SetCurrentSecretBaseVar(void) { u16 i; gSpecialVar_Result = 0; for (i = 0; i < MAX_SECRET_BASES; i++) { - if (gUnknown_020387DC == gSaveBlock1.secretBases[i].secretBaseId) + if (gCurrentSecretBaseId == gSaveBlock1.secretBases[i].secretBaseId) { gSpecialVar_Result = 1; VarSet(VAR_CURRENT_SECRET_BASE, i); @@ -191,7 +191,7 @@ void sub_80BB5E4(void) } } -void sub_80BB63C(void) +void CheckPlayerHasSecretBase(void) { if (gSaveBlock1.secretBases[0].secretBaseId) gSpecialVar_Result = 1; @@ -255,7 +255,7 @@ void sub_80BB764(s16 *arg1, s16 *arg2, u16 arg3) } } -void sub_80BB800(void) +void SetOpenedSecretBaseMetatile(void) { s16 x, y; s16 tile_id; @@ -300,7 +300,7 @@ void sub_80BB8CC(void) u8 nameLength; u16 idx; - gSaveBlock1.secretBases[0].secretBaseId = gUnknown_020387DC; + gSaveBlock1.secretBases[0].secretBaseId = gCurrentSecretBaseId; for (idx=0; idx<4; idx++) gSaveBlock1.secretBases[0].trainerId[idx] = gSaveBlock2.playerTrainerId[idx]; VarSet(VAR_CURRENT_SECRET_BASE, 0); @@ -342,7 +342,7 @@ void sub_80BB970(struct MapEvents *events) void sub_80BBA14(void) { - s8 idx = 4 * (gUnknown_020387DC / 10); + s8 idx = 4 * (gCurrentSecretBaseId / 10); warp1_set_2(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_083D1374[idx], gUnknown_083D1374[idx + 1]); } @@ -414,7 +414,7 @@ void sub_80BBBEC(u8 taskid) if (!gPaletteFade.active) { - idx = 4 * (gUnknown_020387DC / 10); + idx = 4 * (gCurrentSecretBaseId / 10); Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]); warp_in(); gFieldCallback = sub_80BBB90; @@ -533,16 +533,16 @@ void sub_80BBFA4(void) VarSet(VAR_OBJ_GFX_ID_F, gUnknown_083D13EC[sub_80BCCA4(curBase)]); } -void sub_80BBFD8(struct MapPosition *position, struct MapEvents *events) +void SetCurrentSecretBaseFromPosition(struct MapPosition *position, struct MapEvents *events) { - s16 bgevtidx; + s16 i; - for (bgevtidx = 0; bgevtidx < events->bgEventCount; bgevtidx++) + for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[bgevtidx].kind == 8 && position->x == events->bgEvents[bgevtidx].x + 7 - && position->y == events->bgEvents[bgevtidx].y + 7) + if (events->bgEvents[i].kind == 8 && position->x == events->bgEvents[i].x + 7 + && position->y == events->bgEvents[i].y + 7) { - gUnknown_020387DC = events->bgEvents[bgevtidx].bgUnion.secretBaseId; + gCurrentSecretBaseId = events->bgEvents[i].bgUnion.secretBaseId; break; } } @@ -550,15 +550,15 @@ void sub_80BBFD8(struct MapPosition *position, struct MapEvents *events) void sub_80BC038(struct MapPosition *position, struct MapEvents *events) { - sub_80BBFD8(position, events); - sub_80BB5E4(); + SetCurrentSecretBaseFromPosition(position, events); + SetCurrentSecretBaseVar(); ScriptContext1_SetupScript(gUnknown_081A2E14); } bool8 sub_80BC050(void) { sub_80BB5D0(); - sub_80BB5E4(); + SetCurrentSecretBaseVar(); if (gSpecialVar_Result == 1) return FALSE; return TRUE; @@ -595,7 +595,7 @@ void sub_80BC0F8(void) void sub_80BC114(void) { - if (gSaveBlock1.secretBases[0].secretBaseId != gUnknown_020387DC) + if (gSaveBlock1.secretBases[0].secretBaseId != gCurrentSecretBaseId) gSpecialVar_Result = 1; else gSpecialVar_Result = 0; @@ -632,7 +632,7 @@ u8 *sub_80BC190(u8 *dest, u8 arg1) u8 *GetSecretBaseMapName(u8 *dest) { - gUnknown_020387DC = gSaveBlock1.secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].secretBaseId; + gCurrentSecretBaseId = gSaveBlock1.secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].secretBaseId; return sub_80BC190(dest, VarGet(VAR_CURRENT_SECRET_BASE)); } @@ -922,7 +922,7 @@ u8 sub_80BC538(void) void sub_80BC56C(void) { - if (sub_80BC268(sub_80BC14C(gUnknown_020387DC)) == TRUE) + if (sub_80BC268(sub_80BC14C(gCurrentSecretBaseId)) == TRUE) gSpecialVar_Result = 1; else if (sub_80BC538() > 9) gSpecialVar_Result = 2; @@ -932,7 +932,7 @@ void sub_80BC56C(void) void sub_80BC5BC(void) { - gSaveBlock1.secretBases[sub_80BC14C(gUnknown_020387DC)].sbr_field_1_6 ^= 1; + gSaveBlock1.secretBases[sub_80BC14C(gCurrentSecretBaseId)].sbr_field_1_6 ^= 1; FlagSet(FLAG_DECORATION_16); } diff --git a/src/trainer_see.c b/src/trainer_see.c index 2913a0a5a..f79d6b9e4 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -8,6 +8,7 @@ #include "sprite.h" #include "task.h" #include "util.h" +#include "constants/field_effects.h" static bool8 CheckTrainer(u8); static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3); -- cgit v1.2.3 From d96e37aa67e8eee13dab6db60f8e742e3eaff8d7 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 10 Apr 2018 13:59:55 -0700 Subject: Document/cleanup fldeff_cut.c --- src/debug/start_menu_debug.c | 7 +-- src/fldeff_cut.c | 114 ++++++++++++++++++++++++------------------- src/fldeff_secretpower.c | 12 ++--- src/fldeff_strength.c | 4 +- src/rom6.c | 8 +-- 5 files changed, 81 insertions(+), 64 deletions(-) (limited to 'src') diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index 019bac3f4..b16b15a0a 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -34,12 +34,10 @@ #include "wild_encounter.h" #include "battle_setup.h" #include "safari_zone.h" -#include "fldeff_cut.h" #include "fldeff_flash.h" #include "rom6.h" #include "fldeff_strength.h" #include "pokemon_menu.h" -#include "fldeff_secretpower.h" #include "data2.h" #include "item.h" #include "reset_rtc_screen.h" @@ -49,6 +47,9 @@ #include "gba/m4a_internal.h" #include "berry_blender.h" +extern void Debug_SetUpFieldMove_Cut(void); +extern void Debug_SetUpFieldMove_SecretPower(void); + void debug_sub_8076BB4(u8); void debug_sub_8077CF4(u8 x, u8 y); u8 DebugMenu_807706C(void); @@ -1305,7 +1306,7 @@ u8 DebugMenu_Safari(void) bool8 DebugMenu_8077BB4(void) { - debug_sub_80AFEE4(); + Debug_SetUpFieldMove_Cut(); return TRUE; } diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 6dd643541..bea376645 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -1,5 +1,4 @@ #include "global.h" -#include "fldeff_cut.h" #include "field_camera.h" #include "field_effect.h" #include "event_object_movement.h" @@ -18,13 +17,14 @@ #include "trig.h" #include "ewram.h" #include "constants/field_effects.h" +#include "constants/map_objects.h" #include "constants/songs.h" extern void (*gFieldCallback)(void); extern void (*gPostMenuFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; -extern const u8 S_UseCut[]; +extern const u8 DoCutFieldEffectScript[]; const struct OamData gOamData_CutGrass = { @@ -61,7 +61,17 @@ const struct SpriteFrameImage gSpriteImageTable_CutGrass[] = const struct SpritePalette gFieldEffectObjectPaletteInfo6 = {gFieldEffectObjectPalette6, 0x1000}; -static void sub_80A2A48(struct Sprite *); +static void FieldCallback_CutTree(void); +static void FieldCallback_CutGrass(void); +static void StartCutTreeFieldEffect(void); +static void StartCutGrassFieldEffect(void); +static void SetCutGrassMetatile(s16, s16); +static void SetCutGrassMetatiles(s16, s16); +static void CutGrassSpriteCallback1(struct Sprite *); +static void CutGrassSpriteCallback2(struct Sprite *); +static void CutGrassSpriteCallbackEnd(struct Sprite *); + + static const struct SpriteTemplate gSpriteTemplate_CutGrass = { .tileTag = 0xFFFF, @@ -70,21 +80,21 @@ static const struct SpriteTemplate gSpriteTemplate_CutGrass = .anims = gSpriteAnimTable_CutGrass, .images = gSpriteImageTable_CutGrass, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80A2A48, + .callback = CutGrassSpriteCallback1, }; #if DEBUG -void debug_sub_80AFEE4(void) +void Debug_SetUpFieldMove_Cut(void) { s16 x, y; u8 i, j; u8 metatile; - if (npc_before_player_of_type(0x52) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_CUTTABLE_TREE) == TRUE) { gLastFieldPokeMenuOpened = 0; - sub_80A2634(); + FieldCallback_CutTree(); return; } @@ -102,12 +112,13 @@ void debug_sub_80AFEE4(void) || MetatileBehavior_IsAshGrass(metatile) == TRUE) { gLastFieldPokeMenuOpened = 0; - sub_80A25E8(); + FieldCallback_CutGrass(); return; } } } } + ScriptContext2_Disable(); } @@ -119,19 +130,20 @@ bool8 SetUpFieldMove_Cut(void) u8 i, j; u8 tileBehavior; - if(npc_before_player_of_type(0x52) == TRUE) // is in front of tree? + if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_CUTTABLE_TREE) == TRUE) { + // Standing in front of cuttable tree. gFieldCallback = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = sub_80A2634; + gPostMenuFieldCallback = FieldCallback_CutTree; return TRUE; } - else // is in ash or grass to cut? + else { PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); - for(i = 0; i < 3; i++) + for (i = 0; i < 3; i++) { y = i - 1 + gPlayerFacingPosition.y; - for(j = 0; j < 3; j++) + for (j = 0; j < 3; j++) { x = j - 1 + gPlayerFacingPosition.x; if(MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) @@ -140,18 +152,21 @@ bool8 SetUpFieldMove_Cut(void) if(MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE || MetatileBehavior_IsAshGrass(tileBehavior) == TRUE) { + // Standing in front of grass. gFieldCallback = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = sub_80A25E8; + gPostMenuFieldCallback = FieldCallback_CutGrass; return TRUE; } } } } - return FALSE; // do not use cut + + // Not a valid location to use Cut. + return FALSE; } } -void sub_80A25E8(void) +static void FieldCallback_CutGrass(void) { FieldEffectStart(FLDEFF_USE_CUT_ON_GRASS); gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; @@ -161,29 +176,29 @@ bool8 FldEff_UseCutOnGrass(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (u32)sub_80A2684 >> 16; - gTasks[taskId].data[9] = (u32)sub_80A2684; + gTasks[taskId].data[8] = (u32)StartCutGrassFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartCutGrassFieldEffect; IncrementGameStat(GAME_STAT_USED_CUT); return FALSE; } -void sub_80A2634(void) +static void FieldCallback_CutTree(void) { gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; - ScriptContext1_SetupScript(S_UseCut); + ScriptContext1_SetupScript(DoCutFieldEffectScript); } bool8 FldEff_UseCutOnTree(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (u32)sub_80A2B00 >> 16; - gTasks[taskId].data[9] = (u32)sub_80A2B00; + gTasks[taskId].data[8] = (u32)StartCutTreeFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartCutTreeFieldEffect; IncrementGameStat(GAME_STAT_USED_CUT); return FALSE; } -void sub_80A2684(void) +static void StartCutGrassFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_GRASS); FieldEffectStart(FLDEFF_CUT_GRASS); @@ -193,41 +208,42 @@ bool8 FldEff_CutGrass(void) { s16 x, y; u8 tileBehavior; - u8 i, j; // not in for loop? + u8 i, j; - for(i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < 3; i++) + for (i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < 3; i++) { y = i - 1 + gPlayerFacingPosition.y; - for(j = 0; j < 3; j++) + for (j = 0; j < 3; j++) { x = j - 1 + gPlayerFacingPosition.x; - if(MapGridGetZCoordAt(x, y) == (s8)gPlayerFacingPosition.height) + if (MapGridGetZCoordAt(x, y) == (s8)gPlayerFacingPosition.height) { tileBehavior = MapGridGetMetatileBehaviorAt(x, y); - if(MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) + if (MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) { - sub_80A27A8(x, y); + SetCutGrassMetatile(x, y); sub_805BCC0(x, y); } } } } - sub_80A28F4(gPlayerFacingPosition.x - 1, gPlayerFacingPosition.y - 2); + + SetCutGrassMetatiles(gPlayerFacingPosition.x - 1, gPlayerFacingPosition.y - 2); DrawWholeMapView(); // populate sprite ID array - for(i = 0; i < 8; i++) + for (i = 0; i < 8; i++) { eCutGrassSpriteArray[i] = CreateSprite((struct SpriteTemplate *)&gSpriteTemplate_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); gSprites[eCutGrassSpriteArray[i]].data[2] = 32 * i; } + return 0; } // set map grid metatile depending on x, y -// TODO: enum for metatile IDs -void sub_80A27A8(s16 x, s16 y) +static void SetCutGrassMetatile(s16 x, s16 y) { int metatileId = MapGridGetMetatileIdAt(x, y); @@ -267,7 +283,7 @@ void sub_80A27A8(s16 x, s16 y) } } -s32 sub_80A28A0(s16 x, s16 y) +static s32 sub_80A28A0(s16 x, s16 y) { u16 metatileId = MapGridGetMetatileIdAt(x, y); @@ -283,18 +299,18 @@ s32 sub_80A28A0(s16 x, s16 y) return 0; } -void sub_80A28F4(s16 x, s16 y) +static void SetCutGrassMetatiles(s16 x, s16 y) { s16 i; u16 lowerY = y + 3; - for(i = 0; i < 3; i++) + for (i = 0; i < 3; i++) { u16 currentX = x + i; s16 currentXsigned = x + i; - if(MapGridGetMetatileIdAt(currentXsigned, y) == 21) + if (MapGridGetMetatileIdAt(currentXsigned, y) == 21) { - switch((u8)sub_80A28A0(currentXsigned, y + 1)) + switch ((u8)sub_80A28A0(currentXsigned, y + 1)) { case 1: MapGridSetMetatileIdAt(currentXsigned, y + 1, 0x208); @@ -310,29 +326,29 @@ void sub_80A28F4(s16 x, s16 y) break; } } - if(MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY) == 1) + if (MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY) == 1) { - if(MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x208) + if (MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x208) MapGridSetMetatileIdAt((s16)currentX, (s16)lowerY + 1, 0x1); - if(MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x281) + if (MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x281) MapGridSetMetatileIdAt((s16)currentX, (s16)lowerY + 1, 0x279); - if(MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x282) + if (MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x282) MapGridSetMetatileIdAt((s16)currentX, (s16)lowerY + 1, 0x27A); - if(MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x283) + if (MapGridGetMetatileIdAt((s16)currentX, (s16)lowerY + 1) == 0x283) MapGridSetMetatileIdAt((s16)currentX, (s16)lowerY + 1, 0x27B); } } } -static void sub_80A2A48(struct Sprite *sprite) +static void CutGrassSpriteCallback1(struct Sprite *sprite) { sprite->data[0] = 8; sprite->data[1] = 0; sprite->data[3] = 0; - sprite->callback = (void *)objc_8097BBC; + sprite->callback = CutGrassSpriteCallback2; } -void objc_8097BBC(struct Sprite *sprite) +static void CutGrassSpriteCallback2(struct Sprite *sprite) { u16 tempdata; u16 tempdata2; @@ -348,10 +364,10 @@ void objc_8097BBC(struct Sprite *sprite) if((s16)tempdata != 28) // done rotating the grass, execute clean up function sprite->data[1]++; else - sprite->callback = (void *)sub_80A2AB8; + sprite->callback = CutGrassSpriteCallbackEnd; } -void sub_80A2AB8(void) +static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) { u8 i; @@ -362,7 +378,7 @@ void sub_80A2AB8(void) ScriptContext2_Disable(); } -void sub_80A2B00(void) +static void StartCutTreeFieldEffect(void) { PlaySE(SE_W015); FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_TREE); diff --git a/src/fldeff_secretpower.c b/src/fldeff_secretpower.c index c9fbc7b84..e58a1e82f 100644 --- a/src/fldeff_secretpower.c +++ b/src/fldeff_secretpower.c @@ -164,7 +164,7 @@ const struct SpriteFrameImage gSpriteImageTable_83D25EC[] = }; static void CaveEntranceSpriteCallback1(struct Sprite *); -static const struct SpriteTemplate sCaveEntranceSpriteTemplate = +static const struct SpriteTemplate sSpriteTemplate_CaveEntrance = { .tileTag = 0xFFFF, .paletteTag = 4099, @@ -176,7 +176,7 @@ static const struct SpriteTemplate sCaveEntranceSpriteTemplate = }; static void TreeEntranceSpriteCallback1(struct Sprite *); -const struct SpriteTemplate sTreeEntranceSpriteTemplate = +const struct SpriteTemplate sSpriteTemplate_TreeEntrance = { .tileTag = 0xFFFF, .paletteTag = 4104, @@ -188,7 +188,7 @@ const struct SpriteTemplate sTreeEntranceSpriteTemplate = }; static void ShrubEntranceSpriteCallback1(struct Sprite *); -const struct SpriteTemplate sShrubEntranceSpriteTemplate = +const struct SpriteTemplate sSpriteTemplate_ShrubEntrance = { .tileTag = 0xFFFF, .paletteTag = 4104, @@ -350,7 +350,7 @@ bool8 FldEff_SecretPowerCave(void) { AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &sCaveEntranceSpriteTemplate, + &sSpriteTemplate_CaveEntrance, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); @@ -419,7 +419,7 @@ bool8 FldEff_SecretPowerTree(void) AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &sTreeEntranceSpriteTemplate, + &sSpriteTemplate_TreeEntrance, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); @@ -484,7 +484,7 @@ bool8 FldEff_SecretPowerShrub(void) { AdjustSecretPowerSpritePixelOffsets(); CreateSprite( - &sShrubEntranceSpriteTemplate, + &sSpriteTemplate_ShrubEntrance, gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5], gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6], 148); diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index b41f369bb..9f1f3a670 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -31,7 +31,7 @@ void debug_sub_8130318(void) gSpecialVar_Result = 0; sub_811AA38(); } - else if (npc_before_player_of_type(MAP_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) + else if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) { gLastFieldPokeMenuOpened = 0; gSpecialVar_Result = 0; @@ -54,7 +54,7 @@ bool8 SetUpFieldMove_Strength(void) } else { - if (npc_before_player_of_type(87) != TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_PUSHABLE_BOULDER) != TRUE) return 0; gSpecialVar_Result = gLastFieldPokeMenuOpened; gFieldCallback = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/rom6.c b/src/rom6.c index e7b84e42c..30eb62c16 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -32,14 +32,14 @@ static void sub_810B58C(void); static void sub_810B5D8(void); static void sub_810B634(void); -bool8 npc_before_player_of_type(u8 a) +bool8 SetLastTalkedObjectInFrontOfPlayer(u8 graphicsId) { u8 mapObjId; GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); gPlayerFacingPosition.height = PlayerGetZCoord(); mapObjId = GetFieldObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); - if (gMapObjects[mapObjId].graphicsId != a) + if (gMapObjects[mapObjId].graphicsId != graphicsId) { return FALSE; } @@ -121,7 +121,7 @@ static void sub_810B4CC(u8 taskId) #if DEBUG void debug_sub_8120968(void) { - if (npc_before_player_of_type(MAP_OBJ_GFX_BREAKABLE_ROCK) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_BREAKABLE_ROCK) == TRUE) { gLastFieldPokeMenuOpened = 0; sub_810B53C(); @@ -135,7 +135,7 @@ void debug_sub_8120968(void) bool8 SetUpFieldMove_RockSmash(void) { - if (npc_before_player_of_type(0x56) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_BREAKABLE_ROCK) == TRUE) { gFieldCallback = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_810B53C; -- cgit v1.2.3 From 8a8ea01c10263c25cfd84780af43abcb5e3f4efc Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 10 Apr 2018 15:01:08 -0700 Subject: Document fldeff_sweetscent.c --- src/fldeff_sweetscent.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index f850f5b0c..c6e3211b8 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -10,11 +10,12 @@ #include "task.h" #include "wild_encounter.h" #include "constants/field_effects.h" +#include "constants/songs.h" -static void sub_812BFD4(void); -static void sub_812C01C(void); -static void sub_812C084(u8); -static void sub_812C118(u8); +static void FieldCallback_SweetScent(void); +static void StartSweetScentFieldEffect(void); +static void TrySweetScentEncounter(u8); +static void FailSweetScentEncounter(u8); extern u8 gLastFieldPokeMenuOpened; extern void (*gFieldCallback)(void); @@ -25,11 +26,11 @@ extern u8 SweetScentNothingHereScript[]; bool8 SetUpFieldMove_SweetScent(void) { gFieldCallback = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = sub_812BFD4; + gPostMenuFieldCallback = FieldCallback_SweetScent; return TRUE; } -static void sub_812BFD4(void) +static void FieldCallback_SweetScent(void) { FieldEffectStart(FLDEFF_SWEET_SCENT); gFieldEffectArguments[0] = gLastFieldPokeMenuOpened; @@ -39,23 +40,23 @@ bool8 FldEff_SweetScent() { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (u32)sub_812C01C >> 16; - gTasks[taskId].data[9] = (u32)sub_812C01C; + gTasks[taskId].data[8] = (u32)StartSweetScentFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartSweetScentFieldEffect; return FALSE; } -static void sub_812C01C(void) +static void StartSweetScentFieldEffect(void) { u8 taskId; - PlaySE(0xEC); + PlaySE(SE_W230); BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, 0x1F); - taskId = CreateTask(sub_812C084, 0); + taskId = CreateTask(TrySweetScentEncounter, 0); gTasks[taskId].data[0] = 0; FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT); } -static void sub_812C084(u8 taskId) +static void TrySweetScentEncounter(u8 taskId) { if (!gPaletteFade.active) { @@ -68,7 +69,7 @@ static void sub_812C084(u8 taskId) } else { - gTasks[taskId].func = sub_812C118; + gTasks[taskId].func = FailSweetScentEncounter; BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, 0x1F); } } @@ -79,7 +80,7 @@ static void sub_812C084(u8 taskId) } } -static void sub_812C118(u8 taskId) +static void FailSweetScentEncounter(u8 taskId) { if (!gPaletteFade.active) { -- cgit v1.2.3 From 408252d1ce2ebc4994b2d1b07fe6be2746b73e7b Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 10 Apr 2018 15:26:46 -0700 Subject: Document fldeff_teleport.c --- src/field_effect.c | 48 ++++++++++++++++++++++++++---------------------- src/fldeff_teleport.c | 19 +++++++++++-------- src/rom6.c | 2 +- 3 files changed, 38 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/field_effect.c b/src/field_effect.c index be67818b3..876df601c 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2081,27 +2081,31 @@ void sub_8087AC8(struct Task *task) mapObject->mapobj_bit_13 ^= 1; } -void sub_8087BBC(u8); -void mapldr_08085D88(void); +static void ExecuteTeleportFieldEffectTask(u8); +static void TeleportFieldEffectTask1(struct Task*); +static void TeleportFieldEffectTask2(struct Task*); +static void TeleportFieldEffectTask3(struct Task*); +static void TeleportFieldEffectTask4(struct Task*); +static void mapldr_08085D88(void); -void sub_8087BA8(void) +void CreateTeleportFieldEffectTask(void) { - CreateTask(sub_8087BBC, 0); + CreateTask(ExecuteTeleportFieldEffectTask, 0); } -void (*const gUnknown_0839F390[])(struct Task *) = { - sub_8087BEC, - sub_8087C14, - sub_8087CA4, - sub_8087D78 +static void (*const sTeleportFieldEffectTasks[])(struct Task *) = { + TeleportFieldEffectTask1, + TeleportFieldEffectTask2, + TeleportFieldEffectTask3, + TeleportFieldEffectTask4 }; -void sub_8087BBC(u8 taskId) +static void ExecuteTeleportFieldEffectTask(u8 taskId) { - gUnknown_0839F390[gTasks[taskId].data[0]](&gTasks[taskId]); + sTeleportFieldEffectTasks[gTasks[taskId].data[0]](&gTasks[taskId]); } -void sub_8087BEC(struct Task *task) +static void TeleportFieldEffectTask1(struct Task *task) { ScriptContext2_Enable(); FreezeMapObjects(); @@ -2110,13 +2114,13 @@ void sub_8087BEC(struct Task *task) task->data[0]++; } -void sub_8087C14(struct Task *task) +static void TeleportFieldEffectTask2(struct Task *task) { - u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); task->data[1] = 8; task->data[2]++; } @@ -2130,15 +2134,15 @@ void sub_8087C14(struct Task *task) } } -void sub_8087CA4(struct Task *task) +static void TeleportFieldEffectTask3(struct Task *task) { - u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((--task->data[1]) <= 0) { task->data[1] = 4; - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); } sprite->pos1.y -= task->data[3]; task->data[4] += task->data[3]; @@ -2158,7 +2162,7 @@ void sub_8087CA4(struct Task *task) } } -void sub_8087D78(struct Task *task) +static void TeleportFieldEffectTask4(struct Task *task) { if (!gPaletteFade.active && sub_8054034() == TRUE) { @@ -2166,13 +2170,13 @@ void sub_8087D78(struct Task *task) warp_in(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08085D88; - DestroyTask(FindTaskIdByFunc(sub_8087BBC)); + DestroyTask(FindTaskIdByFunc(ExecuteTeleportFieldEffectTask)); } } void sub_8087E1C(u8); -void mapldr_08085D88(void) +static void mapldr_08085D88(void) { Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); @@ -3003,7 +3007,7 @@ void sub_8088D94(struct Task *task) { task->data[0]++; task->data[2] = 16; - SetPlayerAvatarTransitionFlags(0x01); + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], 0x02); } } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index f27fa86fa..9f72c6383 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -1,5 +1,4 @@ #include "global.h" -#include "fldeff_teleport.h" #include "field_effect.h" #include "field_player_avatar.h" #include "pokemon_menu.h" @@ -12,19 +11,23 @@ extern void (*gFieldCallback)(void); extern u8 gLastFieldPokeMenuOpened; extern void (*gPostMenuFieldCallback)(void); +static void FieldCallback_Teleport(void); +static void StartTeleportFieldEffect(void); + + bool8 SetUpFieldMove_Teleport(void) { if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { gFieldCallback = FieldCallback_PrepareFadeInFromMenu; - gPostMenuFieldCallback = hm_teleport_run_dp02scr; + gPostMenuFieldCallback = FieldCallback_Teleport; return TRUE; } return FALSE; } -void hm_teleport_run_dp02scr(void) +static void FieldCallback_Teleport(void) { Overworld_ResetStateAfterTeleport(); FieldEffectStart(FLDEFF_USE_TELEPORT); @@ -34,14 +37,14 @@ void hm_teleport_run_dp02scr(void) bool8 FldEff_UseTeleport(void) { u8 taskId = oei_task_add(); - gTasks[taskId].data[8] = (u32)sub_814A404 >> 16; - gTasks[taskId].data[9] = (u32)sub_814A404; - SetPlayerAvatarTransitionFlags(1); + gTasks[taskId].data[8] = (u32)StartTeleportFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartTeleportFieldEffect; + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); return 0; } -void sub_814A404(void) +static void StartTeleportFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_TELEPORT); - sub_8087BA8(); + CreateTeleportFieldEffectTask(); } diff --git a/src/rom6.c b/src/rom6.c index 30eb62c16..24c2de6d2 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -198,7 +198,7 @@ int FldEff_UseDig(void) gTasks[taskId].data[8] = (u32)sub_810B634 >> 16; gTasks[taskId].data[9] = (u32)sub_810B634; if (!ShouldDoBrailleDigEffect()) - SetPlayerAvatarTransitionFlags(1); + SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); return 0; } -- cgit v1.2.3 From b9222b359ff6e848888cc779720bd15c45a82a37 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 11 Apr 2018 18:06:56 -0400 Subject: Basically all of taya in one commit. Aren't I grand? --- src/debug/taya_debug_window.c | 1085 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1083 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index f7e0e3770..2ea906442 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -1,6 +1,1087 @@ #if DEBUG #include "global.h" +#include "constants/species.h" +#include "constants/opponents.h" +#include "random.h" +#include "palette.h" +#include "ewram.h" +#include "menu.h" +#include "easy_chat.h" +#include "event_data.h" +#include "string_util.h" +#include "main.h" +#include "start_menu.h" +#include "field_weather.h" +#include "mauville_man.h" +#include "pokemon_storage_system.h" +#include "lottery_corner.h" +#include "battle_setup.h" +#include "region_map.h" +#include "overworld.h" -EWRAM_DATA u8 unk_2030224[4] = { 0 }; +bool8 debug_sub_8090808(void); +bool8 debug_sub_808560C(void); +bool8 TayaDebugMenu_LanettesPC(void); +bool8 TayaDebugMenu_SimpleText(void); +bool8 TayaDebugMenu_OldMan(void); +bool8 TayaDebugMenu_Trend(void); +bool8 TayaDebugMenu_TrendR(void); +bool8 TayaDebugMenu_TownFlags(void); +bool8 TayaDebugMenu_AwardARibbon(void); +bool8 TayaDebugMenu_PKMNLottery(void); +bool8 TayaDebugMenu_Trainer(void); +bool8 TayaDebugMenu_PokenavD(void); +void debug_sub_80915BC(void); +void debug_sub_80916AC(void); -#endif +EWRAM_DATA s8 unk_2030224 = 0; + +struct TayaLuckyNumberEwramStruct { + u8 unk0; + u8 unk1[7]; + u16 unk8; + s32 unkc; + u16 unk10; +}; + +struct TayaMonDataEwramStruct { + u8 unk00[6][3]; + u8 fill12[0x40]; + u8 unk52; + u8 unk53; + u8 unk54; + u8 unk55; + u8 unk56; +}; + +#define eTayaLuckyNumber (*(struct TayaLuckyNumberEwramStruct *)gSharedMem) +#define eTayaMonData (*(struct TayaMonDataEwramStruct *)gSharedMem) + +const u8 gUnknown_Debug_083C4E54[] = _("Profile"); +const u8 gUnknown_Debug_083C4E5C[] = _("Battle’s start"); +const u8 gUnknown_Debug_083C4E6B[] = _("Good saying"); +const u8 gUnknown_Debug_083C4E77[] = _("Lose a battle"); +const u8 gUnknown_Debug_083C4E85[] = _("MAIL"); +const u8 gUnknown_Debug_083C4E8A[] = _("MAIL salutation"); +const u8 gUnknown_Debug_083C4E9A[] = _("BARD’s song"); +const u8 gUnknown_Debug_083C4EA6[] = _("Interview"); +const u8 gUnknown_Debug_083C4EB0[] = _("InterviewシBTス"); + +const struct { + const u8 * text; + u32 unk4; +} gUnknown_Debug_083C4EC0[] = { + {gUnknown_Debug_083C4E54, 0x0}, + {gUnknown_Debug_083C4E5C, 0x1}, + {gUnknown_Debug_083C4E6B, 0xD}, + {gUnknown_Debug_083C4E77, 0x3}, + {gUnknown_Debug_083C4E85, 0x4}, + {gUnknown_Debug_083C4E8A, 0x5}, + {gUnknown_Debug_083C4E9A, 0x6}, + {gUnknown_Debug_083C4EA6, 0x7}, + {gUnknown_Debug_083C4EB0, 0xC} +}; + +const u16 gUnknown_Debug_083C4F08[] = {0x45b, 0x430, 0x20f}; + +const u8 gUnknown_Debug_083C4F0E[] = _("BARD"); +const u8 gUnknown_Debug_083C4F13[] = _("HIPSTER"); +const u8 gUnknown_Debug_083C4F1B[] = _("RECYCLE"); +const u8 gUnknown_Debug_083C4F23[] = _("STORYTELLER"); +const u8 gUnknown_Debug_083C4F2F[] = _("GIDDY GUY"); +const u8 gUnknown_Debug_083C4F39[] = _("Flag OFF"); +const u8 gUnknown_Debug_083C4F42[] = _("21 letters"); +const u8 gUnknown_Debug_083C4F4D[] = _("ナウくなる"); + +const struct { + const u8 * text; + u8 filler[4]; +} gUnknown_Debug_083C4F54[] = { + {gUnknown_Debug_083C4F0E}, + {gUnknown_Debug_083C4F13}, + {gUnknown_Debug_083C4F1B}, + {gUnknown_Debug_083C4F23}, + {gUnknown_Debug_083C4F2F}, + {gUnknown_Debug_083C4F39}, + {gUnknown_Debug_083C4F42}, + {gUnknown_Debug_083C4F4D} +}; + +const u8 gUnknown_Debug_083C4F94[] = _("しょうしょうおまちください!"); +const u8 gUnknown_Debug_083C4FA3[] = _("Weather"); +const u8 gUnknown_Debug_083C4FAB[] = _("LANETTE’S PC"); +const u8 gUnknown_Debug_083C4FB8[] = _("SimpleText"); +const u8 gUnknown_Debug_083C4FC3[] = _("Old man"); +const u8 gUnknown_Debug_083C4FCB[] = _("Trend"); +const u8 gUnknown_Debug_083C4FD1[] = _("Trend R"); +const u8 gUnknown_Debug_083C4FD9[] = _("Town flag"); +const u8 gUnknown_Debug_083C4FE3[] = _("Award a ribbon"); +const u8 gUnknown_Debug_083C4FF2[] = _("{PKMN}LOTTERY"); +const u8 gUnknown_Debug_083C4FFC[] = _("Trainer"); +const u8 gUnknown_Debug_083C5004[] = _("POKéNAV D"); + +const struct MenuAction gUnknown_Debug_083C5010[] = { + {gUnknown_Debug_083C4FA3, debug_sub_808560C}, + {gUnknown_Debug_083C4FAB, TayaDebugMenu_LanettesPC}, + {gUnknown_Debug_083C4FB8, TayaDebugMenu_SimpleText}, + {gUnknown_Debug_083C4FC3, TayaDebugMenu_OldMan}, + {gUnknown_Debug_083C4FCB, TayaDebugMenu_Trend}, + {gUnknown_Debug_083C4FD1, TayaDebugMenu_TrendR}, + {gUnknown_Debug_083C4FD9, TayaDebugMenu_TownFlags}, + {gUnknown_Debug_083C4FE3, TayaDebugMenu_AwardARibbon}, + {gUnknown_Debug_083C4FF2, TayaDebugMenu_PKMNLottery} +}; + +const struct MenuAction gUnknown_Debug_083C5058[] = { + {gUnknown_Debug_083C4FFC, TayaDebugMenu_Trainer}, + {gUnknown_Debug_083C5004, TayaDebugMenu_PokenavD} +}; + +const struct { + const struct MenuAction *menuActions; + u8 nitems; +} gUnknown_Debug_83C5068[] = { + {gUnknown_Debug_083C5010, 9}, + {gUnknown_Debug_083C5058, 2} +}; + +const u8 gUnknown_Debug_083C5078[] = _("CHANP"); +const u8 gUnknown_Debug_083C507E[] = _("COOL"); +const u8 gUnknown_Debug_083C5083[] = _("BEAUTY"); +const u8 gUnknown_Debug_083C508A[] = _("CUTE"); +const u8 gUnknown_Debug_083C508F[] = _("SMART"); +const u8 gUnknown_Debug_083C5095[] = _("TOUGH"); +const u8 gUnknown_Debug_083C509B[] = _("WIN"); +const u8 gUnknown_Debug_083C509F[] = _("VICTORY"); +const u8 gUnknown_Debug_083C50A7[] = _("BROMIDE"); +const u8 gUnknown_Debug_083C50AF[] = _("ACCESSIT"); +const u8 gUnknown_Debug_083C50B8[] = _("MARINE"); +const u8 gUnknown_Debug_083C50BF[] = _("LAND"); +const u8 gUnknown_Debug_083C50C4[] = _("SKY"); +const u8 gUnknown_Debug_083C50C8[] = _("COUNTRY"); +const u8 gUnknown_Debug_083C50D0[] = _("NATIONAL"); +const u8 gUnknown_Debug_083C50D9[] = _("EARTH"); +const u8 gUnknown_Debug_083C50DF[] = _("WORLD"); +const u8 gUnknown_Debug_083C50E5[] = _("     "); + +const struct { + const u8 * text; + u16 param; +} gUnknown_Debug_083C50EC[][3] = { + { + {gUnknown_Debug_083C5078, MON_DATA_CHAMPION_RIBBON}, + {gUnknown_Debug_083C507E, MON_DATA_COOL_RIBBON}, + {gUnknown_Debug_083C5083, MON_DATA_BEAUTY_RIBBON} + }, { + {gUnknown_Debug_083C508A, MON_DATA_CUTE_RIBBON}, + {gUnknown_Debug_083C508F, MON_DATA_SMART_RIBBON}, + {gUnknown_Debug_083C5095, MON_DATA_TOUGH_RIBBON} + }, { + {gUnknown_Debug_083C509B, MON_DATA_WINNING_RIBBON}, + {gUnknown_Debug_083C509F, MON_DATA_VICTORY_RIBBON}, + {gUnknown_Debug_083C50A7, MON_DATA_ARTIST_RIBBON} + }, { + {gUnknown_Debug_083C50AF, MON_DATA_EFFORT_RIBBON}, + {gUnknown_Debug_083C50B8, MON_DATA_GIFT_RIBBON_1}, + {gUnknown_Debug_083C50BF, MON_DATA_GIFT_RIBBON_2} + }, { + {gUnknown_Debug_083C50C4, MON_DATA_GIFT_RIBBON_3}, + {gUnknown_Debug_083C50C8, MON_DATA_GIFT_RIBBON_4}, + {gUnknown_Debug_083C50D0, MON_DATA_GIFT_RIBBON_5} + }, { + {gUnknown_Debug_083C50D9, MON_DATA_GIFT_RIBBON_6}, + {gUnknown_Debug_083C50DF, MON_DATA_GIFT_RIBBON_7}, + {gUnknown_Debug_083C50E5, 0 /* sentinel */} + } +}; + +const u8 gUnknown_Debug_083C517C[] = _("Select Ribbon"); + +bool8 TayaDebugMenu_Trend(void) +{ + u8 sp00[32]; + u8 sp20[8]; + u16 i; + struct EasyChatPair *pair; + + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 30, 11); + pair = gSaveBlock1.easyChatPairs; + + for (i = 0; i < 5; i++) + { + u8 * r4; + + sp00[0] = pair->unk1_6 ? CHAR_0 + 1 : CHAR_0 + 0; + EasyChat_GetWordText(sp20, pair->words[0]); + r4 = StringCopyPadded(sp00 + 1, sp20, CHAR_SPACE, 7); + EasyChat_GetWordText(sp20, pair->words[1]); + r4 = StringCopyPadded(r4, sp20, CHAR_SPACE, 8); + r4 = ConvertIntToDecimalStringN(r4, pair->unk0_0, STR_CONV_MODE_RIGHT_ALIGN, 3); + *r4++ = CHAR_SPACE; + r4 = ConvertIntToDecimalStringN(r4, pair->unk0_7, STR_CONV_MODE_RIGHT_ALIGN, 3); + *r4++ = CHAR_SPACE; + ConvertIntToDecimalStringN(r4, pair->unk2, STR_CONV_MODE_RIGHT_ALIGN, 5); + Menu_PrintText(sp00, 1, 2 * i + 1); + pair++; + } + gMenuCallback = debug_sub_8090808; + return FALSE; +} + +bool8 debug_sub_8090808(void) +{ + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) + { + Menu_EraseScreen(); + CloseMenu(); + return TRUE; + } + + return FALSE; +} + +bool8 TayaDebugMenu_TrendR(void) +{ + u16 i; + u16 j; + + for (i = 0; i < 5; i++) + { + for (j = 0; j < 2; j++) + { + gSaveBlock1.easyChatPairs[i].words[j] = sub_80EB72C(Random() % 22); + } + } + Menu_EraseScreen(); + CloseMenu(); + return TRUE; +} + +bool8 debug_sub_8090880(void) +{ + if (!UpdatePaletteFade()) + { + sub_80E60D8(); + return TRUE; + } + + return FALSE; +} + +bool8 debug_sub_809089C(void) +{ + s8 input = Menu_ProcessInput(); + + switch (input) + { + case -1: + CloseMenu(); + return TRUE; + case -2: + return FALSE; + default: + gSpecialVar_0x8004 = gUnknown_Debug_083C4EC0[input].unk4; + switch (gSpecialVar_0x8004) + { + case 5: + case 7: + case 8: + case 11: + case 12: + gSpecialVar_0x8005 = 0; + gSpecialVar_0x8006 = 0; + default: + FadeScreen(1, 0); + gMenuCallback = debug_sub_8090880; + break; + } + return FALSE; + } +} + +bool8 TayaDebugMenu_SimpleText(void) +{ + Menu_DrawStdWindowFrame(0, 0, 12, 19); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4EC0), gUnknown_Debug_083C4EC0); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4EC0), 0, 11); + gMenuCallback = debug_sub_809089C; + return FALSE; +} + +bool8 debug_sub_8090984(void) +{ + s8 input = Menu_ProcessInput(); + + switch (input) + { + case -1: + CloseMenu(); + return TRUE; + default: + if (input < 5) + { + debug_sub_810B32C(input); + CloseMenu(); + return TRUE; + } + break; + case -2: + return FALSE; + } + + if (input == 5) + { + sub_80F7F30(); + } + else if (input == 6) + { + u16 i; + + for (i = 0; i < 3; i++) + { + union MauvilleMan *mauvilleMan = &gSaveBlock1.mauvilleMan; + mauvilleMan->bard.songLyrics[i] = gUnknown_Debug_083C4F08[i]; + mauvilleMan->bard.temporaryLyrics[i] = gUnknown_Debug_083C4F08[i]; + gSaveBlock1.easyChats.unk2B28[i] = gUnknown_Debug_083C4F08[i]; + } + } + else if (input == 7) + { + u16 i; + + for (i = 0; i < 33; i++) + { + sub_80EB890(i); + } + } + CloseMenu(); + return TRUE; +} + +bool8 TayaDebugMenu_OldMan(void) +{ + Menu_DrawStdWindowFrame(0, 0, 10, 17); + Menu_PrintItems(1, 1, ARRAY_COUNT(gUnknown_Debug_083C4F54), gUnknown_Debug_083C4F54); + InitMenu(0, 1, 1, ARRAY_COUNT(gUnknown_Debug_083C4F54), GetCurrentMauvilleOldMan(), 9); + gMenuCallback = debug_sub_8090984; + return FALSE; +} + +bool8 TayaDebugMenu_LanettesPC(void) +{ + Menu_EraseScreen(); + ShowPokemonStorageSystem(); + return TRUE; +} + +bool8 TayaDebugMenu_TownFlags(void) +{ + FlagSet(FLAG_VISITED_LITTLEROOT_TOWN); + FlagSet(FLAG_VISITED_OLDALE_TOWN); + FlagSet(FLAG_VISITED_DEWFORD_TOWN); + FlagSet(FLAG_VISITED_LAVARIDGE_TOWN); + FlagSet(FLAG_VISITED_FALLARBOR_TOWN); + FlagSet(FLAG_VISITED_VERDANTURF_TOWN); + FlagSet(FLAG_VISITED_PACIFIDLOG_TOWN); + FlagSet(FLAG_VISITED_PETALBURG_CITY); + FlagSet(FLAG_VISITED_SLATEPORT_CITY); + FlagSet(FLAG_VISITED_MAUVILLE_CITY); + FlagSet(FLAG_VISITED_RUSTBORO_CITY); + FlagSet(FLAG_VISITED_FORTREE_CITY); + FlagSet(FLAG_VISITED_LILYCOVE_CITY); + FlagSet(FLAG_VISITED_MOSSDEEP_CITY); + FlagSet(FLAG_VISITED_SOOTOPOLIS_CITY); + FlagSet(FLAG_VISITED_EVER_GRANDE_CITY); + FlagSet(FLAG_LANDMARK_BATTLE_TOWER); + FlagSet(FLAG_LANDMARK_SOUTHERN_ISLAND); + FlagSet(FLAG_LANDMARK_FIERY_PATH); + FlagSet(FLAG_SYS_POKEMON_LEAGUE_FLY); + FlagSet(FLAG_LANDMARK_ISLAND_CAVE); + FlagSet(FLAG_LANDMARK_DESERT_RUINS); + FlagSet(FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE); + FlagSet(FLAG_LANDMARK_SCORCHED_SLAB); + FlagSet(FLAG_LANDMARK_ANCIENT_TOMB); + FlagSet(FLAG_LANDMARK_TUNNELERS_REST_HOUSE); + FlagSet(FLAG_LANDMARK_HUNTERS_HOUSE); + FlagSet(FLAG_LANDMARK_SEALED_CHAMBER); + FlagSet(FLAG_LANDMARK_FLOWER_SHOP); + FlagSet(FLAG_LANDMARK_MR_BRINEY_HOUSE); + FlagSet(FLAG_LANDMARK_ABANDONED_SHIP); + FlagSet(FLAG_LANDMARK_SEASHORE_HOUSE); + FlagSet(FLAG_LANDMARK_NEW_MAUVILLE); + FlagSet(FLAG_LANDMARK_OLD_LADY_REST_SHOP); + FlagSet(FLAG_LANDMARK_TRICK_HOUSE); + FlagSet(FLAG_LANDMARK_WINSTRATE_FAMILY); + FlagSet(FLAG_LANDMARK_GLASS_WORKSHOP); + FlagSet(FLAG_LANDMARK_LANETTES_HOUSE); + FlagSet(FLAG_LANDMARK_POKEMON_DAYCARE); + FlagSet(FLAG_LANDMARK_SEAFLOOR_CAVERN); + FlagSet(FLAG_SYS_RIBBON_GET); + CloseMenu(); + return TRUE; +} + +bool8 TayaDebugMenu_AwardARibbon(void) +{ + BlendPalettes(0xFFFFFFFF, 16, 0); + SetMainCallback2(debug_sub_80915BC); + CloseMenu(); + return TRUE; +} + +void debug_sub_8090C44(void) +{ + ConvertIntToDecimalStringN(eTayaLuckyNumber.unk1, eTayaLuckyNumber.unk8, STR_CONV_MODE_LEADING_ZEROS, 5); + Menu_PrintText(eTayaLuckyNumber.unk1, 1, 1); + StringFill(eTayaLuckyNumber.unk1, CHAR_SPACE, 5); + eTayaLuckyNumber.unk1[eTayaLuckyNumber.unk0] = 0x79; + Menu_PrintText(eTayaLuckyNumber.unk1, 1, 3); +} + +#ifdef NONMATCHING +// mayday mayday +bool8 debug_sub_8090C88(void) +{ + bool8 r8 = TRUE; + + if (gMain.newKeys & DPAD_LEFT && eTayaLuckyNumber.unk0 != 0) + { + eTayaLuckyNumber.unk0--; + } + else if (gMain.newKeys & DPAD_RIGHT && eTayaLuckyNumber.unk0 < 4) + { + eTayaLuckyNumber.unk0++; + } + else + { + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + u8 r4; + + eTayaLuckyNumber.unkc = eTayaLuckyNumber.unk8; + eTayaLuckyNumber.unk10 = 10000; + for (r4 = 0; r4 < eTayaLuckyNumber.unk0; r4++) + eTayaLuckyNumber.unk10 /= 10; + eTayaLuckyNumber.unkc += eTayaLuckyNumber.unk10; + if (eTayaLuckyNumber.unkc > 0xFFFF) + eTayaLuckyNumber.unkc = 0xFFFF; + if (eTayaLuckyNumber.unk8 != eTayaLuckyNumber.unkc) + { + eTayaLuckyNumber.unk8 = eTayaLuckyNumber.unkc; + goto check; + } + } + if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + u8 r4; + + eTayaLuckyNumber.unkc = eTayaLuckyNumber.unk8; + eTayaLuckyNumber.unk10 = 10000; + for (r4 = 0; r4 < eTayaLuckyNumber.unk0; r4++) + eTayaLuckyNumber.unk10 /= 10; + eTayaLuckyNumber.unkc -= eTayaLuckyNumber.unk10; + if (eTayaLuckyNumber.unkc < 0) + eTayaLuckyNumber.unkc = 0; + if (eTayaLuckyNumber.unk8 != eTayaLuckyNumber.unkc) + { + eTayaLuckyNumber.unk8 = eTayaLuckyNumber.unkc; + goto check; + } + } + if (gMain.newKeys & B_BUTTON) + { + CloseMenu(); + return TRUE; + } + if (gMain.newKeys & A_BUTTON) + { + SetLotteryNumber16_Unused(eTayaLuckyNumber.unk8); + CloseMenu(); + return TRUE; + } + r8 = FALSE; + } + +check: + if (r8) + debug_sub_8090C44(); + return FALSE; +} +#else +NAKED bool8 debug_sub_8090C88(void) +{ + asm("\tpush\t{r4, r5, r6, r7, lr}\n" + "\tmov\tr7, r8\n" + "\tpush\t{r7}\n" + "\tadd\tsp, sp, #0xfffffffc\n" + "\tmov\tr0, #0x1\n" + "\tmov\tr8, r0\n" + "\tldr\tr2, ._59 @ gMain\n" + "\tldrh\tr1, [r2, #0x2e]\n" + "\tmov\tr0, #0x20\n" + "\tand\tr0, r0, r1\n" + "\tadd\tr3, r2, #0\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._57\t@cond_branch\n" + "\tldr\tr1, ._59 + 4 @ gSharedMem\n" + "\tldrb\tr0, [r1]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._57\t@cond_branch\n" + "\tsub\tr0, r0, #0x1\n" + "\tstrb\tr0, [r1]\n" + "\tb\t._62\n" + "._60:\n" + "\t.align\t2, 0\n" + "._59:\n" + "\t.word\tgMain\n" + "\t.word\tgSharedMem\n" + "._67:\n" + "\tadd\tr0, r0, #0x1\n" + "\tstrb\tr0, [r1]\n" + "\tb\t._62\n" + "._77:\n" + "\tstrh\tr1, [r7, #0x8]\n" + "\tb\t._62\n" + "._79:\n" + "\tldr\tr0, ._64 @ gSharedMem\n" + "\tldrh\tr0, [r0, #0x8]\n" + "\tbl\tSetLotteryNumber16_Unused\n" + "._78:\n" + "\tbl\tCloseMenu\n" + "\tmov\tr0, #0x1\n" + "\tb\t._63\n" + "._65:\n" + "\t.align\t2, 0\n" + "._64:\n" + "\t.word\tgSharedMem\n" + "._57:\n" + "\tldrh\tr1, [r3, #0x2e]\n" + "\tmov\tr0, #0x10\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._66\t@cond_branch\n" + "\tldr\tr1, ._81 @ gSharedMem\n" + "\tldrb\tr0, [r1]\n" + "\tcmp\tr0, #0x3\n" + "\tbls\t._67\t@cond_branch\n" + "._66:\n" + "\tldrh\tr1, [r3, #0x30]\n" + "\tmov\tr0, #0x40\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._68\t@cond_branch\n" + "\tldr\tr0, ._81 @ gSharedMem\n" + "\tldrh\tr1, [r0, #0x8]\n" + "\tstr\tr1, [r0, #0xc]\n" + "\tldr\tr1, ._81 + 4 @ 0x2710\n" + "\tstrh\tr1, [r0, #0x10]\n" + "\tmov\tr4, #0x0\n" + "\tldrb\tr1, [r0]\n" + "\tadd\tr7, r0, #0\n" + "\tcmp\tr4, r1\n" + "\tbcs\t._69\t@cond_branch\n" + "\tadd\tr5, r7, #0\n" + "\tadd\tr6, r1, #0\n" + "._70:\n" + "\tldrh\tr0, [r5, #0x10]\n" + "\tmov\tr1, #0xa\n" + "\tstr\tr3, [sp]\n" + "\tbl\t__udivsi3\n" + "\tstrh\tr0, [r5, #0x10]\n" + "\tadd\tr0, r4, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr4, r0, #0x18\n" + "\tldr\tr3, [sp]\n" + "\tcmp\tr4, r6\n" + "\tbcc\t._70\t@cond_branch\n" + "._69:\n" + "\tldrh\tr1, [r7, #0x10]\n" + "\tldr\tr0, [r7, #0xc]\n" + "\tadd\tr0, r0, r1\n" + "\tstr\tr0, [r7, #0xc]\n" + "\tldr\tr1, ._81 + 8 @ 0xffff\n" + "\tcmp\tr0, r1\n" + "\tble\t._71\t@cond_branch\n" + "\tstr\tr1, [r7, #0xc]\n" + "._71:\n" + "\tldrh\tr0, [r7, #0x8]\n" + "\tldr\tr1, [r7, #0xc]\n" + "\tcmp\tr0, r1\n" + "\tbne\t._77\t@cond_branch\n" + "._68:\n" + "\tldrh\tr1, [r3, #0x30]\n" + "\tmov\tr0, #0x80\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._73\t@cond_branch\n" + "\tldr\tr0, ._81 @ gSharedMem\n" + "\tldrh\tr1, [r0, #0x8]\n" + "\tstr\tr1, [r0, #0xc]\n" + "\tldr\tr1, ._81 + 4 @ 0x2710\n" + "\tstrh\tr1, [r0, #0x10]\n" + "\tmov\tr4, #0x0\n" + "\tldrb\tr1, [r0]\n" + "\tadd\tr7, r0, #0\n" + "\tcmp\tr4, r1\n" + "\tbcs\t._74\t@cond_branch\n" + "\tadd\tr5, r7, #0\n" + "\tadd\tr6, r1, #0\n" + "._75:\n" + "\tldrh\tr0, [r5, #0x10]\n" + "\tmov\tr1, #0xa\n" + "\tstr\tr3, [sp]\n" + "\tbl\t__udivsi3\n" + "\tstrh\tr0, [r5, #0x10]\n" + "\tadd\tr0, r4, #1\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr4, r0, #0x18\n" + "\tldr\tr3, [sp]\n" + "\tcmp\tr4, r6\n" + "\tbcc\t._75\t@cond_branch\n" + "._74:\n" + "\tadd\tr2, r7, #0\n" + "\tldrh\tr1, [r2, #0x10]\n" + "\tldr\tr0, [r2, #0xc]\n" + "\tsub\tr0, r0, r1\n" + "\tstr\tr0, [r2, #0xc]\n" + "\tcmp\tr0, #0\n" + "\tbge\t._76\t@cond_branch\n" + "\tmov\tr0, #0x0\n" + "\tstr\tr0, [r2, #0xc]\n" + "._76:\n" + "\tldrh\tr0, [r2, #0x8]\n" + "\tldr\tr1, [r2, #0xc]\n" + "\tcmp\tr0, r1\n" + "\tbne\t._77\t@cond_branch\n" + "._73:\n" + "\tldrh\tr2, [r3, #0x2e]\n" + "\tmov\tr0, #0x2\n" + "\tand\tr0, r0, r2\n" + "\tcmp\tr0, #0\n" + "\tbne\t._78\t@cond_branch\n" + "\tmov\tr0, #0x1\n" + "\tand\tr0, r0, r2\n" + "\tcmp\tr0, #0\n" + "\tbne\t._79\t@cond_branch\n" + "\tmov\tr0, #0x0\n" + "\tmov\tr8, r0\n" + "._62:\n" + "\tmov\tr0, r8\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._80\t@cond_branch\n" + "\tbl\tdebug_sub_8090C44\n" + "._80:\n" + "\tmov\tr0, #0x0\n" + "._63:\n" + "\tadd\tsp, sp, #0x4\n" + "\tpop\t{r3}\n" + "\tmov\tr8, r3\n" + "\tpop\t{r4, r5, r6, r7}\n" + "\tpop\t{r1}\n" + "\tbx\tr1\n" + "._82:\n" + "\t.align\t2, 0\n" + "._81:\n" + "\t.word\tgSharedMem\n" + "\t.word\t0x2710\n" + "\t.word\t0xffff"); +} +#endif // NONMATCHING + +bool8 TayaDebugMenu_PKMNLottery(void) +{ + Menu_DrawStdWindowFrame(0, 0, 6, 5); + RetrieveLotteryNumber(); + eTayaLuckyNumber.unk8 = gSpecialVar_Result; + eTayaLuckyNumber.unk0 = 0; + debug_sub_8090C44(); + gMenuCallback = debug_sub_8090C88; + return FALSE; +} + +bool8 TayaDebugMenu_Trainer(void) +{ + u16 i; + + for (i = 0; i < ARRAY_COUNT(gTrainerEyeTrainers); i++) + SetTrainerFlag(gTrainerEyeTrainers[i].opponentIDs[0]); + + SetTrainerFlag(OPPONENT_ROXANNE); + SetTrainerFlag(OPPONENT_BRAWLY); + SetTrainerFlag(OPPONENT_WATTSON); + SetTrainerFlag(OPPONENT_FLANNERY); + SetTrainerFlag(OPPONENT_NORMAN); + SetTrainerFlag(OPPONENT_WINONA); + SetTrainerFlag(OPPONENT_TATE_AND_LIZA); + SetTrainerFlag(OPPONENT_WALLACE); + SetTrainerFlag(OPPONENT_SIDNEY); + SetTrainerFlag(OPPONENT_PHOEBE); + SetTrainerFlag(OPPONENT_GLACIA); + SetTrainerFlag(OPPONENT_DRAKE); + SetTrainerFlag(OPPONENT_STEVEN); + CloseMenu(); + return TRUE; +} + +bool8 TayaDebugMenu_PokenavD(void) +{ + u16 i; + u16 j; + + Menu_DisplayDialogueFrame(); + + for (i = 0; i < 14; i++) + { + StringCopy(gSharedMem, gUnknown_Debug_083C4F94); + gSharedMem[i + 1] = EOS; + Menu_PrintText(gSharedMem, 2, 15); + for (j = 0; j < 30; j++) + { + struct BoxPokemon *boxPokemon; + u32 otId = Random() + 1; + u16 level = (Random() % 100) + 1; + u16 species = (Random() % 386) + 1; + if (species >= SPECIES_OLD_UNOWN_B) + { + species += SPECIES_TREECKO - SPECIES_OLD_UNOWN_B; + if (species >= NUM_SPECIES) + species = SPECIES_BULBASAUR; + } + boxPokemon = gPokemonStorage.boxes[i] + j; + CreateBoxMon(boxPokemon, species, level, 32, FALSE, 0, TRUE, otId); + + otId = Random() & 0xff; + SetBoxMonData(boxPokemon, MON_DATA_COOL, &otId); + + otId = Random() & 0xff; + SetBoxMonData(boxPokemon, MON_DATA_BEAUTY, &otId); + + otId = Random() & 0xff; + SetBoxMonData(boxPokemon, MON_DATA_CUTE, &otId); + + otId = Random() & 0xff; + SetBoxMonData(boxPokemon, MON_DATA_SMART, &otId); + + otId = Random() & 0xff; + SetBoxMonData(boxPokemon, MON_DATA_TOUGH, &otId); + + otId = Random() & 0xff; + SetBoxMonData(boxPokemon, MON_DATA_SHEEN, &otId); + + otId = (Random() & 3) + 1; + SetBoxMonData(boxPokemon, MON_DATA_COOL_RIBBON, &otId); + + otId = (Random() & 3) + 1; + SetBoxMonData(boxPokemon, MON_DATA_BEAUTY_RIBBON, &otId); + + otId = (Random() & 3) + 1; + SetBoxMonData(boxPokemon, MON_DATA_CUTE_RIBBON, &otId); + + otId = (Random() & 3) + 1; + SetBoxMonData(boxPokemon, MON_DATA_TOUGH_RIBBON, &otId); + + otId = (Random() & 3) + 1; + SetBoxMonData(boxPokemon, MON_DATA_SMART_RIBBON, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_CHAMPION_RIBBON, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_WINNING_RIBBON, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_VICTORY_RIBBON, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_ARTIST_RIBBON, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_EFFORT_RIBBON, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_1, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_2, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_3, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_4, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_5, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_6, &otId); + + otId = Random() & 1; + SetBoxMonData(boxPokemon, MON_DATA_GIFT_RIBBON_7, &otId); + } + } + TayaDebugMenu_TownFlags(); + TayaDebugMenu_Trainer(); + CloseMenu(); + return TRUE; +} + +bool8 TayaDebugMenu_8091190(void) +{ + s8 input = Menu_ProcessInput(); + s8 r4; + + switch (input) + { + default: + gMenuCallback = gUnknown_Debug_83C5068[unk_2030224].menuActions[input].func; + return FALSE; + case -2: + r4 = unk_2030224; + if (gMain.newKeys & DPAD_LEFT) + { + unk_2030224--; + if (unk_2030224 < 0) + unk_2030224 = 1; + } + + if (gMain.newKeys & DPAD_RIGHT) + { + unk_2030224++; + if ((u8)unk_2030224 > 1) + unk_2030224 = 0; + } + if (r4 != unk_2030224) + { + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 11, 19); + Menu_PrintItems(1, 1, gUnknown_Debug_83C5068[unk_2030224].nitems, gUnknown_Debug_83C5068[unk_2030224].menuActions); + InitMenu(0, 1, 1, gUnknown_Debug_83C5068[unk_2030224].nitems, 0, 10); + } + return FALSE; + case -1: + CloseMenu(); + return TRUE; + } +} + +bool8 InitTayaDebugWindow(void) +{ + unk_2030224 = 0; + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 11, 19); + Menu_PrintItems(1, 1, 9, gUnknown_Debug_83C5068[0].menuActions); + InitMenu(0, 1, 1, 9, 0, 10); + gMenuCallback = TayaDebugMenu_8091190; + return FALSE; +} + +bool8 debug_sub_80912D8(void) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(debug_sub_8110F28); + return TRUE; + } + return FALSE; +} + +bool8 debug_sub_8091300(void) +{ + FadeScreen(1, 0); + gMenuCallback = debug_sub_80912D8; + return FALSE; +} + +void debug_sub_8091320(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void debug_sub_8091334(void) +{ + AnimateSprites(); + BuildOamBuffer(); + + switch (eTayaMonData.unk52) + { + case 0: + eTayaMonData.unk55 = 0; + if (gMain.newKeys & DPAD_UP) + { + if (eTayaMonData.unk54 != 0) + { + eTayaMonData.unk54--; + eTayaMonData.unk55 = 1; + } + } + if (gMain.newKeys & DPAD_DOWN) + { + if (eTayaMonData.unk53 != 2) + { + if (eTayaMonData.unk54 < 5) + { + eTayaMonData.unk54++; + eTayaMonData.unk55 = 1; + } + } + else + { + if (eTayaMonData.unk54 < 4) + { + eTayaMonData.unk54++; + eTayaMonData.unk55 = 1; + } + } + } + if (gMain.newKeys & DPAD_LEFT) + { + if (eTayaMonData.unk53 != 0) + { + eTayaMonData.unk53--; + eTayaMonData.unk55 = 1; + } + } + if (gMain.newKeys & DPAD_RIGHT) + { + if (eTayaMonData.unk54 != 5) + { + if (eTayaMonData.unk53 < 2) + { + eTayaMonData.unk53++; + eTayaMonData.unk55 = 1; + } + } + else + { + if (eTayaMonData.unk53 < 1) + { + eTayaMonData.unk53++; + eTayaMonData.unk55 = 1; + } + } + } + if (eTayaMonData.unk55) + { + debug_sub_80916AC(); + } + else if (gMain.newKeys & A_BUTTON) + { + u16 param = gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param; + if (param >= MON_DATA_COOL_RIBBON && param <= MON_DATA_TOUGH_RIBBON) + eTayaMonData.unk56 = 4; + else + eTayaMonData.unk56 = 1; + eTayaMonData.unk52 = 1; + } + else if (gMain.newKeys & B_BUTTON) + { + BlendPalettes(0xFFFFFFFF, 16, 0); + SetMainCallback2(sub_80546F0); + } + break; + case 1: + eTayaMonData.unk55 = 0; + if (gMain.newKeys & DPAD_UP) + { + if (eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53] < eTayaMonData.unk56) + { + eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53]++; + eTayaMonData.unk55 = 1; + } + } + if (gMain.newKeys & DPAD_DOWN) + { + if (eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53] != 0) + { + eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53]--; + eTayaMonData.unk55 = 1; + } + } + if (eTayaMonData.unk55) + { + debug_sub_80916AC(); + } + else + { + if (gMain.newKeys & B_BUTTON) + { + eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53] = GetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param); + debug_sub_80916AC(); + eTayaMonData.unk52 = 0; + } + if (gMain.newKeys & A_BUTTON) + { + if (gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param) + SetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param, &eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53]); + eTayaMonData.unk52 = 0; + } + } + break; + } +} + +void debug_sub_80915BC(void) +{ + u8 i; + u8 j; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + for (i = 0; i < 6; i++) + { + for (j = 0; j < 3; j++) + { + u16 param = gUnknown_Debug_083C50EC[i][j].param; + if (param) + eTayaMonData.unk00[i][j] = GetMonData(gPlayerParty, param); + else + eTayaMonData.unk00[i][j] = 0; + } + } + Text_LoadWindowTemplate(&gWindowTemplate_81E7224); + InitMenuWindow(&gWindowTemplate_81E7224); + Menu_EraseScreen(); + Menu_DrawStdWindowFrame(0, 0, 29, 3); + Menu_PrintText(gUnknown_Debug_083C517C, 1, 1); + Menu_DrawStdWindowFrame(0, 4, 29, 17); + Menu_DrawStdWindowFrame(0, 18, 29, 21); + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON; + eTayaMonData.unk53 = 0; + eTayaMonData.unk54 = 0; + eTayaMonData.unk52 = 0; + debug_sub_80916AC(); + SetVBlankCallback(debug_sub_8091320); + SetMainCallback2(debug_sub_8091334); +} + +void debug_sub_80916AC(void) +{ + u8 i; + u8 j; + + for (i = 0; i < 6; i++) + { + u8 * buffer = eTayaMonData.fill12; + for (j = 0; j < 3 && !(i == 5 && j == 2); j++) + { + if (eTayaMonData.unk53 == j && eTayaMonData.unk54 == i) + *buffer++ = 0xEF; + else + { + *buffer++ = CHAR_SPACE; + *buffer++ = CHAR_SPACE; + } + buffer = StringCopy(buffer, gUnknown_Debug_083C50EC[i][j].text); + *buffer++ = CHAR_SPACE; + buffer = ConvertIntToDecimalStringN(buffer, eTayaMonData.unk00[i][j], STR_CONV_MODE_LEFT_ALIGN, 1); + *buffer++ = CHAR_SPACE; + } + buffer[-1] = EOS; + Menu_PrintText(eTayaMonData.fill12, 1, i * 2 + 5); + } +} + +#endif // DEBUG -- cgit v1.2.3 From 78bd32c68bc8f20b5d3aeb0d0dd694608fee62da Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 11 Apr 2018 18:45:37 -0400 Subject: Some renaming --- src/debug/taya_debug_window.c | 208 +++++++++++++++++++++--------------------- 1 file changed, 104 insertions(+), 104 deletions(-) (limited to 'src') diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index 2ea906442..55212315c 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -34,24 +34,24 @@ bool8 TayaDebugMenu_PokenavD(void); void debug_sub_80915BC(void); void debug_sub_80916AC(void); -EWRAM_DATA s8 unk_2030224 = 0; +EWRAM_DATA s8 sTayaTopMenuPage = 0; struct TayaLuckyNumberEwramStruct { - u8 unk0; - u8 unk1[7]; - u16 unk8; - s32 unkc; - u16 unk10; + u8 digit; + u8 charbuf[7]; + u16 curLuckyId; + s32 tempLuckyId; + u16 digitDeltaMagnitude; }; struct TayaMonDataEwramStruct { - u8 unk00[6][3]; - u8 fill12[0x40]; - u8 unk52; - u8 unk53; - u8 unk54; - u8 unk55; - u8 unk56; + u8 data[6][3]; + u8 charbuf[0x40]; + u8 state; + u8 x; + u8 y; + u8 redraw; + u8 maxVal; }; #define eTayaLuckyNumber (*(struct TayaLuckyNumberEwramStruct *)gSharedMem) @@ -432,11 +432,11 @@ bool8 TayaDebugMenu_AwardARibbon(void) void debug_sub_8090C44(void) { - ConvertIntToDecimalStringN(eTayaLuckyNumber.unk1, eTayaLuckyNumber.unk8, STR_CONV_MODE_LEADING_ZEROS, 5); - Menu_PrintText(eTayaLuckyNumber.unk1, 1, 1); - StringFill(eTayaLuckyNumber.unk1, CHAR_SPACE, 5); - eTayaLuckyNumber.unk1[eTayaLuckyNumber.unk0] = 0x79; - Menu_PrintText(eTayaLuckyNumber.unk1, 1, 3); + ConvertIntToDecimalStringN(eTayaLuckyNumber.charbuf, eTayaLuckyNumber.curLuckyId, STR_CONV_MODE_LEADING_ZEROS, 5); + Menu_PrintText(eTayaLuckyNumber.charbuf, 1, 1); + StringFill(eTayaLuckyNumber.charbuf, CHAR_SPACE, 5); + eTayaLuckyNumber.charbuf[eTayaLuckyNumber.digit] = 0x79; + Menu_PrintText(eTayaLuckyNumber.charbuf, 1, 3); } #ifdef NONMATCHING @@ -445,13 +445,13 @@ bool8 debug_sub_8090C88(void) { bool8 r8 = TRUE; - if (gMain.newKeys & DPAD_LEFT && eTayaLuckyNumber.unk0 != 0) + if (gMain.newKeys & DPAD_LEFT && eTayaLuckyNumber.digit != 0) { - eTayaLuckyNumber.unk0--; + eTayaLuckyNumber.digit--; } - else if (gMain.newKeys & DPAD_RIGHT && eTayaLuckyNumber.unk0 < 4) + else if (gMain.newKeys & DPAD_RIGHT && eTayaLuckyNumber.digit < 4) { - eTayaLuckyNumber.unk0++; + eTayaLuckyNumber.digit++; } else { @@ -459,16 +459,16 @@ bool8 debug_sub_8090C88(void) { u8 r4; - eTayaLuckyNumber.unkc = eTayaLuckyNumber.unk8; - eTayaLuckyNumber.unk10 = 10000; - for (r4 = 0; r4 < eTayaLuckyNumber.unk0; r4++) - eTayaLuckyNumber.unk10 /= 10; - eTayaLuckyNumber.unkc += eTayaLuckyNumber.unk10; - if (eTayaLuckyNumber.unkc > 0xFFFF) - eTayaLuckyNumber.unkc = 0xFFFF; - if (eTayaLuckyNumber.unk8 != eTayaLuckyNumber.unkc) + eTayaLuckyNumber.tempLuckyId = eTayaLuckyNumber.curLuckyId; + eTayaLuckyNumber.charbuf0 = 10000; + for (r4 = 0; r4 < eTayaLuckyNumber.digit; r4++) + eTayaLuckyNumber.charbuf0 /= 10; + eTayaLuckyNumber.tempLuckyId += eTayaLuckyNumber.charbuf0; + if (eTayaLuckyNumber.tempLuckyId > 0xFFFF) + eTayaLuckyNumber.tempLuckyId = 0xFFFF; + if (eTayaLuckyNumber.curLuckyId != eTayaLuckyNumber.tempLuckyId) { - eTayaLuckyNumber.unk8 = eTayaLuckyNumber.unkc; + eTayaLuckyNumber.curLuckyId = eTayaLuckyNumber.tempLuckyId; goto check; } } @@ -476,16 +476,16 @@ bool8 debug_sub_8090C88(void) { u8 r4; - eTayaLuckyNumber.unkc = eTayaLuckyNumber.unk8; - eTayaLuckyNumber.unk10 = 10000; - for (r4 = 0; r4 < eTayaLuckyNumber.unk0; r4++) - eTayaLuckyNumber.unk10 /= 10; - eTayaLuckyNumber.unkc -= eTayaLuckyNumber.unk10; - if (eTayaLuckyNumber.unkc < 0) - eTayaLuckyNumber.unkc = 0; - if (eTayaLuckyNumber.unk8 != eTayaLuckyNumber.unkc) + eTayaLuckyNumber.tempLuckyId = eTayaLuckyNumber.curLuckyId; + eTayaLuckyNumber.charbuf0 = 10000; + for (r4 = 0; r4 < eTayaLuckyNumber.digit; r4++) + eTayaLuckyNumber.charbuf0 /= 10; + eTayaLuckyNumber.tempLuckyId -= eTayaLuckyNumber.charbuf0; + if (eTayaLuckyNumber.tempLuckyId < 0) + eTayaLuckyNumber.tempLuckyId = 0; + if (eTayaLuckyNumber.curLuckyId != eTayaLuckyNumber.tempLuckyId) { - eTayaLuckyNumber.unk8 = eTayaLuckyNumber.unkc; + eTayaLuckyNumber.curLuckyId = eTayaLuckyNumber.tempLuckyId; goto check; } } @@ -496,7 +496,7 @@ bool8 debug_sub_8090C88(void) } if (gMain.newKeys & A_BUTTON) { - SetLotteryNumber16_Unused(eTayaLuckyNumber.unk8); + SetLotteryNumber16_Unused(eTayaLuckyNumber.curLuckyId); CloseMenu(); return TRUE; } @@ -693,8 +693,8 @@ bool8 TayaDebugMenu_PKMNLottery(void) { Menu_DrawStdWindowFrame(0, 0, 6, 5); RetrieveLotteryNumber(); - eTayaLuckyNumber.unk8 = gSpecialVar_Result; - eTayaLuckyNumber.unk0 = 0; + eTayaLuckyNumber.curLuckyId = gSpecialVar_Result; + eTayaLuckyNumber.digit = 0; debug_sub_8090C44(); gMenuCallback = debug_sub_8090C88; return FALSE; @@ -835,29 +835,29 @@ bool8 TayaDebugMenu_8091190(void) switch (input) { default: - gMenuCallback = gUnknown_Debug_83C5068[unk_2030224].menuActions[input].func; + gMenuCallback = gUnknown_Debug_83C5068[sTayaTopMenuPage].menuActions[input].func; return FALSE; case -2: - r4 = unk_2030224; + r4 = sTayaTopMenuPage; if (gMain.newKeys & DPAD_LEFT) { - unk_2030224--; - if (unk_2030224 < 0) - unk_2030224 = 1; + sTayaTopMenuPage--; + if (sTayaTopMenuPage < 0) + sTayaTopMenuPage = 1; } if (gMain.newKeys & DPAD_RIGHT) { - unk_2030224++; - if ((u8)unk_2030224 > 1) - unk_2030224 = 0; + sTayaTopMenuPage++; + if ((u8)sTayaTopMenuPage > 1) + sTayaTopMenuPage = 0; } - if (r4 != unk_2030224) + if (r4 != sTayaTopMenuPage) { Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 11, 19); - Menu_PrintItems(1, 1, gUnknown_Debug_83C5068[unk_2030224].nitems, gUnknown_Debug_83C5068[unk_2030224].menuActions); - InitMenu(0, 1, 1, gUnknown_Debug_83C5068[unk_2030224].nitems, 0, 10); + Menu_PrintItems(1, 1, gUnknown_Debug_83C5068[sTayaTopMenuPage].nitems, gUnknown_Debug_83C5068[sTayaTopMenuPage].menuActions); + InitMenu(0, 1, 1, gUnknown_Debug_83C5068[sTayaTopMenuPage].nitems, 0, 10); } return FALSE; case -1: @@ -868,7 +868,7 @@ bool8 TayaDebugMenu_8091190(void) bool8 InitTayaDebugWindow(void) { - unk_2030224 = 0; + sTayaTopMenuPage = 0; Menu_EraseScreen(); Menu_DrawStdWindowFrame(0, 0, 11, 19); Menu_PrintItems(1, 1, 9, gUnknown_Debug_83C5068[0].menuActions); @@ -906,76 +906,76 @@ void debug_sub_8091334(void) AnimateSprites(); BuildOamBuffer(); - switch (eTayaMonData.unk52) + switch (eTayaMonData.state) { case 0: - eTayaMonData.unk55 = 0; + eTayaMonData.redraw = 0; if (gMain.newKeys & DPAD_UP) { - if (eTayaMonData.unk54 != 0) + if (eTayaMonData.y != 0) { - eTayaMonData.unk54--; - eTayaMonData.unk55 = 1; + eTayaMonData.y--; + eTayaMonData.redraw = 1; } } if (gMain.newKeys & DPAD_DOWN) { - if (eTayaMonData.unk53 != 2) + if (eTayaMonData.x != 2) { - if (eTayaMonData.unk54 < 5) + if (eTayaMonData.y < 5) { - eTayaMonData.unk54++; - eTayaMonData.unk55 = 1; + eTayaMonData.y++; + eTayaMonData.redraw = 1; } } else { - if (eTayaMonData.unk54 < 4) + if (eTayaMonData.y < 4) { - eTayaMonData.unk54++; - eTayaMonData.unk55 = 1; + eTayaMonData.y++; + eTayaMonData.redraw = 1; } } } if (gMain.newKeys & DPAD_LEFT) { - if (eTayaMonData.unk53 != 0) + if (eTayaMonData.x != 0) { - eTayaMonData.unk53--; - eTayaMonData.unk55 = 1; + eTayaMonData.x--; + eTayaMonData.redraw = 1; } } if (gMain.newKeys & DPAD_RIGHT) { - if (eTayaMonData.unk54 != 5) + if (eTayaMonData.y != 5) { - if (eTayaMonData.unk53 < 2) + if (eTayaMonData.x < 2) { - eTayaMonData.unk53++; - eTayaMonData.unk55 = 1; + eTayaMonData.x++; + eTayaMonData.redraw = 1; } } else { - if (eTayaMonData.unk53 < 1) + if (eTayaMonData.x < 1) { - eTayaMonData.unk53++; - eTayaMonData.unk55 = 1; + eTayaMonData.x++; + eTayaMonData.redraw = 1; } } } - if (eTayaMonData.unk55) + if (eTayaMonData.redraw) { debug_sub_80916AC(); } else if (gMain.newKeys & A_BUTTON) { - u16 param = gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param; + u16 param = gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param; if (param >= MON_DATA_COOL_RIBBON && param <= MON_DATA_TOUGH_RIBBON) - eTayaMonData.unk56 = 4; + eTayaMonData.maxVal = 4; else - eTayaMonData.unk56 = 1; - eTayaMonData.unk52 = 1; + eTayaMonData.maxVal = 1; + eTayaMonData.state = 1; } else if (gMain.newKeys & B_BUTTON) { @@ -984,24 +984,24 @@ void debug_sub_8091334(void) } break; case 1: - eTayaMonData.unk55 = 0; + eTayaMonData.redraw = 0; if (gMain.newKeys & DPAD_UP) { - if (eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53] < eTayaMonData.unk56) + if (eTayaMonData.data[eTayaMonData.y][eTayaMonData.x] < eTayaMonData.maxVal) { - eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53]++; - eTayaMonData.unk55 = 1; + eTayaMonData.data[eTayaMonData.y][eTayaMonData.x]++; + eTayaMonData.redraw = 1; } } if (gMain.newKeys & DPAD_DOWN) { - if (eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53] != 0) + if (eTayaMonData.data[eTayaMonData.y][eTayaMonData.x] != 0) { - eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53]--; - eTayaMonData.unk55 = 1; + eTayaMonData.data[eTayaMonData.y][eTayaMonData.x]--; + eTayaMonData.redraw = 1; } } - if (eTayaMonData.unk55) + if (eTayaMonData.redraw) { debug_sub_80916AC(); } @@ -1009,15 +1009,15 @@ void debug_sub_8091334(void) { if (gMain.newKeys & B_BUTTON) { - eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53] = GetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param); + eTayaMonData.data[eTayaMonData.y][eTayaMonData.x] = GetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param); debug_sub_80916AC(); - eTayaMonData.unk52 = 0; + eTayaMonData.state = 0; } if (gMain.newKeys & A_BUTTON) { - if (gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param) - SetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.unk54][eTayaMonData.unk53].param, &eTayaMonData.unk00[eTayaMonData.unk54][eTayaMonData.unk53]); - eTayaMonData.unk52 = 0; + if (gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param) + SetMonData(gPlayerParty, gUnknown_Debug_083C50EC[eTayaMonData.y][eTayaMonData.x].param, &eTayaMonData.data[eTayaMonData.y][eTayaMonData.x]); + eTayaMonData.state = 0; } } break; @@ -1036,9 +1036,9 @@ void debug_sub_80915BC(void) { u16 param = gUnknown_Debug_083C50EC[i][j].param; if (param) - eTayaMonData.unk00[i][j] = GetMonData(gPlayerParty, param); + eTayaMonData.data[i][j] = GetMonData(gPlayerParty, param); else - eTayaMonData.unk00[i][j] = 0; + eTayaMonData.data[i][j] = 0; } } Text_LoadWindowTemplate(&gWindowTemplate_81E7224); @@ -1049,9 +1049,9 @@ void debug_sub_80915BC(void) Menu_DrawStdWindowFrame(0, 4, 29, 17); Menu_DrawStdWindowFrame(0, 18, 29, 21); REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON; - eTayaMonData.unk53 = 0; - eTayaMonData.unk54 = 0; - eTayaMonData.unk52 = 0; + eTayaMonData.x = 0; + eTayaMonData.y = 0; + eTayaMonData.state = 0; debug_sub_80916AC(); SetVBlankCallback(debug_sub_8091320); SetMainCallback2(debug_sub_8091334); @@ -1064,10 +1064,10 @@ void debug_sub_80916AC(void) for (i = 0; i < 6; i++) { - u8 * buffer = eTayaMonData.fill12; + u8 * buffer = eTayaMonData.charbuf; for (j = 0; j < 3 && !(i == 5 && j == 2); j++) { - if (eTayaMonData.unk53 == j && eTayaMonData.unk54 == i) + if (eTayaMonData.x == j && eTayaMonData.y == i) *buffer++ = 0xEF; else { @@ -1076,11 +1076,11 @@ void debug_sub_80916AC(void) } buffer = StringCopy(buffer, gUnknown_Debug_083C50EC[i][j].text); *buffer++ = CHAR_SPACE; - buffer = ConvertIntToDecimalStringN(buffer, eTayaMonData.unk00[i][j], STR_CONV_MODE_LEFT_ALIGN, 1); + buffer = ConvertIntToDecimalStringN(buffer, eTayaMonData.data[i][j], STR_CONV_MODE_LEFT_ALIGN, 1); *buffer++ = CHAR_SPACE; } buffer[-1] = EOS; - Menu_PrintText(eTayaMonData.fill12, 1, i * 2 + 5); + Menu_PrintText(eTayaMonData.charbuf, 1, i * 2 + 5); } } -- cgit v1.2.3 From 95bf34a6d4af0eca83d9ca3bf7e9a898e00429c8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 12 Apr 2018 08:37:45 -0400 Subject: debug_80C35DC --- src/debug/watanabe_debug_menu.c | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 6c94b0466..8423ba685 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1,5 +1,13 @@ #if DEBUG #include "global.h" +#include "debug.h" +#include "palette.h" +#include "scanline_effect.h" +#include "main.h" +#include "task.h" +#include "sprite.h" +#include "text.h" +#include "menu.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; @@ -8,4 +16,43 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; +extern const struct SpriteSheet stru_83F8828[2]; +extern const struct SpritePalette stru_83F8838[2]; + +void debug_69(struct Sprite *sprite) +{ + +} + +void debug_80C35DC(void) +{ + SetVBlankCallback(NULL); + REG_DISPCNT = 0; + REG_BG3CNT = 0; + REG_BG2CNT = 0; + REG_BG1CNT = 0; + REG_BG0CNT = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000); + DmaFill32Defvars(3, 0, OAM, OAM_SIZE); + DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE); + ResetPaletteFade(); + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + ResetPaletteFade(); // I really don't want palette fade here + FreeAllSpritePalettes(); + LoadSpriteSheet(stru_83F8828); + LoadSpritePalette(stru_83F8838); + Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); + InitMenuWindow(&gWindowTemplate_81E6CE4); +} + #endif -- cgit v1.2.3 From bbab3e05fb5f459bbdefcc4dc3a0ea7a60c96f67 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 12 Apr 2018 08:45:40 -0400 Subject: through debug_80C376C --- src/debug/watanabe_debug_menu.c | 69 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 8423ba685..43d63dce4 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -8,6 +8,8 @@ #include "sprite.h" #include "text.h" #include "menu.h" +#include "script.h" +#include "overworld.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; @@ -55,4 +57,71 @@ void debug_80C35DC(void) InitMenuWindow(&gWindowTemplate_81E6CE4); } +void debug_80C36F4(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void debug_80C370C(void) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(debug_80C36F4); + } + + else + { + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + } +} + +void debug_80C373C(u8 taskId) +{ + DestroyTask(taskId); + ScriptContext2_Disable(); + SetMainCallback2(sub_80546F0); +} + +void debug_80C3758(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void debug_80C376C(u16 a0, u8 a1, u8 a2) +{ + u8 i; + u8 divresult; + u8 sp00[4]; + bool8 r4; + + for (i = 0; i < 3; i++) + sp00[i] = 0; + sp00[3] = EOS; + + r4 = FALSE; + divresult = a0 / 100; + if (divresult) + { + sp00[0] = CHAR_0 + divresult; + r4 = TRUE; + } + + divresult = (a0 % 100) / 10; + if (divresult || r4) + { + sp00[1] = CHAR_0 + divresult; + } + + sp00[2] = CHAR_0 + ((a0 % 100) % 10); + + Menu_PrintText(sp00, a1, a2); +} + #endif -- cgit v1.2.3 From 53e2b61fae450b47876420d8646a98ef8a2c450a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 12 Apr 2018 20:40:26 -0400 Subject: through InitSizeComparison --- src/debug/watanabe_debug_menu.c | 137 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 136 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 43d63dce4..582b65a3e 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1,5 +1,8 @@ #if DEBUG #include "global.h" +#include "gba/flash_internal.h" +#include "constants/species.h" +#include "constants/songs.h" #include "debug.h" #include "palette.h" #include "scanline_effect.h" @@ -10,6 +13,10 @@ #include "menu.h" #include "script.h" #include "overworld.h" +#include "data2.h" +#include "fieldmap.h" +#include "save.h" +#include "sound.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; @@ -18,9 +25,14 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; +extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); +extern const u8 gUnknown_Debug_083F7FD6[8]; // = _("ゆみあくひりつ"); + extern const struct SpriteSheet stru_83F8828[2]; extern const struct SpritePalette stru_83F8838[2]; +void debug_80C3A50(u8 taskId); + void debug_69(struct Sprite *sprite) { @@ -102,7 +114,7 @@ void debug_80C376C(u16 a0, u8 a1, u8 a2) bool8 r4; for (i = 0; i < 3; i++) - sp00[i] = 0; + sp00[i] = CHAR_SPACE; sp00[3] = EOS; r4 = FALSE; @@ -124,4 +136,127 @@ void debug_80C376C(u16 a0, u8 a1, u8 a2) Menu_PrintText(sp00, a1, a2); } +void debug_80C3800(u16 a0, u8 a1, u8 a2) +{ + u8 sp00[11]; + u8 i; + + for (i = 0; i < 10; i++) + sp00[i] = CHAR_SPACE; + sp00[i] = EOS; + + for (i = 0; gSpeciesNames[a0][i] != EOS && i < 10; i++) + sp00[i] = gSpeciesNames[a0][i]; + + Menu_PrintText(sp00, a1, a2); +} + +u16 debug_80C3878(u8 a0, u16 a1) +{ + switch (a0) + { + default: + case 0: + if (a1 > SPECIES_BULBASAUR) + a1--; + else + a1 = NUM_SPECIES - 1; + break; + case 1: + if (a1 < NUM_SPECIES - 1) + a1++; + else + a1 = SPECIES_BULBASAUR; + break; + } + return a1; +} + +u16 debug_80C38B4(u8 a0, u16 a1) +{ + switch (a0) + { + default: + case 0: + if (a1) + a1--; + else + a1 = 0x52; + break; + case 1: + if (a1 < 0x52) + a1++; + else + a1 = 0; + break; + } + return a1; +} + +void debug_80C38E4(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4) +{ + // u8 sp00[] = _("▶"); + u8 sp00[2]; + + memcpy(sp00, gUnknown_Debug_083F7FD4, ARRAY_COUNT(gUnknown_Debug_083F7FD4)); + Menu_BlankWindowRect(a1, a2, a1, a3); + if (a4) + Menu_PrintText(sp00, a1, a0); +} + +void debug_80C393C(void) +{ + ProgramFlashSectorAndVerify(30, (void *)gUnknown_Debug_083F7FD6); +} + +void InitWatanabeDebugMenu(void) +{ + switch (gMain.state) + { + default: + case 0: + save_serialize_map(); + sub_8125E2C(); + gMain.state = 1; + break; + case 1: + if (sub_8125E6C()) + gMain.state++; + break; + case 2: + PlaySE(SE_SAVE); + gMain.state++; + break; + case 3: + if (!IsSEPlaying()) + { + ScriptContext2_Disable(); + SetMainCallback2(sub_80546F0); + } + break; + } +} + +void InitSizeComparison(void) +{ + u8 taskId; + debug_80C35DC(); + gReservedSpritePaletteCount = 1; + LoadPalette(gUnknown_Debug_20389EC, 0x100, 0x20); + + { + u16 imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; + } + + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + SetVBlankCallback(debug_80C3758); + SetMainCallback2(debug_80C370C); + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON; + taskId = CreateTask(debug_80C3A50, 0); + gTasks[taskId].data[0] = 0xfc; +} + #endif -- cgit v1.2.3 From bdd3cf36f59e9f3a308073f998a15a92aea62283 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 13 Apr 2018 17:40:18 -0400 Subject: nonmatching debug_80C3A50 --- src/debug/watanabe_debug_menu.c | 412 +++++++++++++++++++++++++++++++++++++++- src/pokedex.c | 17 +- 2 files changed, 411 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 582b65a3e..7ca155faa 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -17,6 +17,7 @@ #include "fieldmap.h" #include "save.h" #include "sound.h" +#include "pokedex.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; @@ -26,12 +27,23 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); -extern const u8 gUnknown_Debug_083F7FD6[8]; // = _("ゆみあくひりつ"); +extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; +extern const u8 gUnknown_Debug_083F7FDA[4]; // = _("ひりつ"); +extern const u8 gUnknown_Debug_083F7FDE[4]; // = _("たかさ"); +extern const u8 gUnknown_Debug_083F7FE2[11]; // = _("Lキー▶しゅくしょう"); +extern const u8 gUnknown_Debug_083F7FED[9]; // = _("Rキー▶かくだい"); +extern const u8 gUnknown_Debug_083F7FF6[11]; // = _("Uキー▶うえ いどう"); +extern const u8 gUnknown_Debug_083F8001[11]; // = _("Dキー▶した いどう"); +extern const u8 gUnknown_Debug_083F800C[13]; // = _("Aボタン▶そうさきりかえ"); +extern const u8 gUnknown_Debug_083F8019[9]; // = _("Bボタン▶やめる"); +extern const u8 gUnknown_Debug_083F8022[6]; // = _("スタート:"); +extern const u8 gUnknown_Debug_083F8028[6]; // = _(":セレクト"); extern const struct SpriteSheet stru_83F8828[2]; extern const struct SpritePalette stru_83F8838[2]; void debug_80C3A50(u8 taskId); +void debug_80C3D2C(u8 taskId); void debug_69(struct Sprite *sprite) { @@ -259,4 +271,400 @@ void InitSizeComparison(void) gTasks[taskId].data[0] = 0xfc; } -#endif +#ifdef NONMATCHING +void debug_80C3A50(u8 taskId) +{ + u16 natDexNum = gTasks[taskId].data[0]; + u16 species = NationalPokedexNumToSpecies(natDexNum); + u16 spriteId; + u16 spriteId2; + struct SaveBlock2 *saveBlock2 = &gSaveBlock2; + + Menu_DrawStdWindowFrame(6, 0, 23, 9); + + Menu_DrawStdWindowFrame(0, 0, 5, 9); + Menu_PrintText(gUnknown_Debug_083F7FDA, 1, 1); + Menu_PrintText(gUnknown_Debug_083F7FDE, 1, 5); + + Menu_DrawStdWindowFrame(24, 0, 29, 9); + Menu_PrintText(gUnknown_Debug_083F7FD6, 25, 1); + Menu_PrintText(gUnknown_Debug_083F7FDE, 25, 5); + + Menu_DrawStdWindowFrame(0, 10, 11, 19); + Menu_PrintText(gUnknown_Debug_083F7FE2, 1, 11); + Menu_PrintText(gUnknown_Debug_083F7FED, 1, 13); + Menu_PrintText(gUnknown_Debug_083F7FF6, 1, 15); + Menu_PrintText(gUnknown_Debug_083F8001, 1, 17); + + Menu_DrawStdWindowFrame(12, 10, 29, 15); + Menu_PrintText(gUnknown_Debug_083F800C, 13, 11); + Menu_PrintText(gUnknown_Debug_083F8019, 13, 13); + + Menu_DrawStdWindowFrame(12, 16, 29, 19); + Menu_PrintText(gUnknown_Debug_083F8022, 13, 17); + Menu_PrintText(gUnknown_Debug_083F8028, 24, 17); + + debug_80C3800(species, 18, 17); + + spriteId = sub_8091A4C(saveBlock2->playerGender, 0x98, 0x28, 0); + gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId].oam.matrixNum = 2; + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].oam.paletteNum = 0; + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(0)); + gSprites[spriteId].pos2.y = gPokedexEntries[natDexNum].trainerOffset; + SetOamMatrix(2, gPokedexEntries[natDexNum].trainerScale, 0, 0, gPokedexEntries[natDexNum].trainerScale); + gTasks[taskId].data[3] = spriteId; + gTasks[taskId].data[4] = gPokedexEntries[natDexNum].trainerOffset; + gTasks[taskId].data[6] = gPokedexEntries[natDexNum].trainerScale; + + spriteId2 = sub_80918EC(natDexNum, 0x58, 0x28, 1); + gSprites[spriteId2].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[spriteId2].oam.matrixNum = 1; + gSprites[spriteId2].oam.priority = 0; + gSprites[spriteId2].oam.paletteNum = 0; + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(0)); + gSprites[spriteId2].pos2.y = gPokedexEntries[natDexNum].pokemonOffset; + SetOamMatrix(1, gPokedexEntries[natDexNum].pokemonScale, 0, 0, gPokedexEntries[natDexNum].pokemonScale); + gTasks[taskId].data[2] = spriteId2; + gTasks[taskId].data[5] = gPokedexEntries[natDexNum].pokemonOffset; + gTasks[taskId].data[7] = gPokedexEntries[natDexNum].pokemonScale; + gTasks[taskId].data[8] = 0; + gTasks[taskId].data[9] = 0; + + REG_WININ = 0x3F1F; + REG_WINOUT = 0x001F; + REG_WIN0H = ((gTasks[taskId].data[8] * 64 + 0x38) << 8) + (gTasks[taskId].data[8] * 64 + 0x78); + REG_WIN0V = 0x0848; + REG_WIN1H = 0x31BF; + REG_WIN1V = 0x014F; + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN; + REG_BLDALPHA = 0; + REG_BLDY = 7; + REG_DISPCNT |= DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; + gTasks[taskId].func = debug_80C3D2C; +} +#else +NAKED void debug_80C3A50(u8 taskId) +{ + asm("\tpush\t{r4, r5, r6, r7, lr}\n" + "\tmov\tr7, sl\n" + "\tmov\tr6, r9\n" + "\tmov\tr5, r8\n" + "\tpush\t{r5, r6, r7}\n" + "\tadd\tsp, sp, #0xffffffd8\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr0, r0, #0x18\n" + "\tldr\tr1, ._56 @ gTasks\n" + "\tlsl\tr2, r0, #0x2\n" + "\tadd\tr0, r2, r0\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr7, r0, r1\n" + "\tldrh\tr0, [r7, #0x8]\n" + "\tstr\tr0, [sp, #0x4]\n" + "\tbl\tNationalPokedexNumToSpecies\n" + "\tmov\tr1, sp\n" + "\tstrh\tr0, [r1, #0x8]\n" + "\tadd\tr2, r0, #0\n" + "\tlsl\tr2, r2, #0x10\n" + "\tstr\tr2, [sp, #0xc]\n" + "\tlsr\tr2, r2, #0x10\n" + "\tmov\tr9, r2\n" + "\tldr\tr3, ._56 + 4 @ gSaveBlock2\n" + "\tmov\tr8, r3\n" + "\tmov\tr0, #0x6\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x17\n" + "\tmov\tr3, #0x9\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tmov\tr0, #0x0\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x5\n" + "\tmov\tr3, #0x9\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr5, ._56 + 8 @ gUnknown_Debug_083F7FD6\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0x1\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr4, ._56 + 12 @ gUnknown_Debug_083F7FDE\n" + "\tadd\tr0, r4, #0\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0x5\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0x18\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x1d\n" + "\tmov\tr3, #0x9\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tadd\tr0, r5, #0\n" + "\tmov\tr1, #0x19\n" + "\tmov\tr2, #0x1\n" + "\tbl\tMenu_PrintText\n" + "\tadd\tr0, r4, #0\n" + "\tmov\tr1, #0x19\n" + "\tmov\tr2, #0x5\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0x0\n" + "\tmov\tr1, #0xa\n" + "\tmov\tr2, #0xb\n" + "\tmov\tr3, #0x13\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr0, ._56 + 16 @ gUnknown_Debug_083F7FE2\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0xb\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 20 @ gUnknown_Debug_083F7FED\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0xd\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 24 @ gUnknown_Debug_083F7FF6\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0xf\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 28 @ gUnknown_Debug_083F8001\n" + "\tmov\tr1, #0x1\n" + "\tmov\tr2, #0x11\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0xc\n" + "\tmov\tr1, #0xa\n" + "\tmov\tr2, #0x1d\n" + "\tmov\tr3, #0xf\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr0, ._56 + 32 @ gUnknown_Debug_083F800C\n" + "\tmov\tr1, #0xd\n" + "\tmov\tr2, #0xb\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 36 @ gUnknown_Debug_083F8019\n" + "\tmov\tr1, #0xd\n" + "\tmov\tr2, #0xd\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, #0xc\n" + "\tmov\tr1, #0x10\n" + "\tmov\tr2, #0x1d\n" + "\tmov\tr3, #0x13\n" + "\tbl\tMenu_DrawStdWindowFrame\n" + "\tldr\tr0, ._56 + 40 @ gUnknown_Debug_083F8022\n" + "\tmov\tr1, #0xd\n" + "\tmov\tr2, #0x11\n" + "\tbl\tMenu_PrintText\n" + "\tldr\tr0, ._56 + 44 @ gUnknown_Debug_083F8028\n" + "\tmov\tr1, #0x18\n" + "\tmov\tr2, #0x11\n" + "\tbl\tMenu_PrintText\n" + "\tmov\tr0, r9\n" + "\tmov\tr1, #0x12\n" + "\tmov\tr2, #0x11\n" + "\tbl\tdebug_80C3800\n" + "\tmov\tr1, r8\n" + "\tldrb\tr0, [r1, #0x8]\n" + "\tmov\tr1, #0x98\n" + "\tmov\tr2, #0x28\n" + "\tmov\tr3, #0x0\n" + "\tbl\tsub_8091A4C\n" + "\tmov\tr2, sp\n" + "\tstrh\tr0, [r2, #0x10]\n" + "\tadd\tr3, r0, #0\n" + "\tlsl\tr3, r3, #0x10\n" + "\tstr\tr3, [sp, #0x18]\n" + "\tlsr\tr0, r3, #0x10\n" + "\tstr\tr0, [sp, #0x14]\n" + "\tlsl\tr4, r0, #0x4\n" + "\tadd\tr4, r4, r0\n" + "\tlsl\tr4, r4, #0x2\n" + "\tldr\tr1, ._56 + 48 @ gSprites\n" + "\tadd\tr4, r4, r1\n" + "\tldrb\tr1, [r4, #0x1]\n" + "\tmov\tr2, #0x4\n" + "\tneg\tr2, r2\n" + "\tmov\tsl, r2\n" + "\tmov\tr0, sl\n" + "\tand\tr0, r0, r1\n" + "\tmov\tr3, #0x1\n" + "\torr\tr0, r0, r3\n" + "\tstrb\tr0, [r4, #0x1]\n" + "\tldrb\tr1, [r4, #0x3]\n" + "\tmov\tr0, #0x3f\n" + "\tneg\tr0, r0\n" + "\tmov\tr9, r0\n" + "\tand\tr0, r0, r1\n" + "\tmov\tr1, #0x4\n" + "\torr\tr0, r0, r1\n" + "\tstrb\tr0, [r4, #0x3]\n" + "\tldrb\tr1, [r4, #0x5]\n" + "\tsub\tr2, r2, #0x9\n" + "\tmov\tr8, r2\n" + "\tmov\tr0, r8\n" + "\tand\tr0, r0, r1\n" + "\tmov\tr3, #0xf\n" + "\tand\tr0, r0, r3\n" + "\tstrb\tr0, [r4, #0x5]\n" + "\tmov\tr0, #0x0\n" + "\tbl\tGetSpritePaletteTagByPaletteNum\n" + "\tlsl\tr0, r0, #0x10\n" + "\tlsr\tr0, r0, #0x10\n" + "\tbl\tFreeSpritePaletteByTag\n" + "\tldr\tr0, ._56 + 52 @ gPokedexEntries\n" + "\tldr\tr1, [sp, #0x4]\n" + "\tlsl\tr5, r1, #0x3\n" + "\tadd\tr5, r5, r1\n" + "\tlsl\tr5, r5, #0x2\n" + "\tadd\tr5, r5, r0\n" + "\tldrh\tr6, [r5, #0x20]\n" + "\tstrh\tr6, [r4, #0x26]\n" + "\tldrh\tr4, [r5, #0x1e]\n" + "\tstr\tr4, [sp]\n" + "\tmov\tr0, #0x2\n" + "\tadd\tr1, r4, #0\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr3, #0x0\n" + "\tbl\tSetOamMatrix\n" + "\tmov\tr2, sp\n" + "\tldrh\tr2, [r2, #0x14]\n" + "\tstrh\tr2, [r7, #0xe]\n" + "\tstrh\tr6, [r7, #0x10]\n" + "\tstrh\tr4, [r7, #0x14]\n" + "\tldr\tr0, [sp, #0x4]\n" + "\tmov\tr1, #0x58\n" + "\tmov\tr2, #0x28\n" + "\tmov\tr3, #0x1\n" + "\tbl\tsub_80918EC\n" + "\tmov\tr3, sp\n" + "\tstrh\tr0, [r3, #0x1c]\n" + "\tlsl\tr0, r0, #0x10\n" + "\tstr\tr0, [sp, #0x24]\n" + "\tlsr\tr1, r0, #0x10\n" + "\tstr\tr1, [sp, #0x20]\n" + "\tlsl\tr4, r1, #0x4\n" + "\tadd\tr4, r4, r1\n" + "\tlsl\tr4, r4, #0x2\n" + "\tldr\tr2, ._56 + 48 @ gSprites\n" + "\tadd\tr4, r4, r2\n" + "\tldrb\tr0, [r4, #0x1]\n" + "\tmov\tr3, sl\n" + "\tand\tr3, r3, r0\n" + "\tmov\tr0, #0x1\n" + "\torr\tr3, r3, r0\n" + "\tstrb\tr3, [r4, #0x1]\n" + "\tldrb\tr0, [r4, #0x3]\n" + "\tmov\tr1, r9\n" + "\tand\tr1, r1, r0\n" + "\tmov\tr0, #0x2\n" + "\torr\tr1, r1, r0\n" + "\tstrb\tr1, [r4, #0x3]\n" + "\tldrb\tr0, [r4, #0x5]\n" + "\tmov\tr2, r8\n" + "\tand\tr2, r2, r0\n" + "\tmov\tr3, #0xf\n" + "\tand\tr2, r2, r3\n" + "\tstrb\tr2, [r4, #0x5]\n" + "\tmov\tr0, #0x0\n" + "\tbl\tGetSpritePaletteTagByPaletteNum\n" + "\tlsl\tr0, r0, #0x10\n" + "\tlsr\tr0, r0, #0x10\n" + "\tbl\tFreeSpritePaletteByTag\n" + "\tldrh\tr0, [r5, #0x1c]\n" + "\tmov\tr8, r0\n" + "\tstrh\tr0, [r4, #0x26]\n" + "\tldrh\tr4, [r5, #0x1a]\n" + "\tstr\tr4, [sp]\n" + "\tmov\tr0, #0x1\n" + "\tadd\tr1, r4, #0\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr3, #0x0\n" + "\tbl\tSetOamMatrix\n" + "\tmov\tr1, sp\n" + "\tldrh\tr1, [r1, #0x20]\n" + "\tstrh\tr1, [r7, #0xc]\n" + "\tmov\tr2, r8\n" + "\tstrh\tr2, [r7, #0x12]\n" + "\tstrh\tr4, [r7, #0x16]\n" + "\tmov\tr3, #0x0\n" + "\tstrh\tr3, [r7, #0x18]\n" + "\tstrh\tr3, [r7, #0x1a]\n" + "\tldr\tr1, ._56 + 56 @ 0x4000048\n" + "\tldr\tr2, ._56 + 60 @ 0x3f1f\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0x2\n" + "\tmov\tr0, #0x1f\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr2, ._56 + 64 @ 0x4000040\n" + "\tmov\tr3, #0x18\n" + "\tldsh\tr1, [r7, r3]\n" + "\tlsl\tr1, r1, #0x6\n" + "\tadd\tr0, r1, #0\n" + "\tadd\tr0, r0, #0x38\n" + "\tlsl\tr0, r0, #0x8\n" + "\tadd\tr1, r1, #0x78\n" + "\tadd\tr0, r0, r1\n" + "\tstrh\tr0, [r2]\n" + "\tldr\tr1, ._56 + 68 @ 0x4000044\n" + "\tldr\tr2, ._56 + 72 @ 0x848\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tsub\tr1, r1, #0x2\n" + "\tldr\tr3, ._56 + 76 @ 0x31bf\n" + "\tadd\tr0, r3, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0x4\n" + "\tldr\tr2, ._56 + 80 @ 0x14f\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0xa\n" + "\tmov\tr0, #0xe1\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr0, ._56 + 84 @ 0x4000052\n" + "\tmov\tr3, #0x0\n" + "\tstrh\tr3, [r0]\n" + "\tadd\tr1, r1, #0x4\n" + "\tmov\tr0, #0x7\n" + "\tstrh\tr0, [r1]\n" + "\tmov\tr2, #0x80\n" + "\tlsl\tr2, r2, #0x13\n" + "\tldrh\tr0, [r2]\n" + "\tmov\tr3, #0xc0\n" + "\tlsl\tr3, r3, #0x7\n" + "\tadd\tr1, r3, #0\n" + "\torr\tr0, r0, r1\n" + "\tstrh\tr0, [r2]\n" + "\tldr\tr0, ._56 + 88 @ debug_80C3D2C\n" + "\tstr\tr0, [r7]\n" + "\tadd\tsp, sp, #0x28\n" + "\tpop\t{r3, r4, r5}\n" + "\tmov\tr8, r3\n" + "\tmov\tr9, r4\n" + "\tmov\tsl, r5\n" + "\tpop\t{r4, r5, r6, r7}\n" + "\tpop\t{r0}\n" + "\tbx\tr0\n" + "._57:\n" + "\t.align\t2, 0\n" + "._56:\n" + "\t.word\tgTasks\n" + "\t.word\tgSaveBlock2\n" + "\t.word\tgUnknown_Debug_083F7FD6+0x4\n" + "\t.word\tgUnknown_Debug_083F7FDE\n" + "\t.word\tgUnknown_Debug_083F7FE2\n" + "\t.word\tgUnknown_Debug_083F7FED\n" + "\t.word\tgUnknown_Debug_083F7FF6\n" + "\t.word\tgUnknown_Debug_083F8001\n" + "\t.word\tgUnknown_Debug_083F800C\n" + "\t.word\tgUnknown_Debug_083F8019\n" + "\t.word\tgUnknown_Debug_083F8022\n" + "\t.word\tgUnknown_Debug_083F8028\n" + "\t.word\tgSprites\n" + "\t.word\tgPokedexEntries\n" + "\t.word\t0x4000048\n" + "\t.word\t0x3f1f\n" + "\t.word\t0x4000040\n" + "\t.word\t0x4000044\n" + "\t.word\t0x848\n" + "\t.word\t0x31bf\n" + "\t.word\t0x14f\n" + "\t.word\t0x4000052\n" + "\t.word\tdebug_80C3D2C+1"); +} +#endif // NONMATCHING + +#endif // DEBUG diff --git a/src/pokedex.c b/src/pokedex.c index 61f2bfbba..30b4d414c 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -94,20 +94,6 @@ enum SIZE_SCREEN }; -struct PokedexEntry -{ - /*0x00*/ u8 categoryName[12]; - /*0x0C*/ u16 height; //in decimeters - /*0x0E*/ u16 weight; //in hectograms - /*0x10*/ const u8 *descriptionPage1; - /*0x14*/ const u8 *descriptionPage2; - /*0x18*/ u16 unused; - /*0x1A*/ u16 pokemonScale; - /*0x1C*/ u16 pokemonOffset; - /*0x1E*/ u16 trainerScale; - /*0x20*/ u16 trainerOffset; -}; /*size = 0x24*/ - struct UnknownStruct2 { const u8 *text1; @@ -1277,7 +1263,6 @@ void sub_8091738(u16, u16, u16); static void sub_80917CC(u16 i, u16 i1); static u16 sub_8091818(u8, u16, u16, u16); u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d); -u8 sub_8091A4C(u16 gender, s16, s16, u16); static void sub_8091E54(u8); static void sub_809204C(u8); static void sub_809207C(u8); @@ -4584,7 +4569,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum) return spriteId; } -u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum) +u16 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum) { u8 spriteId; -- cgit v1.2.3 From ea25c05dcc8ba88c967f08d39f9d4c4db2e0cd3a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 14 Apr 2018 14:38:41 -0400 Subject: debug_80C3D2C --- src/debug/watanabe_debug_menu.c | 125 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 122 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 7ca155faa..1f9bb8672 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -26,6 +26,10 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u8 byte_3005E30[0x20]; +void debug_80C3A50(u8 taskId); +void debug_80C3D2C(u8 taskId); +void debug_80C68CC(u16, u8, u8, u8); + extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; extern const u8 gUnknown_Debug_083F7FDA[4]; // = _("ひりつ"); @@ -42,9 +46,6 @@ extern const u8 gUnknown_Debug_083F8028[6]; // = _(":セレクト"); extern const struct SpriteSheet stru_83F8828[2]; extern const struct SpritePalette stru_83F8838[2]; -void debug_80C3A50(u8 taskId); -void debug_80C3D2C(u8 taskId); - void debug_69(struct Sprite *sprite) { @@ -667,4 +668,122 @@ NAKED void debug_80C3A50(u8 taskId) } #endif // NONMATCHING +void debug_80C3D2C(u8 taskId) +{ + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + SetMainCallback2(debug_80C370C); + gTasks[taskId].func = debug_80C373C; + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gTasks[taskId].data[8] ^= 1; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + if (gTasks[taskId].data[8]) + { + if (gMain.heldKeys & R_BUTTON) + gTasks[taskId].data[6] += 16; + else + gTasks[taskId].data[6] += 1; + if ((u16)gTasks[taskId].data[6] > 0x8000) + gTasks[taskId].data[6] = 0x8000; + } + else + { + if (gMain.heldKeys & R_BUTTON) + gTasks[taskId].data[7] += 16; + else + gTasks[taskId].data[7] += 1; + if ((u16)gTasks[taskId].data[7] > 0x8000) + gTasks[taskId].data[7] = 0x8000; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + if (gTasks[taskId].data[8]) + { + if (gMain.heldKeys & R_BUTTON) + gTasks[taskId].data[6] -= 16; + else + gTasks[taskId].data[6] -= 1; + if (gTasks[taskId].data[6] < 0x100) + gTasks[taskId].data[6] = 0x100; + } + else + { + if (gMain.heldKeys & R_BUTTON) + gTasks[taskId].data[7] -= 16; + else + gTasks[taskId].data[7] -= 1; + if (gTasks[taskId].data[7] < 0x100) + gTasks[taskId].data[7] = 0x100; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (gTasks[taskId].data[8]) + { + gTasks[taskId].data[4]--; + } + else + { + gTasks[taskId].data[5]--; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (gTasks[taskId].data[8]) + { + gTasks[taskId].data[4]++; + } + else + { + gTasks[taskId].data[5]++; + } + } + else if (gMain.newAndRepeatedKeys & START_BUTTON) + { + if (gTasks[taskId].data[0] < 0x182) + gTasks[taskId].data[0]++; + else + gTasks[taskId].data[0] = 1; + DestroySprite(gSprites + gTasks[taskId].data[2]); + DestroySprite(gSprites + gTasks[taskId].data[3]); + gTasks[taskId].func = debug_80C3A50; + } + else if (gMain.newAndRepeatedKeys & SELECT_BUTTON) + { + if (gTasks[taskId].data[0] > 1) + gTasks[taskId].data[0]--; + else + gTasks[taskId].data[0] = 0x182; + DestroySprite(gSprites + gTasks[taskId].data[2]); + DestroySprite(gSprites + gTasks[taskId].data[3]); + gTasks[taskId].func = debug_80C3A50; + } + else + { + u16 scale = gTasks[taskId].data[7]; + u16 offset = gTasks[taskId].data[5]; + SetOamMatrix(1, scale, 0, 0, scale); + debug_80C68CC(scale, 1, 3, 4); + debug_80C68CC(offset, 1, 7, 4); + gSprites[gTasks[taskId].data[2]].pos2.y = offset; + + scale = gTasks[taskId].data[6]; + offset = gTasks[taskId].data[4]; + SetOamMatrix(2, scale, 0, 0, scale); + debug_80C68CC(scale, 25, 3, 4); + debug_80C68CC(offset, 25, 7, 4); + gSprites[gTasks[taskId].data[3]].pos2.y = offset; + + REG_WIN0H = ((gTasks[taskId].data[8] * 64 + 0x38) << 8) + (gTasks[taskId].data[8] * 64 + 0x78); + } +} + #endif // DEBUG -- cgit v1.2.3 From 21e006d680b2cf3b511e2f346cf997ab2fbbee47 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 14 Apr 2018 16:11:45 -0400 Subject: through debug_80C42B8 --- src/debug/watanabe_debug_menu.c | 157 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 155 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 1f9bb8672..a75ee16f1 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -18,16 +18,24 @@ #include "save.h" #include "sound.h" #include "pokedex.h" +#include "load_save.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; -u8 byte_3005E30[0x20]; +u32 byte_3005E30; void debug_80C3A50(u8 taskId); void debug_80C3D2C(u8 taskId); +void debug_80C4214(u8); +void debug_80C42B8(u8 taskId); +void debug_80C4348(u8 taskId); +void debug_80C44EC(u8 taskId); +void debug_80C4694(void); +void debug_80C4704(void); +void debug_80C47BC(u8 taskId); void debug_80C68CC(u16, u8, u8, u8); extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); @@ -42,6 +50,8 @@ extern const u8 gUnknown_Debug_083F800C[13]; // = _("Aボタン▶そうさき extern const u8 gUnknown_Debug_083F8019[9]; // = _("Bボタン▶やめる"); extern const u8 gUnknown_Debug_083F8022[6]; // = _("スタート:"); extern const u8 gUnknown_Debug_083F8028[6]; // = _(":セレクト"); +extern const u8 gUnknown_Debug_083F8194[12]; // = _("ポケモンを えらんでね"); +extern const u8 gUnknown_Debug_083F81A0[13]; // = _("{COLOR RED}START:つぎへ"); extern const struct SpriteSheet stru_83F8828[2]; extern const struct SpritePalette stru_83F8838[2]; @@ -209,7 +219,7 @@ u16 debug_80C38B4(u8 a0, u16 a1) void debug_80C38E4(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4) { // u8 sp00[] = _("▶"); - u8 sp00[2]; + u8 sp00[sizeof(gUnknown_Debug_083F7FD4)]; memcpy(sp00, gUnknown_Debug_083F7FD4, ARRAY_COUNT(gUnknown_Debug_083F7FD4)); Menu_BlankWindowRect(a1, a2, a1, a3); @@ -786,4 +796,147 @@ void debug_80C3D2C(u8 taskId) } } +void debug_80C405C(u8 * dest, u16 species) +{ + u8 i; + + for (i = 0; i < 10; i++) + dest[i] = CHAR_SPACE; + dest[i] = EOS; + + dest[0] = CHAR_HYPHEN; + + if (species != SPECIES_NONE) + { + for (i = 0; gSpeciesNames[species][i] != EOS && i < 10; i++) + dest[i] = gSpeciesNames[species][i]; + } +} + +void debug_80C40C4(bool8 who) +{ + u8 i; + u16 maxHp; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (who) + { + struct Pokemon *pokemon = gEnemyParty + i; + if (GetMonData(pokemon, MON_DATA_SPECIES) != SPECIES_NONE) + { + CalculateMonStats(pokemon); + maxHp = GetMonData(pokemon, MON_DATA_MAX_HP); + SetMonData(pokemon, MON_DATA_HP, &maxHp); + } + } + else + { + struct Pokemon *pokemon = gPlayerParty + i; + if (GetMonData(pokemon, MON_DATA_SPECIES) != SPECIES_NONE) + { + CalculateMonStats(pokemon); + maxHp = GetMonData(pokemon, MON_DATA_MAX_HP); + SetMonData(pokemon, MON_DATA_HP, &maxHp); + } + } + } +} + +void InitBattleForDebug(void) +{ + SavePlayerParty(); + gUnknown_Debug_2038A0C[13] = gSaveBlock2.playerGender; + gUnknown_Debug_2038A0C[0] = 0; + gUnknown_Debug_2038A0C[1] = 0; + gUnknown_Debug_2038A0C[2] = 0; + gUnknown_Debug_2038A0C[3] = 0; + gUnknown_Debug_2038A0C[4] = 0; + gUnknown_Debug_2038A0C[5] = 0; + gUnknown_Debug_2038A0C[6] = 0; + gUnknown_Debug_2038A0C[7] = 0; + gUnknown_Debug_2038A0C[8] = 0; + gUnknown_Debug_2038A0C[12] = 0; + byte_3005E30 = 0; + ZeroPlayerPartyMons(); + ZeroEnemyPartyMons(); + debug_80C4214(0); + CreateTask(debug_80C47BC, 0); +} + +void debug_80C41A8(void) +{ + gUnknown_Debug_2038A0C[1] = 0; + gUnknown_Debug_2038A0C[2] = 0; + ZeroPlayerPartyMons(); + ZeroEnemyPartyMons(); + debug_80C4214(0); + CreateTask(debug_80C47BC, 0); +} + +void debug_80C41D4(void) +{ + debug_80C40C4(0); + debug_80C4214(0); + CreateTask(debug_80C42B8, 0); +} + +void debug_80C41F4(void) +{ + debug_80C40C4(1); + debug_80C4214(1); + CreateTask(debug_80C42B8, 0); +} + +void debug_80C4214(UNUSED u8 a0) +{ + debug_80C35DC(); + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WIN1H = 0; + REG_WIN1V = 0; + REG_WININ = 0x1111; + REG_WINOUT = 0x0031; + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN; + REG_BLDALPHA = 0; + REG_BLDY = 7; + + { + u16 imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; + } + + SetVBlankCallback(debug_80C3758); + SetMainCallback2(debug_80C370C); + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; + REG_WIN0H = 0x01EF; + REG_WIN0V = 0x819F; +} + +void debug_80C42B8(u8 taskId) +{ + u8 sp00[sizeof(gUnknown_Debug_083F8194)]; + u8 sp0c[sizeof(gUnknown_Debug_083F81A0)]; + + memcpy(sp00, gUnknown_Debug_083F8194, sizeof(gUnknown_Debug_083F8194)); + memcpy(sp0c, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0)); + + // u8 sp00[] = _("ポケモンを えらんでね"); + // u8 sp0c[] = _("{COLOR RED}START:つぎへ"); + + Menu_DrawStdWindowFrame(0, 16, 29, 19); + Menu_PrintText(sp00, 1, 17); + Menu_PrintText(sp0c, 20, 17); + + debug_80C4694(); + debug_80C4704(); + + if (gUnknown_Debug_2038A0C[0]) + gTasks[taskId].func = debug_80C44EC; + else + gTasks[taskId].func = debug_80C4348; +} + #endif // DEBUG -- cgit v1.2.3 From 7ce151910a3075757813ae3a870f30b5809e669c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 14 Apr 2018 21:34:03 -0400 Subject: through debug_80C43A8 --- src/debug/watanabe_debug_menu.c | 52 +++++++++++++++++++++++++++++++++++++++++ src/pokemon_storage_system_2.c | 8 +++---- 2 files changed, 56 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index a75ee16f1..672b28e71 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -19,6 +19,7 @@ #include "sound.h" #include "pokedex.h" #include "load_save.h" +#include "pokemon_storage_system.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; @@ -32,10 +33,14 @@ void debug_80C3D2C(u8 taskId); void debug_80C4214(u8); void debug_80C42B8(u8 taskId); void debug_80C4348(u8 taskId); +void debug_80C43A8(u8 taskId); void debug_80C44EC(u8 taskId); void debug_80C4694(void); void debug_80C4704(void); +bool8 debug_80C4774(void); void debug_80C47BC(u8 taskId); +void debug_80C4D14(u8 taskId); +void debug_80C4F48(u8 taskId); void debug_80C68CC(u16, u8, u8, u8); extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); @@ -939,4 +944,51 @@ void debug_80C42B8(u8 taskId) gTasks[taskId].func = debug_80C4348; } +void debug_80C4348(u8 taskId) +{ + debug_80C38E4(gUnknown_Debug_2038A0C[1] * 2 + 3, 1, 1, 14, 1); + REG_WIN1H = 0x0177; + REG_WIN1V = 0x017F; + gTasks[taskId].func = debug_80C43A8; +} + +void debug_80C43A8(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + debug_sub_80A433C(gPlayerParty + gUnknown_Debug_2038A0C[1], debug_80C41D4); + DestroyTask(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = debug_80C4F48; + } + else if (gMain.newKeys & START_BUTTON) + { + if (debug_80C4774()) + { + PlaySE(SE_SELECT); + CalculatePlayerPartyCount(); + CalculateEnemyPartyCount(); + gTasks[taskId].func = debug_80C4D14; + } + } + else if (gMain.newKeys & (R_BUTTON | DPAD_RIGHT)) + { + debug_80C38E4(0, 1, 1, 14, 0); + gTasks[taskId].func = debug_80C44EC; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[1] != 0) + { + gUnknown_Debug_2038A0C[1]--; + gTasks[taskId].func = debug_80C4348; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[1] < 5 && GetMonData(gPlayerParty + gUnknown_Debug_2038A0C[1], MON_DATA_SPECIES) != SPECIES_NONE) + { + gUnknown_Debug_2038A0C[1]++; + gTasks[taskId].func = debug_80C4348; + } +} + #endif // DEBUG diff --git a/src/pokemon_storage_system_2.c b/src/pokemon_storage_system_2.c index 0905c185b..762850e06 100644 --- a/src/pokemon_storage_system_2.c +++ b/src/pokemon_storage_system_2.c @@ -335,11 +335,11 @@ void debug_sub_80A4300(void) } extern void (*unk_2038794)(void); -extern u32 unk_2038798; +extern struct Pokemon * unk_2038798; -extern void unref_sub_809CB94(); +extern void debug_sub_809CB94(struct Pokemon *); -void debug_sub_80A433C(u32 a, void (*b)(void)) +void debug_sub_80A433C(struct Pokemon * a, void (*b)(void)) { unk_2038794 = b; unk_2038798 = a; @@ -351,7 +351,7 @@ void debug_sub_80A435C(void) switch (gPokemonStorageSystemPtr->unk_0004) { case 0: - unref_sub_809CB94(unk_2038798); + debug_sub_809CB94(unk_2038798); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gPokemonStorageSystemPtr->unk_0004++; break; -- cgit v1.2.3 From 2a794fec1f975201823dd0d3c5be4553a23d7fed Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 15 Apr 2018 19:02:25 -0400 Subject: through debug_80C4774 --- src/debug/watanabe_debug_menu.c | 100 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 96 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 672b28e71..dbb086469 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -35,6 +35,7 @@ void debug_80C42B8(u8 taskId); void debug_80C4348(u8 taskId); void debug_80C43A8(u8 taskId); void debug_80C44EC(u8 taskId); +void debug_80C4550(u8 taskId); void debug_80C4694(void); void debug_80C4704(void); bool8 debug_80C4774(void); @@ -57,6 +58,8 @@ extern const u8 gUnknown_Debug_083F8022[6]; // = _("スタート:"); extern const u8 gUnknown_Debug_083F8028[6]; // = _(":セレクト"); extern const u8 gUnknown_Debug_083F8194[12]; // = _("ポケモンを えらんでね"); extern const u8 gUnknown_Debug_083F81A0[13]; // = _("{COLOR RED}START:つぎへ"); +extern const u8 gUnknown_Debug_083F81AD[13]; // = _("{COLOR RED}じぶんの ポケモン"); +extern const u8 gUnknown_Debug_083F81BA[13]; // = _("{COLOR RED}あいての ポケモン"); extern const struct SpriteSheet stru_83F8828[2]; extern const struct SpritePalette stru_83F8838[2]; @@ -224,9 +227,9 @@ u16 debug_80C38B4(u8 a0, u16 a1) void debug_80C38E4(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4) { // u8 sp00[] = _("▶"); - u8 sp00[sizeof(gUnknown_Debug_083F7FD4)]; + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F7FD4)]; - memcpy(sp00, gUnknown_Debug_083F7FD4, ARRAY_COUNT(gUnknown_Debug_083F7FD4)); + memcpy(sp00, gUnknown_Debug_083F7FD4, sizeof(gUnknown_Debug_083F7FD4)); Menu_BlankWindowRect(a1, a2, a1, a3); if (a4) Menu_PrintText(sp00, a1, a0); @@ -922,8 +925,8 @@ void debug_80C4214(UNUSED u8 a0) void debug_80C42B8(u8 taskId) { - u8 sp00[sizeof(gUnknown_Debug_083F8194)]; - u8 sp0c[sizeof(gUnknown_Debug_083F81A0)]; + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8194)]; + u8 sp0c[ARRAY_COUNT(gUnknown_Debug_083F81A0)]; memcpy(sp00, gUnknown_Debug_083F8194, sizeof(gUnknown_Debug_083F8194)); memcpy(sp0c, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0)); @@ -991,4 +994,93 @@ void debug_80C43A8(u8 taskId) } } +void debug_80C44EC(u8 taskId) +{ + debug_80C38E4(gUnknown_Debug_2038A0C[2] * 2 + 3, 16, 1, 14, 1); + REG_WIN1H = 0x79EF; + REG_WIN1V = 0x017F; + gTasks[taskId].func = debug_80C4550; +} + +void debug_80C4550(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + debug_sub_80A433C(gEnemyParty + gUnknown_Debug_2038A0C[2], debug_80C41F4); + DestroyTask(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = debug_80C4F48; + } + else if (gMain.newKeys & START_BUTTON) + { + if (debug_80C4774()) + { + PlaySE(SE_SELECT); + CalculatePlayerPartyCount(); + CalculateEnemyPartyCount(); + gTasks[taskId].func = debug_80C4D14; + } + } + else if (gMain.newKeys & (L_BUTTON | DPAD_LEFT)) + { + debug_80C38E4(0, 16, 1, 14, 0); + gTasks[taskId].func = debug_80C4348; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[2] != 0) + { + gUnknown_Debug_2038A0C[2]--; + gTasks[taskId].func = debug_80C44EC; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[2] < 5 && GetMonData(gEnemyParty + gUnknown_Debug_2038A0C[2], MON_DATA_SPECIES) != SPECIES_NONE) + { + gUnknown_Debug_2038A0C[2]++; + gTasks[taskId].func = debug_80C44EC; + } +} + +void debug_80C4694(void) +{ + u8 i; + // u8 sp00[] = _("{COLOR RED}じぶんの ポケモン"); + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81AD)]; + u8 sp10[POKEMON_NAME_LENGTH + 1]; + memcpy(sp00, gUnknown_Debug_083F81AD, sizeof(gUnknown_Debug_083F81AD)); + + Menu_DrawStdWindowFrame(0, 0, 14, 15); + Menu_PrintText(sp00, 2, 1); + for (i = 0; i < PARTY_SIZE; i++) + { + debug_80C405C(sp10, GetMonData(gPlayerParty + i, MON_DATA_SPECIES)); + Menu_PrintText(sp10, 2, 2 * i + 3); + } +} + +void debug_80C4704(void) +{ + u8 i; + // u8 sp00[] = _("{COLOR RED}あいての ポケモン"); + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81BA)]; + u8 sp10[POKEMON_NAME_LENGTH + 1]; + memcpy(sp00, gUnknown_Debug_083F81BA, sizeof(gUnknown_Debug_083F81BA)); + + Menu_DrawStdWindowFrame(15, 0, 29, 15); + Menu_PrintText(sp00, 17, 1); + for (i = 0; i < PARTY_SIZE; i++) + { + debug_80C405C(sp10, GetMonData(gEnemyParty + i, MON_DATA_SPECIES)); + Menu_PrintText(sp10, 17, 2 * i + 3); + } +} + +bool8 debug_80C4774(void) +{ + u8 i = gUnknown_Debug_2038A0C[12] - 1; + if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(gEnemyParty + i, MON_DATA_SPECIES) != SPECIES_NONE) + return TRUE; + return FALSE; +} + #endif // DEBUG -- cgit v1.2.3 From cd797cb4aad9960745be1e04625c5247d2b350a8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 15 Apr 2018 20:01:17 -0400 Subject: through debug_80C48A0 --- src/debug/watanabe_debug_menu.c | 58 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index dbb086469..112fd7e13 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -26,6 +26,11 @@ EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; +struct WatanabeDebugMenuItem { + const u8 * text; + u32 value; +}; + u32 byte_3005E30; void debug_80C3A50(u8 taskId); @@ -40,10 +45,15 @@ void debug_80C4694(void); void debug_80C4704(void); bool8 debug_80C4774(void); void debug_80C47BC(u8 taskId); +void debug_80C48A0(u8 taskId); +void debug_80C4900(u8 taskId); +void debug_80C4C44(u8); void debug_80C4D14(u8 taskId); void debug_80C4F48(u8 taskId); void debug_80C68CC(u16, u8, u8, u8); +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; + extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; extern const u8 gUnknown_Debug_083F7FDA[4]; // = _("ひりつ"); @@ -60,6 +70,9 @@ extern const u8 gUnknown_Debug_083F8194[12]; // = _("ポケモンを えらん extern const u8 gUnknown_Debug_083F81A0[13]; // = _("{COLOR RED}START:つぎへ"); extern const u8 gUnknown_Debug_083F81AD[13]; // = _("{COLOR RED}じぶんの ポケモン"); extern const u8 gUnknown_Debug_083F81BA[13]; // = _("{COLOR RED}あいての ポケモン"); +extern const u8 gUnknown_Debug_083F81C7[15]; // = _("たいせんモードを えらんでね"); +extern const u8 gUnknown_Debug_083F81D6[15]; // = _("{COLOR RED}バトルモード せんたく"); +extern const u8 gUnknown_Debug_083F81E5[16]; // = _("{COLOR RED}トレーナーAI せんたく"); extern const struct SpriteSheet stru_83F8828[2]; extern const struct SpritePalette stru_83F8838[2]; @@ -1083,4 +1096,49 @@ bool8 debug_80C4774(void) return FALSE; } +void debug_80C47BC(u8 taskId) +{ + u8 i; + + // u8 sp00[] = _("{COLOR RED}あいての ポケモン"); + // u8 sp10[] = _("たいせんモードを えらんでね"); + // u8 sp20[] = _("{COLOR RED}バトルモード せんたく"); + // u8 sp30[] = _("{COLOR RED}トレーナーAI せんたく"); + + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81C7)]; + u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F81A0)]; + u8 sp20[ARRAY_COUNT(gUnknown_Debug_083F81D6)]; + u8 sp30[ARRAY_COUNT(gUnknown_Debug_083F81E5)]; + + memcpy(sp00, gUnknown_Debug_083F81C7, sizeof(gUnknown_Debug_083F81C7)); + memcpy(sp10, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0)); + memcpy(sp20, gUnknown_Debug_083F81D6, sizeof(gUnknown_Debug_083F81D6)); + memcpy(sp30, gUnknown_Debug_083F81E5, sizeof(gUnknown_Debug_083F81E5)); + + Menu_DrawStdWindowFrame(0, 16, 29, 19); + Menu_PrintText(sp00, 1, 17); + Menu_PrintText(sp10, 20, 17); + + Menu_DrawStdWindowFrame(0, 0, 14, 15); + Menu_PrintText(sp20, 2, 1); + + for (i = 0; i < ARRAY_COUNT(gUnknown_Debug_083F8068); i++) + Menu_PrintText(gUnknown_Debug_083F8068[i].text, 2, 2 * i + 3); + + Menu_DrawStdWindowFrame(15, 0, 29, 15); + Menu_PrintText(sp30, 17, 1); + + debug_80C4C44(gUnknown_Debug_2038A0C[4]); + + gTasks[taskId].func = debug_80C48A0; +} + +void debug_80C48A0(u8 taskId) +{ + debug_80C38E4(2 * gUnknown_Debug_2038A0C[3] + 3, 1, 1, 14, 1); + REG_WIN1H = 0x0177; + REG_WIN1V = 0x017F; + gTasks[taskId].func = debug_80C4900; +} + #endif // DEBUG -- cgit v1.2.3 From dc8dba69491585097dc41ad33ff8006820ec8fd4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 15 Apr 2018 21:19:54 -0400 Subject: through debug_80C4AC4 (temp ewram struct) --- src/debug/watanabe_debug_menu.c | 138 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 135 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 112fd7e13..dcb74b870 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1,5 +1,6 @@ #if DEBUG #include "global.h" +#include "ewram.h" #include "gba/flash_internal.h" #include "constants/species.h" #include "constants/songs.h" @@ -20,15 +21,22 @@ #include "pokedex.h" #include "load_save.h" #include "pokemon_storage_system.h" +#include "battle.h" EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; -struct WatanabeDebugMenuItem { +struct WatanabeDebugMenuItem1 { const u8 * text; - u32 value; + u8 battleTypeFlags; + u8 unk5; +}; + +struct WatanabeDebugMenuItem2 { + const u8 * text; + u32 mask; }; u32 byte_3005E30; @@ -47,12 +55,15 @@ bool8 debug_80C4774(void); void debug_80C47BC(u8 taskId); void debug_80C48A0(u8 taskId); void debug_80C4900(u8 taskId); +void debug_80C4A60(u8 taskId); +void debug_80C4AC4(u8 taskId); void debug_80C4C44(u8); void debug_80C4D14(u8 taskId); void debug_80C4F48(u8 taskId); void debug_80C68CC(u16, u8, u8, u8); -extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; +extern const struct WatanabeDebugMenuItem1 gUnknown_Debug_083F8068[5]; +extern const struct WatanabeDebugMenuItem2 gUnknown_Debug_083F80D8[10]; extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; @@ -1141,4 +1152,125 @@ void debug_80C48A0(u8 taskId) gTasks[taskId].func = debug_80C4900; } +void debug_80C4900(u8 taskId) +{ + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + SetMainCallback2(debug_80C370C); + LoadPlayerParty(); + gSaveBlock2.playerGender = gUnknown_Debug_2038A0C[13]; + gBattleTypeFlags = 0; + gUnknown_02023A14_50 = 0; + gTasks[taskId].func = debug_80C373C; + } + else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gBattleTypeFlags = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].battleTypeFlags; + gUnknown_02023A14_50 = 8; + gUnknown_Debug_2038A0C[12] = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].unk5; + if (gUnknown_Debug_2038A0C[3] == 1 || gUnknown_Debug_2038A0C[3] == 2) + { + debug_80C38E4(0, 1, 1, 14, 0); + gTasks[taskId].func = debug_80C4A60; + } + else + { + gTasks[taskId].func = debug_80C4F48; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[3] > 0) + { + gUnknown_Debug_2038A0C[3]--; + gTasks[taskId].func = debug_80C48A0; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[3] < 2) + { + gUnknown_Debug_2038A0C[3]++; + gTasks[taskId].func = debug_80C48A0; + } +} + +void debug_80C4A60(u8 taskId) +{ + debug_80C38E4(gUnknown_Debug_2038A0C[5] * 2 + 3, 16, 1, 14, 1); + REG_WIN1H = 0x79EF; + REG_WIN1V = 0x017F; + gTasks[taskId].func = debug_80C4AC4; +} + +struct WatanabeEwram17000 { + u8 fill0; + u8 unk1_0:4; + u8 unk1_4:1; + u8 unk1_5:3; + u8 unk2; + u8 unk3; + u8 fill4[5]; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; +}; + +#define eWatanabe17000 (*(struct WatanabeEwram17000 *)(gSharedMem + 0x17000)) + +void debug_80C4AC4(u8 taskId) +{ + u8 r1 = gUnknown_Debug_2038A0C[4] + gUnknown_Debug_2038A0C[5]; + + if (gMain.newKeys & A_BUTTON) + { + u32 mask = gUnknown_Debug_083F80D8[r1].mask; + if (byte_3005E30 & mask) + byte_3005E30 &= (mask ^ 0xFFFF); + else + byte_3005E30 |= mask; + debug_80C4C44(gUnknown_Debug_2038A0C[4]); + gTasks[taskId].func = debug_80C4A60; + } + else if (gMain.newKeys & B_BUTTON) + { + debug_80C38E4(0, 16, 1, 14, 0); + gTasks[taskId].func = debug_80C48A0; + } + else if (gMain.newKeys & START_BUTTON) + { + PlaySE(SE_SELECT); + gTrainerBattleOpponent = 0x400; + eWatanabe17000.unk1_4 = 0; + eWatanabe17000.unk2 = 0xAC; + eWatanabe17000.unk3 = 0xFF; + eWatanabe17000.unk9 = 0; + eWatanabe17000.unkA = 0; + eWatanabe17000.unkB = 0; + eWatanabe17000.unkC = 0; + gTasks[taskId].func = debug_80C4F48; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (gUnknown_Debug_2038A0C[5] > 0) + gUnknown_Debug_2038A0C[5]--; + else if (gUnknown_Debug_2038A0C[4] > 0) + { + gUnknown_Debug_2038A0C[4]--; + debug_80C4C44(gUnknown_Debug_2038A0C[4]); + } + gTasks[taskId].func = debug_80C4A60; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[5] < 9) + { + if (gUnknown_Debug_2038A0C[5] < 5) + gUnknown_Debug_2038A0C[5]++; + else if (gUnknown_Debug_2038A0C[4] < 4) + { + gUnknown_Debug_2038A0C[4]++; + debug_80C4C44(gUnknown_Debug_2038A0C[4]); + } + gTasks[taskId].func = debug_80C4A60; + } +} + #endif // DEBUG -- cgit v1.2.3 From d86e8008b34c9fffad032cb3b212399f79bfbcd3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 16 Apr 2018 23:20:01 -0400 Subject: through debug_80C4F48 --- src/debug/watanabe_debug_menu.c | 239 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 224 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index dcb74b870..a4002e325 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -28,15 +28,13 @@ EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; -struct WatanabeDebugMenuItem1 { +struct WatanabeDebugMenuItem { const u8 * text; - u8 battleTypeFlags; - u8 unk5; -}; - -struct WatanabeDebugMenuItem2 { - const u8 * text; - u32 mask; + union { + u8 type1[2]; + u32 type2; + u8 type3; + } data; }; u32 byte_3005E30; @@ -59,11 +57,18 @@ void debug_80C4A60(u8 taskId); void debug_80C4AC4(u8 taskId); void debug_80C4C44(u8); void debug_80C4D14(u8 taskId); +void debug_80C4DB8(u8 taskId); +void debug_80C4E18(u8 taskId); +void debug_80C4F00(u8); void debug_80C4F48(u8 taskId); +void debug_80C5038(u8 taskId); +void debug_80C5158(u8 taskId); void debug_80C68CC(u16, u8, u8, u8); +void debug_80C7584(struct Sprite *); -extern const struct WatanabeDebugMenuItem1 gUnknown_Debug_083F8068[5]; -extern const struct WatanabeDebugMenuItem2 gUnknown_Debug_083F80D8[10]; +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F814C[9]; extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; @@ -84,9 +89,61 @@ extern const u8 gUnknown_Debug_083F81BA[13]; // = _("{COLOR RED}あいての  extern const u8 gUnknown_Debug_083F81C7[15]; // = _("たいせんモードを えらんでね"); extern const u8 gUnknown_Debug_083F81D6[15]; // = _("{COLOR RED}バトルモード せんたく"); extern const u8 gUnknown_Debug_083F81E5[16]; // = _("{COLOR RED}トレーナーAI せんたく"); +extern const u8 gUnknown_Debug_083F81F5[13]; // = _("{COLOR RED}START:かいし"); +extern const u8 gUnknown_Debug_083F8202[15]; // =_("{COLOR RED}バトルちけい せんたく"); +extern const u8 gUnknown_Debug_083F8211[17]; // = _("じぶんの せいべつを えらんでね"); +extern const u8 gUnknown_Debug_083F8222[13]; // = _("{COLOR RED}せいべつ せんたく"); +extern const u8 gUnknown_Debug_083F822F[4]; // = _("おとこ"); +extern const u8 gUnknown_Debug_083F8233[4]; // = _("おんな"); + +#define SPRITETAG_WATANABE 0x1000 + +u8 byte_83F88EC[]; +u16 word_83F888C[]; + +struct SpriteSheet stru_83F8828[] = { + {byte_83F88EC, 0x800, SPRITETAG_WATANABE}, + {} +}; +struct SpritePalette stru_83F8838[] = { + {word_83F888C, SPRITETAG_WATANABE}, + {} +}; + +struct OamData gOamData_83F8848 = { + .y = 0xa0 +}; -extern const struct SpriteSheet stru_83F8828[2]; -extern const struct SpritePalette stru_83F8838[2]; +union AnimCmd gSpriteAnim_83F8850[] = { + ANIMCMD_FRAME(38, 30), + ANIMCMD_END +}; + +union AnimCmd gSpriteAnim_83F8858[] = { + ANIMCMD_FRAME(39, 30), + ANIMCMD_END +}; + +union AnimCmd gSpriteAnim_83F8860[] = { + ANIMCMD_FRAME(40, 30), + ANIMCMD_END +}; + +const union AnimCmd *gSpriteAnimTable_83F8868[] = { + gSpriteAnim_83F8850, + gSpriteAnim_83F8858, + gSpriteAnim_83F8860 +}; + +struct SpriteTemplate gSpriteTemplate_83F8874 = { + SPRITETAG_WATANABE, + SPRITETAG_WATANABE, + &gOamData_83F8848, + gSpriteAnimTable_83F8868, + NULL, + gDummySpriteAffineAnimTable, + debug_80C7584 +}; void debug_69(struct Sprite *sprite) { @@ -1168,9 +1225,9 @@ void debug_80C4900(u8 taskId) else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - gBattleTypeFlags = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].battleTypeFlags; + gBattleTypeFlags = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].data.type1[0]; gUnknown_02023A14_50 = 8; - gUnknown_Debug_2038A0C[12] = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].unk5; + gUnknown_Debug_2038A0C[12] = gUnknown_Debug_083F8068[gUnknown_Debug_2038A0C[3]].data.type1[1]; if (gUnknown_Debug_2038A0C[3] == 1 || gUnknown_Debug_2038A0C[3] == 2) { debug_80C38E4(0, 1, 1, 14, 0); @@ -1223,7 +1280,7 @@ void debug_80C4AC4(u8 taskId) if (gMain.newKeys & A_BUTTON) { - u32 mask = gUnknown_Debug_083F80D8[r1].mask; + u32 mask = gUnknown_Debug_083F80D8[r1].data.type2; if (byte_3005E30 & mask) byte_3005E30 &= (mask ^ 0xFFFF); else @@ -1273,4 +1330,156 @@ void debug_80C4AC4(u8 taskId) } } +void debug_80C4C44(u8 a0) +{ + u8 i; + u8 j; + u8 sp00[15]; + + for (i = 0; i < 6; i++) + { + if (i + a0 < 10) + { + for (j = 0; gUnknown_Debug_083F80D8[i + a0].text[j] != EOS && j < 12; j++) + { + sp00[j + 3] = gUnknown_Debug_083F80D8[i + a0].text[j]; + } + for (; j < 12; j++) + { + sp00[j + 3] = CHAR_SPACE; + } + sp00[14] = EOS; + sp00[0] = EXT_CTRL_CODE_BEGIN; + sp00[1] = 0x01; + if (byte_3005E30 & (1 << (i + a0))) + sp00[2] = 0x03; + else + sp00[2] = 0x01; + Menu_PrintText(sp00, 17, 2 * i + 3); + } + } +} + +void debug_80C4D14(u8 taskId) +{ + // u8 sp00[] = _("たいせんモードを えらんでね"); + // u8 sp10[] = _("{COLOR RED}START:かいし"); + // u8 sp20[] = _("{COLOR RED}バトルちけい せんたく"); + + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81C7)]; + u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F81F5)]; + u8 sp20[ARRAY_COUNT(gUnknown_Debug_083F8202)]; + + memcpy(sp00, gUnknown_Debug_083F81C7, sizeof(gUnknown_Debug_083F81C7)); + memcpy(sp10, gUnknown_Debug_083F81F5, sizeof(gUnknown_Debug_083F81F5)); + memcpy(sp20, gUnknown_Debug_083F8202, sizeof(gUnknown_Debug_083F8202)); + + Menu_DrawStdWindowFrame(0, 16, 29, 19); + Menu_PrintText(sp00, 1, 17); + Menu_PrintText(sp10, 20, 17); + + Menu_DrawStdWindowFrame(0, 0, 14, 15); + Menu_PrintText(sp20, 2, 1); + debug_80C4F00(gUnknown_Debug_2038A0C[6]); + + Menu_DrawStdWindowFrame(15, 0, 29,15); + gTasks[taskId].func = debug_80C4DB8; +} + +void debug_80C4DB8(u8 taskId) +{ + debug_80C38E4(2 * gUnknown_Debug_2038A0C[7] + 3, 1, 1, 14, 1); + REG_WIN1H = 0x0177; + REG_WIN1V = 0x017F; + gTasks[taskId].func = debug_80C4E18; +} + +void debug_80C4E18(u8 taskId) +{ + u8 r6 = gUnknown_Debug_2038A0C[6] + gUnknown_Debug_2038A0C[7]; + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = debug_80C42B8; + } + else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gBattleTerrain = gUnknown_Debug_083F814C[r6].data.type3; + gTasks[taskId].func = debug_80C5158; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (gUnknown_Debug_2038A0C[7] > 0) + gUnknown_Debug_2038A0C[7]--; + else if (gUnknown_Debug_2038A0C[6] > 0) + { + gUnknown_Debug_2038A0C[6]--; + debug_80C4F00(gUnknown_Debug_2038A0C[6]); + } + gTasks[taskId].func = debug_80C4DB8; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[7] < 8) + { + if (gUnknown_Debug_2038A0C[7] < 5) + gUnknown_Debug_2038A0C[7]++; + else if (gUnknown_Debug_2038A0C[6] < 3) + { + gUnknown_Debug_2038A0C[6]++; + debug_80C4F00(gUnknown_Debug_2038A0C[6]); + } + gTasks[taskId].func = debug_80C4DB8; + } +} + +void debug_80C4F00(u8 a0) +{ + u8 i; + Menu_BlankWindowRect(1, 3, 13, 14); + + for (i = 0; i < 6; i++) + { + if (i < 9) + Menu_PrintText(gUnknown_Debug_083F814C[i + a0].text, 2, 2 * i + 3); + } +} + +void debug_80C4F48(u8 taskId) +{ + // u8 sp00[] = _("じぶんの せいべつを えらんでね"); + // u8 sp14[] = _("{COLOR RED}START:つぎへ"); + // u8 sp24[] = _("{COLOR RED}せいべつ せんたく"); + // u8 sp34[] = _("おとこ"); + // u8 sp38[] = _("おんな"); + + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8211)]; + u8 sp14[ARRAY_COUNT(gUnknown_Debug_083F81A0)]; + u8 sp24[ARRAY_COUNT(gUnknown_Debug_083F8222)]; + u8 sp34[ARRAY_COUNT(gUnknown_Debug_083F822F)]; + u8 sp38[ARRAY_COUNT(gUnknown_Debug_083F8233)]; + + memcpy(sp00, gUnknown_Debug_083F8211, sizeof(gUnknown_Debug_083F8211)); + memcpy(sp14, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0)); + memcpy(sp24, gUnknown_Debug_083F8222, sizeof(gUnknown_Debug_083F8222)); + memcpy(sp34, gUnknown_Debug_083F822F, sizeof(gUnknown_Debug_083F822F)); + memcpy(sp38, gUnknown_Debug_083F8233, sizeof(gUnknown_Debug_083F8233)); + + Menu_DrawStdWindowFrame(0, 16, 29, 19); + Menu_PrintText(sp00, 1, 17); + Menu_PrintText(sp14, 20, 17); + + Menu_DrawStdWindowFrame(0, 0, 14, 15); + Menu_PrintText(sp24, 2, 1); + + Menu_BlankWindowRect(1, 3, 13, 14); + Menu_PrintText(sp24, 2, 1); + Menu_PrintText(sp34, 2, 3); + Menu_PrintText(sp38, 2, 5); + + Menu_DrawStdWindowFrame(15, 0, 29, 15); + gTasks[taskId].func = debug_80C5038; +} + +u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); +u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); + #endif // DEBUG -- cgit v1.2.3 From 670a3e6b2bccb4b2def62c848e3925ae1086bf58 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 16 Apr 2018 23:42:34 -0400 Subject: through debug_80C5208 --- src/debug/watanabe_debug_menu.c | 109 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 104 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index a4002e325..b435c4558 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1,6 +1,7 @@ #if DEBUG #include "global.h" #include "ewram.h" +#include "random.h" #include "gba/flash_internal.h" #include "constants/species.h" #include "constants/songs.h" @@ -22,11 +23,7 @@ #include "load_save.h" #include "pokemon_storage_system.h" #include "battle.h" - -EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; -EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; -EWRAM_DATA u8 gUnknown_Debug_2038A1C[4] = { 0 }; -EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; +#include "battle_bg.h" struct WatanabeDebugMenuItem { const u8 * text; @@ -37,6 +34,18 @@ struct WatanabeDebugMenuItem { } data; }; +struct WatanabeEwram18000 { + u8 filler_00[0x64]; + u32 unk64[0x40]; +}; + +#define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) + +EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; +EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; +EWRAM_DATA struct WatanabeEwram18000 * gUnknown_Debug_2038A1C = NULL; +EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; + u32 byte_3005E30; void debug_80C3A50(u8 taskId); @@ -62,7 +71,14 @@ void debug_80C4E18(u8 taskId); void debug_80C4F00(u8); void debug_80C4F48(u8 taskId); void debug_80C5038(u8 taskId); +void debug_80C5098(u8 taskId); void debug_80C5158(u8 taskId); +void debug_80C5174(u8 taskId); +void debug_80C5190(u8 taskId); +void debug_80C51AC(u8 taskId); +void debug_80C51C8(u8 taskId); +void debug_80C51E4(u8 taskId); +void debug_80C5C94(void); void debug_80C68CC(u16, u8, u8, u8); void debug_80C7584(struct Sprite *); @@ -1479,6 +1495,89 @@ void debug_80C4F48(u8 taskId) gTasks[taskId].func = debug_80C5038; } +void debug_80C5038(u8 taskId) +{ + debug_80C38E4(gUnknown_Debug_2038A0C[8] * 2 + 3, 1, 1, 14, 1); + REG_WIN1H = 0x0177; + REG_WIN1V = 0x017F; + gTasks[taskId].func = debug_80C5098; +} + +void debug_80C5098(u8 taskId) +{ + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].func = debug_80C47BC; + } + else if (gMain.newKeys & START_BUTTON || gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gSaveBlock2.playerGender = gUnknown_Debug_2038A0C[8]; + gTasks[taskId].func = debug_80C42B8; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A0C[8] > 0) + { + gUnknown_Debug_2038A0C[8]--; + gTasks[taskId].func = debug_80C5038; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A0C[8] < 1) + { + gUnknown_Debug_2038A0C[8]++; + gTasks[taskId].func = debug_80C5038; + } +} + +void debug_80C5158(u8 taskId) +{ + gTasks[taskId].func = debug_80C5174; +} + +void debug_80C5174(u8 taskId) +{ + gTasks[taskId].func = debug_80C5190; +} + +void debug_80C5190(u8 taskId) +{ + gTasks[taskId].func = debug_80C51AC; +} + +void debug_80C51AC(u8 taskId) +{ + gTasks[taskId].func = debug_80C51C8; +} + +void debug_80C51C8(u8 taskId) +{ + gTasks[taskId].func = debug_80C51E4; +} + +void debug_80C51E4(u8 taskId) +{ + sub_80408BC(); + gMain.savedCallback = debug_80C41A8; + SetMainCallback2(unref_sub_800D684); +} + +void debug_80C5208(void) +{ + u16 i; + + gUnknown_Debug_2038A1C = &eWatanabe18000; + + for (i = 0; i < 64; i++) + { + gUnknown_Debug_2038A1C->unk64[i] = 0; + } + + gUnknown_Debug_2038A1C->unk64[0] = 0xfc; + gUnknown_Debug_2038A1C->unk64[3] = gSaveBlock2.playerTrainerId[0] | (gSaveBlock2.playerTrainerId[1] << 8) | (gSaveBlock2.playerTrainerId[2] << 16) | (gSaveBlock2.playerTrainerId[3] << 24); + gUnknown_Debug_2038A1C->unk64[4] = (Random() << 16) | Random(); + gUnknown_Debug_2038A1C->unk64[1] = 1; + gUnknown_Debug_2038A1C->unk64[2] = 1; + debug_80C5C94(); +} + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); -- cgit v1.2.3 From d42c033eb624bc096431de7f259088ed43126245 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 17 Apr 2018 19:15:32 -0400 Subject: through debug_80C53F0 (also testing resplit of string) --- src/debug/watanabe_debug_menu.c | 141 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 140 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index b435c4558..5ed067651 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -35,8 +35,12 @@ struct WatanabeDebugMenuItem { }; struct WatanabeEwram18000 { - u8 filler_00[0x64]; + struct Pokemon pokemon; u32 unk64[0x40]; + u32 unk164; + u8 unk168; + u8 unk169; + u8 unk16a; }; #define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) @@ -48,6 +52,8 @@ EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; u32 byte_3005E30; +extern s8 gBattleTerrain; + void debug_80C3A50(u8 taskId); void debug_80C3D2C(u8 taskId); void debug_80C4214(u8); @@ -78,13 +84,23 @@ void debug_80C5190(u8 taskId); void debug_80C51AC(u8 taskId); void debug_80C51C8(u8 taskId); void debug_80C51E4(u8 taskId); +void debug_80C53A4(u8 taskId); +void debug_80C53C0(u8 taskId); +void debug_80C53F0(u8 taskId); +void debug_80C55E4(u8 taskId); +void debug_80C5708(u8 taskId); void debug_80C5C94(void); +void debug_80C5FFC(void); +void debug_80C627C(u8); +void debug_80C6384(void); +void debug_80C643C(void); void debug_80C68CC(u16, u8, u8, u8); void debug_80C7584(struct Sprite *); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F814C[9]; +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8698[6]; extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; @@ -111,6 +127,9 @@ extern const u8 gUnknown_Debug_083F8211[17]; // = _("じぶんの せいべつ extern const u8 gUnknown_Debug_083F8222[13]; // = _("{COLOR RED}せいべつ せんたく"); extern const u8 gUnknown_Debug_083F822F[4]; // = _("おとこ"); extern const u8 gUnknown_Debug_083F8233[4]; // = _("おんな"); +extern const u8 gUnknown_Debug_083F8720[10]; +extern const u8 gUnknown_Debug_083F872A[9]; +extern const u8 gUnknown_Debug_083F8733[37]; // = _("Create POKひMON   LR:Shift  START:Add"); #define SPRITETAG_WATANABE 0x1000 @@ -1578,6 +1597,126 @@ void debug_80C5208(void) debug_80C5C94(); } +bool8 debug_80C527C(struct Pokemon *pokemon) +{ + u8 i; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(gPlayerParty + i, MON_DATA_SPECIES, NULL) == SPECIES_NONE) + { + gPlayerParty[i] = *pokemon; + gPlayerPartyCount = i + 1; + return FALSE; + } + } + SendMonToPC(&gUnknown_Debug_2038A1C->pokemon); + return TRUE; +} + +void InitCreatePokemon(void) +{ + // u8 sp04[] = _("Create POKひMON   LR:Shift  START:Add"); + u8 sp04[ARRAY_COUNT(gUnknown_Debug_083F8733)]; + + memcpy(sp04, gUnknown_Debug_083F8733, sizeof(gUnknown_Debug_083F8733)); + + debug_80C35DC(); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + REG_BLDCNT = 0x0000; + REG_BLDALPHA = 0x0000; + REG_BLDY = 0x0000; + + { + u16 imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; + } + + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + + SetVBlankCallback(debug_80C3758); + SetMainCallback2(debug_80C370C); + + Menu_DrawStdWindowFrame(0, 0, 29, 3); + Menu_PrintText(sp04, 1, 1); + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON; + CreateTask(debug_80C53A4, 0); + debug_80C5208(); + gUnknown_Debug_2038A1C->unk168 = 0; + gUnknown_Debug_2038A1C->unk169 = 0; +} + +void debug_80C53A4(u8 taskId) +{ + gTasks[taskId].func = debug_80C53C0; +} + +void debug_80C53C0(u8 taskId) +{ + debug_80C6384(); + debug_80C627C(0); + gTasks[taskId].func = debug_80C53F0; +} + +void debug_80C53F0(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + gUnknown_Debug_2038A1C->unk164 = gUnknown_Debug_2038A1C->unk64[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]]; + gUnknown_Debug_2038A1C->unk16a = 0; + debug_80C643C(); + gTasks[taskId].func = debug_80C55E4; + } + else if (gMain.newKeys & B_BUTTON) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + SetMainCallback2(debug_80C370C); + gTasks[taskId].func = debug_80C373C; + } + else if (gMain.newKeys & START_BUTTON) + { + bool8 r4; + PlaySE(SE_SELECT); + debug_80C5FFC(); + r4 = debug_80C527C(&gUnknown_Debug_2038A1C->pokemon); + Menu_DrawStdWindowFrame(3, 8, 26, 11); + if (r4) + Menu_PrintText(gUnknown_Debug_083F872A, 4, 9); + else + Menu_PrintText(gUnknown_Debug_083F8720, 4, 9); + gTasks[taskId].func = debug_80C5708; + } + else if (gMain.newKeys & SELECT_BUTTON) + { + u32 r4 = gUnknown_Debug_2038A1C->unk64[0]; + GetSetPokedexFlag(r4, 2); + GetSetPokedexFlag(r4, 3); + PlaySE(SE_SELECT); + } + else if (gMain.newKeys & DPAD_UP) + { + debug_80C627C(2); + } + else if (gMain.newKeys & DPAD_DOWN) + { + debug_80C627C(1); + } + else if (gMain.newKeys & L_BUTTON && gUnknown_Debug_2038A1C->unk168 > 0) + { + gUnknown_Debug_2038A1C->unk168--; + gUnknown_Debug_2038A1C->unk169 = 0; + gTasks[taskId].func = debug_80C53C0; + } + else if (gMain.newKeys & R_BUTTON && gUnknown_Debug_2038A1C->unk168 < 5) + { + gUnknown_Debug_2038A1C->unk168++; + gUnknown_Debug_2038A1C->unk169 = 0; + gTasks[taskId].func = debug_80C53C0; + } +} + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); -- cgit v1.2.3 From 3a82d934ab60ec82a89c66ebbe5024ee23334fdb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 17 Apr 2018 20:41:18 -0400 Subject: through debug_80C5738 --- src/debug/watanabe_debug_menu.c | 186 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 5ed067651..2b2da4951 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -3,6 +3,7 @@ #include "ewram.h" #include "random.h" #include "gba/flash_internal.h" +#include "constants/items.h" #include "constants/species.h" #include "constants/songs.h" #include "debug.h" @@ -24,6 +25,14 @@ #include "pokemon_storage_system.h" #include "battle.h" #include "battle_bg.h" +#include "item.h" +#include "pokemon_summary_screen.h" + +struct WatanabeDebugMenuItemSubstruct { + u32 unk0; + u8 fill4[5]; + u8 unk9; +}; struct WatanabeDebugMenuItem { const u8 * text; @@ -31,6 +40,7 @@ struct WatanabeDebugMenuItem { u8 type1[2]; u32 type2; u8 type3; + const struct WatanabeDebugMenuItemSubstruct *type4; } data; }; @@ -41,6 +51,10 @@ struct WatanabeEwram18000 { u8 unk168; u8 unk169; u8 unk16a; + u8 unk16b; + u8 unk16c; + u8 unk16d; + u8 unk16e[256]; }; #define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) @@ -94,13 +108,18 @@ void debug_80C5FFC(void); void debug_80C627C(u8); void debug_80C6384(void); void debug_80C643C(void); +void debug_80C6544(u8); +void debug_80C689C(u8 *, const u8 *, u8); +void debug_80C6678(u8 *, u32, u8, u8); void debug_80C68CC(u16, u8, u8, u8); void debug_80C7584(struct Sprite *); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F814C[9]; +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8554[35]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8698[6]; +extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F86E8[7]; extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; @@ -130,6 +149,17 @@ extern const u8 gUnknown_Debug_083F8233[4]; // = _("おんな"); extern const u8 gUnknown_Debug_083F8720[10]; extern const u8 gUnknown_Debug_083F872A[9]; extern const u8 gUnknown_Debug_083F8733[37]; // = _("Create POKひMON   LR:Shift  START:Add"); +extern const u8 gUnknown_Debug_083F850A[10]; // = _("{COLOR RED}HP  "); +extern const u8 gUnknown_Debug_083F8514[8]; // = _("{COLOR RED}ATK "); +extern const u8 gUnknown_Debug_083F851C[8]; // = _("{COLOR RED}DEF "); +extern const u8 gUnknown_Debug_083F8524[9]; // = _("{COLOR RED}SPEED"); +extern const u8 gUnknown_Debug_083F852D[10]; // = _("{COLOR RED}SP。ATK"); +extern const u8 gUnknown_Debug_083F8537[10]; // = _("{COLOR RED}SP。DEF"); +extern const u8 gUnknown_Debug_083F8541[3]; // = _("なし"); +extern const u8 gUnknown_Debug_083F8544[2]; // = _("♂"); +extern const u8 gUnknown_Debug_083F8546[2]; // = _("♀"); +extern const u8 gUnknown_Debug_083F854A[3]; // = _("ON"); +extern const u8 gUnknown_Debug_083F854D[4]; // = _("OFF"); #define SPRITETAG_WATANABE 0x1000 @@ -1717,6 +1747,162 @@ void debug_80C53F0(u8 taskId) } } +void debug_80C55E4(u8 taskId) +{ + u8 r7 = gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]; + if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].func = debug_80C53C0; + } + else if (gMain.newKeys & B_BUTTON) + { + gUnknown_Debug_2038A1C->unk64[r7] = gUnknown_Debug_2038A1C->unk164; + gTasks[taskId].func = debug_80C53C0; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP) + { + debug_80C6544(1); + debug_80C643C(); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + debug_80C6544(2); + debug_80C643C(); + } + else if (gUnknown_Debug_083F8554[r7].data.type4->unk9 != 0xFF) + { + if (gMain.newKeys & DPAD_LEFT && gUnknown_Debug_2038A1C->unk16a < gUnknown_Debug_083F8554[r7].data.type4->unk9 - 1) + { + gUnknown_Debug_2038A1C->unk16a++; + debug_80C643C(); + } + else if (gMain.newKeys & DPAD_RIGHT && gUnknown_Debug_2038A1C->unk16a > 0) + { + gUnknown_Debug_2038A1C->unk16a--; + debug_80C643C(); + } + } +} + +void debug_80C5708(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].func = debug_80C53C0; + } +} + +u8 debug_80C5738(u8 * a0, u8 a1, u8 a2) +{ + u16 i; + u8 r5; + u8 r2; + + if (a1 == 0xfe) + { + debug_80C689C(a0, gUnknown_Debug_083F850A, 7); + debug_80C6678(a0 + 7, gUnknown_Debug_2038A1C->unk64[35], 3, 1); + a0[19] = CHAR_SPACE; + a0[20] = CHAR_SPACE; + debug_80C689C(a0 + 21, gUnknown_Debug_083F8514, 7); + debug_80C6678(a0 + 28, gUnknown_Debug_2038A1C->unk64[36], 3, 1); + a0[40] = CHAR_SPACE; + a0[41] = CHAR_SPACE; + debug_80C689C(a0 + 42, gUnknown_Debug_083F851C, 9); + debug_80C6678(a0 + 49, gUnknown_Debug_2038A1C->unk64[37], 3, 1); + return 0; + } + if (a1 == 0xfd) + { + debug_80C689C(a0, gUnknown_Debug_083F8524, 9); + debug_80C6678(a0 + 9, gUnknown_Debug_2038A1C->unk64[38], 3, 1); + a0[21] = CHAR_SPACE; + a0[22] = CHAR_SPACE; + debug_80C689C(a0 + 23, gUnknown_Debug_083F852D, 9); + debug_80C6678(a0 + 32, gUnknown_Debug_2038A1C->unk64[39], 3, 1); + a0[44] = CHAR_SPACE; + a0[45] = CHAR_SPACE; + debug_80C689C(a0 + 46, gUnknown_Debug_083F8537, 9); + debug_80C6678(a0 + 55, gUnknown_Debug_2038A1C->unk64[40], 3, 1); + return 0; + } + for (i = 0; i < 12; i++) + a0[i] = CHAR_SPACE; + debug_80C689C(a0, gUnknown_Debug_083F8554[a1].text, 11); + for (i = 12; i < 256; i++) + a0[i] = EOS; + r2 = gUnknown_Debug_083F8554[a1].data.type4->unk9; + r5 = r2 * 4; + switch (a1) + { + default: + a0[0] = EOS; + break; + case 0: + debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + a0[10 + r5] = CHAR_SPACE; + a0[11 + r5] = EXT_CTRL_CODE_BEGIN; + a0[12 + r5] = 0x01; + a0[13 + r5] = a2; + debug_80C689C(a0 + 14 + r5, gSpeciesNames[NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[a1])], 10); + break; + case 5: + switch (gUnknown_Debug_2038A1C->unk64[a1]) + { + case 0: + debug_80C689C(a0 + 10, gUnknown_Debug_083F8546, 2); + break; + case 1: + debug_80C689C(a0 + 10, gUnknown_Debug_083F8541, 2); + break; + case 2: + debug_80C689C(a0 + 10, gUnknown_Debug_083F8544, 2); + break; + } + break; + case 7 ... 10: + debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + a0[10 + r5] = CHAR_SPACE; + a0[11 + r5] = EXT_CTRL_CODE_BEGIN; + a0[12 + r5] = 0x01; + a0[13 + r5] = a2; + debug_80C689C(a0 + 14 + r5, gMoveNames[gUnknown_Debug_2038A1C->unk64[a1]], 12); + break; + case 11: + debug_80C6678(a0 + 10, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + a0[10 + r5] = CHAR_SPACE; + a0[11 + r5] = EXT_CTRL_CODE_BEGIN; + a0[12 + r5] = 0x01; + a0[13 + r5] = a2; + if (gUnknown_Debug_2038A1C->unk64[a1] != ITEM_NONE) + debug_80C689C(a0 + 14 + r5, ItemId_GetName(gUnknown_Debug_2038A1C->unk64[a1]), 9); + else + debug_80C689C(a0 + 14 + r5, gUnknown_Debug_083F8541, 9); + break; + case 12: + a0 += 12; + debug_80C689C(a0, gAbilityNames[GetAbilityBySpecies(NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0]), gUnknown_Debug_2038A1C->unk64[a1])], 12); + break; + case 34: + debug_80C689C(a0 + 10, gUnknown_Debug_083F86E8[gUnknown_Debug_2038A1C->unk64[a1]].text, 4); + break; + case 1 ... 4: + case 13 ... 32: + debug_80C6678(a0 + 12, gUnknown_Debug_2038A1C->unk64[a1], r2, a2); + break; + case 33: + if (gUnknown_Debug_2038A1C->unk64[a1]) + debug_80C689C(a0 + 10, gUnknown_Debug_083F854A, 4); + else + debug_80C689C(a0 + 10, gUnknown_Debug_083F854D, 4); + break; + case 6: + debug_80C689C(a0 + 10, gNatureNames[gUnknown_Debug_2038A1C->unk64[a1]], 5); + break; + } + return 0; +} + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); -- cgit v1.2.3 From 3a4396984562a6e4665aecf45d60d944ccaa0ab6 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 17 Apr 2018 21:36:43 -0400 Subject: through debug_80C5EF4 --- src/debug/watanabe_debug_menu.c | 107 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 2b2da4951..33b5e8a29 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -104,6 +104,8 @@ void debug_80C53F0(u8 taskId); void debug_80C55E4(u8 taskId); void debug_80C5708(u8 taskId); void debug_80C5C94(void); +void debug_80C5DEC(void); +void debug_80C5EF4(void); void debug_80C5FFC(void); void debug_80C627C(u8); void debug_80C6384(void); @@ -1903,6 +1905,111 @@ u8 debug_80C5738(u8 * a0, u8 a1, u8 a2) return 0; } +u32 debug_80C5B60(u8 a0) +{ + return gUnknown_Debug_2038A1C->unk64[a0]; +} + +void debug_80C5B74(u32 a0, u8 a1) +{ + switch (a1) + { + default: + gUnknown_Debug_2038A1C->unk64[a1] = a0; + break; + case 0: + case 3: + case 4: + gUnknown_Debug_2038A1C->unk64[a1] = a0; + debug_80C5C94(); + break; + case 1: + gUnknown_Debug_2038A1C->unk64[a1] = a0; + gUnknown_Debug_2038A1C->unk64[2] = gExperienceTables[gBaseStats[NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0])].growthRate][a0]; + debug_80C5C94(); + break; + case 2: + gUnknown_Debug_2038A1C->unk64[a1] = a0; + debug_80C5DEC(); + break; + case 13 ... 24: + gUnknown_Debug_2038A1C->unk64[a1] = a0; + debug_80C5EF4(); + break; + } +} + +void debug_80C5C94(void) +{ + u32 ivs = gUnknown_Debug_2038A1C->unk64[13] & 0x1f; + ivs |= (gUnknown_Debug_2038A1C->unk64[15] & 0x1f) << 5; + ivs |= (gUnknown_Debug_2038A1C->unk64[17] & 0x1f) << 10; + ivs |= (gUnknown_Debug_2038A1C->unk64[19] & 0x1f) << 15; + ivs |= (gUnknown_Debug_2038A1C->unk64[21] & 0x1f) << 20; + ivs |= (gUnknown_Debug_2038A1C->unk64[23] & 0x1f) << 25; + CreateMon(&gUnknown_Debug_2038A1C->pokemon, NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0]), gUnknown_Debug_2038A1C->unk64[1], ivs, TRUE, gUnknown_Debug_2038A1C->unk64[4], TRUE, gUnknown_Debug_2038A1C->unk64[3]); + gUnknown_Debug_2038A1C->unk64[5] = (u8)(GetMonGender(&gUnknown_Debug_2038A1C->pokemon) + 2); + gUnknown_Debug_2038A1C->unk64[6] = GetNature(&gUnknown_Debug_2038A1C->pokemon); + gUnknown_Debug_2038A1C->unk64[7] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE1); + gUnknown_Debug_2038A1C->unk64[8] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE2); + gUnknown_Debug_2038A1C->unk64[9] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE3); + gUnknown_Debug_2038A1C->unk64[10] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE4); + gUnknown_Debug_2038A1C->unk64[2] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_EXP); + gUnknown_Debug_2038A1C->unk64[35] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MAX_HP); + gUnknown_Debug_2038A1C->unk64[36] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK); + gUnknown_Debug_2038A1C->unk64[37] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF); + gUnknown_Debug_2038A1C->unk64[38] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED); + gUnknown_Debug_2038A1C->unk64[39] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK); + gUnknown_Debug_2038A1C->unk64[40] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF); +} + +void debug_80C5DEC(void) +{ + u32 zero = 0; + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_EXP, gUnknown_Debug_2038A1C->unk64 + 2); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE1, &zero); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE2, &zero); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE3, &zero); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE4, &zero); + CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon); + GiveMonInitialMoveset(&gUnknown_Debug_2038A1C->pokemon); + gUnknown_Debug_2038A1C->unk64[1] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_LEVEL); + gUnknown_Debug_2038A1C->unk64[7] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE1); + gUnknown_Debug_2038A1C->unk64[8] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE2); + gUnknown_Debug_2038A1C->unk64[9] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE3); + gUnknown_Debug_2038A1C->unk64[10] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MOVE4); + gUnknown_Debug_2038A1C->unk64[35] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MAX_HP); + gUnknown_Debug_2038A1C->unk64[36] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK); + gUnknown_Debug_2038A1C->unk64[37] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF); + gUnknown_Debug_2038A1C->unk64[38] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED); + gUnknown_Debug_2038A1C->unk64[39] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK); + gUnknown_Debug_2038A1C->unk64[40] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF); +} + +void debug_80C5EF4(void) +{ + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_IV, gUnknown_Debug_2038A1C->unk64 + 13); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_EV, gUnknown_Debug_2038A1C->unk64 + 14); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_IV, gUnknown_Debug_2038A1C->unk64 + 15); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_EV, gUnknown_Debug_2038A1C->unk64 + 16); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_IV, gUnknown_Debug_2038A1C->unk64 + 17); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_EV, gUnknown_Debug_2038A1C->unk64 + 18); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_IV, gUnknown_Debug_2038A1C->unk64 + 19); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_EV, gUnknown_Debug_2038A1C->unk64 + 20); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_IV, gUnknown_Debug_2038A1C->unk64 + 21); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_EV, gUnknown_Debug_2038A1C->unk64 + 22); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_IV, gUnknown_Debug_2038A1C->unk64 + 23); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_EV, gUnknown_Debug_2038A1C->unk64 + 24); + CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon); + gUnknown_Debug_2038A1C->unk64[35] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MAX_HP); + gUnknown_Debug_2038A1C->unk64[36] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK); + gUnknown_Debug_2038A1C->unk64[37] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF); + gUnknown_Debug_2038A1C->unk64[38] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED); + gUnknown_Debug_2038A1C->unk64[39] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK); + gUnknown_Debug_2038A1C->unk64[40] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF); + +} + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); -- cgit v1.2.3 From 508e2a78acea7c2d04e8818d1a55bbc5a2b28fac Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 18 Apr 2018 08:42:20 -0400 Subject: debug_80C5FFC --- src/debug/watanabe_debug_menu.c | 76 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 33b5e8a29..16fe342e9 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -5,6 +5,7 @@ #include "gba/flash_internal.h" #include "constants/items.h" #include "constants/species.h" +#include "constants/moves.h" #include "constants/songs.h" #include "debug.h" #include "palette.h" @@ -162,6 +163,8 @@ extern const u8 gUnknown_Debug_083F8544[2]; // = _("♂"); extern const u8 gUnknown_Debug_083F8546[2]; // = _("♀"); extern const u8 gUnknown_Debug_083F854A[3]; // = _("ON"); extern const u8 gUnknown_Debug_083F854D[4]; // = _("OFF"); +extern const u8 gUnknown_Debug_083F8758[4]; // = _("たまご"); +extern const u8 gUnknown_Debug_083F875C[8]; // = _("DebugーG"); #define SPRITETAG_WATANABE 0x1000 @@ -2007,7 +2010,80 @@ void debug_80C5EF4(void) gUnknown_Debug_2038A1C->unk64[38] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED); gUnknown_Debug_2038A1C->unk64[39] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK); gUnknown_Debug_2038A1C->unk64[40] = GetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF); +} + +void debug_80C5FFC(void) +{ + u32 ivs; + // u8 sp10[] = _("たまご"); + // u8 sp14[] = _("DebugーG"); + + u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F8758)]; + u8 sp14[ARRAY_COUNT(gUnknown_Debug_083F875C)]; + u8 one; + u16 ff; + + memcpy(sp10, gUnknown_Debug_083F8758, sizeof(gUnknown_Debug_083F8758)); + memcpy(sp14, gUnknown_Debug_083F875C, sizeof(gUnknown_Debug_083F875C)); + + ivs = gUnknown_Debug_2038A1C->unk64[13] & 0x1f; + ivs |= (gUnknown_Debug_2038A1C->unk64[15] & 0x1f) << 5; + ivs |= (gUnknown_Debug_2038A1C->unk64[17] & 0x1f) << 10; + ivs |= (gUnknown_Debug_2038A1C->unk64[19] & 0x1f) << 15; + ivs |= (gUnknown_Debug_2038A1C->unk64[21] & 0x1f) << 20; + ivs |= (gUnknown_Debug_2038A1C->unk64[23] & 0x1f) << 25; + + CreateMon(&gUnknown_Debug_2038A1C->pokemon, NationalPokedexNumToSpecies(gUnknown_Debug_2038A1C->unk64[0]), gUnknown_Debug_2038A1C->unk64[1], ivs, TRUE, gUnknown_Debug_2038A1C->unk64[4], TRUE, gUnknown_Debug_2038A1C->unk64[3]); + + if (gUnknown_Debug_2038A1C->unk64[7] != MOVE_NONE) + SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[7], 0); + if (gUnknown_Debug_2038A1C->unk64[8] != MOVE_NONE) + SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[8], 1); + if (gUnknown_Debug_2038A1C->unk64[9] != MOVE_NONE) + SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[9], 2); + if (gUnknown_Debug_2038A1C->unk64[10] != MOVE_NONE) + SetMonMoveSlot(&gUnknown_Debug_2038A1C->pokemon, gUnknown_Debug_2038A1C->unk64[10], 3); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_EXP, gUnknown_Debug_2038A1C->unk64 + 2); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_IV, gUnknown_Debug_2038A1C->unk64 + 13); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HP_EV, gUnknown_Debug_2038A1C->unk64 + 14); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_IV, gUnknown_Debug_2038A1C->unk64 + 15); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ATK_EV, gUnknown_Debug_2038A1C->unk64 + 16); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_IV, gUnknown_Debug_2038A1C->unk64 + 17); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_DEF_EV, gUnknown_Debug_2038A1C->unk64 + 18); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_IV, gUnknown_Debug_2038A1C->unk64 + 19); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPEED_EV, gUnknown_Debug_2038A1C->unk64 + 20); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_IV, gUnknown_Debug_2038A1C->unk64 + 21); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPATK_EV, gUnknown_Debug_2038A1C->unk64 + 22); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_IV, gUnknown_Debug_2038A1C->unk64 + 23); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SPDEF_EV, gUnknown_Debug_2038A1C->unk64 + 24); + + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_COOL, gUnknown_Debug_2038A1C->unk64 + 25); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_BEAUTY, gUnknown_Debug_2038A1C->unk64 + 26); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_CUTE, gUnknown_Debug_2038A1C->unk64 + 27); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SMART, gUnknown_Debug_2038A1C->unk64 + 28); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_TOUGH, gUnknown_Debug_2038A1C->unk64 + 29); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_SHEEN, gUnknown_Debug_2038A1C->unk64 + 30); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_FRIENDSHIP, gUnknown_Debug_2038A1C->unk64 + 31); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_POKERUS, gUnknown_Debug_2038A1C->unk64 + 32); + + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_HELD_ITEM, gUnknown_Debug_2038A1C->unk64 + 11); + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_ALT_ABILITY, gUnknown_Debug_2038A1C->unk64 + 12); + + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_STATUS, &gUnknown_Debug_083F86E8[gUnknown_Debug_2038A1C->unk64[34]].data.type3); + + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_IS_EGG, gUnknown_Debug_2038A1C->unk64 + 33); + if (gUnknown_Debug_2038A1C->unk64[33]) + { + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_NICKNAME, sp10); + one = LANGUAGE_JAPANESE; + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_LANGUAGE, &one); + } + + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_OT_NAME, sp14); + ff = 0xff; + SetMonData(&gUnknown_Debug_2038A1C->pokemon, MON_DATA_MET_LOCATION, &ff); + CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon); } u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); -- cgit v1.2.3 From 460fcf567ee43ccacb56da7b9fbbac58d4352008 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 18 Apr 2018 21:45:59 -0400 Subject: use TYPE_MYSTERY for physical/special checks --- src/battle/battle_4.c | 4 ++-- src/battle/calculate_base_damage.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 9181ce8a6..4a7c3e867 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -2087,7 +2087,7 @@ static void atk0C_datahpupdate(void) if (!gSpecialStatuses[gActiveBattler].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) gSpecialStatuses[gActiveBattler].moveturnLostHP = gHpDealt; - if (moveType <= 8 && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) + if (moveType < TYPE_MYSTERY && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) { gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; gSpecialStatuses[gActiveBattler].moveturnLostHP_physical = gHpDealt; @@ -2102,7 +2102,7 @@ static void atk0C_datahpupdate(void) gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankTarget; } } - else if (moveType > 8 && !(gHitMarker & HITMARKER_x100000)) + else if (moveType >= TYPE_MYSTERY && !(gHitMarker & HITMARKER_x100000)) { gProtectStructs[gActiveBattler].specialDmg = gHpDealt; gSpecialStatuses[gActiveBattler].moveturnLostHP_special = gHpDealt; diff --git a/src/battle/calculate_base_damage.c b/src/battle/calculate_base_damage.c index 5e63ee92c..8dc4108d9 100644 --- a/src/battle/calculate_base_damage.c +++ b/src/battle/calculate_base_damage.c @@ -170,7 +170,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (attackerHoldEffect == gHoldEffectToType[i][0] && type == gHoldEffectToType[i][1]) { - if (type <= 8) + if (type < TYPE_MYSTERY) attack = (attack * (attackerHoldEffectParam + 100)) / 100; else spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100; -- cgit v1.2.3 From ff339287bfd16b39fad498c7866f2b5a29e38063 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 18 Apr 2018 21:54:39 -0400 Subject: use SPECIES_OLD_UNOWN constants in SpeciesToCryId --- src/pokemon_3.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/pokemon_3.c b/src/pokemon_3.c index ac739728e..abf1ef9c6 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -460,13 +460,13 @@ u16 HoennToNationalOrder(u16 hoennNum) u16 SpeciesToCryId(u16 species) { - if (species <= 250) + if (species < SPECIES_OLD_UNOWN_B - 1) return species; - if (species < 276) - return 200; + if (species <= SPECIES_OLD_UNOWN_Z - 1) + return SPECIES_UNOWN - 1; - return gSpeciesIdToCryId[species - 276]; + return gSpeciesIdToCryId[species - ((SPECIES_OLD_UNOWN_Z + 1) - 1)]; } void unref_sub_803F938(u16 species, u32 personality, u8 *dest) -- cgit v1.2.3 From e266629c4af115bdd0b664a6fee160ecc4ff8416 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 18 Apr 2018 21:56:21 -0400 Subject: use >= for hp percentages --- src/battle/battle_4.c | 6 +++--- src/battle/battle_interface.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 4a7c3e867..bd72e70f3 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -10981,11 +10981,11 @@ static void atk73_hpthresholds(void) if (result == 0) result = 1; - if (result > 69 || !gBattleMons[opposing_bank].hp) + if (result >= 70 || !gBattleMons[opposing_bank].hp) gBattleStruct->hpScale = 0; - else if (result > 39) + else if (result >= 40) gBattleStruct->hpScale = 1; - else if (result > 9) + else if (result >= 10) gBattleStruct->hpScale = 2; else gBattleStruct->hpScale = 3; diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c index b7c0dce4e..ec882bcce 100644 --- a/src/battle/battle_interface.c +++ b/src/battle/battle_interface.c @@ -3410,9 +3410,9 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp) else { u8 fraction = GetScaledHPFraction(hp, maxhp, 48); - if (fraction > 24) + if (fraction >= 25) result = 3; - else if (fraction > 9) + else if (fraction >= 10) result = 2; else if (fraction > 0) result = 1; -- cgit v1.2.3 From e0e2f0218d5d558a375ae972ab8b5eb225784051 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 18 Apr 2018 22:02:34 -0400 Subject: move gBattleMoves to c --- src/data/battle_moves.c | 4270 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4270 insertions(+) create mode 100644 src/data/battle_moves.c (limited to 'src') diff --git a/src/data/battle_moves.c b/src/data/battle_moves.c new file mode 100644 index 000000000..439a52dc7 --- /dev/null +++ b/src/data/battle_moves.c @@ -0,0 +1,4270 @@ +#include "global.h" +#include "battle.h" +#include "pokemon.h" +#include "constants/battle_constants.h" +#include "constants/battle_move_effects.h" +#include "constants/moves.h" + +const struct BattleMove gBattleMoves[] = { + + [MOVE_NONE] = { + .effect = EFFECT_HIT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 0, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_POUND] = { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_KARATE_CHOP] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 50, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DOUBLE_SLAP] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_COMET_PUNCH] = { + .effect = EFFECT_MULTI_HIT, + .power = 18, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEGA_PUNCH] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_PAY_DAY] = { + .effect = EFFECT_PAY_DAY, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FIRE_PUNCH] = { + .effect = EFFECT_BURN_HIT, + .power = 75, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ICE_PUNCH] = { + .effect = EFFECT_FREEZE_HIT, + .power = 75, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_THUNDER_PUNCH] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 75, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SCRATCH] = { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_VICE_GRIP] = { + .effect = EFFECT_HIT, + .power = 55, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GUILLOTINE] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_RAZOR_WIND] = { + .effect = EFFECT_RAZOR_WIND, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SWORDS_DANCE] = { + .effect = EFFECT_ATTACK_UP_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_CUT] = { + .effect = EFFECT_HIT, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GUST] = { + .effect = EFFECT_GUST, + .power = 40, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WING_ATTACK] = { + .effect = EFFECT_HIT, + .power = 60, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WHIRLWIND] = { + .effect = EFFECT_ROAR, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -6, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLY] = { + .effect = EFFECT_FLY, + .power = 70, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BIND] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SLAM] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_VINE_WHIP] = { + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STOMP] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 65, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DOUBLE_KICK] = { + .effect = EFFECT_DOUBLE_HIT, + .power = 30, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEGA_KICK] = { + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_JUMP_KICK] = { + .effect = EFFECT_RECOIL_IF_MISS, + .power = 70, + .type = TYPE_FIGHTING, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ROLLING_KICK] = { + .effect = EFFECT_FLINCH_HIT, + .power = 60, + .type = TYPE_FIGHTING, + .accuracy = 85, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SAND_ATTACK] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HEADBUTT] = { + .effect = EFFECT_FLINCH_HIT, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_HORN_ATTACK] = { + .effect = EFFECT_HIT, + .power = 65, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FURY_ATTACK] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_HORN_DRILL] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TACKLE] = { + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BODY_SLAM] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 85, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WRAP] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TAKE_DOWN] = { + .effect = EFFECT_RECOIL, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_THRASH] = { + .effect = EFFECT_RAMPAGE, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DOUBLE_EDGE] = { + .effect = EFFECT_DOUBLE_EDGE, + .power = 120, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TAIL_WHIP] = { + .effect = EFFECT_DEFENSE_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_STING] = { + .effect = EFFECT_POISON_HIT, + .power = 15, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TWINEEDLE] = { + .effect = EFFECT_TWINEEDLE, + .power = 25, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PIN_MISSILE] = { + .effect = EFFECT_MULTI_HIT, + .power = 14, + .type = TYPE_BUG, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LEER] = { + .effect = EFFECT_DEFENSE_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BITE] = { + .effect = EFFECT_FLINCH_HIT, + .power = 60, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GROWL] = { + .effect = EFFECT_ATTACK_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROAR] = { + .effect = EFFECT_ROAR, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -6, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SING] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SUPERSONIC] = { + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SONIC_BOOM] = { + .effect = EFFECT_SONICBOOM, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DISABLE] = { + .effect = EFFECT_DISABLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ACID] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 40, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_EMBER] = { + .effect = EFFECT_BURN_HIT, + .power = 40, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLAMETHROWER] = { + .effect = EFFECT_BURN_HIT, + .power = 95, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIST] = { + .effect = EFFECT_MIST, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_WATER_GUN] = { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYDRO_PUMP] = { + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_WATER, + .accuracy = 80, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SURF] = { + .effect = EFFECT_HIT, + .power = 95, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ICE_BEAM] = { + .effect = EFFECT_FREEZE_HIT, + .power = 95, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BLIZZARD] = { + .effect = EFFECT_FREEZE_HIT, + .power = 120, + .type = TYPE_ICE, + .accuracy = 70, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PSYBEAM] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 65, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BUBBLE_BEAM] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 65, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AURORA_BEAM] = { + .effect = EFFECT_ATTACK_DOWN_HIT, + .power = 65, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYPER_BEAM] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PECK] = { + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DRILL_PECK] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SUBMISSION] = { + .effect = EFFECT_RECOIL, + .power = 80, + .type = TYPE_FIGHTING, + .accuracy = 80, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_LOW_KICK] = { + .effect = EFFECT_LOW_KICK, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_COUNTER] = { + .effect = EFFECT_COUNTER, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = -5, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_MAKES_CONTACT, + }, + + [MOVE_SEISMIC_TOSS] = { + .effect = EFFECT_LEVEL_DAMAGE, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STRENGTH] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ABSORB] = { + .effect = EFFECT_ABSORB, + .power = 20, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MEGA_DRAIN] = { + .effect = EFFECT_ABSORB, + .power = 40, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LEECH_SEED] = { + .effect = EFFECT_LEECH_SEED, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_GROWTH] = { + .effect = EFFECT_SPECIAL_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_RAZOR_LEAF] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 55, + .type = TYPE_GRASS, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SOLAR_BEAM] = { + .effect = EFFECT_SOLARBEAM, + .power = 120, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_POWDER] = { + .effect = EFFECT_POISON, + .power = 0, + .type = TYPE_POISON, + .accuracy = 75, + .pp = 35, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_STUN_SPORE] = { + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 75, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SLEEP_POWDER] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PETAL_DANCE] = { + .effect = EFFECT_RAMPAGE, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STRING_SHOT] = { + .effect = EFFECT_SPEED_DOWN, + .power = 0, + .type = TYPE_BUG, + .accuracy = 95, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DRAGON_RAGE] = { + .effect = EFFECT_DRAGON_RAGE, + .power = 1, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FIRE_SPIN] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_FIRE, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDER_SHOCK] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 40, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDERBOLT] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 95, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDER_WAVE] = { + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_THUNDER] = { + .effect = EFFECT_THUNDER, + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 70, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROCK_THROW] = { + .effect = EFFECT_HIT, + .power = 50, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_EARTHQUAKE] = { + .effect = EFFECT_EARTHQUAKE, + .power = 100, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FISSURE] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_GROUND, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DIG] = { + .effect = EFFECT_FLY, + .power = 60, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TOXIC] = { + .effect = EFFECT_TOXIC, + .power = 0, + .type = TYPE_POISON, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CONFUSION] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 50, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PSYCHIC] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 90, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYPNOSIS] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 60, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MEDITATE] = { + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_AGILITY] = { + .effect = EFFECT_SPEED_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_QUICK_ATTACK] = { + .effect = EFFECT_QUICK_ATTACK, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_RAGE] = { + .effect = EFFECT_RAGE, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TELEPORT] = { + .effect = EFFECT_TELEPORT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_NIGHT_SHADE] = { + .effect = EFFECT_LEVEL_DAMAGE, + .power = 1, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIMIC] = { + .effect = EFFECT_MIMIC, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SCREECH] = { + .effect = EFFECT_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DOUBLE_TEAM] = { + .effect = EFFECT_EVASION_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_RECOVER] = { + .effect = EFFECT_RESTORE_HP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HARDEN] = { + .effect = EFFECT_DEFENSE_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_MINIMIZE] = { + .effect = EFFECT_MINIMIZE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SMOKESCREEN] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CONFUSE_RAY] = { + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WITHDRAW] = { + .effect = EFFECT_DEFENSE_UP, + .power = 0, + .type = TYPE_WATER, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_DEFENSE_CURL] = { + .effect = EFFECT_DEFENSE_CURL, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BARRIER] = { + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_LIGHT_SCREEN] = { + .effect = EFFECT_LIGHT_SCREEN, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HAZE] = { + .effect = EFFECT_HAZE, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REFLECT] = { + .effect = EFFECT_REFLECT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_FOCUS_ENERGY] = { + .effect = EFFECT_FOCUS_ENERGY, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BIDE] = { + .effect = EFFECT_BIDE, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_METRONOME] = { + .effect = EFFECT_METRONOME, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_MIRROR_MOVE] = { + .effect = EFFECT_MIRROR_MOVE, + .power = 0, + .type = TYPE_FLYING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_SELF_DESTRUCT] = { + .effect = EFFECT_EXPLOSION, + .power = 200, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_EGG_BOMB] = { + .effect = EFFECT_HIT, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LICK] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 20, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SMOG] = { + .effect = EFFECT_POISON_HIT, + .power = 20, + .type = TYPE_POISON, + .accuracy = 70, + .pp = 20, + .secondaryEffectChance = 40, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SLUDGE] = { + .effect = EFFECT_POISON_HIT, + .power = 65, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BONE_CLUB] = { + .effect = EFFECT_FLINCH_HIT, + .power = 65, + .type = TYPE_GROUND, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FIRE_BLAST] = { + .effect = EFFECT_BURN_HIT, + .power = 120, + .type = TYPE_FIRE, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WATERFALL] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CLAMP] = { + .effect = EFFECT_TRAP, + .power = 35, + .type = TYPE_WATER, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SWIFT] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKULL_BASH] = { + .effect = EFFECT_SKULL_BASH, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPIKE_CANNON] = { + .effect = EFFECT_MULTI_HIT, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CONSTRICT] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 10, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_AMNESIA] = { + .effect = EFFECT_SPECIAL_DEFENSE_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_KINESIS] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SOFT_BOILED] = { + .effect = EFFECT_SOFTBOILED, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HI_JUMP_KICK] = { + .effect = EFFECT_RECOIL_IF_MISS, + .power = 85, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_GLARE] = { + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DREAM_EATER] = { + .effect = EFFECT_DREAM_EATER, + .power = 100, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_GAS] = { + .effect = EFFECT_POISON, + .power = 0, + .type = TYPE_POISON, + .accuracy = 55, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BARRAGE] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LEECH_LIFE] = { + .effect = EFFECT_ABSORB, + .power = 20, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_LOVELY_KISS] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKY_ATTACK] = { + .effect = EFFECT_SKY_ATTACK, + .power = 140, + .type = TYPE_FLYING, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TRANSFORM] = { + .effect = EFFECT_TRANSFORM, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_BUBBLE] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 20, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DIZZY_PUNCH] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPORE] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLASH] = { + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 70, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PSYWAVE] = { + .effect = EFFECT_PSYWAVE, + .power = 1, + .type = TYPE_PSYCHIC, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SPLASH] = { + .effect = EFFECT_SPLASH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ACID_ARMOR] = { + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_POISON, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_CRABHAMMER] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 90, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_EXPLOSION] = { + .effect = EFFECT_EXPLOSION, + .power = 250, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FURY_SWIPES] = { + .effect = EFFECT_MULTI_HIT, + .power = 18, + .type = TYPE_NORMAL, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BONEMERANG] = { + .effect = EFFECT_DOUBLE_HIT, + .power = 50, + .type = TYPE_GROUND, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REST] = { + .effect = EFFECT_REST, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_ROCK_SLIDE] = { + .effect = EFFECT_FLINCH_HIT, + .power = 75, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYPER_FANG] = { + .effect = EFFECT_FLINCH_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SHARPEN] = { + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_CONVERSION] = { + .effect = EFFECT_CONVERSION, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_TRI_ATTACK] = { + .effect = EFFECT_TRI_ATTACK, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SUPER_FANG] = { + .effect = EFFECT_SUPER_FANG, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SLASH] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SUBSTITUTE] = { + .effect = EFFECT_SUBSTITUTE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_STRUGGLE] = { + .effect = EFFECT_RECOIL, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 1, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SKETCH] = { + .effect = EFFECT_SKETCH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 1, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_TRIPLE_KICK] = { + .effect = EFFECT_TRIPLE_KICK, + .power = 10, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_THIEF] = { + .effect = EFFECT_THIEF, + .power = 40, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPIDER_WEB] = { + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIND_READER] = { + .effect = EFFECT_LOCK_ON, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_NIGHTMARE] = { + .effect = EFFECT_NIGHTMARE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLAME_WHEEL] = { + .effect = EFFECT_THAW_HIT, + .power = 60, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SNORE] = { + .effect = EFFECT_SNORE, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CURSE] = { + .effect = EFFECT_CURSE, + .power = 0, + .type = TYPE_MYSTERY, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_FLAIL] = { + .effect = EFFECT_FLAIL, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CONVERSION_2] = { + .effect = EFFECT_CONVERSION_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_AEROBLAST] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 100, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_COTTON_SPORE] = { + .effect = EFFECT_SPEED_DOWN_2, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REVERSAL] = { + .effect = EFFECT_FLAIL, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SPITE] = { + .effect = EFFECT_SPITE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POWDER_SNOW] = { + .effect = EFFECT_FREEZE_HIT, + .power = 40, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PROTECT] = { + .effect = EFFECT_PROTECT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_MACH_PUNCH] = { + .effect = EFFECT_QUICK_ATTACK, + .power = 40, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SCARY_FACE] = { + .effect = EFFECT_SPEED_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FAINT_ATTACK] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_DARK, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SWEET_KISS] = { + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BELLY_DRUM] = { + .effect = EFFECT_BELLY_DRUM, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SLUDGE_BOMB] = { + .effect = EFFECT_POISON_HIT, + .power = 90, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MUD_SLAP] = { + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 20, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_OCTAZOOKA] = { + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 65, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SPIKES] = { + .effect = EFFECT_SPIKES, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_ENEMY_SIDE, + .priority = 0, + .flags = 0, + }, + + [MOVE_ZAP_CANNON] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 100, + .type = TYPE_ELECTRIC, + .accuracy = 50, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FORESIGHT] = { + .effect = EFFECT_FORESIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DESTINY_BOND] = { + .effect = EFFECT_DESTINY_BOND, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_PERISH_SONG] = { + .effect = EFFECT_PERISH_SONG, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ICY_WIND] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 55, + .type = TYPE_ICE, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DETECT] = { + .effect = EFFECT_PROTECT, + .power = 0, + .type = TYPE_FIGHTING, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_BONE_RUSH] = { + .effect = EFFECT_MULTI_HIT, + .power = 25, + .type = TYPE_GROUND, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_LOCK_ON] = { + .effect = EFFECT_LOCK_ON, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_OUTRAGE] = { + .effect = EFFECT_RAMPAGE, + .power = 90, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SANDSTORM] = { + .effect = EFFECT_SANDSTORM, + .power = 0, + .type = TYPE_ROCK, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_GIGA_DRAIN] = { + .effect = EFFECT_ABSORB, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ENDURE] = { + .effect = EFFECT_ENDURE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_CHARM] = { + .effect = EFFECT_ATTACK_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROLLOUT] = { + .effect = EFFECT_ROLLOUT, + .power = 30, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FALSE_SWIPE] = { + .effect = EFFECT_FALSE_SWIPE, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SWAGGER] = { + .effect = EFFECT_SWAGGER, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MILK_DRINK] = { + .effect = EFFECT_SOFTBOILED, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SPARK] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 65, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FURY_CUTTER] = { + .effect = EFFECT_FURY_CUTTER, + .power = 10, + .type = TYPE_BUG, + .accuracy = 95, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_STEEL_WING] = { + .effect = EFFECT_DEFENSE_UP_HIT, + .power = 70, + .type = TYPE_STEEL, + .accuracy = 90, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEAN_LOOK] = { + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ATTRACT] = { + .effect = EFFECT_ATTRACT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SLEEP_TALK] = { + .effect = EFFECT_SLEEP_TALK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_HEAL_BELL] = { + .effect = EFFECT_HEAL_BELL, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_RETURN] = { + .effect = EFFECT_RETURN, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_PRESENT] = { + .effect = EFFECT_PRESENT, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FRUSTRATION] = { + .effect = EFFECT_FRUSTRATION, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SAFEGUARD] = { + .effect = EFFECT_SAFEGUARD, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_PAIN_SPLIT] = { + .effect = EFFECT_PAIN_SPLIT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SACRED_FIRE] = { + .effect = EFFECT_THAW_HIT, + .power = 100, + .type = TYPE_FIRE, + .accuracy = 95, + .pp = 5, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MAGNITUDE] = { + .effect = EFFECT_MAGNITUDE, + .power = 1, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DYNAMIC_PUNCH] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 50, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MEGAHORN] = { + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_BUG, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DRAGON_BREATH] = { + .effect = EFFECT_PARALYZE_HIT, + .power = 60, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BATON_PASS] = { + .effect = EFFECT_BATON_PASS, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ENCORE] = { + .effect = EFFECT_ENCORE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_PURSUIT] = { + .effect = EFFECT_PURSUIT, + .power = 40, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_RAPID_SPIN] = { + .effect = EFFECT_RAPID_SPIN, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SWEET_SCENT] = { + .effect = EFFECT_EVASION_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_IRON_TAIL] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 100, + .type = TYPE_STEEL, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_METAL_CLAW] = { + .effect = EFFECT_ATTACK_UP_HIT, + .power = 50, + .type = TYPE_STEEL, + .accuracy = 95, + .pp = 35, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_VITAL_THROW] = { + .effect = EFFECT_VITAL_THROW, + .power = 70, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MORNING_SUN] = { + .effect = EFFECT_MORNING_SUN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SYNTHESIS] = { + .effect = EFFECT_SYNTHESIS, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_MOONLIGHT] = { + .effect = EFFECT_MOONLIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HIDDEN_POWER] = { + .effect = EFFECT_HIDDEN_POWER, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_CROSS_CHOP] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 80, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_TWISTER] = { + .effect = EFFECT_TWISTER, + .power = 40, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_RAIN_DANCE] = { + .effect = EFFECT_RAIN_DANCE, + .power = 0, + .type = TYPE_WATER, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_SUNNY_DAY] = { + .effect = EFFECT_SUNNY_DAY, + .power = 0, + .type = TYPE_FIRE, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_CRUNCH] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 80, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MIRROR_COAT] = { + .effect = EFFECT_MIRROR_COAT, + .power = 1, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = -5, + .flags = F_MIRROR_MOVE_COMPATIBLE, + }, + + [MOVE_PSYCH_UP] = { + .effect = EFFECT_PSYCH_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_EXTREME_SPEED] = { + .effect = EFFECT_QUICK_ATTACK, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ANCIENT_POWER] = { + .effect = EFFECT_ALL_STATS_UP_HIT, + .power = 60, + .type = TYPE_ROCK, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SHADOW_BALL] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 80, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FUTURE_SIGHT] = { + .effect = EFFECT_FUTURE_SIGHT, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_ROCK_SMASH] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 20, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WHIRLPOOL] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_WATER, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BEAT_UP] = { + .effect = EFFECT_BEAT_UP, + .power = 10, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FAKE_OUT] = { + .effect = EFFECT_FAKE_OUT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 1, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_UPROAR] = { + .effect = EFFECT_UPROAR, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_RANDOM, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_STOCKPILE] = { + .effect = EFFECT_STOCKPILE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SPIT_UP] = { + .effect = EFFECT_SPIT_UP, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SWALLOW] = { + .effect = EFFECT_SWALLOW, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HEAT_WAVE] = { + .effect = EFFECT_BURN_HIT, + .power = 100, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HAIL] = { + .effect = EFFECT_HAIL, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TORMENT] = { + .effect = EFFECT_TORMENT, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FLATTER] = { + .effect = EFFECT_FLATTER, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WILL_O_WISP] = { + .effect = EFFECT_WILL_O_WISP, + .power = 0, + .type = TYPE_FIRE, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MEMENTO] = { + .effect = EFFECT_MEMENTO, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FACADE] = { + .effect = EFFECT_FACADE, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FOCUS_PUNCH] = { + .effect = EFFECT_FOCUS_PUNCH, + .power = 150, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -3, + .flags = F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SMELLING_SALT] = { + .effect = EFFECT_SMELLINGSALT, + .power = 60, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FOLLOW_ME] = { + .effect = EFFECT_FOLLOW_ME, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 3, + .flags = 0, + }, + + [MOVE_NATURE_POWER] = { + .effect = EFFECT_NATURE_POWER, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_CHARGE] = { + .effect = EFFECT_CHARGE, + .power = 0, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_TAUNT] = { + .effect = EFFECT_TAUNT, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HELPING_HAND] = { + .effect = EFFECT_HELPING_HAND, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 5, + .flags = 0, + }, + + [MOVE_TRICK] = { + .effect = EFFECT_TRICK, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROLE_PLAY] = { + .effect = EFFECT_ROLE_PLAY, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_WISH] = { + .effect = EFFECT_WISH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ASSIST] = { + .effect = EFFECT_ASSIST, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 0, + .flags = 0, + }, + + [MOVE_INGRAIN] = { + .effect = EFFECT_INGRAIN, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_SUPERPOWER] = { + .effect = EFFECT_SUPERPOWER, + .power = 120, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MAGIC_COAT] = { + .effect = EFFECT_MAGIC_COAT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 4, + .flags = 0, + }, + + [MOVE_RECYCLE] = { + .effect = EFFECT_RECYCLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_REVENGE] = { + .effect = EFFECT_REVENGE, + .power = 60, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = -4, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BRICK_BREAK] = { + .effect = EFFECT_BRICK_BREAK, + .power = 75, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_YAWN] = { + .effect = EFFECT_YAWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_KNOCK_OFF] = { + .effect = EFFECT_KNOCK_OFF, + .power = 20, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ENDEAVOR] = { + .effect = EFFECT_ENDEAVOR, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ERUPTION] = { + .effect = EFFECT_ERUPTION, + .power = 150, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKILL_SWAP] = { + .effect = EFFECT_SKILL_SWAP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_IMPRISON] = { + .effect = EFFECT_IMPRISON, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_REFRESH] = { + .effect = EFFECT_REFRESH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_GRUDGE] = { + .effect = EFFECT_GRUDGE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SNATCH] = { + .effect = EFFECT_SNATCH, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SPECIAL, + .priority = 4, + .flags = F_MIRROR_MOVE_COMPATIBLE, + }, + + [MOVE_SECRET_POWER] = { + .effect = EFFECT_SECRET_POWER, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DIVE] = { + .effect = EFFECT_FLY, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ARM_THRUST] = { + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CAMOUFLAGE] = { + .effect = EFFECT_CAMOUFLAGE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_TAIL_GLOW] = { + .effect = EFFECT_SPECIAL_ATTACK_UP_2, + .power = 0, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_LUSTER_PURGE] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 70, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MIST_BALL] = { + .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, + .power = 70, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_FEATHER_DANCE] = { + .effect = EFFECT_ATTACK_DOWN_2, + .power = 0, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TEETER_DANCE] = { + .effect = EFFECT_TEETER_DANCE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_ALL_EXCEPT_USER, + .priority = 0, + .flags = F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BLAZE_KICK] = { + .effect = EFFECT_BLAZE_KICK, + .power = 85, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MUD_SPORT] = { + .effect = EFFECT_MUD_SPORT, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_ICE_BALL] = { + .effect = EFFECT_ROLLOUT, + .power = 30, + .type = TYPE_ICE, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_NEEDLE_ARM] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SLACK_OFF] = { + .effect = EFFECT_RESTORE_HP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_HYPER_VOICE] = { + .effect = EFFECT_HIT, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_FANG] = { + .effect = EFFECT_POISON_FANG, + .power = 50, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_CRUSH_CLAW] = { + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 75, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 10, + .secondaryEffectChance = 50, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_BLAST_BURN] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HYDRO_CANNON] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_WATER, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_METEOR_MASH] = { + .effect = EFFECT_ATTACK_UP_HIT, + .power = 100, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ASTONISH] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 30, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_WEATHER_BALL] = { + .effect = EFFECT_WEATHER_BALL, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AROMATHERAPY] = { + .effect = EFFECT_HEAL_BELL, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_FAKE_TEARS] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AIR_CUTTER] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 55, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_OVERHEAT] = { + .effect = EFFECT_OVERHEAT, + .power = 140, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ODOR_SLEUTH] = { + .effect = EFFECT_FORESIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_ROCK_TOMB] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 50, + .type = TYPE_ROCK, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SILVER_WIND] = { + .effect = EFFECT_ALL_STATS_UP_HIT, + .power = 60, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_METAL_SOUND] = { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_GRASS_WHISTLE] = { + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 55, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_TICKLE] = { + .effect = EFFECT_TICKLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_COSMIC_POWER] = { + .effect = EFFECT_COSMIC_POWER, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_WATER_SPOUT] = { + .effect = EFFECT_ERUPTION, + .power = 150, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SIGNAL_BEAM] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 75, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SHADOW_PUNCH] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_GHOST, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_EXTRASENSORY] = { + .effect = EFFECT_FLINCH_HIT_2, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SKY_UPPERCUT] = { + .effect = EFFECT_SKY_UPPERCUT, + .power = 85, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_SAND_TOMB] = { + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_GROUND, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SHEER_COLD] = { + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_ICE, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_MUDDY_WATER] = { + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 95, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 30, + .target = TARGET_BOTH_ENEMIES, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BULLET_SEED] = { + .effect = EFFECT_MULTI_HIT, + .power = 10, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_AERIAL_ACE] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_FLYING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_ICICLE_SPEAR] = { + .effect = EFFECT_MULTI_HIT, + .power = 10, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_IRON_DEFENSE] = { + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_STEEL, + .accuracy = 0, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BLOCK] = { + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_MAGIC_COAT | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_HOWL] = { + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_DRAGON_CLAW] = { + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_FRENZY_PLANT] = { + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_GRASS, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_BULK_UP] = { + .effect = EFFECT_BULK_UP, + .power = 0, + .type = TYPE_FIGHTING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_BOUNCE] = { + .effect = EFFECT_FLY, + .power = 85, + .type = TYPE_FLYING, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 30, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MUD_SHOT] = { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 55, + .type = TYPE_GROUND, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_POISON_TAIL] = { + .effect = EFFECT_POISON_TAIL, + .power = 50, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_COVET] = { + .effect = EFFECT_THIEF, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_VOLT_TACKLE] = { + .effect = EFFECT_DOUBLE_EDGE, + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_MAGICAL_LEAF] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WATER_SPORT] = { + .effect = EFFECT_WATER_SPORT, + .power = 0, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = 0, + }, + + [MOVE_CALM_MIND] = { + .effect = EFFECT_CALM_MIND, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_LEAF_BLADE] = { + .effect = EFFECT_HIGH_CRITICAL, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT | F_MAKES_CONTACT, + }, + + [MOVE_DRAGON_DANCE] = { + .effect = EFFECT_DRAGON_DANCE, + .power = 0, + .type = TYPE_DRAGON, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_USER, + .priority = 0, + .flags = F_AFFECTED_BY_SNATCH, + }, + + [MOVE_ROCK_BLAST] = { + .effect = EFFECT_MULTI_HIT, + .power = 25, + .type = TYPE_ROCK, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_SHOCK_WAVE] = { + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_ELECTRIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_WATER_PULSE] = { + .effect = EFFECT_CONFUSE_HIT, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + + [MOVE_DOOM_DESIRE] = { + .effect = EFFECT_FUTURE_SIGHT, + .power = 120, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 0, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = 0, + }, + + [MOVE_PSYCHO_BOOST] = { + .effect = EFFECT_OVERHEAT, + .power = 140, + .type = TYPE_PSYCHIC, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 100, + .target = TARGET_SELECTED_POKEMON, + .priority = 0, + .flags = F_AFFECTED_BY_KINGS_ROCK | F_MIRROR_MOVE_COMPATIBLE | F_AFFECTED_BY_PROTECT, + }, + +}; -- cgit v1.2.3 From 0a040394f34d2d4e5386277649bbff450e3b3075 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 18 Apr 2018 22:18:34 -0400 Subject: physical/special type macros --- src/battle/battle_4.c | 4 ++-- src/battle/calculate_base_damage.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index bd72e70f3..5ea6e80b3 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -2087,7 +2087,7 @@ static void atk0C_datahpupdate(void) if (!gSpecialStatuses[gActiveBattler].moveturnLostHP && !(gHitMarker & HITMARKER_x100000)) gSpecialStatuses[gActiveBattler].moveturnLostHP = gHpDealt; - if (moveType < TYPE_MYSTERY && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) + if (TYPE_IS_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) { gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; gSpecialStatuses[gActiveBattler].moveturnLostHP_physical = gHpDealt; @@ -2102,7 +2102,7 @@ static void atk0C_datahpupdate(void) gSpecialStatuses[gActiveBattler].moveturnPhysicalBank = gBankTarget; } } - else if (moveType >= TYPE_MYSTERY && !(gHitMarker & HITMARKER_x100000)) + else if (!TYPE_IS_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000)) { gProtectStructs[gActiveBattler].specialDmg = gHpDealt; gSpecialStatuses[gActiveBattler].moveturnLostHP_special = gHpDealt; diff --git a/src/battle/calculate_base_damage.c b/src/battle/calculate_base_damage.c index 8dc4108d9..d983e47a4 100644 --- a/src/battle/calculate_base_damage.c +++ b/src/battle/calculate_base_damage.c @@ -170,7 +170,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (attackerHoldEffect == gHoldEffectToType[i][0] && type == gHoldEffectToType[i][1]) { - if (type < TYPE_MYSTERY) + if (TYPE_IS_PHYSICAL(type)) attack = (attack * (attackerHoldEffectParam + 100)) / 100; else spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100; @@ -221,7 +221,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (gBattleMoves[gCurrentMove].effect == EFFECT_EXPLOSION) defense /= 2; - if (type < TYPE_MYSTERY) // is physical + if (TYPE_IS_PHYSICAL(type)) // type < TYPE_MYSTERY { if (gCritMultiplier == 2) { @@ -271,7 +271,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (type == TYPE_MYSTERY) damage = 0; // is ??? type. does 0 damage. - if (type > TYPE_MYSTERY) // is special? + if (TYPE_IS_SPECIAL(type)) // type > TYPE_MYSTERY { if (gCritMultiplier == 2) { -- cgit v1.2.3 From 3920dd26d0c228460cd9558d226d1f44ed9d7b67 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 18 Apr 2018 22:45:55 -0400 Subject: through debug_80C689C --- src/debug/watanabe_debug_menu.c | 189 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 184 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 16fe342e9..17bb4c480 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -31,7 +31,8 @@ struct WatanabeDebugMenuItemSubstruct { u32 unk0; - u8 fill4[5]; + u32 unk4; + u8 unk8; u8 unk9; }; @@ -52,10 +53,7 @@ struct WatanabeEwram18000 { u8 unk168; u8 unk169; u8 unk16a; - u8 unk16b; - u8 unk16c; - u8 unk16d; - u8 unk16e[256]; + u8 unk16b[259]; }; #define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) @@ -165,6 +163,9 @@ extern const u8 gUnknown_Debug_083F854A[3]; // = _("ON"); extern const u8 gUnknown_Debug_083F854D[4]; // = _("OFF"); extern const u8 gUnknown_Debug_083F8758[4]; // = _("たまご"); extern const u8 gUnknown_Debug_083F875C[8]; // = _("DebugーG"); +extern const u8 gUnknown_Debug_083F8764[2]; // = _(" "); + +extern const u32 gUnknown_Debug_083F8768[10]; #define SPRITETAG_WATANABE 0x1000 @@ -2086,6 +2087,184 @@ void debug_80C5FFC(void) CalculateMonStats(&gUnknown_Debug_2038A1C->pokemon); } +void debug_80C627C(u8 a0) +{ + // u8 sp00[] = _("▶"); + // u8 sp04[] = _(" "); + + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F7FD4)]; + u8 sp04[ARRAY_COUNT(gUnknown_Debug_083F8764)]; + + memcpy(sp00, gUnknown_Debug_083F7FD4, sizeof(gUnknown_Debug_083F7FD4)); + memcpy(sp04, gUnknown_Debug_083F8764, sizeof(gUnknown_Debug_083F8764)); + + switch (a0) + { + case 0: + Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5); + break; + case 1: + if (gUnknown_Debug_2038A1C->unk169 < gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].data.type3 - 1) + { + Menu_PrintText(sp04, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5); + gUnknown_Debug_2038A1C->unk169++; + Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5); + } + break; + case 2: + if (gUnknown_Debug_2038A1C->unk169 > 0) + { + Menu_PrintText(sp04, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5); + gUnknown_Debug_2038A1C->unk169--; + Menu_PrintText(sp00, 1, 2 * gUnknown_Debug_2038A1C->unk169 + 5); + } + break; + } +} + +void debug_80C6384(void) +{ + u16 i; + + Menu_DrawStdWindowFrame(0, 4, 29, 19); + for (i = 0; gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i] != EOS; i++) + { + gUnknown_Debug_2038A1C->unk16b[0] = EXT_CTRL_CODE_BEGIN; + gUnknown_Debug_2038A1C->unk16b[1] = 0x01; + gUnknown_Debug_2038A1C->unk16b[2] = 0x01; + debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 1); + Menu_PrintText(gUnknown_Debug_2038A1C->unk16b, 2, 2 * i + 5); + } +} + +void debug_80C643C(void) +{ + u16 i; + + Menu_BlankWindowRect(2, 5, 28, 18); + for (i = 0; gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i] != EOS; i++) + { + gUnknown_Debug_2038A1C->unk16b[0] = EXT_CTRL_CODE_BEGIN; + gUnknown_Debug_2038A1C->unk16b[1] = 0x01; + if (i == gUnknown_Debug_2038A1C->unk169) + { + gUnknown_Debug_2038A1C->unk16b[2] = 0x02; + debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 2); + } + else + { + gUnknown_Debug_2038A1C->unk16b[2] = 0x01; + debug_80C5738(gUnknown_Debug_2038A1C->unk16b + 3, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[i], 1); + } + Menu_PrintText(gUnknown_Debug_2038A1C->unk16b, 2, 2 * i + 5); + } +} + +void debug_80C6544(u8 a0) +{ + u32 r7 = debug_80C5B60(gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]); + u32 r5 = gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk0; + u32 r4 = gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk4; + u32 r3 = gUnknown_Debug_083F8768[gUnknown_Debug_2038A1C->unk16a]; + + if (gUnknown_Debug_083F8554[gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]].data.type4->unk8 == 0) + { + switch (a0) + { + case 1: + if (r7 < r4 - r3) + r7 += r3; + else if (r7 < r4) + r7 = r4; + else + r7 = r5; + break; + case 2: + if (r7 > r5 + r3) + r7 -= r3; + else if (r7 > r5) + r7 = r5; + else + r7 = r4; + break; + } + } + debug_80C5B74(r7, gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]); +} + +void debug_80C6630(u8 * a0, u8 a1, u8 a2, u8 a3) +{ + *a0++ = EXT_CTRL_CODE_BEGIN; + *a0++ = 0x01; + if (a2 == 2) + { + if (a3 != gUnknown_Debug_2038A1C->unk16a) + *a0 = 0x02; + else + *a0 = 0x04; + } + else + *a0 = 0x01; + a0[1] = a1 + CHAR_0; +} + +void debug_80C6678(u8 * a0, u32 a1, u8 a2, u8 a3) +{ + u8 r7 = 0; + + switch (a2) + { + default: + case 10: + debug_80C6630(a0 + r7, a1 / 1000000000, a3, 9); + a1 %= 1000000000; + r7 += 4; + case 9: + debug_80C6630(a0 + r7, a1 / 100000000, a3, 8); + a1 %= 100000000; + r7 += 4; + case 8: + debug_80C6630(a0 + r7, a1 / 10000000, a3, 7); + a1 %= 10000000; + r7 += 4; + case 7: + debug_80C6630(a0 + r7, a1 / 1000000, a3, 6); + a1 %= 1000000; + r7 += 4; + case 6: + debug_80C6630(a0 + r7, a1 / 100000, a3, 5); + a1 %= 100000; + r7 += 4; + case 5: + debug_80C6630(a0 + r7, a1 / 10000, a3, 4); + a1 %= 10000; + r7 += 4; + case 4: + debug_80C6630(a0 + r7, a1 / 1000, a3, 3); + a1 %= 1000; + r7 += 4; + case 3: + debug_80C6630(a0 + r7, a1 / 100, a3, 2); + a1 %= 100; + r7 += 4; + case 2: + debug_80C6630(a0 + r7, a1 / 10, a3, 1); + a1 %= 10; + r7 += 4; + case 1: + debug_80C6630(a0 + r7, a1, a3, 0); + break; + } +} + +void debug_80C689C(u8 * a0, const u8 * a1, u8 a2) +{ + u8 i; + + for (i = 0; a1[i] != EOS && i < a2; i++) + a0[i] = a1[i]; +} + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); -- cgit v1.2.3 From 39710a12cbb854f2cc50ea2955c9f94b6b5e6024 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 18 Apr 2018 23:17:30 -0400 Subject: remove duplicate battlemove flag constants --- src/battle/battle_4.c | 6 +++--- src/battle/battle_util.c | 24 ++++++++++++------------ src/data/battle_moves.c | 2 -- 3 files changed, 15 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 5ea6e80b3..9dc9d62ec 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -307,7 +307,7 @@ extern u8 BattleScript_SelectingImprisionedMoveInPalace[]; #define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8)) #define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr)) -#define TARGET_PROTECT_AFFECTED ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED)) +#define TARGET_PROTECT_AFFECTED ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_PROTECT)) //array entries for battle communication #define MOVE_EFFECT_BYTE 0x3 @@ -1142,7 +1142,7 @@ static void atk00_attackcanceler(void) gHitMarker |= HITMARKER_OBEYS; - if (gProtectStructs[gBankTarget].bounceMove && gBattleMoves[gCurrentMove].flags & FLAG_MAGICCOAT_AFFECTED) + if (gProtectStructs[gBankTarget].bounceMove && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_MAGIC_COAT) { PressurePPLose(gBankAttacker, gBankTarget, MOVE_MAGIC_COAT); gProtectStructs[gBankTarget].bounceMove = 0; @@ -1153,7 +1153,7 @@ static void atk00_attackcanceler(void) for (i = 0; i < gBattlersCount; i++) { - if ((gProtectStructs[gBanksByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) + if ((gProtectStructs[gBanksByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_SNATCH) { PressurePPLose(gBankAttacker, gBanksByTurnOrder[i], MOVE_SNATCH); gProtectStructs[gBanksByTurnOrder[i]].stealMove = 0; diff --git a/src/battle/battle_util.c b/src/battle/battle_util.c index e164a60dc..7cb39acb7 100644 --- a/src/battle/battle_util.c +++ b/src/battle/battle_util.c @@ -2026,7 +2026,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { gBattleMoveDamage = gBattleMons[gBankAttacker].maxHP / 16; if (gBattleMoveDamage == 0) @@ -2043,7 +2043,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { do { @@ -2064,7 +2064,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (Random() % 10) == 0) { do @@ -2088,7 +2088,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x42; BattleScriptPushCursor(); @@ -2103,7 +2103,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x42; @@ -2121,7 +2121,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + && (gBattleMoves[move].flags & F_MAKES_CONTACT)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x45; BattleScriptPushCursor(); @@ -2136,7 +2136,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (Random() % 3) == 0) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x45; @@ -2153,7 +2153,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special)) { gBattleCommunication[MOVE_EFFECT_BYTE] = 0x43; @@ -2168,7 +2168,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) && (Random() % 3) == 0) { @@ -2186,7 +2186,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) && gBattleMons[gBankTarget].hp != 0 && gBattleMons[gBankAttacker].ability != ABILITY_OBLIVIOUS @@ -2206,7 +2206,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBankAttacker].hp != 0 && !gProtectStructs[gBankAttacker].confusionSelfDmg - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) + && (gBattleMoves[move].flags & F_MAKES_CONTACT) && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) && gBattleMons[gBankTarget].hp != 0 && (Random() % 3) == 0 @@ -3271,7 +3271,7 @@ u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && (gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_special) && (Random() % 100) < bankQuality - && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED + && gBattleMoves[gCurrentMove].flags & F_AFFECTED_BY_KINGS_ROCK && gBattleMons[gBankTarget].hp) { gBattleCommunication[MOVE_EFFECT_BYTE] = 8; diff --git a/src/data/battle_moves.c b/src/data/battle_moves.c index 439a52dc7..d2a4fcf8f 100644 --- a/src/data/battle_moves.c +++ b/src/data/battle_moves.c @@ -1,7 +1,5 @@ #include "global.h" #include "battle.h" -#include "pokemon.h" -#include "constants/battle_constants.h" #include "constants/battle_move_effects.h" #include "constants/moves.h" -- cgit v1.2.3 From b229bfee70355a6ff5e416693d3138e14a2afaa2 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 19 Apr 2018 08:43:15 -0400 Subject: through InitSeePokemonGraphics --- src/debug/watanabe_debug_menu.c | 102 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 17bb4c480..483a3d9d0 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -28,6 +28,7 @@ #include "battle_bg.h" #include "item.h" #include "pokemon_summary_screen.h" +#include "pokemon_icon.h" struct WatanabeDebugMenuItemSubstruct { u32 unk0; @@ -56,12 +57,26 @@ struct WatanabeEwram18000 { u8 unk16b[259]; }; +struct WatanabeEwram18000_2 { + u16 unk0; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u8 unk8; + u8 unk9; + u8 unkA; +}; + #define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) +#define eWatanabe18000_2 (*(struct WatanabeEwram18000_2 *)(gSharedMem + 0x18000)) EWRAM_DATA u8 gUnknown_Debug_20389EC[0x20] = { 0 }; EWRAM_DATA u8 gUnknown_Debug_2038A0C[0x10] = { 0 }; EWRAM_DATA struct WatanabeEwram18000 * gUnknown_Debug_2038A1C = NULL; -EWRAM_DATA u8 gUnknown_Debug_2038A20[4] = { 0 }; +EWRAM_DATA struct WatanabeEwram18000_2 * gUnknown_Debug_2038A20 = NULL; u32 byte_3005E30; @@ -113,6 +128,7 @@ void debug_80C6544(u8); void debug_80C689C(u8 *, const u8 *, u8); void debug_80C6678(u8 *, u32, u8, u8); void debug_80C68CC(u16, u8, u8, u8); +void debug_80C6B00(u8 taskId); void debug_80C7584(struct Sprite *); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; @@ -2265,7 +2281,91 @@ void debug_80C689C(u8 * a0, const u8 * a1, u8 a2) a0[i] = a1[i]; } +void debug_80C68CC(u16 a0, u8 a1, u8 a2, u8 a3) +{ + u8 sp00[5]; + u8 i; + + for (i = 0; i < 4; i++) + sp00[i] = 0; + sp00[4] = EOS; + + switch (a3) + { + default: + sp00[0] = a0 >> 12; + case 3: + sp00[1] = (a0 & 0x0F00) >> 8; + case 2: + sp00[2] = (a0 & 0x00F0) >> 4; + case 1: + sp00[3] = (a0 & 0x000F); + break; + } + + for (i = 0; i < 4; i++) + { + if (sp00[i] < 10) + sp00[i] += CHAR_0; + else + sp00[i] += CHAR_A - 10; + } + + Menu_PrintText(sp00 + (u8)(4 - a3), a1, a2); +} + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); +void InitSeePokemonGraphics(void) +{ + u16 pal; + u8 spriteId; + debug_80C35DC(); + DmaCopy16Defvars(3, byte_83F88EC, BG_SCREEN_ADDR(28), sizeof(byte_83F88EC)); + LoadPalette(word_83F888C, 0x80, sizeof(word_83F888C)); + pal = RGB(31, 31, 31); + LoadPalette(&pal, 0, sizeof(pal)); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WIN1H = 0; + REG_WIN1V = 0; + REG_WININ = 0x3F; + REG_WINOUT = 0x1F; + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN; + REG_BLDALPHA = 0; + REG_BLDY = 0x07; + { + u16 imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; + } + SetVBlankCallback(debug_80C3758); + SetMainCallback2(debug_80C370C); + sub_809D51C(); + REG_BG0CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(31); + REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(30); + REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON; + CreateTask(debug_80C6B00, 0); + gUnknown_Debug_2038A20 = &eWatanabe18000_2; + gUnknown_Debug_2038A20->unk0 = 0x115; + gUnknown_Debug_2038A20->unk2 = 0; + gUnknown_Debug_2038A20->unk3 = 0; + gUnknown_Debug_2038A20->unk5 = 0; + gUnknown_Debug_2038A20->unk7 = 0; + gUnknown_Debug_2038A20->unkA = 0; + gUnknown_Debug_2038A20->unk8 = 0; + spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6C, 0x74, 0); + gSprites[spriteId].data[0] = 0; + StartSpriteAnim(gSprites + spriteId, 0); + spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6C, 0x74, 0); + gSprites[spriteId].data[0] = 1; + StartSpriteAnim(gSprites + spriteId, 1); + spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6C, 0x74, 0); + gSprites[spriteId].data[0] = 2; + StartSpriteAnim(gSprites + spriteId, 2); +} + #endif // DEBUG -- cgit v1.2.3 From b5e253af0df17caa6ea5a93374f53a0920d041be Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 19 Apr 2018 19:42:00 -0400 Subject: through debug_80C6CB8 --- src/debug/watanabe_debug_menu.c | 92 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 483a3d9d0..61cd57fcc 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1,5 +1,6 @@ #if DEBUG #include "global.h" +#include "decompress.h" #include "ewram.h" #include "random.h" #include "gba/flash_internal.h" @@ -29,6 +30,7 @@ #include "item.h" #include "pokemon_summary_screen.h" #include "pokemon_icon.h" +#include "field_effect.h" struct WatanabeDebugMenuItemSubstruct { u32 unk0; @@ -129,6 +131,8 @@ void debug_80C689C(u8 *, const u8 *, u8); void debug_80C6678(u8 *, u32, u8, u8); void debug_80C68CC(u16, u8, u8, u8); void debug_80C6B00(u8 taskId); +void debug_80C6CB8(u8 taskId); +void debug_80C6EE8(u8 taskId); void debug_80C7584(struct Sprite *); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; @@ -2368,4 +2372,92 @@ void InitSeePokemonGraphics(void) StartSpriteAnim(gSprites + spriteId, 2); } +extern const u8 gUnknown_Debug_083F8815[18]; // = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; +extern const u8 gUnknown_Debug_083F87D0[]; +extern const u8 gUnknown_Debug_083F87D8[]; +extern const u8 gUnknown_Debug_083F87E0[]; +extern const u8 gUnknown_Debug_083F87F4[]; +extern const u8 gUnknown_Debug_083F8801[]; + +void debug_80C6B00(u8 taskId) +{ + // u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; + u8 i; + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8815)]; + memcpy(sp00, gUnknown_Debug_083F8815, sizeof(gUnknown_Debug_083F8815)); + + Menu_DrawStdWindowFrame(10, 0, 15, 7); + Menu_DrawStdWindowFrame(0, 0, 9, 9); + Menu_DrawStdWindowFrame(0, 10, 9, 19); + Menu_DrawStdWindowFrame(16, 0, 29, 7); + Menu_PrintText(gUnknown_Debug_083F87D0, 17, 1); + Menu_PrintText(gUnknown_Debug_083F87D8, 27, 1); + Menu_PrintText(gUnknown_Debug_083F87E0, 17, 5); + + Menu_DrawStdWindowFrame(10, 8, 29, 12); + for (i = 0; i < 15; i++) + ((u16 *)(VRAM + 0xFA56))[i] = 0xA311 + i; + for (i = 0; i < 15; i++) + ((u16 *)(VRAM + 0xF256))[i] = 0x8301 + i; + + Menu_PrintText(gUnknown_Debug_083F87F4, 20, 10); + Menu_DrawStdWindowFrame(10, 13, 29, 19); + + sp00[0] = 0x23; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF396))[i] = 0x9300 + sp00[i]; + sp00[0] = 0x24; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF3D6))[i] = 0x9300 + sp00[i]; + sp00[0] = 0x25; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF416))[i] = 0x9300 + sp00[i]; + + Menu_PrintText(gUnknown_Debug_083F8801, 15, 17); + + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x699F; + + gTasks[taskId].func = debug_80C6CB8; +} + +void debug_80C6CB8(u8 taskId) +{ + DecompressPicFromTable_2(gMonFrontPicTable + gUnknown_Debug_2038A20->unk0, gMonFrontPicCoords[gUnknown_Debug_2038A20->unk0].coords, gMonFrontPicCoords[gUnknown_Debug_2038A20->unk0].y_offset, gUnknown_081FAF4C[0], gUnknown_081FAF4C[1], gUnknown_Debug_2038A20->unk0); + LoadCompressedObjectPalette(gMonPaletteTable + gUnknown_Debug_2038A20->unk0); + GetMonSpriteTemplate_803C56C(gUnknown_Debug_2038A20->unk0, 1); + gUnknown_Debug_2038A20->unk2 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x28, 0); + gSprites[gUnknown_Debug_2038A20->unk2].callback = debug_69; + gSprites[gUnknown_Debug_2038A20->unk2].oam.priority = 0; + + DecompressPicFromTable_2(gMonBackPicTable + gUnknown_Debug_2038A20->unk0, gMonBackPicCoords[gUnknown_Debug_2038A20->unk0].coords, gMonBackPicCoords[gUnknown_Debug_2038A20->unk0].y_offset, gUnknown_081FAF4C[0], gUnknown_081FAF4C[2], gUnknown_Debug_2038A20->unk0); + LoadCompressedObjectPalette(gMonPaletteTable + gUnknown_Debug_2038A20->unk0); + GetMonSpriteTemplate_803C56C(gUnknown_Debug_2038A20->unk0, 2); + gUnknown_Debug_2038A20->unk3 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x78, 0); + gSprites[gUnknown_Debug_2038A20->unk3].callback = debug_69; + gSprites[gUnknown_Debug_2038A20->unk3].oam.priority = 0; + + gUnknown_Debug_2038A20->unk4 = CreateMonIcon(gUnknown_Debug_2038A20->unk0, sub_809D62C, 0x68, 0x2C, 0, 0); + + sub_8091738(SpeciesToNationalPokedexNum(gUnknown_Debug_2038A20->unk0), 2, 0x3fc); + + ((u16 *)(VRAM + 0xF858))[0] = 0xF3FC; + ((u16 *)(VRAM + 0xF858))[1] = 0xF3FD; + ((u16 *)(VRAM + 0xF858))[32] = 0xF3FE; + ((u16 *)(VRAM + 0xF858))[33] = 0xF3FF; + + debug_80C3800(gUnknown_Debug_2038A20->unk0, 17, 3); + debug_80C376C(gUnknown_Debug_2038A20->unk0, 26, 5); + + gUnknown_Debug_2038A20->unk6 = gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum; + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 0x20); + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 0x20); + + gTasks[taskId].func = debug_80C6EE8; + + gUnknown_Debug_2038A20->unk9 = 0; + StopCryAndClearCrySongs(); + PlayCry1(gUnknown_Debug_2038A20->unk0, 0); +} + #endif // DEBUG -- cgit v1.2.3 From c576a8878a4a5f222c993526551f5e6d3bfe7ca4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 20 Apr 2018 08:38:13 -0400 Subject: nonmatching debug_80C6FA8 --- src/battle/battle_2.c | 4 +- src/battle/battle_bg.c | 2 +- src/debug/watanabe_debug_menu.c | 386 +++++++++++++++++++++++++++++++++++++++- 3 files changed, 388 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index b07ad0b2d..da566628d 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -2233,7 +2233,7 @@ extern const struct Pokeblock gUnknown_Debug_821F5AC[]; extern u8 gUnknown_020297ED; -extern void unref_sub_800D684(void); +extern void debug_sub_800D684(void); void debug_sub_801174C(void) { @@ -2408,7 +2408,7 @@ void debug_sub_801174C(void) } gMain.savedCallback = debug_sub_80108B8; - SetMainCallback2(unref_sub_800D684); + SetMainCallback2(debug_sub_800D684); ClearBag(); diff --git a/src/battle/battle_bg.c b/src/battle/battle_bg.c index 7474af74b..5a2a1efa3 100644 --- a/src/battle/battle_bg.c +++ b/src/battle/battle_bg.c @@ -211,7 +211,7 @@ const struct BattleBackground gBattleTerrainTable[] = { static void sub_800D6C4(void); -void unref_sub_800D684(void) +void debug_sub_800D684(void) { u8 spriteId; ResetSpriteData(); diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 61cd57fcc..02f6054de 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -70,6 +70,8 @@ struct WatanabeEwram18000_2 { u8 unk8; u8 unk9; u8 unkA; + struct PlttData unkC; + u16 unk10[16]; }; #define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) @@ -133,6 +135,9 @@ void debug_80C68CC(u16, u8, u8, u8); void debug_80C6B00(u8 taskId); void debug_80C6CB8(u8 taskId); void debug_80C6EE8(u8 taskId); +void debug_80C6FA8(u8 taskId); +void debug_80C71FC(u8 taskId); +void debug_80C7294(u8 taskId); void debug_80C7584(struct Sprite *); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; @@ -184,6 +189,7 @@ extern const u8 gUnknown_Debug_083F854D[4]; // = _("OFF"); extern const u8 gUnknown_Debug_083F8758[4]; // = _("たまご"); extern const u8 gUnknown_Debug_083F875C[8]; // = _("DebugーG"); extern const u8 gUnknown_Debug_083F8764[2]; // = _(" "); +extern const u8 gUnknown_Debug_083F8813[2]; // = _(":"); extern const u32 gUnknown_Debug_083F8768[10]; @@ -1631,7 +1637,7 @@ void debug_80C51E4(u8 taskId) { sub_80408BC(); gMain.savedCallback = debug_80C41A8; - SetMainCallback2(unref_sub_800D684); + SetMainCallback2(debug_sub_800D684); } void debug_80C5208(void) @@ -2460,4 +2466,382 @@ void debug_80C6CB8(u8 taskId) PlayCry1(gUnknown_Debug_2038A20->unk0, 0); } +void debug_80C6EE8(u8 taskId) +{ + u16 hue; + CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->unk10, 32); + hue = gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81]; + gUnknown_Debug_2038A20->unkC.r = hue & 0x1f; + gUnknown_Debug_2038A20->unkC.g = (hue & 0x3e0) >> 5; + gUnknown_Debug_2038A20->unkC.b = (hue & 0x7c00) >> 10; + gUnknown_Debug_2038A20->unkC.unused_15 = 0; + debug_80C68CC(gUnknown_Debug_2038A20->unk7 + 1, 11, 10, 2); + Menu_PrintText(gUnknown_Debug_083F8813, 13, 10); + debug_80C68CC(hue, 14, 10, 4); + gTasks[taskId].func = debug_80C6FA8; +} + +extern const u16 gUnknown_Debug_083F8790[32]; + +#ifdef NONMATCHING +void debug_80C6FA8(u8 taskId) +{ + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + SetMainCallback2(debug_80C370C); + gTasks[taskId].func = debug_80C373C; + } + else if (gMain.newAndRepeatedKeys & R_BUTTON) + { + gUnknown_Debug_2038A20->unk0 = debug_80C3878(0, gUnknown_Debug_2038A20->unk0); + gTasks[taskId].func = debug_80C71FC; + } + else if (gMain.newAndRepeatedKeys & L_BUTTON) + { + gUnknown_Debug_2038A20->unk0 = debug_80C3878(1, gUnknown_Debug_2038A20->unk0); + gTasks[taskId].func = debug_80C71FC; + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_Debug_2038A20->unk5 = 1; + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x4167; + gTasks[taskId].func = debug_80C7294; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT && gUnknown_Debug_2038A20->unk7 < 14) + { + ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0; + gUnknown_Debug_2038A20->unk7++; + gTasks[taskId].func = debug_80C6EE8; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT && gUnknown_Debug_2038A20->unk7 > 0) + { + ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0; + gUnknown_Debug_2038A20->unk7--; + gTasks[taskId].func = debug_80C6EE8; + } + else if (gMain.newKeys & START_BUTTON) + { + gUnknown_Debug_2038A20->unk9 ^= 1; + if (gUnknown_Debug_2038A20->unk9) + LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 0), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20); + else + LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 9), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20); + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 32); + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 32); + gTasks[taskId].func = debug_80C6EE8; + } + else + { + if (gMain.newKeys & SELECT_BUTTON) + { + StopCryAndClearCrySongs(); + PlayCry1(gUnknown_Debug_2038A20->unk0, 0); + } + gUnknown_Debug_2038A20->unk8 += 4; + gUnknown_Debug_2038A20->unk8 &= 0x1f; + ((u16 *)PLTT)[0xa1 + gUnknown_Debug_2038A20->unk7] = gUnknown_Debug_083F8790[gUnknown_Debug_2038A20->unk8]; + } +} +#else +NAKED void debug_80C6FA8(u8 taskId) +{ + asm(".equiv PLTT, 0x05000000\n" + "\tpush\t{r4, r5, r6, lr}\n" + "\tadd\tsp, sp, #0xfffffffc\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr6, r0, #0x18\n" + "\tldr\tr1, ._674 @ gMain\n" + "\tldrh\tr2, [r1, #0x2e]\n" + "\tmov\tr0, #0x2\n" + "\tand\tr0, r0, r2\n" + "\tadd\tr4, r1, #0\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._672\t@cond_branch\n" + "\tmov\tr0, #0x5\n" + "\tbl\tPlaySE\n" + "\tmov\tr0, #0x1\n" + "\tneg\tr0, r0\n" + "\tmov\tr1, #0x0\n" + "\tstr\tr1, [sp]\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr3, #0x10\n" + "\tbl\tBeginNormalPaletteFade\n" + "\tldr\tr0, ._674 + 4 @ debug_80C370C\n" + "\tbl\tSetMainCallback2\n" + "\tldr\tr1, ._674 + 8 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._674 + 12 @ debug_80C373C\n" + "\tstr\tr1, [r0]\n" + "\tb\t._703\n" + "._675:\n" + "\t.align\t2, 0\n" + "._674:\n" + "\t.word\tgMain\n" + "\t.word\tdebug_80C370C+1\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C373C+1\n" + "._672:\n" + "\tldrh\tr1, [r4, #0x30]\n" + "\tmov\tr0, #0x80\n" + "\tlsl\tr0, r0, #0x1\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._676\t@cond_branch\n" + "\tldr\tr4, ._678 @ gUnknown_Debug_2038A20\n" + "\tldr\tr0, [r4]\n" + "\tldrh\tr1, [r0]\n" + "\tmov\tr0, #0x0\n" + "\tb\t._677\n" + "._679:\n" + "\t.align\t2, 0\n" + "._678:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "._676:\n" + "\tmov\tr0, #0x80\n" + "\tlsl\tr0, r0, #0x2\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._680\t@cond_branch\n" + "\tldr\tr4, ._682 @ gUnknown_Debug_2038A20\n" + "\tldr\tr0, [r4]\n" + "\tldrh\tr1, [r0]\n" + "\tmov\tr0, #0x1\n" + "._677:\n" + "\tbl\tdebug_80C3878\n" + "\tldr\tr1, [r4]\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr1, ._682 + 4 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._682 + 8 @ debug_80C71FC\n" + "\tstr\tr1, [r0]\n" + "\tb\t._703\n" + "._683:\n" + "\t.align\t2, 0\n" + "._682:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C71FC+1\n" + "._680:\n" + "\tmov\tr3, #0x1\n" + "\tand\tr3, r3, r2\n" + "\tcmp\tr3, #0\n" + "\tbeq\t._684\t@cond_branch\n" + "\tldr\tr0, ._686 @ gUnknown_Debug_2038A20\n" + "\tldr\tr1, [r0]\n" + "\tmov\tr0, #0x1\n" + "\tstrb\tr0, [r1, #0x5]\n" + "\tldr\tr1, ._686 + 4 @ 0x4000040\n" + "\tldr\tr2, ._686 + 8 @ 0x51ef\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0x4\n" + "\tldr\tr2, ._686 + 12 @ 0x4167\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr1, ._686 + 16 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._686 + 20 @ debug_80C7294\n" + "\tstr\tr1, [r0]\n" + "\tb\t._703\n" + "._687:\n" + "\t.align\t2, 0\n" + "._686:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\t0x4000040\n" + "\t.word\t0x51ef\n" + "\t.word\t0x4167\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C7294+1\n" + "._684:\n" + "\tmov\tr0, #0x10\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._689\t@cond_branch\n" + "\tldr\tr1, ._691 @ gUnknown_Debug_2038A20\n" + "\tldr\tr2, [r1]\n" + "\tldrb\tr0, [r2, #0x7]\n" + "\tcmp\tr0, #0xd\n" + "\tbhi\t._689\t@cond_branch\n" + "\tlsl\tr0, r0, #0x1\n" + "\tldr\tr2, ._691 + 4 @ PLTT + 0x102\n" + "\tadd\tr0, r0, r2\n" + "\tstrh\tr3, [r0]\n" + "\tldr\tr1, [r1]\n" + "\tldrb\tr0, [r1, #0x7]\n" + "\tadd\tr0, r0, #0x1\n" + "\tstrb\tr0, [r1, #0x7]\n" + "\tb\t._695\n" + "._692:\n" + "\t.align\t2, 0\n" + "._691:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\tPLTT + 0x102\n" + "._689:\n" + "\tldrh\tr1, [r4, #0x30]\n" + "\tmov\tr0, #0x20\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._694\t@cond_branch\n" + "\tldr\tr2, ._696 @ gUnknown_Debug_2038A20\n" + "\tldr\tr1, [r2]\n" + "\tldrb\tr0, [r1, #0x7]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._694\t@cond_branch\n" + "\tlsl\tr0, r0, #0x1\n" + "\tldr\tr1, ._696 + 4 @ PLTT + 0x102\n" + "\tadd\tr0, r0, r1\n" + "\tmov\tr1, #0x0\n" + "\tstrh\tr1, [r0]\n" + "\tldr\tr1, [r2]\n" + "\tldrb\tr0, [r1, #0x7]\n" + "\tsub\tr0, r0, #0x1\n" + "\tstrb\tr0, [r1, #0x7]\n" + "\tb\t._695\n" + "._697:\n" + "\t.align\t2, 0\n" + "._696:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\tPLTT + 0x102\n" + "._694:\n" + "\tldrh\tr1, [r4, #0x2e]\n" + "\tmov\tr0, #0x8\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._698\t@cond_branch\n" + "\tldr\tr4, ._701 @ gUnknown_Debug_2038A20\n" + "\tldr\tr2, [r4]\n" + "\tldrb\tr0, [r2, #0x9]\n" + "\tmov\tr1, #0x1\n" + "\teor\tr0, r0, r1\n" + "\tstrb\tr0, [r2, #0x9]\n" + "\tldr\tr1, [r4]\n" + "\tldrb\tr0, [r1, #0x9]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._699\t@cond_branch\n" + "\tldrh\tr0, [r1]\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x0\n" + "\tbl\tGetMonSpritePalFromOtIdPersonality\n" + "\tldr\tr1, [r4]\n" + "\tldrb\tr1, [r1, #0x6]\n" + "\tlsl\tr1, r1, #0x14\n" + "\tmov\tr2, #0x80\n" + "\tlsl\tr2, r2, #0x11\n" + "\tadd\tr1, r1, r2\n" + "\tlsr\tr1, r1, #0x10\n" + "\tmov\tr2, #0x20\n" + "\tbl\tLoadCompressedPalette\n" + "\tb\t._700\n" + "._702:\n" + "\t.align\t2, 0\n" + "._701:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "._699:\n" + "\tldrh\tr0, [r1]\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x9\n" + "\tbl\tGetMonSpritePalFromOtIdPersonality\n" + "\tldr\tr1, [r4]\n" + "\tldrb\tr1, [r1, #0x6]\n" + "\tlsl\tr1, r1, #0x14\n" + "\tmov\tr2, #0x80\n" + "\tlsl\tr2, r2, #0x11\n" + "\tadd\tr1, r1, r2\n" + "\tlsr\tr1, r1, #0x10\n" + "\tmov\tr2, #0x20\n" + "\tbl\tLoadCompressedPalette\n" + "._700:\n" + "\tldr\tr5, ._704 @ gUnknown_Debug_2038A20\n" + "\tldr\tr0, [r5]\n" + "\tldrb\tr0, [r0, #0x6]\n" + "\tlsl\tr0, r0, #0x5\n" + "\tldr\tr4, ._704 + 4 @ gPlttBufferUnfaded\n" + "\tadd\tr0, r0, r4\n" + "\tldr\tr2, ._704 + 8 @ 0xffffff00\n" + "\tadd\tr1, r4, r2\n" + "\tmov\tr2, #0x10\n" + "\tbl\tCpuSet\n" + "\tldr\tr0, [r5]\n" + "\tldrb\tr0, [r0, #0x6]\n" + "\tlsl\tr0, r0, #0x5\n" + "\tadd\tr0, r0, r4\n" + "\tldr\tr1, ._704 + 12 @ gPlttBufferFaded\n" + "\tmov\tr2, #0x10\n" + "\tbl\tCpuSet\n" + "._695:\n" + "\tldr\tr1, ._704 + 16 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._704 + 20 @ debug_80C6EE8\n" + "\tstr\tr1, [r0]\n" + "\tb\t._703\n" + "._705:\n" + "\t.align\t2, 0\n" + "._704:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\tgPlttBufferUnfaded+0x200\n" + "\t.word\t0xffffff00\n" + "\t.word\tgPlttBufferFaded+0x100\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C6EE8+1\n" + "._698:\n" + "\tmov\tr0, #0x4\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._706\t@cond_branch\n" + "\tbl\tStopCryAndClearCrySongs\n" + "\tldr\tr0, ._707 @ gUnknown_Debug_2038A20\n" + "\tldr\tr0, [r0]\n" + "\tldrh\tr0, [r0]\n" + "\tmov\tr1, #0x0\n" + "\tbl\tPlayCry1\n" + "._706:\n" + "\tldr\tr2, ._707 @ gUnknown_Debug_2038A20\n" + "\tldr\tr1, [r2]\n" + "\tldrb\tr0, [r1, #0x8]\n" + "\tadd\tr0, r0, #0x4\n" + "\tstrb\tr0, [r1, #0x8]\n" + "\tldr\tr3, [r2]\n" + "\tldrb\tr1, [r3, #0x8]\n" + "\tmov\tr0, #0x1f\n" + "\tand\tr0, r0, r1\n" + "\tstrb\tr0, [r3, #0x8]\n" + "\tldr\tr0, [r2]\n" + "\tldrb\tr1, [r0, #0x7]\n" + "\tlsl\tr1, r1, #0x1\n" + "\tldr\tr2, ._707 + 4 @ PLTT + 0x142\n" + "\tadd\tr1, r1, r2\n" + "\tldr\tr2, ._707 + 8 @ gUnknown_Debug_083F8790\n" + "\tldrb\tr0, [r0, #0x8]\n" + "\tlsl\tr0, r0, #0x1\n" + "\tadd\tr0, r0, r2\n" + "\tldrh\tr0, [r0]\n" + "\tstrh\tr0, [r1]\n" + "._703:\n" + "\tadd\tsp, sp, #0x4\n" + "\tpop\t{r4, r5, r6}\n" + "\tpop\t{r0}\n" + "\tbx\tr0\n" + "._708:\n" + "\t.align\t2, 0\n" + "._707:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\tPLTT + 0x142\n" + "\t.word\tgUnknown_Debug_083F8790"); +} +#endif #endif // DEBUG -- cgit v1.2.3 From 1acdf9496c9757f002476b56ad0842fed335999d Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 20 Apr 2018 21:57:18 -0400 Subject: through debug_80C74E4 --- src/debug/watanabe_debug_menu.c | 97 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 02f6054de..697f97c4e 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -138,6 +138,7 @@ void debug_80C6EE8(u8 taskId); void debug_80C6FA8(u8 taskId); void debug_80C71FC(u8 taskId); void debug_80C7294(u8 taskId); +void debug_80C74E4(u8 taskId); void debug_80C7584(struct Sprite *); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; @@ -2843,5 +2844,99 @@ NAKED void debug_80C6FA8(u8 taskId) "\t.word\tPLTT + 0x142\n" "\t.word\tgUnknown_Debug_083F8790"); } -#endif +#endif // NONMATCHING + +void debug_80C71FC(u8 taskId) +{ + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum)); + DestroySprite(gSprites + gUnknown_Debug_2038A20->unk2); + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk3].oam.paletteNum)); + DestroySprite(gSprites + gUnknown_Debug_2038A20->unk3); + sub_809D510(gSprites + gUnknown_Debug_2038A20->unk4); + gTasks[taskId].func = debug_80C6CB8; +} + +void debug_80C7294(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + gUnknown_Debug_2038A20->unk5 = 0; + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x699F; + gTasks[taskId].func = debug_80C6EE8; + } + else if (gMain.newKeys & B_BUTTON) + { + gUnknown_Debug_2038A20->unk5 = 0; + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x699F; + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x80, 32); + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x80, 32); + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32); + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32); + gTasks[taskId].func = debug_80C6EE8; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A20->unkA < 2) + { + gUnknown_Debug_2038A20->unkA++; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A20->unkA > 0) + { + gUnknown_Debug_2038A20->unkA--; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + switch (gUnknown_Debug_2038A20->unkA) + { + case 0: + if (gUnknown_Debug_2038A20->unkC.r < 31) + gUnknown_Debug_2038A20->unkC.r++; + gTasks[taskId].func = debug_80C74E4; + break; + case 1: + if (gUnknown_Debug_2038A20->unkC.g < 31) + gUnknown_Debug_2038A20->unkC.g++; + gTasks[taskId].func = debug_80C74E4; + break; + case 2: + if (gUnknown_Debug_2038A20->unkC.b < 31) + gUnknown_Debug_2038A20->unkC.b++; + gTasks[taskId].func = debug_80C74E4; + break; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + switch (gUnknown_Debug_2038A20->unkA) + { + case 0: + if (gUnknown_Debug_2038A20->unkC.r > 0) + gUnknown_Debug_2038A20->unkC.r--; + gTasks[taskId].func = debug_80C74E4; + break; + case 1: + if (gUnknown_Debug_2038A20->unkC.g > 0) + gUnknown_Debug_2038A20->unkC.g--; + gTasks[taskId].func = debug_80C74E4; + break; + case 2: + if (gUnknown_Debug_2038A20->unkC.b > 0) + gUnknown_Debug_2038A20->unkC.b--; + gTasks[taskId].func = debug_80C74E4; + break; + } + } +} + +void debug_80C74E4(u8 taskId) +{ + u16 pal = (gUnknown_Debug_2038A20->unkC.r & 0x001f) + ((gUnknown_Debug_2038A20->unkC.g << 5) & 0x03e0) + ((gUnknown_Debug_2038A20->unkC.b << 10) & 0x7c00); + gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal; + gPlttBufferFaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal; + gPlttBufferUnfaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal; + gPlttBufferFaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal; + debug_80C68CC(pal, 14, 10, 4); + gTasks[taskId].func = debug_80C7294; +} + #endif // DEBUG -- cgit v1.2.3 From f2adb8e246e5d850c6fdf51e5ba113b13640888c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 20 Apr 2018 22:31:46 -0400 Subject: through InitSeeTrainers --- src/debug/watanabe_debug_menu.c | 78 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 697f97c4e..7bb182be8 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -140,6 +140,7 @@ void debug_80C71FC(u8 taskId); void debug_80C7294(u8 taskId); void debug_80C74E4(u8 taskId); void debug_80C7584(struct Sprite *); +void debug_80C777C(u8 taskId); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; @@ -2939,4 +2940,81 @@ void debug_80C74E4(u8 taskId) gTasks[taskId].func = debug_80C7294; } +void debug_80C7584(struct Sprite *sprite) +{ + if (!gUnknown_Debug_2038A20->unk5) + sprite->invisible = TRUE; + else + { + u8 shade; + switch (sprite->data[0]) + { + default: + case 0: + shade = gUnknown_Debug_2038A20->unkC.r; + break; + case 1: + shade = gUnknown_Debug_2038A20->unkC.g; + break; + case 2: + shade = gUnknown_Debug_2038A20->unkC.b; + break; + } + sprite->pos2.x = 4 * shade; + sprite->pos2.y = 8 * sprite->data[0]; + sprite->data[1]++; + if (sprite->data[0] == gUnknown_Debug_2038A20->unkA && !(sprite->data[1] & 0x08)) + sprite->invisible = TRUE; + else + sprite->invisible = FALSE; + } +} + +void InitSeeTrainers(void) +{ + u8 spriteId; + debug_80C35DC(); + DmaCopy16Defvars(3, byte_83F88EC, VRAM + 0xe000, 0x800); + LoadPalette(word_83F888C, 0x80, 0x60); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WIN1H = 0; + REG_WIN1V = 0; + REG_WININ = 0x3F; + REG_WINOUT = 0x1F; + REG_BLDCNT = 0xF1; + REG_BLDALPHA = 0; + REG_BLDY = 7; + { + u16 imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; + } + SetVBlankCallback(debug_80C3758); + SetMainCallback2(debug_80C370C); + REG_BG0CNT = 0x1F0B; + REG_BG1CNT = 0x1E0A; + REG_DISPCNT = 0x3340; + CreateTask(debug_80C777C, 0); + gUnknown_Debug_2038A20 = &eWatanabe18000_2; + gUnknown_Debug_2038A20->unk0 = 0; + gUnknown_Debug_2038A20->unk2 = 0; + gUnknown_Debug_2038A20->unk3 = 0; + gUnknown_Debug_2038A20->unk5 = 0; + gUnknown_Debug_2038A20->unk7 = 0; + gUnknown_Debug_2038A20->unkA = 0; + gUnknown_Debug_2038A20->unk8 = 0; + spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6c, 0x74, 0); + gSprites[spriteId].data[0] = 0; + StartSpriteAnim(gSprites + spriteId, 0); + spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6c, 0x74, 0); + gSprites[spriteId].data[0] = 1; + StartSpriteAnim(gSprites + spriteId, 1); + spriteId = CreateSprite(&gSpriteTemplate_83F8874, 0x6c, 0x74, 0); + gSprites[spriteId].data[0] = 2; + StartSpriteAnim(gSprites + spriteId, 2); +} + #endif // DEBUG -- cgit v1.2.3 From 8528e529dac0ee23a1ffe9c8f7177c6c32825fa8 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 21 Apr 2018 11:18:33 -0400 Subject: copypasta through debug_80C7A54 --- src/debug/watanabe_debug_menu.c | 80 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 7bb182be8..b1f7cbe54 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -141,6 +141,9 @@ void debug_80C7294(u8 taskId); void debug_80C74E4(u8 taskId); void debug_80C7584(struct Sprite *); void debug_80C777C(u8 taskId); +void debug_80C7934(u8 taskId); +void debug_80C7A54(u8 taskId); +void debug_80C7B14(u8 taskId); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; @@ -3017,4 +3020,81 @@ void InitSeeTrainers(void) StartSpriteAnim(gSprites + spriteId, 2); } +void debug_80C777C(u8 taskId) +{ + // u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; + u8 i; + u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8815)]; + memcpy(sp00, gUnknown_Debug_083F8815, sizeof(gUnknown_Debug_083F8815)); + + Menu_DrawStdWindowFrame(9, 0, 14, 7); + Menu_DrawStdWindowFrame(0, 0, 9, 9); + Menu_DrawStdWindowFrame(0, 10, 9, 19); + Menu_DrawStdWindowFrame(14, 0, 29, 7); + Menu_PrintText(gUnknown_Debug_083F87D0, 15, 1); + Menu_PrintText(gUnknown_Debug_083F87D8, 25, 1); + Menu_PrintText(gUnknown_Debug_083F87E0, 15, 5); + + Menu_DrawStdWindowFrame(10, 8, 29, 12); + for (i = 0; i < 15; i++) + ((u16 *)(VRAM + 0xFA56))[i] = 0xA311 + i; + for (i = 0; i < 15; i++) + ((u16 *)(VRAM + 0xF256))[i] = 0x8301 + i; + + Menu_PrintText(gUnknown_Debug_083F87F4, 20, 10); + Menu_DrawStdWindowFrame(10, 13, 29, 19); + + sp00[0] = 0x23; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF396))[i] = 0x9300 + sp00[i]; + sp00[0] = 0x24; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF3D6))[i] = 0x9300 + sp00[i]; + sp00[0] = 0x25; + for (i = 0; i < 18; i++) + ((u16 *)(VRAM + 0xF416))[i] = 0x9300 + sp00[i]; + + Menu_PrintText(gUnknown_Debug_083F8801, 15, 17); + + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x699F; + + gTasks[taskId].func = debug_80C7934; +} + +void debug_80C7934(u8 taskId) +{ + DecompressPicFromTable_2(gTrainerFrontPicTable + gUnknown_Debug_2038A20->unk0, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->unk0].coords, gTrainerFrontPicCoords[gUnknown_Debug_2038A20->unk0].y_offset, gUnknown_081FAF4C[0], gUnknown_081FAF4C[1], gUnknown_Debug_2038A20->unk0); + LoadCompressedObjectPalette(gTrainerFrontPicPaletteTable + gUnknown_Debug_2038A20->unk0); + GetMonSpriteTemplate_803C5A0(gUnknown_Debug_2038A20->unk0, 1); + gUnknown_Debug_2038A20->unk2 = CreateSprite(&gUnknown_02024E8C, 0x28, 0x28, 0); + gSprites[gUnknown_Debug_2038A20->unk2].callback = debug_69; + gSprites[gUnknown_Debug_2038A20->unk2].oam.priority = 0; + + debug_80C376C(gUnknown_Debug_2038A20->unk0, 26, 5); + + gUnknown_Debug_2038A20->unk6 = gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum; + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 0x20); + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 0x20); + + gTasks[taskId].func = debug_80C7A54; + + gUnknown_Debug_2038A20->unk9 = 0; +} + +void debug_80C7A54(u8 taskId) +{ + u16 hue; + CpuCopy16(gPlttBufferUnfaded + 0x80, gUnknown_Debug_2038A20->unk10, 32); + hue = gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81]; + gUnknown_Debug_2038A20->unkC.r = hue & 0x1f; + gUnknown_Debug_2038A20->unkC.g = (hue & 0x3e0) >> 5; + gUnknown_Debug_2038A20->unkC.b = (hue & 0x7c00) >> 10; + gUnknown_Debug_2038A20->unkC.unused_15 = 0; + debug_80C68CC(gUnknown_Debug_2038A20->unk7 + 1, 11, 10, 2); + Menu_PrintText(gUnknown_Debug_083F8813, 13, 10); + debug_80C68CC(hue, 14, 10, 4); + gTasks[taskId].func = debug_80C7B14; +} + #endif // DEBUG -- cgit v1.2.3 From 936981f6698cd489c91c1dd419a6dbaa6179eaef Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 21 Apr 2018 14:09:13 -0400 Subject: Remaining functions in watanabe --- src/debug/watanabe_debug_menu.c | 445 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 445 insertions(+) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index b1f7cbe54..cf54f62f2 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -144,6 +144,9 @@ void debug_80C777C(u8 taskId); void debug_80C7934(u8 taskId); void debug_80C7A54(u8 taskId); void debug_80C7B14(u8 taskId); +void debug_80C7D44(u8 taskId); +void debug_80C7DDC(u8 taskId); +void debug_80C802C(u8 taskId); extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; @@ -2518,12 +2521,14 @@ void debug_80C6FA8(u8 taskId) else if (gMain.newAndRepeatedKeys & DPAD_RIGHT && gUnknown_Debug_2038A20->unk7 < 14) { ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0; + do; while(0); gUnknown_Debug_2038A20->unk7++; gTasks[taskId].func = debug_80C6EE8; } else if (gMain.newAndRepeatedKeys & DPAD_LEFT && gUnknown_Debug_2038A20->unk7 > 0) { ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0; + do; while(0); gUnknown_Debug_2038A20->unk7--; gTasks[taskId].func = debug_80C6EE8; } @@ -3097,4 +3102,444 @@ void debug_80C7A54(u8 taskId) gTasks[taskId].func = debug_80C7B14; } +#ifdef NONMATCHING +void debug_80C7B14(u8 taskId) +{ + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + SetMainCallback2(debug_80C370C); + gTasks[taskId].func = debug_80C373C; + } + else if (gMain.newAndRepeatedKeys & R_BUTTON) + { + gUnknown_Debug_2038A20->unk0 = debug_80C38B4(0, gUnknown_Debug_2038A20->unk0); + gTasks[taskId].func = debug_80C7D44; + } + else if (gMain.newAndRepeatedKeys & L_BUTTON) + { + gUnknown_Debug_2038A20->unk0 = debug_80C38B4(1, gUnknown_Debug_2038A20->unk0); + gTasks[taskId].func = debug_80C7D44; + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_Debug_2038A20->unk5 = 1; + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x4167; + gTasks[taskId].func = debug_80C7DDC; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT && gUnknown_Debug_2038A20->unk7 < 14) + { + ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0; + do; while (0); // this matches the asm here... + gUnknown_Debug_2038A20->unk7++; + gTasks[taskId].func = debug_80C7A54; + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT && gUnknown_Debug_2038A20->unk7 > 0) + { + ((u16 *)PLTT)[0x81 + gUnknown_Debug_2038A20->unk7] = 0; + do; while (0); // ... but not here + gUnknown_Debug_2038A20->unk7--; + gTasks[taskId].func = debug_80C7A54; + } + else if (gMain.newKeys & START_BUTTON) + { + gUnknown_Debug_2038A20->unk9 ^= 1; + if (gUnknown_Debug_2038A20->unk9) + { + LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 0), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20); + } + else + { + LoadCompressedPalette(GetMonSpritePalFromOtIdPersonality(gUnknown_Debug_2038A20->unk0, 0, 9), gUnknown_Debug_2038A20->unk6 * 16 + 0x100, 0x20); + } + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferUnfaded + 0x80, 32); + CpuCopy16(gPlttBufferUnfaded + gUnknown_Debug_2038A20->unk6 * 16 + 0x100, gPlttBufferFaded + 0x80, 32); + gTasks[taskId].func = debug_80C7A54; + } + else + { + gUnknown_Debug_2038A20->unk8 += 4; + gUnknown_Debug_2038A20->unk8 &= 0x1f; + ((u16 *)PLTT)[0xa1 + gUnknown_Debug_2038A20->unk7] = gUnknown_Debug_083F8790[gUnknown_Debug_2038A20->unk8]; + } +} +#else +NAKED void debug_80C7B14(u8 taskId) +{ + asm("\tpush\t{r4, r5, r6, lr}\n" + "\tadd\tsp, sp, #0xfffffffc\n" + "\tlsl\tr0, r0, #0x18\n" + "\tlsr\tr6, r0, #0x18\n" + "\tldr\tr1, ._792 @ gMain\n" + "\tldrh\tr3, [r1, #0x2e]\n" + "\tmov\tr0, #0x2\n" + "\tand\tr0, r0, r3\n" + "\tadd\tr4, r1, #0\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._790\t@cond_branch\n" + "\tmov\tr0, #0x5\n" + "\tbl\tPlaySE\n" + "\tmov\tr0, #0x1\n" + "\tneg\tr0, r0\n" + "\tmov\tr1, #0x0\n" + "\tstr\tr1, [sp]\n" + "\tmov\tr2, #0x0\n" + "\tmov\tr3, #0x10\n" + "\tbl\tBeginNormalPaletteFade\n" + "\tldr\tr0, ._792 + 4 @ debug_80C370C\n" + "\tbl\tSetMainCallback2\n" + "\tldr\tr1, ._792 + 8 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._792 + 12 @ debug_80C373C\n" + "\tstr\tr1, [r0]\n" + "\tb\t._821\n" + "._793:\n" + "\t.align\t2, 0\n" + "._792:\n" + "\t.word\tgMain\n" + "\t.word\tdebug_80C370C+1\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C373C+1\n" + "._790:\n" + "\tldrh\tr1, [r4, #0x30]\n" + "\tmov\tr0, #0x80\n" + "\tlsl\tr0, r0, #0x1\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._794\t@cond_branch\n" + "\tldr\tr4, ._796 @ gUnknown_Debug_2038A20\n" + "\tldr\tr0, [r4]\n" + "\tldrh\tr1, [r0]\n" + "\tmov\tr0, #0x0\n" + "\tb\t._795\n" + "._797:\n" + "\t.align\t2, 0\n" + "._796:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "._794:\n" + "\tmov\tr0, #0x80\n" + "\tlsl\tr0, r0, #0x2\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._798\t@cond_branch\n" + "\tldr\tr4, ._800 @ gUnknown_Debug_2038A20\n" + "\tldr\tr0, [r4]\n" + "\tldrh\tr1, [r0]\n" + "\tmov\tr0, #0x1\n" + "._795:\n" + "\tbl\tdebug_80C38B4\n" + "\tldr\tr1, [r4]\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr1, ._800 + 4 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._800 + 8 @ debug_80C7D44\n" + "\tstr\tr1, [r0]\n" + "\tb\t._821\n" + "._801:\n" + "\t.align\t2, 0\n" + "._800:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C7D44+1\n" + "._798:\n" + "\tmov\tr2, #0x1\n" + "\tand\tr2, r2, r3\n" + "\tcmp\tr2, #0\n" + "\tbeq\t._802\t@cond_branch\n" + "\tldr\tr0, ._804 @ gUnknown_Debug_2038A20\n" + "\tldr\tr1, [r0]\n" + "\tmov\tr0, #0x1\n" + "\tstrb\tr0, [r1, #0x5]\n" + "\tldr\tr1, ._804 + 4 @ 0x4000040\n" + "\tldr\tr2, ._804 + 8 @ 0x51ef\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tadd\tr1, r1, #0x4\n" + "\tldr\tr2, ._804 + 12 @ 0x4167\n" + "\tadd\tr0, r2, #0\n" + "\tstrh\tr0, [r1]\n" + "\tldr\tr1, ._804 + 16 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._804 + 20 @ debug_80C7DDC\n" + "\tstr\tr1, [r0]\n" + "\tb\t._821\n" + "._805:\n" + "\t.align\t2, 0\n" + "._804:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\t0x4000040\n" + "\t.word\t0x51ef\n" + "\t.word\t0x4167\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C7DDC+1\n" + "._802:\n" + "\tmov\tr0, #0x10\n" + "\tand\tr0, r0, r1\n" + "\tldr\tr3, ._809 @ gUnknown_Debug_2038A20\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._807\t@cond_branch\n" + "\tldr\tr1, [r3]\n" + "\tldrb\tr0, [r1, #0x7]\n" + "\tcmp\tr0, #0xd\n" + "\tbhi\t._807\t@cond_branch\n" + "\tlsl\tr0, r0, #0x1\n" + "\tldr\tr1, ._809 + 4 @ 0x5000102\n" + "\tadd\tr0, r0, r1\n" + "\tstrh\tr2, [r0]\n" + "\tldr\tr1, [r3]\n" + "\tldrb\tr0, [r1, #0x7]\n" + "\tadd\tr0, r0, #0x1\n" + "\tstrb\tr0, [r1, #0x7]\n" + "\tb\t._813\n" + "._810:\n" + "\t.align\t2, 0\n" + "._809:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\t0x5000102\n" + "._807:\n" + "\tldrh\tr1, [r4, #0x30]\n" + "\tmov\tr0, #0x20\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._812\t@cond_branch\n" + "\tldr\tr1, [r3]\n" + "\tldrb\tr0, [r1, #0x7]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._812\t@cond_branch\n" + "\tlsl\tr0, r0, #0x1\n" + "\tldr\tr2, ._814 @ 0x5000102\n" + "\tadd\tr0, r0, r2\n" + "\tmov\tr1, #0x0\n" + "\tstrh\tr1, [r0]\n" + "\tldr\tr1, [r3]\n" + "\tldrb\tr0, [r1, #0x7]\n" + "\tsub\tr0, r0, #0x1\n" + "\tstrb\tr0, [r1, #0x7]\n" + "\tb\t._813\n" + "._815:\n" + "\t.align\t2, 0\n" + "._814:\n" + "\t.word\t0x5000102\n" + "._812:\n" + "\tldrh\tr1, [r4, #0x2e]\n" + "\tmov\tr0, #0x8\n" + "\tand\tr0, r0, r1\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._816\t@cond_branch\n" + "\tldr\tr4, ._819 @ gUnknown_Debug_2038A20\n" + "\tldr\tr2, [r4]\n" + "\tldrb\tr0, [r2, #0x9]\n" + "\tmov\tr1, #0x1\n" + "\teor\tr0, r0, r1\n" + "\tstrb\tr0, [r2, #0x9]\n" + "\tldr\tr1, [r4]\n" + "\tldrb\tr0, [r1, #0x9]\n" + "\tcmp\tr0, #0\n" + "\tbeq\t._817\t@cond_branch\n" + "\tldrh\tr0, [r1]\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x0\n" + "\tbl\tGetMonSpritePalFromOtIdPersonality\n" + "\tldr\tr1, [r4]\n" + "\tldrb\tr1, [r1, #0x6]\n" + "\tlsl\tr1, r1, #0x14\n" + "\tmov\tr2, #0x80\n" + "\tlsl\tr2, r2, #0x11\n" + "\tadd\tr1, r1, r2\n" + "\tlsr\tr1, r1, #0x10\n" + "\tmov\tr2, #0x20\n" + "\tbl\tLoadCompressedPalette\n" + "\tb\t._818\n" + "._820:\n" + "\t.align\t2, 0\n" + "._819:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "._817:\n" + "\tldrh\tr0, [r1]\n" + "\tmov\tr1, #0x0\n" + "\tmov\tr2, #0x9\n" + "\tbl\tGetMonSpritePalFromOtIdPersonality\n" + "\tldr\tr1, [r4]\n" + "\tldrb\tr1, [r1, #0x6]\n" + "\tlsl\tr1, r1, #0x14\n" + "\tmov\tr2, #0x80\n" + "\tlsl\tr2, r2, #0x11\n" + "\tadd\tr1, r1, r2\n" + "\tlsr\tr1, r1, #0x10\n" + "\tmov\tr2, #0x20\n" + "\tbl\tLoadCompressedPalette\n" + "._818:\n" + "\tldr\tr5, ._822 @ gUnknown_Debug_2038A20\n" + "\tldr\tr0, [r5]\n" + "\tldrb\tr0, [r0, #0x6]\n" + "\tlsl\tr0, r0, #0x5\n" + "\tldr\tr4, ._822 + 4 @ gPlttBufferUnfaded\n" + "\tadd\tr0, r0, r4\n" + "\tldr\tr2, ._822 + 8 @ 0xffffff00\n" + "\tadd\tr1, r4, r2\n" + "\tmov\tr2, #0x10\n" + "\tbl\tCpuSet\n" + "\tldr\tr0, [r5]\n" + "\tldrb\tr0, [r0, #0x6]\n" + "\tlsl\tr0, r0, #0x5\n" + "\tadd\tr0, r0, r4\n" + "\tldr\tr1, ._822 + 12 @ gPlttBufferFaded\n" + "\tmov\tr2, #0x10\n" + "\tbl\tCpuSet\n" + "._813:\n" + "\tldr\tr1, ._822 + 16 @ gTasks\n" + "\tlsl\tr0, r6, #0x2\n" + "\tadd\tr0, r0, r6\n" + "\tlsl\tr0, r0, #0x3\n" + "\tadd\tr0, r0, r1\n" + "\tldr\tr1, ._822 + 20 @ debug_80C7A54\n" + "\tstr\tr1, [r0]\n" + "\tb\t._821\n" + "._823:\n" + "\t.align\t2, 0\n" + "._822:\n" + "\t.word\tgUnknown_Debug_2038A20\n" + "\t.word\tgPlttBufferUnfaded+0x200\n" + "\t.word\t0xffffff00\n" + "\t.word\tgPlttBufferFaded+0x100\n" + "\t.word\tgTasks\n" + "\t.word\tdebug_80C7A54+1\n" + "._816:\n" + "\tldr\tr1, [r3]\n" + "\tldrb\tr0, [r1, #0x8]\n" + "\tadd\tr0, r0, #0x4\n" + "\tstrb\tr0, [r1, #0x8]\n" + "\tldr\tr2, [r3]\n" + "\tldrb\tr1, [r2, #0x8]\n" + "\tmov\tr0, #0x1f\n" + "\tand\tr0, r0, r1\n" + "\tstrb\tr0, [r2, #0x8]\n" + "\tldr\tr0, [r3]\n" + "\tldrb\tr1, [r0, #0x7]\n" + "\tlsl\tr1, r1, #0x1\n" + "\tldr\tr2, ._824 @ 0x5000142\n" + "\tadd\tr1, r1, r2\n" + "\tldr\tr2, ._824 + 4 @ gUnknown_Debug_083F8790\n" + "\tldrb\tr0, [r0, #0x8]\n" + "\tlsl\tr0, r0, #0x1\n" + "\tadd\tr0, r0, r2\n" + "\tldrh\tr0, [r0]\n" + "\tstrh\tr0, [r1]\n" + "._821:\n" + "\tadd\tsp, sp, #0x4\n" + "\tpop\t{r4, r5, r6}\n" + "\tpop\t{r0}\n" + "\tbx\tr0\n" + "._825:\n" + "\t.align\t2, 0\n" + "._824:\n" + "\t.word\t0x5000142\n" + "\t.word\tgUnknown_Debug_083F8790"); +} +#endif // NONMATCHING + +void debug_80C7D44(u8 taskId) +{ + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk2].oam.paletteNum)); + DestroySprite(gSprites + gUnknown_Debug_2038A20->unk2); + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gUnknown_Debug_2038A20->unk3].oam.paletteNum)); + DestroySprite(gSprites + gUnknown_Debug_2038A20->unk3); + sub_809D510(gSprites + gUnknown_Debug_2038A20->unk4); + gTasks[taskId].func = debug_80C7934; +} + +void debug_80C7DDC(u8 taskId) +{ + if (gMain.newKeys & A_BUTTON) + { + gUnknown_Debug_2038A20->unk5 = 0; + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x699F; + gTasks[taskId].func = debug_80C7A54; + } + else if (gMain.newKeys & B_BUTTON) + { + gUnknown_Debug_2038A20->unk5 = 0; + REG_WIN0H = 0x51EF; + REG_WIN0V = 0x699F; + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x80, 32); + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x80, 32); + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferUnfaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32); + CpuCopy16(gUnknown_Debug_2038A20->unk10, gPlttBufferFaded + 0x100 + gUnknown_Debug_2038A20->unk6 * 16, 32); + gTasks[taskId].func = debug_80C7A54; + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN && gUnknown_Debug_2038A20->unkA < 2) + { + gUnknown_Debug_2038A20->unkA++; + } + else if (gMain.newAndRepeatedKeys & DPAD_UP && gUnknown_Debug_2038A20->unkA > 0) + { + gUnknown_Debug_2038A20->unkA--; + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + switch (gUnknown_Debug_2038A20->unkA) + { + case 0: + if (gUnknown_Debug_2038A20->unkC.r < 31) + gUnknown_Debug_2038A20->unkC.r++; + gTasks[taskId].func = debug_80C802C; + break; + case 1: + if (gUnknown_Debug_2038A20->unkC.g < 31) + gUnknown_Debug_2038A20->unkC.g++; + gTasks[taskId].func = debug_80C802C; + break; + case 2: + if (gUnknown_Debug_2038A20->unkC.b < 31) + gUnknown_Debug_2038A20->unkC.b++; + gTasks[taskId].func = debug_80C802C; + break; + } + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + switch (gUnknown_Debug_2038A20->unkA) + { + case 0: + if (gUnknown_Debug_2038A20->unkC.r > 0) + gUnknown_Debug_2038A20->unkC.r--; + gTasks[taskId].func = debug_80C802C; + break; + case 1: + if (gUnknown_Debug_2038A20->unkC.g > 0) + gUnknown_Debug_2038A20->unkC.g--; + gTasks[taskId].func = debug_80C802C; + break; + case 2: + if (gUnknown_Debug_2038A20->unkC.b > 0) + gUnknown_Debug_2038A20->unkC.b--; + gTasks[taskId].func = debug_80C802C; + break; + } + } +} + +void debug_80C802C(u8 taskId) +{ + u16 pal = (gUnknown_Debug_2038A20->unkC.r & 0x001f) + ((gUnknown_Debug_2038A20->unkC.g << 5) & 0x03e0) + ((gUnknown_Debug_2038A20->unkC.b << 10) & 0x7c00); + gPlttBufferUnfaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal; + gPlttBufferFaded[gUnknown_Debug_2038A20->unk7 + 0x81] = pal; + gPlttBufferUnfaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal; + gPlttBufferFaded[0x101 + gUnknown_Debug_2038A20->unk6 * 16 + gUnknown_Debug_2038A20->unk7] = pal; + debug_80C68CC(pal, 14, 10, 4); + gTasks[taskId].func = debug_80C7DDC; +} + #endif // DEBUG -- cgit v1.2.3 From 557248ffc9a2c7fd65f8282172a76f1e65602611 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 21 Apr 2018 15:07:26 -0400 Subject: Decompile watanabe data --- src/debug/watanabe_debug_menu.c | 609 +++++++++++++++++++++++++++------------- 1 file changed, 410 insertions(+), 199 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index cf54f62f2..d4c7b8cf3 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -49,6 +49,20 @@ struct WatanabeDebugMenuItem { } data; }; +struct WatanabeEwram17000 { + u8 fill0; + u8 unk1_0:4; + u8 unk1_4:1; + u8 unk1_5:3; + u8 unk2; + u8 unk3; + u8 fill4[5]; + u8 unk9; + u8 unkA; + u8 unkB; + u8 unkC; +}; + struct WatanabeEwram18000 { struct Pokemon pokemon; u32 unk64[0x40]; @@ -74,6 +88,7 @@ struct WatanabeEwram18000_2 { u16 unk10[16]; }; +#define eWatanabe17000 (*(struct WatanabeEwram17000 *)(gSharedMem + 0x17000)) #define eWatanabe18000 (*(struct WatanabeEwram18000 *)(gSharedMem + 0x18000)) #define eWatanabe18000_2 (*(struct WatanabeEwram18000_2 *)(gSharedMem + 0x18000)) @@ -148,59 +163,6 @@ void debug_80C7D44(u8 taskId); void debug_80C7DDC(u8 taskId); void debug_80C802C(u8 taskId); -extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[5]; -extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[10]; -extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F814C[9]; -extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8554[35]; -extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F8698[6]; -extern const struct WatanabeDebugMenuItem gUnknown_Debug_083F86E8[7]; - -extern const u8 gUnknown_Debug_083F7FD4[2]; // = _("▶"); -extern const u8 gUnknown_Debug_083F7FD6[4]; // = {0x25, 0x20, 0x01, 0x08}; -extern const u8 gUnknown_Debug_083F7FDA[4]; // = _("ひりつ"); -extern const u8 gUnknown_Debug_083F7FDE[4]; // = _("たかさ"); -extern const u8 gUnknown_Debug_083F7FE2[11]; // = _("Lキー▶しゅくしょう"); -extern const u8 gUnknown_Debug_083F7FED[9]; // = _("Rキー▶かくだい"); -extern const u8 gUnknown_Debug_083F7FF6[11]; // = _("Uキー▶うえ いどう"); -extern const u8 gUnknown_Debug_083F8001[11]; // = _("Dキー▶した いどう"); -extern const u8 gUnknown_Debug_083F800C[13]; // = _("Aボタン▶そうさきりかえ"); -extern const u8 gUnknown_Debug_083F8019[9]; // = _("Bボタン▶やめる"); -extern const u8 gUnknown_Debug_083F8022[6]; // = _("スタート:"); -extern const u8 gUnknown_Debug_083F8028[6]; // = _(":セレクト"); -extern const u8 gUnknown_Debug_083F8194[12]; // = _("ポケモンを えらんでね"); -extern const u8 gUnknown_Debug_083F81A0[13]; // = _("{COLOR RED}START:つぎへ"); -extern const u8 gUnknown_Debug_083F81AD[13]; // = _("{COLOR RED}じぶんの ポケモン"); -extern const u8 gUnknown_Debug_083F81BA[13]; // = _("{COLOR RED}あいての ポケモン"); -extern const u8 gUnknown_Debug_083F81C7[15]; // = _("たいせんモードを えらんでね"); -extern const u8 gUnknown_Debug_083F81D6[15]; // = _("{COLOR RED}バトルモード せんたく"); -extern const u8 gUnknown_Debug_083F81E5[16]; // = _("{COLOR RED}トレーナーAI せんたく"); -extern const u8 gUnknown_Debug_083F81F5[13]; // = _("{COLOR RED}START:かいし"); -extern const u8 gUnknown_Debug_083F8202[15]; // =_("{COLOR RED}バトルちけい せんたく"); -extern const u8 gUnknown_Debug_083F8211[17]; // = _("じぶんの せいべつを えらんでね"); -extern const u8 gUnknown_Debug_083F8222[13]; // = _("{COLOR RED}せいべつ せんたく"); -extern const u8 gUnknown_Debug_083F822F[4]; // = _("おとこ"); -extern const u8 gUnknown_Debug_083F8233[4]; // = _("おんな"); -extern const u8 gUnknown_Debug_083F8720[10]; -extern const u8 gUnknown_Debug_083F872A[9]; -extern const u8 gUnknown_Debug_083F8733[37]; // = _("Create POKひMON   LR:Shift  START:Add"); -extern const u8 gUnknown_Debug_083F850A[10]; // = _("{COLOR RED}HP  "); -extern const u8 gUnknown_Debug_083F8514[8]; // = _("{COLOR RED}ATK "); -extern const u8 gUnknown_Debug_083F851C[8]; // = _("{COLOR RED}DEF "); -extern const u8 gUnknown_Debug_083F8524[9]; // = _("{COLOR RED}SPEED"); -extern const u8 gUnknown_Debug_083F852D[10]; // = _("{COLOR RED}SP。ATK"); -extern const u8 gUnknown_Debug_083F8537[10]; // = _("{COLOR RED}SP。DEF"); -extern const u8 gUnknown_Debug_083F8541[3]; // = _("なし"); -extern const u8 gUnknown_Debug_083F8544[2]; // = _("♂"); -extern const u8 gUnknown_Debug_083F8546[2]; // = _("♀"); -extern const u8 gUnknown_Debug_083F854A[3]; // = _("ON"); -extern const u8 gUnknown_Debug_083F854D[4]; // = _("OFF"); -extern const u8 gUnknown_Debug_083F8758[4]; // = _("たまご"); -extern const u8 gUnknown_Debug_083F875C[8]; // = _("DebugーG"); -extern const u8 gUnknown_Debug_083F8764[2]; // = _(" "); -extern const u8 gUnknown_Debug_083F8813[2]; // = _(":"); - -extern const u32 gUnknown_Debug_083F8768[10]; - #define SPRITETAG_WATANABE 0x1000 u8 byte_83F88EC[]; @@ -215,41 +177,6 @@ struct SpritePalette stru_83F8838[] = { {} }; -struct OamData gOamData_83F8848 = { - .y = 0xa0 -}; - -union AnimCmd gSpriteAnim_83F8850[] = { - ANIMCMD_FRAME(38, 30), - ANIMCMD_END -}; - -union AnimCmd gSpriteAnim_83F8858[] = { - ANIMCMD_FRAME(39, 30), - ANIMCMD_END -}; - -union AnimCmd gSpriteAnim_83F8860[] = { - ANIMCMD_FRAME(40, 30), - ANIMCMD_END -}; - -const union AnimCmd *gSpriteAnimTable_83F8868[] = { - gSpriteAnim_83F8850, - gSpriteAnim_83F8858, - gSpriteAnim_83F8860 -}; - -struct SpriteTemplate gSpriteTemplate_83F8874 = { - SPRITETAG_WATANABE, - SPRITETAG_WATANABE, - &gOamData_83F8848, - gSpriteAnimTable_83F8868, - NULL, - gDummySpriteAffineAnimTable, - debug_80C7584 -}; - void debug_69(struct Sprite *sprite) { @@ -412,15 +339,14 @@ u16 debug_80C38B4(u8 a0, u16 a1) void debug_80C38E4(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4) { - // u8 sp00[] = _("▶"); - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F7FD4)]; - - memcpy(sp00, gUnknown_Debug_083F7FD4, sizeof(gUnknown_Debug_083F7FD4)); + u8 sp00[] = _("▶"); Menu_BlankWindowRect(a1, a2, a1, a3); if (a4) Menu_PrintText(sp00, a1, a0); } +const u8 gUnknown_Debug_083F7FD6[] = {0x25, 0x20, 0x01, 0x08}; + void debug_80C393C(void) { ProgramFlashSectorAndVerify(30, (void *)gUnknown_Debug_083F7FD6); @@ -476,6 +402,17 @@ void InitSizeComparison(void) gTasks[taskId].data[0] = 0xfc; } +const u8 gUnknown_Debug_083F7FDA[] = _("ひりつ"); +const u8 gUnknown_Debug_083F7FDE[] = _("たかさ"); +const u8 gUnknown_Debug_083F7FE2[] = _("Lキー▶しゅくしょう"); +const u8 gUnknown_Debug_083F7FED[] = _("Rキー▶かくだい"); +const u8 gUnknown_Debug_083F7FF6[] = _("Uキー▶うえ いどう"); +const u8 gUnknown_Debug_083F8001[] = _("Dキー▶した いどう"); +const u8 gUnknown_Debug_083F800C[] = _("Aボタン▶そうさきりかえ"); +const u8 gUnknown_Debug_083F8019[] = _("Bボタン▶やめる"); +const u8 gUnknown_Debug_083F8022[] = _("スタート:"); +const u8 gUnknown_Debug_083F8028[] = _(":セレクト"); + #ifdef NONMATCHING void debug_80C3A50(u8 taskId) { @@ -1068,6 +1005,66 @@ void debug_80C41A8(void) CreateTask(debug_80C47BC, 0); } +const u8 gUnknown_Debug_083F802E[] = _("やせいたいせん"); +const u8 gUnknown_Debug_083F8036[] = _("1VS1たいせん"); +const u8 gUnknown_Debug_083F803F[] = _("2VS2たいせん"); +const u8 gUnknown_Debug_083F8048[] = _("{COLOR BLUE}1VS1つうしんたいせん"); +const u8 gUnknown_Debug_083F8058[] = _("{COLOR BLUE}2VS2つうしんたいせん"); + +const struct WatanabeDebugMenuItem gUnknown_Debug_083F8068[] = { + {gUnknown_Debug_083F802E, {.type1 = {0x00, 0x01}}}, + {gUnknown_Debug_083F8036, {.type1 = {0x08, 0x01}}}, + {gUnknown_Debug_083F803F, {.type1 = {0x09, 0x02}}}, + {gUnknown_Debug_083F8048, {.type1 = {0x0A, 0x01}}}, + {gUnknown_Debug_083F8058, {.type1 = {0x0B, 0x02}}} +}; + +const u8 gUnknown_Debug_083F8090[] = _("きほんタイプ"); +const u8 gUnknown_Debug_083F8097[] = _("AIタイプ2"); +const u8 gUnknown_Debug_083F809E[] = _("AIタイプ3"); +const u8 gUnknown_Debug_083F80A5[] = _("AIタイプ4"); +const u8 gUnknown_Debug_083F80AC[] = _("AIタイプ5"); +const u8 gUnknown_Debug_083F80B3[] = _("AIタイプ6"); +const u8 gUnknown_Debug_083F80BA[] = _("AIタイプ7"); +const u8 gUnknown_Debug_083F80C1[] = _("AIタイプ8"); +const u8 gUnknown_Debug_083F80C8[] = _("AIタイプ9"); +const u8 gUnknown_Debug_083F80CF[] = _("AIタイプ10"); + +const struct WatanabeDebugMenuItem gUnknown_Debug_083F80D8[] = { + {gUnknown_Debug_083F8090, {.type2 = 0x1}}, + {gUnknown_Debug_083F8097, {.type2 = 0x2}}, + {gUnknown_Debug_083F809E, {.type2 = 0x4}}, + {gUnknown_Debug_083F80A5, {.type2 = 0x8}}, + {gUnknown_Debug_083F80AC, {.type2 = 0x10}}, + {gUnknown_Debug_083F80B3, {.type2 = 0x20}}, + {gUnknown_Debug_083F80BA, {.type2 = 0x40}}, + {gUnknown_Debug_083F80C1, {.type2 = 0x80}}, + {gUnknown_Debug_083F80C8, {.type2 = 0x100}}, + {gUnknown_Debug_083F80CF, {.type2 = 0x200}} +}; + +const u8 gUnknown_Debug_083F8128[] = _("くさ"); +const u8 gUnknown_Debug_083F812B[] = _("ながい くさ"); +const u8 gUnknown_Debug_083F8132[] = _("すな"); +const u8 gUnknown_Debug_083F8135[] = _("みず"); +const u8 gUnknown_Debug_083F8138[] = _("うみ"); +const u8 gUnknown_Debug_083F813B[] = _("いけ"); +const u8 gUnknown_Debug_083F813E[] = _("いわ"); +const u8 gUnknown_Debug_083F8141[] = _("どうくつ"); +const u8 gUnknown_Debug_083F8146[] = _("そのた"); + +const struct WatanabeDebugMenuItem gUnknown_Debug_083F814C[] = { + {gUnknown_Debug_083F8128, {.type3 = 0x0}}, + {gUnknown_Debug_083F812B, {.type3 = 0x1}}, + {gUnknown_Debug_083F8132, {.type3 = 0x2}}, + {gUnknown_Debug_083F8135, {.type3 = 0x3}}, + {gUnknown_Debug_083F8138, {.type3 = 0x4}}, + {gUnknown_Debug_083F813B, {.type3 = 0x5}}, + {gUnknown_Debug_083F813E, {.type3 = 0x6}}, + {gUnknown_Debug_083F8141, {.type3 = 0x7}}, + {gUnknown_Debug_083F8146, {.type3 = 0x8}} +}; + void debug_80C41D4(void) { debug_80C40C4(0); @@ -1111,14 +1108,8 @@ void debug_80C4214(UNUSED u8 a0) void debug_80C42B8(u8 taskId) { - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8194)]; - u8 sp0c[ARRAY_COUNT(gUnknown_Debug_083F81A0)]; - - memcpy(sp00, gUnknown_Debug_083F8194, sizeof(gUnknown_Debug_083F8194)); - memcpy(sp0c, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0)); - - // u8 sp00[] = _("ポケモンを えらんでね"); - // u8 sp0c[] = _("{COLOR RED}START:つぎへ"); + u8 sp00[] = _("ポケモンを えらんでね"); + u8 sp0c[] = _("{COLOR RED}START:つぎへ"); Menu_DrawStdWindowFrame(0, 16, 29, 19); Menu_PrintText(sp00, 1, 17); @@ -1230,10 +1221,8 @@ void debug_80C4550(u8 taskId) void debug_80C4694(void) { u8 i; - // u8 sp00[] = _("{COLOR RED}じぶんの ポケモン"); - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81AD)]; + u8 sp00[] = _("{COLOR RED}じぶんの ポケモン"); u8 sp10[POKEMON_NAME_LENGTH + 1]; - memcpy(sp00, gUnknown_Debug_083F81AD, sizeof(gUnknown_Debug_083F81AD)); Menu_DrawStdWindowFrame(0, 0, 14, 15); Menu_PrintText(sp00, 2, 1); @@ -1247,10 +1236,8 @@ void debug_80C4694(void) void debug_80C4704(void) { u8 i; - // u8 sp00[] = _("{COLOR RED}あいての ポケモン"); - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81BA)]; + u8 sp00[] = _("{COLOR RED}あいての ポケモン"); u8 sp10[POKEMON_NAME_LENGTH + 1]; - memcpy(sp00, gUnknown_Debug_083F81BA, sizeof(gUnknown_Debug_083F81BA)); Menu_DrawStdWindowFrame(15, 0, 29, 15); Menu_PrintText(sp00, 17, 1); @@ -1272,21 +1259,10 @@ bool8 debug_80C4774(void) void debug_80C47BC(u8 taskId) { u8 i; - - // u8 sp00[] = _("{COLOR RED}あいての ポケモン"); - // u8 sp10[] = _("たいせんモードを えらんでね"); - // u8 sp20[] = _("{COLOR RED}バトルモード せんたく"); - // u8 sp30[] = _("{COLOR RED}トレーナーAI せんたく"); - - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81C7)]; - u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F81A0)]; - u8 sp20[ARRAY_COUNT(gUnknown_Debug_083F81D6)]; - u8 sp30[ARRAY_COUNT(gUnknown_Debug_083F81E5)]; - - memcpy(sp00, gUnknown_Debug_083F81C7, sizeof(gUnknown_Debug_083F81C7)); - memcpy(sp10, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0)); - memcpy(sp20, gUnknown_Debug_083F81D6, sizeof(gUnknown_Debug_083F81D6)); - memcpy(sp30, gUnknown_Debug_083F81E5, sizeof(gUnknown_Debug_083F81E5)); + u8 sp00[] = _("{COLOR RED}あいての ポケモン"); + u8 sp10[] = _("たいせんモードを えらんでね"); + u8 sp20[] = _("{COLOR RED}バトルモード せんたく"); + u8 sp30[] = _("{COLOR RED}トレーナーAI せんたく"); Menu_DrawStdWindowFrame(0, 16, 29, 19); Menu_PrintText(sp00, 1, 17); @@ -1363,22 +1339,6 @@ void debug_80C4A60(u8 taskId) gTasks[taskId].func = debug_80C4AC4; } -struct WatanabeEwram17000 { - u8 fill0; - u8 unk1_0:4; - u8 unk1_4:1; - u8 unk1_5:3; - u8 unk2; - u8 unk3; - u8 fill4[5]; - u8 unk9; - u8 unkA; - u8 unkB; - u8 unkC; -}; - -#define eWatanabe17000 (*(struct WatanabeEwram17000 *)(gSharedMem + 0x17000)) - void debug_80C4AC4(u8 taskId) { u8 r1 = gUnknown_Debug_2038A0C[4] + gUnknown_Debug_2038A0C[5]; @@ -1467,17 +1427,9 @@ void debug_80C4C44(u8 a0) void debug_80C4D14(u8 taskId) { - // u8 sp00[] = _("たいせんモードを えらんでね"); - // u8 sp10[] = _("{COLOR RED}START:かいし"); - // u8 sp20[] = _("{COLOR RED}バトルちけい せんたく"); - - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F81C7)]; - u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F81F5)]; - u8 sp20[ARRAY_COUNT(gUnknown_Debug_083F8202)]; - - memcpy(sp00, gUnknown_Debug_083F81C7, sizeof(gUnknown_Debug_083F81C7)); - memcpy(sp10, gUnknown_Debug_083F81F5, sizeof(gUnknown_Debug_083F81F5)); - memcpy(sp20, gUnknown_Debug_083F8202, sizeof(gUnknown_Debug_083F8202)); + u8 sp00[] = _("たいせんモードを えらんでね"); + u8 sp10[] = _("{COLOR RED}START:かいし"); + u8 sp20[] = _("{COLOR RED}バトルちけい せんたく"); Menu_DrawStdWindowFrame(0, 16, 29, 19); Menu_PrintText(sp00, 1, 17); @@ -1550,23 +1502,11 @@ void debug_80C4F00(u8 a0) void debug_80C4F48(u8 taskId) { - // u8 sp00[] = _("じぶんの せいべつを えらんでね"); - // u8 sp14[] = _("{COLOR RED}START:つぎへ"); - // u8 sp24[] = _("{COLOR RED}せいべつ せんたく"); - // u8 sp34[] = _("おとこ"); - // u8 sp38[] = _("おんな"); - - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8211)]; - u8 sp14[ARRAY_COUNT(gUnknown_Debug_083F81A0)]; - u8 sp24[ARRAY_COUNT(gUnknown_Debug_083F8222)]; - u8 sp34[ARRAY_COUNT(gUnknown_Debug_083F822F)]; - u8 sp38[ARRAY_COUNT(gUnknown_Debug_083F8233)]; - - memcpy(sp00, gUnknown_Debug_083F8211, sizeof(gUnknown_Debug_083F8211)); - memcpy(sp14, gUnknown_Debug_083F81A0, sizeof(gUnknown_Debug_083F81A0)); - memcpy(sp24, gUnknown_Debug_083F8222, sizeof(gUnknown_Debug_083F8222)); - memcpy(sp34, gUnknown_Debug_083F822F, sizeof(gUnknown_Debug_083F822F)); - memcpy(sp38, gUnknown_Debug_083F8233, sizeof(gUnknown_Debug_083F8233)); + u8 sp00[] = _("じぶんの せいべつを えらんでね"); + u8 sp14[] = _("{COLOR RED}START:つぎへ"); + u8 sp24[] = _("{COLOR RED}せいべつ せんたく"); + u8 sp34[] = _("おとこ"); + u8 sp38[] = _("おんな"); Menu_DrawStdWindowFrame(0, 16, 29, 19); Menu_PrintText(sp00, 1, 17); @@ -1684,12 +1624,218 @@ bool8 debug_80C527C(struct Pokemon *pokemon) return TRUE; } +const u8 Str_83F8237[] = _("Kind"); +const struct WatanabeDebugMenuItemSubstruct _83F823C = {1, 0x00000182, 0x00, 0x03}; + +const u8 Str_83F8248[] = _("Level"); +const struct WatanabeDebugMenuItemSubstruct _83F8250 = {1, 0x00000064, 0x00, 0x03}; + +const u8 Str_83F825C[] = _("EXP Points"); +const struct WatanabeDebugMenuItemSubstruct _83F8268 = {1, 0x001E8480, 0x00, 0x07}; + +const u8 Str_83F8274[] = _("ID"); +const struct WatanabeDebugMenuItemSubstruct _83F8278 = {0, 0xFFFFFFFF, 0x00, 0x0A}; + +const u8 Str_83F8284[] = _("Rnd Numbers"); +const struct WatanabeDebugMenuItemSubstruct _83F8290 = {0, 0xFFFFFFFF, 0x00, 0x0A}; + +const u8 Str_83F829C[] = _("Sex"); +const struct WatanabeDebugMenuItemSubstruct _83F82A0 = {0, 0x00000002, 0x00, 0xFF}; + +const u8 Str_83F82AC[] = _("Character"); +const struct WatanabeDebugMenuItemSubstruct _83F82B8 = {0, 0x00000018, 0x00, 0xFF}; + +const u8 Str_83F82C4[] = _("Move1"); +const struct WatanabeDebugMenuItemSubstruct _83F82CC = {0, 0x00000162, 0x00, 0x03}; + +const u8 Str_83F82D8[] = _("Move2"); +const struct WatanabeDebugMenuItemSubstruct _83F82E0 = {0, 0x00000162, 0x00, 0x03}; + +const u8 Str_83F82EC[] = _("Move3"); +const struct WatanabeDebugMenuItemSubstruct _83F82F4 = {0, 0x00000162, 0x00, 0x03}; + +const u8 Str_83F8300[] = _("Move4"); +const struct WatanabeDebugMenuItemSubstruct _83F8308 = {0, 0x00000162, 0x00, 0x03}; + +const u8 Str_83F8314[] = _("Hold"); +const struct WatanabeDebugMenuItemSubstruct _83F831C = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8328[] = _("SP. Ability"); +const struct WatanabeDebugMenuItemSubstruct _83F8334 = {0, 0x00000001, 0x00, 0xFF}; + +const u8 Str_83F8340[] = _("HPrnd"); +const struct WatanabeDebugMenuItemSubstruct _83F8348 = {0, 0x0000001F, 0x00, 0x02}; + +const u8 Str_83F8354[] = _("HPexp"); +const struct WatanabeDebugMenuItemSubstruct _83F835C = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8368[] = _("ATKrnd"); +const struct WatanabeDebugMenuItemSubstruct _83F8370 = {0, 0x0000001F, 0x00, 0x02}; + +const u8 Str_83F837C[] = _("ATKexp"); +const struct WatanabeDebugMenuItemSubstruct _83F8384 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8390[] = _("DEFrnd"); +const struct WatanabeDebugMenuItemSubstruct _83F8398 = {0, 0x0000001F, 0x00, 0x02}; + +const u8 Str_83F83A4[] = _("DEFexp"); +const struct WatanabeDebugMenuItemSubstruct _83F83AC = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F83B8[] = _("SPDrnd"); +const struct WatanabeDebugMenuItemSubstruct _83F83C0 = {0, 0x0000001F, 0x00, 0x02}; + +const u8 Str_83F83CC[] = _("SPDexp"); +const struct WatanabeDebugMenuItemSubstruct _83F83D4 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F83E0[] = _("SP. ATK$rnd"); +const struct WatanabeDebugMenuItemSubstruct _83F83EC = {0, 0x0000001F, 0x00, 0x02}; + +const u8 Str_83F83F8[] = _("SP. ATK$exp"); +const struct WatanabeDebugMenuItemSubstruct _83F8404 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8410[] = _("SP. DEF$rnd"); +const struct WatanabeDebugMenuItemSubstruct _83F841C = {0, 0x0000001F, 0x00, 0x02}; + +const u8 Str_83F8428[] = _("SP. DEF$exp"); +const struct WatanabeDebugMenuItemSubstruct _83F8434 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8440[] = _("Cool"); +const struct WatanabeDebugMenuItemSubstruct _83F8448 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8454[] = _("Beauty"); +const struct WatanabeDebugMenuItemSubstruct _83F845C = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8468[] = _("Cute"); +const struct WatanabeDebugMenuItemSubstruct _83F8470 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F847C[] = _("Smart"); +const struct WatanabeDebugMenuItemSubstruct _83F8484 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F8490[] = _("Tough"); +const struct WatanabeDebugMenuItemSubstruct _83F8498 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F84A4[] = _("Sheen"); +const struct WatanabeDebugMenuItemSubstruct _83F84AC = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F84B8[] = _("Tameness"); +const struct WatanabeDebugMenuItemSubstruct _83F84C4 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F84D0[] = _("{PK}RUS"); +const struct WatanabeDebugMenuItemSubstruct _83F84D8 = {0, 0x000000FF, 0x00, 0x03}; + +const u8 Str_83F84E4[] = _("EGG$"); +const struct WatanabeDebugMenuItemSubstruct _83F84EC = {0, 0x00000001, 0x00, 0xFF}; + +const u8 Str_83F84F8[] = _("Status"); +const struct WatanabeDebugMenuItemSubstruct _83F8500 = {0, 0x00000006, 0x00, 0xFF}; + +const u8 gUnknown_Debug_083F850A[] = _("{COLOR RED}HP  "); +const u8 gUnknown_Debug_083F8514[] = _("{COLOR RED}ATK "); +const u8 gUnknown_Debug_083F851C[] = _("{COLOR RED}DEF "); +const u8 gUnknown_Debug_083F8524[] = _("{COLOR RED}SPEED"); +const u8 gUnknown_Debug_083F852D[] = _("{COLOR RED}SP。ATK"); +const u8 gUnknown_Debug_083F8537[] = _("{COLOR RED}SP。DEF"); +const u8 gUnknown_Debug_083F8541[] = _("なし"); +const u8 gUnknown_Debug_083F8544[] = _("♂"); +const u8 gUnknown_Debug_083F8546[] = _("♀"); +const u8 gUnknown_Debug_083F8548[] = _("ー"); +const u8 gUnknown_Debug_083F854A[] = _("ON"); +const u8 gUnknown_Debug_083F854D[] = _("OFF"); + +const struct WatanabeDebugMenuItem gUnknown_Debug_083F8554[] = { + {Str_83F8237, {.type4 = &_83F823C}}, + {Str_83F8248, {.type4 = &_83F8250}}, + {Str_83F825C, {.type4 = &_83F8268}}, + {Str_83F8274, {.type4 = &_83F8278}}, + {Str_83F8284, {.type4 = &_83F8290}}, + {Str_83F829C, {.type4 = &_83F82A0}}, + {Str_83F82AC, {.type4 = &_83F82B8}}, + {Str_83F82C4, {.type4 = &_83F82CC}}, + {Str_83F82D8, {.type4 = &_83F82E0}}, + {Str_83F82EC, {.type4 = &_83F82F4}}, + {Str_83F8300, {.type4 = &_83F8308}}, + {Str_83F8314, {.type4 = &_83F831C}}, + {Str_83F8328, {.type4 = &_83F8334}}, + {Str_83F8340, {.type4 = &_83F8348}}, + {Str_83F8354, {.type4 = &_83F835C}}, + {Str_83F8368, {.type4 = &_83F8370}}, + {Str_83F837C, {.type4 = &_83F8384}}, + {Str_83F8390, {.type4 = &_83F8398}}, + {Str_83F83A4, {.type4 = &_83F83AC}}, + {Str_83F83B8, {.type4 = &_83F83C0}}, + {Str_83F83CC, {.type4 = &_83F83D4}}, + {Str_83F83E0, {.type4 = &_83F83EC}}, + {Str_83F83F8, {.type4 = &_83F8404}}, + {Str_83F8410, {.type4 = &_83F841C}}, + {Str_83F8428, {.type4 = &_83F8434}}, + {Str_83F8440, {.type4 = &_83F8448}}, + {Str_83F8454, {.type4 = &_83F845C}}, + {Str_83F8468, {.type4 = &_83F8470}}, + {Str_83F847C, {.type4 = &_83F8484}}, + {Str_83F8490, {.type4 = &_83F8498}}, + {Str_83F84A4, {.type4 = &_83F84AC}}, + {Str_83F84B8, {.type4 = &_83F84C4}}, + {Str_83F84D0, {.type4 = &_83F84D8}}, + {Str_83F84E4, {.type4 = &_83F84EC}}, + {Str_83F84F8, {.type4 = &_83F8500}} +}; + +const u8 gUnknown_Debug_083F866C[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0xFF +}; + +const u8 gUnknown_Debug_083F8674[] = { + 0x22, 0x1F, 0x20, 0xFF +}; + +const u8 gUnknown_Debug_083F8678[] = { + 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0xFF +}; + +const u8 gUnknown_Debug_083F867F[] = { + 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0xFE, 0xFF +}; + +const u8 gUnknown_Debug_083F8687[] = { + 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0xFD, 0xFF +}; + +const u8 gUnknown_Debug_083F868F[] = { + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0xFF +}; + +const struct WatanabeDebugMenuItem gUnknown_Debug_083F8698[] = { + {gUnknown_Debug_083F866C, {.type3 = 0x5}}, + {gUnknown_Debug_083F8674, {.type3 = 0x3}}, + {gUnknown_Debug_083F8678, {.type3 = 0x6}}, + {gUnknown_Debug_083F867F, {.type3 = 0x6}}, + {gUnknown_Debug_083F8687, {.type3 = 0x6}}, + {gUnknown_Debug_083F868F, {.type3 = 0x6}} +}; + +const u8 gUnknown_Debug_083F86C8[] = _("ーーー"); +const u8 gUnknown_Debug_083F86CC[] = _("SLP"); +const u8 gUnknown_Debug_083F86D0[] = _("PSN"); +const u8 gUnknown_Debug_083F86D4[] = _("BRN"); +const u8 gUnknown_Debug_083F86D8[] = _("FRZ"); +const u8 gUnknown_Debug_083F86DC[] = _("PAR"); +const u8 gUnknown_Debug_083F86E0[] = _("PSN2"); + +const struct WatanabeDebugMenuItem gUnknown_Debug_083F86E8[] = { + {gUnknown_Debug_083F86C8, {.type3 = 0x0}}, + {gUnknown_Debug_083F86CC, {.type3 = 0x1}}, + {gUnknown_Debug_083F86D0, {.type3 = 0x8}}, + {gUnknown_Debug_083F86D4, {.type3 = 0x10}}, + {gUnknown_Debug_083F86D8, {.type3 = 0x20}}, + {gUnknown_Debug_083F86DC, {.type3 = 0x40}}, + {gUnknown_Debug_083F86E0, {.type3 = 0x80}} +}; + +const u8 gUnknown_Debug_083F8720[] = _("PKMNワLIST"); +const u8 gUnknown_Debug_083F872A[] = _("PKMNワBOX"); void InitCreatePokemon(void) { - // u8 sp04[] = _("Create POKひMON   LR:Shift  START:Add"); - u8 sp04[ARRAY_COUNT(gUnknown_Debug_083F8733)]; - - memcpy(sp04, gUnknown_Debug_083F8733, sizeof(gUnknown_Debug_083F8733)); + u8 sp04[] = _("Create POKひMON   LR:Shift  START:Add"); debug_80C35DC(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); @@ -2050,17 +2196,11 @@ void debug_80C5EF4(void) void debug_80C5FFC(void) { u32 ivs; - // u8 sp10[] = _("たまご"); - // u8 sp14[] = _("DebugーG"); - - u8 sp10[ARRAY_COUNT(gUnknown_Debug_083F8758)]; - u8 sp14[ARRAY_COUNT(gUnknown_Debug_083F875C)]; + u8 sp10[] = _("たまご"); + u8 sp14[] = _("DebugーG"); u8 one; u16 ff; - memcpy(sp10, gUnknown_Debug_083F8758, sizeof(gUnknown_Debug_083F8758)); - memcpy(sp14, gUnknown_Debug_083F875C, sizeof(gUnknown_Debug_083F875C)); - ivs = gUnknown_Debug_2038A1C->unk64[13] & 0x1f; ivs |= (gUnknown_Debug_2038A1C->unk64[15] & 0x1f) << 5; ivs |= (gUnknown_Debug_2038A1C->unk64[17] & 0x1f) << 10; @@ -2123,14 +2263,8 @@ void debug_80C5FFC(void) void debug_80C627C(u8 a0) { - // u8 sp00[] = _("▶"); - // u8 sp04[] = _(" "); - - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F7FD4)]; - u8 sp04[ARRAY_COUNT(gUnknown_Debug_083F8764)]; - - memcpy(sp00, gUnknown_Debug_083F7FD4, sizeof(gUnknown_Debug_083F7FD4)); - memcpy(sp04, gUnknown_Debug_083F8764, sizeof(gUnknown_Debug_083F8764)); + u8 sp00[] = _("▶"); + u8 sp04[] = _(" "); switch (a0) { @@ -2194,6 +2328,19 @@ void debug_80C643C(void) } } +const u32 gUnknown_Debug_083F8768[] = { + 1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000, + 1000000000 +}; + void debug_80C6544(u8 a0) { u32 r7 = debug_80C5B60(gUnknown_Debug_083F8698[gUnknown_Debug_2038A1C->unk168].text[gUnknown_Debug_2038A1C->unk169]); @@ -2332,6 +2479,41 @@ void debug_80C68CC(u16 a0, u8 a1, u8 a2, u8 a3) Menu_PrintText(sp00 + (u8)(4 - a3), a1, a2); } +struct OamData gOamData_83F8848 = { + .y = 0xa0 +}; + +union AnimCmd gSpriteAnim_83F8850[] = { + ANIMCMD_FRAME(38, 30), + ANIMCMD_END +}; + +union AnimCmd gSpriteAnim_83F8858[] = { + ANIMCMD_FRAME(39, 30), + ANIMCMD_END +}; + +union AnimCmd gSpriteAnim_83F8860[] = { + ANIMCMD_FRAME(40, 30), + ANIMCMD_END +}; + +const union AnimCmd *gSpriteAnimTable_83F8868[] = { + gSpriteAnim_83F8850, + gSpriteAnim_83F8858, + gSpriteAnim_83F8860 +}; + +struct SpriteTemplate gSpriteTemplate_83F8874 = { + SPRITETAG_WATANABE, + SPRITETAG_WATANABE, + &gOamData_83F8848, + gSpriteAnimTable_83F8868, + NULL, + gDummySpriteAffineAnimTable, + debug_80C7584 +}; + u16 word_83F888C[] = INCBIN_U16("graphics/debug/sprite_browser.gbapal"); u8 byte_83F88EC[] = INCBIN_U8("graphics/debug/sprite_browser.4bpp"); @@ -2386,19 +2568,52 @@ void InitSeePokemonGraphics(void) StartSpriteAnim(gSprites + spriteId, 2); } -extern const u8 gUnknown_Debug_083F8815[18]; // = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; -extern const u8 gUnknown_Debug_083F87D0[]; -extern const u8 gUnknown_Debug_083F87D8[]; -extern const u8 gUnknown_Debug_083F87E0[]; -extern const u8 gUnknown_Debug_083F87F4[]; -extern const u8 gUnknown_Debug_083F8801[]; +const u16 gUnknown_Debug_083F8790[] = { + 0x0000, + 0x0002, + 0x0004, + 0x0006, + 0x0008, + 0x000a, + 0x000c, + 0x000e, + 0x0010, + 0x0012, + 0x0014, + 0x0016, + 0x0018, + 0x001a, + 0x001c, + 0x001e, + 0x001f, + 0x001e, + 0x001c, + 0x001a, + 0x0018, + 0x0016, + 0x0014, + 0x0012, + 0x0010, + 0x000e, + 0x000c, + 0x000a, + 0x0008, + 0x0006, + 0x0004, + 0x0002 +}; +const u8 gUnknown_Debug_083F87D0[] = _("{COLOR RED}L{ESCAPE}ロ"); +const u8 gUnknown_Debug_083F87D8[] = _("{COLOR RED}{ESCAPE}ワR"); +const u8 gUnknown_Debug_083F87E0[] = _("かいはつナンバー"); +const u8 gUnknown_Debug_083F87E9[] = _("グラフィックナンバー"); +const u8 gUnknown_Debug_083F87F4[] = _("{COLOR RED}A:カラーせってい"); +const u8 gUnknown_Debug_083F8801[] = _("{COLOR RED}A:けってい B:キャンセル"); +const u8 gUnknown_Debug_083F8813[] = _(":"); void debug_80C6B00(u8 taskId) { - // u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; + u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; u8 i; - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8815)]; - memcpy(sp00, gUnknown_Debug_083F8815, sizeof(gUnknown_Debug_083F8815)); Menu_DrawStdWindowFrame(10, 0, 15, 7); Menu_DrawStdWindowFrame(0, 0, 9, 9); @@ -2489,8 +2704,6 @@ void debug_80C6EE8(u8 taskId) gTasks[taskId].func = debug_80C6FA8; } -extern const u16 gUnknown_Debug_083F8790[32]; - #ifdef NONMATCHING void debug_80C6FA8(u8 taskId) { @@ -3027,10 +3240,8 @@ void InitSeeTrainers(void) void debug_80C777C(u8 taskId) { - // u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; + u8 sp00[] = {0x00, 0x10, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21, 0x20, 0x20, 0x20, 0x21}; u8 i; - u8 sp00[ARRAY_COUNT(gUnknown_Debug_083F8815)]; - memcpy(sp00, gUnknown_Debug_083F8815, sizeof(gUnknown_Debug_083F8815)); Menu_DrawStdWindowFrame(9, 0, 14, 7); Menu_DrawStdWindowFrame(0, 0, 9, 9); -- cgit v1.2.3 From 1a63f6607e187a58973cff05eb150fd66f77b9b9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 21 Apr 2018 15:51:32 -0400 Subject: Fix mistake in debug_80C47BC --- src/debug/watanabe_debug_menu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index d4c7b8cf3..4378e1075 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -1259,8 +1259,8 @@ bool8 debug_80C4774(void) void debug_80C47BC(u8 taskId) { u8 i; - u8 sp00[] = _("{COLOR RED}あいての ポケモン"); - u8 sp10[] = _("たいせんモードを えらんでね"); + u8 sp00[] = _("たいせんモードを えらんでね"); + u8 sp10[] = _("{COLOR RED}START:つぎへ"); u8 sp20[] = _("{COLOR RED}バトルモード せんたく"); u8 sp30[] = _("{COLOR RED}トレーナーAI せんたく"); -- cgit v1.2.3 From f54ccdc7ca5007edb196bcf4657d36f9bb5c295c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 22 Apr 2018 08:57:17 -0400 Subject: Take the IME/IE ops out of their own blocks --- src/debug/watanabe_debug_menu.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 4378e1075..1b13b2d4e 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -383,17 +383,15 @@ void InitWatanabeDebugMenu(void) void InitSizeComparison(void) { u8 taskId; + u16 imeBak; debug_80C35DC(); gReservedSpritePaletteCount = 1; LoadPalette(gUnknown_Debug_20389EC, 0x100, 0x20); - { - u16 imeBak = REG_IME; - REG_IME = 0; - REG_IE |= INTR_FLAG_VBLANK; - REG_IME = imeBak; - } - + imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); SetVBlankCallback(debug_80C3758); SetMainCallback2(debug_80C370C); @@ -1081,6 +1079,7 @@ void debug_80C41F4(void) void debug_80C4214(UNUSED u8 a0) { + u16 imeBak; debug_80C35DC(); REG_WIN0H = 0; REG_WIN0V = 0; @@ -1092,12 +1091,10 @@ void debug_80C4214(UNUSED u8 a0) REG_BLDALPHA = 0; REG_BLDY = 7; - { - u16 imeBak = REG_IME; - REG_IME = 0; - REG_IE |= INTR_FLAG_VBLANK; - REG_IME = imeBak; - } + imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; SetVBlankCallback(debug_80C3758); SetMainCallback2(debug_80C370C); @@ -3194,6 +3191,7 @@ void debug_80C7584(struct Sprite *sprite) void InitSeeTrainers(void) { u8 spriteId; + u16 imeBak; debug_80C35DC(); DmaCopy16Defvars(3, byte_83F88EC, VRAM + 0xe000, 0x800); LoadPalette(word_83F888C, 0x80, 0x60); @@ -3207,12 +3205,10 @@ void InitSeeTrainers(void) REG_BLDCNT = 0xF1; REG_BLDALPHA = 0; REG_BLDY = 7; - { - u16 imeBak = REG_IME; - REG_IME = 0; - REG_IE |= INTR_FLAG_VBLANK; - REG_IME = imeBak; - } + imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = imeBak; SetVBlankCallback(debug_80C3758); SetMainCallback2(debug_80C370C); REG_BG0CNT = 0x1F0B; -- cgit v1.2.3 From 23dabccb292749aeee7ac7e7adb943dc6d8c979b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 22 Apr 2018 17:29:45 -0400 Subject: PC Screen Effect data --- src/pc_screen_effect.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/pc_screen_effect.c b/src/pc_screen_effect.c index dcc3bc9c9..cbc050445 100644 --- a/src/pc_screen_effect.c +++ b/src/pc_screen_effect.c @@ -11,13 +11,22 @@ void sub_80C6130(struct Sprite *); void sub_80C61B0(IntrFunc); void ClearGpuRegBits(void); -extern const struct OamData gOamData_83D18D8; +struct OamData gOamData_83D18D8 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 1 +}; -extern const union AnimCmd *const gSpriteAnimTable_83D18E8[]; +union AnimCmd gSpriteAnim_83D18E0[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; -extern const u16 gUnknownPal_083D18EC[16]; +const union AnimCmd *gSpriteAnimTable_83D18E8[] = { + gSpriteAnim_83D18E0 +}; -extern const u8 gUnknownGfx_083D190C[128]; +u16 gUnknownPal_083D18EC[] = INCBIN_U16("graphics/unknown/unknown_3D18EC.gbapal"); +u8 gUnknownGfx_083D190C[] = INCBIN_U8("graphics/unknown/unknown_3D190C.4bpp"); EWRAM_DATA struct PCScreenEffectStruct *gUnknown_020387EC = NULL; -- cgit v1.2.3 From 8e0eac91da8f9397a4499fbbd8601aff57042b01 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 22 Apr 2018 18:00:20 -0400 Subject: sub_80C5E38 --- src/pc_screen_effect.c | 105 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 76 insertions(+), 29 deletions(-) (limited to 'src') diff --git a/src/pc_screen_effect.c b/src/pc_screen_effect.c index cbc050445..4714cdb62 100644 --- a/src/pc_screen_effect.c +++ b/src/pc_screen_effect.c @@ -30,39 +30,22 @@ u8 gUnknownGfx_083D190C[] = INCBIN_U8("graphics/unknown/unknown_3D190C.4bpp"); EWRAM_DATA struct PCScreenEffectStruct *gUnknown_020387EC = NULL; -const struct SpriteSheet gUnknown_083D1898 = { gUnknownGfx_083D190C, sizeof(gUnknownGfx_083D190C), 0 }; - -const struct SpritePalette gUnknown_083D18A0 = { gUnknownPal_083D18EC, 0 }; - -const struct SpriteTemplate gSpriteTemplate_83D18A8 = -{ - 0, - 0, - &gOamData_83D18D8, - gSpriteAnimTable_83D18E8, - NULL, - gDummySpriteAffineAnimTable, - sub_80C60CC, -}; - -const struct SpriteTemplate gSpriteTemplate_83D18C0 = -{ - 0, - 0, - &gOamData_83D18D8, - gSpriteAnimTable_83D18E8, - NULL, - gDummySpriteAffineAnimTable, - sub_80C6130, -}; - void sub_80C5CD4(struct PCScreenEffectStruct *unkStruct) { u16 i; - struct SpriteSheet sprSheet = gUnknown_083D1898; - struct SpritePalette sprPalette = gUnknown_083D18A0; - struct SpriteTemplate sprTemplate = gSpriteTemplate_83D18A8; + struct SpriteSheet sprSheet = { gUnknownGfx_083D190C, sizeof(gUnknownGfx_083D190C), 0 }; + struct SpritePalette sprPalette = { gUnknownPal_083D18EC, 0 }; + struct SpriteTemplate sprTemplate = + { + 0, + 0, + &gOamData_83D18D8, + gSpriteAnimTable_83D18E8, + NULL, + gDummySpriteAffineAnimTable, + sub_80C60CC, + }; sprSheet.tag = unkStruct->tileTag; sprTemplate.tileTag = unkStruct->tileTag; @@ -124,3 +107,67 @@ bool8 sub_80C5DCC(void) return FALSE; } } + +void sub_80C5E38(struct PCScreenEffectStruct * a0) +{ + u16 i; + u8 spriteId; + + struct SpriteSheet spriteSheet = { gUnknownGfx_083D190C, sizeof(gUnknownGfx_083D190C), 0 }; + struct SpritePalette spritePalette = { gUnknownPal_083D18EC, 0 }; + struct SpriteTemplate spriteTemplate = + { + 0, + 0, + &gOamData_83D18D8, + gSpriteAnimTable_83D18E8, + NULL, + gDummySpriteAffineAnimTable, + sub_80C6130, + }; + + spriteSheet.tag = a0->tileTag; + spriteTemplate.tileTag = a0->tileTag; + spritePalette.tag = a0->paletteTag; + spriteTemplate.paletteTag = a0->paletteTag; + + LoadSpriteSheet(&spriteSheet); + LoadSpritePalette(&spritePalette); + + a0->unk0C = 0x50; + a0->unk08 = 0; + a0->unk0A = 0; + a0->selectedPalettes = 0xffff0000 & ~(0x10000 << IndexOfSpritePaletteTag(a0->paletteTag)); + if (a0->unk04 == 0) + a0->unk04 = 16; + if (a0->unk06 == 0) + a0->unk06 = 20; + gUnknown_020387EC = a0; + + for (i = 0; i < 8; i++) + { + if (i < 4) + { + spriteId = CreateSprite(&spriteTemplate, i * 32 - 0x70, 0x50, 0); + if (spriteId == MAX_SPRITES) + break; + gSprites[spriteId].data[0] = a0->unk04; + gSprites[spriteId].data[1] = 1; + } + else + { + // Fakematching + spriteId = CreateSprite(&spriteTemplate, ((i << 21) + (0x80 << 16)) >> 16, 0x50, 0); + if (spriteId == MAX_SPRITES) + break; + gSprites[spriteId].data[0] = -a0->unk04; + gSprites[spriteId].data[1] = -1; + } + gSprites[spriteId].data[2] = i * 32 + 8; + gSprites[spriteId].data[4] = 0; + gSprites[spriteId].invisible = TRUE; + } + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN; + REG_BLDY = 16; + sub_80C61B0(sub_80C6078); +} -- cgit v1.2.3 From b9e256c05071021e138bb4de2ad014beb73fc2af Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 22 Apr 2018 18:29:34 -0400 Subject: Decompile remaining pc_screen_effect functions --- src/pc_screen_effect.c | 139 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 130 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/pc_screen_effect.c b/src/pc_screen_effect.c index 4714cdb62..0e417b5f4 100644 --- a/src/pc_screen_effect.c +++ b/src/pc_screen_effect.c @@ -4,12 +4,12 @@ #include "sprite.h" #include "pc_screen_effect.h" -void sub_80C603C(void); -void sub_80C6078(void); -void sub_80C60CC(struct Sprite *); -void sub_80C6130(struct Sprite *); -void sub_80C61B0(IntrFunc); -void ClearGpuRegBits(void); +static void sub_80C603C(void); +static void sub_80C6078(void); +static void sub_80C60CC(struct Sprite *); +static void sub_80C6130(struct Sprite *); +static void HBlankIntrOn(IntrFunc); +static void HBlankIntrOff(void); struct OamData gOamData_83D18D8 = { .shape = ST_OAM_H_RECTANGLE, @@ -85,7 +85,7 @@ bool8 sub_80C5DCC(void) if (gUnknown_020387EC->unk08 == 0) { BlendPalettes(gUnknown_020387EC->selectedPalettes, 0x10, 0xFFFF); - sub_80C61B0(sub_80C603C); + HBlankIntrOn(sub_80C603C); gUnknown_020387EC->unk08++; } @@ -99,7 +99,7 @@ bool8 sub_80C5DCC(void) gUnknown_020387EC->unk0C = 80; REG_BLDCNT = 0; REG_BLDY = 0; - ClearGpuRegBits(); + HBlankIntrOff(); return TRUE; } else @@ -169,5 +169,126 @@ void sub_80C5E38(struct PCScreenEffectStruct * a0) } REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN; REG_BLDY = 16; - sub_80C61B0(sub_80C6078); + HBlankIntrOn(sub_80C6078); +} + +bool8 sub_80C5F98(void) +{ + switch (gUnknown_020387EC->unk08) + { + case 0: + gUnknown_020387EC->unk0C -= gUnknown_020387EC->unk06; + if (gUnknown_020387EC->unk0C < 2) + { + BlendPalettes(gUnknown_020387EC->selectedPalettes, 0x10, 0xFFFF); + SetHBlankCallback(sub_80C603C); + gUnknown_020387EC->unk0C = 1; + gUnknown_020387EC->unk08++; + } + break; + case 1: + if (gUnknown_020387EC->unk0A == 8) + { + BlendPalettes(0xFFFFFFFF, 16, 0); + gUnknown_020387EC->unk08++; + } + break; + case 2: + REG_BLDCNT = 0; + REG_BLDY = 0; + FreeSpriteTilesByTag(gUnknown_020387EC->tileTag); + FreeSpritePaletteByTag(gUnknown_020387EC->paletteTag); + HBlankIntrOff(); + gUnknown_020387EC->unk08++; + return TRUE; + default: + return TRUE; + } + return FALSE; +} + +static void sub_80C603C(void) +{ + vu16 vcount = REG_VCOUNT & 0xFF; + if (vcount == 0x50) + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_LIGHTEN; + else + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN; +} + +static void sub_80C6078(void) +{ + vu16 vcount = REG_VCOUNT & 0xFF; + if (vcount > 0x50 - gUnknown_020387EC->unk0C && vcount < 0x50 + gUnknown_020387EC->unk0C) + REG_BLDY = 0; + else + REG_BLDY = 16; +} + +static void sub_80C60CC(struct Sprite *sprite) +{ + sprite->pos1.x += sprite->data[0]; + if (sprite->pos1.x < -0x08 || sprite->pos1.x > 0xf8) + { + DestroySprite(sprite); + gUnknown_020387EC->unk0A++; + if (gUnknown_020387EC->unk0A == 8) + { + FreeSpriteTilesByTag(gUnknown_020387EC->tileTag); + FreeSpritePaletteByTag(gUnknown_020387EC->paletteTag); + BlendPalettes(gUnknown_020387EC->selectedPalettes, 0, 0xffff); + SetHBlankCallback(sub_80C6078); + } + } +} + +static void sub_80C6130(struct Sprite *sprite) +{ + if (sprite->data[4] == 0 && gUnknown_020387EC->unk0C == 1) + { + sprite->pos1.x += sprite->data[0]; + if (sprite->pos1.x > -0x10 && sprite->pos1.x < 0x100) + sprite->invisible = FALSE; + if (sprite->data[1] > 0) + { + if (sprite->pos1.x >= sprite->data[2]) + sprite->data[4] = 1; + } + else + { + if (sprite->pos1.x <= sprite->data[2]) + sprite->data[4] = 1; + } + if (sprite->data[4]) + { + gUnknown_020387EC->unk0A++; + sprite->pos1.x = sprite->data[2]; + } + } +} + +static void HBlankIntrOn(IntrFunc cb) +{ + u16 imeBak; + INTR_CHECK |= INTR_FLAG_HBLANK; + REG_DISPSTAT |= DISPSTAT_HBLANK_INTR; + imeBak = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_HBLANK; + REG_IME = imeBak; + gMain.intrCheck |= INTR_FLAG_HBLANK; + SetHBlankCallback(cb); +} + +static void HBlankIntrOff(void) +{ + u16 imeBak; + INTR_CHECK &= ~INTR_FLAG_HBLANK; + REG_DISPSTAT &= ~DISPSTAT_HBLANK_INTR; + imeBak = REG_IME; + REG_IME = 0; + REG_IE &= ~INTR_FLAG_HBLANK; + REG_IME = imeBak; + gMain.intrCheck &= ~INTR_FLAG_HBLANK; + SetHBlankCallback(NULL); } -- cgit v1.2.3 From 2ec267d85a05bb21049c450a2a76b85bab4b277e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 22 Apr 2018 16:35:20 -0700 Subject: Identify region in SaveBlock1 that is reserved for external games/events to write to --- src/pokemon_size_record.c | 2 +- src/trade.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index f92a95bfb..1b5b41c3d 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -200,7 +200,7 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId) if (index < 11 && ribbonId < 65) { - gSaveBlock1.giftRibbons[index] = ribbonId; + gSaveBlock1.externalReservedData.giftRibbons[index] = ribbonId; for (i = 0; i < 6; i++) { struct Pokemon *pkmn = &gPlayerParty[i]; diff --git a/src/trade.c b/src/trade.c index 3245ec5b0..796a01b5b 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1797,7 +1797,7 @@ static bool8 sub_8048D44(void) } break; case 13: - Trade_Memcpy(gBlockSendBuffer, gSaveBlock1.giftRibbons, 11); + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1.externalReservedData.giftRibbons, 11); gUnknown_03004824->unk_0075 ++; break; case 14: @@ -3777,8 +3777,8 @@ static void sub_804AF84(void) { int i; for (i = 0; i < 11; i ++) - if (gSaveBlock1.giftRibbons[i] == 0 && gUnknown_03004824->unk_00b5[i] != 0) - gSaveBlock1.giftRibbons[i] = gUnknown_03004824->unk_00b5[i]; + if (gSaveBlock1.externalReservedData.giftRibbons[i] == 0 && gUnknown_03004824->unk_00b5[i] != 0) + gSaveBlock1.externalReservedData.giftRibbons[i] = gUnknown_03004824->unk_00b5[i]; } static void sub_804AFB8(const struct WindowTemplate *windowConfig, u8 *dest, const u8 *src, u8 size) -- cgit v1.2.3 From 067c52d262468cc9d4adfd31ee1a7645cc8bb97c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 22 Apr 2018 16:41:48 -0700 Subject: Use mon gift ribbon constants --- src/pokemon_size_record.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 1b5b41c3d..43ad39e6f 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -196,7 +196,15 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId) s32 i; bool32 gotRibbon = FALSE; u8 data = 1; - u8 arr[] = { 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E }; + u8 arr[] = { + MON_DATA_GIFT_RIBBON_1, + MON_DATA_GIFT_RIBBON_2, + MON_DATA_GIFT_RIBBON_3, + MON_DATA_GIFT_RIBBON_4, + MON_DATA_GIFT_RIBBON_5, + MON_DATA_GIFT_RIBBON_6, + MON_DATA_GIFT_RIBBON_7, + }; if (index < 11 && ribbonId < 65) { -- cgit v1.2.3 From 4e9d76d3052db037bd92870eb6a7e086a566065f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 23 Apr 2018 08:43:45 -0400 Subject: through CB2_UnusedPokedexAreaScreen --- src/pokedex_area_screen.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 67ca276c4..020f0e9b2 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -1,9 +1,31 @@ // Includes #include "global.h" +#include "ewram.h" +#include "main.h" +#include "palette.h" +#include "task.h" +#include "sprite.h" +#include "region_map.h" +#include "string_util.h" +#include "text.h" // Static type declarations +struct PokedexAreaScreenEwramStruct +{ + u8 filler_0000[4]; + u32 unk0004; + u32 unk0008; + u8 filler_000C[2]; + u16 unk000E; + u8 filler_0010[0x6d8]; + struct RegionMap unk06E8; + u8 unk0F68[16]; +}; + +#define ePokedexAreaScreen (*(struct PokedexAreaScreenEwramStruct *)gSharedMem) + // Static RAM declarations EWRAM_DATA u16 gUnknown_02039260 = 0; @@ -15,6 +37,74 @@ EWRAM_DATA u16 gUnknown_0203926A = 0; // Static ROM declarations +void CB2_UnusedPokedexAreaScreen(void); +void sub_81107DC(void); +void sub_81107F0(void); +void sub_8110814(void (*func)(void)); +void sub_8110824(void); +void sub_8111084(void); +bool8 DrawAreaGlow(void); +void sub_8111288(void); + // .rodata // .text + +void UnusedPokedexAreaScreen(u16 a0, u32 a1, u32 a2) +{ + ePokedexAreaScreen.unk0004 = a1; + ePokedexAreaScreen.unk0008 = a2; + ePokedexAreaScreen.unk000E = a0; + SetMainCallback2(CB2_UnusedPokedexAreaScreen); +} + +void CB2_UnusedPokedexAreaScreen(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_BG1_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + FreeSpriteTileRanges(); + FreeAllSpritePalettes(); + REG_BG0HOFS = 0; + REG_BG0VOFS = -8; + REG_BG2VOFS = 0; + REG_BG2HOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + break; + case 1: + InitRegionMap(&ePokedexAreaScreen.unk06E8, FALSE); + StringFill(ePokedexAreaScreen.unk0F68, CHAR_SPACE, 16); + break; + case 2: + sub_8110824(); + break; + case 3: + if (DrawAreaGlow()) + return; + break; + case 4: + CreateRegionMapPlayerIcon(1, 1); + sub_80FB2A4(0, -8); + SetVBlankCallback(sub_81107DC); + break; + case 5: + BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, 0); + break; + case 6: + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; + sub_8111084(); + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; + break; + case 7: + sub_8110814(sub_8111288); + SetMainCallback2(sub_81107F0); + return; + } + gMain.state++; +} -- cgit v1.2.3 From 5641a3bfe39fcb8a2babf082a3fca96a193c83d1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 23 Apr 2018 19:38:45 -0400 Subject: through SetAreaHasMon --- src/pokedex_area_screen.c | 166 ++++++++++++++++++++++++++++++++++++++++++++-- src/roamer.c | 6 -- 2 files changed, 162 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 020f0e9b2..078ae556a 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -1,6 +1,8 @@ // Includes #include "global.h" +#include "constants/species.h" +#include "constants/maps.h" #include "ewram.h" #include "main.h" #include "palette.h" @@ -9,17 +11,32 @@ #include "region_map.h" #include "string_util.h" #include "text.h" +#include "wild_encounter.h" +#include "roamer.h" +#include "overworld.h" // Static type declarations +struct PokedexAreaScreenSubstruct0010 +{ + u8 mapGroup; + u8 mapNum; + u16 regionMapSectionId; +}; + struct PokedexAreaScreenEwramStruct { - u8 filler_0000[4]; + void (*unk0000)(void); u32 unk0004; u32 unk0008; - u8 filler_000C[2]; + u16 unk000C; u16 unk000E; - u8 filler_0010[0x6d8]; + struct PokedexAreaScreenSubstruct0010 unk0010[0x40]; + u16 unk0110; + u16 unk0112; + u16 unk0114; + u8 unk0116[0x500]; + u8 filler_0616[0xD2]; struct RegionMap unk06E8; u8 unk0F68[16]; }; @@ -42,12 +59,23 @@ void sub_81107DC(void); void sub_81107F0(void); void sub_8110814(void (*func)(void)); void sub_8110824(void); -void sub_8111084(void); bool8 DrawAreaGlow(void); +void FindMapsWithMon(u16 mon); +void sub_8111084(void); +void sub_8111110(void); void sub_8111288(void); +void BuildAreaGlowTilemap(void); +bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon); +void SetAreaHasMon(u16 mapGroup, u16 mapNum); +void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum); // .rodata +extern const u16 gUnknown_083F8418[]; +extern const u8 gUnknown_083F8438[]; +extern const u16 gUnknown_083F856C[]; +extern const u16 gUnknown_083F856E[][3]; + // .text void UnusedPokedexAreaScreen(u16 a0, u32 a1, u32 a2) @@ -108,3 +136,133 @@ void CB2_UnusedPokedexAreaScreen(void) } gMain.state++; } + +void sub_81107DC(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_81107F0(void) +{ + ePokedexAreaScreen.unk0000(); + sub_8111110(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_8110814(void (*func)(void)) +{ + ePokedexAreaScreen.unk0000 = func; + ePokedexAreaScreen.unk000C = 0; +} + +void sub_8110824(void) +{ + ePokedexAreaScreen.unk0114 = 0; +} + +bool8 DrawAreaGlow(void) +{ + switch (ePokedexAreaScreen.unk0114) + { + case 0: + FindMapsWithMon(ePokedexAreaScreen.unk000E); + break; + case 1: + BuildAreaGlowTilemap(); + break; + case 2: + LZ77UnCompVram(gUnknown_083F8438, BG_CHAR_ADDR(3)); + break; + case 3: + DmaCopy16(3, ePokedexAreaScreen.unk0116, BG_SCREEN_ADDR(30), 0x500); + break; + case 4: + LoadPalette(gUnknown_083F8418, 0, 32); + break; + case 5: + REG_BG0CNT = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT256x256; + ePokedexAreaScreen.unk0114++; + return FALSE; + default: + return FALSE; + } + ePokedexAreaScreen.unk0114++; + return TRUE; +} + +void FindMapsWithMon(u16 mon) +{ + u16 i; + struct Roamer *roamer; + + if (mon != ROAMER_SPECIES) + { + ePokedexAreaScreen.unk0110 = 0; + ePokedexAreaScreen.unk0112 = 0; + for (i = 0; i < 1; i++) + { + if (gUnknown_083F856C[i] == mon) + return; + } + for (i = 0; gUnknown_083F856E[i][0] != NUM_SPECIES; i++) + { + if (mon == gUnknown_083F856E[i][0]) + { + switch (gUnknown_083F856E[i][1]) + { + case MAP_GROUP(PETALBURG_CITY): + SetAreaHasMon(gUnknown_083F856E[i][1], gUnknown_083F856E[i][2]); + break; + case MAP_GROUP(METEOR_FALLS_1F_1R): + case MAP_GROUP(SAFARI_ZONE_NORTHWEST): + SetSpecialMapHasMon(gUnknown_083F856E[i][1], gUnknown_083F856E[i][2]); + break; + } + } + } + for (i = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++) + { + if (MapHasMon(gWildMonHeaders + i, mon)) + { + switch (gWildMonHeaders[i].mapGroup) + { + case MAP_GROUP(PETALBURG_CITY): + SetAreaHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum); + break; + case MAP_GROUP(METEOR_FALLS_1F_1R): + case MAP_GROUP(SAFARI_ZONE_NORTHWEST): + SetSpecialMapHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum); + break; + } + } + } + } + else + { + ePokedexAreaScreen.unk0112 = 0; + roamer = &gSaveBlock1.roamer; + if (roamer->active) + { + GetRoamerLocation(&ePokedexAreaScreen.unk0010[0].mapGroup, &ePokedexAreaScreen.unk0010[0].mapNum); + ePokedexAreaScreen.unk0010[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(ePokedexAreaScreen.unk0010[0].mapGroup, ePokedexAreaScreen.unk0010[0].mapNum)->regionMapSectionId; + ePokedexAreaScreen.unk0110 = 1; + } + else + ePokedexAreaScreen.unk0110 = 0; + } +} + +void SetAreaHasMon(u16 mapGroup, u16 mapNum) +{ + if (ePokedexAreaScreen.unk0110 < 0x40) + { + ePokedexAreaScreen.unk0010[ePokedexAreaScreen.unk0110].mapGroup = mapGroup; + ePokedexAreaScreen.unk0010[ePokedexAreaScreen.unk0110].mapNum = mapNum; + ePokedexAreaScreen.unk0010[ePokedexAreaScreen.unk0110].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); + ePokedexAreaScreen.unk0110++; + } +} diff --git a/src/roamer.c b/src/roamer.c index 459082e42..57dd0745b 100644 --- a/src/roamer.c +++ b/src/roamer.c @@ -6,12 +6,6 @@ #include "region_map.h" #include "constants/species.h" -#ifdef SAPPHIRE -#define ROAMER_SPECIES SPECIES_LATIAS -#else -#define ROAMER_SPECIES SPECIES_LATIOS -#endif - enum { MAP_GRP = 0, // map group -- cgit v1.2.3 From 8ae002b3607fa2fbfe2aa7c6123bb2f9627c0c05 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 23 Apr 2018 20:32:10 -0400 Subject: through MonListHasMon --- src/pokedex_area_screen.c | 72 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 078ae556a..8a57ea99b 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -9,11 +9,13 @@ #include "task.h" #include "sprite.h" #include "region_map.h" +#include "region_map_sections.h" #include "string_util.h" #include "text.h" #include "wild_encounter.h" #include "roamer.h" #include "overworld.h" +#include "event_data.h" // Static type declarations @@ -36,7 +38,9 @@ struct PokedexAreaScreenEwramStruct u16 unk0112; u16 unk0114; u8 unk0116[0x500]; - u8 filler_0616[0xD2]; + u8 filler_0616[0x0A]; + u16 unk0620[0x20]; + u8 filler_0660[0x88]; struct RegionMap unk06E8; u8 unk0F68[16]; }; @@ -61,13 +65,14 @@ void sub_8110814(void (*func)(void)); void sub_8110824(void); bool8 DrawAreaGlow(void); void FindMapsWithMon(u16 mon); +void SetAreaHasMon(u16 mapGroup, u16 mapNum); +void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum); +bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon); +bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size); +void BuildAreaGlowTilemap(void); void sub_8111084(void); void sub_8111110(void); void sub_8111288(void); -void BuildAreaGlowTilemap(void); -bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon); -void SetAreaHasMon(u16 mapGroup, u16 mapNum); -void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum); // .rodata @@ -75,6 +80,7 @@ extern const u16 gUnknown_083F8418[]; extern const u8 gUnknown_083F8438[]; extern const u16 gUnknown_083F856C[]; extern const u16 gUnknown_083F856E[][3]; +extern const u16 gUnknown_083F857A[][2]; // .text @@ -266,3 +272,59 @@ void SetAreaHasMon(u16 mapGroup, u16 mapNum) ePokedexAreaScreen.unk0110++; } } + +void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) +{ + const struct MapHeader *mapHeader; + u16 i; + + if (ePokedexAreaScreen.unk0112 < 0x20) + { + mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); + if (mapHeader->regionMapSectionId < MAPSEC_Nothing) + { + for (i = 0; gUnknown_083F857A[i][0] != MAPSEC_Nothing; i++) + { + if (mapHeader->regionMapSectionId == gUnknown_083F857A[i][0] && !FlagGet(gUnknown_083F857A[i][1])) + return; + } + for (i = 0; i < ePokedexAreaScreen.unk0112; i++) + { + if (ePokedexAreaScreen.unk0620[i] == mapHeader->regionMapSectionId) + break; + } + if (i == ePokedexAreaScreen.unk0112) + { + ePokedexAreaScreen.unk0620[i] = mapHeader->regionMapSectionId; + ePokedexAreaScreen.unk0112++; + } + } + } +} + +bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon) +{ + if (MonListHasMon(header->landMonsInfo, mon, 12)) + return TRUE; + if (MonListHasMon(header->waterMonsInfo, mon, 5)) + return TRUE; + if (MonListHasMon(header->fishingMonsInfo, mon, 12)) + return TRUE; + if (MonListHasMon(header->rockSmashMonsInfo, mon, 5)) + return TRUE; + return FALSE; +} + +bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size) +{ + u16 i; + if (info != NULL) + { + for (i = 0; i < size; i++) + { + if (info->wildPokemon[i].species == mon) + return TRUE; + } + } + return FALSE; +} -- cgit v1.2.3 From e43d716b3edc723d882af3e18f8e50b0b5a3f61c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 23 Apr 2018 22:15:31 -0400 Subject: Nonmatching BuildAreaGlowTilemap --- src/pokedex_area_screen.c | 714 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 706 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 8a57ea99b..1e910b76c 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -37,7 +37,7 @@ struct PokedexAreaScreenEwramStruct u16 unk0110; u16 unk0112; u16 unk0114; - u8 unk0116[0x500]; + u16 unk0116[0x280]; u8 filler_0616[0x0A]; u16 unk0620[0x20]; u8 filler_0660[0x88]; @@ -49,13 +49,6 @@ struct PokedexAreaScreenEwramStruct // Static RAM declarations -EWRAM_DATA u16 gUnknown_02039260 = 0; -EWRAM_DATA u16 gUnknown_02039262 = 0; -EWRAM_DATA u16 gUnknown_02039264 = 0; -EWRAM_DATA u16 gUnknown_02039266 = 0; -EWRAM_DATA u16 gUnknown_02039268 = 0; -EWRAM_DATA u16 gUnknown_0203926A = 0; - // Static ROM declarations void CB2_UnusedPokedexAreaScreen(void); @@ -328,3 +321,708 @@ bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size) } return FALSE; } + +#ifdef NONMATCHING +void BuildAreaGlowTilemap(void) +{ + static EWRAM_DATA u16 gUnknown_02039260 = 0; + static EWRAM_DATA u16 gUnknown_02039262 = 0; + static EWRAM_DATA u16 gUnknown_02039264 = 0; + static EWRAM_DATA u16 gUnknown_02039266 = 0; + static EWRAM_DATA u16 gUnknown_02039268 = 0; + static EWRAM_DATA u16 gUnknown_0203926A = 0; + u32 r3; + + for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) + ePokedexAreaScreen.unk0116[gUnknown_02039260] = 0; + + for (gUnknown_02039260 = 0; gUnknown_02039260 < ePokedexAreaScreen.unk0110; gUnknown_02039260++) + { + gUnknown_02039266 = 0; + for (gUnknown_02039264 = 0; gUnknown_02039264 < 20; gUnknown_02039264++) + { + for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) + { + if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == ePokedexAreaScreen.unk0010[gUnknown_02039260].regionMapSectionId) + { + ePokedexAreaScreen.unk0116[gUnknown_02039266] = 0xFFFF; + } + gUnknown_02039266++; + } + } + } + + gUnknown_02039266 = 0; + for (gUnknown_02039264 = 0; gUnknown_02039264 < 20; gUnknown_02039264++) + { + for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) + { + if (ePokedexAreaScreen.unk0116[gUnknown_02039266] == 0xFFFF) + { + if (gUnknown_02039262 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 1] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 - 1] |= 0x02; + if (gUnknown_02039262 != 31 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 1] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 + 1] |= 0x01; + if (gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 32] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 - 32] |= 0x08; + if (gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 32] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 + 32] |= 0x04; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 33] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 - 33] |= 0x10; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 31] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 - 31] |= 0x40; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 31] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 + 31] |= 0x20; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 33] != 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039266 + 33] |= 0x80; + } + gUnknown_02039266++; + } + } + + for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) // Register difference on induction: expected r3, got r1 + { + if (ePokedexAreaScreen.unk0116[gUnknown_02039260] == 0xFFFF) + ePokedexAreaScreen.unk0116[gUnknown_02039260] = 0x10; + else if (ePokedexAreaScreen.unk0116[gUnknown_02039260] != 0) + { + if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x02) + ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFFCF; + if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x01) + ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFF3F; + if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x08) + ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFFAF; + if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x04) + ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFF5F; + gUnknown_02039268 = ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x0F; + gUnknown_0203926A = ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0xF0; + if (gUnknown_0203926A) + { + ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0x0F; + switch (gUnknown_02039268) + { + case 0: + if (gUnknown_0203926A != 0) + ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10; + break; + case 2: + if (gUnknown_0203926A != 0) + ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E; + break; + case 1: + if (gUnknown_0203926A != 0) + ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20; + break; + case 8: + if (gUnknown_0203926A != 0) + { + r3 = 0; + if (gUnknown_0203926A & 0x80) + r3 |= 1; + if (gUnknown_0203926A & 0x20) + r3 |= 2; + ePokedexAreaScreen.unk0116[gUnknown_02039260] += r3 + 0x20; + } + break; + case 4: + if (gUnknown_0203926A != 0) + { + r3 = 0; + if (gUnknown_0203926A & 0x40) + r3 |= 1; + if (gUnknown_0203926A & 0x10) + r3 |= 2; + ePokedexAreaScreen.unk0116[gUnknown_02039260] += r3 + 0x21; + } + break; + case 5: + case 6: + ePokedexAreaScreen.unk0116[gUnknown_02039260] += 0x27; + break; + case 9: + case 10: + ePokedexAreaScreen.unk0116[gUnknown_02039260] += 0x25; + break; + } + } + } + } +} +# else +EWRAM_DATA u16 gUnknown_02039260 = 0; +EWRAM_DATA u16 gUnknown_02039262 = 0; +EWRAM_DATA u16 gUnknown_02039264 = 0; +EWRAM_DATA u16 gUnknown_02039266 = 0; +EWRAM_DATA u16 gUnknown_02039268 = 0; +EWRAM_DATA u16 gUnknown_0203926A = 0; +NAKED void BuildAreaGlowTilemap(void) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0xC\n" + "\tldr r1, _08110E5C @ =gUnknown_02039260\n" + "\tmovs r0, 0\n" + "\tstrh r0, [r1]\n" + "\tmov r9, r1\n" + "\tldr r0, _08110E60 @ =gSharedMem\n" + "\tmov r8, r0\n" + "\tldr r1, _08110E64 @ =gUnknown_02039262\n" + "\tmov r12, r1\n" + "\tmov r1, r9\n" + "\tmovs r4, 0x8B\n" + "\tlsls r4, 1\n" + "\tadd r4, r8\n" + "\tldr r3, _08110E68 @ =0x0000027f\n" + "\tmovs r2, 0\n" + "_08110C5C:\n" + "\tldrh r0, [r1]\n" + "\tlsls r0, 1\n" + "\tadds r0, r4\n" + "\tstrh r2, [r0]\n" + "\tldrh r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r1]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, r3\n" + "\tbls _08110C5C\n" + "\tmovs r0, 0\n" + "\tmov r3, r9\n" + "\tstrh r0, [r3]\n" + "\tmovs r1, 0x88\n" + "\tlsls r1, 1\n" + "\tadd r1, r8\n" + "\tldrh r0, [r1]\n" + "\tcmp r0, 0\n" + "\tbeq _08110D04\n" + "\tldr r4, _08110E6C @ =gUnknown_02039266\n" + "\tmovs r2, 0\n" + "\tldr r5, _08110E64 @ =gUnknown_02039262\n" + "\tmov r0, r8\n" + "\tstr r0, [sp, 0x8]\n" + "\tmovs r1, 0x8B\n" + "\tlsls r1, 1\n" + "\tadd r1, r8\n" + "\tmov r10, r1\n" + "\tldr r6, _08110E70 @ =gUnknown_02039264\n" + "\tmov r7, r9\n" + "_08110C9A:\n" + "\tstrh r2, [r4]\n" + "\tldr r3, _08110E70 @ =gUnknown_02039264\n" + "\tstrh r2, [r3]\n" + "_08110CA0:\n" + "\tmov r0, r12\n" + "\tstrh r2, [r0]\n" + "_08110CA4:\n" + "\tldrh r0, [r5]\n" + "\tldrh r1, [r6]\n" + "\tstr r2, [sp]\n" + "\tbl GetRegionMapSectionAt_\n" + "\tldrh r1, [r7]\n" + "\tlsls r1, 2\n" + "\tldr r3, [sp, 0x8]\n" + "\tadds r1, r3\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r2, [sp]\n" + "\tldrh r1, [r1, 0x12]\n" + "\tcmp r0, r1\n" + "\tbne _08110CCC\n" + "\tldrh r0, [r4]\n" + "\tlsls r0, 1\n" + "\tadd r0, r10\n" + "\tldr r1, _08110E74 @ =0x0000ffff\n" + "\tstrh r1, [r0]\n" + "_08110CCC:\n" + "\tldrh r0, [r4]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r4]\n" + "\tldrh r0, [r5]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r5]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, 0x1F\n" + "\tbls _08110CA4\n" + "\tldrh r0, [r6]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r6]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r1, _08110E64 @ =gUnknown_02039262\n" + "\tmov r12, r1\n" + "\tcmp r0, 0x13\n" + "\tbls _08110CA0\n" + "\tldrh r0, [r7]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r7]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r3, _08110E78 @ =gSharedMem + 0x110\n" + "\tldrh r3, [r3]\n" + "\tcmp r0, r3\n" + "\tbcc _08110C9A\n" + "_08110D04:\n" + "\tmovs r0, 0\n" + "\tldr r1, _08110E6C @ =gUnknown_02039266\n" + "\tstrh r0, [r1]\n" + "\tldr r3, _08110E70 @ =gUnknown_02039264\n" + "\tstrh r0, [r3]\n" + "\tldr r6, _08110E64 @ =gUnknown_02039262\n" + "\tmov r10, r0\n" + "\tadds r3, r1, 0\n" + "\tldr r5, _08110E7C @ =gSharedMem + 0x116\n" + "\tldr r4, _08110E74 @ =0x0000ffff\n" + "\tldr r7, _08110E70 @ =gUnknown_02039264\n" + "_08110D1A:\n" + "\tmov r0, r10\n" + "\tstrh r0, [r6]\n" + "_08110D1E:\n" + "\tldrh r1, [r3]\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r5\n" + "\tldrh r0, [r0]\n" + "\tcmp r0, r4\n" + "\tbne _08110E10\n" + "\tldrh r0, [r6]\n" + "\tcmp r0, 0\n" + "\tbeq _08110D42\n" + "\tsubs r0, r1, 0x1\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110D42\n" + "\tmovs r0, 0x2\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110D42:\n" + "\tldrh r0, [r6]\n" + "\tcmp r0, 0x1F\n" + "\tbeq _08110D5C\n" + "\tldrh r0, [r3]\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110D5C\n" + "\tmovs r0, 0x1\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110D5C:\n" + "\tldrh r0, [r7]\n" + "\tcmp r0, 0\n" + "\tbeq _08110D76\n" + "\tldrh r0, [r3]\n" + "\tsubs r0, 0x20\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110D76\n" + "\tmovs r0, 0x8\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110D76:\n" + "\tldrh r0, [r7]\n" + "\tcmp r0, 0x13\n" + "\tbeq _08110D90\n" + "\tldrh r0, [r3]\n" + "\tadds r0, 0x20\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110D90\n" + "\tmovs r0, 0x4\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110D90:\n" + "\tldrh r0, [r6]\n" + "\tcmp r0, 0\n" + "\tbeq _08110DB0\n" + "\tldrh r0, [r7]\n" + "\tcmp r0, 0\n" + "\tbeq _08110DB0\n" + "\tldrh r0, [r3]\n" + "\tsubs r0, 0x21\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110DB0\n" + "\tmovs r0, 0x10\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110DB0:\n" + "\tldrh r0, [r6]\n" + "\tcmp r0, 0x1F\n" + "\tbeq _08110DD0\n" + "\tldrh r0, [r7]\n" + "\tcmp r0, 0\n" + "\tbeq _08110DD0\n" + "\tldrh r0, [r3]\n" + "\tsubs r0, 0x1F\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110DD0\n" + "\tmovs r0, 0x40\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110DD0:\n" + "\tldrh r0, [r6]\n" + "\tcmp r0, 0\n" + "\tbeq _08110DF0\n" + "\tldrh r0, [r7]\n" + "\tcmp r0, 0x13\n" + "\tbeq _08110DF0\n" + "\tldrh r0, [r3]\n" + "\tadds r0, 0x1F\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110DF0\n" + "\tmovs r0, 0x20\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110DF0:\n" + "\tldrh r0, [r6]\n" + "\tcmp r0, 0x1F\n" + "\tbeq _08110E10\n" + "\tldrh r0, [r7]\n" + "\tcmp r0, 0x13\n" + "\tbeq _08110E10\n" + "\tldrh r0, [r3]\n" + "\tadds r0, 0x21\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r5\n" + "\tldrh r1, [r2]\n" + "\tcmp r1, r4\n" + "\tbeq _08110E10\n" + "\tmovs r0, 0x80\n" + "\torrs r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110E10:\n" + "\tldrh r0, [r3]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r3]\n" + "\tldrh r0, [r6]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r6]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, 0x1F\n" + "\tbhi _08110E26\n" + "\tb _08110D1E\n" + "_08110E26:\n" + "\tldrh r0, [r7]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r7]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tcmp r0, 0x13\n" + "\tbhi _08110E36\n" + "\tb _08110D1A\n" + "_08110E36:\n" + "\tmovs r0, 0\n" + "\tmov r1, r9\n" + "\tstrh r0, [r1]\n" + "_08110E3C:\n" + "\tmov r3, r9\n" + "\tldrh r0, [r3]\n" + "\tlsls r0, 1\n" + "\tmovs r4, 0x8B\n" + "\tlsls r4, 1\n" + "\tadd r4, r8\n" + "\tadds r3, r0, r4\n" + "\tldrh r2, [r3]\n" + "\tadds r1, r2, 0\n" + "\tldr r0, _08110E74 @ =0x0000ffff\n" + "\tcmp r1, r0\n" + "\tbne _08110E80\n" + "\tmovs r0, 0x10\n" + "\tstrh r0, [r3]\n" + "\tb _0811105E\n" + "\t.align 2, 0\n" + "_08110E5C: .4byte gUnknown_02039260\n" + "_08110E60: .4byte gSharedMem\n" + "_08110E64: .4byte gUnknown_02039262\n" + "_08110E68: .4byte 0x0000027f\n" + "_08110E6C: .4byte gUnknown_02039266\n" + "_08110E70: .4byte gUnknown_02039264\n" + "_08110E74: .4byte 0x0000ffff\n" + "_08110E78: .4byte gSharedMem + 0x110\n" + "_08110E7C: .4byte gSharedMem + 0x116\n" + "_08110E80:\n" + "\tcmp r1, 0\n" + "\tbne _08110E86\n" + "\tb _0811105E\n" + "_08110E86:\n" + "\tmovs r0, 0x2\n" + "\tands r0, r2\n" + "\tcmp r0, 0\n" + "\tbeq _08110E94\n" + "\tldr r0, _08110F28 @ =0x0000ffcf\n" + "\tands r0, r2\n" + "\tstrh r0, [r3]\n" + "_08110E94:\n" + "\tmov r1, r9\n" + "\tldrh r0, [r1]\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r4\n" + "\tldrh r1, [r2]\n" + "\tmovs r0, 0x1\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _08110EAC\n" + "\tldr r0, _08110F2C @ =0x0000ff3f\n" + "\tands r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110EAC:\n" + "\tmov r3, r9\n" + "\tldrh r0, [r3]\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r4\n" + "\tldrh r1, [r2]\n" + "\tmovs r0, 0x8\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _08110EC4\n" + "\tldr r0, _08110F30 @ =0x0000ffaf\n" + "\tands r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110EC4:\n" + "\tmov r1, r9\n" + "\tldrh r0, [r1]\n" + "\tlsls r0, 1\n" + "\tadds r2, r0, r4\n" + "\tldrh r1, [r2]\n" + "\tmovs r0, 0x4\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _08110EDC\n" + "\tldr r0, _08110F34 @ =0x0000ff5f\n" + "\tands r0, r1\n" + "\tstrh r0, [r2]\n" + "_08110EDC:\n" + "\tldr r6, _08110F38 @ =gUnknown_02039268\n" + "\tmov r3, r9\n" + "\tldrh r0, [r3]\n" + "\tlsls r0, 1\n" + "\tadds r0, r4\n" + "\tldrh r1, [r0]\n" + "\tmovs r5, 0xF\n" + "\tadds r0, r5, 0\n" + "\tands r0, r1\n" + "\tstrh r0, [r6]\n" + "\tldr r2, _08110F3C @ =gUnknown_0203926A\n" + "\tldrh r0, [r3]\n" + "\tlsls r0, 1\n" + "\tadds r0, r4\n" + "\tldrh r1, [r0]\n" + "\tmovs r0, 0xF0\n" + "\tands r0, r1\n" + "\tstrh r0, [r2]\n" + "\tldrh r1, [r3]\n" + "\tadds r3, r2, 0\n" + "\tcmp r0, 0\n" + "\tbne _08110F0A\n" + "\tb _0811105E\n" + "_08110F0A:\n" + "\tlsls r0, r1, 1\n" + "\tadds r0, r4\n" + "\tldrh r2, [r0]\n" + "\tadds r1, r5, 0\n" + "\tands r1, r2\n" + "\tstrh r1, [r0]\n" + "\tldrh r0, [r6]\n" + "\tcmp r0, 0xA\n" + "\tbls _08110F1E\n" + "\tb _0811105E\n" + "_08110F1E:\n" + "\tlsls r0, 2\n" + "\tldr r1, _08110F40 @ =_08110F44\n" + "\tadds r0, r1\n" + "\tldr r0, [r0]\n" + "\tmov pc, r0\n" + "\t.align 2, 0\n" + "_08110F28: .4byte 0x0000ffcf\n" + "_08110F2C: .4byte 0x0000ff3f\n" + "_08110F30: .4byte 0x0000ffaf\n" + "_08110F34: .4byte 0x0000ff5f\n" + "_08110F38: .4byte gUnknown_02039268\n" + "_08110F3C: .4byte gUnknown_0203926A\n" + "_08110F40: .4byte _08110F44\n" + "\t.align 2, 0\n" + "_08110F44:\n" + "\t.4byte _08110F70\n" + "\t.4byte _08110FAC\n" + "\t.4byte _08110F8E\n" + "\t.4byte _0811105E\n" + "\t.4byte _08111002\n" + "\t.4byte _08111036\n" + "\t.4byte _08111036\n" + "\t.4byte _0811105E\n" + "\t.4byte _08110FCE\n" + "\t.4byte _0811104A\n" + "\t.4byte _0811104A\n" + "_08110F70:\n" + "\tldrh r0, [r3]\n" + "\tlsls r1, r0, 16\n" + "\tcmp r1, 0\n" + "\tbeq _0811105E\n" + "\tmov r0, r9\n" + "\tldrh r2, [r0]\n" + "\tlsls r2, 1\n" + "\tmovs r0, 0x8B\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r2, r0\n" + "\tldrh r0, [r2]\n" + "\tadds r0, 0x10\n" + "\tlsrs r1, 20\n" + "\tb _08110FC8\n" + "_08110F8E:\n" + "\tldrh r0, [r3]\n" + "\tlsls r1, r0, 16\n" + "\tcmp r1, 0\n" + "\tbeq _0811105E\n" + "\tmov r3, r9\n" + "\tldrh r2, [r3]\n" + "\tlsls r2, 1\n" + "\tmovs r0, 0x8B\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r2, r0\n" + "\tldrh r0, [r2]\n" + "\tadds r0, 0x1E\n" + "\tlsrs r1, 20\n" + "\tb _08110FC8\n" + "_08110FAC:\n" + "\tldrh r0, [r3]\n" + "\tlsls r1, r0, 16\n" + "\tcmp r1, 0\n" + "\tbeq _0811105E\n" + "\tmov r0, r9\n" + "\tldrh r2, [r0]\n" + "\tlsls r2, 1\n" + "\tmovs r0, 0x8B\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r2, r0\n" + "\tldrh r0, [r2]\n" + "\tadds r0, 0x20\n" + "\tlsrs r1, 22\n" + "_08110FC8:\n" + "\tadds r0, r1\n" + "\tstrh r0, [r2]\n" + "\tb _0811105E\n" + "_08110FCE:\n" + "\tldrh r2, [r3]\n" + "\tcmp r2, 0\n" + "\tbeq _0811105E\n" + "\tmovs r0, 0x80\n" + "\tands r0, r2\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tnegs r0, r0\n" + "\tlsrs r3, r0, 31\n" + "\tmovs r0, 0x20\n" + "\tands r0, r2\n" + "\tcmp r0, 0\n" + "\tbeq _08110FEC\n" + "\tmovs r0, 0x2\n" + "\torrs r3, r0\n" + "_08110FEC:\n" + "\tmov r0, r9\n" + "\tldrh r1, [r0]\n" + "\tlsls r1, 1\n" + "\tmovs r0, 0x8B\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r1, r0\n" + "\tldrh r0, [r1]\n" + "\tadds r0, 0x20\n" + "\tadds r0, r3\n" + "\tb _0811105C\n" + "_08111002:\n" + "\tldrh r2, [r3]\n" + "\tcmp r2, 0\n" + "\tbeq _0811105E\n" + "\tmovs r0, 0x40\n" + "\tands r0, r2\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tnegs r0, r0\n" + "\tlsrs r3, r0, 31\n" + "\tmovs r0, 0x10\n" + "\tands r0, r2\n" + "\tcmp r0, 0\n" + "\tbeq _08111020\n" + "\tmovs r0, 0x2\n" + "\torrs r3, r0\n" + "_08111020:\n" + "\tmov r0, r9\n" + "\tldrh r1, [r0]\n" + "\tlsls r1, 1\n" + "\tmovs r0, 0x8B\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r1, r0\n" + "\tldrh r0, [r1]\n" + "\tadds r0, 0x21\n" + "\tadds r0, r3\n" + "\tb _0811105C\n" + "_08111036:\n" + "\tmov r3, r9\n" + "\tldrh r1, [r3]\n" + "\tlsls r1, 1\n" + "\tmovs r0, 0x8B\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r1, r0\n" + "\tldrh r0, [r1]\n" + "\tadds r0, 0x27\n" + "\tb _0811105C\n" + "_0811104A:\n" + "\tmov r0, r9\n" + "\tldrh r1, [r0]\n" + "\tlsls r1, 1\n" + "\tmovs r0, 0x8B\n" + "\tlsls r0, 1\n" + "\tadd r0, r8\n" + "\tadds r1, r0\n" + "\tldrh r0, [r1]\n" + "\tadds r0, 0x25\n" + "_0811105C:\n" + "\tstrh r0, [r1]\n" + "_0811105E:\n" + "\tmov r3, r9\n" + "\tldrh r0, [r3]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r3]\n" + "\tlsls r0, 16\n" + "\tldr r1, _08111080 @ =0x027f0000\n" + "\tcmp r0, r1\n" + "\tbhi _08111070\n" + "\tb _08110E3C\n" + "_08111070:\n" + "\tadd sp, 0xC\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08111080: .4byte 0x027f0000"); +} +#endif // NONMATCHING -- cgit v1.2.3 From 33bb43db0de5d7d60ab8eff6db0ac305d403474f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 23 Apr 2018 23:00:25 -0400 Subject: Decompile some data objects --- src/pokedex_area_screen.c | 171 +++++++++++++++++++++++++--------------------- 1 file changed, 92 insertions(+), 79 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 1e910b76c..b42477a79 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -69,19 +69,32 @@ void sub_8111288(void); // .rodata -extern const u16 gUnknown_083F8418[]; -extern const u8 gUnknown_083F8438[]; -extern const u16 gUnknown_083F856C[]; -extern const u16 gUnknown_083F856E[][3]; -extern const u16 gUnknown_083F857A[][2]; +const u16 gUnknown_083F8418[] = INCBIN_U16("graphics/pokedex/area_glow.gbapal"); + +const u8 gUnknown_083F8438[] = INCBIN_U8("graphics/pokedex/area_glow.4bpp.lz"); + +const u16 gUnknown_083F856C[] = {SPECIES_WYNAUT}; + +const u16 gUnknown_083F856E[][3] = { + {SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)}, + {NUM_SPECIES} +}; + +const u16 gUnknown_083F857A[][2] = { + {MAPSEC_SkyPillar, FLAG_LANDMARK_SKY_PILLAR}, + {MAPSEC_SeafloorCavern, FLAG_LANDMARK_SEAFLOOR_CAVERN}, + {MAPSEC_Nothing} +}; + +struct PokedexAreaScreenEwramStruct *const gUnknown_083F8588 = &ePokedexAreaScreen; // .text void UnusedPokedexAreaScreen(u16 a0, u32 a1, u32 a2) { - ePokedexAreaScreen.unk0004 = a1; - ePokedexAreaScreen.unk0008 = a2; - ePokedexAreaScreen.unk000E = a0; + gUnknown_083F8588->unk0004 = a1; + gUnknown_083F8588->unk0008 = a2; + gUnknown_083F8588->unk000E = a0; SetMainCallback2(CB2_UnusedPokedexAreaScreen); } @@ -105,8 +118,8 @@ void CB2_UnusedPokedexAreaScreen(void) REG_BG3VOFS = 0; break; case 1: - InitRegionMap(&ePokedexAreaScreen.unk06E8, FALSE); - StringFill(ePokedexAreaScreen.unk0F68, CHAR_SPACE, 16); + InitRegionMap(&gUnknown_083F8588->unk06E8, FALSE); + StringFill(gUnknown_083F8588->unk0F68, CHAR_SPACE, 16); break; case 2: sub_8110824(); @@ -145,7 +158,7 @@ void sub_81107DC(void) void sub_81107F0(void) { - ePokedexAreaScreen.unk0000(); + gUnknown_083F8588->unk0000(); sub_8111110(); AnimateSprites(); BuildOamBuffer(); @@ -154,21 +167,21 @@ void sub_81107F0(void) void sub_8110814(void (*func)(void)) { - ePokedexAreaScreen.unk0000 = func; - ePokedexAreaScreen.unk000C = 0; + gUnknown_083F8588->unk0000 = func; + gUnknown_083F8588->unk000C = 0; } void sub_8110824(void) { - ePokedexAreaScreen.unk0114 = 0; + gUnknown_083F8588->unk0114 = 0; } bool8 DrawAreaGlow(void) { - switch (ePokedexAreaScreen.unk0114) + switch (gUnknown_083F8588->unk0114) { case 0: - FindMapsWithMon(ePokedexAreaScreen.unk000E); + FindMapsWithMon(gUnknown_083F8588->unk000E); break; case 1: BuildAreaGlowTilemap(); @@ -177,19 +190,19 @@ bool8 DrawAreaGlow(void) LZ77UnCompVram(gUnknown_083F8438, BG_CHAR_ADDR(3)); break; case 3: - DmaCopy16(3, ePokedexAreaScreen.unk0116, BG_SCREEN_ADDR(30), 0x500); + DmaCopy16(3, gUnknown_083F8588->unk0116, BG_SCREEN_ADDR(30), 0x500); break; case 4: LoadPalette(gUnknown_083F8418, 0, 32); break; case 5: REG_BG0CNT = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT256x256; - ePokedexAreaScreen.unk0114++; + gUnknown_083F8588->unk0114++; return FALSE; default: return FALSE; } - ePokedexAreaScreen.unk0114++; + gUnknown_083F8588->unk0114++; return TRUE; } @@ -200,8 +213,8 @@ void FindMapsWithMon(u16 mon) if (mon != ROAMER_SPECIES) { - ePokedexAreaScreen.unk0110 = 0; - ePokedexAreaScreen.unk0112 = 0; + gUnknown_083F8588->unk0110 = 0; + gUnknown_083F8588->unk0112 = 0; for (i = 0; i < 1; i++) { if (gUnknown_083F856C[i] == mon) @@ -242,27 +255,27 @@ void FindMapsWithMon(u16 mon) } else { - ePokedexAreaScreen.unk0112 = 0; + gUnknown_083F8588->unk0112 = 0; roamer = &gSaveBlock1.roamer; if (roamer->active) { - GetRoamerLocation(&ePokedexAreaScreen.unk0010[0].mapGroup, &ePokedexAreaScreen.unk0010[0].mapNum); - ePokedexAreaScreen.unk0010[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(ePokedexAreaScreen.unk0010[0].mapGroup, ePokedexAreaScreen.unk0010[0].mapNum)->regionMapSectionId; - ePokedexAreaScreen.unk0110 = 1; + GetRoamerLocation(&gUnknown_083F8588->unk0010[0].mapGroup, &gUnknown_083F8588->unk0010[0].mapNum); + gUnknown_083F8588->unk0010[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(gUnknown_083F8588->unk0010[0].mapGroup, gUnknown_083F8588->unk0010[0].mapNum)->regionMapSectionId; + gUnknown_083F8588->unk0110 = 1; } else - ePokedexAreaScreen.unk0110 = 0; + gUnknown_083F8588->unk0110 = 0; } } void SetAreaHasMon(u16 mapGroup, u16 mapNum) { - if (ePokedexAreaScreen.unk0110 < 0x40) + if (gUnknown_083F8588->unk0110 < 0x40) { - ePokedexAreaScreen.unk0010[ePokedexAreaScreen.unk0110].mapGroup = mapGroup; - ePokedexAreaScreen.unk0010[ePokedexAreaScreen.unk0110].mapNum = mapNum; - ePokedexAreaScreen.unk0010[ePokedexAreaScreen.unk0110].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); - ePokedexAreaScreen.unk0110++; + gUnknown_083F8588->unk0010[gUnknown_083F8588->unk0110].mapGroup = mapGroup; + gUnknown_083F8588->unk0010[gUnknown_083F8588->unk0110].mapNum = mapNum; + gUnknown_083F8588->unk0010[gUnknown_083F8588->unk0110].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); + gUnknown_083F8588->unk0110++; } } @@ -271,7 +284,7 @@ void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) const struct MapHeader *mapHeader; u16 i; - if (ePokedexAreaScreen.unk0112 < 0x20) + if (gUnknown_083F8588->unk0112 < 0x20) { mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); if (mapHeader->regionMapSectionId < MAPSEC_Nothing) @@ -281,15 +294,15 @@ void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) if (mapHeader->regionMapSectionId == gUnknown_083F857A[i][0] && !FlagGet(gUnknown_083F857A[i][1])) return; } - for (i = 0; i < ePokedexAreaScreen.unk0112; i++) + for (i = 0; i < gUnknown_083F8588->unk0112; i++) { - if (ePokedexAreaScreen.unk0620[i] == mapHeader->regionMapSectionId) + if (gUnknown_083F8588->unk0620[i] == mapHeader->regionMapSectionId) break; } - if (i == ePokedexAreaScreen.unk0112) + if (i == gUnknown_083F8588->unk0112) { - ePokedexAreaScreen.unk0620[i] = mapHeader->regionMapSectionId; - ePokedexAreaScreen.unk0112++; + gUnknown_083F8588->unk0620[i] = mapHeader->regionMapSectionId; + gUnknown_083F8588->unk0112++; } } } @@ -334,18 +347,18 @@ void BuildAreaGlowTilemap(void) u32 r3; for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) - ePokedexAreaScreen.unk0116[gUnknown_02039260] = 0; + gUnknown_083F8588->unk0116[gUnknown_02039260] = 0; - for (gUnknown_02039260 = 0; gUnknown_02039260 < ePokedexAreaScreen.unk0110; gUnknown_02039260++) + for (gUnknown_02039260 = 0; gUnknown_02039260 < gUnknown_083F8588->unk0110; gUnknown_02039260++) { gUnknown_02039266 = 0; for (gUnknown_02039264 = 0; gUnknown_02039264 < 20; gUnknown_02039264++) { for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) { - if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == ePokedexAreaScreen.unk0010[gUnknown_02039260].regionMapSectionId) + if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == gUnknown_083F8588->unk0010[gUnknown_02039260].regionMapSectionId) { - ePokedexAreaScreen.unk0116[gUnknown_02039266] = 0xFFFF; + gUnknown_083F8588->unk0116[gUnknown_02039266] = 0xFFFF; } gUnknown_02039266++; } @@ -357,24 +370,24 @@ void BuildAreaGlowTilemap(void) { for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) { - if (ePokedexAreaScreen.unk0116[gUnknown_02039266] == 0xFFFF) + if (gUnknown_083F8588->unk0116[gUnknown_02039266] == 0xFFFF) { - if (gUnknown_02039262 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 1] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 - 1] |= 0x02; - if (gUnknown_02039262 != 31 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 1] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 + 1] |= 0x01; - if (gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 32] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 - 32] |= 0x08; - if (gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 32] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 + 32] |= 0x04; - if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 33] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 - 33] |= 0x10; - if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && ePokedexAreaScreen.unk0116[gUnknown_02039266 - 31] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 - 31] |= 0x40; - if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 31] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 + 31] |= 0x20; - if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && ePokedexAreaScreen.unk0116[gUnknown_02039266 + 33] != 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039266 + 33] |= 0x80; + if (gUnknown_02039262 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 1] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 - 1] |= 0x02; + if (gUnknown_02039262 != 31 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 1] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 + 1] |= 0x01; + if (gUnknown_02039264 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 32] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 - 32] |= 0x08; + if (gUnknown_02039264 != 19 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 32] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 + 32] |= 0x04; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 33] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 - 33] |= 0x10; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 31] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 - 31] |= 0x40; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 31] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 + 31] |= 0x20; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 33] != 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039266 + 33] |= 0x80; } gUnknown_02039266++; } @@ -382,36 +395,36 @@ void BuildAreaGlowTilemap(void) for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) // Register difference on induction: expected r3, got r1 { - if (ePokedexAreaScreen.unk0116[gUnknown_02039260] == 0xFFFF) - ePokedexAreaScreen.unk0116[gUnknown_02039260] = 0x10; - else if (ePokedexAreaScreen.unk0116[gUnknown_02039260] != 0) + if (gUnknown_083F8588->unk0116[gUnknown_02039260] == 0xFFFF) + gUnknown_083F8588->unk0116[gUnknown_02039260] = 0x10; + else if (gUnknown_083F8588->unk0116[gUnknown_02039260] != 0) { - if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x02) - ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFFCF; - if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x01) - ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFF3F; - if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x08) - ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFFAF; - if (ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x04) - ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0xFF5F; - gUnknown_02039268 = ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0x0F; - gUnknown_0203926A = ePokedexAreaScreen.unk0116[gUnknown_02039260] & 0xF0; + if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x02) + gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFFCF; + if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x01) + gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFF3F; + if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x08) + gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFFAF; + if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x04) + gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFF5F; + gUnknown_02039268 = gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x0F; + gUnknown_0203926A = gUnknown_083F8588->unk0116[gUnknown_02039260] & 0xF0; if (gUnknown_0203926A) { - ePokedexAreaScreen.unk0116[gUnknown_02039260] &= 0x0F; + gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0x0F; switch (gUnknown_02039268) { case 0: if (gUnknown_0203926A != 0) - ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10; + gUnknown_083F8588->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10; break; case 2: if (gUnknown_0203926A != 0) - ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E; + gUnknown_083F8588->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E; break; case 1: if (gUnknown_0203926A != 0) - ePokedexAreaScreen.unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20; + gUnknown_083F8588->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20; break; case 8: if (gUnknown_0203926A != 0) @@ -421,7 +434,7 @@ void BuildAreaGlowTilemap(void) r3 |= 1; if (gUnknown_0203926A & 0x20) r3 |= 2; - ePokedexAreaScreen.unk0116[gUnknown_02039260] += r3 + 0x20; + gUnknown_083F8588->unk0116[gUnknown_02039260] += r3 + 0x20; } break; case 4: @@ -432,16 +445,16 @@ void BuildAreaGlowTilemap(void) r3 |= 1; if (gUnknown_0203926A & 0x10) r3 |= 2; - ePokedexAreaScreen.unk0116[gUnknown_02039260] += r3 + 0x21; + gUnknown_083F8588->unk0116[gUnknown_02039260] += r3 + 0x21; } break; case 5: case 6: - ePokedexAreaScreen.unk0116[gUnknown_02039260] += 0x27; + gUnknown_083F8588->unk0116[gUnknown_02039260] += 0x27; break; case 9: case 10: - ePokedexAreaScreen.unk0116[gUnknown_02039260] += 0x25; + gUnknown_083F8588->unk0116[gUnknown_02039260] += 0x25; break; } } -- cgit v1.2.3 From a5a8d5d04a7d5186aa1dcb1a8db1df3be5214016 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 23 Apr 2018 23:48:39 -0400 Subject: through sub_8111360 --- src/pokedex_area_screen.c | 307 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 227 insertions(+), 80 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index b42477a79..d5ca06395 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -16,6 +16,7 @@ #include "roamer.h" #include "overworld.h" #include "event_data.h" +#include "trig.h" // Static type declarations @@ -29,8 +30,8 @@ struct PokedexAreaScreenSubstruct0010 struct PokedexAreaScreenEwramStruct { void (*unk0000)(void); - u32 unk0004; - u32 unk0008; + MainCallback unk0004; + MainCallback unk0008; u16 unk000C; u16 unk000E; struct PokedexAreaScreenSubstruct0010 unk0010[0x40]; @@ -38,11 +39,19 @@ struct PokedexAreaScreenEwramStruct u16 unk0112; u16 unk0114; u16 unk0116[0x280]; - u8 filler_0616[0x0A]; + u16 unk0616; + u16 unk0618; + u16 unk061A; + u16 unk061C; + u8 unk061E; + u8 unk061F; u16 unk0620[0x20]; - u8 filler_0660[0x88]; + struct Sprite * unk0660[0x20]; + u8 filler_06E0[8]; struct RegionMap unk06E8; u8 unk0F68[16]; + u8 filler_0F78[0x3C]; + u8 unk0FB4[0x600]; }; #define ePokedexAreaScreen (*(struct PokedexAreaScreenEwramStruct *)gSharedMem) @@ -66,6 +75,9 @@ void BuildAreaGlowTilemap(void); void sub_8111084(void); void sub_8111110(void); void sub_8111288(void); +void sub_81112BC(void); +void sub_8111314(void); +void sub_8111360(void); // .rodata @@ -86,15 +98,15 @@ const u16 gUnknown_083F857A[][2] = { {MAPSEC_Nothing} }; -struct PokedexAreaScreenEwramStruct *const gUnknown_083F8588 = &ePokedexAreaScreen; +struct PokedexAreaScreenEwramStruct *const gPokedexAreaScreenPtr = &ePokedexAreaScreen; // .text -void UnusedPokedexAreaScreen(u16 a0, u32 a1, u32 a2) +void UnusedPokedexAreaScreen(u16 a0, MainCallback a1, MainCallback a2) { - gUnknown_083F8588->unk0004 = a1; - gUnknown_083F8588->unk0008 = a2; - gUnknown_083F8588->unk000E = a0; + gPokedexAreaScreenPtr->unk0004 = a1; + gPokedexAreaScreenPtr->unk0008 = a2; + gPokedexAreaScreenPtr->unk000E = a0; SetMainCallback2(CB2_UnusedPokedexAreaScreen); } @@ -118,8 +130,8 @@ void CB2_UnusedPokedexAreaScreen(void) REG_BG3VOFS = 0; break; case 1: - InitRegionMap(&gUnknown_083F8588->unk06E8, FALSE); - StringFill(gUnknown_083F8588->unk0F68, CHAR_SPACE, 16); + InitRegionMap(&gPokedexAreaScreenPtr->unk06E8, FALSE); + StringFill(gPokedexAreaScreenPtr->unk0F68, CHAR_SPACE, 16); break; case 2: sub_8110824(); @@ -158,7 +170,7 @@ void sub_81107DC(void) void sub_81107F0(void) { - gUnknown_083F8588->unk0000(); + gPokedexAreaScreenPtr->unk0000(); sub_8111110(); AnimateSprites(); BuildOamBuffer(); @@ -167,21 +179,21 @@ void sub_81107F0(void) void sub_8110814(void (*func)(void)) { - gUnknown_083F8588->unk0000 = func; - gUnknown_083F8588->unk000C = 0; + gPokedexAreaScreenPtr->unk0000 = func; + gPokedexAreaScreenPtr->unk000C = 0; } void sub_8110824(void) { - gUnknown_083F8588->unk0114 = 0; + gPokedexAreaScreenPtr->unk0114 = 0; } bool8 DrawAreaGlow(void) { - switch (gUnknown_083F8588->unk0114) + switch (gPokedexAreaScreenPtr->unk0114) { case 0: - FindMapsWithMon(gUnknown_083F8588->unk000E); + FindMapsWithMon(gPokedexAreaScreenPtr->unk000E); break; case 1: BuildAreaGlowTilemap(); @@ -190,19 +202,19 @@ bool8 DrawAreaGlow(void) LZ77UnCompVram(gUnknown_083F8438, BG_CHAR_ADDR(3)); break; case 3: - DmaCopy16(3, gUnknown_083F8588->unk0116, BG_SCREEN_ADDR(30), 0x500); + DmaCopy16(3, gPokedexAreaScreenPtr->unk0116, BG_SCREEN_ADDR(30), 0x500); break; case 4: LoadPalette(gUnknown_083F8418, 0, 32); break; case 5: REG_BG0CNT = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT256x256; - gUnknown_083F8588->unk0114++; + gPokedexAreaScreenPtr->unk0114++; return FALSE; default: return FALSE; } - gUnknown_083F8588->unk0114++; + gPokedexAreaScreenPtr->unk0114++; return TRUE; } @@ -213,8 +225,8 @@ void FindMapsWithMon(u16 mon) if (mon != ROAMER_SPECIES) { - gUnknown_083F8588->unk0110 = 0; - gUnknown_083F8588->unk0112 = 0; + gPokedexAreaScreenPtr->unk0110 = 0; + gPokedexAreaScreenPtr->unk0112 = 0; for (i = 0; i < 1; i++) { if (gUnknown_083F856C[i] == mon) @@ -255,27 +267,27 @@ void FindMapsWithMon(u16 mon) } else { - gUnknown_083F8588->unk0112 = 0; + gPokedexAreaScreenPtr->unk0112 = 0; roamer = &gSaveBlock1.roamer; if (roamer->active) { - GetRoamerLocation(&gUnknown_083F8588->unk0010[0].mapGroup, &gUnknown_083F8588->unk0010[0].mapNum); - gUnknown_083F8588->unk0010[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(gUnknown_083F8588->unk0010[0].mapGroup, gUnknown_083F8588->unk0010[0].mapNum)->regionMapSectionId; - gUnknown_083F8588->unk0110 = 1; + GetRoamerLocation(&gPokedexAreaScreenPtr->unk0010[0].mapGroup, &gPokedexAreaScreenPtr->unk0010[0].mapNum); + gPokedexAreaScreenPtr->unk0010[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(gPokedexAreaScreenPtr->unk0010[0].mapGroup, gPokedexAreaScreenPtr->unk0010[0].mapNum)->regionMapSectionId; + gPokedexAreaScreenPtr->unk0110 = 1; } else - gUnknown_083F8588->unk0110 = 0; + gPokedexAreaScreenPtr->unk0110 = 0; } } void SetAreaHasMon(u16 mapGroup, u16 mapNum) { - if (gUnknown_083F8588->unk0110 < 0x40) + if (gPokedexAreaScreenPtr->unk0110 < 0x40) { - gUnknown_083F8588->unk0010[gUnknown_083F8588->unk0110].mapGroup = mapGroup; - gUnknown_083F8588->unk0010[gUnknown_083F8588->unk0110].mapNum = mapNum; - gUnknown_083F8588->unk0010[gUnknown_083F8588->unk0110].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); - gUnknown_083F8588->unk0110++; + gPokedexAreaScreenPtr->unk0010[gPokedexAreaScreenPtr->unk0110].mapGroup = mapGroup; + gPokedexAreaScreenPtr->unk0010[gPokedexAreaScreenPtr->unk0110].mapNum = mapNum; + gPokedexAreaScreenPtr->unk0010[gPokedexAreaScreenPtr->unk0110].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); + gPokedexAreaScreenPtr->unk0110++; } } @@ -284,7 +296,7 @@ void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) const struct MapHeader *mapHeader; u16 i; - if (gUnknown_083F8588->unk0112 < 0x20) + if (gPokedexAreaScreenPtr->unk0112 < 0x20) { mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); if (mapHeader->regionMapSectionId < MAPSEC_Nothing) @@ -294,15 +306,15 @@ void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) if (mapHeader->regionMapSectionId == gUnknown_083F857A[i][0] && !FlagGet(gUnknown_083F857A[i][1])) return; } - for (i = 0; i < gUnknown_083F8588->unk0112; i++) + for (i = 0; i < gPokedexAreaScreenPtr->unk0112; i++) { - if (gUnknown_083F8588->unk0620[i] == mapHeader->regionMapSectionId) + if (gPokedexAreaScreenPtr->unk0620[i] == mapHeader->regionMapSectionId) break; } - if (i == gUnknown_083F8588->unk0112) + if (i == gPokedexAreaScreenPtr->unk0112) { - gUnknown_083F8588->unk0620[i] = mapHeader->regionMapSectionId; - gUnknown_083F8588->unk0112++; + gPokedexAreaScreenPtr->unk0620[i] = mapHeader->regionMapSectionId; + gPokedexAreaScreenPtr->unk0112++; } } } @@ -347,18 +359,18 @@ void BuildAreaGlowTilemap(void) u32 r3; for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) - gUnknown_083F8588->unk0116[gUnknown_02039260] = 0; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] = 0; - for (gUnknown_02039260 = 0; gUnknown_02039260 < gUnknown_083F8588->unk0110; gUnknown_02039260++) + for (gUnknown_02039260 = 0; gUnknown_02039260 < gPokedexAreaScreenPtr->unk0110; gUnknown_02039260++) { gUnknown_02039266 = 0; for (gUnknown_02039264 = 0; gUnknown_02039264 < 20; gUnknown_02039264++) { for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) { - if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == gUnknown_083F8588->unk0010[gUnknown_02039260].regionMapSectionId) + if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == gPokedexAreaScreenPtr->unk0010[gUnknown_02039260].regionMapSectionId) { - gUnknown_083F8588->unk0116[gUnknown_02039266] = 0xFFFF; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266] = 0xFFFF; } gUnknown_02039266++; } @@ -370,24 +382,24 @@ void BuildAreaGlowTilemap(void) { for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) { - if (gUnknown_083F8588->unk0116[gUnknown_02039266] == 0xFFFF) + if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039266] == 0xFFFF) { - if (gUnknown_02039262 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 1] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 - 1] |= 0x02; - if (gUnknown_02039262 != 31 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 1] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 + 1] |= 0x01; - if (gUnknown_02039264 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 32] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 - 32] |= 0x08; - if (gUnknown_02039264 != 19 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 32] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 + 32] |= 0x04; - if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 33] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 - 33] |= 0x10; - if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && gUnknown_083F8588->unk0116[gUnknown_02039266 - 31] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 - 31] |= 0x40; - if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 31] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 + 31] |= 0x20; - if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && gUnknown_083F8588->unk0116[gUnknown_02039266 + 33] != 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039266 + 33] |= 0x80; + if (gUnknown_02039262 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 1] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 1] |= 0x02; + if (gUnknown_02039262 != 31 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 1] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 1] |= 0x01; + if (gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 32] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 32] |= 0x08; + if (gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 32] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 32] |= 0x04; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 33] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 33] |= 0x10; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 31] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 31] |= 0x40; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 31] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 31] |= 0x20; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 33] != 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 33] |= 0x80; } gUnknown_02039266++; } @@ -395,36 +407,36 @@ void BuildAreaGlowTilemap(void) for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) // Register difference on induction: expected r3, got r1 { - if (gUnknown_083F8588->unk0116[gUnknown_02039260] == 0xFFFF) - gUnknown_083F8588->unk0116[gUnknown_02039260] = 0x10; - else if (gUnknown_083F8588->unk0116[gUnknown_02039260] != 0) + if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] == 0xFFFF) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] = 0x10; + else if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] != 0) { - if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x02) - gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFFCF; - if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x01) - gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFF3F; - if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x08) - gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFFAF; - if (gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x04) - gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0xFF5F; - gUnknown_02039268 = gUnknown_083F8588->unk0116[gUnknown_02039260] & 0x0F; - gUnknown_0203926A = gUnknown_083F8588->unk0116[gUnknown_02039260] & 0xF0; + if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x02) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFFCF; + if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x01) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFF3F; + if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x08) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFFAF; + if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x04) + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFF5F; + gUnknown_02039268 = gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x0F; + gUnknown_0203926A = gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0xF0; if (gUnknown_0203926A) { - gUnknown_083F8588->unk0116[gUnknown_02039260] &= 0x0F; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0x0F; switch (gUnknown_02039268) { case 0: if (gUnknown_0203926A != 0) - gUnknown_083F8588->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10; break; case 2: if (gUnknown_0203926A != 0) - gUnknown_083F8588->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E; break; case 1: if (gUnknown_0203926A != 0) - gUnknown_083F8588->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20; break; case 8: if (gUnknown_0203926A != 0) @@ -434,7 +446,7 @@ void BuildAreaGlowTilemap(void) r3 |= 1; if (gUnknown_0203926A & 0x20) r3 |= 2; - gUnknown_083F8588->unk0116[gUnknown_02039260] += r3 + 0x20; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += r3 + 0x20; } break; case 4: @@ -445,16 +457,16 @@ void BuildAreaGlowTilemap(void) r3 |= 1; if (gUnknown_0203926A & 0x10) r3 |= 2; - gUnknown_083F8588->unk0116[gUnknown_02039260] += r3 + 0x21; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += r3 + 0x21; } break; case 5: case 6: - gUnknown_083F8588->unk0116[gUnknown_02039260] += 0x27; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += 0x27; break; case 9: case 10: - gUnknown_083F8588->unk0116[gUnknown_02039260] += 0x25; + gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += 0x25; break; } } @@ -1039,3 +1051,138 @@ NAKED void BuildAreaGlowTilemap(void) "_08111080: .4byte 0x027f0000"); } #endif // NONMATCHING + +void sub_8111084(void) +{ + if (gPokedexAreaScreenPtr->unk0112 != 0 && gPokedexAreaScreenPtr->unk0110 == 0) + gPokedexAreaScreenPtr->unk061E = 1; + else + gPokedexAreaScreenPtr->unk061E = 0; + gPokedexAreaScreenPtr->unk0616 = 0; + gPokedexAreaScreenPtr->unk0618 = 0; + gPokedexAreaScreenPtr->unk061A = 0; + gPokedexAreaScreenPtr->unk061C = 0x40; + gPokedexAreaScreenPtr->unk061F = 1; + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; + REG_BLDALPHA = 0x1000; + sub_8111110(); +} + +void sub_8111110(void) +{ + u16 x; + u16 y; + u16 i; + + if (gPokedexAreaScreenPtr->unk061E == 0) + { + if (gPokedexAreaScreenPtr->unk0616 == 0) + { + gPokedexAreaScreenPtr->unk0618++; + if (gPokedexAreaScreenPtr->unk0618 & 1) + gPokedexAreaScreenPtr->unk061A = (gPokedexAreaScreenPtr->unk061A + 4) & 0x7f; + else + gPokedexAreaScreenPtr->unk061C = (gPokedexAreaScreenPtr->unk061C + 4) & 0x7f; + x = gSineTable[gPokedexAreaScreenPtr->unk061A] >> 4; + y = gSineTable[gPokedexAreaScreenPtr->unk061C] >> 4; + REG_BLDALPHA = x | (y << 8); + gPokedexAreaScreenPtr->unk0616 = 0; + if (gPokedexAreaScreenPtr->unk0618 == 0x40) + { + gPokedexAreaScreenPtr->unk0618 = 0; + if (gPokedexAreaScreenPtr->unk0112 != 0) + gPokedexAreaScreenPtr->unk061E = 1; + } + } + else + gPokedexAreaScreenPtr->unk0616--; + } + else + { + gPokedexAreaScreenPtr->unk0616++; + if (gPokedexAreaScreenPtr->unk0616 > 12) + { + gPokedexAreaScreenPtr->unk0616 = 0; + gPokedexAreaScreenPtr->unk061F++; + for (i = 0; i < gPokedexAreaScreenPtr->unk0112; i++) + { + gPokedexAreaScreenPtr->unk0660[i]->invisible = gPokedexAreaScreenPtr->unk061F & 1; + } + if (gPokedexAreaScreenPtr->unk061F > 4) + { + gPokedexAreaScreenPtr->unk061F = 1; + if (gPokedexAreaScreenPtr->unk0110 != 0) + gPokedexAreaScreenPtr->unk061E = 0; + } + } + } +} + +void sub_8111288(void) +{ + switch (gPokedexAreaScreenPtr->unk000C) + { + case 0: + gPokedexAreaScreenPtr->unk000C = 1; + break; + case 1: + if (!UpdatePaletteFade()) + { + sub_8110814(sub_81112BC); + } + break; + } +} + +void sub_81112BC(void) +{ + switch (gPokedexAreaScreenPtr->unk000C) + { + case 0: + if (gMain.newKeys & B_BUTTON) + { + sub_8110814(sub_8111314); + } + else if (gMain.newKeys & DPAD_RIGHT || (gMain.newKeys & R_BUTTON && gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR)) + { + sub_8110814(sub_8111360); + } + break; + } +} + +void sub_8111314(void) +{ + switch (gPokedexAreaScreenPtr->unk000C) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); + gPokedexAreaScreenPtr->unk000C++; + break; + case 1: + if (!UpdatePaletteFade()) + { + FreeRegionMapIconResources(); + SetMainCallback2(gPokedexAreaScreenPtr->unk0004); + } + break; + } +} + +void sub_8111360(void) +{ + switch (gPokedexAreaScreenPtr->unk000C) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); + gPokedexAreaScreenPtr->unk000C++; + break; + case 1: + if (!UpdatePaletteFade()) + { + FreeRegionMapIconResources(); + SetMainCallback2(gPokedexAreaScreenPtr->unk0008); + } + break; + } +} -- cgit v1.2.3 From 0774f50bd4670527eee29347273fd63d69e74c25 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 24 Apr 2018 00:08:53 -0400 Subject: Through Task_PokedexAreaScreen_1 --- src/pokedex_area_screen.c | 119 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 118 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index d5ca06395..6e16e4e5c 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -3,6 +3,8 @@ #include "global.h" #include "constants/species.h" #include "constants/maps.h" +#include "constants/songs.h" +#include "sound.h" #include "ewram.h" #include "main.h" #include "palette.h" @@ -47,7 +49,8 @@ struct PokedexAreaScreenEwramStruct u8 unk061F; u16 unk0620[0x20]; struct Sprite * unk0660[0x20]; - u8 filler_06E0[8]; + u8 filler_06E0[4]; + u8 * unk06E4; struct RegionMap unk06E8; u8 unk0F68[16]; u8 filler_0F78[0x3C]; @@ -1186,3 +1189,117 @@ void sub_8111360(void) break; } } + +void Task_PokedexAreaScreen_0(u8 taskId); +void Task_PokedexAreaScreen_1(u8 taskId); +void CreateAreaMarkerSprites(void); +void LoadAreaUnknownGraphics(void); +void CreateAreaUnknownSprites(void); +void DestroyAreaSprites(void); + +void ShowPokedexAreaScreen(u16 species, u8 * a1) +{ + u8 taskId; + gPokedexAreaScreenPtr->unk000E = species; + gPokedexAreaScreenPtr->unk06E4 = a1; + a1[0] = 0; + taskId = CreateTask(Task_PokedexAreaScreen_0, 0); + gTasks[taskId].data[0] = 0; +} + +void Task_PokedexAreaScreen_0(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_BG1_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; + REG_BG0HOFS = 0; + REG_BG0VOFS = -8; + REG_BG2VOFS = 0; + REG_BG2HOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + break; + case 1: + ResetPaletteFade(); + ResetSpriteData(); + FreeAllSpritePalettes(); + break; + case 2: + InitRegionMap(&gPokedexAreaScreenPtr->unk06E8, FALSE); + StringFill(gPokedexAreaScreenPtr->unk0F68, CHAR_SPACE, 16); + break; + case 3: + sub_8110824(); + break; + case 4: + if (DrawAreaGlow()) + return; + break; + case 5: + CreateRegionMapPlayerIcon(1, 1); + sub_80FB2A4(0, -8); + break; + case 6: + CreateAreaMarkerSprites(); + break; + case 7: + LoadAreaUnknownGraphics(); + break; + case 8: + CreateAreaUnknownSprites(); + break; + case 9: + BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, 0); + break; + case 10: + REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; + sub_8111084(); + REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; + break; + case 11: + gTasks[taskId].func = Task_PokedexAreaScreen_1; + gTasks[taskId].data[0] = 0; + return; + } + gTasks[taskId].data[0]++; +} + +void Task_PokedexAreaScreen_1(u8 taskId) +{ + sub_8111110(); + switch (gTasks[taskId].data[0]) + { + default: + gTasks[taskId].data[0] = 0; + case 0: + if (gPaletteFade.active) + return; + break; + case 1: + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[1] = 1; + PlaySE(SE_PC_OFF); + } + else if (gMain.newKeys & DPAD_RIGHT || (gMain.newKeys & R_BUTTON && gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR)) + { + gTasks[taskId].data[1] = 2; + PlaySE(SE_Z_PAGE); + } + else + return; + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); + break; + case 3: + if (gPaletteFade.active) + return; + DestroyAreaSprites(); + gPokedexAreaScreenPtr->unk06E4[0] = gTasks[taskId].data[1]; + DestroyTask(taskId); + return; + } + gTasks[taskId].data[0]++; +} -- cgit v1.2.3 From 3f34a0491d42c8e35a1d26bb34d59106d8a30660 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 24 Apr 2018 00:47:22 -0400 Subject: through DestroyAreaSprites --- src/pokedex_area_screen.c | 85 +++++++++++++++++++++++++++++++++++++++++++++-- src/region_map.c | 7 ---- 2 files changed, 82 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 6e16e4e5c..af5c5dd54 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -49,11 +49,12 @@ struct PokedexAreaScreenEwramStruct u8 unk061F; u16 unk0620[0x20]; struct Sprite * unk0660[0x20]; - u8 filler_06E0[4]; + u16 unk06E0; u8 * unk06E4; struct RegionMap unk06E8; u8 unk0F68[16]; - u8 filler_0F78[0x3C]; + u8 filler_0F78[0x30]; + struct Sprite * unk0FA8[3]; u8 unk0FB4[0x600]; }; @@ -1193,9 +1194,9 @@ void sub_8111360(void) void Task_PokedexAreaScreen_0(u8 taskId); void Task_PokedexAreaScreen_1(u8 taskId); void CreateAreaMarkerSprites(void); +void DestroyAreaSprites(void); void LoadAreaUnknownGraphics(void); void CreateAreaUnknownSprites(void); -void DestroyAreaSprites(void); void ShowPokedexAreaScreen(u16 species, u8 * a1) { @@ -1303,3 +1304,81 @@ void Task_PokedexAreaScreen_1(u8 taskId) } gTasks[taskId].data[0]++; } + +const u16 AreaMarkerPalette[]; +const u8 AreaMarkerTiles[]; + +const struct SpriteSheet gUnknown_083F858C = { + AreaMarkerTiles, 0x80, 2 +}; + +const struct SpritePalette gUnknown_083F8594 = { + AreaMarkerPalette, 2 +}; + +const struct OamData gOamData_83F859C = { + .size = 1, + .priority = 1 +}; + +const struct SpriteTemplate gSpriteTemplate_83F85A4 = { + 2, + 2, + &gOamData_83F859C, + gDummySpriteAnimTable, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +const u16 AreaMarkerPalette[] = INCBIN_U16("graphics/pokedex/area_marker.gbapal"); +const u8 AreaMarkerTiles[] = INCBIN_U8("graphics/pokedex/area_marker.4bpp"); + +void CreateAreaMarkerSprites(void) +{ + s16 i; + u8 spriteId; + s16 x; + s16 y; + s16 cnt; + s16 mapSecId; + + LoadSpriteSheet(&gUnknown_083F858C); + LoadSpritePalette(&gUnknown_083F8594); + cnt = 0; + for (i = 0; i < gPokedexAreaScreenPtr->unk0112; i++) + { + mapSecId = gPokedexAreaScreenPtr->unk0620[i]; + x = 8 * (gRegionMapLocations[mapSecId].x + 1) + 4; + y = 8 * (gRegionMapLocations[mapSecId].y) + 28; + x += 4 * (gRegionMapLocations[mapSecId].width - 1); + y += 4 * (gRegionMapLocations[mapSecId].height - 1); + spriteId = CreateSprite(&gSpriteTemplate_83F85A4, x, y, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].invisible = TRUE; + gPokedexAreaScreenPtr->unk0660[cnt++] = gSprites + spriteId; + } + } + gPokedexAreaScreenPtr->unk06E0 = cnt; +} + +void DestroyAreaSprites(void) +{ + u16 i; + FreeSpriteTilesByTag(2); + FreeSpritePaletteByTag(2); + for (i = 0; i < gPokedexAreaScreenPtr->unk06E0; i++) + { + DestroySprite(gPokedexAreaScreenPtr->unk0660[i]); + } + FreeSpriteTilesByTag(3); + FreeSpritePaletteByTag(3); + for (i = 0; i < 3; i++) + { + if (gPokedexAreaScreenPtr->unk0FA8[i] != NULL) + { + DestroySprite(gPokedexAreaScreenPtr->unk0FA8[i]); + } + } +} diff --git a/src/region_map.c b/src/region_map.c index b4ed2c558..ab7c5c558 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -149,13 +149,6 @@ static const u8 sRegionMapBkgnd_TilemapLZ[] = INCBIN_U8("graphics/pokenav/region #include "data/region_map_names_de.h" #endif -struct RegionMapLocation -{ - u8 x, y; - u8 width, height; - const u8 *regionMapSectionId; -}; - const struct RegionMapLocation gRegionMapLocations[] = { { 4, 11, 1, 1, gMapName_LittlerootTown}, -- cgit v1.2.3 From bedf072c371990c991203d7ffca6e4c0941a891f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 24 Apr 2018 08:21:39 -0400 Subject: Finish decompilation of pokedex_area_screen --- src/pokedex_area_screen.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index af5c5dd54..2f2d20942 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -19,6 +19,7 @@ #include "overworld.h" #include "event_data.h" #include "trig.h" +#include "graphics.h" // Static type declarations @@ -1382,3 +1383,57 @@ void DestroyAreaSprites(void) } } } + +const struct SpritePalette gUnknown_083F865C = {gAreaUnknownPalette, 3}; + +void LoadAreaUnknownGraphics(void) +{ + struct SpriteSheet spriteSheet = {gPokedexAreaScreenPtr->unk0FB4, 0x600, 3}; + + LZ77UnCompWram(gAreaUnknownTiles, gPokedexAreaScreenPtr->unk0FB4); + LoadSpriteSheet(&spriteSheet); + LoadSpritePalette(&gUnknown_083F865C); +} + +const struct OamData gOamData_83F866C = { + .size = 2, + .priority = 1 +}; + +const struct SpriteTemplate gSpriteTemplate_83F8674 = { + 3, + 3, + &gOamData_83F866C, + gDummySpriteAnimTable, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +void CreateAreaUnknownSprites(void) +{ + u16 i; + u8 spriteId; + + if (gPokedexAreaScreenPtr->unk0110 != 0 || gPokedexAreaScreenPtr->unk0112 != 0) + { + for (i = 0; i < 3; i++) + { + gPokedexAreaScreenPtr->unk0FA8[i] = NULL; + } + } + else + { + for (i = 0; i < 3; i++) + { + spriteId = CreateSprite(&gSpriteTemplate_83F8674, i * 32 + 0xa0, 0x8c, 0); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.tileNum += i * 16; + gPokedexAreaScreenPtr->unk0FA8[i] = gSprites + spriteId; + } + else + gPokedexAreaScreenPtr->unk0FA8[i] = NULL; + } + } +} -- cgit v1.2.3 From 6f0262af9cfa6273c1c5343709e1f72b4743eb6b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 24 Apr 2018 20:04:32 -0400 Subject: Renaming in pokedex_area_screen.c; resolve #603 --- src/data/region_map_layout.h | 44 ++-- src/landmark.c | 2 +- src/pokedex_area_screen.c | 505 +++++++++++++++++++++---------------------- src/region_map.c | 210 +++++------------- src/tv.c | 2 +- 5 files changed, 336 insertions(+), 427 deletions(-) (limited to 'src') diff --git a/src/data/region_map_layout.h b/src/data/region_map_layout.h index ca33ef37a..06e308593 100644 --- a/src/data/region_map_layout.h +++ b/src/data/region_map_layout.h @@ -1,26 +1,26 @@ // Abbreviated definitions to make the map layout more visual -#define R(routeNum) MAPSEC_ROUTE_##routeNum -#define LITT_T MAPSEC_LITTLEROOT_TOWN -#define OLDA_T MAPSEC_OLDALE_TOWN -#define DEWF_T MAPSEC_DEWFORD_TOWN -#define LAVA_T MAPSEC_LAVARIDGE_TOWN -#define FALL_T MAPSEC_FALLARBOR_TOWN -#define VERD_T MAPSEC_VERDANTURF_TOWN -#define PACI_T MAPSEC_PACIFIDLOG_TOWN -#define PETA_C MAPSEC_PETALBURG_CITY -#define SLAT_C MAPSEC_SLATEPORT_CITY -#define MAUV_C MAPSEC_MAUVILLE_CITY -#define RUST_C MAPSEC_RUSTBORO_CITY -#define FORT_C MAPSEC_FORTREE_CITY -#define LILY_C MAPSEC_LILYCOVE_CITY -#define MOSS_C MAPSEC_MOSSDEEP_CITY -#define SOOT_C MAPSEC_SOOTOPOLIS_CITY -#define EVER_C MAPSEC_EVER_GRANDE_CITY -#define MTCHIM MAPSEC_MT_CHIMNEY -#define SAFARI MAPSEC_SAFARI_ZONE -#define BTLTWR MAPSEC_BATTLE_TOWER -#define S_ISLD MAPSEC_SOUTHERN_ISLAND -#define ______ MAPSEC_NONE +#define R(routeNum) MAPSEC_Route##routeNum +#define LITT_T MAPSEC_LittlerootTown +#define OLDA_T MAPSEC_OldaleTown +#define DEWF_T MAPSEC_DewfordTown +#define LAVA_T MAPSEC_LavaridgeTown +#define FALL_T MAPSEC_FallarborTown +#define VERD_T MAPSEC_VerdanturfTown +#define PACI_T MAPSEC_PacifidlogTown +#define PETA_C MAPSEC_PetalburgCity +#define SLAT_C MAPSEC_SlateportCity +#define MAUV_C MAPSEC_MauvilleCity +#define RUST_C MAPSEC_RustboroCity +#define FORT_C MAPSEC_FortreeCity +#define LILY_C MAPSEC_LilycoveCity +#define MOSS_C MAPSEC_MossdeepCity +#define SOOT_C MAPSEC_SootopolisCity +#define EVER_C MAPSEC_EverGrandeCity +#define MTCHIM MAPSEC_MtChimney +#define SAFARI MAPSEC_SafariZone +#define BTLTWR MAPSEC_BattleTower +#define S_ISLD MAPSEC_SouthernIsland +#define ______ MAPSEC_Nothing static const u8 sRegionMapLayout[] = { diff --git a/src/landmark.c b/src/landmark.c index 476821ec6..4fd9595fe 100644 --- a/src/landmark.c +++ b/src/landmark.c @@ -1,7 +1,7 @@ #include "global.h" #include "landmark.h" #include "event_data.h" -#include "region_map_sections.h" +#include "constants/region_map_sections.h" struct Landmark { diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 2f2d20942..1ca9a67e3 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -4,6 +4,7 @@ #include "constants/species.h" #include "constants/maps.h" #include "constants/songs.h" +#include "constants/region_map_sections.h" #include "sound.h" #include "ewram.h" #include "main.h" @@ -11,7 +12,6 @@ #include "task.h" #include "sprite.h" #include "region_map.h" -#include "region_map_sections.h" #include "string_util.h" #include "text.h" #include "wild_encounter.h" @@ -32,31 +32,30 @@ struct PokedexAreaScreenSubstruct0010 struct PokedexAreaScreenEwramStruct { - void (*unk0000)(void); - MainCallback unk0004; - MainCallback unk0008; - u16 unk000C; - u16 unk000E; - struct PokedexAreaScreenSubstruct0010 unk0010[0x40]; - u16 unk0110; - u16 unk0112; - u16 unk0114; - u16 unk0116[0x280]; - u16 unk0616; - u16 unk0618; - u16 unk061A; - u16 unk061C; - u8 unk061E; - u8 unk061F; - u16 unk0620[0x20]; - struct Sprite * unk0660[0x20]; - u16 unk06E0; - u8 * unk06E4; - struct RegionMap unk06E8; - u8 unk0F68[16]; - u8 filler_0F78[0x30]; - struct Sprite * unk0FA8[3]; - u8 unk0FB4[0x600]; + void (*callback)(void); + MainCallback prev; + MainCallback next; + u16 state; + u16 species; + struct PokedexAreaScreenSubstruct0010 overworldAreasWithMons[0x40]; + u16 numOverworldAreas; + u16 numSpecialAreas; + u16 drawAreaGlowState; + u16 areaGlowTilemap[0x280]; + u16 areaShadeOrMarkerFrameCounter; + u16 areaShadeFrameCounter; + u16 areaShadeBldArgLo; + u16 areaShadeBldArgHi; + u8 whichMarkersFlashing; + u8 specialMarkerCycleCounter; + u16 specialAreaRegionMapSectionIds[0x20]; + struct Sprite * areaMarkerSprites[0x20]; + u16 numAreaMarkerSprites; + u8 * errno; + struct RegionMap regionMap; + u8 charBuffer[0x40]; + struct Sprite * areaUnknownSprites[3]; + u8 areaUnknownGraphicsBuffer[0x600]; }; #define ePokedexAreaScreen (*(struct PokedexAreaScreenEwramStruct *)gSharedMem) @@ -65,57 +64,57 @@ struct PokedexAreaScreenEwramStruct // Static ROM declarations -void CB2_UnusedPokedexAreaScreen(void); -void sub_81107DC(void); -void sub_81107F0(void); -void sub_8110814(void (*func)(void)); -void sub_8110824(void); -bool8 DrawAreaGlow(void); -void FindMapsWithMon(u16 mon); -void SetAreaHasMon(u16 mapGroup, u16 mapNum); -void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum); -bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon); -bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size); -void BuildAreaGlowTilemap(void); -void sub_8111084(void); -void sub_8111110(void); -void sub_8111288(void); -void sub_81112BC(void); -void sub_8111314(void); -void sub_8111360(void); +static void CB2_UnusedPokedexAreaScreen(void); +static void VBlankCB_AreaScren(void); +static void MainCB_AreaScren(void); +static void SetCallback(void (*func)(void)); +static void ResetDrawAreaGlowState(void); +static bool8 DrawAreaGlow(void); +static void FindMapsWithMon(u16 mon); +static void SetAreaHasMon(u16 mapGroup, u16 mapNum); +static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum); +static bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon); +static bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size); +static void BuildAreaGlowTilemap(void); +static void StartAreaGlow(void); +static void DoAreaGlow(void); +static void DebugCB_WaitFade(void); +static void DebugCB_WaitButton(void); +static void DebugCB_GoBack(void); +static void DebugCB_GoNext(void); // .rodata -const u16 gUnknown_083F8418[] = INCBIN_U16("graphics/pokedex/area_glow.gbapal"); +static const u16 gUnknown_083F8418[] = INCBIN_U16("graphics/pokedex/area_glow.gbapal"); -const u8 gUnknown_083F8438[] = INCBIN_U8("graphics/pokedex/area_glow.4bpp.lz"); +static const u8 gUnknown_083F8438[] = INCBIN_U8("graphics/pokedex/area_glow.4bpp.lz"); -const u16 gUnknown_083F856C[] = {SPECIES_WYNAUT}; +static const u16 sWynautData[] = {SPECIES_WYNAUT}; -const u16 gUnknown_083F856E[][3] = { +static const u16 sFeebasData[][3] = { {SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)}, {NUM_SPECIES} }; -const u16 gUnknown_083F857A[][2] = { +static const u16 sLandmarkData[][2] = { {MAPSEC_SkyPillar, FLAG_LANDMARK_SKY_PILLAR}, {MAPSEC_SeafloorCavern, FLAG_LANDMARK_SEAFLOOR_CAVERN}, {MAPSEC_Nothing} }; -struct PokedexAreaScreenEwramStruct *const gPokedexAreaScreenPtr = &ePokedexAreaScreen; +static struct PokedexAreaScreenEwramStruct *const gPokedexAreaScreenPtr = &ePokedexAreaScreen; // .text void UnusedPokedexAreaScreen(u16 a0, MainCallback a1, MainCallback a2) { - gPokedexAreaScreenPtr->unk0004 = a1; - gPokedexAreaScreenPtr->unk0008 = a2; - gPokedexAreaScreenPtr->unk000E = a0; + gPokedexAreaScreenPtr->prev = a1; + gPokedexAreaScreenPtr->next = a2; + gPokedexAreaScreenPtr->species = a0; SetMainCallback2(CB2_UnusedPokedexAreaScreen); } -void CB2_UnusedPokedexAreaScreen(void) +static void CB2_UnusedPokedexAreaScreen(void) { switch (gMain.state) { @@ -135,11 +134,11 @@ void CB2_UnusedPokedexAreaScreen(void) REG_BG3VOFS = 0; break; case 1: - InitRegionMap(&gPokedexAreaScreenPtr->unk06E8, FALSE); - StringFill(gPokedexAreaScreenPtr->unk0F68, CHAR_SPACE, 16); + InitRegionMap(&gPokedexAreaScreenPtr->regionMap, FALSE); + StringFill(gPokedexAreaScreenPtr->charBuffer, CHAR_SPACE, 16); break; case 2: - sub_8110824(); + ResetDrawAreaGlowState(); break; case 3: if (DrawAreaGlow()) @@ -147,58 +146,58 @@ void CB2_UnusedPokedexAreaScreen(void) break; case 4: CreateRegionMapPlayerIcon(1, 1); - sub_80FB2A4(0, -8); - SetVBlankCallback(sub_81107DC); + RegionMapDefaultZoomOffsetPlayerSprite(0, -8); + SetVBlankCallback(VBlankCB_AreaScren); break; case 5: BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, 0); break; case 6: REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; - sub_8111084(); + StartAreaGlow(); REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; break; case 7: - sub_8110814(sub_8111288); - SetMainCallback2(sub_81107F0); + SetCallback(DebugCB_WaitFade); + SetMainCallback2(MainCB_AreaScren); return; } gMain.state++; } -void sub_81107DC(void) +static void VBlankCB_AreaScren(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_81107F0(void) +static void MainCB_AreaScren(void) { - gPokedexAreaScreenPtr->unk0000(); - sub_8111110(); + gPokedexAreaScreenPtr->callback(); + DoAreaGlow(); AnimateSprites(); BuildOamBuffer(); UpdatePaletteFade(); } -void sub_8110814(void (*func)(void)) +static void SetCallback(void (*func)(void)) { - gPokedexAreaScreenPtr->unk0000 = func; - gPokedexAreaScreenPtr->unk000C = 0; + gPokedexAreaScreenPtr->callback = func; + gPokedexAreaScreenPtr->state = 0; } -void sub_8110824(void) +static void ResetDrawAreaGlowState(void) { - gPokedexAreaScreenPtr->unk0114 = 0; + gPokedexAreaScreenPtr->drawAreaGlowState = 0; } bool8 DrawAreaGlow(void) { - switch (gPokedexAreaScreenPtr->unk0114) + switch (gPokedexAreaScreenPtr->drawAreaGlowState) { case 0: - FindMapsWithMon(gPokedexAreaScreenPtr->unk000E); + FindMapsWithMon(gPokedexAreaScreenPtr->species); break; case 1: BuildAreaGlowTilemap(); @@ -207,48 +206,48 @@ bool8 DrawAreaGlow(void) LZ77UnCompVram(gUnknown_083F8438, BG_CHAR_ADDR(3)); break; case 3: - DmaCopy16(3, gPokedexAreaScreenPtr->unk0116, BG_SCREEN_ADDR(30), 0x500); + DmaCopy16(3, gPokedexAreaScreenPtr->areaGlowTilemap, BG_SCREEN_ADDR(30), 0x500); break; case 4: LoadPalette(gUnknown_083F8418, 0, 32); break; case 5: REG_BG0CNT = BGCNT_PRIORITY(1) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT256x256; - gPokedexAreaScreenPtr->unk0114++; + gPokedexAreaScreenPtr->drawAreaGlowState++; return FALSE; default: return FALSE; } - gPokedexAreaScreenPtr->unk0114++; + gPokedexAreaScreenPtr->drawAreaGlowState++; return TRUE; } -void FindMapsWithMon(u16 mon) +static void FindMapsWithMon(u16 mon) { u16 i; struct Roamer *roamer; if (mon != ROAMER_SPECIES) { - gPokedexAreaScreenPtr->unk0110 = 0; - gPokedexAreaScreenPtr->unk0112 = 0; + gPokedexAreaScreenPtr->numOverworldAreas = 0; + gPokedexAreaScreenPtr->numSpecialAreas = 0; for (i = 0; i < 1; i++) { - if (gUnknown_083F856C[i] == mon) + if (sWynautData[i] == mon) return; } - for (i = 0; gUnknown_083F856E[i][0] != NUM_SPECIES; i++) + for (i = 0; sFeebasData[i][0] != NUM_SPECIES; i++) { - if (mon == gUnknown_083F856E[i][0]) + if (mon == sFeebasData[i][0]) { - switch (gUnknown_083F856E[i][1]) + switch (sFeebasData[i][1]) { case MAP_GROUP(PETALBURG_CITY): - SetAreaHasMon(gUnknown_083F856E[i][1], gUnknown_083F856E[i][2]); + SetAreaHasMon(sFeebasData[i][1], sFeebasData[i][2]); break; case MAP_GROUP(METEOR_FALLS_1F_1R): case MAP_GROUP(SAFARI_ZONE_NORTHWEST): - SetSpecialMapHasMon(gUnknown_083F856E[i][1], gUnknown_083F856E[i][2]); + SetSpecialMapHasMon(sFeebasData[i][1], sFeebasData[i][2]); break; } } @@ -272,60 +271,60 @@ void FindMapsWithMon(u16 mon) } else { - gPokedexAreaScreenPtr->unk0112 = 0; + gPokedexAreaScreenPtr->numSpecialAreas = 0; roamer = &gSaveBlock1.roamer; if (roamer->active) { - GetRoamerLocation(&gPokedexAreaScreenPtr->unk0010[0].mapGroup, &gPokedexAreaScreenPtr->unk0010[0].mapNum); - gPokedexAreaScreenPtr->unk0010[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(gPokedexAreaScreenPtr->unk0010[0].mapGroup, gPokedexAreaScreenPtr->unk0010[0].mapNum)->regionMapSectionId; - gPokedexAreaScreenPtr->unk0110 = 1; + GetRoamerLocation(&gPokedexAreaScreenPtr->overworldAreasWithMons[0].mapGroup, &gPokedexAreaScreenPtr->overworldAreasWithMons[0].mapNum); + gPokedexAreaScreenPtr->overworldAreasWithMons[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(gPokedexAreaScreenPtr->overworldAreasWithMons[0].mapGroup, gPokedexAreaScreenPtr->overworldAreasWithMons[0].mapNum)->regionMapSectionId; + gPokedexAreaScreenPtr->numOverworldAreas = 1; } else - gPokedexAreaScreenPtr->unk0110 = 0; + gPokedexAreaScreenPtr->numOverworldAreas = 0; } } -void SetAreaHasMon(u16 mapGroup, u16 mapNum) +static void SetAreaHasMon(u16 mapGroup, u16 mapNum) { - if (gPokedexAreaScreenPtr->unk0110 < 0x40) + if (gPokedexAreaScreenPtr->numOverworldAreas < 0x40) { - gPokedexAreaScreenPtr->unk0010[gPokedexAreaScreenPtr->unk0110].mapGroup = mapGroup; - gPokedexAreaScreenPtr->unk0010[gPokedexAreaScreenPtr->unk0110].mapNum = mapNum; - gPokedexAreaScreenPtr->unk0010[gPokedexAreaScreenPtr->unk0110].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); - gPokedexAreaScreenPtr->unk0110++; + gPokedexAreaScreenPtr->overworldAreasWithMons[gPokedexAreaScreenPtr->numOverworldAreas].mapGroup = mapGroup; + gPokedexAreaScreenPtr->overworldAreasWithMons[gPokedexAreaScreenPtr->numOverworldAreas].mapNum = mapNum; + gPokedexAreaScreenPtr->overworldAreasWithMons[gPokedexAreaScreenPtr->numOverworldAreas].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); + gPokedexAreaScreenPtr->numOverworldAreas++; } } -void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) +static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) { const struct MapHeader *mapHeader; u16 i; - if (gPokedexAreaScreenPtr->unk0112 < 0x20) + if (gPokedexAreaScreenPtr->numSpecialAreas < 0x20) { mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); if (mapHeader->regionMapSectionId < MAPSEC_Nothing) { - for (i = 0; gUnknown_083F857A[i][0] != MAPSEC_Nothing; i++) + for (i = 0; sLandmarkData[i][0] != MAPSEC_Nothing; i++) { - if (mapHeader->regionMapSectionId == gUnknown_083F857A[i][0] && !FlagGet(gUnknown_083F857A[i][1])) + if (mapHeader->regionMapSectionId == sLandmarkData[i][0] && !FlagGet(sLandmarkData[i][1])) return; } - for (i = 0; i < gPokedexAreaScreenPtr->unk0112; i++) + for (i = 0; i < gPokedexAreaScreenPtr->numSpecialAreas; i++) { - if (gPokedexAreaScreenPtr->unk0620[i] == mapHeader->regionMapSectionId) + if (gPokedexAreaScreenPtr->specialAreaRegionMapSectionIds[i] == mapHeader->regionMapSectionId) break; } - if (i == gPokedexAreaScreenPtr->unk0112) + if (i == gPokedexAreaScreenPtr->numSpecialAreas) { - gPokedexAreaScreenPtr->unk0620[i] = mapHeader->regionMapSectionId; - gPokedexAreaScreenPtr->unk0112++; + gPokedexAreaScreenPtr->specialAreaRegionMapSectionIds[i] = mapHeader->regionMapSectionId; + gPokedexAreaScreenPtr->numSpecialAreas++; } } } } -bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon) +static bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon) { if (MonListHasMon(header->landMonsInfo, mon, 12)) return TRUE; @@ -338,7 +337,7 @@ bool8 MapHasMon(const struct WildPokemonHeader *header, u16 mon) return FALSE; } -bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size) +static bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size) { u16 i; if (info != NULL) @@ -353,7 +352,7 @@ bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 mon, u16 size) } #ifdef NONMATCHING -void BuildAreaGlowTilemap(void) +static void BuildAreaGlowTilemap(void) { static EWRAM_DATA u16 gUnknown_02039260 = 0; static EWRAM_DATA u16 gUnknown_02039262 = 0; @@ -364,18 +363,18 @@ void BuildAreaGlowTilemap(void) u32 r3; for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] = 0; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] = 0; - for (gUnknown_02039260 = 0; gUnknown_02039260 < gPokedexAreaScreenPtr->unk0110; gUnknown_02039260++) + for (gUnknown_02039260 = 0; gUnknown_02039260 < gPokedexAreaScreenPtr->numOverworldAreas; gUnknown_02039260++) { gUnknown_02039266 = 0; for (gUnknown_02039264 = 0; gUnknown_02039264 < 20; gUnknown_02039264++) { for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) { - if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == gPokedexAreaScreenPtr->unk0010[gUnknown_02039260].regionMapSectionId) + if (GetRegionMapSectionAt_(gUnknown_02039262, gUnknown_02039264) == gPokedexAreaScreenPtr->overworldAreasWithMons[gUnknown_02039260].regionMapSectionId) { - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266] = 0xFFFF; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266] = 0xFFFF; } gUnknown_02039266++; } @@ -387,24 +386,24 @@ void BuildAreaGlowTilemap(void) { for (gUnknown_02039262 = 0; gUnknown_02039262 < 32; gUnknown_02039262++) { - if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039266] == 0xFFFF) + if (gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266] == 0xFFFF) { - if (gUnknown_02039262 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 1] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 1] |= 0x02; - if (gUnknown_02039262 != 31 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 1] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 1] |= 0x01; - if (gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 32] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 32] |= 0x08; - if (gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 32] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 32] |= 0x04; - if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 33] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 33] |= 0x10; - if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 31] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 - 31] |= 0x40; - if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 31] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 31] |= 0x20; - if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 33] != 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039266 + 33] |= 0x80; + if (gUnknown_02039262 != 0 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 1] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 1] |= 0x02; + if (gUnknown_02039262 != 31 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 1] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 1] |= 0x01; + if (gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 32] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 32] |= 0x08; + if (gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 32] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 32] |= 0x04; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 33] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 33] |= 0x10; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 0 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 31] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 - 31] |= 0x40; + if (gUnknown_02039262 != 0 && gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 31] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 31] |= 0x20; + if (gUnknown_02039262 != 31 && gUnknown_02039264 != 19 && gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 33] != 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039266 + 33] |= 0x80; } gUnknown_02039266++; } @@ -412,36 +411,36 @@ void BuildAreaGlowTilemap(void) for (gUnknown_02039260 = 0; gUnknown_02039260 < 0x280; gUnknown_02039260++) // Register difference on induction: expected r3, got r1 { - if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] == 0xFFFF) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] = 0x10; - else if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] != 0) + if (gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] == 0xFFFF) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] = 0x10; + else if (gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] != 0) { - if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x02) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFFCF; - if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x01) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFF3F; - if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x08) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFFAF; - if (gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x04) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0xFF5F; - gUnknown_02039268 = gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0x0F; - gUnknown_0203926A = gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] & 0xF0; + if (gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] & 0x02) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] &= 0xFFCF; + if (gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] & 0x01) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] &= 0xFF3F; + if (gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] & 0x08) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] &= 0xFFAF; + if (gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] & 0x04) + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] &= 0xFF5F; + gUnknown_02039268 = gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] & 0x0F; + gUnknown_0203926A = gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] & 0xF0; if (gUnknown_0203926A) { - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] &= 0x0F; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] &= 0x0F; switch (gUnknown_02039268) { case 0: if (gUnknown_0203926A != 0) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x10; break; case 2: if (gUnknown_0203926A != 0) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] += (gUnknown_0203926A >> 4) + 0x1E; break; case 1: if (gUnknown_0203926A != 0) - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] += (gUnknown_0203926A >> 6) + 0x20; break; case 8: if (gUnknown_0203926A != 0) @@ -451,7 +450,7 @@ void BuildAreaGlowTilemap(void) r3 |= 1; if (gUnknown_0203926A & 0x20) r3 |= 2; - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += r3 + 0x20; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] += r3 + 0x20; } break; case 4: @@ -462,16 +461,16 @@ void BuildAreaGlowTilemap(void) r3 |= 1; if (gUnknown_0203926A & 0x10) r3 |= 2; - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += r3 + 0x21; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] += r3 + 0x21; } break; case 5: case 6: - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += 0x27; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] += 0x27; break; case 9: case 10: - gPokedexAreaScreenPtr->unk0116[gUnknown_02039260] += 0x25; + gPokedexAreaScreenPtr->areaGlowTilemap[gUnknown_02039260] += 0x25; break; } } @@ -485,7 +484,7 @@ EWRAM_DATA u16 gUnknown_02039264 = 0; EWRAM_DATA u16 gUnknown_02039266 = 0; EWRAM_DATA u16 gUnknown_02039268 = 0; EWRAM_DATA u16 gUnknown_0203926A = 0; -NAKED void BuildAreaGlowTilemap(void) +static NAKED void BuildAreaGlowTilemap(void) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r10\n" @@ -1057,159 +1056,159 @@ NAKED void BuildAreaGlowTilemap(void) } #endif // NONMATCHING -void sub_8111084(void) +static void StartAreaGlow(void) { - if (gPokedexAreaScreenPtr->unk0112 != 0 && gPokedexAreaScreenPtr->unk0110 == 0) - gPokedexAreaScreenPtr->unk061E = 1; + if (gPokedexAreaScreenPtr->numSpecialAreas != 0 && gPokedexAreaScreenPtr->numOverworldAreas == 0) + gPokedexAreaScreenPtr->whichMarkersFlashing = 1; else - gPokedexAreaScreenPtr->unk061E = 0; - gPokedexAreaScreenPtr->unk0616 = 0; - gPokedexAreaScreenPtr->unk0618 = 0; - gPokedexAreaScreenPtr->unk061A = 0; - gPokedexAreaScreenPtr->unk061C = 0x40; - gPokedexAreaScreenPtr->unk061F = 1; + gPokedexAreaScreenPtr->whichMarkersFlashing = 0; + gPokedexAreaScreenPtr->areaShadeOrMarkerFrameCounter = 0; + gPokedexAreaScreenPtr->areaShadeFrameCounter = 0; + gPokedexAreaScreenPtr->areaShadeBldArgLo = 0; + gPokedexAreaScreenPtr->areaShadeBldArgHi = 0x40; + gPokedexAreaScreenPtr->specialMarkerCycleCounter = 1; REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; REG_BLDALPHA = 0x1000; - sub_8111110(); + DoAreaGlow(); } -void sub_8111110(void) +static void DoAreaGlow(void) { u16 x; u16 y; u16 i; - if (gPokedexAreaScreenPtr->unk061E == 0) + if (gPokedexAreaScreenPtr->whichMarkersFlashing == 0) { - if (gPokedexAreaScreenPtr->unk0616 == 0) + if (gPokedexAreaScreenPtr->areaShadeOrMarkerFrameCounter == 0) { - gPokedexAreaScreenPtr->unk0618++; - if (gPokedexAreaScreenPtr->unk0618 & 1) - gPokedexAreaScreenPtr->unk061A = (gPokedexAreaScreenPtr->unk061A + 4) & 0x7f; + gPokedexAreaScreenPtr->areaShadeFrameCounter++; + if (gPokedexAreaScreenPtr->areaShadeFrameCounter & 1) + gPokedexAreaScreenPtr->areaShadeBldArgLo = (gPokedexAreaScreenPtr->areaShadeBldArgLo + 4) & 0x7f; else - gPokedexAreaScreenPtr->unk061C = (gPokedexAreaScreenPtr->unk061C + 4) & 0x7f; - x = gSineTable[gPokedexAreaScreenPtr->unk061A] >> 4; - y = gSineTable[gPokedexAreaScreenPtr->unk061C] >> 4; + gPokedexAreaScreenPtr->areaShadeBldArgHi = (gPokedexAreaScreenPtr->areaShadeBldArgHi + 4) & 0x7f; + x = gSineTable[gPokedexAreaScreenPtr->areaShadeBldArgLo] >> 4; + y = gSineTable[gPokedexAreaScreenPtr->areaShadeBldArgHi] >> 4; REG_BLDALPHA = x | (y << 8); - gPokedexAreaScreenPtr->unk0616 = 0; - if (gPokedexAreaScreenPtr->unk0618 == 0x40) + gPokedexAreaScreenPtr->areaShadeOrMarkerFrameCounter = 0; + if (gPokedexAreaScreenPtr->areaShadeFrameCounter == 0x40) { - gPokedexAreaScreenPtr->unk0618 = 0; - if (gPokedexAreaScreenPtr->unk0112 != 0) - gPokedexAreaScreenPtr->unk061E = 1; + gPokedexAreaScreenPtr->areaShadeFrameCounter = 0; + if (gPokedexAreaScreenPtr->numSpecialAreas != 0) + gPokedexAreaScreenPtr->whichMarkersFlashing = 1; } } else - gPokedexAreaScreenPtr->unk0616--; + gPokedexAreaScreenPtr->areaShadeOrMarkerFrameCounter--; } else { - gPokedexAreaScreenPtr->unk0616++; - if (gPokedexAreaScreenPtr->unk0616 > 12) + gPokedexAreaScreenPtr->areaShadeOrMarkerFrameCounter++; + if (gPokedexAreaScreenPtr->areaShadeOrMarkerFrameCounter > 12) { - gPokedexAreaScreenPtr->unk0616 = 0; - gPokedexAreaScreenPtr->unk061F++; - for (i = 0; i < gPokedexAreaScreenPtr->unk0112; i++) + gPokedexAreaScreenPtr->areaShadeOrMarkerFrameCounter = 0; + gPokedexAreaScreenPtr->specialMarkerCycleCounter++; + for (i = 0; i < gPokedexAreaScreenPtr->numSpecialAreas; i++) { - gPokedexAreaScreenPtr->unk0660[i]->invisible = gPokedexAreaScreenPtr->unk061F & 1; + gPokedexAreaScreenPtr->areaMarkerSprites[i]->invisible = gPokedexAreaScreenPtr->specialMarkerCycleCounter & 1; } - if (gPokedexAreaScreenPtr->unk061F > 4) + if (gPokedexAreaScreenPtr->specialMarkerCycleCounter > 4) { - gPokedexAreaScreenPtr->unk061F = 1; - if (gPokedexAreaScreenPtr->unk0110 != 0) - gPokedexAreaScreenPtr->unk061E = 0; + gPokedexAreaScreenPtr->specialMarkerCycleCounter = 1; + if (gPokedexAreaScreenPtr->numOverworldAreas != 0) + gPokedexAreaScreenPtr->whichMarkersFlashing = 0; } } } } -void sub_8111288(void) +static void DebugCB_WaitFade(void) { - switch (gPokedexAreaScreenPtr->unk000C) + switch (gPokedexAreaScreenPtr->state) { case 0: - gPokedexAreaScreenPtr->unk000C = 1; + gPokedexAreaScreenPtr->state = 1; break; case 1: if (!UpdatePaletteFade()) { - sub_8110814(sub_81112BC); + SetCallback(DebugCB_WaitButton); } break; } } -void sub_81112BC(void) +static void DebugCB_WaitButton(void) { - switch (gPokedexAreaScreenPtr->unk000C) + switch (gPokedexAreaScreenPtr->state) { case 0: if (gMain.newKeys & B_BUTTON) { - sub_8110814(sub_8111314); + SetCallback(DebugCB_GoBack); } else if (gMain.newKeys & DPAD_RIGHT || (gMain.newKeys & R_BUTTON && gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR)) { - sub_8110814(sub_8111360); + SetCallback(DebugCB_GoNext); } break; } } -void sub_8111314(void) +static void DebugCB_GoBack(void) { - switch (gPokedexAreaScreenPtr->unk000C) + switch (gPokedexAreaScreenPtr->state) { case 0: BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); - gPokedexAreaScreenPtr->unk000C++; + gPokedexAreaScreenPtr->state++; break; case 1: if (!UpdatePaletteFade()) { FreeRegionMapIconResources(); - SetMainCallback2(gPokedexAreaScreenPtr->unk0004); + SetMainCallback2(gPokedexAreaScreenPtr->prev); } break; } } -void sub_8111360(void) +static void DebugCB_GoNext(void) { - switch (gPokedexAreaScreenPtr->unk000C) + switch (gPokedexAreaScreenPtr->state) { case 0: BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); - gPokedexAreaScreenPtr->unk000C++; + gPokedexAreaScreenPtr->state++; break; case 1: if (!UpdatePaletteFade()) { FreeRegionMapIconResources(); - SetMainCallback2(gPokedexAreaScreenPtr->unk0008); + SetMainCallback2(gPokedexAreaScreenPtr->next); } break; } } -void Task_PokedexAreaScreen_0(u8 taskId); -void Task_PokedexAreaScreen_1(u8 taskId); -void CreateAreaMarkerSprites(void); -void DestroyAreaSprites(void); -void LoadAreaUnknownGraphics(void); -void CreateAreaUnknownSprites(void); +static void Task_PokedexAreaScreen_0(u8 taskId); +static void Task_PokedexAreaScreen_1(u8 taskId); +static void CreateAreaMarkerSprites(void); +static void DestroyAreaSprites(void); +static void LoadAreaUnknownGraphics(void); +static void CreateAreaUnknownSprites(void); -void ShowPokedexAreaScreen(u16 species, u8 * a1) +void ShowPokedexAreaScreen(u16 species, u8 * errno) { u8 taskId; - gPokedexAreaScreenPtr->unk000E = species; - gPokedexAreaScreenPtr->unk06E4 = a1; - a1[0] = 0; + gPokedexAreaScreenPtr->species = species; + gPokedexAreaScreenPtr->errno = errno; + errno[0] = 0; taskId = CreateTask(Task_PokedexAreaScreen_0, 0); gTasks[taskId].data[0] = 0; } -void Task_PokedexAreaScreen_0(u8 taskId) +static void Task_PokedexAreaScreen_0(u8 taskId) { switch (gTasks[taskId].data[0]) { @@ -1228,11 +1227,11 @@ void Task_PokedexAreaScreen_0(u8 taskId) FreeAllSpritePalettes(); break; case 2: - InitRegionMap(&gPokedexAreaScreenPtr->unk06E8, FALSE); - StringFill(gPokedexAreaScreenPtr->unk0F68, CHAR_SPACE, 16); + InitRegionMap(&gPokedexAreaScreenPtr->regionMap, FALSE); + StringFill(gPokedexAreaScreenPtr->charBuffer, CHAR_SPACE, 16); break; case 3: - sub_8110824(); + ResetDrawAreaGlowState(); break; case 4: if (DrawAreaGlow()) @@ -1240,7 +1239,7 @@ void Task_PokedexAreaScreen_0(u8 taskId) break; case 5: CreateRegionMapPlayerIcon(1, 1); - sub_80FB2A4(0, -8); + RegionMapDefaultZoomOffsetPlayerSprite(0, -8); break; case 6: CreateAreaMarkerSprites(); @@ -1256,7 +1255,7 @@ void Task_PokedexAreaScreen_0(u8 taskId) break; case 10: REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; - sub_8111084(); + StartAreaGlow(); REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON; break; case 11: @@ -1267,9 +1266,9 @@ void Task_PokedexAreaScreen_0(u8 taskId) gTasks[taskId].data[0]++; } -void Task_PokedexAreaScreen_1(u8 taskId) +static void Task_PokedexAreaScreen_1(u8 taskId) { - sub_8111110(); + DoAreaGlow(); switch (gTasks[taskId].data[0]) { default: @@ -1299,7 +1298,7 @@ void Task_PokedexAreaScreen_1(u8 taskId) if (gPaletteFade.active) return; DestroyAreaSprites(); - gPokedexAreaScreenPtr->unk06E4[0] = gTasks[taskId].data[1]; + gPokedexAreaScreenPtr->errno[0] = gTasks[taskId].data[1]; DestroyTask(taskId); return; } @@ -1309,23 +1308,23 @@ void Task_PokedexAreaScreen_1(u8 taskId) const u16 AreaMarkerPalette[]; const u8 AreaMarkerTiles[]; -const struct SpriteSheet gUnknown_083F858C = { +const struct SpriteSheet sAreaMarkerSpriteSheet = { AreaMarkerTiles, 0x80, 2 }; -const struct SpritePalette gUnknown_083F8594 = { +const struct SpritePalette sAreaMarkerSpritePalette = { AreaMarkerPalette, 2 }; -const struct OamData gOamData_83F859C = { +const struct OamData sAreaMarkerOamData = { .size = 1, .priority = 1 }; -const struct SpriteTemplate gSpriteTemplate_83F85A4 = { +const struct SpriteTemplate sAreaMarkerSpriteTemplate = { 2, 2, - &gOamData_83F859C, + &sAreaMarkerOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, @@ -1335,7 +1334,7 @@ const struct SpriteTemplate gSpriteTemplate_83F85A4 = { const u16 AreaMarkerPalette[] = INCBIN_U16("graphics/pokedex/area_marker.gbapal"); const u8 AreaMarkerTiles[] = INCBIN_U8("graphics/pokedex/area_marker.4bpp"); -void CreateAreaMarkerSprites(void) +static void CreateAreaMarkerSprites(void) { s16 i; u8 spriteId; @@ -1344,96 +1343,96 @@ void CreateAreaMarkerSprites(void) s16 cnt; s16 mapSecId; - LoadSpriteSheet(&gUnknown_083F858C); - LoadSpritePalette(&gUnknown_083F8594); + LoadSpriteSheet(&sAreaMarkerSpriteSheet); + LoadSpritePalette(&sAreaMarkerSpritePalette); cnt = 0; - for (i = 0; i < gPokedexAreaScreenPtr->unk0112; i++) + for (i = 0; i < gPokedexAreaScreenPtr->numSpecialAreas; i++) { - mapSecId = gPokedexAreaScreenPtr->unk0620[i]; + mapSecId = gPokedexAreaScreenPtr->specialAreaRegionMapSectionIds[i]; x = 8 * (gRegionMapLocations[mapSecId].x + 1) + 4; y = 8 * (gRegionMapLocations[mapSecId].y) + 28; x += 4 * (gRegionMapLocations[mapSecId].width - 1); y += 4 * (gRegionMapLocations[mapSecId].height - 1); - spriteId = CreateSprite(&gSpriteTemplate_83F85A4, x, y, 0); + spriteId = CreateSprite(&sAreaMarkerSpriteTemplate, x, y, 0); if (spriteId != MAX_SPRITES) { gSprites[spriteId].invisible = TRUE; - gPokedexAreaScreenPtr->unk0660[cnt++] = gSprites + spriteId; + gPokedexAreaScreenPtr->areaMarkerSprites[cnt++] = gSprites + spriteId; } } - gPokedexAreaScreenPtr->unk06E0 = cnt; + gPokedexAreaScreenPtr->numAreaMarkerSprites = cnt; } -void DestroyAreaSprites(void) +static void DestroyAreaSprites(void) { u16 i; FreeSpriteTilesByTag(2); FreeSpritePaletteByTag(2); - for (i = 0; i < gPokedexAreaScreenPtr->unk06E0; i++) + for (i = 0; i < gPokedexAreaScreenPtr->numAreaMarkerSprites; i++) { - DestroySprite(gPokedexAreaScreenPtr->unk0660[i]); + DestroySprite(gPokedexAreaScreenPtr->areaMarkerSprites[i]); } FreeSpriteTilesByTag(3); FreeSpritePaletteByTag(3); for (i = 0; i < 3; i++) { - if (gPokedexAreaScreenPtr->unk0FA8[i] != NULL) + if (gPokedexAreaScreenPtr->areaUnknownSprites[i] != NULL) { - DestroySprite(gPokedexAreaScreenPtr->unk0FA8[i]); + DestroySprite(gPokedexAreaScreenPtr->areaUnknownSprites[i]); } } } -const struct SpritePalette gUnknown_083F865C = {gAreaUnknownPalette, 3}; +const struct SpritePalette sAreaUnknownSpritePalette = {gAreaUnknownPalette, 3}; -void LoadAreaUnknownGraphics(void) +static void LoadAreaUnknownGraphics(void) { - struct SpriteSheet spriteSheet = {gPokedexAreaScreenPtr->unk0FB4, 0x600, 3}; + struct SpriteSheet spriteSheet = {gPokedexAreaScreenPtr->areaUnknownGraphicsBuffer, 0x600, 3}; - LZ77UnCompWram(gAreaUnknownTiles, gPokedexAreaScreenPtr->unk0FB4); + LZ77UnCompWram(gAreaUnknownTiles, gPokedexAreaScreenPtr->areaUnknownGraphicsBuffer); LoadSpriteSheet(&spriteSheet); - LoadSpritePalette(&gUnknown_083F865C); + LoadSpritePalette(&sAreaUnknownSpritePalette); } -const struct OamData gOamData_83F866C = { +const struct OamData sAreaUnknownOamData = { .size = 2, .priority = 1 }; -const struct SpriteTemplate gSpriteTemplate_83F8674 = { +const struct SpriteTemplate sAreaUnknownSpriteTemplate = { 3, 3, - &gOamData_83F866C, + &sAreaUnknownOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -void CreateAreaUnknownSprites(void) +static void CreateAreaUnknownSprites(void) { u16 i; u8 spriteId; - if (gPokedexAreaScreenPtr->unk0110 != 0 || gPokedexAreaScreenPtr->unk0112 != 0) + if (gPokedexAreaScreenPtr->numOverworldAreas != 0 || gPokedexAreaScreenPtr->numSpecialAreas != 0) { for (i = 0; i < 3; i++) { - gPokedexAreaScreenPtr->unk0FA8[i] = NULL; + gPokedexAreaScreenPtr->areaUnknownSprites[i] = NULL; } } else { for (i = 0; i < 3; i++) { - spriteId = CreateSprite(&gSpriteTemplate_83F8674, i * 32 + 0xa0, 0x8c, 0); + spriteId = CreateSprite(&sAreaUnknownSpriteTemplate, i * 32 + 0xa0, 0x8c, 0); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.tileNum += i * 16; - gPokedexAreaScreenPtr->unk0FA8[i] = gSprites + spriteId; + gPokedexAreaScreenPtr->areaUnknownSprites[i] = gSprites + spriteId; } else - gPokedexAreaScreenPtr->unk0FA8[i] = NULL; + gPokedexAreaScreenPtr->areaUnknownSprites[i] = NULL; } } } diff --git a/src/region_map.c b/src/region_map.c index ab7c5c558..7bd303252 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/region_map_sections.h" #include "event_data.h" #include "field_effect.h" #include "field_specials.h" @@ -19,97 +20,6 @@ #include "trig.h" #include "ewram.h" -// Map Section IDs -#define MAPSEC_LITTLEROOT_TOWN 0 -#define MAPSEC_OLDALE_TOWN 1 -#define MAPSEC_DEWFORD_TOWN 2 -#define MAPSEC_LAVARIDGE_TOWN 3 -#define MAPSEC_FALLARBOR_TOWN 4 -#define MAPSEC_VERDANTURF_TOWN 5 -#define MAPSEC_PACIFIDLOG_TOWN 6 -#define MAPSEC_PETALBURG_CITY 7 -#define MAPSEC_SLATEPORT_CITY 8 -#define MAPSEC_MAUVILLE_CITY 9 -#define MAPSEC_RUSTBORO_CITY 10 -#define MAPSEC_FORTREE_CITY 11 -#define MAPSEC_LILYCOVE_CITY 12 -#define MAPSEC_MOSSDEEP_CITY 13 -#define MAPSEC_SOOTOPOLIS_CITY 14 -#define MAPSEC_EVER_GRANDE_CITY 15 -#define MAPSEC_ROUTE_101 0x10 -#define MAPSEC_ROUTE_102 0x11 -#define MAPSEC_ROUTE_103 0x12 -#define MAPSEC_ROUTE_104 0x13 -#define MAPSEC_ROUTE_105 0x14 -#define MAPSEC_ROUTE_106 0x15 -#define MAPSEC_ROUTE_107 0x16 -#define MAPSEC_ROUTE_108 0x17 -#define MAPSEC_ROUTE_109 0x18 -#define MAPSEC_ROUTE_110 0x19 -#define MAPSEC_ROUTE_111 0x1A -#define MAPSEC_ROUTE_112 0x1B -#define MAPSEC_ROUTE_113 0x1C -#define MAPSEC_ROUTE_114 0x1D -#define MAPSEC_ROUTE_115 0x1E -#define MAPSEC_ROUTE_116 0x1F -#define MAPSEC_ROUTE_117 0x20 -#define MAPSEC_ROUTE_118 0x21 -#define MAPSEC_ROUTE_119 0x22 -#define MAPSEC_ROUTE_120 0x23 -#define MAPSEC_ROUTE_121 0x24 -#define MAPSEC_ROUTE_122 0x25 -#define MAPSEC_ROUTE_123 0x26 -#define MAPSEC_ROUTE_124 0x27 -#define MAPSEC_ROUTE_125 0x28 -#define MAPSEC_ROUTE_126 0x29 -#define MAPSEC_ROUTE_127 0x2A -#define MAPSEC_ROUTE_128 0x2B -#define MAPSEC_ROUTE_129 0x2C -#define MAPSEC_ROUTE_130 0x2D -#define MAPSEC_ROUTE_131 0x2E -#define MAPSEC_ROUTE_132 0x2F -#define MAPSEC_ROUTE_133 0x30 -#define MAPSEC_ROUTE_134 0x31 -#define MAPSEC_UNDERWATER1 0x32 -#define MAPSEC_UNDERWATER2 0x33 -#define MAPSEC_UNDERWATER3 0x34 -#define MAPSEC_UNDERWATER4 0x35 -#define MAPSEC_UNDERWATER5 0x36 -#define MAPSEC_GRANITE_CAVE 0x37 -#define MAPSEC_MT_CHIMNEY 0x38 -#define MAPSEC_SAFARI_ZONE 0x39 -#define MAPSEC_BATTLE_TOWER 0x3A -#define MAPSEC_PETALBURG_WOODS 0x3B -#define MAPSEC_RUSTURF_TUNNEL 0x3C -#define MAPSEC_ABANDONED_SHIP 0x3D -#define MAPSEC_NEW_MAUVILLE 0x3E -#define MAPSEC_METEOR_FALLS_1 0x3F -#define MAPSEC_METEOR_FALLS_2 0x40 -#define MAPSEC_MT_PYRE 0x41 -#define MAPSEC_EVIL_TEAM_HIDEOUT 0x42 -#define MAPSEC_SHOAL_CAVE 0x43 -#define MAPSEC_SEAFLOOR_CAVERN 0x44 -#define MAPSEC_UNDERWATER6 0x45 -#define MAPSEC_VICTORY_ROAD 0x46 -#define MAPSEC_MIRAGE_ISLAND 0x47 -#define MAPSEC_CAVE_OF_ORIGIN 0x48 -#define MAPSEC_SOUTHERN_ISLAND 0x49 -#define MAPSEC_FIERY_PATH_1 0x4A -#define MAPSEC_FIERY_PATH_2 0x4B -#define MAPSEC_JAGGED_PASS_1 0x4C -#define MAPSEC_JAGGED_PASS_2 0x4D -#define MAPSEC_SEALED_CHAMBER 0x4E -#define MAPSEC_UNDERWATER7 0x4F -#define MAPSEC_SCORCHED_SLAB 0x50 -#define MAPSEC_ISLAND_CAVE 0x51 -#define MAPSEC_DESERT_RUINS 0x52 -#define MAPSEC_ANCIENT_TOMB 0x53 -#define MAPSEC_INSIDE_OF_TRUCK 0x54 -#define MAPSEC_SKY_PILLAR 0x55 -#define MAPSEC_SECRET_BASE 0x56 -#define MAPSEC_UNK_0x57 0x57 -#define MAPSEC_NONE 0x58 - #define MAP_WIDTH 28 #define MAP_HEIGHT 15 #define MAPCURSOR_X_MIN 1 @@ -243,19 +153,19 @@ const struct RegionMapLocation gRegionMapLocations[] = static const u16 gUnknown_083E7684[][2] = { - {MAPSEC_UNDERWATER1, MAPSEC_ROUTE_124}, - {MAPSEC_UNDERWATER2, MAPSEC_ROUTE_126}, - {MAPSEC_UNDERWATER3, MAPSEC_ROUTE_127}, - {MAPSEC_UNDERWATER4, MAPSEC_ROUTE_128}, - {MAPSEC_UNDERWATER5, MAPSEC_SOOTOPOLIS_CITY}, - {MAPSEC_UNDERWATER6, MAPSEC_ROUTE_128}, - {MAPSEC_EVIL_TEAM_HIDEOUT, MAPSEC_LILYCOVE_CITY}, - {MAPSEC_UNDERWATER7, MAPSEC_ROUTE_134}, - {MAPSEC_PETALBURG_WOODS, MAPSEC_ROUTE_104}, - {MAPSEC_JAGGED_PASS_1, MAPSEC_ROUTE_112}, - {MAPSEC_MT_PYRE, MAPSEC_ROUTE_122}, - {MAPSEC_SKY_PILLAR, MAPSEC_ROUTE_131}, - {MAPSEC_NONE, MAPSEC_NONE}, + {MAPSEC_Underwater124, MAPSEC_Route124}, + {MAPSEC_Underwater125, MAPSEC_Route126}, + {MAPSEC_Underwater126, MAPSEC_Route127}, + {MAPSEC_Underwater127, MAPSEC_Route128}, + {MAPSEC_UnderwaterSootopolis, MAPSEC_SootopolisCity}, + {MAPSEC_Underwater128, MAPSEC_Route128}, + {MAPSEC_EvilTeamHideout, MAPSEC_LilycoveCity}, + {MAPSEC_UnderwaterSealedChamber, MAPSEC_Route134}, + {MAPSEC_PetalburgWoods, MAPSEC_Route104}, + {MAPSEC_JaggedPass, MAPSEC_Route112}, + {MAPSEC_MtPyre, MAPSEC_Route122}, + {MAPSEC_SkyPillar, MAPSEC_Route131}, + {MAPSEC_Nothing, MAPSEC_Nothing}, }; static u8 sub_80FAB78(void); @@ -669,7 +579,7 @@ void UpdateRegionMapVideoRegs(void) } } -void sub_80FB2A4(s16 a, s16 b) +void RegionMapDefaultZoomOffsetPlayerSprite(s16 a, s16 b) { CalcZoomScrollParams(a, b, 0x38, 0x48, 0x100, 0x100, 0); UpdateRegionMapVideoRegs(); @@ -683,7 +593,7 @@ void sub_80FB2A4(s16 a, s16 b) static u16 GetRegionMapSectionAt(u16 x, u16 y) { if (y < MAPCURSOR_Y_MIN || y > MAPCURSOR_Y_MAX || x < MAPCURSOR_X_MIN || x > MAPCURSOR_X_MAX) - return MAPSEC_NONE; + return MAPSEC_Nothing; y -= MAPCURSOR_Y_MIN; x -= MAPCURSOR_X_MIN; return sRegionMapLayout[x + y * 28]; @@ -722,7 +632,7 @@ static void InitializeCursorPosition(void) mapHeight = gMapHeader.mapData->height; x = gSaveBlock1.pos.x; y = gSaveBlock1.pos.y; - if (gRegionMap->mapSectionId == MAPSEC_UNDERWATER6) + if (gRegionMap->mapSectionId == MAPSEC_Underwater128) gRegionMap->playerIsInCave = TRUE; break; case 3: @@ -749,7 +659,7 @@ static void InitializeCursorPosition(void) struct WarpData *r4; gRegionMap->mapSectionId = gMapHeader.regionMapSectionId; - if (gRegionMap->mapSectionId != MAPSEC_UNK_0x57) + if (gRegionMap->mapSectionId != MAPSEC_Dynamic) { r4 = &gSaveBlock1.warp4; mapHeader = Overworld_GetMapHeaderByGroupAndId(r4->mapGroup, r4->mapNum); @@ -787,12 +697,12 @@ static void InitializeCursorPosition(void) switch (gRegionMap->mapSectionId) { - case MAPSEC_ROUTE_114: + case MAPSEC_Route114: if (y != 0) x = 0; break; - case MAPSEC_ROUTE_126: - case MAPSEC_UNDERWATER2: + case MAPSEC_Route126: + case MAPSEC_Underwater125: x = 0; if (gSaveBlock1.pos.x > 32) x = 1; @@ -804,7 +714,7 @@ static void InitializeCursorPosition(void) if (gSaveBlock1.pos.y > 0x38) y++; break; - case MAPSEC_ROUTE_121: + case MAPSEC_Route121: x = 0; if (r9 > 14) x = 1; @@ -830,16 +740,16 @@ static void sub_80FB600(void) switch (GetSSTidalLocation(&mapGroup, &mapNum, &sp2, &sp4)) { case 1: - gRegionMap->mapSectionId = MAPSEC_SLATEPORT_CITY; + gRegionMap->mapSectionId = MAPSEC_SlateportCity; break; case 2: - gRegionMap->mapSectionId = MAPSEC_LILYCOVE_CITY; + gRegionMap->mapSectionId = MAPSEC_LilycoveCity; break; case 3: - gRegionMap->mapSectionId = MAPSEC_ROUTE_124; + gRegionMap->mapSectionId = MAPSEC_Route124; break; case 4: - gRegionMap->mapSectionId = MAPSEC_ROUTE_131; + gRegionMap->mapSectionId = MAPSEC_Route131; break; default: case 0: @@ -873,44 +783,44 @@ static u16 sub_80FB758(u16 mapSectionId) { switch (mapSectionId) { - case MAPSEC_NONE: + case MAPSEC_Nothing: return 0; - case MAPSEC_LITTLEROOT_TOWN: + case MAPSEC_LittlerootTown: return FlagGet(FLAG_VISITED_LITTLEROOT_TOWN) ? 2 : 3; - case MAPSEC_OLDALE_TOWN: + case MAPSEC_OldaleTown: return FlagGet(FLAG_VISITED_OLDALE_TOWN) ? 2 : 3; - case MAPSEC_DEWFORD_TOWN: + case MAPSEC_DewfordTown: return FlagGet(FLAG_VISITED_DEWFORD_TOWN) ? 2 : 3; - case MAPSEC_LAVARIDGE_TOWN: + case MAPSEC_LavaridgeTown: return FlagGet(FLAG_VISITED_LAVARIDGE_TOWN) ? 2 : 3; - case MAPSEC_FALLARBOR_TOWN: + case MAPSEC_FallarborTown: return FlagGet(FLAG_VISITED_FALLARBOR_TOWN) ? 2 : 3; - case MAPSEC_VERDANTURF_TOWN: + case MAPSEC_VerdanturfTown: return FlagGet(FLAG_VISITED_VERDANTURF_TOWN) ? 2 : 3; - case MAPSEC_PACIFIDLOG_TOWN: + case MAPSEC_PacifidlogTown: return FlagGet(FLAG_VISITED_PACIFIDLOG_TOWN) ? 2 : 3; - case MAPSEC_PETALBURG_CITY: + case MAPSEC_PetalburgCity: return FlagGet(FLAG_VISITED_PETALBURG_CITY) ? 2 : 3; - case MAPSEC_SLATEPORT_CITY: + case MAPSEC_SlateportCity: return FlagGet(FLAG_VISITED_SLATEPORT_CITY) ? 2 : 3; - case MAPSEC_MAUVILLE_CITY: + case MAPSEC_MauvilleCity: return FlagGet(FLAG_VISITED_MAUVILLE_CITY) ? 2 : 3; - case MAPSEC_RUSTBORO_CITY: + case MAPSEC_RustboroCity: return FlagGet(FLAG_VISITED_RUSTBORO_CITY) ? 2 : 3; - case MAPSEC_FORTREE_CITY: + case MAPSEC_FortreeCity: return FlagGet(FLAG_VISITED_FORTREE_CITY) ? 2 : 3; - case MAPSEC_LILYCOVE_CITY: + case MAPSEC_LilycoveCity: return FlagGet(FLAG_VISITED_LILYCOVE_CITY) ? 2 : 3; - case MAPSEC_MOSSDEEP_CITY: + case MAPSEC_MossdeepCity: return FlagGet(FLAG_VISITED_MOSSDEEP_CITY) ? 2 : 3; - case MAPSEC_SOOTOPOLIS_CITY: + case MAPSEC_SootopolisCity: return FlagGet(FLAG_VISITED_SOOTOPOLIS_CITY) ? 2 : 3; - case MAPSEC_EVER_GRANDE_CITY: + case MAPSEC_EverGrandeCity: return FlagGet(FLAG_VISITED_EVER_GRANDE_CITY) ? 2 : 3; - case MAPSEC_BATTLE_TOWER: + case MAPSEC_BattleTower: return FlagGet(FLAG_LANDMARK_BATTLE_TOWER) ? 4 : 0; - case MAPSEC_SOUTHERN_ISLAND: + case MAPSEC_SouthernIsland: return FlagGet(FLAG_LANDMARK_SOUTHERN_ISLAND) ? 1 : 0; default: return 1; @@ -926,7 +836,7 @@ static u16 sub_80FB9C0(u16 mapSectionId) { u16 i; - for (i = 0; gUnknown_083E7684[i][0] != MAPSEC_NONE; i++) + for (i = 0; gUnknown_083E7684[i][0] != MAPSEC_Nothing; i++) { if (gUnknown_083E7684[i][0] == mapSectionId) return gUnknown_083E7684[i][1]; @@ -945,7 +855,7 @@ static void sub_80FBA18(void) u16 y; u16 i; - if (gRegionMap->mapSectionId == MAPSEC_NONE) + if (gRegionMap->mapSectionId == MAPSEC_Nothing) { gRegionMap->everGrandeCityArea = 0; return; @@ -1298,9 +1208,9 @@ void sub_80FBF94(void) const u8 *GetMapSectionName(u8 *dest, u16 mapSectionId, u16 length) { - if (mapSectionId == MAPSEC_SECRET_BASE) + if (mapSectionId == MAPSEC_SecretBase) return GetSecretBaseMapName(dest); - if (mapSectionId < MAPSEC_NONE) + if (mapSectionId < MAPSEC_Nothing) return StringCopy(dest, gRegionMapLocations[mapSectionId].regionMapSectionId); if (length == 0) length = 18; @@ -1311,9 +1221,9 @@ const u8 *CopyMapName(u8 *dest, u16 mapSectionId) { switch (mapSectionId) { - case MAPSEC_UNK_0x57: + case MAPSEC_Dynamic: return StringCopy(dest, gOtherText_Ferry); - case MAPSEC_SECRET_BASE: + case MAPSEC_SecretBase: return StringCopy(dest, gOtherText_SecretBase); default: return GetMapSectionName(dest, mapSectionId, 0); @@ -1322,7 +1232,7 @@ const u8 *CopyMapName(u8 *dest, u16 mapSectionId) const u8 *CopyLocationName(u8 *dest, u16 mapSectionId) { - if (mapSectionId == MAPSEC_EVIL_TEAM_HIDEOUT) + if (mapSectionId == MAPSEC_EvilTeamHideout) return StringCopy(dest, gOtherText_Hideout); else return CopyMapName(dest, mapSectionId); @@ -1420,7 +1330,7 @@ struct MultiPartMapSection // Map sections that are divided into multiple parts. Ever Grande City is the only one. static const struct MultiPartMapSection sMultiPartMapSections[1] = { - {sEverGrandeCityAreaNames, MAPSEC_EVER_GRANDE_CITY, FLAG_SYS_POKEMON_LEAGUE_FLY}, + {sEverGrandeCityAreaNames, MAPSEC_EverGrandeCity, FLAG_SYS_POKEMON_LEAGUE_FLY}, }; static struct UnknownStruct3 *const sFlyDataPtr = (struct UnknownStruct3 *)gSharedMem; @@ -1431,8 +1341,8 @@ static const struct SpritePalette sFlyTargetIconSpritePalette = {sFlyTargetIcons static const u16 sSpecialFlyAreas[][2] = { // flag, mapSectionId - {0x848, MAPSEC_BATTLE_TOWER}, - {0xFFFF, MAPSEC_NONE}, + {0x848, MAPSEC_BattleTower}, + {0xFFFF, MAPSEC_Nothing}, }; static const struct OamData sFlyTargetOamData = @@ -1697,7 +1607,7 @@ static void CreateSpecialAreaFlyTargetIcons(void) { u16 i; - for (i = 0; sSpecialFlyAreas[i][1] != MAPSEC_NONE; i++) + for (i = 0; sSpecialFlyAreas[i][1] != MAPSEC_Nothing; i++) { u16 x; u16 y; @@ -1806,16 +1716,16 @@ void sub_80FC69C(void) { switch (sFlyDataPtr->regionMap.mapSectionId) { - case MAPSEC_SOUTHERN_ISLAND: + case MAPSEC_SouthernIsland: sub_8053538(22); break; - case MAPSEC_BATTLE_TOWER: + case MAPSEC_BattleTower: sub_8053538(21); break; - case MAPSEC_LITTLEROOT_TOWN: + case MAPSEC_LittlerootTown: sub_8053538((gSaveBlock2.playerGender == MALE) ? 12 : 13); break; - case MAPSEC_EVER_GRANDE_CITY: + case MAPSEC_EverGrandeCity: sub_8053538((FlagGet(FLAG_SYS_POKEMON_LEAGUE_FLY) && sFlyDataPtr->regionMap.everGrandeCityArea == 0) ? 20 : 11); break; default: diff --git a/src/tv.c b/src/tv.c index 7cf549802..046c6f14c 100644 --- a/src/tv.c +++ b/src/tv.c @@ -40,7 +40,7 @@ #include "text.h" #include "ewram.h" #include "constants/moves.h" -#include "region_map_sections.h" +#include "constants/region_map_sections.h" struct UnkTvStruct { -- cgit v1.2.3 From b11edef8f1a5f2b745e3bcd28b677a5fe0c3510b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 24 Apr 2018 22:36:38 -0400 Subject: Another minor renaming --- src/pokedex_area_screen.c | 3 +-- src/region_map.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 1ca9a67e3..4cf13da76 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -1,4 +1,3 @@ - // Includes #include "global.h" #include "constants/species.h" @@ -290,7 +289,7 @@ static void SetAreaHasMon(u16 mapGroup, u16 mapNum) { gPokedexAreaScreenPtr->overworldAreasWithMons[gPokedexAreaScreenPtr->numOverworldAreas].mapGroup = mapGroup; gPokedexAreaScreenPtr->overworldAreasWithMons[gPokedexAreaScreenPtr->numOverworldAreas].mapNum = mapNum; - gPokedexAreaScreenPtr->overworldAreasWithMons[gPokedexAreaScreenPtr->numOverworldAreas].regionMapSectionId = sub_80FBA04(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); + gPokedexAreaScreenPtr->overworldAreasWithMons[gPokedexAreaScreenPtr->numOverworldAreas].regionMapSectionId = GetOverworldMapFromUnderwaterMap(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId); gPokedexAreaScreenPtr->numOverworldAreas++; } } diff --git a/src/region_map.c b/src/region_map.c index 7bd303252..11ec64f19 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -151,7 +151,7 @@ const struct RegionMapLocation gRegionMapLocations[] = { 0, 0, 1, 1, gMapName_None}, }; -static const u16 gUnknown_083E7684[][2] = +static const u16 sUnderwaterMaps[][2] = { {MAPSEC_Underwater124, MAPSEC_Route124}, {MAPSEC_Underwater125, MAPSEC_Route126}, @@ -179,7 +179,7 @@ static u16 GetRegionMapSectionAt(u16, u16); static void InitializeCursorPosition(void); static void sub_80FB600(void); static u16 sub_80FB758(u16); -static u16 sub_80FB9C0(u16); +static u16 GetOverworldMapFromUnderwaterMap_(u16); static void sub_80FBA18(void); static bool8 sub_80FBAA0(u16); void CreateRegionMapCursor(u16, u16); @@ -241,7 +241,7 @@ bool8 sub_80FA940(void) gRegionMap->unk74 = gRegionMap->cursorPosX; gRegionMap->unk76 = gRegionMap->cursorPosY; gRegionMap->unk16 = sub_80FB758(gRegionMap->mapSectionId); - gRegionMap->mapSectionId = sub_80FB9C0(gRegionMap->mapSectionId); + gRegionMap->mapSectionId = GetOverworldMapFromUnderwaterMap_(gRegionMap->mapSectionId); GetMapSectionName(gRegionMap->mapSectionName, gRegionMap->mapSectionId, 16); break; case 6: @@ -832,21 +832,21 @@ u16 GetRegionMapSectionAt_(u16 x, u16 y) return GetRegionMapSectionAt(x, y); } -static u16 sub_80FB9C0(u16 mapSectionId) +static u16 GetOverworldMapFromUnderwaterMap_(u16 mapSectionId) { u16 i; - for (i = 0; gUnknown_083E7684[i][0] != MAPSEC_Nothing; i++) + for (i = 0; sUnderwaterMaps[i][0] != MAPSEC_Nothing; i++) { - if (gUnknown_083E7684[i][0] == mapSectionId) - return gUnknown_083E7684[i][1]; + if (sUnderwaterMaps[i][0] == mapSectionId) + return sUnderwaterMaps[i][1]; } return mapSectionId; } -u16 sub_80FBA04(u16 mapSectionId) +u16 GetOverworldMapFromUnderwaterMap(u16 mapSectionId) { - return sub_80FB9C0(mapSectionId); + return GetOverworldMapFromUnderwaterMap_(mapSectionId); } static void sub_80FBA18(void) -- cgit v1.2.3 From ca09158b73ba10b566db1f815ea2d826fc0f9024 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 25 Apr 2018 15:11:44 -0400 Subject: Decompile remaining easy chat data --- src/data/text/easy_chat/group_name_table.h | 29 + src/data/text/easy_chat/group_orders.h | 51 + src/data/text/easy_chat/group_sizes.h | 29 + src/data/text/easy_chat/group_words.h | 51 + src/data/text/easy_chat/groups/actions/order.h | 168 ++ src/data/text/easy_chat/groups/actions/words.h | 166 ++ src/data/text/easy_chat/groups/adjectives/order.h | 84 + src/data/text/easy_chat/groups/adjectives/words.h | 82 + src/data/text/easy_chat/groups/battle/order.h | 138 ++ src/data/text/easy_chat/groups/battle/words.h | 136 ++ src/data/text/easy_chat/groups/conditions/order.h | 150 ++ src/data/text/easy_chat/groups/conditions/words.h | 148 ++ src/data/text/easy_chat/groups/endings/order.h | 150 ++ src/data/text/easy_chat/groups/endings/words.h | 148 ++ src/data/text/easy_chat/groups/events/order.h | 56 + src/data/text/easy_chat/groups/events/words.h | 54 + src/data/text/easy_chat/groups/feelings/order.h | 150 ++ src/data/text/easy_chat/groups/feelings/words.h | 148 ++ src/data/text/easy_chat/groups/greetings/order.h | 96 + src/data/text/easy_chat/groups/greetings/words.h | 94 + src/data/text/easy_chat/groups/hobbies/order.h | 120 ++ src/data/text/easy_chat/groups/hobbies/words.h | 118 ++ src/data/text/easy_chat/groups/lifestyle/order.h | 102 + src/data/text/easy_chat/groups/lifestyle/words.h | 100 + src/data/text/easy_chat/groups/misc/order.h | 96 + src/data/text/easy_chat/groups/misc/words.h | 94 + src/data/text/easy_chat/groups/move_1/order.h | 318 +++ src/data/text/easy_chat/groups/move_1/words.h | 162 ++ src/data/text/easy_chat/groups/move_2/order.h | 400 ++++ src/data/text/easy_chat/groups/move_2/words.h | 203 ++ src/data/text/easy_chat/groups/people/order.h | 162 ++ src/data/text/easy_chat/groups/people/words.h | 160 ++ src/data/text/easy_chat/groups/pokemon/order.h | 416 ++++ src/data/text/easy_chat/groups/pokemon/words.h | 211 ++ src/data/text/easy_chat/groups/pokemon_2/order.h | 514 +++++ src/data/text/easy_chat/groups/pokemon_2/words.h | 260 +++ src/data/text/easy_chat/groups/speech/order.h | 132 ++ src/data/text/easy_chat/groups/speech/words.h | 130 ++ src/data/text/easy_chat/groups/status/order.h | 230 +++ src/data/text/easy_chat/groups/status/words.h | 228 +++ src/data/text/easy_chat/groups/time/order.h | 102 + src/data/text/easy_chat/groups/time/words.h | 100 + src/data/text/easy_chat/groups/trainer/order.h | 50 + src/data/text/easy_chat/groups/trainer/words.h | 48 + .../text/easy_chat/groups/trendy_saying/order.h | 78 + .../text/easy_chat/groups/trendy_saying/words.h | 76 + src/data/text/easy_chat/groups/voices/order.h | 138 ++ src/data/text/easy_chat/groups/voices/words.h | 136 ++ src/data/text/easy_chat/words_by_letter.h | 2042 ++++++++++++++++++++ src/easy_chat_2.c | 18 +- 50 files changed, 9062 insertions(+), 10 deletions(-) create mode 100644 src/data/text/easy_chat/group_name_table.h create mode 100644 src/data/text/easy_chat/group_orders.h create mode 100644 src/data/text/easy_chat/group_sizes.h create mode 100644 src/data/text/easy_chat/group_words.h create mode 100644 src/data/text/easy_chat/groups/actions/order.h create mode 100644 src/data/text/easy_chat/groups/actions/words.h create mode 100644 src/data/text/easy_chat/groups/adjectives/order.h create mode 100644 src/data/text/easy_chat/groups/adjectives/words.h create mode 100644 src/data/text/easy_chat/groups/battle/order.h create mode 100644 src/data/text/easy_chat/groups/battle/words.h create mode 100644 src/data/text/easy_chat/groups/conditions/order.h create mode 100644 src/data/text/easy_chat/groups/conditions/words.h create mode 100644 src/data/text/easy_chat/groups/endings/order.h create mode 100644 src/data/text/easy_chat/groups/endings/words.h create mode 100644 src/data/text/easy_chat/groups/events/order.h create mode 100644 src/data/text/easy_chat/groups/events/words.h create mode 100644 src/data/text/easy_chat/groups/feelings/order.h create mode 100644 src/data/text/easy_chat/groups/feelings/words.h create mode 100644 src/data/text/easy_chat/groups/greetings/order.h create mode 100644 src/data/text/easy_chat/groups/greetings/words.h create mode 100644 src/data/text/easy_chat/groups/hobbies/order.h create mode 100644 src/data/text/easy_chat/groups/hobbies/words.h create mode 100644 src/data/text/easy_chat/groups/lifestyle/order.h create mode 100644 src/data/text/easy_chat/groups/lifestyle/words.h create mode 100644 src/data/text/easy_chat/groups/misc/order.h create mode 100644 src/data/text/easy_chat/groups/misc/words.h create mode 100644 src/data/text/easy_chat/groups/move_1/order.h create mode 100644 src/data/text/easy_chat/groups/move_1/words.h create mode 100644 src/data/text/easy_chat/groups/move_2/order.h create mode 100644 src/data/text/easy_chat/groups/move_2/words.h create mode 100644 src/data/text/easy_chat/groups/people/order.h create mode 100644 src/data/text/easy_chat/groups/people/words.h create mode 100644 src/data/text/easy_chat/groups/pokemon/order.h create mode 100644 src/data/text/easy_chat/groups/pokemon/words.h create mode 100644 src/data/text/easy_chat/groups/pokemon_2/order.h create mode 100644 src/data/text/easy_chat/groups/pokemon_2/words.h create mode 100644 src/data/text/easy_chat/groups/speech/order.h create mode 100644 src/data/text/easy_chat/groups/speech/words.h create mode 100644 src/data/text/easy_chat/groups/status/order.h create mode 100644 src/data/text/easy_chat/groups/status/words.h create mode 100644 src/data/text/easy_chat/groups/time/order.h create mode 100644 src/data/text/easy_chat/groups/time/words.h create mode 100644 src/data/text/easy_chat/groups/trainer/order.h create mode 100644 src/data/text/easy_chat/groups/trainer/words.h create mode 100644 src/data/text/easy_chat/groups/trendy_saying/order.h create mode 100644 src/data/text/easy_chat/groups/trendy_saying/words.h create mode 100644 src/data/text/easy_chat/groups/voices/order.h create mode 100644 src/data/text/easy_chat/groups/voices/words.h create mode 100644 src/data/text/easy_chat/words_by_letter.h (limited to 'src') diff --git a/src/data/text/easy_chat/group_name_table.h b/src/data/text/easy_chat/group_name_table.h new file mode 100644 index 000000000..7c2e6b374 --- /dev/null +++ b/src/data/text/easy_chat/group_name_table.h @@ -0,0 +1,29 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUP_NAME_TABLE +#define DATA_TEXT_EASY_CHAT_GROUP_NAME_TABLE + +const u8 * gEasyChatGroupNames[] = { + gEasyChatGroupName_Pokemon, + gEasyChatGroupName_Trainer, + gEasyChatGroupName_Status, + gEasyChatGroupName_Battle, + gEasyChatGroupName_Greetings, + gEasyChatGroupName_People, + gEasyChatGroupName_Voices, + gEasyChatGroupName_Speech, + gEasyChatGroupName_Endings, + gEasyChatGroupName_Feelings, + gEasyChatGroupName_Conditions, + gEasyChatGroupName_Actions, + gEasyChatGroupName_Lifestyle, + gEasyChatGroupName_Hobbies, + gEasyChatGroupName_Time, + gEasyChatGroupName_Misc, + gEasyChatGroupName_Adjectives, + gEasyChatGroupName_Events, + gEasyChatGroupName_Move1, + gEasyChatGroupName_Move2, + gEasyChatGroupName_TrendySaying, + gEasyChatGroupName_Pokemon2, +}; + +#endif // DATA_TEXT_EASY_CHAT_GROUP_NAME_TABLE diff --git a/src/data/text/easy_chat/group_orders.h b/src/data/text/easy_chat/group_orders.h new file mode 100644 index 000000000..cb92b8d4c --- /dev/null +++ b/src/data/text/easy_chat/group_orders.h @@ -0,0 +1,51 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUP_ORDERS +#define DATA_TEXT_EASY_CHAT_GROUP_ORDERS + +#include "groups/pokemon/order.h" +#include "groups/trainer/order.h" +#include "groups/status/order.h" +#include "groups/battle/order.h" +#include "groups/greetings/order.h" +#include "groups/people/order.h" +#include "groups/voices/order.h" +#include "groups/speech/order.h" +#include "groups/endings/order.h" +#include "groups/feelings/order.h" +#include "groups/conditions/order.h" +#include "groups/actions/order.h" +#include "groups/lifestyle/order.h" +#include "groups/hobbies/order.h" +#include "groups/time/order.h" +#include "groups/misc/order.h" +#include "groups/adjectives/order.h" +#include "groups/events/order.h" +#include "groups/move_1/order.h" +#include "groups/move_2/order.h" +#include "groups/trendy_saying/order.h" +#include "groups/pokemon_2/order.h" + +const u16 * gEasyChatGroupOrders[] = { + gEasyChatGroupOrder_Pokemon, + gEasyChatGroupOrder_Trainer, + gEasyChatGroupOrder_Status, + gEasyChatGroupOrder_Battle, + gEasyChatGroupOrder_Greetings, + gEasyChatGroupOrder_People, + gEasyChatGroupOrder_Voices, + gEasyChatGroupOrder_Speech, + gEasyChatGroupOrder_Endings, + gEasyChatGroupOrder_Feelings, + gEasyChatGroupOrder_Conditions, + gEasyChatGroupOrder_Actions, + gEasyChatGroupOrder_Lifestyle, + gEasyChatGroupOrder_Hobbies, + gEasyChatGroupOrder_Time, + gEasyChatGroupOrder_Misc, + gEasyChatGroupOrder_Adjectives, + gEasyChatGroupOrder_Events, + gEasyChatGroupOrder_Move1, + gEasyChatGroupOrder_Move2, + gEasyChatGroupOrder_TrendySaying, + gEasyChatGroupOrder_Pokemon2 +}; +#endif // DATA_TEXT_EASY_CHAT_GROUP_ORDERS diff --git a/src/data/text/easy_chat/group_sizes.h b/src/data/text/easy_chat/group_sizes.h new file mode 100644 index 000000000..2b3d72607 --- /dev/null +++ b/src/data/text/easy_chat/group_sizes.h @@ -0,0 +1,29 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUP_SIZES +#define DATA_TEXT_EASY_CHAT_GROUP_SIZES + +u8 gEasyChatGroupSizes[] = { + 202, // POKEMON + 19, // TRAINER + 109, // STATUS + 63, // BATTLE + 42, // GREETINGS + 75, // PEOPLE + 63, // VOICES + 60, // SPEECH + 69, // ENDINGS + 69, // FEELINGS + 69, // CONDITIONS + 78, // ACTIONS + 45, // LIFESTYLE + 54, // HOBBIES + 45, // TIME + 42, // MISC + 36, // ADJECTIVES + 22, // EVENTS + 153, // MOVE_1 + 194, // MOVE_2 + 33, // TRENDY_SAYING + 251, // POKEMON_2 +}; + +#endif // DATA_TEXT_EASY_CHAT_GROUP_SIZES diff --git a/src/data/text/easy_chat/group_words.h b/src/data/text/easy_chat/group_words.h new file mode 100644 index 000000000..1c4461e59 --- /dev/null +++ b/src/data/text/easy_chat/group_words.h @@ -0,0 +1,51 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUP_WORDS +#define DATA_TEXT_EASY_CHAT_GROUP_WORDS + +#include "groups/pokemon/words.h" +#include "groups/trainer/words.h" +#include "groups/status/words.h" +#include "groups/battle/words.h" +#include "groups/greetings/words.h" +#include "groups/people/words.h" +#include "groups/voices/words.h" +#include "groups/speech/words.h" +#include "groups/endings/words.h" +#include "groups/feelings/words.h" +#include "groups/conditions/words.h" +#include "groups/actions/words.h" +#include "groups/lifestyle/words.h" +#include "groups/hobbies/words.h" +#include "groups/time/words.h" +#include "groups/misc/words.h" +#include "groups/adjectives/words.h" +#include "groups/events/words.h" +#include "groups/move_1/words.h" +#include "groups/move_2/words.h" +#include "groups/trendy_saying/words.h" +#include "groups/pokemon_2/words.h" + +const u8 * gEasyChatGroupWords[] = { + (const u8 *)gEasyChatGroupWords_Pokemon, + gEasyChatGroupWords_Trainer, + gEasyChatGroupWords_Status, + gEasyChatGroupWords_Battle, + gEasyChatGroupWords_Greetings, + gEasyChatGroupWords_People, + gEasyChatGroupWords_Voices, + gEasyChatGroupWords_Speech, + gEasyChatGroupWords_Endings, + gEasyChatGroupWords_Feelings, + gEasyChatGroupWords_Conditions, + gEasyChatGroupWords_Actions, + gEasyChatGroupWords_Lifestyle, + gEasyChatGroupWords_Hobbies, + gEasyChatGroupWords_Time, + gEasyChatGroupWords_Misc, + gEasyChatGroupWords_Adjectives, + gEasyChatGroupWords_Events, + (const u8 *)gEasyChatGroupWords_Move1, + (const u8 *)gEasyChatGroupWords_Move2, + gEasyChatGroupWords_TrendySaying, + (const u8 *)gEasyChatGroupWords_Pokemon2 +}; +#endif // DATA_TEXT_EASY_CHAT_GROUP_WORDS diff --git a/src/data/text/easy_chat/groups/actions/order.h b/src/data/text/easy_chat/groups/actions/order.h new file mode 100644 index 000000000..f2d67bae1 --- /dev/null +++ b/src/data/text/easy_chat/groups/actions/order.h @@ -0,0 +1,168 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_ACTIONS_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_ACTIONS_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Actions[] = { + 72, + 14, + 48, + 75, + 39, + 36, + 28, + 46, + 31, + 19, + 26, + 6, + 27, + 1, + 45, + 47, + 54, + 41, + 76, + 77, + 73, + 74, + 2, + 3, + 24, + 37, + 32, + 33, + 22, + 18, + 23, + 67, + 30, + 0, + 65, + 70, + 4, + 5, + 17, + 64, + 63, + 34, + 53, + 56, + 55, + 11, + 9, + 29, + 69, + 68, + 66, + 61, + 52, + 51, + 40, + 62, + 35, + 20, + 71, + 60, + 59, + 15, + 16, + 38, + 49, + 25, + 21, + 42, + 43, + 44, + 12, + 13, + 7, + 8, + 10, + 58, + 57, + 50, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Actions[] = { + 36, + 58, + 14, + 12, + 76, + 70, + 17, + 38, + 72, + 48, + 75, + 71, + 46, + 53, + 2, + 42, + 43, + 24, + 3, + 10, + 39, + 40, + 22, + 31, + 23, + 37, + 41, + 28, + 77, + 27, + 45, + 35, + 15, + 16, + 18, + 64, + 30, + 59, + 60, + 56, + 55, + 1, + 9, + 11, + 6, + 67, + 52, + 62, + 51, + 57, + 68, + 50, + 5, + 4, + 20, + 69, + 29, + 25, + 0, + 54, + 65, + 73, + 74, + 47, + 61, + 21, + 44, + 63, + 13, + 26, + 7, + 8, + 19, + 34, + 33, + 49, + 32, + 66, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_ACTIONS_ORDER diff --git a/src/data/text/easy_chat/groups/actions/words.h b/src/data/text/easy_chat/groups/actions/words.h new file mode 100644 index 000000000..231333963 --- /dev/null +++ b/src/data/text/easy_chat/groups/actions/words.h @@ -0,0 +1,166 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_ACTIONS_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_ACTIONS_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Actions[] = _( + "MEETS$" + "CONCEDE$" + "GIVE$" + "GIVES$" + "PLAYED$" + "PLAYS$" + "COLLECT$" + "WALKING$" + "WALKS$" + "SAYS$" + "WENT$" + "SAID$" + "WAKE UP$" + "WAKES UP$" + "ANGERS$" + "TEACH$" + "TEACHES$" + "PLEASE$" + "LEARN$" + "CHANGE$" + "STORY$" + "TRUST$" + "LAVISH$" + "LISTENS$" + "HEARING$" + "TRAINS$" + "CHOOSE$" + "COME$" + "CAME$" + "SEARCH$" + "MAKE$" + "CAUSE$" + "KNOW$" + "KNOWS$" + "REFUSE$" + "STORES$" + "BRAG$" + "IGNORANT$" + "THINKS$" + "BELIEVE$" + "SLIDE$" + "EATS$" + "USE$" + "USES$" + "USING$" + "COULDN’T$" + "CAPABLE$" + "DISAPPEAR$" + "APPEAR$" + "THROW$" + "WORRY$" + "SLEPT$" + "SLEEP$" + "RELEASE$" + "DRINKS$" + "RUNS$" + "RUN$" + "WORKS$" + "WORKING$" + "TALKING$" + "TALK$" + "SINK$" + "SMACK$" + "PRETEND$" + "PRAISE$" + "OVERDO$" + "SHOW$" + "LOOKS$" + "SEES$" + "SEEK$" + "OWN$" + "TAKE$" + "ALLOW$" + "FORGET$" + "FORGETS$" + "APPEARS$" + "FAINT$" + "FAINTED$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Actions[] = _( + "TRIFFT$" + "RESIGNIEREN$" + "GEBEN$" + "GIBT$" + "SPIELTE$" + "SPIELT$" + "SAMMELN$" + "WANDERN$" + "WANDERT$" + "SAGT$" + "GING$" + "SAGTE$" + "AUFWACHEN$" + "WACHT AUF$" + "ÄRGERT$" + "LEHREN$" + "LEHRT$" + "BITTE$" + "LERNE$" + "WECHSELN$" + "STORY$" + "VERTRAUEN$" + "GROSSZÜGIG$" + "HÖRT$" + "GEHÖRT$" + "TRAINIERT$" + "WÄHLEN$" + "KOMMEN$" + "KAM$" + "SUCHE$" + "MACHEN$" + "GRUND$" + "WISSEN$" + "WEISS$" + "WEIGERN$" + "LAGERT$" + "ANGEBEN$" + "IGNORANT$" + "DENKT$" + "GLAUBE$" + "GLEITEN$" + "ISST$" + "GEBRAUCHEN$" + "GEBRAUCHT$" + "VERWENDEN$" + "KÖNNEN NICHT$" + "FÄHIG$" + "VERSCHWINDE$" + "ERSCHEINEN$" + "WERFEN$" + "SORGE$" + "SCHLIEF$" + "SCHLAF$" + "FREILASSEN$" + "TRINKT$" + "RENNT$" + "RENNEN$" + "SEHEN$" + "ARBEITEN$" + "REDEN$" + "REDET$" + "VERSENKEN$" + "SCHLAG$" + "VORTÄUSCHEN$" + "LOBEN$" + "ÜBERTREIBEN$" + "ZEIGEN$" + "SCHAUT$" + "SIEHT$" + "STREBEN NACH$" + "BESITZEN$" + "ERTRAGEN$" + "ERLAUBEN$" + "VERGESSEN$" + "VERGISST$" + "ERSCHEINT$" + "BESIEGEN$" + "KAMPFUNFÄHIG$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_ACTIONS_WORDS diff --git a/src/data/text/easy_chat/groups/adjectives/order.h b/src/data/text/easy_chat/groups/adjectives/order.h new file mode 100644 index 000000000..63440ced7 --- /dev/null +++ b/src/data/text/easy_chat/groups/adjectives/order.h @@ -0,0 +1,84 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_ADJECTIVES_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_ADJECTIVES_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Adjectives[] = { + 35, + 23, + 20, + 31, + 14, + 15, + 32, + 34, + 12, + 3, + 29, + 9, + 33, + 1, + 27, + 2, + 11, + 22, + 26, + 28, + 10, + 18, + 17, + 7, + 16, + 19, + 8, + 5, + 4, + 6, + 13, + 21, + 0, + 24, + 25, + 30, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Adjectives[] = { + 24, + 28, + 17, + 18, + 35, + 23, + 15, + 5, + 19, + 4, + 0, + 8, + 9, + 3, + 21, + 34, + 13, + 30, + 12, + 27, + 31, + 14, + 20, + 6, + 22, + 33, + 11, + 26, + 16, + 2, + 1, + 7, + 29, + 10, + 32, + 25, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_ADJECTIVES_ORDER diff --git a/src/data/text/easy_chat/groups/adjectives/words.h b/src/data/text/easy_chat/groups/adjectives/words.h new file mode 100644 index 000000000..ef5b77b88 --- /dev/null +++ b/src/data/text/easy_chat/groups/adjectives/words.h @@ -0,0 +1,82 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_ADJECTIVES_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_ADJECTIVES_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Adjectives[] = _( + "WANDERING$" + "RICKETY$" + "ROCK-SOLID$" + "HUNGRY$" + "TIGHT$" + "TICKLISH$" + "TWIRLING$" + "SPIRALING$" + "THIRSTY$" + "LOLLING$" + "SILKY$" + "SADLY$" + "HOPELESS$" + "USELESS$" + "DROOLING$" + "EXCITING$" + "THICK$" + "SMOOTH$" + "SLIMY$" + "THIN$" + "BREAK$" + "VORACIOUS$" + "SCATTER$" + "AWESOME$" + "WIMPY$" + "WOBBLY$" + "SHAKY$" + "RIPPED$" + "SHREDDED$" + "INCREASING$" + "YET$" + "DESTROYED$" + "FIERY$" + "LOVEY-DOVEY$" + "HAPPILY$" + "ANTICIPATION$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Adjectives[] = _( + "LATSCH$" + "WACKEL$" + "STEINHART$" + "MAGENKNURR$" + "KNURSCHP$" + "KILLE KILLE$" + "SCHLEUDER$" + "WIRBEL$" + "LECHZ$" + "LÜMMEL RÄKEL$" + "WUSCHEL$" + "SCHNÜFF$" + "OOCH$" + "MÜLL$" + "SABBER$" + "JIPP! JIPP!$" + "SCHWABBEL$" + "GLATT$" + "GLIBBER$" + "KLAPPER$" + "SCHEPPER$" + "MAMPF FRESS$" + "SCHMEISS$" + "IRRE$" + "ANGST BIBBER$" + "ZITTER$" + "SCHÜTTEL$" + "RATSCH$" + "FETZ$" + "WURGS$" + "NÖÖÖ$" + "RUMMS BERST$" + "ZISCH FACKEL$" + "SCHNUCKELIG$" + "MEGAGRINS$" + "GRINS HOFF$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_ADJECTIVES_WORDS diff --git a/src/data/text/easy_chat/groups/battle/order.h b/src/data/text/easy_chat/groups/battle/order.h new file mode 100644 index 000000000..8bae339b9 --- /dev/null +++ b/src/data/text/easy_chat/groups/battle/order.h @@ -0,0 +1,138 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_BATTLE_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_BATTLE_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Battle[] = { + 53, + 39, + 18, + 40, + 11, + 10, + 31, + 17, + 3, + 14, + 56, + 38, + 41, + 29, + 35, + 36, + 45, + 1, + 34, + 50, + 20, + 47, + 8, + 54, + 60, + 37, + 4, + 49, + 46, + 48, + 24, + 0, + 62, + 12, + 2, + 26, + 51, + 43, + 30, + 59, + 55, + 52, + 42, + 61, + 27, + 44, + 23, + 13, + 22, + 32, + 19, + 16, + 21, + 33, + 58, + 15, + 28, + 25, + 57, + 9, + 6, + 5, + 7, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Battle[] = { + 52, + 53, + 18, + 62, + 45, + 42, + 3, + 14, + 19, + 55, + 44, + 38, + 28, + 35, + 36, + 6, + 8, + 5, + 7, + 0, + 31, + 4, + 40, + 41, + 11, + 17, + 30, + 59, + 37, + 56, + 60, + 1, + 20, + 16, + 2, + 26, + 24, + 51, + 43, + 61, + 23, + 34, + 57, + 13, + 25, + 10, + 9, + 27, + 32, + 22, + 29, + 21, + 15, + 54, + 12, + 47, + 49, + 48, + 46, + 50, + 39, + 58, + 33, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_BATTLE_ORDER diff --git a/src/data/text/easy_chat/groups/battle/words.h b/src/data/text/easy_chat/groups/battle/words.h new file mode 100644 index 000000000..115848cf6 --- /dev/null +++ b/src/data/text/easy_chat/groups/battle/words.h @@ -0,0 +1,136 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_BATTLE_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_BATTLE_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Battle[] = _( + "MATCH UP$" + "GO$" + "NO. 1$" + "DECIDE$" + "LET ME WIN$" + "WINS$" + "WIN$" + "WON$" + "IF I WIN$" + "WHEN I WIN$" + "CAN’T WIN$" + "CAN WIN$" + "NO MATCH$" + "SPIRIT$" + "DECIDED$" + "TRUMP CARD$" + "TAKE THAT$" + "COME ON$" + "ATTACK$" + "SURRENDER$" + "GUTSY$" + "TALENT$" + "STRATEGY$" + "SMITE$" + "MATCH$" + "VICTORY$" + "OFFENSIVE$" + "SENSE$" + "VERSUS$" + "FIGHTS$" + "POWER$" + "CHALLENGE$" + "STRONG$" + "TOO STRONG$" + "GO EASY$" + "FOE$" + "GENIUS$" + "LEGEND$" + "ESCAPE$" + "AIM$" + "BATTLE$" + "FIGHT$" + "RESUSCITATE$" + "POINTS$" + "SERIOUS$" + "GIVE UP$" + "LOSS$" + "IF I LOSE$" + "LOST$" + "LOSE$" + "GUARD$" + "PARTNER$" + "REJECT$" + "ACCEPT$" + "INVINCIBLE$" + "RECEIVED$" + "EASY$" + "WEAK$" + "TOO WEAK$" + "PUSHOVER$" + "LEADER$" + "RULE$" + "MOVE$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Battle[] = _( + "HARMONIEREN$" + "LOS$" + "NR. 1$" + "ENTSCHEIDEN$" + "ICH SIEGE!$" + "GEWINNEN$" + "GEWINNE$" + "GEWONNEN$" + "GEWINNE ICH$" + "SIEGE ICH$" + "SIEG UNMÖGL.$" + "KANN SIEGEN$" + "UNTERLEGEN$" + "SEELE$" + "ENTSCHIEDEN$" + "TRUMPFKARTE$" + "NIMM DAS$" + "KOMM SCHON$" + "ANGRIFF$" + "ERGEBEN$" + "MUTIG$" + "TALENTIERT$" + "STRATEGIE$" + "SCHLAGEN$" + "PARTIE$" + "SIEG$" + "OFFENSIV$" + "SINN$" + "GEGEN$" + "STREITEN$" + "KRAFT$" + "HERAUSFORDRG$" + "STARKEN$" + "ZU STARK$" + "SCHONEN$" + "GEGNER$" + "GENIE$" + "LEGENDE$" + "FLUCHT$" + "ZIEL$" + "KÄMPFE$" + "KÄMPFEN$" + "BELEBEN$" + "PUNKTE$" + "ERNSTHAFT$" + "AUFGEBEN$" + "VERLUST$" + "VERLIERE ICH$" + "VERLOREN$" + "VERLIEREN$" + "WACHE$" + "PARTNER$" + "ABLEHNEN$" + "AKZEPTIEREN$" + "UNSCHLAGBAR$" + "ERHALTEN$" + "LEICHT$" + "SCHWACH$" + "ZU SCHWACH$" + "LAPPALIE$" + "LEITER$" + "REGEL$" + "ATTACKE$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_BATTLE_WORDS diff --git a/src/data/text/easy_chat/groups/conditions/order.h b/src/data/text/easy_chat/groups/conditions/order.h new file mode 100644 index 000000000..8c756813a --- /dev/null +++ b/src/data/text/easy_chat/groups/conditions/order.h @@ -0,0 +1,150 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_CONDITIONS_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_CONDITIONS_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Conditions[] = { + 13, + 55, + 23, + 3, + 54, + 68, + 50, + 14, + 60, + 19, + 56, + 10, + 21, + 30, + 38, + 41, + 22, + 36, + 24, + 28, + 2, + 1, + 37, + 35, + 52, + 12, + 8, + 5, + 4, + 27, + 0, + 39, + 63, + 59, + 20, + 6, + 61, + 53, + 51, + 62, + 7, + 33, + 58, + 49, + 15, + 18, + 45, + 47, + 48, + 34, + 25, + 46, + 26, + 31, + 57, + 67, + 66, + 43, + 17, + 40, + 16, + 42, + 11, + 44, + 32, + 29, + 65, + 9, + 64, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Conditions[] = { + 46, + 13, + 55, + 23, + 36, + 10, + 60, + 15, + 66, + 31, + 1, + 28, + 35, + 62, + 59, + 5, + 58, + 57, + 8, + 56, + 3, + 43, + 17, + 65, + 27, + 19, + 4, + 0, + 63, + 26, + 30, + 47, + 40, + 61, + 18, + 51, + 16, + 68, + 34, + 42, + 21, + 49, + 48, + 53, + 45, + 25, + 38, + 22, + 67, + 64, + 54, + 52, + 7, + 14, + 20, + 37, + 44, + 2, + 29, + 39, + 24, + 32, + 9, + 41, + 33, + 12, + 6, + 50, + 11, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_CONDITIONS_ORDER diff --git a/src/data/text/easy_chat/groups/conditions/words.h b/src/data/text/easy_chat/groups/conditions/words.h new file mode 100644 index 000000000..5d6de810a --- /dev/null +++ b/src/data/text/easy_chat/groups/conditions/words.h @@ -0,0 +1,148 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_CONDITIONS_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_CONDITIONS_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Conditions[] = _( + "HOT$" + "EXISTS$" + "EXCESS$" + "APPROVED$" + "HAS$" + "GOOD$" + "LESS$" + "MOMENTUM$" + "GOING$" + "WEIRD$" + "BUSY$" + "TOGETHER$" + "FULL$" + "ABSENT$" + "BEING$" + "NEED$" + "TASTY$" + "SKILLED$" + "NOISY$" + "BIG$" + "LATE$" + "CLOSE$" + "DOCILE$" + "AMUSING$" + "ENTERTAINING$" + "PERFECTION$" + "PRETTY$" + "HEALTHY$" + "EXCELLENT$" + "UPSIDE DOWN$" + "COLD$" + "REFRESHING$" + "UNAVOIDABLE$" + "MUCH$" + "OVERWHELMING$" + "FABULOUS$" + "ELSE$" + "EXPENSIVE$" + "CORRECT$" + "IMPOSSIBLE$" + "SMALL$" + "DIFFERENT$" + "TIRED$" + "SKILL$" + "TOP$" + "NON-STOP$" + "PREPOSTEROUS$" + "NONE$" + "NOTHING$" + "NATURAL$" + "BECOMES$" + "LUKEWARM$" + "FAST$" + "LOW$" + "AWFUL$" + "ALONE$" + "BORED$" + "SECRET$" + "MYSTERY$" + "LACKS$" + "BEST$" + "LOUSY$" + "MISTAKE$" + "KIND$" + "WELL$" + "WEAKENED$" + "SIMPLE$" + "SEEMS$" + "BADLY$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Conditions[] = _( + "HEISS$" + "EXISTIERT$" + "ÜBERMÄSSIG$" + "GENEHMIGT$" + "HAT$" + "FEIN$" + "WENIGER$" + "SCHWUNG$" + "GEHEN$" + "VERRÜCKT$" + "BESCHÄFTIGT$" + "ZUSAMMEN$" + "VOLL$" + "ABWESEND$" + "SEINE$" + "BRAUCHE$" + "LECKER$" + "GESCHICKT$" + "LAUT$" + "GROSS$" + "SPÄT$" + "NAHE BEI$" + "SANFTMÜTIG$" + "AMÜSANT$" + "UNTERHALTSAM$" + "PERFEKTION$" + "HÜBSCH$" + "GESUND$" + "EXZELLENT$" + "UMGEDREHT$" + "KALT$" + "ERFRISCHEND$" + "UNVERMEIDBAR$" + "VIELE$" + "MITREISSEND$" + "FABELHAFT$" + "ANDERES$" + "TEUER$" + "RICHTIG$" + "UNMÖGLICH$" + "KLEIN$" + "VERSCHIEDENE$" + "MÜDE$" + "GESCHICK$" + "TOP$" + "NONSTOP$" + "ABSURD$" + "KEIN$" + "NICHTS$" + "NATÜRLICH$" + "WIRD$" + "LAUWARM$" + "SCHNELL$" + "NIEDRIG$" + "SCHLIMM$" + "ALLEINE$" + "GELANGWEILT$" + "GEHEIMNIS$" + "GEHEIM$" + "FEHLT$" + "BESTES$" + "LAUSIG$" + "FEHLER$" + "HÖFLICH$" + "SCHLECHT$" + "GESCHWÄCHT$" + "EINFACH$" + "SCHEINBAR$" + "MIES$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_CONDITIONS_WORDS diff --git a/src/data/text/easy_chat/groups/endings/order.h b/src/data/text/easy_chat/groups/endings/order.h new file mode 100644 index 000000000..9cfb465d5 --- /dev/null +++ b/src/data/text/easy_chat/groups/endings/order.h @@ -0,0 +1,150 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_ENDINGS_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_ENDINGS_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Endings[] = { + 32, + 39, + 63, + 42, + 33, + 68, + 15, + 46, + 54, + 6, + 64, + 53, + 49, + 22, + 21, + 8, + 59, + 60, + 24, + 25, + 61, + 23, + 50, + 43, + 7, + 30, + 31, + 55, + 11, + 5, + 19, + 12, + 41, + 13, + 58, + 9, + 38, + 34, + 52, + 45, + 36, + 44, + 67, + 2, + 14, + 56, + 40, + 51, + 37, + 66, + 35, + 18, + 3, + 47, + 57, + 16, + 28, + 17, + 29, + 27, + 65, + 26, + 0, + 1, + 48, + 62, + 20, + 4, + 10, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Endings[] = { + 58, + 42, + 66, + 44, + 14, + 57, + 56, + 45, + 54, + 49, + 15, + 35, + 32, + 33, + 52, + 67, + 41, + 5, + 43, + 53, + 46, + 59, + 7, + 30, + 31, + 55, + 68, + 11, + 19, + 50, + 21, + 22, + 8, + 13, + 24, + 61, + 48, + 63, + 23, + 60, + 34, + 12, + 36, + 2, + 62, + 6, + 51, + 18, + 37, + 29, + 25, + 40, + 39, + 9, + 38, + 64, + 65, + 16, + 28, + 27, + 26, + 20, + 0, + 1, + 4, + 10, + 17, + 3, + 47, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_ENDINGS_ORDER diff --git a/src/data/text/easy_chat/groups/endings/words.h b/src/data/text/easy_chat/groups/endings/words.h new file mode 100644 index 000000000..60a40c5ba --- /dev/null +++ b/src/data/text/easy_chat/groups/endings/words.h @@ -0,0 +1,148 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_ENDINGS_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_ENDINGS_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Endings[] = _( + "WILL$" + "WILL BE HERE$" + "OR$" + "TIMES$" + "WONDER$" + "IS IT?$" + "BE$" + "GIMME$" + "COULD$" + "LIKELY TO$" + "WOULD$" + "IS$" + "ISN’T IT?$" + "LET’S$" + "OTHER$" + "ARE$" + "WAS$" + "WERE$" + "THOSE$" + "ISN’T$" + "WON’T$" + "CAN’T$" + "CAN$" + "DON’T$" + "DO$" + "DOES$" + "WHOM$" + "WHICH$" + "WASN’T$" + "WEREN’T$" + "HAVE$" + "HAVEN’T$" + "A$" + "AN$" + "NOT$" + "THERE$" + "OK?$" + "SO$" + "MAYBE$" + "ABOUT$" + "OVER$" + "IT$" + "ALL$" + "FOR$" + "ON$" + "OFF$" + "AS$" + "TO$" + "WITH$" + "BETTER$" + "EVER$" + "SINCE$" + "OF$" + "BELONGS TO$" + "AT$" + "IN$" + "OUT$" + "TOO$" + "LIKE$" + "DID$" + "DIDN’T$" + "DOESN’T$" + "WITHOUT$" + "AFTER$" + "BEFORE$" + "WHILE$" + "THAN$" + "ONCE$" + "ANYWHERE$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Endings[] = _( + "WERDEN$" + "WIRD DA SEIN$" + "ODER$" + "ZEITEN$" + "WUNDER$" + "ES IST$" + "SEI$" + "GIB MIR$" + "KÖNNTE$" + "VERMUTLICH$" + "WÜRDE$" + "IST$" + "NICHT WAHR?$" + "LASS UNS$" + "ANDERE$" + "BIST$" + "WAR$" + "WURDEN$" + "SIND$" + "IST KEIN$" + "WERDE NICHT$" + "KANNST$" + "KÖNNEN$" + "NICHT$" + "MACHE$" + "TUT$" + "WEM$" + "WELCHE$" + "WAR NICHT$" + "SOLLTEN$" + "HABE$" + "HABEN NICHT$" + "EIN$" + "EINE$" + "NICHT NUR$" + "DA$" + "O.K.?$" + "SO$" + "VIELLEICHT$" + "UMHER$" + "ÜBER$" + "ES$" + "ALLE$" + "FÜR$" + "AN$" + "AUS$" + "GENAUSO$" + "ZU$" + "MIT$" + "BESSER$" + "JEMALS$" + "SEIT$" + "EINEN$" + "GEHÖRT ZU$" + "BEI$" + "IN$" + "AUF$" + "AUCH$" + "ÄHNLICH$" + "GETAN$" + "NICHT GETAN$" + "MACHT$" + "OHNE$" + "NACH$" + "VORHER$" + "WÄHREND$" + "ALS$" + "EINMAL$" + "IRGENDWO$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_ENDINGS_WORDS diff --git a/src/data/text/easy_chat/groups/events/order.h b/src/data/text/easy_chat/groups/events/order.h new file mode 100644 index 000000000..1eba253cc --- /dev/null +++ b/src/data/text/easy_chat/groups/events/order.h @@ -0,0 +1,56 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_EVENTS_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_EVENTS_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Events[] = { + 0, + 14, + 12, + 3, + 17, + 4, + 1, + 10, + 9, + 15, + 11, + 6, + 13, + 19, + 5, + 18, + 20, + 21, + 16, + 8, + 2, + 7, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Events[] = { + 0, + 2, + 21, + 3, + 8, + 12, + 10, + 1, + 16, + 11, + 6, + 14, + 20, + 13, + 5, + 19, + 17, + 18, + 9, + 7, + 15, + 4, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_EVENTS_ORDER diff --git a/src/data/text/easy_chat/groups/events/words.h b/src/data/text/easy_chat/groups/events/words.h new file mode 100644 index 000000000..4cba976e9 --- /dev/null +++ b/src/data/text/easy_chat/groups/events/words.h @@ -0,0 +1,54 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_EVENTS_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_EVENTS_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Events[] = _( + "APPEAL$" + "EVENTS$" + "STAY-AT-HOME$" + "BERRY$" + "CONTEST$" + "MC$" + "JUDGE$" + "SUPER$" + "STAGE$" + "HALL OF FAME$" + "EVOLUTION$" + "HYPER$" + "BATTLE TOWER$" + "LEADERS$" + "BATTLE ROOM$" + "HIDDEN$" + "SECRET BASE$" + "BLEND$" + "{POKEBLOCK}$" + "MASTER$" + "RANK$" + "RIBBON$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Events[] = _( + "AUSDRUCK$" + "EVENTS$" + "BABYSITTEN$" + "BEERE$" + "WETTBEWERB$" + "MC$" + "JUROR$" + "SUPER$" + "BÜHNE$" + "RUHMESHALLE$" + "ENTWICKLUNG$" + "HYPER$" + "DUELLTURM$" + "LEITER$" + "KAMPFRAUM$" + "VERSTECKTE$" + "GEHEIMBASIS$" + "MIXEN$" + "{POKEBLOCK}$" + "MEISTER$" + "KLASSE$" + "BAND$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_EVENTS_WORDS diff --git a/src/data/text/easy_chat/groups/feelings/order.h b/src/data/text/easy_chat/groups/feelings/order.h new file mode 100644 index 000000000..bcf6290a7 --- /dev/null +++ b/src/data/text/easy_chat/groups/feelings/order.h @@ -0,0 +1,150 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_FEELINGS_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_FEELINGS_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Feelings[] = { + 40, + 39, + 24, + 23, + 46, + 63, + 36, + 37, + 38, + 61, + 31, + 62, + 27, + 12, + 13, + 41, + 22, + 35, + 60, + 32, + 51, + 44, + 42, + 43, + 7, + 53, + 9, + 29, + 4, + 11, + 3, + 10, + 64, + 6, + 5, + 47, + 19, + 17, + 2, + 8, + 33, + 28, + 45, + 34, + 26, + 0, + 21, + 59, + 30, + 50, + 1, + 66, + 58, + 65, + 14, + 56, + 25, + 57, + 49, + 52, + 48, + 18, + 16, + 15, + 67, + 68, + 55, + 54, + 20, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Feelings[] = { + 35, + 7, + 29, + 62, + 41, + 2, + 26, + 32, + 13, + 12, + 44, + 60, + 66, + 28, + 18, + 27, + 53, + 61, + 3, + 42, + 43, + 6, + 5, + 64, + 39, + 17, + 10, + 11, + 19, + 57, + 55, + 36, + 9, + 49, + 54, + 59, + 50, + 22, + 30, + 65, + 33, + 46, + 63, + 48, + 47, + 4, + 58, + 37, + 38, + 1, + 14, + 51, + 52, + 25, + 15, + 45, + 31, + 40, + 21, + 67, + 68, + 16, + 34, + 0, + 8, + 20, + 24, + 23, + 56, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_FEELINGS_ORDER diff --git a/src/data/text/easy_chat/groups/feelings/words.h b/src/data/text/easy_chat/groups/feelings/words.h new file mode 100644 index 000000000..e051141a7 --- /dev/null +++ b/src/data/text/easy_chat/groups/feelings/words.h @@ -0,0 +1,148 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_FEELINGS_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_FEELINGS_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Feelings[] = _( + "MEET$" + "PLAY$" + "HURRIED$" + "GOES$" + "GIDDY$" + "HAPPY$" + "HAPPINESS$" + "EXCITE$" + "IMPORTANT$" + "FUNNY$" + "GOT$" + "GO HOME$" + "DISAPPOINTED$" + "DISAPPOINTS$" + "SAD$" + "TRY$" + "TRIES$" + "HEARS$" + "THINK$" + "HEAR$" + "WANTS$" + "MISHEARD$" + "DISLIKE$" + "ANGRY$" + "ANGER$" + "SCARY$" + "LONESOME$" + "DISAPPOINT$" + "JOY$" + "GETS$" + "NEVER$" + "DARN$" + "DOWNCAST$" + "INCREDIBLE$" + "LIKES$" + "DISLIKES$" + "BORING$" + "CARE$" + "CARES$" + "ALL RIGHT$" + "ADORE$" + "DISASTER$" + "ENJOY$" + "ENJOYS$" + "EAT$" + "LACKING$" + "BAD$" + "HARD$" + "TERRIBLE$" + "SHOULD$" + "NICE$" + "DRINK$" + "SURPRISE$" + "FEAR$" + "WANT$" + "WAIT$" + "SATISFIED$" + "SEE$" + "RARE$" + "NEGATIVE$" + "DONE$" + "DANGER$" + "DEFEATED$" + "BEAT$" + "GREAT$" + "ROMANTIC$" + "QUESTION$" + "UNDERSTAND$" + "UNDERSTANDS$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Feelings[] = _( + "WEINEN$" + "SPIELEN$" + "EILIG$" + "GEHT$" + "SCHWINDELIG$" + "GLÜCKLICH$" + "GLÜCK$" + "BEGEISTERN$" + "WICHTIG$" + "LUSTIG$" + "HABEN$" + "HEIMGEHEN$" + "ENTTÄUSCHT$" + "ENTTÄUSCHEN$" + "TRAURIG$" + "UNZUFRIEDEN$" + "VERSUCHT$" + "GUTE LAUNE$" + "FRÖHLICH$" + "HÖREN$" + "WILL$" + "VERHÖRT$" + "NICHT MÖGEN$" + "WÜTEND$" + "WUT$" + "UNHEIMLICH$" + "EINSAM$" + "FRUSTRIERT$" + "FREUDE$" + "BEKOMMT$" + "NIE$" + "VERDAMMT$" + "ENTMUTIGT$" + "SAGENHAFT$" + "VORLIEBEN$" + "ABNEIGUNG$" + "LANGWEILIG$" + "SORGEN$" + "SORGT$" + "GUT$" + "VERGÖTTERN$" + "DESASTER$" + "GENIESSEN$" + "GENIESST$" + "ESSEN$" + "UNZUREICHEND$" + "SCHLECHTE$" + "SCHWER$" + "SCHRECKLICH$" + "MIESE LAUNE$" + "NETT$" + "TRINKEN$" + "ÜBERRASCHUNG$" + "FURCHT$" + "MÖCHTE$" + "LANGEWEILE$" + "ZUFRIEDEN$" + "LACHEN$" + "SELTEN$" + "NEGATIV$" + "FERTIG$" + "GEFAHR$" + "BESIEGT$" + "SCHLUG$" + "GROSSARTIG$" + "ROMANTISCH$" + "FRAGE$" + "VERSTEHEN$" + "VERSTEHT$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_FEELINGS_WORDS diff --git a/src/data/text/easy_chat/groups/greetings/order.h b/src/data/text/easy_chat/groups/greetings/order.h new file mode 100644 index 000000000..5939fd7e5 --- /dev/null +++ b/src/data/text/easy_chat/groups/greetings/order.h @@ -0,0 +1,96 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_GREETINGS_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_GREETINGS_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Greetings[] = { + 12, + 25, + 32, + 40, + 9, + 41, + 20, + 22, + 13, + 10, + 24, + 16, + 15, + 2, + 3, + 4, + 34, + 14, + 26, + 30, + 37, + 8, + 28, + 18, + 36, + 33, + 29, + 7, + 19, + 21, + 35, + 11, + 17, + 0, + 6, + 23, + 27, + 38, + 5, + 31, + 1, + 39, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Greetings[] = { + 40, + 7, + 33, + 21, + 0, + 17, + 22, + 35, + 10, + 9, + 15, + 34, + 14, + 26, + 3, + 4, + 2, + 36, + 37, + 18, + 1, + 39, + 38, + 29, + 23, + 19, + 25, + 13, + 11, + 30, + 20, + 32, + 16, + 12, + 27, + 24, + 8, + 28, + 6, + 5, + 31, + 41, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_GREETINGS_ORDER diff --git a/src/data/text/easy_chat/groups/greetings/words.h b/src/data/text/easy_chat/groups/greetings/words.h new file mode 100644 index 000000000..89bb986b5 --- /dev/null +++ b/src/data/text/easy_chat/groups/greetings/words.h @@ -0,0 +1,94 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_GREETINGS_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_GREETINGS_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Greetings[] = _( + "THANKS$" + "YES$" + "HERE GOES$" + "HERE I COME$" + "HERE IT IS$" + "YEAH$" + "WELCOME$" + "OI$" + "HOW DO$" + "CONGRATS$" + "GIVE ME$" + "SORRY$" + "APOLOGIZE$" + "FORGIVE$" + "HEY, THERE$" + "HELLO$" + "GOOD-BYE$" + "THANK YOU$" + "I’VE ARRIVED$" + "PARDON$" + "EXCUSE$" + "SEE YA$" + "EXCUSE ME$" + "WELL, THEN$" + "GO AHEAD$" + "APPRECIATE$" + "HEY?$" + "WHAT’S UP?$" + "HUH?$" + "NO$" + "HI$" + "YEAH, YEAH$" + "BYE-BYE$" + "MEET YOU$" + "HEY$" + "SMELL$" + "LISTENING$" + "HOO-HAH$" + "YAHOO$" + "YO$" + "COME OVER$" + "COUNT ON$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Greetings[] = _( + "DANK$" + "JA$" + "HIER KOMMT$" + "HIER BIN ICH$" + "HIER IST ES$" + "YEAH$" + "WILLKOMMEN$" + "AU$" + "WIE$" + "GLÜCKWUNSCH$" + "GIB$" + "SORRY$" + "VERZEIHUNG$" + "SCHON GUT$" + "HEY DA$" + "HALLO$" + "TSCHÜSS$" + "DANKE SCHÖN$" + "ICH BIN DA$" + "PARDON$" + "TAGCHEN$" + "BIS DANN$" + "ENTSCHULDIGE$" + "NUN, DANN$" + "WEITER SO$" + "SCHÄTZEN$" + "HEY?$" + "WAS IST LOS?$" + "WIE?$" + "NEIN$" + "TAG AUCH$" + "YEAH, YEAH$" + "TSCHAU$" + "BIS BALD$" + "HEY$" + "GERUCH$" + "HÖR ZU$" + "HUH HAH$" + "JUCHUU$" + "JEPP$" + "ACH, KOMM$" + "ZÄHLEN AUF$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_GREETINGS_WORDS diff --git a/src/data/text/easy_chat/groups/hobbies/order.h b/src/data/text/easy_chat/groups/hobbies/order.h new file mode 100644 index 000000000..2188751c1 --- /dev/null +++ b/src/data/text/easy_chat/groups/hobbies/order.h @@ -0,0 +1,120 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_HOBBIES_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_HOBBIES_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Hobbies[] = { + 43, + 1, + 45, + 21, + 44, + 46, + 11, + 9, + 30, + 5, + 6, + 17, + 48, + 18, + 29, + 33, + 34, + 26, + 42, + 47, + 32, + 38, + 15, + 14, + 39, + 41, + 22, + 49, + 0, + 35, + 53, + 19, + 31, + 3, + 8, + 40, + 37, + 50, + 36, + 16, + 10, + 24, + 2, + 25, + 13, + 23, + 4, + 7, + 28, + 27, + 51, + 52, + 12, + 20, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Hobbies[] = { + 43, + 32, + 1, + 53, + 45, + 12, + 38, + 44, + 46, + 48, + 34, + 10, + 50, + 21, + 49, + 47, + 3, + 11, + 14, + 39, + 41, + 31, + 22, + 0, + 9, + 6, + 18, + 27, + 35, + 19, + 42, + 8, + 26, + 4, + 40, + 37, + 5, + 36, + 28, + 16, + 17, + 51, + 24, + 2, + 25, + 20, + 15, + 7, + 23, + 29, + 52, + 33, + 30, + 13, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_HOBBIES_ORDER diff --git a/src/data/text/easy_chat/groups/hobbies/words.h b/src/data/text/easy_chat/groups/hobbies/words.h new file mode 100644 index 000000000..729d5bc3b --- /dev/null +++ b/src/data/text/easy_chat/groups/hobbies/words.h @@ -0,0 +1,118 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_HOBBIES_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_HOBBIES_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Hobbies[] = _( + "IDOL$" + "ANIME$" + "SONG$" + "MOVIE$" + "SWEETS$" + "CHAT$" + "CHILD’S PLAY$" + "TOYS$" + "MUSIC$" + "CARDS$" + "SHOPPING$" + "CAMERA$" + "VIEWING$" + "SPECTATOR$" + "GOURMET$" + "GAME$" + "RPG$" + "COLLECTION$" + "COMPLETE$" + "MAGAZINE$" + "WALK$" + "BIKE$" + "HOBBY$" + "SPORTS$" + "SOFTWARE$" + "SONGS$" + "DIET$" + "TREASURE$" + "TRAVEL$" + "DANCE$" + "CHANNEL$" + "MAKING$" + "FISHING$" + "DATE$" + "DESIGN$" + "LOCOMOTIVE$" + "PLUSH DOLL$" + "PC$" + "FLOWERS$" + "HERO$" + "NAP$" + "HEROINE$" + "FASHION$" + "ADVENTURE$" + "BOARD$" + "BALL$" + "BOOK$" + "FESTIVAL$" + "COMICS$" + "HOLIDAY$" + "PLANS$" + "TRENDY$" + "VACATION$" + "LOOK$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Hobbies[] = _( + "IDOL$" + "ANIME$" + "SONG$" + "FILM$" + "NASCHEN$" + "PLAUDERN$" + "KINDERSPIEL$" + "SPIELZEUG$" + "MUSIK$" + "KARTENSPIELE$" + "EINKAUFEN$" + "FOTOS$" + "BESICHTIGUNG$" + "ZUSCHAUER$" + "GOURMET$" + "SPIEL$" + "RPG$" + "SAMMLUNG$" + "KOMPLETT$" + "MAGAZIN$" + "SPAZIEREN$" + "FAHRRAD$" + "HOBBY$" + "SPORT$" + "SOFTWARE$" + "SONGS$" + "NAHRUNG$" + "KOSTBARKEIT$" + "REISEN$" + "TANZEN$" + "WASSERSPORT$" + "HERSTELLUNG$" + "ANGELN$" + "VERABREDUNG$" + "DESIGN$" + "LOKOMOTIVEN$" + "PLÜSCHPUPPEN$" + "PC$" + "BLUMEN$" + "HELD$" + "NICKERCHEN$" + "HELDIN$" + "MODE$" + "ABENTEUER$" + "BRETTSPIELE$" + "BALL$" + "BÜCHER$" + "FESTIVALS$" + "COMICS$" + "FERIEN$" + "ETWAS PLANEN$" + "SCHICKIMICKI$" + "URLAUB$" + "AUSSEHEN$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_HOBBIES_WORDS diff --git a/src/data/text/easy_chat/groups/lifestyle/order.h b/src/data/text/easy_chat/groups/lifestyle/order.h new file mode 100644 index 000000000..60de60971 --- /dev/null +++ b/src/data/text/easy_chat/groups/lifestyle/order.h @@ -0,0 +1,102 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_LIFESTYLE_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_LIFESTYLE_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Lifestyle[] = { + 3, + 4, + 0, + 16, + 7, + 5, + 26, + 24, + 39, + 23, + 9, + 8, + 1, + 18, + 29, + 40, + 17, + 22, + 41, + 19, + 35, + 36, + 37, + 2, + 30, + 31, + 33, + 28, + 32, + 38, + 42, + 43, + 6, + 12, + 11, + 34, + 14, + 20, + 27, + 25, + 21, + 15, + 10, + 13, + 44, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Lifestyle[] = { + 13, + 4, + 22, + 24, + 27, + 7, + 2, + 23, + 5, + 8, + 9, + 1, + 18, + 29, + 26, + 40, + 11, + 41, + 19, + 20, + 16, + 34, + 35, + 43, + 37, + 30, + 31, + 33, + 0, + 32, + 36, + 42, + 6, + 12, + 14, + 3, + 28, + 25, + 15, + 39, + 21, + 17, + 38, + 44, + 10, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_LIFESTYLE_ORDER diff --git a/src/data/text/easy_chat/groups/lifestyle/words.h b/src/data/text/easy_chat/groups/lifestyle/words.h new file mode 100644 index 000000000..125000c33 --- /dev/null +++ b/src/data/text/easy_chat/groups/lifestyle/words.h @@ -0,0 +1,100 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_LIFESTYLE_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_LIFESTYLE_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Lifestyle[] = _( + "CHORES$" + "HOME$" + "MONEY$" + "ALLOWANCE$" + "BATH$" + "CONVERSATION$" + "SCHOOL$" + "COMMEMORATE$" + "HABIT$" + "GROUP$" + "WORD$" + "STORE$" + "SERVICE$" + "WORK$" + "SYSTEM$" + "TRAIN$" + "CLASS$" + "LESSONS$" + "INFORMATION$" + "LIVING$" + "TEACHER$" + "TOURNAMENT$" + "LETTER$" + "EVENT$" + "DIGITAL$" + "TEST$" + "DEPT. STORE$" + "TELEVISION$" + "PHONE$" + "ITEM$" + "NAME$" + "NEWS$" + "POPULAR$" + "PARTY$" + "STUDY$" + "MACHINE$" + "MAIL$" + "MESSAGE$" + "PROMISE$" + "DREAM$" + "KINDERGARTEN$" + "LIFE$" + "RADIO$" + "RENTAL$" + "WORLD$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Lifestyle[] = _( + "PFLICHTEN$" + "HEIM$" + "GELD$" + "TASCHENGELD$" + "BAD$" + "GESPRÄCH$" + "SCHULE$" + "GEDENKEN$" + "GEWOHNHEIT$" + "GRUPPE$" + "WORT$" + "LAGER$" + "SERVICE$" + "ARBEIT$" + "SYSTEM$" + "TRAINIEREN$" + "LEKTION$" + "UNTERRICHT$" + "INFORMATION$" + "LEBENDIG$" + "LEHRER$" + "TURNIER$" + "BRIEF$" + "GESCHEHEN$" + "DIGITALES$" + "TEST$" + "KAUFHAUS$" + "FERNSEHER$" + "TELEFON$" + "ITEM$" + "NAME$" + "NEUIGKEITEN$" + "POPULÄR$" + "PARTY$" + "LERNEN$" + "MASCHINE$" + "POST$" + "MITTEILUNG$" + "VERSPRECHEN$" + "TRAUM$" + "KINDERGARTEN$" + "LEBEN$" + "RADIO$" + "MIETE$" + "WELT$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_LIFESTYLE_WORDS diff --git a/src/data/text/easy_chat/groups/misc/order.h b/src/data/text/easy_chat/groups/misc/order.h new file mode 100644 index 000000000..6005263eb --- /dev/null +++ b/src/data/text/easy_chat/groups/misc/order.h @@ -0,0 +1,96 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_MISC_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_MISC_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Misc[] = { + 7, + 24, + 30, + 8, + 6, + 13, + 28, + 38, + 35, + 19, + 16, + 29, + 26, + 10, + 9, + 0, + 11, + 40, + 1, + 31, + 39, + 12, + 3, + 41, + 36, + 20, + 25, + 23, + 17, + 18, + 5, + 4, + 15, + 14, + 21, + 22, + 2, + 27, + 34, + 33, + 32, + 37, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Misc[] = { + 2, + 16, + 12, + 20, + 14, + 23, + 24, + 25, + 15, + 17, + 18, + 5, + 30, + 39, + 22, + 33, + 10, + 3, + 19, + 9, + 0, + 11, + 40, + 31, + 13, + 27, + 7, + 41, + 4, + 21, + 36, + 35, + 1, + 6, + 38, + 26, + 28, + 37, + 34, + 29, + 32, + 8, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_MISC_ORDER diff --git a/src/data/text/easy_chat/groups/misc/words.h b/src/data/text/easy_chat/groups/misc/words.h new file mode 100644 index 000000000..05dda82ca --- /dev/null +++ b/src/data/text/easy_chat/groups/misc/words.h @@ -0,0 +1,94 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_MISC_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_MISC_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Misc[] = _( + "HIGHS$" + "LOWS$" + "UM$" + "REAR$" + "THINGS$" + "THING$" + "BELOW$" + "ABOVE$" + "BACK$" + "HIGH$" + "HERE$" + "INSIDE$" + "OUTSIDE$" + "BESIDE$" + "THIS IS IT!$" + "THIS$" + "EVERY$" + "THESE$" + "THESE WERE$" + "DOWN$" + "THAT$" + "THOSE ARE$" + "THOSE WERE$" + "THAT’S IT!$" + "AM$" + "THAT WAS$" + "FRONT$" + "UP$" + "CHOICE$" + "FAR$" + "AWAY$" + "NEAR$" + "WHERE$" + "WHEN$" + "WHAT$" + "DEEP$" + "SHALLOW$" + "WHY$" + "CONFUSED$" + "OPPOSITE$" + "LEFT$" + "RIGHT$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Misc[] = _( + "HÖHEN$" + "TIEFEN$" + "ÄH$" + "HINTEN$" + "SACHEN$" + "DING$" + "UNTERHALB$" + "OBERHALB$" + "ZURÜCK$" + "HOCH$" + "HIER$" + "INNEN$" + "AUSSEN$" + "NEBEN$" + "DAS IST ES!$" + "DIES$" + "ALLES$" + "DIESE$" + "DIESE WAREN$" + "HINUNTER$" + "DAS$" + "SCHON$" + "GENUG$" + "DAS IST’S!$" + "DAS SIND$" + "DAS WAR$" + "VORNE$" + "OBEN$" + "WAHL$" + "WEIT$" + "FORT$" + "NAHE$" + "WO$" + "GLEICH$" + "WAS$" + "TIEF$" + "SEICHT$" + "WARUM$" + "VERWIRRT$" + "GEGENÜBER$" + "LINKS$" + "RECHTS$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_MISC_WORDS diff --git a/src/data/text/easy_chat/groups/move_1/order.h b/src/data/text/easy_chat/groups/move_1/order.h new file mode 100644 index 000000000..76fd60415 --- /dev/null +++ b/src/data/text/easy_chat/groups/move_1/order.h @@ -0,0 +1,318 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_MOVE_1_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_MOVE_1_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Move1[] = { + 71, + 177, + 97, + 314, + 246, + 312, + 310, + 62, + 117, + 20, + 44, + 280, + 145, + 268, + 204, + 128, + 109, + 132, + 322, + 68, + 152, + 238, + 242, + 15, + 91, + 50, + 104, + 38, + 3, + 89, + 227, + 283, + 203, + 326, + 245, + 263, + 313, + 90, + 175, + 172, + 53, + 260, + 19, + 116, + 264, + 266, + 202, + 320, + 74, + 288, + 16, + 258, + 106, + 114, + 29, + 215, + 95, + 301, + 196, + 231, + 2, + 134, + 141, + 122, + 142, + 67, + 212, + 262, + 319, + 309, + 170, + 119, + 54, + 234, + 267, + 171, + 190, + 316, + 200, + 315, + 220, + 181, + 60, + 244, + 94, + 149, + 228, + 99, + 240, + 229, + 13, + 105, + 216, + 179, + 157, + 249, + 88, + 317, + 205, + 221, + 219, + 328, + 28, + 201, + 184, + 103, + 120, + 247, + 325, + 159, + 329, + 324, + 318, + 47, + 166, + 285, + 143, + 327, + 163, + 265, + 123, + 108, + 173, + 76, + 49, + 209, + 169, + 180, + 147, + 70, + 81, + 78, + 66, + 162, + 207, + 230, + 129, + 235, + 39, + 37, + 87, + 85, + 9, + 321, + 259, + 253, + 233, + 323, + 311, + 250, + 261, + 110, + 281, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Move1[] = { + 71, + 97, + 324, + 207, + 246, + 312, + 253, + 62, + 203, + 50, + 44, + 145, + 141, + 219, + 204, + 87, + 85, + 9, + 104, + 175, + 114, + 3, + 280, + 231, + 329, + 196, + 116, + 89, + 310, + 81, + 263, + 317, + 120, + 325, + 172, + 53, + 19, + 259, + 323, + 301, + 37, + 209, + 67, + 281, + 117, + 179, + 105, + 90, + 47, + 202, + 320, + 184, + 180, + 258, + 106, + 327, + 143, + 315, + 212, + 95, + 261, + 2, + 20, + 13, + 242, + 109, + 68, + 29, + 322, + 152, + 103, + 238, + 268, + 221, + 220, + 230, + 177, + 262, + 319, + 311, + 234, + 166, + 288, + 171, + 267, + 283, + 190, + 110, + 147, + 264, + 244, + 94, + 134, + 60, + 149, + 181, + 99, + 108, + 240, + 265, + 38, + 216, + 39, + 328, + 201, + 28, + 159, + 91, + 122, + 163, + 260, + 128, + 173, + 316, + 318, + 123, + 76, + 326, + 321, + 119, + 169, + 266, + 247, + 78, + 70, + 157, + 88, + 309, + 129, + 162, + 235, + 142, + 313, + 229, + 245, + 66, + 233, + 49, + 132, + 228, + 215, + 74, + 205, + 54, + 285, + 250, + 170, + 314, + 16, + 200, + 15, + 249, + 227, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_MOVE_1_ORDER diff --git a/src/data/text/easy_chat/groups/move_1/words.h b/src/data/text/easy_chat/groups/move_1/words.h new file mode 100644 index 000000000..3cd122d4b --- /dev/null +++ b/src/data/text/easy_chat/groups/move_1/words.h @@ -0,0 +1,162 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_MOVE_1_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_MOVE_1_WORDS + +#include "constants/moves.h" + +u16 gEasyChatGroupWords_Move1[] = { + MOVE_THUNDERBOLT, + MOVE_IRON_TAIL, + MOVE_ICE_BALL, + MOVE_YAWN, + MOVE_LOVELY_KISS, + MOVE_NIGHTMARE, + MOVE_MORNING_SUN, + MOVE_VITAL_THROW, + MOVE_DIG, + MOVE_THRASH, + MOVE_SWEET_SCENT, + MOVE_CHARM, + MOVE_RAIN_DANCE, + MOVE_CONFUSE_RAY, + MOVE_HAIL, + MOVE_AROMATHERAPY, + MOVE_BUBBLE, + MOVE_ENCORE, + MOVE_CUT, + MOVE_RAGE, + MOVE_SUPER_FANG, + MOVE_PAIN_SPLIT, + MOVE_TORMENT, + MOVE_STRING_SHOT, + MOVE_SWAGGER, + MOVE_SNORE, + MOVE_HEAL_BELL, + MOVE_SCREECH, + MOVE_ROCK_THROW, + MOVE_ROCK_SMASH, + MOVE_ROCK_SLIDE, + MOVE_WEATHER_BALL, + MOVE_WHIRLPOOL, + MOVE_FAKE_TEARS, + MOVE_SING, + MOVE_SPITE, + MOVE_AIR_CUTTER, + MOVE_AEROBLAST, + MOVE_SMOKESCREEN, + MOVE_PURSUIT, + MOVE_DOUBLE_SLAP, + MOVE_MIRROR_MOVE, + MOVE_OVERHEAT, + MOVE_AURORA_BEAM, + MOVE_MEMENTO, + MOVE_OCTAZOOKA, + MOVE_FLATTER, + MOVE_ASTONISH, + MOVE_WILL_O_WISP, + MOVE_RETURN, + MOVE_GRUDGE, + MOVE_STRENGTH, + MOVE_COUNTER, + MOVE_FLAME_WHEEL, + MOVE_FLAMETHROWER, + MOVE_ODOR_SLEUTH, + MOVE_SHARPEN, + MOVE_DOUBLE_TEAM, + MOVE_GUST, + MOVE_HARDEN, + MOVE_DISABLE, + MOVE_RAZOR_WIND, + MOVE_BIDE, + MOVE_CRUNCH, + MOVE_BITE, + MOVE_THUNDER, + MOVE_THUNDER_PUNCH, + MOVE_ENDEAVOR, + MOVE_FACADE, + MOVE_KARATE_CHOP, + MOVE_CLAMP, + MOVE_WITHDRAW, + MOVE_CONSTRICT, + MOVE_BRICK_BREAK, + MOVE_ROCK_TOMB, + MOVE_FOCUS_ENERGY, + MOVE_FOCUS_PUNCH, + MOVE_GIGA_DRAIN, + MOVE_REVERSAL, + MOVE_SMELLING_SALT, + MOVE_SPORE, + MOVE_LEECH_LIFE, + MOVE_SLASH, + MOVE_SILVER_WIND, + MOVE_METAL_SOUND, + MOVE_GRASS_WHISTLE, + MOVE_TICKLE, + MOVE_SPIDER_WEB, + MOVE_CRABHAMMER, + MOVE_HAZE, + MOVE_MEAN_LOOK, + MOVE_CROSS_CHOP, + MOVE_OUTRAGE, + MOVE_LOW_KICK, + MOVE_ANCIENT_POWER, + MOVE_SYNTHESIS, + MOVE_AGILITY, + MOVE_RAPID_SPIN, + MOVE_ICY_WIND, + MOVE_MIND_READER, + MOVE_COSMIC_POWER, + MOVE_SKY_ATTACK, + MOVE_POWDER_SNOW, + MOVE_FOLLOW_ME, + MOVE_METEOR_MASH, + MOVE_ENDURE, + MOVE_ROLLOUT, + MOVE_SCARY_FACE, + MOVE_PSYBEAM, + MOVE_PSYWAVE, + MOVE_PSYCHIC, + MOVE_HYPNOSIS, + MOVE_UPROAR, + MOVE_WATER_SPOUT, + MOVE_SIGNAL_BEAM, + MOVE_PSYCH_UP, + MOVE_SUBMISSION, + MOVE_RECOVER, + MOVE_EARTHQUAKE, + MOVE_NATURE_POWER, + MOVE_LICK, + MOVE_FLAIL, + MOVE_TAIL_WHIP, + MOVE_SELF_DESTRUCT, + MOVE_STUN_SPORE, + MOVE_BIND, + MOVE_SHADOW_PUNCH, + MOVE_SHADOW_BALL, + MOVE_CHARGE, + MOVE_MIST, + MOVE_FISSURE, + MOVE_EXTREME_SPEED, + MOVE_EXTRASENSORY, + MOVE_SAFEGUARD, + MOVE_ABSORB, + MOVE_SKY_UPPERCUT, + MOVE_SKILL_SWAP, + MOVE_SKETCH, + MOVE_HEADBUTT, + MOVE_DOUBLE_EDGE, + MOVE_SANDSTORM, + MOVE_SAND_ATTACK, + MOVE_SAND_TOMB, + MOVE_SPARK, + MOVE_SWIFT, + MOVE_KINESIS, + MOVE_SMOG, + MOVE_GROWTH, + MOVE_SACRED_FIRE, + MOVE_SHEER_COLD, + MOVE_SOLAR_BEAM, + MOVE_SONIC_BOOM, + MOVE_FLY, +}; + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_MOVE_1_WORDS diff --git a/src/data/text/easy_chat/groups/move_2/order.h b/src/data/text/easy_chat/groups/move_2/order.h new file mode 100644 index 000000000..a11cb4303 --- /dev/null +++ b/src/data/text/easy_chat/groups/move_2/order.h @@ -0,0 +1,400 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_MOVE_2_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_MOVE_2_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Move2[] = { + 51, + 151, + 332, + 133, + 292, + 274, + 213, + 140, + 112, + 226, + 251, + 187, + 299, + 59, + 335, + 34, + 125, + 198, + 155, + 340, + 61, + 339, + 331, + 347, + 293, + 4, + 93, + 160, + 176, + 178, + 343, + 306, + 174, + 111, + 194, + 197, + 291, + 146, + 24, + 337, + 349, + 82, + 225, + 138, + 65, + 223, + 121, + 52, + 284, + 153, + 185, + 252, + 206, + 297, + 126, + 7, + 83, + 148, + 193, + 218, + 31, + 210, + 154, + 248, + 137, + 45, + 12, + 257, + 270, + 136, + 237, + 30, + 32, + 336, + 56, + 63, + 158, + 304, + 58, + 8, + 286, + 275, + 334, + 26, + 282, + 348, + 73, + 43, + 113, + 199, + 295, + 183, + 277, + 345, + 222, + 96, + 72, + 25, + 5, + 224, + 232, + 118, + 208, + 102, + 107, + 243, + 296, + 236, + 341, + 300, + 189, + 330, + 302, + 101, + 6, + 64, + 195, + 80, + 42, + 305, + 139, + 40, + 342, + 77, + 1, + 217, + 182, + 98, + 75, + 278, + 115, + 287, + 156, + 279, + 46, + 350, + 272, + 27, + 10, + 290, + 69, + 351, + 130, + 303, + 21, + 79, + 214, + 124, + 188, + 289, + 135, + 131, + 191, + 255, + 150, + 211, + 254, + 23, + 165, + 164, + 241, + 276, + 48, + 57, + 256, + 186, + 14, + 33, + 294, + 36, + 269, + 298, + 100, + 168, + 86, + 84, + 92, + 144, + 161, + 271, + 167, + 41, + 239, + 11, + 22, + 55, + 352, + 346, + 127, + 18, + 17, + 273, + 35, + 192, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Move2[] = { + 194, + 195, + 282, + 332, + 133, + 213, + 55, + 352, + 292, + 278, + 112, + 187, + 178, + 286, + 343, + 186, + 80, + 148, + 192, + 59, + 61, + 36, + 34, + 65, + 46, + 297, + 164, + 84, + 86, + 24, + 131, + 337, + 349, + 82, + 167, + 41, + 73, + 121, + 111, + 334, + 8, + 58, + 255, + 156, + 284, + 153, + 27, + 350, + 299, + 225, + 7, + 126, + 83, + 185, + 174, + 17, + 218, + 31, + 347, + 290, + 69, + 217, + 193, + 137, + 77, + 342, + 40, + 139, + 305, + 52, + 12, + 287, + 45, + 257, + 30, + 32, + 254, + 56, + 63, + 158, + 222, + 146, + 336, + 127, + 11, + 198, + 125, + 155, + 4, + 107, + 93, + 276, + 237, + 10, + 154, + 331, + 348, + 330, + 189, + 341, + 300, + 113, + 277, + 188, + 96, + 5, + 25, + 72, + 232, + 118, + 208, + 102, + 252, + 236, + 101, + 42, + 346, + 296, + 302, + 1, + 150, + 339, + 251, + 22, + 75, + 168, + 270, + 115, + 272, + 335, + 98, + 51, + 151, + 197, + 130, + 304, + 295, + 79, + 214, + 124, + 64, + 351, + 182, + 294, + 14, + 248, + 43, + 21, + 241, + 243, + 340, + 26, + 191, + 226, + 211, + 140, + 23, + 48, + 57, + 33, + 303, + 293, + 291, + 298, + 100, + 183, + 92, + 138, + 271, + 161, + 206, + 136, + 289, + 160, + 176, + 279, + 269, + 275, + 256, + 165, + 224, + 144, + 135, + 35, + 239, + 18, + 223, + 273, + 6, + 345, + 306, + 199, + 210, + 274, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_MOVE_2_ORDER diff --git a/src/data/text/easy_chat/groups/move_2/words.h b/src/data/text/easy_chat/groups/move_2/words.h new file mode 100644 index 000000000..123fe0eb5 --- /dev/null +++ b/src/data/text/easy_chat/groups/move_2/words.h @@ -0,0 +1,203 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_MOVE_2_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_MOVE_2_WORDS + +#include "constants/moves.h" + +u16 gEasyChatGroupWords_Move2[] = { + MOVE_TACKLE, + MOVE_EXPLOSION, + MOVE_DIVE, + MOVE_FIRE_BLAST, + MOVE_WATERFALL, + MOVE_MUDDY_WATER, + MOVE_STOCKPILE, + MOVE_SLAM, + MOVE_TWISTER, + MOVE_BULLET_SEED, + MOVE_TWINEEDLE, + MOVE_SOFT_BOILED, + MOVE_EGG_BOMB, + MOVE_FAINT_ATTACK, + MOVE_BARRAGE, + MOVE_MINIMIZE, + MOVE_SEISMIC_TOSS, + MOVE_SUPERSONIC, + MOVE_TAUNT, + MOVE_MOONLIGHT, + MOVE_PECK, + MOVE_ARM_THRUST, + MOVE_HORN_ATTACK, + MOVE_HORN_DRILL, + MOVE_WING_ATTACK, + MOVE_AERIAL_ACE, + MOVE_SWORDS_DANCE, + MOVE_VINE_WHIP, + MOVE_CONVERSION, + MOVE_CONVERSION_2, + MOVE_HELPING_HAND, + MOVE_IRON_DEFENSE, + MOVE_TELEPORT, + MOVE_THUNDER_SHOCK, + MOVE_SHOCK_WAVE, + MOVE_QUICK_ATTACK, + MOVE_SWEET_KISS, + MOVE_THUNDER_WAVE, + MOVE_ZAP_CANNON, + MOVE_BLOCK, + MOVE_HOWL, + MOVE_POISON_GAS, + MOVE_TOXIC, + MOVE_POISON_FANG, + MOVE_POISON_POWDER, + MOVE_POISON_STING, + MOVE_SPIKE_CANNON, + MOVE_ACID_ARMOR, + MOVE_TAKE_DOWN, + MOVE_JUMP_KICK, + MOVE_BOUNCE, + MOVE_HI_JUMP_KICK, + MOVE_TRI_ATTACK, + MOVE_DRAGON_CLAW, + MOVE_TRICK, + MOVE_TRIPLE_KICK, + MOVE_DRILL_PECK, + MOVE_MUD_SPORT, + MOVE_MUD_SLAP, + MOVE_THIEF, + MOVE_AMNESIA, + MOVE_NIGHT_SHADE, + MOVE_GROWL, + MOVE_SLACK_OFF, + MOVE_SURF, + MOVE_ROLE_PLAY, + MOVE_NEEDLE_ARM, + MOVE_DOUBLE_KICK, + MOVE_SUNNY_DAY, + MOVE_LEER, + MOVE_WISH, + MOVE_FAKE_OUT, + MOVE_SLEEP_TALK, + MOVE_PAY_DAY, + MOVE_ASSIST, + MOVE_HEAT_WAVE, + MOVE_SLEEP_POWDER, + MOVE_REST, + MOVE_INGRAIN, + MOVE_CONFUSION, + MOVE_BODY_SLAM, + MOVE_SWALLOW, + MOVE_CURSE, + MOVE_HYDRO_PUMP, + MOVE_HYPER_VOICE, + MOVE_HYPER_BEAM, + MOVE_SUPERPOWER, + MOVE_STEEL_WING, + MOVE_SPIT_UP, + MOVE_DYNAMIC_PUNCH, + MOVE_GUILLOTINE, + MOVE_VICE_GRIP, + MOVE_KNOCK_OFF, + MOVE_POUND, + MOVE_RAZOR_LEAF, + MOVE_BATON_PASS, + MOVE_PETAL_DANCE, + MOVE_SPLASH, + MOVE_BUBBLE_BEAM, + MOVE_BELLY_DRUM, + MOVE_BARRIER, + MOVE_LIGHT_SCREEN, + MOVE_SCRATCH, + MOVE_HYPER_FANG, + MOVE_EMBER, + MOVE_SECRET_POWER, + MOVE_DIZZY_PUNCH, + MOVE_BULK_UP, + MOVE_IMPRISON, + MOVE_FEATHER_DANCE, + MOVE_WHIRLWIND, + MOVE_BEAT_UP, + MOVE_BLIZZARD, + MOVE_STOMP, + MOVE_FLASH, + MOVE_TEETER_DANCE, + MOVE_CRUSH_CLAW, + MOVE_BLAZE_KICK, + MOVE_PRESENT, + MOVE_ERUPTION, + MOVE_SLUDGE, + MOVE_SLUDGE_BOMB, + MOVE_GLARE, + MOVE_TRANSFORM, + MOVE_POISON_TAIL, + MOVE_ROAR, + MOVE_BONE_RUSH, + MOVE_CAMOUFLAGE, + MOVE_COVET, + MOVE_TAIL_GLOW, + MOVE_BONE_CLUB, + MOVE_BONEMERANG, + MOVE_FIRE_SPIN, + MOVE_FIRE_PUNCH, + MOVE_PERISH_SONG, + MOVE_WRAP, + MOVE_SPIKES, + MOVE_MAGNITUDE, + MOVE_MAGICAL_LEAF, + MOVE_MAGIC_COAT, + MOVE_MUD_SHOT, + MOVE_MACH_PUNCH, + MOVE_PROTECT, + MOVE_DEFENSE_CURL, + MOVE_ROLLING_KICK, + MOVE_SUBSTITUTE, + MOVE_DETECT, + MOVE_PIN_MISSILE, + MOVE_WATER_SPORT, + MOVE_WATER_GUN, + MOVE_MIST_BALL, + MOVE_WATER_PULSE, + MOVE_FURY_ATTACK, + MOVE_FURY_SWIPES, + MOVE_DESTINY_BOND, + MOVE_FALSE_SWIPE, + MOVE_FORESIGHT, + MOVE_MIRROR_COAT, + MOVE_FUTURE_SIGHT, + MOVE_MILK_DRINK, + MOVE_CALM_MIND, + MOVE_MEGA_DRAIN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MEGAHORN, + MOVE_HIDDEN_POWER, + MOVE_METAL_CLAW, + MOVE_ATTRACT, + MOVE_MIMIC, + MOVE_FRUSTRATION, + MOVE_LEECH_SEED, + MOVE_METRONOME, + MOVE_DREAM_EATER, + MOVE_ACID, + MOVE_MEDITATE, + MOVE_SNATCH, + MOVE_LUSTER_PURGE, + MOVE_LEAF_BLADE, + MOVE_RECYCLE, + MOVE_REFLECT, + MOVE_REFRESH, + MOVE_REVENGE, + MOVE_DRAGON_RAGE, + MOVE_DRAGON_BREATH, + MOVE_DRAGON_DANCE, + MOVE_ICE_PUNCH, + MOVE_ICE_BEAM, + MOVE_FURY_CUTTER, + MOVE_COMET_PUNCH, + MOVE_SKULL_BASH, + MOVE_LOCK_ON, + MOVE_ROCK_BLAST, + MOVE_COTTON_SPORE, + MOVE_STRUGGLE, +}; + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_MOVE_2_WORDS diff --git a/src/data/text/easy_chat/groups/people/order.h b/src/data/text/easy_chat/groups/people/order.h new file mode 100644 index 000000000..0eabccfbb --- /dev/null +++ b/src/data/text/easy_chat/groups/people/order.h @@ -0,0 +1,162 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_PEOPLE_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_PEOPLE_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_People[] = { + 13, + 52, + 31, + 17, + 22, + 62, + 12, + 14, + 34, + 28, + 54, + 23, + 11, + 51, + 21, + 9, + 16, + 26, + 30, + 24, + 72, + 25, + 29, + 1, + 41, + 38, + 42, + 49, + 33, + 50, + 19, + 20, + 8, + 35, + 36, + 40, + 37, + 0, + 64, + 18, + 53, + 27, + 66, + 69, + 73, + 70, + 32, + 15, + 74, + 44, + 4, + 58, + 55, + 56, + 59, + 60, + 71, + 39, + 57, + 63, + 46, + 10, + 61, + 65, + 67, + 43, + 48, + 45, + 47, + 68, + 2, + 6, + 7, + 5, + 3, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_People[] = { + 14, + 50, + 49, + 4, + 3, + 5, + 22, + 2, + 6, + 7, + 18, + 26, + 30, + 13, + 58, + 72, + 23, + 0, + 36, + 51, + 71, + 57, + 63, + 46, + 32, + 16, + 9, + 35, + 1, + 41, + 42, + 38, + 25, + 55, + 24, + 44, + 12, + 33, + 34, + 21, + 19, + 40, + 45, + 20, + 37, + 8, + 10, + 27, + 53, + 66, + 15, + 29, + 69, + 60, + 74, + 73, + 68, + 59, + 70, + 56, + 31, + 17, + 28, + 54, + 64, + 11, + 52, + 62, + 43, + 48, + 47, + 61, + 67, + 65, + 39, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_PEOPLE_ORDER diff --git a/src/data/text/easy_chat/groups/people/words.h b/src/data/text/easy_chat/groups/people/words.h new file mode 100644 index 000000000..301ce1ed5 --- /dev/null +++ b/src/data/text/easy_chat/groups/people/words.h @@ -0,0 +1,160 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_PEOPLE_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_PEOPLE_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_People[] = _( + "OPPONENT$" + "I$" + "YOU$" + "YOURS$" + "SON$" + "YOUR$" + "YOU’RE$" + "YOU’VE$" + "MOTHER$" + "GRANDFATHER$" + "UNCLE$" + "FATHER$" + "BOY$" + "ADULT$" + "BROTHER$" + "SISTER$" + "GRANDMOTHER$" + "AUNT$" + "PARENT$" + "MAN$" + "ME$" + "GIRL$" + "BABE$" + "FAMILY$" + "HER$" + "HIM$" + "HE$" + "PLACE$" + "DAUGHTER$" + "HIS$" + "HE’S$" + "AREN’T$" + "SIBLINGS$" + "KID$" + "CHILDREN$" + "MR.$" + "MRS.$" + "MYSELF$" + "I WAS$" + "TO ME$" + "MY$" + "I AM$" + "I’VE$" + "WHO$" + "SOMEONE$" + "WHO WAS$" + "TO WHOM$" + "WHOSE$" + "WHO IS$" + "IT’S$" + "LADY$" + "FRIEND$" + "ALLY$" + "PERSON$" + "DUDE$" + "THEY$" + "THEY WERE$" + "TO THEM$" + "THEIR$" + "THEY’RE$" + "THEY’VE$" + "WE$" + "BEEN$" + "TO US$" + "OUR$" + "WE’RE$" + "RIVAL$" + "WE’VE$" + "WOMAN$" + "SHE$" + "SHE WAS$" + "TO HER$" + "HER’S$" + "SHE IS$" + "SOME$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_People[] = _( + "FEIND$" + "ICH$" + "DU$" + "DEINE$" + "DEIN$" + "DEINER$" + "DU BIST$" + "DU HAST$" + "MUTTER$" + "GROSSVATER$" + "ONKEL$" + "VATER$" + "JUNGE$" + "ERWACHSENER$" + "BRUDER$" + "SCHWESTER$" + "GROSSMUTTER$" + "TANTE$" + "ELTERN$" + "MAN$" + "MICH$" + "MÄDCHEN$" + "DICH$" + "FAMILIE$" + "IHR$" + "IHM$" + "ER$" + "ORT$" + "TOCHTER$" + "SEIN$" + "ER IST$" + "SIND NICHT$" + "GESCHWISTER$" + "KINDCHEN$" + "KINDER$" + "HERR$" + "FRAU$" + "MIR$" + "ICH WAR$" + "ZU MIR$" + "MEIN$" + "ICH BIN$" + "ICH HABE$" + "WER$" + "JEMAND$" + "MEINE$" + "FÜR WEN$" + "WESSEN$" + "WER IST$" + "DAS IST$" + "DAME$" + "FREUND$" + "VERBÜNDETER$" + "PERSON$" + "TYPE$" + "IHNEN$" + "SIE WAREN$" + "FÜR SIE$" + "EUCH$" + "SIE SIND$" + "SIE HABEN$" + "WIR$" + "WAREN$" + "FÜR UNS$" + "UNSER$" + "WIR SIND$" + "RIVALE$" + "WIR HABEN$" + "SIE KONNTEN$" + "SIE$" + "SIE WAR$" + "FÜR ALLE$" + "EURE$" + "SIE IST$" + "SIE HATTE$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_PEOPLE_WORDS diff --git a/src/data/text/easy_chat/groups/pokemon/order.h b/src/data/text/easy_chat/groups/pokemon/order.h new file mode 100644 index 000000000..bef4bc99a --- /dev/null +++ b/src/data/text/easy_chat/groups/pokemon/order.h @@ -0,0 +1,416 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Pokemon[] = { + 63, + 376, + 384, + 65, + 359, + 390, + 391, + 382, + 184, + 350, + 395, + 318, + 378, + 323, + 292, + 398, + 182, + 282, + 307, + 344, + 345, + 340, + 330, + 293, + 385, + 411, + 170, + 373, + 319, + 281, + 326, + 222, + 389, + 327, + 169, + 316, + 410, + 85, + 84, + 232, + 362, + 361, + 294, + 337, + 101, + 372, + 328, + 334, + 394, + 74, + 203, + 347, + 44, + 42, + 118, + 55, + 76, + 375, + 75, + 88, + 405, + 278, + 352, + 367, + 130, + 336, + 214, + 116, + 374, + 174, + 387, + 39, + 409, + 64, + 317, + 230, + 393, + 109, + 404, + 383, + 171, + 407, + 408, + 388, + 289, + 296, + 295, + 371, + 297, + 348, + 325, + 68, + 67, + 66, + 219, + 129, + 81, + 82, + 335, + 338, + 183, + 284, + 312, + 355, + 357, + 356, + 400, + 399, + 287, + 329, + 354, + 283, + 89, + 177, + 301, + 38, + 302, + 320, + 339, + 299, + 43, + 310, + 231, + 172, + 25, + 127, + 353, + 286, + 54, + 26, + 392, + 406, + 402, + 401, + 403, + 381, + 112, + 111, + 363, + 322, + 397, + 27, + 28, + 279, + 117, + 119, + 342, + 298, + 379, + 331, + 303, + 396, + 300, + 306, + 377, + 291, + 227, + 315, + 366, + 364, + 218, + 346, + 349, + 341, + 308, + 351, + 121, + 120, + 311, + 358, + 368, + 285, + 305, + 304, + 72, + 73, + 280, + 321, + 332, + 277, + 369, + 333, + 365, + 45, + 386, + 100, + 37, + 313, + 314, + 343, + 110, + 324, + 370, + 40, + 309, + 202, + 290, + 360, + 178, + 380, + 288, + 41, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Pokemon[] = { + 374, + 63, + 376, + 359, + 390, + 391, + 184, + 350, + 378, + 328, + 299, + 182, + 397, + 364, + 339, + 340, + 222, + 410, + 85, + 84, + 232, + 396, + 44, + 315, + 316, + 54, + 55, + 286, + 347, + 280, + 174, + 355, + 370, + 385, + 337, + 130, + 277, + 311, + 75, + 76, + 289, + 279, + 45, + 203, + 42, + 118, + 119, + 352, + 405, + 394, + 336, + 283, + 169, + 387, + 360, + 409, + 281, + 64, + 330, + 307, + 297, + 129, + 317, + 395, + 393, + 74, + 332, + 306, + 40, + 371, + 372, + 326, + 327, + 404, + 170, + 171, + 407, + 408, + 101, + 319, + 366, + 334, + 325, + 388, + 282, + 296, + 295, + 348, + 66, + 68, + 219, + 287, + 81, + 82, + 335, + 183, + 67, + 312, + 357, + 356, + 400, + 399, + 329, + 354, + 284, + 365, + 43, + 320, + 177, + 301, + 302, + 303, + 345, + 411, + 308, + 293, + 227, + 292, + 310, + 373, + 231, + 172, + 25, + 127, + 353, + 294, + 39, + 318, + 321, + 26, + 406, + 402, + 401, + 403, + 381, + 278, + 111, + 112, + 363, + 375, + 298, + 28, + 27, + 291, + 368, + 367, + 323, + 218, + 346, + 304, + 305, + 230, + 342, + 117, + 341, + 116, + 380, + 377, + 65, + 214, + 88, + 89, + 110, + 109, + 349, + 351, + 121, + 120, + 384, + 383, + 382, + 285, + 398, + 300, + 72, + 73, + 331, + 392, + 369, + 344, + 333, + 379, + 386, + 338, + 100, + 38, + 37, + 358, + 313, + 314, + 343, + 290, + 324, + 389, + 309, + 202, + 178, + 288, + 322, + 41, + 362, + 361, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_ORDER diff --git a/src/data/text/easy_chat/groups/pokemon/words.h b/src/data/text/easy_chat/groups/pokemon/words.h new file mode 100644 index 000000000..49292c8a9 --- /dev/null +++ b/src/data/text/easy_chat/groups/pokemon/words.h @@ -0,0 +1,211 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_WORDS + +#include "constants/species.h" + +u16 gEasyChatGroupWords_Pokemon[] = { + SPECIES_ARMALDO, + SPECIES_BEAUTIFLY, + SPECIES_MEDITITE, + SPECIES_SEAKING, + SPECIES_TORCHIC, + SPECIES_ANORITH, + SPECIES_ABSOL, + SPECIES_SURSKIT, + SPECIES_MASQUERAIN, + SPECIES_GEODUDE, + SPECIES_ILLUMISE, + SPECIES_SKARMORY, + SPECIES_SKITTY, + SPECIES_DELCATTY, + SPECIES_SWELLOW, + SPECIES_GLALIE, + SPECIES_KYOGRE, + SPECIES_MACHAMP, + SPECIES_PINSIR, + SPECIES_KECLEON, + SPECIES_SHUPPET, + SPECIES_SILCOON, + SPECIES_BRELOOM, + SPECIES_SHROOMISH, + SPECIES_CARVANHA, + SPECIES_TREECKO, + SPECIES_WINGULL, + SPECIES_GYARADOS, + SPECIES_NINETALES, + SPECIES_GIRAFARIG, + SPECIES_KIRLIA, + SPECIES_BELLOSSOM, + SPECIES_KINGDRA, + SPECIES_GLOOM, + SPECIES_MAWILE, + SPECIES_GROUDON, + SPECIES_MIGHTYENA, + SPECIES_CROBAT, + SPECIES_ABRA, + SPECIES_SLAKING, + SPECIES_WURMPLE, + SPECIES_MAGIKARP, + SPECIES_MAGNEMITE, + SPECIES_TORKOAL, + SPECIES_MACHOKE, + SPECIES_GULPIN, + SPECIES_ARON, + SPECIES_PSYDUCK, + SPECIES_LAIRON, + SPECIES_WHISMUR, + SPECIES_NUZLEAF, + SPECIES_PHANPY, + SPECIES_SHELGON, + SPECIES_GOLDUCK, + SPECIES_GOLBAT, + SPECIES_GOLEM, + SPECIES_GRAVELER, + SPECIES_GARDEVOIR, + SPECIES_RHYDON, + SPECIES_RHYHORN, + SPECIES_GOREBYSS, + SPECIES_CORSOLA, + SPECIES_CACNEA, + SPECIES_DUSCLOPS, + SPECIES_SHARPEDO, + SPECIES_ZANGOOSE, + SPECIES_SANDSHREW, + SPECIES_SANDSLASH, + SPECIES_SEADRA, + SPECIES_RELICANTH, + SPECIES_ZIGZAGOON, + SPECIES_CRAWDAUNT, + SPECIES_SCEPTILE, + SPECIES_GROVYLE, + SPECIES_BANETTE, + SPECIES_JIRACHI, + SPECIES_STARMIE, + SPECIES_ZUBAT, + SPECIES_TAILLOW, + SPECIES_WYNAUT, + SPECIES_WOBBUFFET, + SPECIES_SOLROCK, + SPECIES_SHIFTRY, + SPECIES_HORSEA, + SPECIES_BAGON, + SPECIES_SEEDOT, + SPECIES_SPHEAL, + SPECIES_BELDUM, + SPECIES_MEDICHAM, + SPECIES_CHINCHOU, + SPECIES_CHIMECHO, + SPECIES_ALTARIA, + SPECIES_SWABLU, + SPECIES_NINCADA, + SPECIES_DEOXYS, + SPECIES_NINJASK, + SPECIES_DODUO, + SPECIES_DODRIO, + SPECIES_KOFFING, + SPECIES_TENTACRUEL, + SPECIES_DUSTOX, + SPECIES_LOUDRED, + SPECIES_GOLDEEN, + SPECIES_BARBOACH, + SPECIES_SEALEO, + SPECIES_WALREIN, + SPECIES_TROPIUS, + SPECIES_DONPHAN, + SPECIES_NUMEL, + SPECIES_ODDISH, + SPECIES_TRAPINCH, + SPECIES_SLAKOTH, + SPECIES_WHISCASH, + SPECIES_SHEDINJA, + SPECIES_MARSHTOMP, + SPECIES_NATU, + SPECIES_XATU, + SPECIES_CLAYDOL, + SPECIES_CACTURNE, + SPECIES_NOSEPASS, + SPECIES_CLAMPERL, + SPECIES_CAMERUPT, + SPECIES_EXPLOUD, + SPECIES_BLAZIKEN, + SPECIES_LOMBRE, + SPECIES_LOTAD, + SPECIES_SPINDA, + SPECIES_SPOINK, + SPECIES_SEVIPER, + SPECIES_HARIYAMA, + SPECIES_VOLBEAT, + SPECIES_HUNTAIL, + SPECIES_PIKACHU, + SPECIES_PICHU, + SPECIES_STARYU, + SPECIES_VIBRAVA, + SPECIES_VOLTORB, + SPECIES_FEEBAS, + SPECIES_ALAKAZAM, + SPECIES_GRUMPIG, + SPECIES_WIGGLYTUFF, + SPECIES_IGGLYBUFF, + SPECIES_FLYGON, + SPECIES_PLUSLE, + SPECIES_JIGGLYPUFF, + SPECIES_CORPHISH, + SPECIES_GRIMER, + SPECIES_MUK, + SPECIES_HERACROSS, + SPECIES_PELIPPER, + SPECIES_WAILORD, + SPECIES_WAILMER, + SPECIES_SALAMENCE, + SPECIES_AGGRON, + SPECIES_POOCHYENA, + SPECIES_CASTFORM, + SPECIES_MINUN, + SPECIES_MAGCARGO, + SPECIES_MAKUHITA, + SPECIES_SLUGMA, + SPECIES_WEEZING, + SPECIES_LINOONE, + SPECIES_CASCOON, + SPECIES_MARILL, + SPECIES_AZUMARILL, + SPECIES_SWALOT, + SPECIES_ELECTRODE, + SPECIES_MUDKIP, + SPECIES_MILOTIC, + SPECIES_METAGROSS, + SPECIES_METANG, + SPECIES_TENTACOOL, + SPECIES_BALTOY, + SPECIES_SABLEYE, + SPECIES_VIGOROTH, + SPECIES_SNORUNT, + SPECIES_CRADILY, + SPECIES_KADABRA, + SPECIES_DUSKULL, + SPECIES_RAICHU, + SPECIES_MANECTRIC, + SPECIES_SWAMPERT, + SPECIES_ELECTRIKE, + SPECIES_LATIAS, + SPECIES_LATIOS, + SPECIES_LUVDISC, + SPECIES_VILEPLUME, + SPECIES_RALTS, + SPECIES_LANTURN, + SPECIES_LILEEP, + SPECIES_LUNATONE, + SPECIES_AZURILL, + SPECIES_LUDICOLO, + SPECIES_MAGNETON, + SPECIES_REGICE, + SPECIES_REGISTEEL, + SPECIES_REGIROCK, + SPECIES_RAYQUAZA, + SPECIES_VULPIX, + SPECIES_ROSELIA, + SPECIES_COMBUSKEN, + SPECIES_MACHOP, +}; + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_WORDS diff --git a/src/data/text/easy_chat/groups/pokemon_2/order.h b/src/data/text/easy_chat/groups/pokemon_2/order.h new file mode 100644 index 000000000..e960edf13 --- /dev/null +++ b/src/data/text/easy_chat/groups/pokemon_2/order.h @@ -0,0 +1,514 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_2_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_2_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Pokemon2[] = { + 63, + 142, + 190, + 65, + 181, + 24, + 59, + 168, + 144, + 184, + 153, + 15, + 182, + 69, + 9, + 242, + 1, + 12, + 10, + 251, + 113, + 6, + 4, + 5, + 152, + 170, + 36, + 35, + 173, + 91, + 222, + 169, + 159, + 104, + 155, + 225, + 87, + 50, + 132, + 85, + 84, + 232, + 148, + 149, + 147, + 96, + 51, + 206, + 133, + 23, + 125, + 101, + 239, + 244, + 196, + 102, + 103, + 83, + 22, + 160, + 180, + 136, + 205, + 162, + 92, + 94, + 74, + 203, + 207, + 44, + 42, + 118, + 55, + 76, + 210, + 75, + 88, + 58, + 130, + 93, + 214, + 107, + 106, + 237, + 250, + 163, + 187, + 116, + 229, + 228, + 97, + 174, + 2, + 39, + 135, + 189, + 124, + 140, + 141, + 64, + 14, + 115, + 230, + 99, + 109, + 98, + 171, + 131, + 246, + 166, + 165, + 108, + 249, + 68, + 67, + 66, + 240, + 219, + 129, + 126, + 81, + 82, + 56, + 226, + 179, + 183, + 105, + 154, + 52, + 11, + 151, + 150, + 241, + 200, + 146, + 122, + 89, + 198, + 177, + 34, + 31, + 29, + 32, + 30, + 33, + 38, + 164, + 224, + 43, + 138, + 139, + 95, + 46, + 47, + 53, + 231, + 172, + 18, + 17, + 16, + 25, + 221, + 204, + 127, + 186, + 60, + 61, + 62, + 77, + 137, + 233, + 57, + 54, + 247, + 195, + 156, + 211, + 26, + 243, + 78, + 20, + 19, + 223, + 112, + 111, + 27, + 28, + 212, + 123, + 117, + 119, + 86, + 161, + 90, + 213, + 227, + 188, + 80, + 199, + 79, + 218, + 235, + 238, + 215, + 143, + 209, + 21, + 167, + 7, + 234, + 121, + 120, + 208, + 185, + 245, + 192, + 191, + 220, + 114, + 128, + 216, + 72, + 73, + 175, + 176, + 158, + 157, + 248, + 236, + 197, + 201, + 217, + 134, + 49, + 48, + 3, + 71, + 45, + 100, + 37, + 8, + 13, + 70, + 110, + 40, + 202, + 194, + 178, + 193, + 145, + 41, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Pokemon2[] = { + 63, + 142, + 93, + 138, + 139, + 181, + 134, + 24, + 168, + 59, + 144, + 91, + 184, + 211, + 15, + 3, + 2, + 1, + 135, + 182, + 48, + 225, + 251, + 113, + 222, + 234, + 248, + 50, + 51, + 132, + 85, + 84, + 232, + 148, + 149, + 147, + 44, + 206, + 239, + 125, + 152, + 244, + 54, + 55, + 133, + 235, + 194, + 155, + 136, + 79, + 174, + 205, + 58, + 78, + 130, + 94, + 75, + 76, + 45, + 203, + 4, + 6, + 5, + 42, + 118, + 119, + 210, + 190, + 21, + 242, + 250, + 163, + 187, + 13, + 188, + 229, + 228, + 97, + 22, + 201, + 156, + 169, + 160, + 87, + 86, + 140, + 141, + 64, + 115, + 237, + 158, + 129, + 221, + 106, + 99, + 74, + 69, + 105, + 40, + 103, + 14, + 98, + 198, + 238, + 80, + 170, + 171, + 131, + 246, + 199, + 146, + 166, + 165, + 101, + 153, + 249, + 66, + 68, + 240, + 219, + 126, + 81, + 82, + 226, + 183, + 67, + 52, + 154, + 56, + 151, + 150, + 241, + 185, + 195, + 90, + 43, + 197, + 177, + 92, + 34, + 31, + 29, + 32, + 30, + 33, + 107, + 164, + 224, + 49, + 95, + 102, + 122, + 227, + 189, + 46, + 47, + 231, + 172, + 35, + 173, + 25, + 127, + 36, + 77, + 83, + 137, + 233, + 213, + 196, + 39, + 247, + 62, + 60, + 61, + 186, + 220, + 236, + 26, + 243, + 57, + 19, + 20, + 10, + 143, + 223, + 23, + 111, + 112, + 124, + 11, + 28, + 27, + 71, + 212, + 7, + 8, + 108, + 218, + 230, + 117, + 116, + 123, + 65, + 214, + 207, + 88, + 89, + 12, + 110, + 109, + 215, + 53, + 209, + 192, + 191, + 208, + 121, + 120, + 245, + 114, + 204, + 17, + 18, + 16, + 128, + 216, + 72, + 73, + 175, + 176, + 157, + 104, + 96, + 200, + 9, + 159, + 70, + 217, + 179, + 100, + 38, + 37, + 180, + 167, + 162, + 161, + 202, + 178, + 193, + 145, + 41, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_2_ORDER diff --git a/src/data/text/easy_chat/groups/pokemon_2/words.h b/src/data/text/easy_chat/groups/pokemon_2/words.h new file mode 100644 index 000000000..d6cb445d4 --- /dev/null +++ b/src/data/text/easy_chat/groups/pokemon_2/words.h @@ -0,0 +1,260 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_2_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_2_WORDS + +#include "constants/species.h" + +u16 gEasyChatGroupWords_Pokemon2[] = { + SPECIES_EKANS, + SPECIES_ARBOK, + SPECIES_SEAKING, + SPECIES_ARIADOS, + SPECIES_CROCONAW, + SPECIES_UNOWN, + SPECIES_EEVEE, + SPECIES_GEODUDE, + SPECIES_SPINARAK, + SPECIES_PILOSWINE, + SPECIES_ONIX, + SPECIES_ARCANINE, + SPECIES_SUDOWOODO, + SPECIES_WEEPINBELL, + SPECIES_VICTREEBEL, + SPECIES_WOOPER, + SPECIES_SWINUB, + SPECIES_SKARMORY, + SPECIES_AIPOM, + SPECIES_ESPEON, + SPECIES_HITMONCHAN, + SPECIES_ELEKID, + SPECIES_ELECTABUZZ, + SPECIES_ENTEI, + SPECIES_FERALIGATR, + SPECIES_FURRET, + SPECIES_OCTILLERY, + SPECIES_PRIMEAPE, + SPECIES_SENTRET, + SPECIES_STANTLER, + SPECIES_SPEAROW, + SPECIES_FEAROW, + SPECIES_OMASTAR, + SPECIES_OMANYTE, + SPECIES_GROWLITHE, + SPECIES_MACHAMP, + SPECIES_DRAGONITE, + SPECIES_PINSIR, + SPECIES_SNORLAX, + SPECIES_KABUTO, + SPECIES_KABUTOPS, + SPECIES_HITMONTOP, + SPECIES_WARTORTLE, + SPECIES_BLASTOISE, + SPECIES_FARFETCHD, + SPECIES_CUBONE, + SPECIES_MAROWAK, + SPECIES_KANGASKHAN, + SPECIES_SUNFLORA, + SPECIES_CATERPIE, + SPECIES_GYARADOS, + SPECIES_RAPIDASH, + SPECIES_NINETALES, + SPECIES_GIRAFARIG, + SPECIES_BELLOSSOM, + SPECIES_KINGDRA, + SPECIES_KINGLER, + SPECIES_GLOOM, + SPECIES_PINECO, + SPECIES_GLIGAR, + SPECIES_KRABBY, + SPECIES_GRANBULL, + SPECIES_CROBAT, + SPECIES_ABRA, + SPECIES_GENGAR, + SPECIES_TAUROS, + SPECIES_MAGIKARP, + SPECIES_MAGNEMITE, + SPECIES_GASTLY, + SPECIES_HAUNTER, + SPECIES_MACHOKE, + SPECIES_KAKUNA, + SPECIES_PSYDUCK, + SPECIES_PHANPY, + SPECIES_RATTATA, + SPECIES_GOLDUCK, + SPECIES_GOLBAT, + SPECIES_GOLEM, + SPECIES_GRAVELER, + SPECIES_VENONAT, + SPECIES_RHYDON, + SPECIES_RHYHORN, + SPECIES_PUPITAR, + SPECIES_CORSOLA, + SPECIES_HITMONLEE, + SPECIES_ZAPDOS, + SPECIES_JOLTEON, + SPECIES_SANDSHREW, + SPECIES_SANDSLASH, + SPECIES_SEADRA, + SPECIES_SHELLDER, + SPECIES_VAPOREON, + SPECIES_DEWGONG, + SPECIES_SUICUNE, + SPECIES_STARMIE, + SPECIES_SCYTHER, + SPECIES_ZUBAT, + SPECIES_BEEDRILL, + SPECIES_HYPNO, + SPECIES_DROWZEE, + SPECIES_SQUIRTLE, + SPECIES_CELEBI, + SPECIES_WOBBUFFET, + SPECIES_DUGTRIO, + SPECIES_HORSEA, + SPECIES_EXEGGCUTE, + SPECIES_CHIKORITA, + SPECIES_CHINCHOU, + SPECIES_SHUCKLE, + SPECIES_DIGLETT, + SPECIES_REMORAID, + SPECIES_DELIBIRD, + SPECIES_HOUNDOUR, + SPECIES_AMPHAROS, + SPECIES_DODUO, + SPECIES_DODRIO, + SPECIES_SMEARGLE, + SPECIES_KOFFING, + SPECIES_TENTACRUEL, + SPECIES_TOGETIC, + SPECIES_TOGEPI, + SPECIES_GOLDEEN, + SPECIES_METAPOD, + SPECIES_DONPHAN, + SPECIES_ODDISH, + SPECIES_EXEGGUTOR, + SPECIES_NIDOKING, + SPECIES_NIDOQUEEN, + SPECIES_NIDORAN_F, + SPECIES_NIDORAN_M, + SPECIES_NIDORINA, + SPECIES_NIDORINO, + SPECIES_MEOWTH, + SPECIES_SNEASEL, + SPECIES_POLIWHIRL, + SPECIES_POLITOED, + SPECIES_POLIWRATH, + SPECIES_POLIWAG, + SPECIES_QUAGSIRE, + SPECIES_NATU, + SPECIES_XATU, + SPECIES_DUNSPARCE, + SPECIES_SEEL, + SPECIES_STEELIX, + SPECIES_TYPHLOSION, + SPECIES_DRAGONAIR, + SPECIES_BUTTERFREE, + SPECIES_SCIZOR, + SPECIES_HOPPIP, + SPECIES_BLISSEY, + SPECIES_PARAS, + SPECIES_PARASECT, + SPECIES_QWILFISH, + SPECIES_MR_MIME, + SPECIES_TYROGUE, + SPECIES_CLOYSTER, + SPECIES_TYRANITAR, + SPECIES_CLEFFA, + SPECIES_WEEDLE, + SPECIES_PIKACHU, + SPECIES_CLEFABLE, + SPECIES_PIDGEOT, + SPECIES_PIDGEOTTO, + SPECIES_PICHU, + SPECIES_CLEFAIRY, + SPECIES_CHARMANDER, + SPECIES_STARYU, + SPECIES_CYNDAQUIL, + SPECIES_SUNKERN, + SPECIES_TEDDIURSA, + SPECIES_VOLTORB, + SPECIES_MOLTRES, + SPECIES_FLAREON, + SPECIES_ALAKAZAM, + SPECIES_MAGMAR, + SPECIES_FORRETRESS, + SPECIES_WIGGLYTUFF, + SPECIES_IVYSAUR, + SPECIES_BULBASAUR, + SPECIES_VENUSAUR, + SPECIES_AERODACTYL, + SPECIES_MAGBY, + SPECIES_IGGLYBUFF, + SPECIES_UMBREON, + SPECIES_ARTICUNO, + SPECIES_JIGGLYPUFF, + SPECIES_SNUBBULL, + SPECIES_BAYLEEF, + SPECIES_GRIMER, + SPECIES_MUK, + SPECIES_HERACROSS, + SPECIES_HOUNDOOM, + SPECIES_PERSIAN, + SPECIES_LICKITUNG, + SPECIES_HO_OH, + SPECIES_HOOTHOOT, + SPECIES_PIDGEY, + SPECIES_PONYTA, + SPECIES_SKIPLOOM, + SPECIES_PORYGON, + SPECIES_PORYGON2, + SPECIES_MAGCARGO, + SPECIES_SLUGMA, + SPECIES_QUILAVA, + SPECIES_BELLSPROUT, + SPECIES_WEEZING, + SPECIES_MARILL, + SPECIES_AZUMARILL, + SPECIES_ELECTRODE, + SPECIES_MANKEY, + SPECIES_MANTINE, + SPECIES_DRATINI, + SPECIES_MEW, + SPECIES_MEWTWO, + SPECIES_MILTANK, + SPECIES_MISDREAVUS, + SPECIES_SMOOCHUM, + SPECIES_MEGANIUM, + SPECIES_DITTO, + SPECIES_TENTACOOL, + SPECIES_MAREEP, + SPECIES_FLAAFFY, + SPECIES_VENOMOTH, + SPECIES_TANGELA, + SPECIES_SLOWKING, + SPECIES_SLOWBRO, + SPECIES_SLOWPOKE, + SPECIES_MURKROW, + SPECIES_YANMA, + SPECIES_KADABRA, + SPECIES_LARVITAR, + SPECIES_NOCTOWL, + SPECIES_RAIKOU, + SPECIES_RAICHU, + SPECIES_CHANSEY, + SPECIES_RATICATE, + SPECIES_LAPRAS, + SPECIES_VILEPLUME, + SPECIES_LANTURN, + SPECIES_CHARMELEON, + SPECIES_CHARIZARD, + SPECIES_URSARING, + SPECIES_JYNX, + SPECIES_LUGIA, + SPECIES_MAGNETON, + SPECIES_LEDIAN, + SPECIES_LEDYBA, + SPECIES_VULPIX, + SPECIES_JUMPLUFF, + SPECIES_TOTODILE, + SPECIES_MACHOP, +}; + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_POKEMON_2_WORDS diff --git a/src/data/text/easy_chat/groups/speech/order.h b/src/data/text/easy_chat/groups/speech/order.h new file mode 100644 index 000000000..109a21d6a --- /dev/null +++ b/src/data/text/easy_chat/groups/speech/order.h @@ -0,0 +1,132 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_SPEECH_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_SPEECH_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Speech[] = { + 19, + 18, + 27, + 20, + 41, + 40, + 21, + 57, + 23, + 49, + 43, + 52, + 10, + 12, + 17, + 31, + 59, + 9, + 56, + 34, + 8, + 16, + 15, + 11, + 25, + 58, + 36, + 30, + 4, + 3, + 0, + 2, + 14, + 53, + 50, + 54, + 32, + 33, + 6, + 1, + 22, + 42, + 24, + 7, + 51, + 37, + 44, + 5, + 46, + 39, + 38, + 29, + 13, + 55, + 47, + 45, + 35, + 48, + 26, + 28, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Speech[] = { + 10, + 49, + 41, + 37, + 48, + 6, + 30, + 14, + 53, + 13, + 20, + 51, + 44, + 19, + 5, + 56, + 46, + 23, + 38, + 24, + 12, + 59, + 9, + 34, + 52, + 4, + 2, + 15, + 57, + 39, + 11, + 50, + 3, + 54, + 32, + 1, + 47, + 29, + 22, + 40, + 42, + 17, + 36, + 26, + 43, + 58, + 16, + 31, + 21, + 35, + 33, + 18, + 8, + 45, + 27, + 25, + 28, + 7, + 55, + 0, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_SPEECH_ORDER diff --git a/src/data/text/easy_chat/groups/speech/words.h b/src/data/text/easy_chat/groups/speech/words.h new file mode 100644 index 000000000..27cc7bf4d --- /dev/null +++ b/src/data/text/easy_chat/groups/speech/words.h @@ -0,0 +1,130 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_SPEECH_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_SPEECH_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Speech[] = _( + "LISTEN$" + "NOT VERY$" + "MEAN$" + "LIE$" + "LAY$" + "RECOMMEND$" + "NITWIT$" + "QUITE$" + "FROM$" + "FEELING$" + "BUT$" + "HOWEVER$" + "CASE$" + "THE$" + "MISS$" + "HOW$" + "HIT$" + "ENOUGH$" + "A LOT$" + "A LITTLE$" + "ABSOLUTELY$" + "AND$" + "ONLY$" + "AROUND$" + "PROBABLY$" + "IF$" + "VERY$" + "A TINY BIT$" + "WILD$" + "THAT’S$" + "JUST$" + "EVEN SO,$" + "MUST BE$" + "NATURALLY$" + "FOR NOW,$" + "UNDERSTOOD$" + "JOKING$" + "READY$" + "SOMETHING$" + "SOMEHOW$" + "ALTHOUGH$" + "ALSO$" + "PERFECT$" + "AS MUCH AS$" + "REALLY$" + "TRULY$" + "SERIOUSLY$" + "TOTALLY$" + "UNTIL$" + "AS IF$" + "MOOD$" + "RATHER$" + "AWFULLY$" + "MODE$" + "MORE$" + "TOO LATE$" + "FINALLY$" + "ANY$" + "INSTEAD$" + "FANTASTIC$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Speech[] = _( + "ZUHÖREN$" + "NICHT SEHR$" + "GEMEIN$" + "LÜGEN$" + "GELOGEN$" + "EMPFOHLEN$" + "BLÖDKOPF$" + "WIRKLICH$" + "VON$" + "FÜHLEN$" + "ABER$" + "JEDOCH$" + "FALL$" + "DER$" + "DANEBEN$" + "GENAU WIE$" + "TREFFER$" + "REICHT AUS$" + "VIEL$" + "EIN BISSCHEN$" + "DIE$" + "UND$" + "NUR$" + "ETWA$" + "EVENTUELL$" + "WENN$" + "SEHR$" + "WENIG$" + "WILD$" + "NOCH MAL$" + "BLOSS$" + "TROTZDEM$" + "MUSS$" + "VERSTÄNDLICH$" + "FÜR NUN$" + "VERSTANDEN$" + "SCHERZEN$" + "BEREIT$" + "ETWAS$" + "IRGENDWIE$" + "OBWOHL$" + "ALSO$" + "PERFEKT$" + "SO VIEL WIE$" + "EHRLICH$" + "WAHRHAFTIG$" + "ERNST$" + "NOCH$" + "BIS$" + "ALS OB$" + "LAUNE$" + "EHER$" + "FURCHTBAR$" + "DENKE$" + "MEHR$" + "ZU SPÄT$" + "ENDLICH$" + "IRGENDEIN$" + "STATT$" + "FANTASTISCH$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_SPEECH_WORDS diff --git a/src/data/text/easy_chat/groups/status/order.h b/src/data/text/easy_chat/groups/status/order.h new file mode 100644 index 000000000..7bb290af6 --- /dev/null +++ b/src/data/text/easy_chat/groups/status/order.h @@ -0,0 +1,230 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_STATUS_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_STATUS_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Status[] = { + 13, + 9, + 5, + 23, + 11, + 12, + 101, + 97, + 106, + 29, + 68, + 8, + 86, + 78, + 21, + 22, + 24, + 99, + 25, + 37, + 0, + 62, + 4, + 76, + 72, + 88, + 57, + 16, + 90, + 91, + 104, + 75, + 58, + 31, + 28, + 38, + 33, + 54, + 73, + 15, + 32, + 71, + 100, + 48, + 81, + 6, + 47, + 82, + 77, + 39, + 85, + 94, + 40, + 79, + 92, + 36, + 69, + 64, + 43, + 93, + 103, + 102, + 89, + 83, + 60, + 61, + 84, + 14, + 107, + 3, + 10, + 7, + 34, + 66, + 45, + 46, + 59, + 17, + 53, + 35, + 108, + 74, + 18, + 19, + 87, + 20, + 49, + 70, + 1, + 67, + 26, + 27, + 98, + 44, + 42, + 2, + 30, + 51, + 52, + 63, + 65, + 50, + 105, + 55, + 95, + 56, + 96, + 41, + 80, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Status[] = { + 47, + 33, + 9, + 66, + 25, + 24, + 96, + 5, + 6, + 77, + 38, + 99, + 106, + 21, + 22, + 64, + 62, + 1, + 76, + 59, + 32, + 57, + 71, + 84, + 53, + 78, + 63, + 8, + 86, + 37, + 90, + 104, + 91, + 39, + 75, + 72, + 31, + 10, + 60, + 61, + 101, + 56, + 98, + 100, + 36, + 81, + 97, + 16, + 23, + 13, + 85, + 18, + 19, + 48, + 54, + 87, + 94, + 40, + 107, + 92, + 102, + 105, + 103, + 29, + 4, + 69, + 43, + 79, + 35, + 28, + 83, + 89, + 58, + 14, + 108, + 41, + 34, + 3, + 26, + 46, + 45, + 27, + 74, + 15, + 65, + 11, + 12, + 82, + 2, + 88, + 70, + 51, + 52, + 49, + 7, + 30, + 42, + 93, + 20, + 50, + 73, + 0, + 55, + 95, + 44, + 17, + 67, + 68, + 80, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_STATUS_ORDER diff --git a/src/data/text/easy_chat/groups/status/words.h b/src/data/text/easy_chat/groups/status/words.h new file mode 100644 index 000000000..26b0b6a32 --- /dev/null +++ b/src/data/text/easy_chat/groups/status/words.h @@ -0,0 +1,228 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_STATUS_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_STATUS_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Status[] = _( + "DARK$" + "STENCH$" + "THICK FAT$" + "RAIN DISH$" + "DRIZZLE$" + "ARENA TRAP$" + "INTIMIDATE$" + "ROCK HEAD$" + "COLOR$" + "ALT. COLOR$" + "ROCK$" + "BEAUTIFUL$" + "BEAUTY$" + "AIR LOCK$" + "PSYCHIC$" + "HYPER CUTTER$" + "FIGHTING$" + "SHADOW TAG$" + "SMART$" + "SMARTNESS$" + "SPEED BOOST$" + "COOL$" + "COOLNESS$" + "BATTLE ARMOR$" + "CUTE$" + "CUTENESS$" + "STURDY$" + "SUCTION CUPS$" + "GRASS$" + "CLEAR BODY$" + "TORRENT$" + "GHOST$" + "ICE$" + "GUTS$" + "ROUGH SKIN$" + "SHELL ARMOR$" + "NATURAL CURE$" + "DAMP$" + "GROUND$" + "LIMBER$" + "MAGNET PULL$" + "WHITE SMOKE$" + "SYNCHRONIZE$" + "OVERGROW$" + "SWIFT SWIM$" + "SAND STREAM$" + "SAND VEIL$" + "KEEN EYE$" + "INNERFOCUS$" + "STATIC$" + "TYPE$" + "TOUGH$" + "TOUGHNESS$" + "SHED SKIN$" + "HUGE POWER$" + "VOLT ABSORB$" + "WATER ABSORB$" + "ELECTRIC$" + "FORECAST$" + "SERENE GRACE$" + "POISON$" + "POISON POINT$" + "DRAGON$" + "TRACE$" + "OBLIVIOUS$" + "TRUANT$" + "RUN AWAY$" + "STICKY HOLD$" + "CLOUD NINE$" + "NORMAL$" + "STEEL$" + "ILLUMINATE$" + "EARLY BIRD$" + "HUSTLE$" + "SHINE$" + "FLYING$" + "DROUGHT$" + "LIGHTNINGROD$" + "COMPOUNDEYES$" + "MARVEL SCALE$" + "WONDER GUARD$" + "INSOMNIA$" + "LEVITATE$" + "PLUS$" + "PRESSURE$" + "LIQUID OOZE$" + "COLOR CHANGE$" + "SOUNDPROOF$" + "EFFECT SPORE$" + "{PK}RS$" + "FIRE$" + "FLAME BODY$" + "MINUS$" + "OWN TEMPO$" + "MAGMA ARMOR$" + "WATER$" + "WATER VEIL$" + "BUG$" + "SWARM$" + "CUTE CHARM$" + "IMMUNITY$" + "BLAZE$" + "PICKUP$" + "PATTERN$" + "FLASH FIRE$" + "VITAL SPIRIT$" + "CHLOROPHYLL$" + "PURE POWER$" + "SHIELD DUST$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Status[] = _( + "UNLICHT$" + "DUFTNOTE$" + "SPECKSCHICHT$" + "REGENGENUSS$" + "NIESEL$" + "AUSWEGLOS$" + "BEDROHER$" + "STEINHAUPT$" + "FARBE$" + "ALT. FARBE$" + "GESTEIN$" + "SCHÖN$" + "SCHÖNHEIT$" + "KLIMASCHUTZ$" + "PSYCHO$" + "SCHERENMACHT$" + "KAMPF$" + "WEGSPERRE$" + "KLUG$" + "KLUGHEIT$" + "TEMPOSCHUB$" + "COOL$" + "COOLNESS$" + "KAMPFPANZER$" + "ANMUTIG$" + "ANMUT$" + "ROBUSTHEIT$" + "SAUGNAPF$" + "PFLANZE$" + "NEUTRALTORSO$" + "STURZBACH$" + "GEIST$" + "EIS$" + "ADRENALIN$" + "RAUHAUT$" + "PANZERHAUT$" + "INNERE KRAFT$" + "FEUCHTIGKEIT$" + "BODEN$" + "FLEXIBILITÄT$" + "MAGNETFALLE$" + "PULVERRAUCH$" + "SYNCHRO$" + "NOTDÜNGER$" + "WASSERTEMPO$" + "SANDSTURM$" + "SANDSCHLEIER$" + "ADLERAUGE$" + "KONZENTRATOR$" + "STATIK$" + "TYP$" + "STARK$" + "STÄRKE$" + "EXPIDERMIS$" + "KRAFTKOLOSS$" + "VOLTABSORBER$" + "H2O-ABSORBER$" + "ELEKTRO$" + "PROGNOSE$" + "EDELMUT$" + "GIFT$" + "GIFTDORN$" + "DRACHEN$" + "FÄHRTE$" + "DÖSIGKEIT$" + "SCHNARCHNASE$" + "ANGSTHASE$" + "WERTEHALTER$" + "WOLKE SIEBEN$" + "NORMAL$" + "STAHL$" + "ERLEUCHTUNG$" + "FRÜHWECKER$" + "ÜBEREIFER$" + "SCHEINEN$" + "FLIEGEN$" + "DÜRRE$" + "BLITZFÄNGER$" + "FACETTENAUGE$" + "NOTSCHUTZ$" + "WUNDERWACHE$" + "INSOMNIA$" + "SCHWEBE$" + "PLUS$" + "ERZWINGER$" + "KLOAKENSOSSE$" + "FARBWECHSEL$" + "LÄRMSCHUTZ$" + "SPORENWIRT$" + "POKéRUS$" + "FEUER$" + "FLAMMKÖRPER$" + "MINUS$" + "TEMPOMACHER$" + "MAGMAPANZER$" + "WASSER$" + "AQUAHÜLLE$" + "KÄFER$" + "HEXAPLAGA$" + "CHARMEBOLZEN$" + "IMMUNITÄT$" + "GROSSBRAND$" + "MITNAHME$" + "MUSTER$" + "FEUERFÄNGER$" + "MUNTERKEIT$" + "CHLOROPHYLL$" + "MENTALKRAFT$" + "PUDERABWEHR$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_STATUS_WORDS diff --git a/src/data/text/easy_chat/groups/time/order.h b/src/data/text/easy_chat/groups/time/order.h new file mode 100644 index 000000000..411619b94 --- /dev/null +++ b/src/data/text/easy_chat/groups/time/order.h @@ -0,0 +1,102 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_TIME_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_TIME_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Time[] = { + 29, + 39, + 6, + 18, + 33, + 7, + 37, + 4, + 9, + 35, + 17, + 10, + 0, + 27, + 20, + 8, + 14, + 3, + 16, + 15, + 24, + 1, + 40, + 28, + 43, + 42, + 26, + 38, + 30, + 5, + 22, + 34, + 23, + 25, + 31, + 32, + 41, + 19, + 13, + 2, + 11, + 21, + 44, + 36, + 12, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Time[] = { + 29, + 18, + 33, + 22, + 40, + 42, + 38, + 11, + 41, + 10, + 8, + 39, + 14, + 17, + 34, + 12, + 0, + 13, + 6, + 5, + 26, + 3, + 27, + 21, + 7, + 24, + 15, + 1, + 28, + 43, + 30, + 20, + 31, + 32, + 16, + 23, + 25, + 4, + 9, + 35, + 37, + 2, + 36, + 44, + 19, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_TIME_ORDER diff --git a/src/data/text/easy_chat/groups/time/words.h b/src/data/text/easy_chat/groups/time/words.h new file mode 100644 index 000000000..c163396f1 --- /dev/null +++ b/src/data/text/easy_chat/groups/time/words.h @@ -0,0 +1,100 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_TIME_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_TIME_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Time[] = _( + "FALL$" + "MORNING$" + "TOMORROW$" + "LAST$" + "DAY$" + "SOMETIME$" + "ALWAYS$" + "CURRENT$" + "FOREVER$" + "DAYS$" + "END$" + "TUESDAY$" + "YESTERDAY$" + "TODAY$" + "FRIDAY$" + "MONDAY$" + "LATER$" + "EARLIER$" + "ANOTHER$" + "TIME$" + "FINISH$" + "WEDNESDAY$" + "SOON$" + "START$" + "MONTH$" + "STOP$" + "NOW$" + "FINAL$" + "NEXT$" + "AGE$" + "SATURDAY$" + "SUMMER$" + "SUNDAY$" + "BEGINNING$" + "SPRING$" + "DAYTIME$" + "WINTER$" + "DAILY$" + "OLDEN$" + "ALMOST$" + "NEARLY$" + "THURSDAY$" + "NIGHTTIME$" + "NIGHT$" + "WEEK$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Time[] = _( + "HERBST$" + "MORGEN$" + "ÜBERMORGEN$" + "LETZTE(N)$" + "TAG$" + "IRGENDWANN$" + "IMMER$" + "MOMENTAN$" + "EWIG$" + "TAGE$" + "ENDE$" + "DIENSTAG$" + "GESTERN$" + "HEUTE$" + "FREITAG$" + "MONTAG$" + "SPÄTER$" + "FRÜHER$" + "AM ANDEREN$" + "ZEIT$" + "SCHLUSS$" + "MITTWOCH$" + "BALD$" + "START$" + "MONAT$" + "STOPP$" + "JETZT$" + "LETZTER$" + "NÄCHSTES$" + "ALTER$" + "SAMSTAG$" + "SOMMER$" + "SONNTAG$" + "ANFANG$" + "FRÜHLING$" + "TAGESZEIT$" + "WINTER$" + "TÄGLICH$" + "DAMALS$" + "FAST$" + "BEINAHE$" + "DONNERSTAG$" + "BETTZEIT$" + "NACHT$" + "WOCHE$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_TIME_WORDS diff --git a/src/data/text/easy_chat/groups/trainer/order.h b/src/data/text/easy_chat/groups/trainer/order.h new file mode 100644 index 000000000..299575192 --- /dev/null +++ b/src/data/text/easy_chat/groups/trainer/order.h @@ -0,0 +1,50 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_TRAINER_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_TRAINER_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Trainer[] = { + 7, + 8, + 5, + 4, + 15, + 1, + 0, + 18, + 9, + 6, + 16, + 14, + 13, + 17, + 3, + 10, + 2, + 11, + 12, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Trainer[] = { + 15, + 7, + 0, + 8, + 4, + 5, + 10, + 1, + 18, + 9, + 16, + 14, + 13, + 17, + 3, + 2, + 11, + 12, + 6, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_TRAINER_ORDER diff --git a/src/data/text/easy_chat/groups/trainer/words.h b/src/data/text/easy_chat/groups/trainer/words.h new file mode 100644 index 000000000..1be84f204 --- /dev/null +++ b/src/data/text/easy_chat/groups/trainer/words.h @@ -0,0 +1,48 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_TRAINER_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_TRAINER_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Trainer[] = _( + "I CHOOSE YOU$" + "GOTCHA$" + "TRADE$" + "SAPPHIRE$" + "EVOLVE$" + "ENCYCLOPEDIA$" + "NATURE$" + "CENTER$" + "EGG$" + "LINK$" + "SP. ABILITY$" + "TRAINER$" + "VERSION$" + "POKéNAV$" + "POKéMON$" + "GET$" + "POKéDEX$" + "RUBY$" + "LEVEL$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Trainer[] = _( + "DU BIST DRAN$" + "HAB DICH$" + "TAUSCH$" + "SAPHIR$" + "ENTWICKELN$" + "ENZYKLOPÄDIE$" + "WESEN$" + "CENTER$" + "EI$" + "LINK$" + "FÄHIGKEIT$" + "TRAINER$" + "VERSION$" + "POKéNAV$" + "POKéMON$" + "BEKOMMEN$" + "POKéDEX$" + "RUBIN$" + "LEVEL$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_TRAINER_WORDS diff --git a/src/data/text/easy_chat/groups/trendy_saying/order.h b/src/data/text/easy_chat/groups/trendy_saying/order.h new file mode 100644 index 000000000..8a1911f1d --- /dev/null +++ b/src/data/text/easy_chat/groups/trendy_saying/order.h @@ -0,0 +1,78 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_TRENDY_SAYING_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_TRENDY_SAYING_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_TrendySaying[] = { + 7, + 2, + 28, + 22, + 9, + 3, + 8, + 26, + 11, + 15, + 24, + 29, + 16, + 12, + 23, + 0, + 13, + 14, + 6, + 20, + 4, + 10, + 30, + 18, + 17, + 21, + 32, + 19, + 27, + 25, + 5, + 1, + 31, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_TrendySaying[] = { + 32, + 24, + 2, + 1, + 28, + 17, + 19, + 11, + 27, + 15, + 7, + 16, + 29, + 4, + 5, + 31, + 8, + 26, + 25, + 23, + 13, + 6, + 20, + 9, + 30, + 10, + 18, + 21, + 12, + 22, + 0, + 3, + 14, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_TRENDY_SAYING_ORDER diff --git a/src/data/text/easy_chat/groups/trendy_saying/words.h b/src/data/text/easy_chat/groups/trendy_saying/words.h new file mode 100644 index 000000000..f114c6626 --- /dev/null +++ b/src/data/text/easy_chat/groups/trendy_saying/words.h @@ -0,0 +1,76 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_TRENDY_SAYING_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_TRENDY_SAYING_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_TrendySaying[] = _( + "KTHX, BYE.$" + "YES, SIR!$" + "AVANT GARDE$" + "COUPLE$" + "MUCH OBLIGED$" + "YEEHAW!$" + "MEGA$" + "1-HIT KO!$" + "DESTINY$" + "CANCEL$" + "NEW$" + "FLATTEN$" + "KIDDING$" + "LOSER$" + "LOSING$" + "HAPPENING$" + "HIP AND$" + "SHAKE$" + "SHADY$" + "UPBEAT$" + "MODERN$" + "SMELL YA$" + "BANG$" + "KNOCKOUT$" + "HASSLE$" + "WINNER$" + "FEVER$" + "WANNABE$" + "BABY$" + "HEART$" + "OLD$" + "YOUNG$" + "UGLY$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_TrendySaying[] = _( + "VOKUHILA$" + "AYE, AYE!$" + "AVANTGARDE$" + "YUPPIES$" + "IHR DIENER!$" + "JIIHAAH$" + "MEGA$" + "GUMMIPUNKT$" + "KARMA$" + "NDW$" + "POPPER$" + "ERDBEERTEE$" + "SCHOFEL$" + "LOSER$" + "ZOFF$" + "GIMMICK$" + "HIP UND$" + "BANANENSHAKE$" + "ROCK’N’ROLL$" + "DUFTE$" + "MODERN$" + "RÜBENNASE$" + "STULPEN$" + "LICHT AUS...$" + "AUFSTAND$" + "LEUCHTKEKS$" + "KÖRPERHITZE$" + "GERNEGROSS$" + "BABY$" + "HOLDE$" + "OLL$" + "JUNG$" + "ÄTZEND$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_TRENDY_SAYING_WORDS diff --git a/src/data/text/easy_chat/groups/voices/order.h b/src/data/text/easy_chat/groups/voices/order.h new file mode 100644 index 000000000..bf361ccca --- /dev/null +++ b/src/data/text/easy_chat/groups/voices/order.h @@ -0,0 +1,138 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_VOICES_ORDER +#define DATA_TEXT_EASY_CHAT_GROUPS_VOICES_ORDER + +#if ENGLISH +u16 gEasyChatGroupOrder_Voices[] = { + 0, + 1, + 7, + 8, + 4, + 5, + 6, + 3, + 2, + 23, + 11, + 41, + 52, + 59, + 22, + 25, + 32, + 24, + 26, + 43, + 19, + 33, + 61, + 34, + 38, + 40, + 48, + 37, + 47, + 42, + 15, + 49, + 46, + 57, + 44, + 54, + 53, + 13, + 29, + 51, + 28, + 55, + 12, + 27, + 56, + 30, + 31, + 20, + 45, + 36, + 50, + 9, + 21, + 14, + 10, + 62, + 35, + 16, + 18, + 60, + 17, + 58, + 39, +}; +#elif GERMAN +u16 gEasyChatGroupOrder_Voices[] = { + 0, + 1, + 7, + 8, + 4, + 5, + 6, + 3, + 2, + 52, + 11, + 41, + 14, + 35, + 44, + 56, + 43, + 31, + 33, + 61, + 34, + 38, + 24, + 37, + 40, + 26, + 48, + 47, + 53, + 42, + 15, + 46, + 49, + 30, + 32, + 58, + 39, + 60, + 19, + 57, + 51, + 54, + 13, + 29, + 9, + 28, + 12, + 27, + 55, + 16, + 45, + 23, + 25, + 22, + 20, + 36, + 59, + 50, + 21, + 10, + 62, + 17, + 18, +}; +#endif // GAME_LANGUAGE + +#endif // DATA_TEXT_EASY_CHAT_GROUPS_VOICES_ORDER diff --git a/src/data/text/easy_chat/groups/voices/words.h b/src/data/text/easy_chat/groups/voices/words.h new file mode 100644 index 000000000..12c0036a3 --- /dev/null +++ b/src/data/text/easy_chat/groups/voices/words.h @@ -0,0 +1,136 @@ +#ifndef DATA_TEXT_EASY_CHAT_GROUPS_VOICES_WORDS +#define DATA_TEXT_EASY_CHAT_GROUPS_VOICES_WORDS +#if ENGLISH +u8 gEasyChatGroupWords_Voices[] = _( + "!$" + "!!$" + "?!$" + "?$" + "…$" + "…!$" + "………$" + "-$" + "- - -$" + "UH-OH$" + "WAAAH$" + "AHAHA$" + "OH?$" + "NOPE$" + "URGH$" + "HMM$" + "WHOAH$" + "WROOOAAR!$" + "WOW$" + "GIGGLE$" + "SIGH$" + "UNBELIEVABLE$" + "CRIES$" + "AGREE$" + "EH?$" + "CRY$" + "EHEHE$" + "OI, OI, OI$" + "OH, YEAH$" + "OH$" + "OOPS$" + "SHOCKED$" + "EEK$" + "GRAAAH$" + "GWAHAHAHA$" + "WAY$" + "TCH$" + "HEHE$" + "HAH$" + "YUP$" + "HAHAHA$" + "AIYEEH$" + "HIYAH$" + "FUFUFU$" + "LOL$" + "SNORT$" + "HUMPH$" + "HEHEHE$" + "HEH$" + "HOHOHO$" + "UH-HUH$" + "OH, DEAR$" + "ARRGH$" + "MUFUFU$" + "MMM$" + "OH-KAY$" + "OKAY$" + "LALALA$" + "YAY$" + "AWW$" + "WOWEE$" + "GWAH$" + "WAHAHAHA$" + ); +#elif GERMAN +u8 gEasyChatGroupWords_Voices[] = _( + "!$" + "!!!$" + "?!$" + "?$" + "…$" + "…!$" + "………$" + "-$" + "- - -$" + "OH OH$" + "WAAAH$" + "AHAHAHA$" + "OH?$" + "NÖ$" + "ARGH$" + "HMM$" + "OOOH$" + "WOOOAR$" + "WOW$" + "KICHER$" + "SEUFZ$" + "UNGLAUBLICH$" + "SCHREIT$" + "RICHTIG!$" + "HÄH?$" + "SCHREI$" + "HÄHÄHÄ$" + "OJE OJE$" + "OH, YEAH$" + "OH$" + "HUPS$" + "GESCHOCKT$" + "IGITT$" + "GRAAAH$" + "GWAHAHAHA$" + "ART$" + "TSE$" + "HÄHÄ$" + "HAH$" + "JAJAJA$" + "HAHAHA$" + "AIYEEH$" + "HIYAH$" + "FÖFÖFÖ$" + "BRÜLL LACH$" + "PRUST$" + "HMPF$" + "HEHEHE$" + "HEH$" + "HOHOHO$" + "UI UI$" + "MEINE GÜTE$" + "AARRGH$" + "HIHIHI$" + "MMMH$" + "OKAY$" + "DURCHSCHNITT$" + "LALALA$" + "JAHA$" + "UFF$" + "JUCHEE$" + "GRRR$" + "WAHAHAHA$" + ); +#endif // GAME_LANGUAGE +#endif // DATA_TEXT_EASY_CHAT_GROUPS_VOICES_WORDS diff --git a/src/data/text/easy_chat/words_by_letter.h b/src/data/text/easy_chat/words_by_letter.h new file mode 100644 index 000000000..b6d774e59 --- /dev/null +++ b/src/data/text/easy_chat/words_by_letter.h @@ -0,0 +1,2042 @@ +#ifndef DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER +#define DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER + +#define EC_DUPLICATES(count) (0xFF00 + (count)) +#include "constants/species.h" + +u16 gEasyChatWordsAlphabetized[] = { +}; + +#define EC_WBL_OFFSET_Others 0 + +u16 gEasyChatWordsByLetter_Others[] = { + EC_WORD_EXCL, + EC_WORD_EXCL_EXCL, + EC_WORD_DASH, + EC_WORD_DASH_DASH_DASH, + EC_WORD_ELLIPSIS, + EC_WORD_ELLIPSIS_EXCL, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_1_HIT_KO_EXCL, + EC_WORD_QUES, + EC_WORD_QUES_EXCL, +}; + +#define EC_WBL_OFFSET_A ARRAY_COUNT(gEasyChatWordsByLetter_Others) + EC_WBL_OFFSET_Others + +u16 gEasyChatWordsByLetter_A[] = { + EC_WORD_A, + EC_WORD_A_LITTLE, + EC_WORD_A_LOT, + EC_WORD_A_TINY_BIT, + EC_WORD_ABOUT, + EC_WORD_ABOVE, + EC_DUPLICATES(2), + EC_POKEMON(ABRA), + EC_POKEMON2(ABRA), + EC_WORD_ABSENT, + EC_POKEMON(ABSOL), + EC_WORD_ABSOLUTELY, + EC_MOVE(ABSORB), + EC_WORD_ACCEPT, + EC_MOVE2(ACID), + EC_MOVE2(ACID_ARMOR), + EC_WORD_ADORE, + EC_WORD_ADULT, + EC_WORD_ADVENTURE, + EC_MOVE2(AERIAL_ACE), + EC_MOVE(AEROBLAST), + EC_POKEMON2(AERODACTYL), + EC_WORD_AFTER, + EC_WORD_AGE, + EC_POKEMON(AGGRON), + EC_MOVE(AGILITY), + EC_WORD_AGREE, + EC_WORD_AHAHA, + EC_WORD_AIM, + EC_POKEMON2(AIPOM), + EC_MOVE(AIR_CUTTER), + EC_WORD_AIR_LOCK, + EC_WORD_AIYEEH, + EC_DUPLICATES(2), + EC_POKEMON(ALAKAZAM), + EC_POKEMON2(ALAKAZAM), + EC_WORD_ALL, + EC_WORD_ALL_RIGHT, + EC_WORD_ALLOW, + EC_WORD_ALLOWANCE, + EC_WORD_ALLY, + EC_WORD_ALMOST, + EC_WORD_ALONE, + EC_WORD_ALSO, + EC_WORD_ALT_COLOR, + EC_POKEMON(ALTARIA), + EC_WORD_ALTHOUGH, + EC_WORD_ALWAYS, + EC_WORD_AM, + EC_MOVE2(AMNESIA), + EC_POKEMON2(AMPHAROS), + EC_WORD_AMUSING, + EC_WORD_AN, + EC_MOVE(ANCIENT_POWER), + EC_WORD_AND, + EC_WORD_ANGER, + EC_WORD_ANGERS, + EC_WORD_ANGRY, + EC_WORD_ANIME, + EC_POKEMON(ANORITH), + EC_WORD_ANOTHER, + EC_WORD_ANTICIPATION, + EC_WORD_ANY, + EC_WORD_ANYWHERE, + EC_WORD_APOLOGIZE, + EC_WORD_APPEAL, + EC_WORD_APPEAR, + EC_WORD_APPEARS, + EC_WORD_APPRECIATE, + EC_WORD_APPROVED, + EC_POKEMON2(ARBOK), + EC_POKEMON2(ARCANINE), + EC_WORD_ARE, + EC_WORD_AREN_T, + EC_WORD_ARENA_TRAP, + EC_POKEMON2(ARIADOS), + EC_MOVE2(ARM_THRUST), + EC_POKEMON(ARMALDO), + EC_MOVE(AROMATHERAPY), + EC_POKEMON(ARON), + EC_WORD_AROUND, + EC_WORD_ARRGH, + EC_POKEMON2(ARTICUNO), + EC_WORD_AS, + EC_WORD_AS_IF, + EC_WORD_AS_MUCH_AS, + EC_MOVE2(ASSIST), + EC_MOVE(ASTONISH), + EC_WORD_AT, + EC_WORD_ATTACK, + EC_MOVE2(ATTRACT), + EC_WORD_AUNT, + EC_MOVE(AURORA_BEAM), + EC_WORD_AVANT_GARDE, + EC_WORD_AWAY, + EC_WORD_AWESOME, + EC_WORD_AWFUL, + EC_WORD_AWFULLY, + EC_WORD_AWW, + EC_DUPLICATES(2), + EC_POKEMON(AZUMARILL), + EC_POKEMON2(AZUMARILL), + EC_POKEMON(AZURILL), +}; + +#define EC_WBL_OFFSET_B ARRAY_COUNT(gEasyChatWordsByLetter_A) + EC_WBL_OFFSET_A + +u16 gEasyChatWordsByLetter_B[] = { + EC_WORD_BABE, + EC_WORD_BABY, + EC_WORD_BACK, + EC_WORD_BAD, + EC_WORD_BADLY, + EC_POKEMON(BAGON), + EC_WORD_BALL, + EC_POKEMON(BALTOY), + EC_POKEMON(BANETTE), + EC_WORD_BANG, + EC_POKEMON(BARBOACH), + EC_MOVE2(BARRAGE), + EC_MOVE2(BARRIER), + EC_WORD_BATH, + EC_MOVE2(BATON_PASS), + EC_WORD_BATTLE, + EC_WORD_BATTLE_ARMOR, + EC_WORD_BATTLE_ROOM, + EC_WORD_BATTLE_TOWER, + EC_POKEMON2(BAYLEEF), + EC_WORD_BE, + EC_WORD_BEAT, + EC_MOVE2(BEAT_UP), + EC_POKEMON(BEAUTIFLY), + EC_WORD_BEAUTIFUL, + EC_WORD_BEAUTY, + EC_WORD_BECOMES, + EC_POKEMON2(BEEDRILL), + EC_WORD_BEEN, + EC_WORD_BEFORE, + EC_WORD_BEGINNING, + EC_WORD_BEING, + EC_POKEMON(BELDUM), + EC_WORD_BELIEVE, + EC_DUPLICATES(2), + EC_POKEMON(BELLOSSOM), + EC_POKEMON2(BELLOSSOM), + EC_POKEMON2(BELLSPROUT), + EC_MOVE2(BELLY_DRUM), + EC_WORD_BELONGS_TO, + EC_WORD_BELOW, + EC_WORD_BERRY, + EC_WORD_BESIDE, + EC_WORD_BEST, + EC_WORD_BETTER, + EC_MOVE(BIDE), + EC_WORD_BIG, + EC_WORD_BIKE, + EC_MOVE(BIND), + EC_MOVE(BITE), + EC_POKEMON2(BLASTOISE), + EC_WORD_BLAZE, + EC_MOVE2(BLAZE_KICK), + EC_POKEMON(BLAZIKEN), + EC_WORD_BLEND, + EC_POKEMON2(BLISSEY), + EC_MOVE2(BLIZZARD), + EC_MOVE2(BLOCK), + EC_WORD_BOARD, + EC_MOVE2(BODY_SLAM), + EC_MOVE2(BONE_CLUB), + EC_MOVE2(BONE_RUSH), + EC_MOVE2(BONEMERANG), + EC_WORD_BOOK, + EC_WORD_BORED, + EC_WORD_BORING, + EC_MOVE2(BOUNCE), + EC_WORD_BOY, + EC_WORD_BRAG, + EC_WORD_BREAK, + EC_POKEMON(BRELOOM), + EC_MOVE(BRICK_BREAK), + EC_WORD_BROTHER, + EC_MOVE(BUBBLE), + EC_MOVE2(BUBBLE_BEAM), + EC_WORD_BUG, + EC_POKEMON2(BULBASAUR), + EC_MOVE2(BULK_UP), + EC_MOVE2(BULLET_SEED), + EC_WORD_BUSY, + EC_WORD_BUT, + EC_POKEMON2(BUTTERFREE), + EC_WORD_BYE_BYE, +}; + +#define EC_WBL_OFFSET_C ARRAY_COUNT(gEasyChatWordsByLetter_B) + EC_WBL_OFFSET_B + +u16 gEasyChatWordsByLetter_C[] = { + EC_POKEMON(CACNEA), + EC_POKEMON(CACTURNE), + EC_MOVE2(CALM_MIND), + EC_WORD_CAME, + EC_WORD_CAMERA, + EC_POKEMON(CAMERUPT), + EC_MOVE2(CAMOUFLAGE), + EC_WORD_CAN, + EC_WORD_CAN_WIN, + EC_WORD_CAN_T, + EC_WORD_CAN_T_WIN, + EC_WORD_CANCEL, + EC_WORD_CAPABLE, + EC_WORD_CARDS, + EC_WORD_CARE, + EC_WORD_CARES, + EC_POKEMON(CARVANHA), + EC_POKEMON(CASCOON), + EC_WORD_CASE, + EC_POKEMON(CASTFORM), + EC_POKEMON2(CATERPIE), + EC_WORD_CAUSE, + EC_POKEMON2(CELEBI), + EC_WORD_CENTER, + EC_WORD_CHALLENGE, + EC_WORD_CHANGE, + EC_WORD_CHANNEL, + EC_POKEMON2(CHANSEY), + EC_MOVE(CHARGE), + EC_POKEMON2(CHARIZARD), + EC_MOVE(CHARM), + EC_POKEMON2(CHARMANDER), + EC_POKEMON2(CHARMELEON), + EC_WORD_CHAT, + EC_POKEMON2(CHIKORITA), + EC_WORD_CHILD_S_PLAY, + EC_WORD_CHILDREN, + EC_POKEMON(CHIMECHO), + EC_DUPLICATES(2), + EC_POKEMON(CHINCHOU), + EC_POKEMON2(CHINCHOU), + EC_WORD_CHLOROPHYLL, + EC_WORD_CHOICE, + EC_WORD_CHOOSE, + EC_WORD_CHORES, + EC_MOVE(CLAMP), + EC_POKEMON(CLAMPERL), + EC_WORD_CLASS, + EC_POKEMON(CLAYDOL), + EC_WORD_CLEAR_BODY, + EC_POKEMON2(CLEFABLE), + EC_POKEMON2(CLEFAIRY), + EC_POKEMON2(CLEFFA), + EC_WORD_CLOSE, + EC_WORD_CLOUD_NINE, + EC_POKEMON2(CLOYSTER), + EC_WORD_COLD, + EC_WORD_COLLECT, + EC_WORD_COLLECTION, + EC_WORD_COLOR, + EC_WORD_COLOR_CHANGE, + EC_POKEMON(COMBUSKEN), + EC_WORD_COME, + EC_WORD_COME_ON, + EC_WORD_COME_OVER, + EC_MOVE2(COMET_PUNCH), + EC_WORD_COMICS, + EC_WORD_COMMEMORATE, + EC_WORD_COMPLETE, + EC_WORD_COMPOUNDEYES, + EC_WORD_CONCEDE, + EC_MOVE(CONFUSE_RAY), + EC_WORD_CONFUSED, + EC_MOVE2(CONFUSION), + EC_WORD_CONGRATS, + EC_MOVE(CONSTRICT), + EC_WORD_CONTEST, + EC_WORD_CONVERSATION, + EC_MOVE2(CONVERSION), + EC_MOVE2(CONVERSION_2), + EC_WORD_COOL, + EC_WORD_COOLNESS, + EC_POKEMON(CORPHISH), + EC_WORD_CORRECT, + EC_DUPLICATES(2), + EC_POKEMON(CORSOLA), + EC_POKEMON2(CORSOLA), + EC_MOVE(COSMIC_POWER), + EC_MOVE2(COTTON_SPORE), + EC_WORD_COULD, + EC_WORD_COULDN_T, + EC_WORD_COUNT_ON, + EC_MOVE(COUNTER), + EC_WORD_COUPLE, + EC_MOVE2(COVET), + EC_MOVE(CRABHAMMER), + EC_POKEMON(CRADILY), + EC_POKEMON(CRAWDAUNT), + EC_WORD_CRIES, + EC_DUPLICATES(2), + EC_POKEMON(CROBAT), + EC_POKEMON2(CROBAT), + EC_POKEMON2(CROCONAW), + EC_MOVE(CROSS_CHOP), + EC_MOVE(CRUNCH), + EC_MOVE2(CRUSH_CLAW), + EC_WORD_CRY, + EC_POKEMON2(CUBONE), + EC_WORD_CURRENT, + EC_MOVE2(CURSE), + EC_MOVE(CUT), + EC_WORD_CUTE, + EC_WORD_CUTE_CHARM, + EC_WORD_CUTENESS, + EC_POKEMON2(CYNDAQUIL), +}; + +#define EC_WBL_OFFSET_D ARRAY_COUNT(gEasyChatWordsByLetter_C) + EC_WBL_OFFSET_C + +u16 gEasyChatWordsByLetter_D[] = { + EC_WORD_DAILY, + EC_WORD_DAMP, + EC_WORD_DANCE, + EC_WORD_DANGER, + EC_WORD_DARK, + EC_WORD_DARN, + EC_WORD_DATE, + EC_WORD_DAUGHTER, + EC_WORD_DAY, + EC_WORD_DAYS, + EC_WORD_DAYTIME, + EC_WORD_DECIDE, + EC_WORD_DECIDED, + EC_WORD_DEEP, + EC_WORD_DEFEATED, + EC_MOVE2(DEFENSE_CURL), + EC_POKEMON(DELCATTY), + EC_POKEMON2(DELIBIRD), + EC_POKEMON(DEOXYS), + EC_WORD_DEPT_STORE, + EC_WORD_DESIGN, + EC_WORD_DESTINY, + EC_MOVE2(DESTINY_BOND), + EC_WORD_DESTROYED, + EC_MOVE2(DETECT), + EC_POKEMON2(DEWGONG), + EC_WORD_DID, + EC_WORD_DIDN_T, + EC_WORD_DIET, + EC_WORD_DIFFERENT, + EC_MOVE(DIG), + EC_WORD_DIGITAL, + EC_POKEMON2(DIGLETT), + EC_MOVE(DISABLE), + EC_WORD_DISAPPEAR, + EC_WORD_DISAPPOINT, + EC_WORD_DISAPPOINTED, + EC_WORD_DISAPPOINTS, + EC_WORD_DISASTER, + EC_WORD_DISLIKE, + EC_WORD_DISLIKES, + EC_POKEMON2(DITTO), + EC_MOVE2(DIVE), + EC_MOVE2(DIZZY_PUNCH), + EC_WORD_DO, + EC_WORD_DOCILE, + EC_DUPLICATES(2), + EC_POKEMON(DODRIO), + EC_POKEMON2(DODRIO), + EC_DUPLICATES(2), + EC_POKEMON(DODUO), + EC_POKEMON2(DODUO), + EC_WORD_DOES, + EC_WORD_DOESN_T, + EC_WORD_DON_T, + EC_WORD_DONE, + EC_DUPLICATES(2), + EC_POKEMON(DONPHAN), + EC_POKEMON2(DONPHAN), + EC_MOVE2(DOUBLE_KICK), + EC_MOVE(DOUBLE_TEAM), + EC_MOVE(DOUBLE_EDGE), + EC_MOVE(DOUBLE_SLAP), + EC_WORD_DOWN, + EC_WORD_DOWNCAST, + EC_WORD_DRAGON, + EC_MOVE2(DRAGON_CLAW), + EC_MOVE2(DRAGON_DANCE), + EC_MOVE2(DRAGON_RAGE), + EC_POKEMON2(DRAGONAIR), + EC_MOVE2(DRAGON_BREATH), + EC_POKEMON2(DRAGONITE), + EC_POKEMON2(DRATINI), + EC_WORD_DREAM, + EC_MOVE2(DREAM_EATER), + EC_MOVE2(DRILL_PECK), + EC_WORD_DRINK, + EC_WORD_DRINKS, + EC_WORD_DRIZZLE, + EC_WORD_DROOLING, + EC_WORD_DROUGHT, + EC_POKEMON2(DROWZEE), + EC_WORD_DUDE, + EC_POKEMON2(DUGTRIO), + EC_POKEMON2(DUNSPARCE), + EC_POKEMON(DUSCLOPS), + EC_POKEMON(DUSKULL), + EC_POKEMON(DUSTOX), + EC_MOVE2(DYNAMIC_PUNCH), +}; + +#define EC_WBL_OFFSET_E ARRAY_COUNT(gEasyChatWordsByLetter_D) + EC_WBL_OFFSET_D + +u16 gEasyChatWordsByLetter_E[] = { + EC_WORD_EARLIER, + EC_WORD_EARLY_BIRD, + EC_MOVE(EARTHQUAKE), + EC_WORD_EASY, + EC_WORD_EAT, + EC_WORD_EATS, + EC_WORD_EEK, + EC_POKEMON2(EEVEE), + EC_WORD_EFFECT_SPORE, + EC_WORD_EGG, + EC_MOVE2(EGG_BOMB), + EC_WORD_EH_QUES, + EC_WORD_EHEHE, + EC_POKEMON2(EKANS), + EC_POKEMON2(ELECTABUZZ), + EC_WORD_ELECTRIC, + EC_POKEMON(ELECTRIKE), + EC_DUPLICATES(2), + EC_POKEMON(ELECTRODE), + EC_POKEMON2(ELECTRODE), + EC_POKEMON2(ELEKID), + EC_WORD_ELSE, + EC_MOVE2(EMBER), + EC_MOVE(ENCORE), + EC_WORD_ENCYCLOPEDIA, + EC_WORD_END, + EC_MOVE(ENDEAVOR), + EC_MOVE(ENDURE), + EC_WORD_ENJOY, + EC_WORD_ENJOYS, + EC_WORD_ENOUGH, + EC_POKEMON2(ENTEI), + EC_WORD_ENTERTAINING, + EC_MOVE2(ERUPTION), + EC_WORD_ESCAPE, + EC_POKEMON2(ESPEON), + EC_WORD_EVEN_SO, + EC_WORD_EVENT, + EC_WORD_EVENTS, + EC_WORD_EVER, + EC_WORD_EVERY, + EC_WORD_EVOLUTION, + EC_WORD_EVOLVE, + EC_WORD_EXCELLENT, + EC_WORD_EXCESS, + EC_WORD_EXCITE, + EC_WORD_EXCITING, + EC_WORD_EXCUSE, + EC_WORD_EXCUSE_ME, + EC_POKEMON2(EXEGGCUTE), + EC_POKEMON2(EXEGGUTOR), + EC_WORD_EXISTS, + EC_WORD_EXPENSIVE, + EC_MOVE2(EXPLOSION), + EC_POKEMON(EXPLOUD), + EC_MOVE(EXTRASENSORY), + EC_MOVE(EXTREME_SPEED), +}; + +#define EC_WBL_OFFSET_F ARRAY_COUNT(gEasyChatWordsByLetter_E) + EC_WBL_OFFSET_E + +u16 gEasyChatWordsByLetter_F[] = { + EC_WORD_FABULOUS, + EC_MOVE(FACADE), + EC_WORD_FAINT, + EC_MOVE2(FAINT_ATTACK), + EC_WORD_FAINTED, + EC_MOVE2(FAKE_OUT), + EC_MOVE(FAKE_TEARS), + EC_WORD_FALL, + EC_MOVE2(FALSE_SWIPE), + EC_WORD_FAMILY, + EC_WORD_FANTASTIC, + EC_WORD_FAR, + EC_POKEMON2(FARFETCHD), + EC_WORD_FASHION, + EC_WORD_FAST, + EC_WORD_FATHER, + EC_WORD_FEAR, + EC_POKEMON2(FEAROW), + EC_MOVE2(FEATHER_DANCE), + EC_POKEMON(FEEBAS), + EC_WORD_FEELING, + EC_POKEMON2(FERALIGATR), + EC_WORD_FESTIVAL, + EC_WORD_FEVER, + EC_WORD_FIERY, + EC_WORD_FIGHT, + EC_WORD_FIGHTING, + EC_WORD_FIGHTS, + EC_WORD_FINAL, + EC_WORD_FINALLY, + EC_WORD_FINISH, + EC_WORD_FIRE, + EC_MOVE2(FIRE_BLAST), + EC_MOVE2(FIRE_PUNCH), + EC_MOVE2(FIRE_SPIN), + EC_WORD_FISHING, + EC_MOVE(FISSURE), + EC_POKEMON2(FLAAFFY), + EC_MOVE(FLAIL), + EC_WORD_FLAME_BODY, + EC_MOVE(FLAME_WHEEL), + EC_MOVE(FLAMETHROWER), + EC_POKEMON2(FLAREON), + EC_MOVE2(FLASH), + EC_WORD_FLASH_FIRE, + EC_WORD_FLATTEN, + EC_MOVE(FLATTER), + EC_WORD_FLOWERS, + EC_MOVE(FLY), + EC_POKEMON(FLYGON), + EC_WORD_FLYING, + EC_MOVE(FOCUS_ENERGY), + EC_MOVE(FOCUS_PUNCH), + EC_WORD_FOE, + EC_MOVE(FOLLOW_ME), + EC_WORD_FOR, + EC_WORD_FOR_NOW, + EC_WORD_FORECAST, + EC_MOVE2(FORESIGHT), + EC_WORD_FOREVER, + EC_WORD_FORGET, + EC_WORD_FORGETS, + EC_WORD_FORGIVE, + EC_POKEMON2(FORRETRESS), + EC_WORD_FRIDAY, + EC_WORD_FRIEND, + EC_WORD_FROM, + EC_WORD_FRONT, + EC_MOVE2(FRUSTRATION), + EC_WORD_FUFUFU, + EC_WORD_FULL, + EC_WORD_FUNNY, + EC_POKEMON2(FURRET), + EC_MOVE2(FURY_ATTACK), + EC_MOVE2(FURY_CUTTER), + EC_MOVE2(FURY_SWIPES), + EC_MOVE2(FUTURE_SIGHT), +}; + +#define EC_WBL_OFFSET_G ARRAY_COUNT(gEasyChatWordsByLetter_F) + EC_WBL_OFFSET_F + +u16 gEasyChatWordsByLetter_G[] = { + EC_WORD_GAME, + EC_POKEMON(GARDEVOIR), + EC_POKEMON2(GASTLY), + EC_POKEMON2(GENGAR), + EC_WORD_GENIUS, + EC_DUPLICATES(2), + EC_POKEMON(GEODUDE), + EC_POKEMON2(GEODUDE), + EC_WORD_GET, + EC_WORD_GETS, + EC_WORD_GHOST, + EC_WORD_GIDDY, + EC_MOVE(GIGA_DRAIN), + EC_WORD_GIGGLE, + EC_WORD_GIMME, + EC_DUPLICATES(2), + EC_POKEMON(GIRAFARIG), + EC_POKEMON2(GIRAFARIG), + EC_WORD_GIRL, + EC_WORD_GIVE, + EC_WORD_GIVE_ME, + EC_WORD_GIVE_UP, + EC_WORD_GIVES, + EC_POKEMON(GLALIE), + EC_MOVE2(GLARE), + EC_POKEMON2(GLIGAR), + EC_DUPLICATES(2), + EC_POKEMON(GLOOM), + EC_POKEMON2(GLOOM), + EC_WORD_GO, + EC_WORD_GO_AHEAD, + EC_WORD_GO_EASY, + EC_WORD_GO_HOME, + EC_WORD_GOES, + EC_WORD_GOING, + EC_DUPLICATES(2), + EC_POKEMON(GOLBAT), + EC_POKEMON2(GOLBAT), + EC_DUPLICATES(2), + EC_POKEMON(GOLDEEN), + EC_POKEMON2(GOLDEEN), + EC_DUPLICATES(2), + EC_POKEMON(GOLDUCK), + EC_POKEMON2(GOLDUCK), + EC_DUPLICATES(2), + EC_POKEMON(GOLEM), + EC_POKEMON2(GOLEM), + EC_WORD_GOOD, + EC_WORD_GOOD_BYE, + EC_POKEMON(GOREBYSS), + EC_WORD_GOT, + EC_WORD_GOTCHA, + EC_WORD_GOURMET, + EC_WORD_GRAAAH, + EC_POKEMON2(GRANBULL), + EC_WORD_GRANDFATHER, + EC_WORD_GRANDMOTHER, + EC_WORD_GRASS, + EC_MOVE(GRASS_WHISTLE), + EC_DUPLICATES(2), + EC_POKEMON(GRAVELER), + EC_POKEMON2(GRAVELER), + EC_WORD_GREAT, + EC_DUPLICATES(2), + EC_POKEMON(GRIMER), + EC_POKEMON2(GRIMER), + EC_POKEMON(GROUDON), + EC_WORD_GROUND, + EC_WORD_GROUP, + EC_POKEMON(GROVYLE), + EC_MOVE2(GROWL), + EC_POKEMON2(GROWLITHE), + EC_MOVE(GROWTH), + EC_MOVE(GRUDGE), + EC_POKEMON(GRUMPIG), + EC_WORD_GUARD, + EC_MOVE2(GUILLOTINE), + EC_POKEMON(GULPIN), + EC_MOVE(GUST), + EC_WORD_GUTS, + EC_WORD_GUTSY, + EC_WORD_GWAH, + EC_WORD_GWAHAHAHA, + EC_DUPLICATES(2), + EC_POKEMON(GYARADOS), + EC_POKEMON2(GYARADOS), +}; + +#define EC_WBL_OFFSET_H ARRAY_COUNT(gEasyChatWordsByLetter_G) + EC_WBL_OFFSET_G + +u16 gEasyChatWordsByLetter_H[] = { + EC_WORD_HABIT, + EC_WORD_HAH, + EC_WORD_HAHAHA, + EC_MOVE(HAIL), + EC_WORD_HALL_OF_FAME, + EC_WORD_HAPPENING, + EC_WORD_HAPPILY, + EC_WORD_HAPPINESS, + EC_WORD_HAPPY, + EC_WORD_HARD, + EC_MOVE(HARDEN), + EC_POKEMON(HARIYAMA), + EC_WORD_HAS, + EC_WORD_HASSLE, + EC_POKEMON2(HAUNTER), + EC_WORD_HAVE, + EC_WORD_HAVEN_T, + EC_MOVE(HAZE), + EC_WORD_HE, + EC_WORD_HE_S, + EC_MOVE(HEADBUTT), + EC_MOVE(HEAL_BELL), + EC_WORD_HEALTHY, + EC_WORD_HEAR, + EC_WORD_HEARING, + EC_WORD_HEARS, + EC_WORD_HEART, + EC_MOVE2(HEAT_WAVE), + EC_WORD_HEH, + EC_WORD_HEHE, + EC_WORD_HEHEHE, + EC_WORD_HELLO, + EC_MOVE2(HELPING_HAND), + EC_WORD_HER, + EC_WORD_HERS, + EC_DUPLICATES(2), + EC_POKEMON(HERACROSS), + EC_POKEMON2(HERACROSS), + EC_WORD_HERE, + EC_WORD_HERE_GOES, + EC_WORD_HERE_I_COME, + EC_WORD_HERE_IT_IS, + EC_WORD_HERO, + EC_WORD_HEROINE, + EC_WORD_HEY, + EC_WORD_HEY_THERE, + EC_WORD_HEY_QUES, + EC_WORD_HI, + EC_MOVE2(HI_JUMP_KICK), + EC_WORD_HIDDEN, + EC_MOVE2(HIDDEN_POWER), + EC_WORD_HIGH, + EC_WORD_HIGHS, + EC_WORD_HIM, + EC_WORD_HIP_AND, + EC_WORD_HIS, + EC_WORD_HIT, + EC_POKEMON2(HITMONCHAN), + EC_POKEMON2(HITMONLEE), + EC_POKEMON2(HITMONTOP), + EC_WORD_HIYAH, + EC_WORD_HMM, + EC_POKEMON2(HO_OH), + EC_WORD_HOBBY, + EC_WORD_HOHOHO, + EC_WORD_HOLIDAY, + EC_WORD_HOME, + EC_WORD_HOO_HAH, + EC_POKEMON2(HOOTHOOT), + EC_WORD_HOPELESS, + EC_POKEMON2(HOPPIP), + EC_MOVE2(HORN_ATTACK), + EC_MOVE2(HORN_DRILL), + EC_DUPLICATES(2), + EC_POKEMON(HORSEA), + EC_POKEMON2(HORSEA), + EC_WORD_HOT, + EC_POKEMON2(HOUNDOOM), + EC_POKEMON2(HOUNDOUR), + EC_WORD_HOW, + EC_WORD_HOW_DO, + EC_WORD_HOWEVER, + EC_MOVE2(HOWL), + EC_WORD_HUGE_POWER, + EC_WORD_HUH_QUES, + EC_WORD_HUMPH, + EC_WORD_HUNGRY, + EC_POKEMON(HUNTAIL), + EC_WORD_HURRIED, + EC_WORD_HUSTLE, + EC_MOVE2(HYDRO_PUMP), + EC_WORD_HYPER, + EC_MOVE2(HYPER_BEAM), + EC_WORD_HYPER_CUTTER, + EC_MOVE2(HYPER_FANG), + EC_MOVE2(HYPER_VOICE), + EC_POKEMON2(HYPNO), + EC_MOVE(HYPNOSIS), +}; + +#define EC_WBL_OFFSET_I ARRAY_COUNT(gEasyChatWordsByLetter_H) + EC_WBL_OFFSET_H + +u16 gEasyChatWordsByLetter_I[] = { + EC_WORD_I, + EC_WORD_I_AM, + EC_WORD_I_CHOOSE_YOU, + EC_WORD_I_WAS, + EC_WORD_I_VE, + EC_WORD_I_VE_ARRIVED, + EC_WORD_ICE, + EC_MOVE(ICE_BALL), + EC_MOVE2(ICE_BEAM), + EC_MOVE2(ICE_PUNCH), + EC_MOVE(ICY_WIND), + EC_WORD_IDOL, + EC_WORD_IF, + EC_WORD_IF_I_LOSE, + EC_WORD_IF_I_WIN, + EC_DUPLICATES(2), + EC_POKEMON(IGGLYBUFF), + EC_POKEMON2(IGGLYBUFF), + EC_WORD_IGNORANT, + EC_WORD_ILLUMINATE, + EC_POKEMON(ILLUMISE), + EC_WORD_IMMUNITY, + EC_WORD_IMPORTANT, + EC_WORD_IMPOSSIBLE, + EC_MOVE2(IMPRISON), + EC_WORD_IN, + EC_WORD_INCREASING, + EC_WORD_INCREDIBLE, + EC_WORD_INFORMATION, + EC_MOVE2(INGRAIN), + EC_WORD_INNER_FOCUS, + EC_WORD_INSIDE, + EC_WORD_INSOMNIA, + EC_WORD_INSTEAD, + EC_WORD_INTIMIDATE, + EC_WORD_INVINCIBLE, + EC_MOVE2(IRON_DEFENSE), + EC_MOVE(IRON_TAIL), + EC_WORD_IS, + EC_WORD_IS_IT_QUES, + EC_WORD_ISN_T, + EC_WORD_ISN_T_IT_QUES, + EC_WORD_IT, + EC_WORD_IT_S, + EC_WORD_ITEM, + EC_POKEMON2(IVYSAUR), +}; + +#define EC_WBL_OFFSET_J ARRAY_COUNT(gEasyChatWordsByLetter_I) + EC_WBL_OFFSET_I + +u16 gEasyChatWordsByLetter_J[] = { + EC_DUPLICATES(2), + EC_POKEMON(JIGGLYPUFF), + EC_POKEMON2(JIGGLYPUFF), + EC_POKEMON(JIRACHI), + EC_WORD_JOKING, + EC_POKEMON2(JOLTEON), + EC_WORD_JOY, + EC_WORD_JUDGE, + EC_MOVE2(JUMP_KICK), + EC_POKEMON2(JUMPLUFF), + EC_WORD_JUST, + EC_POKEMON2(JYNX), +}; + +#define EC_WBL_OFFSET_K ARRAY_COUNT(gEasyChatWordsByLetter_J) + EC_WBL_OFFSET_J + +u16 gEasyChatWordsByLetter_K[] = { + EC_POKEMON2(KABUTO), + EC_POKEMON2(KABUTOPS), + EC_DUPLICATES(2), + EC_POKEMON(KADABRA), + EC_POKEMON2(KADABRA), + EC_POKEMON2(KAKUNA), + EC_POKEMON2(KANGASKHAN), + EC_MOVE(KARATE_CHOP), + EC_POKEMON(KECLEON), + EC_WORD_KEEN_EYE, + EC_WORD_KID, + EC_WORD_KIDDING, + EC_WORD_KIND, + EC_WORD_KINDERGARTEN, + EC_MOVE(KINESIS), + EC_DUPLICATES(2), + EC_POKEMON(KINGDRA), + EC_POKEMON2(KINGDRA), + EC_POKEMON2(KINGLER), + EC_POKEMON(KIRLIA), + EC_MOVE2(KNOCK_OFF), + EC_WORD_KNOCKOUT, + EC_WORD_KNOW, + EC_WORD_KNOWS, + EC_DUPLICATES(2), + EC_POKEMON(KOFFING), + EC_POKEMON2(KOFFING), + EC_POKEMON2(KRABBY), + EC_WORD_KTHX_BYE, + EC_POKEMON(KYOGRE), +}; + +#define EC_WBL_OFFSET_L ARRAY_COUNT(gEasyChatWordsByLetter_K) + EC_WBL_OFFSET_K + +u16 gEasyChatWordsByLetter_L[] = { + EC_WORD_LACKING, + EC_WORD_LACKS, + EC_WORD_LADY, + EC_POKEMON(LAIRON), + EC_WORD_LALALA, + EC_DUPLICATES(2), + EC_POKEMON(LANTURN), + EC_POKEMON2(LANTURN), + EC_POKEMON2(LAPRAS), + EC_POKEMON2(LARVITAR), + EC_WORD_LAST, + EC_WORD_LATE, + EC_WORD_LATER, + EC_POKEMON(LATIAS), + EC_POKEMON(LATIOS), + EC_WORD_LAVISH, + EC_WORD_LAY, + EC_WORD_LEADER, + EC_WORD_LEADERS, + EC_MOVE2(LEAF_BLADE), + EC_WORD_LEARN, + EC_POKEMON2(LEDIAN), + EC_POKEMON2(LEDYBA), + EC_MOVE(LEECH_LIFE), + EC_MOVE2(LEECH_SEED), + EC_MOVE2(LEER), + EC_WORD_LEFT, + EC_WORD_LEGEND, + EC_WORD_LESS, + EC_WORD_LESSONS, + EC_WORD_LET_ME_WIN, + EC_WORD_LET_S, + EC_WORD_LETTER, + EC_WORD_LEVEL, + EC_WORD_LEVITATE, + EC_MOVE(LICK), + EC_POKEMON2(LICKITUNG), + EC_WORD_LIE, + EC_WORD_LIFE, + EC_MOVE2(LIGHT_SCREEN), + EC_WORD_LIGHTNINGROD, + EC_WORD_LIKE, + EC_WORD_LIKELY_TO, + EC_WORD_LIKES, + EC_POKEMON(LILEEP), + EC_WORD_LIMBER, + EC_WORD_LINK, + EC_POKEMON(LINOONE), + EC_WORD_LIQUID_OOZE, + EC_WORD_LISTEN, + EC_WORD_LISTENING, + EC_WORD_LISTENS, + EC_WORD_LIVING, + EC_MOVE2(LOCK_ON), + EC_WORD_LOCOMOTIVE, + EC_WORD_LOL, + EC_WORD_LOLLING, + EC_POKEMON(LOMBRE), + EC_WORD_LONESOME, + EC_WORD_LOOK, + EC_WORD_LOOKS, + EC_WORD_LOSE, + EC_WORD_LOSER, + EC_WORD_LOSING, + EC_WORD_LOSS, + EC_WORD_LOST, + EC_POKEMON(LOTAD), + EC_POKEMON(LOUDRED), + EC_WORD_LOUSY, + EC_MOVE(LOVELY_KISS), + EC_WORD_LOVEY_DOVEY, + EC_WORD_LOW, + EC_MOVE(LOW_KICK), + EC_WORD_LOWS, + EC_POKEMON(LUDICOLO), + EC_POKEMON2(LUGIA), + EC_WORD_LUKEWARM, + EC_POKEMON(LUNATONE), + EC_MOVE2(LUSTER_PURGE), + EC_POKEMON(LUVDISC), +}; + +#define EC_WBL_OFFSET_M ARRAY_COUNT(gEasyChatWordsByLetter_L) + EC_WBL_OFFSET_L + +u16 gEasyChatWordsByLetter_M[] = { + EC_MOVE2(MACH_PUNCH), + EC_DUPLICATES(2), + EC_POKEMON(MACHAMP), + EC_POKEMON2(MACHAMP), + EC_WORD_MACHINE, + EC_DUPLICATES(2), + EC_POKEMON(MACHOKE), + EC_POKEMON2(MACHOKE), + EC_DUPLICATES(2), + EC_POKEMON(MACHOP), + EC_POKEMON2(MACHOP), + EC_WORD_MAGAZINE, + EC_POKEMON2(MAGBY), + EC_DUPLICATES(2), + EC_POKEMON(MAGCARGO), + EC_POKEMON2(MAGCARGO), + EC_MOVE2(MAGIC_COAT), + EC_MOVE2(MAGICAL_LEAF), + EC_DUPLICATES(2), + EC_POKEMON(MAGIKARP), + EC_POKEMON2(MAGIKARP), + EC_WORD_MAGMA_ARMOR, + EC_POKEMON2(MAGMAR), + EC_DUPLICATES(2), + EC_POKEMON(MAGNEMITE), + EC_POKEMON2(MAGNEMITE), + EC_WORD_MAGNET_PULL, + EC_DUPLICATES(2), + EC_POKEMON(MAGNETON), + EC_POKEMON2(MAGNETON), + EC_MOVE2(MAGNITUDE), + EC_WORD_MAIL, + EC_WORD_MAKE, + EC_WORD_MAKING, + EC_POKEMON(MAKUHITA), + EC_WORD_MAN, + EC_POKEMON(MANECTRIC), + EC_POKEMON2(MANKEY), + EC_POKEMON2(MANTINE), + EC_POKEMON2(MAREEP), + EC_DUPLICATES(2), + EC_POKEMON(MARILL), + EC_POKEMON2(MARILL), + EC_POKEMON2(MAROWAK), + EC_POKEMON(MARSHTOMP), + EC_WORD_MARVEL_SCALE, + EC_POKEMON(MASQUERAIN), + EC_WORD_MASTER, + EC_WORD_MATCH, + EC_WORD_MATCH_UP, + EC_POKEMON(MAWILE), + EC_WORD_MAYBE, + EC_WORD_MC, + EC_WORD_ME, + EC_WORD_MEAN, + EC_MOVE(MEAN_LOOK), + EC_POKEMON(MEDICHAM), + EC_MOVE2(MEDITATE), + EC_POKEMON(MEDITITE), + EC_WORD_MEET, + EC_WORD_MEET_YOU, + EC_WORD_MEETS, + EC_WORD_MEGA, + EC_MOVE2(MEGA_DRAIN), + EC_MOVE2(MEGA_KICK), + EC_MOVE2(MEGA_PUNCH), + EC_MOVE2(MEGAHORN), + EC_POKEMON2(MEGANIUM), + EC_MOVE(MEMENTO), + EC_POKEMON2(MEOWTH), + EC_WORD_MESSAGE, + EC_POKEMON(METAGROSS), + EC_MOVE2(METAL_CLAW), + EC_MOVE(METAL_SOUND), + EC_POKEMON(METANG), + EC_POKEMON2(METAPOD), + EC_MOVE(METEOR_MASH), + EC_MOVE2(METRONOME), + EC_POKEMON2(MEW), + EC_POKEMON2(MEWTWO), + EC_POKEMON(MIGHTYENA), + EC_MOVE2(MILK_DRINK), + EC_POKEMON(MILOTIC), + EC_POKEMON2(MILTANK), + EC_MOVE2(MIMIC), + EC_MOVE(MIND_READER), + EC_MOVE2(MINIMIZE), + EC_POKEMON(MINUN), + EC_WORD_MINUS, + EC_MOVE2(MIRROR_COAT), + EC_MOVE(MIRROR_MOVE), + EC_POKEMON2(MISDREAVUS), + EC_WORD_MISHEARD, + EC_WORD_MISS, + EC_MOVE(MIST), + EC_MOVE2(MIST_BALL), + EC_WORD_MISTAKE, + EC_WORD_MMM, + EC_WORD_MODE, + EC_WORD_MODERN, + EC_POKEMON2(MOLTRES), + EC_WORD_MOMENTUM, + EC_WORD_MONDAY, + EC_WORD_MONEY, + EC_WORD_MONTH, + EC_WORD_MOOD, + EC_MOVE2(MOONLIGHT), + EC_WORD_MORE, + EC_WORD_MORNING, + EC_MOVE(MORNING_SUN), + EC_WORD_MOTHER, + EC_WORD_MOVE, + EC_WORD_MOVIE, + EC_WORD_MR, + EC_POKEMON2(MR_MIME), + EC_WORD_MRS, + EC_WORD_MUCH, + EC_WORD_MUCH_OBLIGED, + EC_MOVE2(MUD_SHOT), + EC_MOVE2(MUD_SPORT), + EC_MOVE2(MUD_SLAP), + EC_MOVE2(MUDDY_WATER), + EC_POKEMON(MUDKIP), + EC_WORD_MUFUFU, + EC_DUPLICATES(2), + EC_POKEMON(MUK), + EC_POKEMON2(MUK), + EC_POKEMON2(MURKROW), + EC_WORD_MUSIC, + EC_WORD_MUST_BE, + EC_WORD_MY, + EC_WORD_MYSELF, + EC_WORD_MYSTERY, +}; + +#define EC_WBL_OFFSET_N ARRAY_COUNT(gEasyChatWordsByLetter_M) + EC_WBL_OFFSET_M + +u16 gEasyChatWordsByLetter_N[] = { + EC_WORD_NAME, + EC_WORD_NAP, + EC_DUPLICATES(2), + EC_POKEMON(NATU), + EC_POKEMON2(NATU), + EC_WORD_NATURAL, + EC_WORD_NATURAL_CURE, + EC_WORD_NATURALLY, + EC_WORD_NATURE, + EC_MOVE(NATURE_POWER), + EC_WORD_NEAR, + EC_WORD_NEARLY, + EC_WORD_NEED, + EC_MOVE2(NEEDLE_ARM), + EC_WORD_NEGATIVE, + EC_WORD_NEVER, + EC_WORD_NEW, + EC_WORD_NEWS, + EC_WORD_NEXT, + EC_WORD_NICE, + EC_POKEMON2(NIDOKING), + EC_POKEMON2(NIDOQUEEN), + EC_POKEMON2(NIDORAN_F), + EC_POKEMON2(NIDORAN_M), + EC_POKEMON2(NIDORINA), + EC_POKEMON2(NIDORINO), + EC_WORD_NIGHT, + EC_MOVE2(NIGHT_SHADE), + EC_MOVE(NIGHTMARE), + EC_WORD_NIGHTTIME, + EC_POKEMON(NINCADA), + EC_DUPLICATES(2), + EC_POKEMON(NINETALES), + EC_POKEMON2(NINETALES), + EC_POKEMON(NINJASK), + EC_WORD_NITWIT, + EC_WORD_NO, + EC_WORD_NO_MATCH, + EC_WORD_NO_1, + EC_POKEMON2(NOCTOWL), + EC_WORD_NOISY, + EC_WORD_NON_STOP, + EC_WORD_NONE, + EC_WORD_NOPE, + EC_WORD_NORMAL, + EC_POKEMON(NOSEPASS), + EC_WORD_NOT, + EC_WORD_NOT_VERY, + EC_WORD_NOTHING, + EC_WORD_NOW, + EC_POKEMON(NUMEL), + EC_POKEMON(NUZLEAF), +}; + +#define EC_WBL_OFFSET_O ARRAY_COUNT(gEasyChatWordsByLetter_N) + EC_WBL_OFFSET_N + +u16 gEasyChatWordsByLetter_O[] = { + EC_WORD_OBLIVIOUS, + EC_MOVE(OCTAZOOKA), + EC_POKEMON2(OCTILLERY), + EC_DUPLICATES(2), + EC_POKEMON(ODDISH), + EC_POKEMON2(ODDISH), + EC_MOVE(ODOR_SLEUTH), + EC_WORD_OF, + EC_WORD_OFF, + EC_WORD_OFFENSIVE, + EC_WORD_OH, + EC_WORD_OH_DEAR, + EC_WORD_OH_YEAH, + EC_WORD_OH_KAY, + EC_WORD_OH_QUES, + EC_WORD_OI, + EC_WORD_OI_OI_OI, + EC_WORD_OK_QUES, + EC_WORD_OKAY, + EC_WORD_OLD, + EC_WORD_OLDEN, + EC_POKEMON2(OMANYTE), + EC_POKEMON2(OMASTAR), + EC_WORD_ON, + EC_WORD_ONCE, + EC_POKEMON2(ONIX), + EC_WORD_ONLY, + EC_WORD_OOPS, + EC_WORD_OPPONENT, + EC_WORD_OPPOSITE, + EC_WORD_OR, + EC_WORD_OTHER, + EC_WORD_OUR, + EC_WORD_OUT, + EC_MOVE(OUTRAGE), + EC_WORD_OUTSIDE, + EC_WORD_OVER, + EC_WORD_OVERDO, + EC_WORD_OVERGROW, + EC_MOVE(OVERHEAT), + EC_WORD_OVERWHELMING, + EC_WORD_OWN, + EC_WORD_OWN_TEMPO, +}; + +#define EC_WBL_OFFSET_P ARRAY_COUNT(gEasyChatWordsByLetter_O) + EC_WBL_OFFSET_O + +u16 gEasyChatWordsByLetter_P[] = { + EC_MOVE(PAIN_SPLIT), + EC_POKEMON2(PARAS), + EC_POKEMON2(PARASECT), + EC_WORD_PARDON, + EC_WORD_PARENT, + EC_WORD_PARTNER, + EC_WORD_PARTY, + EC_WORD_PATTERN, + EC_MOVE2(PAY_DAY), + EC_WORD_PC, + EC_MOVE2(PECK), + EC_POKEMON(PELIPPER), + EC_WORD_PERFECT, + EC_WORD_PERFECTION, + EC_MOVE2(PERISH_SONG), + EC_POKEMON2(PERSIAN), + EC_WORD_PERSON, + EC_MOVE2(PETAL_DANCE), + EC_DUPLICATES(2), + EC_POKEMON(PHANPY), + EC_POKEMON2(PHANPY), + EC_WORD_PHONE, + EC_DUPLICATES(2), + EC_POKEMON(PICHU), + EC_POKEMON2(PICHU), + EC_WORD_PICKUP, + EC_POKEMON2(PIDGEOT), + EC_POKEMON2(PIDGEOTTO), + EC_POKEMON2(PIDGEY), + EC_DUPLICATES(2), + EC_POKEMON(PIKACHU), + EC_POKEMON2(PIKACHU), + EC_POKEMON2(PILOSWINE), + EC_MOVE2(PIN_MISSILE), + EC_POKEMON2(PINECO), + EC_DUPLICATES(2), + EC_POKEMON(PINSIR), + EC_POKEMON2(PINSIR), + EC_WORD_PKRS, + EC_WORD_PLACE, + EC_WORD_PLANS, + EC_WORD_PLAY, + EC_WORD_PLAYED, + EC_WORD_PLAYS, + EC_WORD_PLEASE, + EC_WORD_PLUS, + EC_WORD_PLUSH_DOLL, + EC_POKEMON(PLUSLE), + EC_WORD_POINTS, + EC_WORD_POISON, + EC_MOVE2(POISON_FANG), + EC_MOVE2(POISON_GAS), + EC_WORD_POISON_POINT, + EC_MOVE2(POISON_STING), + EC_MOVE2(POISON_TAIL), + EC_MOVE2(POISON_POWDER), + EC_WORD_POKEBLOCK, + EC_WORD_POKEDEX, + EC_WORD_POKEMON, + EC_WORD_POKENAV, + EC_POKEMON2(POLITOED), + EC_POKEMON2(POLIWAG), + EC_POKEMON2(POLIWHIRL), + EC_POKEMON2(POLIWRATH), + EC_POKEMON2(PONYTA), + EC_POKEMON(POOCHYENA), + EC_WORD_POPULAR, + EC_POKEMON2(PORYGON), + EC_POKEMON2(PORYGON2), + EC_MOVE2(POUND), + EC_MOVE(POWDER_SNOW), + EC_WORD_POWER, + EC_WORD_PRAISE, + EC_WORD_PREPOSTEROUS, + EC_MOVE2(PRESENT), + EC_WORD_PRESSURE, + EC_WORD_PRETEND, + EC_WORD_PRETTY, + EC_POKEMON2(PRIMEAPE), + EC_WORD_PROBABLY, + EC_WORD_PROMISE, + EC_MOVE2(PROTECT), + EC_MOVE(PSYBEAM), + EC_MOVE(PSYCH_UP), + EC_DUPLICATES(2), + EC_WORD_PSYCHIC, + EC_MOVE(PSYCHIC), + EC_DUPLICATES(2), + EC_POKEMON(PSYDUCK), + EC_POKEMON2(PSYDUCK), + EC_MOVE(PSYWAVE), + EC_POKEMON2(PUPITAR), + EC_WORD_PURE_POWER, + EC_MOVE(PURSUIT), + EC_WORD_PUSHOVER, +}; + +#define EC_WBL_OFFSET_Q ARRAY_COUNT(gEasyChatWordsByLetter_P) + EC_WBL_OFFSET_P + +u16 gEasyChatWordsByLetter_Q[] = { + EC_POKEMON2(QUAGSIRE), + EC_WORD_QUESTION, + EC_MOVE2(QUICK_ATTACK), + EC_POKEMON2(QUILAVA), + EC_WORD_QUITE, + EC_POKEMON2(QWILFISH), +}; + +#define EC_WBL_OFFSET_R ARRAY_COUNT(gEasyChatWordsByLetter_Q) + EC_WBL_OFFSET_Q + +u16 gEasyChatWordsByLetter_R[] = { + EC_WORD_RADIO, + EC_MOVE(RAGE), + EC_DUPLICATES(2), + EC_POKEMON(RAICHU), + EC_POKEMON2(RAICHU), + EC_POKEMON2(RAIKOU), + EC_MOVE(RAIN_DANCE), + EC_WORD_RAIN_DISH, + EC_POKEMON(RALTS), + EC_WORD_RANK, + EC_MOVE(RAPID_SPIN), + EC_POKEMON2(RAPIDASH), + EC_WORD_RARE, + EC_WORD_RATHER, + EC_POKEMON2(RATICATE), + EC_POKEMON2(RATTATA), + EC_POKEMON(RAYQUAZA), + EC_MOVE2(RAZOR_LEAF), + EC_MOVE(RAZOR_WIND), + EC_WORD_READY, + EC_WORD_REALLY, + EC_WORD_REAR, + EC_WORD_RECEIVED, + EC_WORD_RECOMMEND, + EC_MOVE(RECOVER), + EC_MOVE2(RECYCLE), + EC_MOVE2(REFLECT), + EC_MOVE2(REFRESH), + EC_WORD_REFRESHING, + EC_WORD_REFUSE, + EC_POKEMON(REGICE), + EC_POKEMON(REGIROCK), + EC_POKEMON(REGISTEEL), + EC_WORD_REJECT, + EC_WORD_RELEASE, + EC_POKEMON(RELICANTH), + EC_POKEMON2(REMORAID), + EC_WORD_RENTAL, + EC_MOVE2(REST), + EC_WORD_RESUSCITATE, + EC_MOVE(RETURN), + EC_MOVE2(REVENGE), + EC_MOVE(REVERSAL), + EC_DUPLICATES(2), + EC_POKEMON(RHYDON), + EC_POKEMON2(RHYDON), + EC_DUPLICATES(2), + EC_POKEMON(RHYHORN), + EC_POKEMON2(RHYHORN), + EC_WORD_RIBBON, + EC_WORD_RICKETY, + EC_WORD_RIGHT, + EC_WORD_RIPPED, + EC_WORD_RIVAL, + EC_MOVE2(ROAR), + EC_WORD_ROCK, + EC_MOVE2(ROCK_BLAST), + EC_WORD_ROCK_HEAD, + EC_MOVE(ROCK_SLIDE), + EC_MOVE(ROCK_SMASH), + EC_MOVE(ROCK_THROW), + EC_MOVE(ROCK_TOMB), + EC_WORD_ROCK_SOLID, + EC_MOVE2(ROLE_PLAY), + EC_MOVE2(ROLLING_KICK), + EC_MOVE(ROLLOUT), + EC_WORD_ROMANTIC, + EC_POKEMON(ROSELIA), + EC_WORD_ROUGH_SKIN, + EC_WORD_RPG, + EC_WORD_RUBY, + EC_WORD_RULE, + EC_WORD_RUN, + EC_WORD_RUN_AWAY, + EC_WORD_RUNS, +}; + +#define EC_WBL_OFFSET_S ARRAY_COUNT(gEasyChatWordsByLetter_R) + EC_WBL_OFFSET_R + +u16 gEasyChatWordsByLetter_S[] = { + EC_POKEMON(SABLEYE), + EC_MOVE(SACRED_FIRE), + EC_WORD_SAD, + EC_WORD_SADLY, + EC_MOVE(SAFEGUARD), + EC_WORD_SAID, + EC_POKEMON(SALAMENCE), + EC_WORD_SAND_STREAM, + EC_MOVE(SAND_TOMB), + EC_WORD_SAND_VEIL, + EC_MOVE(SAND_ATTACK), + EC_DUPLICATES(2), + EC_POKEMON(SANDSHREW), + EC_POKEMON2(SANDSHREW), + EC_DUPLICATES(2), + EC_POKEMON(SANDSLASH), + EC_POKEMON2(SANDSLASH), + EC_MOVE(SANDSTORM), + EC_WORD_SAPPHIRE, + EC_WORD_SATISFIED, + EC_WORD_SATURDAY, + EC_WORD_SAYS, + EC_WORD_SCARY, + EC_MOVE(SCARY_FACE), + EC_WORD_SCATTER, + EC_POKEMON(SCEPTILE), + EC_WORD_SCHOOL, + EC_POKEMON2(SCIZOR), + EC_MOVE2(SCRATCH), + EC_MOVE(SCREECH), + EC_POKEMON2(SCYTHER), + EC_DUPLICATES(2), + EC_POKEMON(SEADRA), + EC_POKEMON2(SEADRA), + EC_DUPLICATES(2), + EC_POKEMON(SEAKING), + EC_POKEMON2(SEAKING), + EC_POKEMON(SEALEO), + EC_WORD_SEARCH, + EC_WORD_SECRET, + EC_WORD_SECRET_BASE, + EC_MOVE2(SECRET_POWER), + EC_WORD_SEE, + EC_WORD_SEE_YA, + EC_POKEMON(SEEDOT), + EC_WORD_SEEK, + EC_POKEMON2(SEEL), + EC_WORD_SEEMS, + EC_WORD_SEES, + EC_MOVE2(SEISMIC_TOSS), + EC_MOVE(SELF_DESTRUCT), + EC_WORD_SENSE, + EC_POKEMON2(SENTRET), + EC_WORD_SERENE_GRACE, + EC_WORD_SERIOUS, + EC_WORD_SERIOUSLY, + EC_WORD_SERVICE, + EC_POKEMON(SEVIPER), + EC_MOVE(SHADOW_BALL), + EC_MOVE(SHADOW_PUNCH), + EC_WORD_SHADOW_TAG, + EC_WORD_SHADY, + EC_WORD_SHAKE, + EC_WORD_SHAKY, + EC_WORD_SHALLOW, + EC_POKEMON(SHARPEDO), + EC_MOVE(SHARPEN), + EC_WORD_SHE, + EC_WORD_SHE_IS, + EC_WORD_SHE_WAS, + EC_WORD_SHED_SKIN, + EC_POKEMON(SHEDINJA), + EC_MOVE(SHEER_COLD), + EC_POKEMON(SHELGON), + EC_WORD_SHELL_ARMOR, + EC_POKEMON2(SHELLDER), + EC_WORD_SHIELD_DUST, + EC_POKEMON(SHIFTRY), + EC_WORD_SHINE, + EC_MOVE2(SHOCK_WAVE), + EC_WORD_SHOCKED, + EC_WORD_SHOPPING, + EC_WORD_SHOULD, + EC_WORD_SHOW, + EC_WORD_SHREDDED, + EC_POKEMON(SHROOMISH), + EC_POKEMON2(SHUCKLE), + EC_POKEMON(SHUPPET), + EC_WORD_SIBLINGS, + EC_WORD_SIGH, + EC_MOVE(SIGNAL_BEAM), + EC_POKEMON(SILCOON), + EC_WORD_SILKY, + EC_MOVE(SILVER_WIND), + EC_WORD_SIMPLE, + EC_WORD_SINCE, + EC_MOVE(SING), + EC_WORD_SINK, + EC_WORD_SISTER, + EC_DUPLICATES(2), + EC_POKEMON(SKARMORY), + EC_POKEMON2(SKARMORY), + EC_MOVE(SKETCH), + EC_WORD_SKILL, + EC_MOVE(SKILL_SWAP), + EC_WORD_SKILLED, + EC_POKEMON2(SKIPLOOM), + EC_POKEMON(SKITTY), + EC_MOVE2(SKULL_BASH), + EC_MOVE(SKY_ATTACK), + EC_MOVE(SKY_UPPERCUT), + EC_MOVE2(SLACK_OFF), + EC_POKEMON(SLAKING), + EC_POKEMON(SLAKOTH), + EC_MOVE2(SLAM), + EC_MOVE(SLASH), + EC_WORD_SLEEP, + EC_MOVE2(SLEEP_POWDER), + EC_MOVE2(SLEEP_TALK), + EC_WORD_SLEPT, + EC_WORD_SLIDE, + EC_WORD_SLIMY, + EC_POKEMON2(SLOWBRO), + EC_POKEMON2(SLOWKING), + EC_POKEMON2(SLOWPOKE), + EC_MOVE2(SLUDGE), + EC_MOVE2(SLUDGE_BOMB), + EC_DUPLICATES(2), + EC_POKEMON(SLUGMA), + EC_POKEMON2(SLUGMA), + EC_WORD_SMACK, + EC_WORD_SMALL, + EC_WORD_SMART, + EC_WORD_SMARTNESS, + EC_POKEMON2(SMEARGLE), + EC_WORD_SMELL, + EC_WORD_SMELL_YA, + EC_MOVE(SMELLING_SALT), + EC_WORD_SMITE, + EC_MOVE(SMOG), + EC_MOVE(SMOKESCREEN), + EC_POKEMON2(SMOOCHUM), + EC_WORD_SMOOTH, + EC_MOVE2(SNATCH), + EC_POKEMON2(SNEASEL), + EC_MOVE(SNORE), + EC_POKEMON2(SNORLAX), + EC_WORD_SNORT, + EC_POKEMON(SNORUNT), + EC_POKEMON2(SNUBBULL), + EC_WORD_SO, + EC_MOVE2(SOFT_BOILED), + EC_WORD_SOFTWARE, + EC_MOVE(SOLAR_BEAM), + EC_POKEMON(SOLROCK), + EC_WORD_SOME, + EC_WORD_SOMEHOW, + EC_WORD_SOMEONE, + EC_WORD_SOMETHING, + EC_WORD_SOMETIME, + EC_WORD_SON, + EC_WORD_SONG, + EC_WORD_SONGS, + EC_MOVE(SONIC_BOOM), + EC_WORD_SOON, + EC_WORD_SORRY, + EC_WORD_SOUNDPROOF, + EC_WORD_SP_ABILITY, + EC_MOVE(SPARK), + EC_POKEMON2(SPEAROW), + EC_WORD_SPECTATOR, + EC_WORD_SPEED_BOOST, + EC_POKEMON(SPHEAL), + EC_MOVE(SPIDER_WEB), + EC_MOVE2(SPIKE_CANNON), + EC_MOVE2(SPIKES), + EC_POKEMON2(SPINARAK), + EC_POKEMON(SPINDA), + EC_WORD_SPIRALING, + EC_WORD_SPIRIT, + EC_MOVE2(SPIT_UP), + EC_MOVE(SPITE), + EC_MOVE2(SPLASH), + EC_POKEMON(SPOINK), + EC_MOVE(SPORE), + EC_WORD_SPORTS, + EC_WORD_SPRING, + EC_POKEMON2(SQUIRTLE), + EC_WORD_STAGE, + EC_POKEMON2(STANTLER), + EC_DUPLICATES(2), + EC_POKEMON(STARMIE), + EC_POKEMON2(STARMIE), + EC_WORD_START, + EC_DUPLICATES(2), + EC_POKEMON(STARYU), + EC_POKEMON2(STARYU), + EC_WORD_STATIC, + EC_WORD_STAY_AT_HOME, + EC_WORD_STEEL, + EC_MOVE2(STEEL_WING), + EC_POKEMON2(STEELIX), + EC_WORD_STENCH, + EC_WORD_STICKY_HOLD, + EC_MOVE2(STOCKPILE), + EC_MOVE2(STOMP), + EC_WORD_STOP, + EC_WORD_STORE, + EC_WORD_STORES, + EC_WORD_STORY, + EC_WORD_STRATEGY, + EC_MOVE(STRENGTH), + EC_MOVE(STRING_SHOT), + EC_WORD_STRONG, + EC_MOVE2(STRUGGLE), + EC_WORD_STUDY, + EC_MOVE(STUN_SPORE), + EC_WORD_STURDY, + EC_MOVE(SUBMISSION), + EC_MOVE2(SUBSTITUTE), + EC_WORD_SUCTION_CUPS, + EC_POKEMON2(SUDOWOODO), + EC_POKEMON2(SUICUNE), + EC_WORD_SUMMER, + EC_WORD_SUNDAY, + EC_POKEMON2(SUNFLORA), + EC_POKEMON2(SUNKERN), + EC_MOVE2(SUNNY_DAY), + EC_WORD_SUPER, + EC_MOVE(SUPER_FANG), + EC_MOVE2(SUPERPOWER), + EC_MOVE2(SUPERSONIC), + EC_MOVE2(SURF), + EC_WORD_SURPRISE, + EC_WORD_SURRENDER, + EC_POKEMON(SURSKIT), + EC_POKEMON(SWABLU), + EC_MOVE(SWAGGER), + EC_MOVE2(SWALLOW), + EC_POKEMON(SWALOT), + EC_POKEMON(SWAMPERT), + EC_WORD_SWARM, + EC_MOVE2(SWEET_KISS), + EC_MOVE(SWEET_SCENT), + EC_WORD_SWEETS, + EC_POKEMON(SWELLOW), + EC_MOVE(SWIFT), + EC_WORD_SWIFT_SWIM, + EC_POKEMON2(SWINUB), + EC_MOVE2(SWORDS_DANCE), + EC_WORD_SYNCHRONIZE, + EC_MOVE(SYNTHESIS), + EC_WORD_SYSTEM, +}; + +#define EC_WBL_OFFSET_T ARRAY_COUNT(gEasyChatWordsByLetter_S) + EC_WBL_OFFSET_S + +u16 gEasyChatWordsByLetter_T[] = { + EC_MOVE2(TACKLE), + EC_MOVE2(TAIL_GLOW), + EC_MOVE(TAIL_WHIP), + EC_POKEMON(TAILLOW), + EC_WORD_TAKE, + EC_MOVE2(TAKE_DOWN), + EC_WORD_TAKE_THAT, + EC_WORD_TALENT, + EC_WORD_TALK, + EC_WORD_TALKING, + EC_POKEMON2(TANGELA), + EC_WORD_TASTY, + EC_MOVE2(TAUNT), + EC_POKEMON2(TAUROS), + EC_WORD_TCH, + EC_WORD_TEACH, + EC_WORD_TEACHER, + EC_WORD_TEACHES, + EC_POKEMON2(TEDDIURSA), + EC_MOVE2(TEETER_DANCE), + EC_MOVE2(TELEPORT), + EC_WORD_TELEVISION, + EC_DUPLICATES(2), + EC_POKEMON(TENTACOOL), + EC_POKEMON2(TENTACOOL), + EC_DUPLICATES(2), + EC_POKEMON(TENTACRUEL), + EC_POKEMON2(TENTACRUEL), + EC_WORD_TERRIBLE, + EC_WORD_TEST, + EC_WORD_THAN, + EC_WORD_THANK_YOU, + EC_WORD_THANKS, + EC_WORD_THAT, + EC_WORD_THAT_WAS, + EC_WORD_THAT_S, + EC_WORD_THAT_S_IT_EXCL, + EC_WORD_THE, + EC_WORD_THEIR, + EC_WORD_THERE, + EC_WORD_THESE, + EC_WORD_THESE_WERE, + EC_WORD_THEY, + EC_WORD_THEY_WERE, + EC_WORD_THEY_RE, + EC_WORD_THEY_VE, + EC_WORD_THICK, + EC_WORD_THICK_FAT, + EC_MOVE2(THIEF), + EC_WORD_THIN, + EC_WORD_THING, + EC_WORD_THINGS, + EC_WORD_THINK, + EC_WORD_THINKS, + EC_WORD_THIRSTY, + EC_WORD_THIS, + EC_WORD_THIS_IS_IT_EXCL, + EC_WORD_THOSE, + EC_WORD_THOSE_ARE, + EC_WORD_THOSE_WERE, + EC_MOVE(THRASH), + EC_WORD_THROW, + EC_MOVE(THUNDER), + EC_MOVE2(THUNDER_WAVE), + EC_MOVE(THUNDERBOLT), + EC_MOVE(THUNDER_PUNCH), + EC_MOVE2(THUNDER_SHOCK), + EC_WORD_THURSDAY, + EC_MOVE(TICKLE), + EC_WORD_TICKLISH, + EC_WORD_TIGHT, + EC_WORD_TIME, + EC_WORD_TIMES, + EC_WORD_TIRED, + EC_WORD_TO, + EC_WORD_TO_HER, + EC_WORD_TO_ME, + EC_WORD_TO_THEM, + EC_WORD_TO_US, + EC_WORD_TO_WHOM, + EC_WORD_TODAY, + EC_POKEMON2(TOGEPI), + EC_WORD_TOGETHER, + EC_POKEMON2(TOGETIC), + EC_WORD_TOMORROW, + EC_WORD_TOO, + EC_WORD_TOO_LATE, + EC_WORD_TOO_STRONG, + EC_WORD_TOO_WEAK, + EC_WORD_TOP, + EC_POKEMON(TORCHIC), + EC_POKEMON(TORKOAL), + EC_MOVE(TORMENT), + EC_WORD_TORRENT, + EC_WORD_TOTALLY, + EC_POKEMON2(TOTODILE), + EC_WORD_TOUGH, + EC_WORD_TOUGHNESS, + EC_WORD_TOURNAMENT, + EC_MOVE2(TOXIC), + EC_WORD_TOYS, + EC_WORD_TRACE, + EC_WORD_TRADE, + EC_WORD_TRAIN, + EC_WORD_TRAINER, + EC_WORD_TRAINS, + EC_MOVE2(TRANSFORM), + EC_POKEMON(TRAPINCH), + EC_WORD_TRAVEL, + EC_WORD_TREASURE, + EC_POKEMON(TREECKO), + EC_WORD_TRENDY, + EC_MOVE2(TRI_ATTACK), + EC_MOVE2(TRICK), + EC_WORD_TRIES, + EC_MOVE2(TRIPLE_KICK), + EC_POKEMON(TROPIUS), + EC_WORD_TRUANT, + EC_WORD_TRULY, + EC_WORD_TRUMP_CARD, + EC_WORD_TRUST, + EC_WORD_TRY, + EC_WORD_TUESDAY, + EC_MOVE2(TWINEEDLE), + EC_WORD_TWIRLING, + EC_MOVE2(TWISTER), + EC_WORD_TYPE, + EC_POKEMON2(TYPHLOSION), + EC_POKEMON2(TYRANITAR), + EC_POKEMON2(TYROGUE), +}; + +#define EC_WBL_OFFSET_U ARRAY_COUNT(gEasyChatWordsByLetter_T) + EC_WBL_OFFSET_T + +u16 gEasyChatWordsByLetter_U[] = { + EC_WORD_UGLY, + EC_WORD_UH_HUH, + EC_WORD_UH_OH, + EC_WORD_UM, + EC_POKEMON2(UMBREON), + EC_WORD_UNAVOIDABLE, + EC_WORD_UNBELIEVABLE, + EC_WORD_UNCLE, + EC_WORD_UNDERSTAND, + EC_WORD_UNDERSTANDS, + EC_WORD_UNDERSTOOD, + EC_POKEMON2(UNOWN), + EC_WORD_UNTIL, + EC_WORD_UP, + EC_WORD_UPBEAT, + EC_MOVE(UPROAR), + EC_WORD_UPSIDE_DOWN, + EC_WORD_URGH, + EC_POKEMON2(URSARING), + EC_WORD_USE, + EC_WORD_USELESS, + EC_WORD_USES, + EC_WORD_USING, +}; + +#define EC_WBL_OFFSET_V ARRAY_COUNT(gEasyChatWordsByLetter_U) + EC_WBL_OFFSET_U + +u16 gEasyChatWordsByLetter_V[] = { + EC_WORD_VACATION, + EC_POKEMON2(VAPOREON), + EC_POKEMON2(VENOMOTH), + EC_POKEMON2(VENONAT), + EC_POKEMON2(VENUSAUR), + EC_WORD_VERSION, + EC_WORD_VERSUS, + EC_WORD_VERY, + EC_POKEMON(VIBRAVA), + EC_MOVE2(VICE_GRIP), + EC_WORD_VICTORY, + EC_POKEMON2(VICTREEBEL), + EC_WORD_VIEWING, + EC_POKEMON(VIGOROTH), + EC_DUPLICATES(2), + EC_POKEMON(VILEPLUME), + EC_POKEMON2(VILEPLUME), + EC_MOVE2(VINE_WHIP), + EC_WORD_VITAL_SPIRIT, + EC_MOVE(VITAL_THROW), + EC_POKEMON(VOLBEAT), + EC_WORD_VOLT_ABSORB, + EC_DUPLICATES(2), + EC_POKEMON(VOLTORB), + EC_POKEMON2(VOLTORB), + EC_WORD_VORACIOUS, + EC_DUPLICATES(2), + EC_POKEMON(VULPIX), + EC_POKEMON2(VULPIX), +}; + +#define EC_WBL_OFFSET_W ARRAY_COUNT(gEasyChatWordsByLetter_V) + EC_WBL_OFFSET_V + +u16 gEasyChatWordsByLetter_W[] = { + EC_WORD_WAAAH, + EC_WORD_WAHAHAHA, + EC_POKEMON(WAILMER), + EC_POKEMON(WAILORD), + EC_WORD_WAIT, + EC_WORD_WAKE_UP, + EC_WORD_WAKES_UP, + EC_WORD_WALK, + EC_WORD_WALKING, + EC_WORD_WALKS, + EC_POKEMON(WALREIN), + EC_WORD_WANDERING, + EC_WORD_WANNABE, + EC_WORD_WANT, + EC_WORD_WANTS, + EC_POKEMON2(WARTORTLE), + EC_WORD_WAS, + EC_WORD_WASN_T, + EC_WORD_WATER, + EC_WORD_WATER_ABSORB, + EC_MOVE2(WATER_GUN), + EC_MOVE2(WATER_PULSE), + EC_MOVE2(WATER_SPORT), + EC_MOVE(WATER_SPOUT), + EC_WORD_WATER_VEIL, + EC_MOVE2(WATERFALL), + EC_WORD_WAY, + EC_WORD_WE, + EC_WORD_WE_RE, + EC_WORD_WE_VE, + EC_WORD_WEAK, + EC_WORD_WEAKENED, + EC_MOVE(WEATHER_BALL), + EC_WORD_WEDNESDAY, + EC_POKEMON2(WEEDLE), + EC_WORD_WEEK, + EC_POKEMON2(WEEPINBELL), + EC_DUPLICATES(2), + EC_POKEMON(WEEZING), + EC_POKEMON2(WEEZING), + EC_WORD_WEIRD, + EC_WORD_WELCOME, + EC_WORD_WELL, + EC_WORD_WELL_THEN, + EC_WORD_WENT, + EC_WORD_WERE, + EC_WORD_WEREN_T, + EC_WORD_WHAT, + EC_WORD_WHAT_S_UP_QUES, + EC_WORD_WHEN, + EC_WORD_WHEN_I_WIN, + EC_WORD_WHERE, + EC_WORD_WHICH, + EC_WORD_WHILE, + EC_MOVE(WHIRLPOOL), + EC_MOVE2(WHIRLWIND), + EC_POKEMON(WHISCASH), + EC_POKEMON(WHISMUR), + EC_WORD_WHITE_SMOKE, + EC_WORD_WHO, + EC_WORD_WHO_IS, + EC_WORD_WHO_WAS, + EC_WORD_WHOAH, + EC_WORD_WHOM, + EC_WORD_WHOSE, + EC_WORD_WHY, + EC_DUPLICATES(2), + EC_POKEMON(WIGGLYTUFF), + EC_POKEMON2(WIGGLYTUFF), + EC_WORD_WILD, + EC_WORD_WILL, + EC_WORD_WILL_BE_HERE, + EC_MOVE(WILL_O_WISP), + EC_WORD_WIMPY, + EC_WORD_WIN, + EC_MOVE2(WING_ATTACK), + EC_POKEMON(WINGULL), + EC_WORD_WINNER, + EC_WORD_WINS, + EC_WORD_WINTER, + EC_MOVE2(WISH), + EC_WORD_WITH, + EC_MOVE(WITHDRAW), + EC_WORD_WITHOUT, + EC_WORD_WOBBLY, + EC_DUPLICATES(2), + EC_POKEMON(WOBBUFFET), + EC_POKEMON2(WOBBUFFET), + EC_WORD_WOMAN, + EC_WORD_WON, + EC_WORD_WON_T, + EC_WORD_WONDER, + EC_WORD_WONDER_GUARD, + EC_POKEMON2(WOOPER), + EC_WORD_WORD, + EC_WORD_WORK, + EC_WORD_WORKING, + EC_WORD_WORKS, + EC_WORD_WORLD, + EC_WORD_WORRY, + EC_WORD_WOULD, + EC_WORD_WOW, + EC_WORD_WOWEE, + EC_MOVE2(WRAP), + EC_WORD_WROOOAAR_EXCL, + EC_POKEMON(WURMPLE), + EC_POKEMON(WYNAUT), +}; + +#define EC_WBL_OFFSET_X ARRAY_COUNT(gEasyChatWordsByLetter_W) + EC_WBL_OFFSET_W + +u16 gEasyChatWordsByLetter_X[] = { + EC_DUPLICATES(2), + EC_POKEMON(XATU), + EC_POKEMON2(XATU), +}; + +#define EC_WBL_OFFSET_Y ARRAY_COUNT(gEasyChatWordsByLetter_X) + EC_WBL_OFFSET_X + +u16 gEasyChatWordsByLetter_Y[] = { + EC_WORD_YAHOO, + EC_POKEMON2(YANMA), + EC_MOVE(YAWN), + EC_WORD_YAY, + EC_WORD_YEAH, + EC_WORD_YEAH_YEAH, + EC_WORD_YEEHAW_EXCL, + EC_WORD_YES, + EC_WORD_YES_SIR_EXCL, + EC_WORD_YESTERDAY, + EC_WORD_YET, + EC_WORD_YO, + EC_WORD_YOU, + EC_WORD_YOU_RE, + EC_WORD_YOU_VE, + EC_WORD_YOUNG, + EC_WORD_YOUR, + EC_WORD_YOURS, + EC_WORD_YUP, +}; + +#define EC_WBL_OFFSET_Z ARRAY_COUNT(gEasyChatWordsByLetter_Y) + EC_WBL_OFFSET_Y + +u16 gEasyChatWordsByLetter_Z[] = { + EC_POKEMON(ZANGOOSE), + EC_MOVE2(ZAP_CANNON), + EC_POKEMON2(ZAPDOS), + EC_POKEMON(ZIGZAGOON), + EC_DUPLICATES(2), + EC_POKEMON(ZUBAT), + EC_POKEMON2(ZUBAT), +}; + +#define EC_WBL_OFFSET_End ARRAY_COUNT(gEasyChatWordsByLetter_Z) + EC_WBL_OFFSET_Z + +u16 gEasyChatWordsByLetter_End[] = { +}; + +u16 gEasyChatWordsByLetter[] = { + EC_WBL_OFFSET_Others, + EC_WBL_OFFSET_A, + EC_WBL_OFFSET_B, + EC_WBL_OFFSET_C, + EC_WBL_OFFSET_D, + EC_WBL_OFFSET_E, + EC_WBL_OFFSET_F, + EC_WBL_OFFSET_G, + EC_WBL_OFFSET_H, + EC_WBL_OFFSET_I, + EC_WBL_OFFSET_J, + EC_WBL_OFFSET_K, + EC_WBL_OFFSET_L, + EC_WBL_OFFSET_M, + EC_WBL_OFFSET_N, + EC_WBL_OFFSET_O, + EC_WBL_OFFSET_P, + EC_WBL_OFFSET_Q, + EC_WBL_OFFSET_R, + EC_WBL_OFFSET_S, + EC_WBL_OFFSET_T, + EC_WBL_OFFSET_U, + EC_WBL_OFFSET_V, + EC_WBL_OFFSET_W, + EC_WBL_OFFSET_X, + EC_WBL_OFFSET_Y, + EC_WBL_OFFSET_Z, + EC_WBL_OFFSET_End, +}; + +#endif // DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c index 01290daba..01f5e016d 100644 --- a/src/easy_chat_2.c +++ b/src/easy_chat_2.c @@ -19,6 +19,12 @@ #include "trig.h" #include "scanline_effect.h" +#include "data/text/easy_chat/group_words.h" +#include "data/text/easy_chat/words_by_letter.h" +#include "data/text/easy_chat/group_sizes.h" +#include "data/text/easy_chat/group_orders.h" +#include "data/text/easy_chat/group_name_table.h" + extern void sub_8095C8C(); extern void sub_809D104(void *, u16, u16, const void *, u16, u16, u16, u16); @@ -2067,11 +2073,6 @@ void sub_80EAD08(void) } } -extern const u8 *const gEasyChatGroupNames[]; -extern const u8 gEasyChatGroupSizes[]; -extern const u16 gEasyChatWordsByLetter[]; -extern const u16 gEasyChatWordsAlphabetized[]; - u8 *CopyEasyChatGroupName(u8 *dest, u8 group, int unused) { return StringCopy(dest, gEasyChatGroupNames[group]); @@ -2369,10 +2370,6 @@ void sub_80EAECC(void) } #endif -extern const u8 *const gEasyChatGroupWords[]; -extern const u16 *const gEasyChatGroupOrders[]; -extern const u8 gEasyChatGroupSizes[]; - // loads strings of all easy chat words except for the species and move names. void LoadEasyChatStrings(void) { @@ -3011,6 +3008,7 @@ static u16 sub_80EB9D8(void) u16 *speciesList; u16 local1; u16 i; + u8 topsize; local1 = sub_80EAE88(0); @@ -3019,7 +3017,7 @@ static u16 sub_80EB9D8(void) local1 = Random() % local1; speciesList = (u16 *)gEasyChatGroupWords[EC_GROUP_POKEMON_1]; - for (i = 0; i < gEasyChatGroupSizes[EC_GROUP_POKEMON_1]; i++) + for (i = 0, topsize = gEasyChatGroupSizes[EC_GROUP_POKEMON_1]; i < topsize; i++) { const u16 dexNum = SpeciesToNationalPokedexNum(*speciesList); const u8 local2 = GetSetPokedexFlag(dexNum, 0); -- cgit v1.2.3 From e0ddefcd5da71410a02371f6fb21d31a29d1ed66 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 25 Apr 2018 16:16:57 -0400 Subject: Fix building German --- src/data/text/easy_chat/words_by_letter.h | 2044 +------------------------ src/data/text/easy_chat/words_by_letter_de.h | 2046 ++++++++++++++++++++++++++ src/data/text/easy_chat/words_by_letter_en.h | 2042 +++++++++++++++++++++++++ 3 files changed, 4093 insertions(+), 2039 deletions(-) create mode 100644 src/data/text/easy_chat/words_by_letter_de.h create mode 100644 src/data/text/easy_chat/words_by_letter_en.h (limited to 'src') diff --git a/src/data/text/easy_chat/words_by_letter.h b/src/data/text/easy_chat/words_by_letter.h index b6d774e59..dd783f228 100644 --- a/src/data/text/easy_chat/words_by_letter.h +++ b/src/data/text/easy_chat/words_by_letter.h @@ -1,2042 +1,8 @@ #ifndef DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER #define DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER - -#define EC_DUPLICATES(count) (0xFF00 + (count)) -#include "constants/species.h" - -u16 gEasyChatWordsAlphabetized[] = { -}; - -#define EC_WBL_OFFSET_Others 0 - -u16 gEasyChatWordsByLetter_Others[] = { - EC_WORD_EXCL, - EC_WORD_EXCL_EXCL, - EC_WORD_DASH, - EC_WORD_DASH_DASH_DASH, - EC_WORD_ELLIPSIS, - EC_WORD_ELLIPSIS_EXCL, - EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, - EC_WORD_1_HIT_KO_EXCL, - EC_WORD_QUES, - EC_WORD_QUES_EXCL, -}; - -#define EC_WBL_OFFSET_A ARRAY_COUNT(gEasyChatWordsByLetter_Others) + EC_WBL_OFFSET_Others - -u16 gEasyChatWordsByLetter_A[] = { - EC_WORD_A, - EC_WORD_A_LITTLE, - EC_WORD_A_LOT, - EC_WORD_A_TINY_BIT, - EC_WORD_ABOUT, - EC_WORD_ABOVE, - EC_DUPLICATES(2), - EC_POKEMON(ABRA), - EC_POKEMON2(ABRA), - EC_WORD_ABSENT, - EC_POKEMON(ABSOL), - EC_WORD_ABSOLUTELY, - EC_MOVE(ABSORB), - EC_WORD_ACCEPT, - EC_MOVE2(ACID), - EC_MOVE2(ACID_ARMOR), - EC_WORD_ADORE, - EC_WORD_ADULT, - EC_WORD_ADVENTURE, - EC_MOVE2(AERIAL_ACE), - EC_MOVE(AEROBLAST), - EC_POKEMON2(AERODACTYL), - EC_WORD_AFTER, - EC_WORD_AGE, - EC_POKEMON(AGGRON), - EC_MOVE(AGILITY), - EC_WORD_AGREE, - EC_WORD_AHAHA, - EC_WORD_AIM, - EC_POKEMON2(AIPOM), - EC_MOVE(AIR_CUTTER), - EC_WORD_AIR_LOCK, - EC_WORD_AIYEEH, - EC_DUPLICATES(2), - EC_POKEMON(ALAKAZAM), - EC_POKEMON2(ALAKAZAM), - EC_WORD_ALL, - EC_WORD_ALL_RIGHT, - EC_WORD_ALLOW, - EC_WORD_ALLOWANCE, - EC_WORD_ALLY, - EC_WORD_ALMOST, - EC_WORD_ALONE, - EC_WORD_ALSO, - EC_WORD_ALT_COLOR, - EC_POKEMON(ALTARIA), - EC_WORD_ALTHOUGH, - EC_WORD_ALWAYS, - EC_WORD_AM, - EC_MOVE2(AMNESIA), - EC_POKEMON2(AMPHAROS), - EC_WORD_AMUSING, - EC_WORD_AN, - EC_MOVE(ANCIENT_POWER), - EC_WORD_AND, - EC_WORD_ANGER, - EC_WORD_ANGERS, - EC_WORD_ANGRY, - EC_WORD_ANIME, - EC_POKEMON(ANORITH), - EC_WORD_ANOTHER, - EC_WORD_ANTICIPATION, - EC_WORD_ANY, - EC_WORD_ANYWHERE, - EC_WORD_APOLOGIZE, - EC_WORD_APPEAL, - EC_WORD_APPEAR, - EC_WORD_APPEARS, - EC_WORD_APPRECIATE, - EC_WORD_APPROVED, - EC_POKEMON2(ARBOK), - EC_POKEMON2(ARCANINE), - EC_WORD_ARE, - EC_WORD_AREN_T, - EC_WORD_ARENA_TRAP, - EC_POKEMON2(ARIADOS), - EC_MOVE2(ARM_THRUST), - EC_POKEMON(ARMALDO), - EC_MOVE(AROMATHERAPY), - EC_POKEMON(ARON), - EC_WORD_AROUND, - EC_WORD_ARRGH, - EC_POKEMON2(ARTICUNO), - EC_WORD_AS, - EC_WORD_AS_IF, - EC_WORD_AS_MUCH_AS, - EC_MOVE2(ASSIST), - EC_MOVE(ASTONISH), - EC_WORD_AT, - EC_WORD_ATTACK, - EC_MOVE2(ATTRACT), - EC_WORD_AUNT, - EC_MOVE(AURORA_BEAM), - EC_WORD_AVANT_GARDE, - EC_WORD_AWAY, - EC_WORD_AWESOME, - EC_WORD_AWFUL, - EC_WORD_AWFULLY, - EC_WORD_AWW, - EC_DUPLICATES(2), - EC_POKEMON(AZUMARILL), - EC_POKEMON2(AZUMARILL), - EC_POKEMON(AZURILL), -}; - -#define EC_WBL_OFFSET_B ARRAY_COUNT(gEasyChatWordsByLetter_A) + EC_WBL_OFFSET_A - -u16 gEasyChatWordsByLetter_B[] = { - EC_WORD_BABE, - EC_WORD_BABY, - EC_WORD_BACK, - EC_WORD_BAD, - EC_WORD_BADLY, - EC_POKEMON(BAGON), - EC_WORD_BALL, - EC_POKEMON(BALTOY), - EC_POKEMON(BANETTE), - EC_WORD_BANG, - EC_POKEMON(BARBOACH), - EC_MOVE2(BARRAGE), - EC_MOVE2(BARRIER), - EC_WORD_BATH, - EC_MOVE2(BATON_PASS), - EC_WORD_BATTLE, - EC_WORD_BATTLE_ARMOR, - EC_WORD_BATTLE_ROOM, - EC_WORD_BATTLE_TOWER, - EC_POKEMON2(BAYLEEF), - EC_WORD_BE, - EC_WORD_BEAT, - EC_MOVE2(BEAT_UP), - EC_POKEMON(BEAUTIFLY), - EC_WORD_BEAUTIFUL, - EC_WORD_BEAUTY, - EC_WORD_BECOMES, - EC_POKEMON2(BEEDRILL), - EC_WORD_BEEN, - EC_WORD_BEFORE, - EC_WORD_BEGINNING, - EC_WORD_BEING, - EC_POKEMON(BELDUM), - EC_WORD_BELIEVE, - EC_DUPLICATES(2), - EC_POKEMON(BELLOSSOM), - EC_POKEMON2(BELLOSSOM), - EC_POKEMON2(BELLSPROUT), - EC_MOVE2(BELLY_DRUM), - EC_WORD_BELONGS_TO, - EC_WORD_BELOW, - EC_WORD_BERRY, - EC_WORD_BESIDE, - EC_WORD_BEST, - EC_WORD_BETTER, - EC_MOVE(BIDE), - EC_WORD_BIG, - EC_WORD_BIKE, - EC_MOVE(BIND), - EC_MOVE(BITE), - EC_POKEMON2(BLASTOISE), - EC_WORD_BLAZE, - EC_MOVE2(BLAZE_KICK), - EC_POKEMON(BLAZIKEN), - EC_WORD_BLEND, - EC_POKEMON2(BLISSEY), - EC_MOVE2(BLIZZARD), - EC_MOVE2(BLOCK), - EC_WORD_BOARD, - EC_MOVE2(BODY_SLAM), - EC_MOVE2(BONE_CLUB), - EC_MOVE2(BONE_RUSH), - EC_MOVE2(BONEMERANG), - EC_WORD_BOOK, - EC_WORD_BORED, - EC_WORD_BORING, - EC_MOVE2(BOUNCE), - EC_WORD_BOY, - EC_WORD_BRAG, - EC_WORD_BREAK, - EC_POKEMON(BRELOOM), - EC_MOVE(BRICK_BREAK), - EC_WORD_BROTHER, - EC_MOVE(BUBBLE), - EC_MOVE2(BUBBLE_BEAM), - EC_WORD_BUG, - EC_POKEMON2(BULBASAUR), - EC_MOVE2(BULK_UP), - EC_MOVE2(BULLET_SEED), - EC_WORD_BUSY, - EC_WORD_BUT, - EC_POKEMON2(BUTTERFREE), - EC_WORD_BYE_BYE, -}; - -#define EC_WBL_OFFSET_C ARRAY_COUNT(gEasyChatWordsByLetter_B) + EC_WBL_OFFSET_B - -u16 gEasyChatWordsByLetter_C[] = { - EC_POKEMON(CACNEA), - EC_POKEMON(CACTURNE), - EC_MOVE2(CALM_MIND), - EC_WORD_CAME, - EC_WORD_CAMERA, - EC_POKEMON(CAMERUPT), - EC_MOVE2(CAMOUFLAGE), - EC_WORD_CAN, - EC_WORD_CAN_WIN, - EC_WORD_CAN_T, - EC_WORD_CAN_T_WIN, - EC_WORD_CANCEL, - EC_WORD_CAPABLE, - EC_WORD_CARDS, - EC_WORD_CARE, - EC_WORD_CARES, - EC_POKEMON(CARVANHA), - EC_POKEMON(CASCOON), - EC_WORD_CASE, - EC_POKEMON(CASTFORM), - EC_POKEMON2(CATERPIE), - EC_WORD_CAUSE, - EC_POKEMON2(CELEBI), - EC_WORD_CENTER, - EC_WORD_CHALLENGE, - EC_WORD_CHANGE, - EC_WORD_CHANNEL, - EC_POKEMON2(CHANSEY), - EC_MOVE(CHARGE), - EC_POKEMON2(CHARIZARD), - EC_MOVE(CHARM), - EC_POKEMON2(CHARMANDER), - EC_POKEMON2(CHARMELEON), - EC_WORD_CHAT, - EC_POKEMON2(CHIKORITA), - EC_WORD_CHILD_S_PLAY, - EC_WORD_CHILDREN, - EC_POKEMON(CHIMECHO), - EC_DUPLICATES(2), - EC_POKEMON(CHINCHOU), - EC_POKEMON2(CHINCHOU), - EC_WORD_CHLOROPHYLL, - EC_WORD_CHOICE, - EC_WORD_CHOOSE, - EC_WORD_CHORES, - EC_MOVE(CLAMP), - EC_POKEMON(CLAMPERL), - EC_WORD_CLASS, - EC_POKEMON(CLAYDOL), - EC_WORD_CLEAR_BODY, - EC_POKEMON2(CLEFABLE), - EC_POKEMON2(CLEFAIRY), - EC_POKEMON2(CLEFFA), - EC_WORD_CLOSE, - EC_WORD_CLOUD_NINE, - EC_POKEMON2(CLOYSTER), - EC_WORD_COLD, - EC_WORD_COLLECT, - EC_WORD_COLLECTION, - EC_WORD_COLOR, - EC_WORD_COLOR_CHANGE, - EC_POKEMON(COMBUSKEN), - EC_WORD_COME, - EC_WORD_COME_ON, - EC_WORD_COME_OVER, - EC_MOVE2(COMET_PUNCH), - EC_WORD_COMICS, - EC_WORD_COMMEMORATE, - EC_WORD_COMPLETE, - EC_WORD_COMPOUNDEYES, - EC_WORD_CONCEDE, - EC_MOVE(CONFUSE_RAY), - EC_WORD_CONFUSED, - EC_MOVE2(CONFUSION), - EC_WORD_CONGRATS, - EC_MOVE(CONSTRICT), - EC_WORD_CONTEST, - EC_WORD_CONVERSATION, - EC_MOVE2(CONVERSION), - EC_MOVE2(CONVERSION_2), - EC_WORD_COOL, - EC_WORD_COOLNESS, - EC_POKEMON(CORPHISH), - EC_WORD_CORRECT, - EC_DUPLICATES(2), - EC_POKEMON(CORSOLA), - EC_POKEMON2(CORSOLA), - EC_MOVE(COSMIC_POWER), - EC_MOVE2(COTTON_SPORE), - EC_WORD_COULD, - EC_WORD_COULDN_T, - EC_WORD_COUNT_ON, - EC_MOVE(COUNTER), - EC_WORD_COUPLE, - EC_MOVE2(COVET), - EC_MOVE(CRABHAMMER), - EC_POKEMON(CRADILY), - EC_POKEMON(CRAWDAUNT), - EC_WORD_CRIES, - EC_DUPLICATES(2), - EC_POKEMON(CROBAT), - EC_POKEMON2(CROBAT), - EC_POKEMON2(CROCONAW), - EC_MOVE(CROSS_CHOP), - EC_MOVE(CRUNCH), - EC_MOVE2(CRUSH_CLAW), - EC_WORD_CRY, - EC_POKEMON2(CUBONE), - EC_WORD_CURRENT, - EC_MOVE2(CURSE), - EC_MOVE(CUT), - EC_WORD_CUTE, - EC_WORD_CUTE_CHARM, - EC_WORD_CUTENESS, - EC_POKEMON2(CYNDAQUIL), -}; - -#define EC_WBL_OFFSET_D ARRAY_COUNT(gEasyChatWordsByLetter_C) + EC_WBL_OFFSET_C - -u16 gEasyChatWordsByLetter_D[] = { - EC_WORD_DAILY, - EC_WORD_DAMP, - EC_WORD_DANCE, - EC_WORD_DANGER, - EC_WORD_DARK, - EC_WORD_DARN, - EC_WORD_DATE, - EC_WORD_DAUGHTER, - EC_WORD_DAY, - EC_WORD_DAYS, - EC_WORD_DAYTIME, - EC_WORD_DECIDE, - EC_WORD_DECIDED, - EC_WORD_DEEP, - EC_WORD_DEFEATED, - EC_MOVE2(DEFENSE_CURL), - EC_POKEMON(DELCATTY), - EC_POKEMON2(DELIBIRD), - EC_POKEMON(DEOXYS), - EC_WORD_DEPT_STORE, - EC_WORD_DESIGN, - EC_WORD_DESTINY, - EC_MOVE2(DESTINY_BOND), - EC_WORD_DESTROYED, - EC_MOVE2(DETECT), - EC_POKEMON2(DEWGONG), - EC_WORD_DID, - EC_WORD_DIDN_T, - EC_WORD_DIET, - EC_WORD_DIFFERENT, - EC_MOVE(DIG), - EC_WORD_DIGITAL, - EC_POKEMON2(DIGLETT), - EC_MOVE(DISABLE), - EC_WORD_DISAPPEAR, - EC_WORD_DISAPPOINT, - EC_WORD_DISAPPOINTED, - EC_WORD_DISAPPOINTS, - EC_WORD_DISASTER, - EC_WORD_DISLIKE, - EC_WORD_DISLIKES, - EC_POKEMON2(DITTO), - EC_MOVE2(DIVE), - EC_MOVE2(DIZZY_PUNCH), - EC_WORD_DO, - EC_WORD_DOCILE, - EC_DUPLICATES(2), - EC_POKEMON(DODRIO), - EC_POKEMON2(DODRIO), - EC_DUPLICATES(2), - EC_POKEMON(DODUO), - EC_POKEMON2(DODUO), - EC_WORD_DOES, - EC_WORD_DOESN_T, - EC_WORD_DON_T, - EC_WORD_DONE, - EC_DUPLICATES(2), - EC_POKEMON(DONPHAN), - EC_POKEMON2(DONPHAN), - EC_MOVE2(DOUBLE_KICK), - EC_MOVE(DOUBLE_TEAM), - EC_MOVE(DOUBLE_EDGE), - EC_MOVE(DOUBLE_SLAP), - EC_WORD_DOWN, - EC_WORD_DOWNCAST, - EC_WORD_DRAGON, - EC_MOVE2(DRAGON_CLAW), - EC_MOVE2(DRAGON_DANCE), - EC_MOVE2(DRAGON_RAGE), - EC_POKEMON2(DRAGONAIR), - EC_MOVE2(DRAGON_BREATH), - EC_POKEMON2(DRAGONITE), - EC_POKEMON2(DRATINI), - EC_WORD_DREAM, - EC_MOVE2(DREAM_EATER), - EC_MOVE2(DRILL_PECK), - EC_WORD_DRINK, - EC_WORD_DRINKS, - EC_WORD_DRIZZLE, - EC_WORD_DROOLING, - EC_WORD_DROUGHT, - EC_POKEMON2(DROWZEE), - EC_WORD_DUDE, - EC_POKEMON2(DUGTRIO), - EC_POKEMON2(DUNSPARCE), - EC_POKEMON(DUSCLOPS), - EC_POKEMON(DUSKULL), - EC_POKEMON(DUSTOX), - EC_MOVE2(DYNAMIC_PUNCH), -}; - -#define EC_WBL_OFFSET_E ARRAY_COUNT(gEasyChatWordsByLetter_D) + EC_WBL_OFFSET_D - -u16 gEasyChatWordsByLetter_E[] = { - EC_WORD_EARLIER, - EC_WORD_EARLY_BIRD, - EC_MOVE(EARTHQUAKE), - EC_WORD_EASY, - EC_WORD_EAT, - EC_WORD_EATS, - EC_WORD_EEK, - EC_POKEMON2(EEVEE), - EC_WORD_EFFECT_SPORE, - EC_WORD_EGG, - EC_MOVE2(EGG_BOMB), - EC_WORD_EH_QUES, - EC_WORD_EHEHE, - EC_POKEMON2(EKANS), - EC_POKEMON2(ELECTABUZZ), - EC_WORD_ELECTRIC, - EC_POKEMON(ELECTRIKE), - EC_DUPLICATES(2), - EC_POKEMON(ELECTRODE), - EC_POKEMON2(ELECTRODE), - EC_POKEMON2(ELEKID), - EC_WORD_ELSE, - EC_MOVE2(EMBER), - EC_MOVE(ENCORE), - EC_WORD_ENCYCLOPEDIA, - EC_WORD_END, - EC_MOVE(ENDEAVOR), - EC_MOVE(ENDURE), - EC_WORD_ENJOY, - EC_WORD_ENJOYS, - EC_WORD_ENOUGH, - EC_POKEMON2(ENTEI), - EC_WORD_ENTERTAINING, - EC_MOVE2(ERUPTION), - EC_WORD_ESCAPE, - EC_POKEMON2(ESPEON), - EC_WORD_EVEN_SO, - EC_WORD_EVENT, - EC_WORD_EVENTS, - EC_WORD_EVER, - EC_WORD_EVERY, - EC_WORD_EVOLUTION, - EC_WORD_EVOLVE, - EC_WORD_EXCELLENT, - EC_WORD_EXCESS, - EC_WORD_EXCITE, - EC_WORD_EXCITING, - EC_WORD_EXCUSE, - EC_WORD_EXCUSE_ME, - EC_POKEMON2(EXEGGCUTE), - EC_POKEMON2(EXEGGUTOR), - EC_WORD_EXISTS, - EC_WORD_EXPENSIVE, - EC_MOVE2(EXPLOSION), - EC_POKEMON(EXPLOUD), - EC_MOVE(EXTRASENSORY), - EC_MOVE(EXTREME_SPEED), -}; - -#define EC_WBL_OFFSET_F ARRAY_COUNT(gEasyChatWordsByLetter_E) + EC_WBL_OFFSET_E - -u16 gEasyChatWordsByLetter_F[] = { - EC_WORD_FABULOUS, - EC_MOVE(FACADE), - EC_WORD_FAINT, - EC_MOVE2(FAINT_ATTACK), - EC_WORD_FAINTED, - EC_MOVE2(FAKE_OUT), - EC_MOVE(FAKE_TEARS), - EC_WORD_FALL, - EC_MOVE2(FALSE_SWIPE), - EC_WORD_FAMILY, - EC_WORD_FANTASTIC, - EC_WORD_FAR, - EC_POKEMON2(FARFETCHD), - EC_WORD_FASHION, - EC_WORD_FAST, - EC_WORD_FATHER, - EC_WORD_FEAR, - EC_POKEMON2(FEAROW), - EC_MOVE2(FEATHER_DANCE), - EC_POKEMON(FEEBAS), - EC_WORD_FEELING, - EC_POKEMON2(FERALIGATR), - EC_WORD_FESTIVAL, - EC_WORD_FEVER, - EC_WORD_FIERY, - EC_WORD_FIGHT, - EC_WORD_FIGHTING, - EC_WORD_FIGHTS, - EC_WORD_FINAL, - EC_WORD_FINALLY, - EC_WORD_FINISH, - EC_WORD_FIRE, - EC_MOVE2(FIRE_BLAST), - EC_MOVE2(FIRE_PUNCH), - EC_MOVE2(FIRE_SPIN), - EC_WORD_FISHING, - EC_MOVE(FISSURE), - EC_POKEMON2(FLAAFFY), - EC_MOVE(FLAIL), - EC_WORD_FLAME_BODY, - EC_MOVE(FLAME_WHEEL), - EC_MOVE(FLAMETHROWER), - EC_POKEMON2(FLAREON), - EC_MOVE2(FLASH), - EC_WORD_FLASH_FIRE, - EC_WORD_FLATTEN, - EC_MOVE(FLATTER), - EC_WORD_FLOWERS, - EC_MOVE(FLY), - EC_POKEMON(FLYGON), - EC_WORD_FLYING, - EC_MOVE(FOCUS_ENERGY), - EC_MOVE(FOCUS_PUNCH), - EC_WORD_FOE, - EC_MOVE(FOLLOW_ME), - EC_WORD_FOR, - EC_WORD_FOR_NOW, - EC_WORD_FORECAST, - EC_MOVE2(FORESIGHT), - EC_WORD_FOREVER, - EC_WORD_FORGET, - EC_WORD_FORGETS, - EC_WORD_FORGIVE, - EC_POKEMON2(FORRETRESS), - EC_WORD_FRIDAY, - EC_WORD_FRIEND, - EC_WORD_FROM, - EC_WORD_FRONT, - EC_MOVE2(FRUSTRATION), - EC_WORD_FUFUFU, - EC_WORD_FULL, - EC_WORD_FUNNY, - EC_POKEMON2(FURRET), - EC_MOVE2(FURY_ATTACK), - EC_MOVE2(FURY_CUTTER), - EC_MOVE2(FURY_SWIPES), - EC_MOVE2(FUTURE_SIGHT), -}; - -#define EC_WBL_OFFSET_G ARRAY_COUNT(gEasyChatWordsByLetter_F) + EC_WBL_OFFSET_F - -u16 gEasyChatWordsByLetter_G[] = { - EC_WORD_GAME, - EC_POKEMON(GARDEVOIR), - EC_POKEMON2(GASTLY), - EC_POKEMON2(GENGAR), - EC_WORD_GENIUS, - EC_DUPLICATES(2), - EC_POKEMON(GEODUDE), - EC_POKEMON2(GEODUDE), - EC_WORD_GET, - EC_WORD_GETS, - EC_WORD_GHOST, - EC_WORD_GIDDY, - EC_MOVE(GIGA_DRAIN), - EC_WORD_GIGGLE, - EC_WORD_GIMME, - EC_DUPLICATES(2), - EC_POKEMON(GIRAFARIG), - EC_POKEMON2(GIRAFARIG), - EC_WORD_GIRL, - EC_WORD_GIVE, - EC_WORD_GIVE_ME, - EC_WORD_GIVE_UP, - EC_WORD_GIVES, - EC_POKEMON(GLALIE), - EC_MOVE2(GLARE), - EC_POKEMON2(GLIGAR), - EC_DUPLICATES(2), - EC_POKEMON(GLOOM), - EC_POKEMON2(GLOOM), - EC_WORD_GO, - EC_WORD_GO_AHEAD, - EC_WORD_GO_EASY, - EC_WORD_GO_HOME, - EC_WORD_GOES, - EC_WORD_GOING, - EC_DUPLICATES(2), - EC_POKEMON(GOLBAT), - EC_POKEMON2(GOLBAT), - EC_DUPLICATES(2), - EC_POKEMON(GOLDEEN), - EC_POKEMON2(GOLDEEN), - EC_DUPLICATES(2), - EC_POKEMON(GOLDUCK), - EC_POKEMON2(GOLDUCK), - EC_DUPLICATES(2), - EC_POKEMON(GOLEM), - EC_POKEMON2(GOLEM), - EC_WORD_GOOD, - EC_WORD_GOOD_BYE, - EC_POKEMON(GOREBYSS), - EC_WORD_GOT, - EC_WORD_GOTCHA, - EC_WORD_GOURMET, - EC_WORD_GRAAAH, - EC_POKEMON2(GRANBULL), - EC_WORD_GRANDFATHER, - EC_WORD_GRANDMOTHER, - EC_WORD_GRASS, - EC_MOVE(GRASS_WHISTLE), - EC_DUPLICATES(2), - EC_POKEMON(GRAVELER), - EC_POKEMON2(GRAVELER), - EC_WORD_GREAT, - EC_DUPLICATES(2), - EC_POKEMON(GRIMER), - EC_POKEMON2(GRIMER), - EC_POKEMON(GROUDON), - EC_WORD_GROUND, - EC_WORD_GROUP, - EC_POKEMON(GROVYLE), - EC_MOVE2(GROWL), - EC_POKEMON2(GROWLITHE), - EC_MOVE(GROWTH), - EC_MOVE(GRUDGE), - EC_POKEMON(GRUMPIG), - EC_WORD_GUARD, - EC_MOVE2(GUILLOTINE), - EC_POKEMON(GULPIN), - EC_MOVE(GUST), - EC_WORD_GUTS, - EC_WORD_GUTSY, - EC_WORD_GWAH, - EC_WORD_GWAHAHAHA, - EC_DUPLICATES(2), - EC_POKEMON(GYARADOS), - EC_POKEMON2(GYARADOS), -}; - -#define EC_WBL_OFFSET_H ARRAY_COUNT(gEasyChatWordsByLetter_G) + EC_WBL_OFFSET_G - -u16 gEasyChatWordsByLetter_H[] = { - EC_WORD_HABIT, - EC_WORD_HAH, - EC_WORD_HAHAHA, - EC_MOVE(HAIL), - EC_WORD_HALL_OF_FAME, - EC_WORD_HAPPENING, - EC_WORD_HAPPILY, - EC_WORD_HAPPINESS, - EC_WORD_HAPPY, - EC_WORD_HARD, - EC_MOVE(HARDEN), - EC_POKEMON(HARIYAMA), - EC_WORD_HAS, - EC_WORD_HASSLE, - EC_POKEMON2(HAUNTER), - EC_WORD_HAVE, - EC_WORD_HAVEN_T, - EC_MOVE(HAZE), - EC_WORD_HE, - EC_WORD_HE_S, - EC_MOVE(HEADBUTT), - EC_MOVE(HEAL_BELL), - EC_WORD_HEALTHY, - EC_WORD_HEAR, - EC_WORD_HEARING, - EC_WORD_HEARS, - EC_WORD_HEART, - EC_MOVE2(HEAT_WAVE), - EC_WORD_HEH, - EC_WORD_HEHE, - EC_WORD_HEHEHE, - EC_WORD_HELLO, - EC_MOVE2(HELPING_HAND), - EC_WORD_HER, - EC_WORD_HERS, - EC_DUPLICATES(2), - EC_POKEMON(HERACROSS), - EC_POKEMON2(HERACROSS), - EC_WORD_HERE, - EC_WORD_HERE_GOES, - EC_WORD_HERE_I_COME, - EC_WORD_HERE_IT_IS, - EC_WORD_HERO, - EC_WORD_HEROINE, - EC_WORD_HEY, - EC_WORD_HEY_THERE, - EC_WORD_HEY_QUES, - EC_WORD_HI, - EC_MOVE2(HI_JUMP_KICK), - EC_WORD_HIDDEN, - EC_MOVE2(HIDDEN_POWER), - EC_WORD_HIGH, - EC_WORD_HIGHS, - EC_WORD_HIM, - EC_WORD_HIP_AND, - EC_WORD_HIS, - EC_WORD_HIT, - EC_POKEMON2(HITMONCHAN), - EC_POKEMON2(HITMONLEE), - EC_POKEMON2(HITMONTOP), - EC_WORD_HIYAH, - EC_WORD_HMM, - EC_POKEMON2(HO_OH), - EC_WORD_HOBBY, - EC_WORD_HOHOHO, - EC_WORD_HOLIDAY, - EC_WORD_HOME, - EC_WORD_HOO_HAH, - EC_POKEMON2(HOOTHOOT), - EC_WORD_HOPELESS, - EC_POKEMON2(HOPPIP), - EC_MOVE2(HORN_ATTACK), - EC_MOVE2(HORN_DRILL), - EC_DUPLICATES(2), - EC_POKEMON(HORSEA), - EC_POKEMON2(HORSEA), - EC_WORD_HOT, - EC_POKEMON2(HOUNDOOM), - EC_POKEMON2(HOUNDOUR), - EC_WORD_HOW, - EC_WORD_HOW_DO, - EC_WORD_HOWEVER, - EC_MOVE2(HOWL), - EC_WORD_HUGE_POWER, - EC_WORD_HUH_QUES, - EC_WORD_HUMPH, - EC_WORD_HUNGRY, - EC_POKEMON(HUNTAIL), - EC_WORD_HURRIED, - EC_WORD_HUSTLE, - EC_MOVE2(HYDRO_PUMP), - EC_WORD_HYPER, - EC_MOVE2(HYPER_BEAM), - EC_WORD_HYPER_CUTTER, - EC_MOVE2(HYPER_FANG), - EC_MOVE2(HYPER_VOICE), - EC_POKEMON2(HYPNO), - EC_MOVE(HYPNOSIS), -}; - -#define EC_WBL_OFFSET_I ARRAY_COUNT(gEasyChatWordsByLetter_H) + EC_WBL_OFFSET_H - -u16 gEasyChatWordsByLetter_I[] = { - EC_WORD_I, - EC_WORD_I_AM, - EC_WORD_I_CHOOSE_YOU, - EC_WORD_I_WAS, - EC_WORD_I_VE, - EC_WORD_I_VE_ARRIVED, - EC_WORD_ICE, - EC_MOVE(ICE_BALL), - EC_MOVE2(ICE_BEAM), - EC_MOVE2(ICE_PUNCH), - EC_MOVE(ICY_WIND), - EC_WORD_IDOL, - EC_WORD_IF, - EC_WORD_IF_I_LOSE, - EC_WORD_IF_I_WIN, - EC_DUPLICATES(2), - EC_POKEMON(IGGLYBUFF), - EC_POKEMON2(IGGLYBUFF), - EC_WORD_IGNORANT, - EC_WORD_ILLUMINATE, - EC_POKEMON(ILLUMISE), - EC_WORD_IMMUNITY, - EC_WORD_IMPORTANT, - EC_WORD_IMPOSSIBLE, - EC_MOVE2(IMPRISON), - EC_WORD_IN, - EC_WORD_INCREASING, - EC_WORD_INCREDIBLE, - EC_WORD_INFORMATION, - EC_MOVE2(INGRAIN), - EC_WORD_INNER_FOCUS, - EC_WORD_INSIDE, - EC_WORD_INSOMNIA, - EC_WORD_INSTEAD, - EC_WORD_INTIMIDATE, - EC_WORD_INVINCIBLE, - EC_MOVE2(IRON_DEFENSE), - EC_MOVE(IRON_TAIL), - EC_WORD_IS, - EC_WORD_IS_IT_QUES, - EC_WORD_ISN_T, - EC_WORD_ISN_T_IT_QUES, - EC_WORD_IT, - EC_WORD_IT_S, - EC_WORD_ITEM, - EC_POKEMON2(IVYSAUR), -}; - -#define EC_WBL_OFFSET_J ARRAY_COUNT(gEasyChatWordsByLetter_I) + EC_WBL_OFFSET_I - -u16 gEasyChatWordsByLetter_J[] = { - EC_DUPLICATES(2), - EC_POKEMON(JIGGLYPUFF), - EC_POKEMON2(JIGGLYPUFF), - EC_POKEMON(JIRACHI), - EC_WORD_JOKING, - EC_POKEMON2(JOLTEON), - EC_WORD_JOY, - EC_WORD_JUDGE, - EC_MOVE2(JUMP_KICK), - EC_POKEMON2(JUMPLUFF), - EC_WORD_JUST, - EC_POKEMON2(JYNX), -}; - -#define EC_WBL_OFFSET_K ARRAY_COUNT(gEasyChatWordsByLetter_J) + EC_WBL_OFFSET_J - -u16 gEasyChatWordsByLetter_K[] = { - EC_POKEMON2(KABUTO), - EC_POKEMON2(KABUTOPS), - EC_DUPLICATES(2), - EC_POKEMON(KADABRA), - EC_POKEMON2(KADABRA), - EC_POKEMON2(KAKUNA), - EC_POKEMON2(KANGASKHAN), - EC_MOVE(KARATE_CHOP), - EC_POKEMON(KECLEON), - EC_WORD_KEEN_EYE, - EC_WORD_KID, - EC_WORD_KIDDING, - EC_WORD_KIND, - EC_WORD_KINDERGARTEN, - EC_MOVE(KINESIS), - EC_DUPLICATES(2), - EC_POKEMON(KINGDRA), - EC_POKEMON2(KINGDRA), - EC_POKEMON2(KINGLER), - EC_POKEMON(KIRLIA), - EC_MOVE2(KNOCK_OFF), - EC_WORD_KNOCKOUT, - EC_WORD_KNOW, - EC_WORD_KNOWS, - EC_DUPLICATES(2), - EC_POKEMON(KOFFING), - EC_POKEMON2(KOFFING), - EC_POKEMON2(KRABBY), - EC_WORD_KTHX_BYE, - EC_POKEMON(KYOGRE), -}; - -#define EC_WBL_OFFSET_L ARRAY_COUNT(gEasyChatWordsByLetter_K) + EC_WBL_OFFSET_K - -u16 gEasyChatWordsByLetter_L[] = { - EC_WORD_LACKING, - EC_WORD_LACKS, - EC_WORD_LADY, - EC_POKEMON(LAIRON), - EC_WORD_LALALA, - EC_DUPLICATES(2), - EC_POKEMON(LANTURN), - EC_POKEMON2(LANTURN), - EC_POKEMON2(LAPRAS), - EC_POKEMON2(LARVITAR), - EC_WORD_LAST, - EC_WORD_LATE, - EC_WORD_LATER, - EC_POKEMON(LATIAS), - EC_POKEMON(LATIOS), - EC_WORD_LAVISH, - EC_WORD_LAY, - EC_WORD_LEADER, - EC_WORD_LEADERS, - EC_MOVE2(LEAF_BLADE), - EC_WORD_LEARN, - EC_POKEMON2(LEDIAN), - EC_POKEMON2(LEDYBA), - EC_MOVE(LEECH_LIFE), - EC_MOVE2(LEECH_SEED), - EC_MOVE2(LEER), - EC_WORD_LEFT, - EC_WORD_LEGEND, - EC_WORD_LESS, - EC_WORD_LESSONS, - EC_WORD_LET_ME_WIN, - EC_WORD_LET_S, - EC_WORD_LETTER, - EC_WORD_LEVEL, - EC_WORD_LEVITATE, - EC_MOVE(LICK), - EC_POKEMON2(LICKITUNG), - EC_WORD_LIE, - EC_WORD_LIFE, - EC_MOVE2(LIGHT_SCREEN), - EC_WORD_LIGHTNINGROD, - EC_WORD_LIKE, - EC_WORD_LIKELY_TO, - EC_WORD_LIKES, - EC_POKEMON(LILEEP), - EC_WORD_LIMBER, - EC_WORD_LINK, - EC_POKEMON(LINOONE), - EC_WORD_LIQUID_OOZE, - EC_WORD_LISTEN, - EC_WORD_LISTENING, - EC_WORD_LISTENS, - EC_WORD_LIVING, - EC_MOVE2(LOCK_ON), - EC_WORD_LOCOMOTIVE, - EC_WORD_LOL, - EC_WORD_LOLLING, - EC_POKEMON(LOMBRE), - EC_WORD_LONESOME, - EC_WORD_LOOK, - EC_WORD_LOOKS, - EC_WORD_LOSE, - EC_WORD_LOSER, - EC_WORD_LOSING, - EC_WORD_LOSS, - EC_WORD_LOST, - EC_POKEMON(LOTAD), - EC_POKEMON(LOUDRED), - EC_WORD_LOUSY, - EC_MOVE(LOVELY_KISS), - EC_WORD_LOVEY_DOVEY, - EC_WORD_LOW, - EC_MOVE(LOW_KICK), - EC_WORD_LOWS, - EC_POKEMON(LUDICOLO), - EC_POKEMON2(LUGIA), - EC_WORD_LUKEWARM, - EC_POKEMON(LUNATONE), - EC_MOVE2(LUSTER_PURGE), - EC_POKEMON(LUVDISC), -}; - -#define EC_WBL_OFFSET_M ARRAY_COUNT(gEasyChatWordsByLetter_L) + EC_WBL_OFFSET_L - -u16 gEasyChatWordsByLetter_M[] = { - EC_MOVE2(MACH_PUNCH), - EC_DUPLICATES(2), - EC_POKEMON(MACHAMP), - EC_POKEMON2(MACHAMP), - EC_WORD_MACHINE, - EC_DUPLICATES(2), - EC_POKEMON(MACHOKE), - EC_POKEMON2(MACHOKE), - EC_DUPLICATES(2), - EC_POKEMON(MACHOP), - EC_POKEMON2(MACHOP), - EC_WORD_MAGAZINE, - EC_POKEMON2(MAGBY), - EC_DUPLICATES(2), - EC_POKEMON(MAGCARGO), - EC_POKEMON2(MAGCARGO), - EC_MOVE2(MAGIC_COAT), - EC_MOVE2(MAGICAL_LEAF), - EC_DUPLICATES(2), - EC_POKEMON(MAGIKARP), - EC_POKEMON2(MAGIKARP), - EC_WORD_MAGMA_ARMOR, - EC_POKEMON2(MAGMAR), - EC_DUPLICATES(2), - EC_POKEMON(MAGNEMITE), - EC_POKEMON2(MAGNEMITE), - EC_WORD_MAGNET_PULL, - EC_DUPLICATES(2), - EC_POKEMON(MAGNETON), - EC_POKEMON2(MAGNETON), - EC_MOVE2(MAGNITUDE), - EC_WORD_MAIL, - EC_WORD_MAKE, - EC_WORD_MAKING, - EC_POKEMON(MAKUHITA), - EC_WORD_MAN, - EC_POKEMON(MANECTRIC), - EC_POKEMON2(MANKEY), - EC_POKEMON2(MANTINE), - EC_POKEMON2(MAREEP), - EC_DUPLICATES(2), - EC_POKEMON(MARILL), - EC_POKEMON2(MARILL), - EC_POKEMON2(MAROWAK), - EC_POKEMON(MARSHTOMP), - EC_WORD_MARVEL_SCALE, - EC_POKEMON(MASQUERAIN), - EC_WORD_MASTER, - EC_WORD_MATCH, - EC_WORD_MATCH_UP, - EC_POKEMON(MAWILE), - EC_WORD_MAYBE, - EC_WORD_MC, - EC_WORD_ME, - EC_WORD_MEAN, - EC_MOVE(MEAN_LOOK), - EC_POKEMON(MEDICHAM), - EC_MOVE2(MEDITATE), - EC_POKEMON(MEDITITE), - EC_WORD_MEET, - EC_WORD_MEET_YOU, - EC_WORD_MEETS, - EC_WORD_MEGA, - EC_MOVE2(MEGA_DRAIN), - EC_MOVE2(MEGA_KICK), - EC_MOVE2(MEGA_PUNCH), - EC_MOVE2(MEGAHORN), - EC_POKEMON2(MEGANIUM), - EC_MOVE(MEMENTO), - EC_POKEMON2(MEOWTH), - EC_WORD_MESSAGE, - EC_POKEMON(METAGROSS), - EC_MOVE2(METAL_CLAW), - EC_MOVE(METAL_SOUND), - EC_POKEMON(METANG), - EC_POKEMON2(METAPOD), - EC_MOVE(METEOR_MASH), - EC_MOVE2(METRONOME), - EC_POKEMON2(MEW), - EC_POKEMON2(MEWTWO), - EC_POKEMON(MIGHTYENA), - EC_MOVE2(MILK_DRINK), - EC_POKEMON(MILOTIC), - EC_POKEMON2(MILTANK), - EC_MOVE2(MIMIC), - EC_MOVE(MIND_READER), - EC_MOVE2(MINIMIZE), - EC_POKEMON(MINUN), - EC_WORD_MINUS, - EC_MOVE2(MIRROR_COAT), - EC_MOVE(MIRROR_MOVE), - EC_POKEMON2(MISDREAVUS), - EC_WORD_MISHEARD, - EC_WORD_MISS, - EC_MOVE(MIST), - EC_MOVE2(MIST_BALL), - EC_WORD_MISTAKE, - EC_WORD_MMM, - EC_WORD_MODE, - EC_WORD_MODERN, - EC_POKEMON2(MOLTRES), - EC_WORD_MOMENTUM, - EC_WORD_MONDAY, - EC_WORD_MONEY, - EC_WORD_MONTH, - EC_WORD_MOOD, - EC_MOVE2(MOONLIGHT), - EC_WORD_MORE, - EC_WORD_MORNING, - EC_MOVE(MORNING_SUN), - EC_WORD_MOTHER, - EC_WORD_MOVE, - EC_WORD_MOVIE, - EC_WORD_MR, - EC_POKEMON2(MR_MIME), - EC_WORD_MRS, - EC_WORD_MUCH, - EC_WORD_MUCH_OBLIGED, - EC_MOVE2(MUD_SHOT), - EC_MOVE2(MUD_SPORT), - EC_MOVE2(MUD_SLAP), - EC_MOVE2(MUDDY_WATER), - EC_POKEMON(MUDKIP), - EC_WORD_MUFUFU, - EC_DUPLICATES(2), - EC_POKEMON(MUK), - EC_POKEMON2(MUK), - EC_POKEMON2(MURKROW), - EC_WORD_MUSIC, - EC_WORD_MUST_BE, - EC_WORD_MY, - EC_WORD_MYSELF, - EC_WORD_MYSTERY, -}; - -#define EC_WBL_OFFSET_N ARRAY_COUNT(gEasyChatWordsByLetter_M) + EC_WBL_OFFSET_M - -u16 gEasyChatWordsByLetter_N[] = { - EC_WORD_NAME, - EC_WORD_NAP, - EC_DUPLICATES(2), - EC_POKEMON(NATU), - EC_POKEMON2(NATU), - EC_WORD_NATURAL, - EC_WORD_NATURAL_CURE, - EC_WORD_NATURALLY, - EC_WORD_NATURE, - EC_MOVE(NATURE_POWER), - EC_WORD_NEAR, - EC_WORD_NEARLY, - EC_WORD_NEED, - EC_MOVE2(NEEDLE_ARM), - EC_WORD_NEGATIVE, - EC_WORD_NEVER, - EC_WORD_NEW, - EC_WORD_NEWS, - EC_WORD_NEXT, - EC_WORD_NICE, - EC_POKEMON2(NIDOKING), - EC_POKEMON2(NIDOQUEEN), - EC_POKEMON2(NIDORAN_F), - EC_POKEMON2(NIDORAN_M), - EC_POKEMON2(NIDORINA), - EC_POKEMON2(NIDORINO), - EC_WORD_NIGHT, - EC_MOVE2(NIGHT_SHADE), - EC_MOVE(NIGHTMARE), - EC_WORD_NIGHTTIME, - EC_POKEMON(NINCADA), - EC_DUPLICATES(2), - EC_POKEMON(NINETALES), - EC_POKEMON2(NINETALES), - EC_POKEMON(NINJASK), - EC_WORD_NITWIT, - EC_WORD_NO, - EC_WORD_NO_MATCH, - EC_WORD_NO_1, - EC_POKEMON2(NOCTOWL), - EC_WORD_NOISY, - EC_WORD_NON_STOP, - EC_WORD_NONE, - EC_WORD_NOPE, - EC_WORD_NORMAL, - EC_POKEMON(NOSEPASS), - EC_WORD_NOT, - EC_WORD_NOT_VERY, - EC_WORD_NOTHING, - EC_WORD_NOW, - EC_POKEMON(NUMEL), - EC_POKEMON(NUZLEAF), -}; - -#define EC_WBL_OFFSET_O ARRAY_COUNT(gEasyChatWordsByLetter_N) + EC_WBL_OFFSET_N - -u16 gEasyChatWordsByLetter_O[] = { - EC_WORD_OBLIVIOUS, - EC_MOVE(OCTAZOOKA), - EC_POKEMON2(OCTILLERY), - EC_DUPLICATES(2), - EC_POKEMON(ODDISH), - EC_POKEMON2(ODDISH), - EC_MOVE(ODOR_SLEUTH), - EC_WORD_OF, - EC_WORD_OFF, - EC_WORD_OFFENSIVE, - EC_WORD_OH, - EC_WORD_OH_DEAR, - EC_WORD_OH_YEAH, - EC_WORD_OH_KAY, - EC_WORD_OH_QUES, - EC_WORD_OI, - EC_WORD_OI_OI_OI, - EC_WORD_OK_QUES, - EC_WORD_OKAY, - EC_WORD_OLD, - EC_WORD_OLDEN, - EC_POKEMON2(OMANYTE), - EC_POKEMON2(OMASTAR), - EC_WORD_ON, - EC_WORD_ONCE, - EC_POKEMON2(ONIX), - EC_WORD_ONLY, - EC_WORD_OOPS, - EC_WORD_OPPONENT, - EC_WORD_OPPOSITE, - EC_WORD_OR, - EC_WORD_OTHER, - EC_WORD_OUR, - EC_WORD_OUT, - EC_MOVE(OUTRAGE), - EC_WORD_OUTSIDE, - EC_WORD_OVER, - EC_WORD_OVERDO, - EC_WORD_OVERGROW, - EC_MOVE(OVERHEAT), - EC_WORD_OVERWHELMING, - EC_WORD_OWN, - EC_WORD_OWN_TEMPO, -}; - -#define EC_WBL_OFFSET_P ARRAY_COUNT(gEasyChatWordsByLetter_O) + EC_WBL_OFFSET_O - -u16 gEasyChatWordsByLetter_P[] = { - EC_MOVE(PAIN_SPLIT), - EC_POKEMON2(PARAS), - EC_POKEMON2(PARASECT), - EC_WORD_PARDON, - EC_WORD_PARENT, - EC_WORD_PARTNER, - EC_WORD_PARTY, - EC_WORD_PATTERN, - EC_MOVE2(PAY_DAY), - EC_WORD_PC, - EC_MOVE2(PECK), - EC_POKEMON(PELIPPER), - EC_WORD_PERFECT, - EC_WORD_PERFECTION, - EC_MOVE2(PERISH_SONG), - EC_POKEMON2(PERSIAN), - EC_WORD_PERSON, - EC_MOVE2(PETAL_DANCE), - EC_DUPLICATES(2), - EC_POKEMON(PHANPY), - EC_POKEMON2(PHANPY), - EC_WORD_PHONE, - EC_DUPLICATES(2), - EC_POKEMON(PICHU), - EC_POKEMON2(PICHU), - EC_WORD_PICKUP, - EC_POKEMON2(PIDGEOT), - EC_POKEMON2(PIDGEOTTO), - EC_POKEMON2(PIDGEY), - EC_DUPLICATES(2), - EC_POKEMON(PIKACHU), - EC_POKEMON2(PIKACHU), - EC_POKEMON2(PILOSWINE), - EC_MOVE2(PIN_MISSILE), - EC_POKEMON2(PINECO), - EC_DUPLICATES(2), - EC_POKEMON(PINSIR), - EC_POKEMON2(PINSIR), - EC_WORD_PKRS, - EC_WORD_PLACE, - EC_WORD_PLANS, - EC_WORD_PLAY, - EC_WORD_PLAYED, - EC_WORD_PLAYS, - EC_WORD_PLEASE, - EC_WORD_PLUS, - EC_WORD_PLUSH_DOLL, - EC_POKEMON(PLUSLE), - EC_WORD_POINTS, - EC_WORD_POISON, - EC_MOVE2(POISON_FANG), - EC_MOVE2(POISON_GAS), - EC_WORD_POISON_POINT, - EC_MOVE2(POISON_STING), - EC_MOVE2(POISON_TAIL), - EC_MOVE2(POISON_POWDER), - EC_WORD_POKEBLOCK, - EC_WORD_POKEDEX, - EC_WORD_POKEMON, - EC_WORD_POKENAV, - EC_POKEMON2(POLITOED), - EC_POKEMON2(POLIWAG), - EC_POKEMON2(POLIWHIRL), - EC_POKEMON2(POLIWRATH), - EC_POKEMON2(PONYTA), - EC_POKEMON(POOCHYENA), - EC_WORD_POPULAR, - EC_POKEMON2(PORYGON), - EC_POKEMON2(PORYGON2), - EC_MOVE2(POUND), - EC_MOVE(POWDER_SNOW), - EC_WORD_POWER, - EC_WORD_PRAISE, - EC_WORD_PREPOSTEROUS, - EC_MOVE2(PRESENT), - EC_WORD_PRESSURE, - EC_WORD_PRETEND, - EC_WORD_PRETTY, - EC_POKEMON2(PRIMEAPE), - EC_WORD_PROBABLY, - EC_WORD_PROMISE, - EC_MOVE2(PROTECT), - EC_MOVE(PSYBEAM), - EC_MOVE(PSYCH_UP), - EC_DUPLICATES(2), - EC_WORD_PSYCHIC, - EC_MOVE(PSYCHIC), - EC_DUPLICATES(2), - EC_POKEMON(PSYDUCK), - EC_POKEMON2(PSYDUCK), - EC_MOVE(PSYWAVE), - EC_POKEMON2(PUPITAR), - EC_WORD_PURE_POWER, - EC_MOVE(PURSUIT), - EC_WORD_PUSHOVER, -}; - -#define EC_WBL_OFFSET_Q ARRAY_COUNT(gEasyChatWordsByLetter_P) + EC_WBL_OFFSET_P - -u16 gEasyChatWordsByLetter_Q[] = { - EC_POKEMON2(QUAGSIRE), - EC_WORD_QUESTION, - EC_MOVE2(QUICK_ATTACK), - EC_POKEMON2(QUILAVA), - EC_WORD_QUITE, - EC_POKEMON2(QWILFISH), -}; - -#define EC_WBL_OFFSET_R ARRAY_COUNT(gEasyChatWordsByLetter_Q) + EC_WBL_OFFSET_Q - -u16 gEasyChatWordsByLetter_R[] = { - EC_WORD_RADIO, - EC_MOVE(RAGE), - EC_DUPLICATES(2), - EC_POKEMON(RAICHU), - EC_POKEMON2(RAICHU), - EC_POKEMON2(RAIKOU), - EC_MOVE(RAIN_DANCE), - EC_WORD_RAIN_DISH, - EC_POKEMON(RALTS), - EC_WORD_RANK, - EC_MOVE(RAPID_SPIN), - EC_POKEMON2(RAPIDASH), - EC_WORD_RARE, - EC_WORD_RATHER, - EC_POKEMON2(RATICATE), - EC_POKEMON2(RATTATA), - EC_POKEMON(RAYQUAZA), - EC_MOVE2(RAZOR_LEAF), - EC_MOVE(RAZOR_WIND), - EC_WORD_READY, - EC_WORD_REALLY, - EC_WORD_REAR, - EC_WORD_RECEIVED, - EC_WORD_RECOMMEND, - EC_MOVE(RECOVER), - EC_MOVE2(RECYCLE), - EC_MOVE2(REFLECT), - EC_MOVE2(REFRESH), - EC_WORD_REFRESHING, - EC_WORD_REFUSE, - EC_POKEMON(REGICE), - EC_POKEMON(REGIROCK), - EC_POKEMON(REGISTEEL), - EC_WORD_REJECT, - EC_WORD_RELEASE, - EC_POKEMON(RELICANTH), - EC_POKEMON2(REMORAID), - EC_WORD_RENTAL, - EC_MOVE2(REST), - EC_WORD_RESUSCITATE, - EC_MOVE(RETURN), - EC_MOVE2(REVENGE), - EC_MOVE(REVERSAL), - EC_DUPLICATES(2), - EC_POKEMON(RHYDON), - EC_POKEMON2(RHYDON), - EC_DUPLICATES(2), - EC_POKEMON(RHYHORN), - EC_POKEMON2(RHYHORN), - EC_WORD_RIBBON, - EC_WORD_RICKETY, - EC_WORD_RIGHT, - EC_WORD_RIPPED, - EC_WORD_RIVAL, - EC_MOVE2(ROAR), - EC_WORD_ROCK, - EC_MOVE2(ROCK_BLAST), - EC_WORD_ROCK_HEAD, - EC_MOVE(ROCK_SLIDE), - EC_MOVE(ROCK_SMASH), - EC_MOVE(ROCK_THROW), - EC_MOVE(ROCK_TOMB), - EC_WORD_ROCK_SOLID, - EC_MOVE2(ROLE_PLAY), - EC_MOVE2(ROLLING_KICK), - EC_MOVE(ROLLOUT), - EC_WORD_ROMANTIC, - EC_POKEMON(ROSELIA), - EC_WORD_ROUGH_SKIN, - EC_WORD_RPG, - EC_WORD_RUBY, - EC_WORD_RULE, - EC_WORD_RUN, - EC_WORD_RUN_AWAY, - EC_WORD_RUNS, -}; - -#define EC_WBL_OFFSET_S ARRAY_COUNT(gEasyChatWordsByLetter_R) + EC_WBL_OFFSET_R - -u16 gEasyChatWordsByLetter_S[] = { - EC_POKEMON(SABLEYE), - EC_MOVE(SACRED_FIRE), - EC_WORD_SAD, - EC_WORD_SADLY, - EC_MOVE(SAFEGUARD), - EC_WORD_SAID, - EC_POKEMON(SALAMENCE), - EC_WORD_SAND_STREAM, - EC_MOVE(SAND_TOMB), - EC_WORD_SAND_VEIL, - EC_MOVE(SAND_ATTACK), - EC_DUPLICATES(2), - EC_POKEMON(SANDSHREW), - EC_POKEMON2(SANDSHREW), - EC_DUPLICATES(2), - EC_POKEMON(SANDSLASH), - EC_POKEMON2(SANDSLASH), - EC_MOVE(SANDSTORM), - EC_WORD_SAPPHIRE, - EC_WORD_SATISFIED, - EC_WORD_SATURDAY, - EC_WORD_SAYS, - EC_WORD_SCARY, - EC_MOVE(SCARY_FACE), - EC_WORD_SCATTER, - EC_POKEMON(SCEPTILE), - EC_WORD_SCHOOL, - EC_POKEMON2(SCIZOR), - EC_MOVE2(SCRATCH), - EC_MOVE(SCREECH), - EC_POKEMON2(SCYTHER), - EC_DUPLICATES(2), - EC_POKEMON(SEADRA), - EC_POKEMON2(SEADRA), - EC_DUPLICATES(2), - EC_POKEMON(SEAKING), - EC_POKEMON2(SEAKING), - EC_POKEMON(SEALEO), - EC_WORD_SEARCH, - EC_WORD_SECRET, - EC_WORD_SECRET_BASE, - EC_MOVE2(SECRET_POWER), - EC_WORD_SEE, - EC_WORD_SEE_YA, - EC_POKEMON(SEEDOT), - EC_WORD_SEEK, - EC_POKEMON2(SEEL), - EC_WORD_SEEMS, - EC_WORD_SEES, - EC_MOVE2(SEISMIC_TOSS), - EC_MOVE(SELF_DESTRUCT), - EC_WORD_SENSE, - EC_POKEMON2(SENTRET), - EC_WORD_SERENE_GRACE, - EC_WORD_SERIOUS, - EC_WORD_SERIOUSLY, - EC_WORD_SERVICE, - EC_POKEMON(SEVIPER), - EC_MOVE(SHADOW_BALL), - EC_MOVE(SHADOW_PUNCH), - EC_WORD_SHADOW_TAG, - EC_WORD_SHADY, - EC_WORD_SHAKE, - EC_WORD_SHAKY, - EC_WORD_SHALLOW, - EC_POKEMON(SHARPEDO), - EC_MOVE(SHARPEN), - EC_WORD_SHE, - EC_WORD_SHE_IS, - EC_WORD_SHE_WAS, - EC_WORD_SHED_SKIN, - EC_POKEMON(SHEDINJA), - EC_MOVE(SHEER_COLD), - EC_POKEMON(SHELGON), - EC_WORD_SHELL_ARMOR, - EC_POKEMON2(SHELLDER), - EC_WORD_SHIELD_DUST, - EC_POKEMON(SHIFTRY), - EC_WORD_SHINE, - EC_MOVE2(SHOCK_WAVE), - EC_WORD_SHOCKED, - EC_WORD_SHOPPING, - EC_WORD_SHOULD, - EC_WORD_SHOW, - EC_WORD_SHREDDED, - EC_POKEMON(SHROOMISH), - EC_POKEMON2(SHUCKLE), - EC_POKEMON(SHUPPET), - EC_WORD_SIBLINGS, - EC_WORD_SIGH, - EC_MOVE(SIGNAL_BEAM), - EC_POKEMON(SILCOON), - EC_WORD_SILKY, - EC_MOVE(SILVER_WIND), - EC_WORD_SIMPLE, - EC_WORD_SINCE, - EC_MOVE(SING), - EC_WORD_SINK, - EC_WORD_SISTER, - EC_DUPLICATES(2), - EC_POKEMON(SKARMORY), - EC_POKEMON2(SKARMORY), - EC_MOVE(SKETCH), - EC_WORD_SKILL, - EC_MOVE(SKILL_SWAP), - EC_WORD_SKILLED, - EC_POKEMON2(SKIPLOOM), - EC_POKEMON(SKITTY), - EC_MOVE2(SKULL_BASH), - EC_MOVE(SKY_ATTACK), - EC_MOVE(SKY_UPPERCUT), - EC_MOVE2(SLACK_OFF), - EC_POKEMON(SLAKING), - EC_POKEMON(SLAKOTH), - EC_MOVE2(SLAM), - EC_MOVE(SLASH), - EC_WORD_SLEEP, - EC_MOVE2(SLEEP_POWDER), - EC_MOVE2(SLEEP_TALK), - EC_WORD_SLEPT, - EC_WORD_SLIDE, - EC_WORD_SLIMY, - EC_POKEMON2(SLOWBRO), - EC_POKEMON2(SLOWKING), - EC_POKEMON2(SLOWPOKE), - EC_MOVE2(SLUDGE), - EC_MOVE2(SLUDGE_BOMB), - EC_DUPLICATES(2), - EC_POKEMON(SLUGMA), - EC_POKEMON2(SLUGMA), - EC_WORD_SMACK, - EC_WORD_SMALL, - EC_WORD_SMART, - EC_WORD_SMARTNESS, - EC_POKEMON2(SMEARGLE), - EC_WORD_SMELL, - EC_WORD_SMELL_YA, - EC_MOVE(SMELLING_SALT), - EC_WORD_SMITE, - EC_MOVE(SMOG), - EC_MOVE(SMOKESCREEN), - EC_POKEMON2(SMOOCHUM), - EC_WORD_SMOOTH, - EC_MOVE2(SNATCH), - EC_POKEMON2(SNEASEL), - EC_MOVE(SNORE), - EC_POKEMON2(SNORLAX), - EC_WORD_SNORT, - EC_POKEMON(SNORUNT), - EC_POKEMON2(SNUBBULL), - EC_WORD_SO, - EC_MOVE2(SOFT_BOILED), - EC_WORD_SOFTWARE, - EC_MOVE(SOLAR_BEAM), - EC_POKEMON(SOLROCK), - EC_WORD_SOME, - EC_WORD_SOMEHOW, - EC_WORD_SOMEONE, - EC_WORD_SOMETHING, - EC_WORD_SOMETIME, - EC_WORD_SON, - EC_WORD_SONG, - EC_WORD_SONGS, - EC_MOVE(SONIC_BOOM), - EC_WORD_SOON, - EC_WORD_SORRY, - EC_WORD_SOUNDPROOF, - EC_WORD_SP_ABILITY, - EC_MOVE(SPARK), - EC_POKEMON2(SPEAROW), - EC_WORD_SPECTATOR, - EC_WORD_SPEED_BOOST, - EC_POKEMON(SPHEAL), - EC_MOVE(SPIDER_WEB), - EC_MOVE2(SPIKE_CANNON), - EC_MOVE2(SPIKES), - EC_POKEMON2(SPINARAK), - EC_POKEMON(SPINDA), - EC_WORD_SPIRALING, - EC_WORD_SPIRIT, - EC_MOVE2(SPIT_UP), - EC_MOVE(SPITE), - EC_MOVE2(SPLASH), - EC_POKEMON(SPOINK), - EC_MOVE(SPORE), - EC_WORD_SPORTS, - EC_WORD_SPRING, - EC_POKEMON2(SQUIRTLE), - EC_WORD_STAGE, - EC_POKEMON2(STANTLER), - EC_DUPLICATES(2), - EC_POKEMON(STARMIE), - EC_POKEMON2(STARMIE), - EC_WORD_START, - EC_DUPLICATES(2), - EC_POKEMON(STARYU), - EC_POKEMON2(STARYU), - EC_WORD_STATIC, - EC_WORD_STAY_AT_HOME, - EC_WORD_STEEL, - EC_MOVE2(STEEL_WING), - EC_POKEMON2(STEELIX), - EC_WORD_STENCH, - EC_WORD_STICKY_HOLD, - EC_MOVE2(STOCKPILE), - EC_MOVE2(STOMP), - EC_WORD_STOP, - EC_WORD_STORE, - EC_WORD_STORES, - EC_WORD_STORY, - EC_WORD_STRATEGY, - EC_MOVE(STRENGTH), - EC_MOVE(STRING_SHOT), - EC_WORD_STRONG, - EC_MOVE2(STRUGGLE), - EC_WORD_STUDY, - EC_MOVE(STUN_SPORE), - EC_WORD_STURDY, - EC_MOVE(SUBMISSION), - EC_MOVE2(SUBSTITUTE), - EC_WORD_SUCTION_CUPS, - EC_POKEMON2(SUDOWOODO), - EC_POKEMON2(SUICUNE), - EC_WORD_SUMMER, - EC_WORD_SUNDAY, - EC_POKEMON2(SUNFLORA), - EC_POKEMON2(SUNKERN), - EC_MOVE2(SUNNY_DAY), - EC_WORD_SUPER, - EC_MOVE(SUPER_FANG), - EC_MOVE2(SUPERPOWER), - EC_MOVE2(SUPERSONIC), - EC_MOVE2(SURF), - EC_WORD_SURPRISE, - EC_WORD_SURRENDER, - EC_POKEMON(SURSKIT), - EC_POKEMON(SWABLU), - EC_MOVE(SWAGGER), - EC_MOVE2(SWALLOW), - EC_POKEMON(SWALOT), - EC_POKEMON(SWAMPERT), - EC_WORD_SWARM, - EC_MOVE2(SWEET_KISS), - EC_MOVE(SWEET_SCENT), - EC_WORD_SWEETS, - EC_POKEMON(SWELLOW), - EC_MOVE(SWIFT), - EC_WORD_SWIFT_SWIM, - EC_POKEMON2(SWINUB), - EC_MOVE2(SWORDS_DANCE), - EC_WORD_SYNCHRONIZE, - EC_MOVE(SYNTHESIS), - EC_WORD_SYSTEM, -}; - -#define EC_WBL_OFFSET_T ARRAY_COUNT(gEasyChatWordsByLetter_S) + EC_WBL_OFFSET_S - -u16 gEasyChatWordsByLetter_T[] = { - EC_MOVE2(TACKLE), - EC_MOVE2(TAIL_GLOW), - EC_MOVE(TAIL_WHIP), - EC_POKEMON(TAILLOW), - EC_WORD_TAKE, - EC_MOVE2(TAKE_DOWN), - EC_WORD_TAKE_THAT, - EC_WORD_TALENT, - EC_WORD_TALK, - EC_WORD_TALKING, - EC_POKEMON2(TANGELA), - EC_WORD_TASTY, - EC_MOVE2(TAUNT), - EC_POKEMON2(TAUROS), - EC_WORD_TCH, - EC_WORD_TEACH, - EC_WORD_TEACHER, - EC_WORD_TEACHES, - EC_POKEMON2(TEDDIURSA), - EC_MOVE2(TEETER_DANCE), - EC_MOVE2(TELEPORT), - EC_WORD_TELEVISION, - EC_DUPLICATES(2), - EC_POKEMON(TENTACOOL), - EC_POKEMON2(TENTACOOL), - EC_DUPLICATES(2), - EC_POKEMON(TENTACRUEL), - EC_POKEMON2(TENTACRUEL), - EC_WORD_TERRIBLE, - EC_WORD_TEST, - EC_WORD_THAN, - EC_WORD_THANK_YOU, - EC_WORD_THANKS, - EC_WORD_THAT, - EC_WORD_THAT_WAS, - EC_WORD_THAT_S, - EC_WORD_THAT_S_IT_EXCL, - EC_WORD_THE, - EC_WORD_THEIR, - EC_WORD_THERE, - EC_WORD_THESE, - EC_WORD_THESE_WERE, - EC_WORD_THEY, - EC_WORD_THEY_WERE, - EC_WORD_THEY_RE, - EC_WORD_THEY_VE, - EC_WORD_THICK, - EC_WORD_THICK_FAT, - EC_MOVE2(THIEF), - EC_WORD_THIN, - EC_WORD_THING, - EC_WORD_THINGS, - EC_WORD_THINK, - EC_WORD_THINKS, - EC_WORD_THIRSTY, - EC_WORD_THIS, - EC_WORD_THIS_IS_IT_EXCL, - EC_WORD_THOSE, - EC_WORD_THOSE_ARE, - EC_WORD_THOSE_WERE, - EC_MOVE(THRASH), - EC_WORD_THROW, - EC_MOVE(THUNDER), - EC_MOVE2(THUNDER_WAVE), - EC_MOVE(THUNDERBOLT), - EC_MOVE(THUNDER_PUNCH), - EC_MOVE2(THUNDER_SHOCK), - EC_WORD_THURSDAY, - EC_MOVE(TICKLE), - EC_WORD_TICKLISH, - EC_WORD_TIGHT, - EC_WORD_TIME, - EC_WORD_TIMES, - EC_WORD_TIRED, - EC_WORD_TO, - EC_WORD_TO_HER, - EC_WORD_TO_ME, - EC_WORD_TO_THEM, - EC_WORD_TO_US, - EC_WORD_TO_WHOM, - EC_WORD_TODAY, - EC_POKEMON2(TOGEPI), - EC_WORD_TOGETHER, - EC_POKEMON2(TOGETIC), - EC_WORD_TOMORROW, - EC_WORD_TOO, - EC_WORD_TOO_LATE, - EC_WORD_TOO_STRONG, - EC_WORD_TOO_WEAK, - EC_WORD_TOP, - EC_POKEMON(TORCHIC), - EC_POKEMON(TORKOAL), - EC_MOVE(TORMENT), - EC_WORD_TORRENT, - EC_WORD_TOTALLY, - EC_POKEMON2(TOTODILE), - EC_WORD_TOUGH, - EC_WORD_TOUGHNESS, - EC_WORD_TOURNAMENT, - EC_MOVE2(TOXIC), - EC_WORD_TOYS, - EC_WORD_TRACE, - EC_WORD_TRADE, - EC_WORD_TRAIN, - EC_WORD_TRAINER, - EC_WORD_TRAINS, - EC_MOVE2(TRANSFORM), - EC_POKEMON(TRAPINCH), - EC_WORD_TRAVEL, - EC_WORD_TREASURE, - EC_POKEMON(TREECKO), - EC_WORD_TRENDY, - EC_MOVE2(TRI_ATTACK), - EC_MOVE2(TRICK), - EC_WORD_TRIES, - EC_MOVE2(TRIPLE_KICK), - EC_POKEMON(TROPIUS), - EC_WORD_TRUANT, - EC_WORD_TRULY, - EC_WORD_TRUMP_CARD, - EC_WORD_TRUST, - EC_WORD_TRY, - EC_WORD_TUESDAY, - EC_MOVE2(TWINEEDLE), - EC_WORD_TWIRLING, - EC_MOVE2(TWISTER), - EC_WORD_TYPE, - EC_POKEMON2(TYPHLOSION), - EC_POKEMON2(TYRANITAR), - EC_POKEMON2(TYROGUE), -}; - -#define EC_WBL_OFFSET_U ARRAY_COUNT(gEasyChatWordsByLetter_T) + EC_WBL_OFFSET_T - -u16 gEasyChatWordsByLetter_U[] = { - EC_WORD_UGLY, - EC_WORD_UH_HUH, - EC_WORD_UH_OH, - EC_WORD_UM, - EC_POKEMON2(UMBREON), - EC_WORD_UNAVOIDABLE, - EC_WORD_UNBELIEVABLE, - EC_WORD_UNCLE, - EC_WORD_UNDERSTAND, - EC_WORD_UNDERSTANDS, - EC_WORD_UNDERSTOOD, - EC_POKEMON2(UNOWN), - EC_WORD_UNTIL, - EC_WORD_UP, - EC_WORD_UPBEAT, - EC_MOVE(UPROAR), - EC_WORD_UPSIDE_DOWN, - EC_WORD_URGH, - EC_POKEMON2(URSARING), - EC_WORD_USE, - EC_WORD_USELESS, - EC_WORD_USES, - EC_WORD_USING, -}; - -#define EC_WBL_OFFSET_V ARRAY_COUNT(gEasyChatWordsByLetter_U) + EC_WBL_OFFSET_U - -u16 gEasyChatWordsByLetter_V[] = { - EC_WORD_VACATION, - EC_POKEMON2(VAPOREON), - EC_POKEMON2(VENOMOTH), - EC_POKEMON2(VENONAT), - EC_POKEMON2(VENUSAUR), - EC_WORD_VERSION, - EC_WORD_VERSUS, - EC_WORD_VERY, - EC_POKEMON(VIBRAVA), - EC_MOVE2(VICE_GRIP), - EC_WORD_VICTORY, - EC_POKEMON2(VICTREEBEL), - EC_WORD_VIEWING, - EC_POKEMON(VIGOROTH), - EC_DUPLICATES(2), - EC_POKEMON(VILEPLUME), - EC_POKEMON2(VILEPLUME), - EC_MOVE2(VINE_WHIP), - EC_WORD_VITAL_SPIRIT, - EC_MOVE(VITAL_THROW), - EC_POKEMON(VOLBEAT), - EC_WORD_VOLT_ABSORB, - EC_DUPLICATES(2), - EC_POKEMON(VOLTORB), - EC_POKEMON2(VOLTORB), - EC_WORD_VORACIOUS, - EC_DUPLICATES(2), - EC_POKEMON(VULPIX), - EC_POKEMON2(VULPIX), -}; - -#define EC_WBL_OFFSET_W ARRAY_COUNT(gEasyChatWordsByLetter_V) + EC_WBL_OFFSET_V - -u16 gEasyChatWordsByLetter_W[] = { - EC_WORD_WAAAH, - EC_WORD_WAHAHAHA, - EC_POKEMON(WAILMER), - EC_POKEMON(WAILORD), - EC_WORD_WAIT, - EC_WORD_WAKE_UP, - EC_WORD_WAKES_UP, - EC_WORD_WALK, - EC_WORD_WALKING, - EC_WORD_WALKS, - EC_POKEMON(WALREIN), - EC_WORD_WANDERING, - EC_WORD_WANNABE, - EC_WORD_WANT, - EC_WORD_WANTS, - EC_POKEMON2(WARTORTLE), - EC_WORD_WAS, - EC_WORD_WASN_T, - EC_WORD_WATER, - EC_WORD_WATER_ABSORB, - EC_MOVE2(WATER_GUN), - EC_MOVE2(WATER_PULSE), - EC_MOVE2(WATER_SPORT), - EC_MOVE(WATER_SPOUT), - EC_WORD_WATER_VEIL, - EC_MOVE2(WATERFALL), - EC_WORD_WAY, - EC_WORD_WE, - EC_WORD_WE_RE, - EC_WORD_WE_VE, - EC_WORD_WEAK, - EC_WORD_WEAKENED, - EC_MOVE(WEATHER_BALL), - EC_WORD_WEDNESDAY, - EC_POKEMON2(WEEDLE), - EC_WORD_WEEK, - EC_POKEMON2(WEEPINBELL), - EC_DUPLICATES(2), - EC_POKEMON(WEEZING), - EC_POKEMON2(WEEZING), - EC_WORD_WEIRD, - EC_WORD_WELCOME, - EC_WORD_WELL, - EC_WORD_WELL_THEN, - EC_WORD_WENT, - EC_WORD_WERE, - EC_WORD_WEREN_T, - EC_WORD_WHAT, - EC_WORD_WHAT_S_UP_QUES, - EC_WORD_WHEN, - EC_WORD_WHEN_I_WIN, - EC_WORD_WHERE, - EC_WORD_WHICH, - EC_WORD_WHILE, - EC_MOVE(WHIRLPOOL), - EC_MOVE2(WHIRLWIND), - EC_POKEMON(WHISCASH), - EC_POKEMON(WHISMUR), - EC_WORD_WHITE_SMOKE, - EC_WORD_WHO, - EC_WORD_WHO_IS, - EC_WORD_WHO_WAS, - EC_WORD_WHOAH, - EC_WORD_WHOM, - EC_WORD_WHOSE, - EC_WORD_WHY, - EC_DUPLICATES(2), - EC_POKEMON(WIGGLYTUFF), - EC_POKEMON2(WIGGLYTUFF), - EC_WORD_WILD, - EC_WORD_WILL, - EC_WORD_WILL_BE_HERE, - EC_MOVE(WILL_O_WISP), - EC_WORD_WIMPY, - EC_WORD_WIN, - EC_MOVE2(WING_ATTACK), - EC_POKEMON(WINGULL), - EC_WORD_WINNER, - EC_WORD_WINS, - EC_WORD_WINTER, - EC_MOVE2(WISH), - EC_WORD_WITH, - EC_MOVE(WITHDRAW), - EC_WORD_WITHOUT, - EC_WORD_WOBBLY, - EC_DUPLICATES(2), - EC_POKEMON(WOBBUFFET), - EC_POKEMON2(WOBBUFFET), - EC_WORD_WOMAN, - EC_WORD_WON, - EC_WORD_WON_T, - EC_WORD_WONDER, - EC_WORD_WONDER_GUARD, - EC_POKEMON2(WOOPER), - EC_WORD_WORD, - EC_WORD_WORK, - EC_WORD_WORKING, - EC_WORD_WORKS, - EC_WORD_WORLD, - EC_WORD_WORRY, - EC_WORD_WOULD, - EC_WORD_WOW, - EC_WORD_WOWEE, - EC_MOVE2(WRAP), - EC_WORD_WROOOAAR_EXCL, - EC_POKEMON(WURMPLE), - EC_POKEMON(WYNAUT), -}; - -#define EC_WBL_OFFSET_X ARRAY_COUNT(gEasyChatWordsByLetter_W) + EC_WBL_OFFSET_W - -u16 gEasyChatWordsByLetter_X[] = { - EC_DUPLICATES(2), - EC_POKEMON(XATU), - EC_POKEMON2(XATU), -}; - -#define EC_WBL_OFFSET_Y ARRAY_COUNT(gEasyChatWordsByLetter_X) + EC_WBL_OFFSET_X - -u16 gEasyChatWordsByLetter_Y[] = { - EC_WORD_YAHOO, - EC_POKEMON2(YANMA), - EC_MOVE(YAWN), - EC_WORD_YAY, - EC_WORD_YEAH, - EC_WORD_YEAH_YEAH, - EC_WORD_YEEHAW_EXCL, - EC_WORD_YES, - EC_WORD_YES_SIR_EXCL, - EC_WORD_YESTERDAY, - EC_WORD_YET, - EC_WORD_YO, - EC_WORD_YOU, - EC_WORD_YOU_RE, - EC_WORD_YOU_VE, - EC_WORD_YOUNG, - EC_WORD_YOUR, - EC_WORD_YOURS, - EC_WORD_YUP, -}; - -#define EC_WBL_OFFSET_Z ARRAY_COUNT(gEasyChatWordsByLetter_Y) + EC_WBL_OFFSET_Y - -u16 gEasyChatWordsByLetter_Z[] = { - EC_POKEMON(ZANGOOSE), - EC_MOVE2(ZAP_CANNON), - EC_POKEMON2(ZAPDOS), - EC_POKEMON(ZIGZAGOON), - EC_DUPLICATES(2), - EC_POKEMON(ZUBAT), - EC_POKEMON2(ZUBAT), -}; - -#define EC_WBL_OFFSET_End ARRAY_COUNT(gEasyChatWordsByLetter_Z) + EC_WBL_OFFSET_Z - -u16 gEasyChatWordsByLetter_End[] = { -}; - -u16 gEasyChatWordsByLetter[] = { - EC_WBL_OFFSET_Others, - EC_WBL_OFFSET_A, - EC_WBL_OFFSET_B, - EC_WBL_OFFSET_C, - EC_WBL_OFFSET_D, - EC_WBL_OFFSET_E, - EC_WBL_OFFSET_F, - EC_WBL_OFFSET_G, - EC_WBL_OFFSET_H, - EC_WBL_OFFSET_I, - EC_WBL_OFFSET_J, - EC_WBL_OFFSET_K, - EC_WBL_OFFSET_L, - EC_WBL_OFFSET_M, - EC_WBL_OFFSET_N, - EC_WBL_OFFSET_O, - EC_WBL_OFFSET_P, - EC_WBL_OFFSET_Q, - EC_WBL_OFFSET_R, - EC_WBL_OFFSET_S, - EC_WBL_OFFSET_T, - EC_WBL_OFFSET_U, - EC_WBL_OFFSET_V, - EC_WBL_OFFSET_W, - EC_WBL_OFFSET_X, - EC_WBL_OFFSET_Y, - EC_WBL_OFFSET_Z, - EC_WBL_OFFSET_End, -}; - +#if ENGLISH +#include "words_by_letter_en.h" +#elif GERMAN +#include "words_by_letter_de.h" +#endif #endif // DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER diff --git a/src/data/text/easy_chat/words_by_letter_de.h b/src/data/text/easy_chat/words_by_letter_de.h new file mode 100644 index 000000000..42d36cfd8 --- /dev/null +++ b/src/data/text/easy_chat/words_by_letter_de.h @@ -0,0 +1,2046 @@ +#ifndef DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER_DE +#define DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER_DE + +#define EC_DUPLICATES(count) (0xFF00 + (count)) +#include "constants/species.h" + +u16 gEasyChatWordsAlphabetized[] = { +}; + +#define EC_WBL_OFFSET_Others 0 + +u16 gEasyChatWordsByLetter_Others[] = { + EC_WORD_EXCL, + EC_WORD_EXCL_EXCL, + EC_WORD_DASH, + EC_WORD_DASH_DASH_DASH, + EC_WORD_ELLIPSIS, + EC_WORD_ELLIPSIS_EXCL, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_QUES, + EC_WORD_QUES_EXCL, +}; + +#define EC_WBL_OFFSET_A ARRAY_COUNT(gEasyChatWordsByLetter_Others) + EC_WBL_OFFSET_Others + +u16 gEasyChatWordsByLetter_A[] = { + EC_POKEMON(HUNTAIL), + EC_WORD_ARRGH, + EC_WORD_ADVENTURE, + EC_WORD_BUT, + EC_MOVE2(DESTINY_BOND), + EC_MOVE2(PERISH_SONG), + EC_WORD_REJECT, + EC_WORD_DISLIKES, + EC_DUPLICATES(2), + EC_POKEMON(ABRA), + EC_POKEMON2(ABRA), + EC_MOVE2(KNOCK_OFF), + EC_POKEMON(ABSOL), + EC_MOVE(ABSORB), + EC_WORD_PREPOSTEROUS, + EC_WORD_ABSENT, + EC_WORD_COME_OVER, + EC_WORD_KEEN_EYE, + EC_WORD_GUTS, + EC_MOVE2(AERIAL_ACE), + EC_POKEMON2(AERODACTYL), + EC_MOVE(AGILITY), + EC_WORD_UM, + EC_WORD_AHAHA, + EC_WORD_LIKE, + EC_WORD_AIYEEH, + EC_WORD_ACCEPT, + EC_WORD_ALL, + EC_WORD_ALONE, + EC_WORD_EVERY, + EC_POKEMON2(HAUNTER), + EC_WORD_THAN, + EC_WORD_AS_IF, + EC_WORD_ALSO, + EC_WORD_ALT_COLOR, + EC_POKEMON(ALTARIA), + EC_WORD_AGE, + EC_WORD_ANOTHER, + EC_MOVE2(AMNESIA), + EC_POKEMON2(OMANYTE), + EC_POKEMON2(OMASTAR), + EC_MOVE(SIGNAL_BEAM), + EC_POKEMON2(AMPHAROS), + EC_WORD_AMUSING, + EC_WORD_ON, + EC_WORD_OTHER, + EC_WORD_ELSE, + EC_WORD_BEGINNING, + EC_WORD_BRAG, + EC_MOVE(SWAGGER), + EC_WORD_FISHING, + EC_WORD_ATTACK, + EC_WORD_WIMPY, + EC_WORD_RUN_AWAY, + EC_WORD_ANIME, + EC_WORD_CUTENESS, + EC_WORD_CUTE, + EC_POKEMON(ANORITH), + EC_MOVE(ANCIENT_POWER), + EC_MOVE2(ATTRACT), + EC_WORD_WATER_VEIL, + EC_MOVE2(WATER_GUN), + EC_POKEMON2(VAPOREON), + EC_MOVE2(WATER_PULSE), + EC_WORD_WORK, + EC_WORD_WORKING, + EC_POKEMON2(ARBOK), + EC_WORD_ANGERS, + EC_WORD_URGH, + EC_POKEMON2(ARIADOS), + EC_POKEMON2(ARCANINE), + EC_POKEMON2(ARTICUNO), + EC_POKEMON(ARMALDO), + EC_MOVE2(ARM_THRUST), + EC_MOVE(AROMATHERAPY), + EC_WORD_WAY, + EC_WORD_MOVE, + EC_WORD_UGLY, + EC_WORD_OI, + EC_WORD_TOO, + EC_WORD_OUT, + EC_MOVE2(RECYCLE), + EC_WORD_GIVE_UP, + EC_MOVE(UPROAR), + EC_WORD_HASSLE, + EC_WORD_WAKE_UP, + EC_MOVE(AURORA_BEAM), + EC_WORD_OFF, + EC_MOVE(ENDURE), + EC_WORD_APPEAL, + EC_WORD_LOOK, + EC_WORD_OUTSIDE, + EC_MOVE(DISABLE), + EC_POKEMON2(CLOYSTER), + EC_WORD_ARENA_TRAP, + EC_WORD_AVANT_GARDE, + EC_WORD_YES_SIR_EXCL, + EC_DUPLICATES(2), + EC_POKEMON(AZUMARILL), + EC_POKEMON2(AZUMARILL), + EC_POKEMON(AZURILL), +}; + +#define EC_WBL_OFFSET_B ARRAY_COUNT(gEasyChatWordsByLetter_A) + EC_WBL_OFFSET_A + +u16 gEasyChatWordsByLetter_B[] = { + EC_WORD_BABY, + EC_WORD_STAY_AT_HOME, + EC_WORD_BATH, + EC_WORD_SOON, + EC_POKEMON2(QWILFISH), + EC_WORD_BALL, + EC_WORD_SHAKE, + EC_WORD_RIBBON, + EC_POKEMON(BANETTE), + EC_MOVE2(BARRIER), + EC_POKEMON(FEEBAS), + EC_MOVE2(BELLY_DRUM), + EC_MOVE2(COTTON_SPORE), + EC_WORD_INTIMIDATE, + EC_WORD_BERRY, + EC_WORD_EXCITE, + EC_MOVE2(IMPRISON), + EC_WORD_AT, + EC_WORD_NEARLY, + EC_WORD_GET, + EC_WORD_GETS, + EC_WORD_RESUSCITATE, + EC_WORD_READY, + EC_WORD_BUSY, + EC_WORD_VIEWING, + EC_WORD_FAINT, + EC_WORD_DEFEATED, + EC_WORD_OWN, + EC_WORD_BETTER, + EC_WORD_BEST, + EC_WORD_NIGHTTIME, + EC_MOVE2(COVET), + EC_POKEMON2(BEEDRILL), + EC_WORD_UNTIL, + EC_WORD_MEET_YOU, + EC_WORD_SEE_YA, + EC_POKEMON2(VENUSAUR), + EC_POKEMON2(IVYSAUR), + EC_POKEMON2(BULBASAUR), + EC_MOVE(BITE), + EC_WORD_ARE, + EC_WORD_PLEASE, + EC_MOVE2(SWEET_KISS), + EC_POKEMON(NUZLEAF), + EC_MOVE2(PETAL_DANCE), + EC_MOVE2(FLASH), + EC_POKEMON2(JOLTEON), + EC_WORD_LIGHTNINGROD, + EC_MOVE2(ZAP_CANNON), + EC_MOVE2(BLIZZARD), + EC_WORD_NITWIT, + EC_WORD_JUST, + EC_MOVE(BUBBLE), + EC_MOVE2(BUBBLE_BEAM), + EC_DUPLICATES(2), + EC_POKEMON(BELLOSSOM), + EC_POKEMON2(BELLOSSOM), + EC_WORD_FLOWERS, + EC_MOVE(LEECH_LIFE), + EC_POKEMON2(VENONAT), + EC_WORD_GROUND, + EC_MOVE2(TAKE_DOWN), + EC_MOVE(SAFEGUARD), + EC_MOVE2(BODY_SLAM), + EC_MOVE2(DRILL_PECK), + EC_POKEMON2(DELIBIRD), + EC_WORD_NEED, + EC_WORD_BOARD, + EC_WORD_LETTER, + EC_WORD_BROTHER, + EC_WORD_LOL, + EC_MOVE2(ROAR), + EC_POKEMON(SALAMENCE), + EC_WORD_BOOK, + EC_WORD_STAGE, + EC_POKEMON(SLAKOTH), +}; + +#define EC_WBL_OFFSET_C ARRAY_COUNT(gEasyChatWordsByLetter_B) + EC_WBL_OFFSET_B + +u16 gEasyChatWordsByLetter_C[] = { + EC_POKEMON(NUMEL), + EC_POKEMON(CAMERUPT), + EC_POKEMON2(CELEBI), + EC_WORD_CENTER, + EC_POKEMON2(CHANSEY), + EC_MOVE(CHARM), + EC_WORD_CUTE_CHARM, + EC_WORD_CHLOROPHYLL, + EC_WORD_COMICS, + EC_WORD_COOL, + EC_WORD_COOLNESS, + EC_DUPLICATES(2), + EC_POKEMON(CORSOLA), + EC_POKEMON2(CORSOLA), +}; + +#define EC_WBL_OFFSET_D ARRAY_COUNT(gEasyChatWordsByLetter_C) + EC_WBL_OFFSET_C + +u16 gEasyChatWordsByLetter_D[] = { + EC_WORD_THERE, + EC_WORD_OLDEN, + EC_WORD_LADY, + EC_POKEMON2(STANTLER), + EC_WORD_MISS, + EC_WORD_THANKS, + EC_WORD_THANK_YOU, + EC_WORD_THAT, + EC_WORD_IT_S, + EC_WORD_THIS_IS_IT_EXCL, + EC_WORD_THAT_S_IT_EXCL, + EC_WORD_AM, + EC_WORD_THAT_WAS, + EC_MOVE2(FEATHER_DANCE), + EC_WORD_SON, + EC_WORD_YOURS, + EC_WORD_YOUR, + EC_MOVE2(SUBSTITUTE), + EC_WORD_MODE, + EC_WORD_THINKS, + EC_POKEMON(DEOXYS), + EC_WORD_THE, + EC_WORD_DISASTER, + EC_WORD_DESIGN, + EC_POKEMON2(TYRANITAR), + EC_WORD_BABE, + EC_WORD_ABSOLUTELY, + EC_WORD_TUESDAY, + EC_WORD_THIS, + EC_WORD_THESE, + EC_WORD_THESE_WERE, + EC_POKEMON2(DIGLETT), + EC_POKEMON2(DUGTRIO), + EC_WORD_DIGITAL, + EC_WORD_THING, + EC_POKEMON2(DITTO), + EC_DUPLICATES(2), + EC_POKEMON(DODRIO), + EC_POKEMON2(DODRIO), + EC_DUPLICATES(2), + EC_POKEMON(DODUO), + EC_POKEMON2(DODUO), + EC_MOVE(THUNDER), + EC_MOVE(THUNDERBOLT), + EC_MOVE(THUNDER_PUNCH), + EC_MOVE2(THUNDER_SHOCK), + EC_WORD_THURSDAY, + EC_MOVE2(THUNDER_WAVE), + EC_DUPLICATES(2), + EC_POKEMON(DONPHAN), + EC_POKEMON2(DONPHAN), + EC_MOVE2(DOUBLE_KICK), + EC_MOVE(DOUBLE_TEAM), + EC_MOVE2(SPIKE_CANNON), + EC_WORD_OBLIVIOUS, + EC_WORD_DRAGON, + EC_MOVE2(DRAGON_CLAW), + EC_MOVE2(DRAGON_DANCE), + EC_MOVE2(DRAGON_RAGE), + EC_POKEMON2(DRAGONAIR), + EC_POKEMON2(DRAGONITE), + EC_POKEMON(SHELGON), + EC_POKEMON2(DRATINI), + EC_MOVE2(TRIPLE_KICK), + EC_MOVE(FLAIL), + EC_WORD_YOU, + EC_WORD_YOU_RE, + EC_WORD_I_CHOOSE_YOU, + EC_WORD_YOU_VE, + EC_WORD_BATTLE_TOWER, + EC_DUPLICATES(2), + EC_POKEMON(GLOOM), + EC_POKEMON2(GLOOM), + EC_WORD_UPBEAT, + EC_WORD_STENCH, + EC_POKEMON2(DUNSPARCE), + EC_MOVE(HAZE), + EC_MOVE2(TWINEEDLE), + EC_MOVE(DOUBLE_SLAP), + EC_MOVE(BRICK_BREAK), + EC_WORD_OKAY, + EC_WORD_DROUGHT, +}; + +#define EC_WBL_OFFSET_E ARRAY_COUNT(gEasyChatWordsByLetter_D) + EC_WBL_OFFSET_D + +u16 gEasyChatWordsByLetter_E[] = { + EC_WORD_SERENE_GRACE, + EC_MOVE2(LEECH_SEED), + EC_WORD_RATHER, + EC_WORD_REALLY, + EC_WORD_EGG, + EC_MOVE2(EGG_BOMB), + EC_WORD_HURRIED, + EC_WORD_A, + EC_WORD_A_LITTLE, + EC_WORD_AN, + EC_WORD_OF, + EC_WORD_SIMPLE, + EC_MOVE2(DEFENSE_CURL), + EC_WORD_SHOPPING, + EC_WORD_ONCE, + EC_WORD_LONESOME, + EC_WORD_ICE, + EC_MOVE2(IRON_DEFENSE), + EC_MOVE(IRON_TAIL), + EC_MOVE(SHEER_COLD), + EC_MOVE2(ICE_PUNCH), + EC_MOVE2(ICE_BEAM), + EC_MOVE(ICY_WIND), + EC_POKEMON2(ELEKID), + EC_POKEMON2(ELECTABUZZ), + EC_WORD_ELECTRIC, + EC_WORD_PARENT, + EC_WORD_RECOMMEND, + EC_WORD_END, + EC_POKEMON2(CHIKORITA), + EC_WORD_FINALLY, + EC_POKEMON(SKITTY), + EC_POKEMON(DELCATTY), + EC_MOVE(FOCUS_ENERGY), + EC_POKEMON2(ENTEI), + EC_MOVE2(SPIT_UP), + EC_WORD_DOWNCAST, + EC_DUPLICATES(2), + EC_POKEMON(PSYDUCK), + EC_POKEMON2(PSYDUCK), + EC_DUPLICATES(2), + EC_POKEMON(GOLDUCK), + EC_POKEMON2(GOLDUCK), + EC_WORD_DECIDE, + EC_WORD_DECIDED, + EC_WORD_EXCUSE_ME, + EC_WORD_DISAPPOINTS, + EC_WORD_DISAPPOINTED, + EC_WORD_EVOLVE, + EC_WORD_EVOLUTION, + EC_WORD_ENCYCLOPEDIA, + EC_WORD_HE, + EC_WORD_HE_S, + EC_MOVE(EARTHQUAKE), + EC_WORD_FLATTEN, + EC_WORD_REFRESHING, + EC_WORD_SURRENDER, + EC_WORD_RECEIVED, + EC_MOVE2(REST), + EC_WORD_ALLOW, + EC_WORD_ILLUMINATE, + EC_WORD_SERIOUSLY, + EC_WORD_SERIOUS, + EC_WORD_APPEAR, + EC_WORD_APPEARS, + EC_MOVE(ASTONISH), + EC_WORD_TAKE, + EC_MOVE2(ERUPTION), + EC_WORD_ADULT, + EC_WORD_PRESSURE, + EC_WORD_IT, + EC_WORD_IS_IT_QUES, + EC_WORD_EAT, + EC_WORD_AROUND, + EC_WORD_SOMETHING, + EC_WORD_PLANS, + EC_WORD_THEIR, + EC_WORD_HERS, + EC_WORD_EVENTS, + EC_WORD_PROBABLY, + EC_POKEMON2(EEVEE), + EC_WORD_FOREVER, + EC_WORD_EXISTS, + EC_WORD_SHED_SKIN, + EC_MOVE2(EXPLOSION), + EC_WORD_EXCELLENT, +}; + +#define EC_WBL_OFFSET_F ARRAY_COUNT(gEasyChatWordsByLetter_E) + EC_WBL_OFFSET_E + +u16 gEasyChatWordsByLetter_F[] = { + EC_WORD_FABULOUS, + EC_WORD_COMPOUNDEYES, + EC_MOVE(STRING_SHOT), + EC_WORD_CAPABLE, + EC_WORD_SP_ABILITY, + EC_WORD_BIKE, + EC_WORD_TRACE, + EC_WORD_CASE, + EC_WORD_FAMILY, + EC_WORD_FANTASTIC, + EC_WORD_COLOR, + EC_POKEMON2(SMEARGLE), + EC_WORD_COLOR_CHANGE, + EC_MOVE(FACADE), + EC_WORD_ALMOST, + EC_MOVE2(ROLLING_KICK), + EC_WORD_MISTAKE, + EC_WORD_LACKS, + EC_WORD_GOOD, + EC_WORD_OPPONENT, + EC_POKEMON2(WOOPER), + EC_MOVE(ROCK_TOMB), + EC_MOVE2(ROCK_BLAST), + EC_WORD_HOLIDAY, + EC_WORD_TELEVISION, + EC_WORD_DONE, + EC_WORD_FESTIVAL, + EC_WORD_SHREDDED, + EC_WORD_DAMP, + EC_WORD_FIRE, + EC_WORD_FLASH_FIRE, + EC_MOVE2(BLAZE_KICK), + EC_MOVE2(DRAGON_BREATH), + EC_MOVE2(FIRE_PUNCH), + EC_MOVE2(FIRE_BLAST), + EC_MOVE2(FIRE_SPIN), + EC_POKEMON2(CYNDAQUIL), + EC_POKEMON(POOCHYENA), + EC_WORD_MOVIE, + EC_MOVE(SELF_DESTRUCT), + EC_MOVE(SHADOW_PUNCH), + EC_MOVE2(FAINT_ATTACK), + EC_POKEMON(GLALIE), + EC_POKEMON2(FLAREON), + EC_MOVE(FLAME_WHEEL), + EC_MOVE(FLAMETHROWER), + EC_WORD_FLAME_BODY, + EC_POKEMON2(SLOWPOKE), + EC_POKEMON(TORCHIC), + EC_WORD_LIMBER, + EC_DUPLICATES(2), + EC_WORD_FLYING, + EC_MOVE(FLY), + EC_MOVE2(CURSE), + EC_WORD_ESCAPE, + EC_DUPLICATES(2), + EC_POKEMON(IGGLYBUFF), + EC_POKEMON2(IGGLYBUFF), + EC_MOVE2(WING_ATTACK), + EC_POKEMON(MAWILE), + EC_POKEMON(WHISMUR), + EC_WORD_FUFUFU, + EC_MOVE(TORMENT), + EC_MOVE(WATER_SPOUT), + EC_POKEMON(CASTFORM), + EC_POKEMON2(FORRETRESS), + EC_WORD_AWAY, + EC_WORD_CAMERA, + EC_WORD_QUESTION, + EC_WORD_MRS, + EC_WORD_RELEASE, + EC_WORD_FRIDAY, + EC_WORD_JOY, + EC_WORD_FRIEND, + EC_POKEMON(ELECTRIKE), + EC_WORD_THINK, + EC_MOVE(ICE_BALL), + EC_WORD_EARLIER, + EC_WORD_SPRING, + EC_WORD_EARLY_BIRD, + EC_MOVE2(FRUSTRATION), + EC_WORD_DISAPPOINT, + EC_MOVE(THRASH), + EC_WORD_FEELING, + EC_POKEMON2(GROWLITHE), + EC_MOVE(SPARK), + EC_WORD_FOR, + EC_WORD_TO_HER, + EC_WORD_FOR_NOW, + EC_WORD_TO_THEM, + EC_WORD_TO_US, + EC_WORD_TO_WHOM, + EC_WORD_FEAR, + EC_WORD_AWFULLY, + EC_MOVE2(FURY_ATTACK), + EC_MOVE(LOW_KICK), +}; + +#define EC_WBL_OFFSET_G ARRAY_COUNT(gEasyChatWordsByLetter_F) + EC_WBL_OFFSET_F + +u16 gEasyChatWordsByLetter_G[] = { + EC_MOVE(YAWN), + EC_POKEMON2(RAPIDASH), + EC_DUPLICATES(2), + EC_POKEMON(GYARADOS), + EC_POKEMON2(GYARADOS), + EC_WORD_GIVE, + EC_WORD_USE, + EC_WORD_USES, + EC_POKEMON(TREECKO), + EC_MOVE2(CALM_MIND), + EC_WORD_COMMEMORATE, + EC_MOVE(BIDE), + EC_WORD_DANGER, + EC_WORD_VERSUS, + EC_MOVE(REVERSAL), + EC_WORD_OPPOSITE, + EC_WORD_FOE, + EC_WORD_MYSTERY, + EC_WORD_SECRET_BASE, + EC_WORD_SECRET, + EC_MOVE2(SECRET_POWER), + EC_WORD_GOING, + EC_WORD_HEARING, + EC_WORD_BELONGS_TO, + EC_WORD_GOES, + EC_POKEMON(SURSKIT), + EC_WORD_GHOST, + EC_WORD_BORED, + EC_WORD_MONEY, + EC_WORD_LAY, + EC_WORD_MEAN, + EC_WORD_HOW, + EC_WORD_AS, + EC_WORD_APPROVED, + EC_MOVE(RECOVER), + EC_POKEMON2(GENGAR), + EC_WORD_GENIUS, + EC_WORD_ENJOY, + EC_WORD_ENJOYS, + EC_WORD_THOSE_WERE, + EC_MOVE(FISSURE), + EC_DUPLICATES(2), + EC_POKEMON(GRAVELER), + EC_POKEMON2(GRAVELER), + EC_DUPLICATES(2), + EC_POKEMON(GOLEM), + EC_POKEMON2(GOLEM), + EC_MOVE2(SEISMIC_TOSS), + EC_POKEMON(LINOONE), + EC_WORD_WANNABE, + EC_WORD_SMELL, + EC_MOVE(SING), + EC_WORD_EVENT, + EC_MOVE2(PRESENT), + EC_WORD_SKILL, + EC_WORD_SKILLED, + EC_WORD_SHOCKED, + EC_WORD_WEAKENED, + EC_WORD_SIBLINGS, + EC_MOVE2(FORESIGHT), + EC_WORD_CONVERSATION, + EC_WORD_ROCK, + EC_WORD_YESTERDAY, + EC_WORD_HEALTHY, + EC_WORD_DID, + EC_POKEMON(SCEPTILE), + EC_WORD_WIN, + EC_WORD_IF_I_WIN, + EC_WORD_WINS, + EC_WORD_HABIT, + EC_WORD_WON, + EC_WORD_GIVE_ME, + EC_WORD_GIMME, + EC_WORD_GIVES, + EC_DUPLICATES(2), + EC_POKEMON(VILEPLUME), + EC_POKEMON2(VILEPLUME), + EC_WORD_POISON, + EC_MOVE2(GLARE), + EC_WORD_POISON_POINT, + EC_MOVE2(POISON_POWDER), + EC_MOVE2(POISON_TAIL), + EC_MOVE2(POISON_STING), + EC_MOVE2(POISON_GAS), + EC_MOVE2(POISON_FANG), + EC_MOVE(GIGA_DRAIN), + EC_WORD_HAPPENING, + EC_WORD_WENT, + EC_DUPLICATES(2), + EC_POKEMON(GIRAFARIG), + EC_POKEMON2(GIRAFARIG), + EC_WORD_SMOOTH, + EC_WORD_BELIEVE, + EC_WORD_WHEN, + EC_WORD_SLIDE, + EC_WORD_SLIMY, + EC_WORD_HAPPINESS, + EC_WORD_HAPPY, + EC_WORD_CONGRATS, + EC_POKEMON2(CHARMANDER), + EC_POKEMON2(CHARIZARD), + EC_MOVE2(EMBER), + EC_POKEMON2(CHARMELEON), + EC_DUPLICATES(2), + EC_POKEMON(GOLBAT), + EC_POKEMON2(GOLBAT), + EC_DUPLICATES(2), + EC_POKEMON(GOLDEEN), + EC_POKEMON2(GOLDEEN), + EC_DUPLICATES(2), + EC_POKEMON(SEAKING), + EC_POKEMON2(SEAKING), + EC_WORD_GOURMET, + EC_WORD_GRAAAH, + EC_POKEMON2(GRANBULL), + EC_MOVE(GRASS_WHISTLE), + EC_POKEMON2(AIPOM), + EC_MOVE(SCARY_FACE), + EC_WORD_ANTICIPATION, + EC_POKEMON(GRUMPIG), + EC_MOVE(SPITE), + EC_WORD_BIG, + EC_WORD_GREAT, + EC_WORD_BLAZE, + EC_WORD_GRANDMOTHER, + EC_WORD_GRANDFATHER, + EC_WORD_LAVISH, + EC_POKEMON(GROUDON), + EC_WORD_GWAH, + EC_WORD_CAUSE, + EC_WORD_GROUP, + EC_POKEMON(GARDEVOIR), + EC_MOVE2(GUILLOTINE), + EC_WORD_1_HIT_KO_EXCL, + EC_WORD_ALL_RIGHT, + EC_WORD_HEARS, + EC_WORD_GWAHAHAHA, +}; + +#define EC_WBL_OFFSET_H ARRAY_COUNT(gEasyChatWordsByLetter_G) + EC_WBL_OFFSET_G + +u16 gEasyChatWordsByLetter_H[] = { + EC_WORD_WATER_ABSORB, + EC_WORD_GOTCHA, + EC_WORD_HAVE, + EC_WORD_GOT, + EC_WORD_HAVEN_T, + EC_POKEMON2(SPEAROW), + EC_MOVE(HAIL), + EC_WORD_HAH, + EC_WORD_EH_QUES, + EC_WORD_HEHE, + EC_WORD_HAHAHA, + EC_WORD_EHEHE, + EC_WORD_HELLO, + EC_POKEMON(HARIYAMA), + EC_WORD_MATCH_UP, + EC_MOVE(HARDEN), + EC_WORD_HAS, + EC_WORD_HEH, + EC_WORD_HEHEHE, + EC_MOVE2(REFRESH), + EC_WORD_HOME, + EC_WORD_GO_HOME, + EC_WORD_HOT, + EC_POKEMON2(BLISSEY), + EC_WORD_HERO, + EC_WORD_HEROINE, + EC_WORD_CHALLENGE, + EC_WORD_FALL, + EC_WORD_MR, + EC_WORD_MAKING, + EC_MOVE2(GROWL), + EC_WORD_TODAY, + EC_WORD_SWARM, + EC_WORD_HEY, + EC_WORD_HEY_THERE, + EC_WORD_HEY_QUES, + EC_WORD_HERE, + EC_WORD_HERE_I_COME, + EC_WORD_HERE_IT_IS, + EC_WORD_HERE_GOES, + EC_WORD_MUFUFU, + EC_MOVE(SKY_UPPERCUT), + EC_MOVE(SKY_ATTACK), + EC_WORD_REAR, + EC_WORD_DOWN, + EC_WORD_HIP_AND, + EC_MOVE(OVERHEAT), + EC_MOVE2(HEAT_WAVE), + EC_WORD_HIYAH, + EC_WORD_HMM, + EC_WORD_HUMPH, + EC_POKEMON2(HO_OH), + EC_WORD_HOBBY, + EC_WORD_HIGH, + EC_WORD_KIND, + EC_WORD_HIGHS, + EC_WORD_HOHOHO, + EC_WORD_HEART, + EC_POKEMON2(HOOTHOOT), + EC_POKEMON2(HOPPIP), + EC_WORD_LISTENING, + EC_WORD_HEAR, + EC_MOVE2(HORN_ATTACK), + EC_MOVE2(HORN_DRILL), + EC_POKEMON2(WEEDLE), + EC_MOVE(MEAN_LOOK), + EC_WORD_LISTENS, + EC_MOVE2(STOCKPILE), + EC_POKEMON2(SKIPLOOM), + EC_WORD_PRETTY, + EC_WORD_HOO_HAH, + EC_POKEMON2(HOUNDOOM), + EC_POKEMON2(HOUNDOUR), + EC_WORD_OOPS, + EC_POKEMON(MUDKIP), + EC_MOVE2(HYDRO_PUMP), + EC_WORD_HYPER, + EC_MOVE2(HYPER_BEAM), + EC_MOVE2(HYPER_FANG), + EC_POKEMON2(HYPNO), + EC_MOVE(HYPNOSIS), +}; + +#define EC_WBL_OFFSET_I ARRAY_COUNT(gEasyChatWordsByLetter_H) + EC_WBL_OFFSET_H + +u16 gEasyChatWordsByLetter_I[] = { + EC_POKEMON2(FEAROW), + EC_WORD_I, + EC_WORD_I_AM, + EC_WORD_I_VE_ARRIVED, + EC_WORD_I_VE, + EC_WORD_LET_ME_WIN, + EC_WORD_I_WAS, + EC_POKEMON2(UNOWN), + EC_WORD_IDOL, + EC_POKEMON2(QUILAVA), + EC_WORD_EEK, + EC_WORD_IGNORANT, + EC_WORD_HIM, + EC_WORD_THEY, + EC_WORD_HER, + EC_WORD_MUCH_OBLIGED, + EC_DUPLICATES(2), + EC_POKEMON(CROBAT), + EC_POKEMON2(CROBAT), + EC_POKEMON(ILLUMISE), + EC_WORD_ALWAYS, + EC_WORD_IMMUNITY, + EC_POKEMON2(FERALIGATR), + EC_WORD_IN, + EC_WORD_INFORMATION, + EC_WORD_INSIDE, + EC_WORD_NATURAL_CURE, + EC_WORD_INSOMNIA, + EC_MOVE2(MAGNITUDE), + EC_WORD_ANY, + EC_WORD_SOMETIME, + EC_WORD_SOMEHOW, + EC_WORD_ANYWHERE, + EC_WORD_AWESOME, + EC_MOVE(WILL_O_WISP), + EC_MOVE2(DIZZY_PUNCH), + EC_POKEMON(WYNAUT), + EC_WORD_EATS, + EC_WORD_IS, + EC_WORD_ISN_T, + EC_WORD_ITEM, +}; + +#define EC_WBL_OFFSET_J ARRAY_COUNT(gEasyChatWordsByLetter_I) + EC_WBL_OFFSET_I + +u16 gEasyChatWordsByLetter_J[] = { + EC_WORD_YES, + EC_WORD_YAY, + EC_WORD_YUP, + EC_MOVE2(HOWL), + EC_WORD_HOWEVER, + EC_WORD_EVER, + EC_WORD_SOMEONE, + EC_WORD_YO, + EC_WORD_NOW, + EC_WORD_YEEHAW_EXCL, + EC_WORD_EXCITING, + EC_POKEMON(JIRACHI), + EC_WORD_WOWEE, + EC_WORD_YAHOO, + EC_POKEMON2(DEWGONG), + EC_WORD_YOUNG, + EC_WORD_BOY, + EC_POKEMON(COMBUSKEN), + EC_POKEMON2(SEEL), + EC_WORD_JUDGE, +}; + +#define EC_WBL_OFFSET_K ARRAY_COUNT(gEasyChatWordsByLetter_J) + EC_WBL_OFFSET_J + +u16 gEasyChatWordsByLetter_K[] = { + EC_POKEMON2(KABUTO), + EC_POKEMON2(KABUTOPS), + EC_DUPLICATES(2), + EC_POKEMON(KADABRA), + EC_POKEMON2(KADABRA), + EC_WORD_BUG, + EC_WORD_COLD, + EC_WORD_CAME, + EC_WORD_FIGHTING, + EC_WORD_BATTLE, + EC_WORD_FIGHT, + EC_WORD_BATTLE_ARMOR, + EC_WORD_BATTLE_ROOM, + EC_WORD_FAINTED, + EC_POKEMON2(KANGASKHAN), + EC_POKEMON(CARVANHA), + EC_WORD_CAN_WIN, + EC_WORD_CAN_T, + EC_POKEMON(BRELOOM), + EC_POKEMON2(HITMONTOP), + EC_POKEMON(LUDICOLO), + EC_MOVE(KARATE_CHOP), + EC_WORD_DESTINY, + EC_POKEMON2(TOTODILE), + EC_DUPLICATES(2), + EC_POKEMON(MAGIKARP), + EC_POKEMON2(MAGIKARP), + EC_WORD_CARDS, + EC_MOVE2(WATERFALL), + EC_WORD_DEPT_STORE, + EC_POKEMON(KECLEON), + EC_POKEMON2(PILOSWINE), + EC_WORD_NONE, + EC_WORD_GIGGLE, + EC_POKEMON2(HITMONLEE), + EC_WORD_TICKLISH, + EC_WORD_KID, + EC_WORD_CHILDREN, + EC_WORD_KINDERGARTEN, + EC_WORD_CHILD_S_PLAY, + EC_POKEMON(BAGON), + EC_POKEMON2(KINGLER), + EC_POKEMON(KIRLIA), + EC_MOVE2(VICE_GRIP), + EC_MOVE(BIND), + EC_WORD_THIN, + EC_WORD_RANK, + EC_WORD_SMALL, + EC_DUPLICATES(2), + EC_POKEMON(GEODUDE), + EC_POKEMON2(GEODUDE), + EC_WORD_AIR_LOCK, + EC_MOVE(RAZOR_WIND), + EC_WORD_LIQUID_OOZE, + EC_WORD_SMART, + EC_WORD_SMARTNESS, + EC_POKEMON(TRAPINCH), + EC_POKEMON(SHROOMISH), + EC_MOVE(CRUNCH), + EC_MOVE2(BONE_RUSH), + EC_MOVE2(BONE_CLUB), + EC_MOVE2(BONEMERANG), + EC_POKEMON2(BELLSPROUT), + EC_POKEMON2(MAROWAK), + EC_DUPLICATES(2), + EC_POKEMON(WIGGLYTUFF), + EC_POKEMON2(WIGGLYTUFF), + EC_WORD_TIGHT, + EC_POKEMON2(EXEGGUTOR), + EC_POKEMON2(KAKUNA), + EC_MOVE2(COMET_PUNCH), + EC_WORD_COME_ON, + EC_WORD_COME, + EC_WORD_COMPLETE, + EC_MOVE2(MINIMIZE), + EC_MOVE2(CONFUSION), + EC_MOVE(CONFUSE_RAY), + EC_WORD_CAN, + EC_WORD_COULDN_T, + EC_WORD_COULD, + EC_MOVE(COUNTER), + EC_WORD_INNER_FOCUS, + EC_MOVE(HEADBUTT), + EC_WORD_FEVER, + EC_MOVE(COSMIC_POWER), + EC_WORD_TREASURE, + EC_MOVE(CRABHAMMER), + EC_POKEMON2(KRABBY), + EC_WORD_POWER, + EC_DUPLICATES(2), + EC_WORD_HUGE_POWER, + EC_MOVE2(SUPERPOWER), + EC_MOVE2(HIDDEN_POWER), + EC_POKEMON(LOUDRED), + EC_POKEMON2(MURKROW), + EC_MOVE2(SCRATCH), + EC_MOVE2(FURY_SWIPES), + EC_POKEMON(EXPLOUD), + EC_POKEMON(CORPHISH), + EC_POKEMON(CRAWDAUNT), + EC_MOVE(SCREECH), + EC_MOVE(CROSS_CHOP), + EC_MOVE2(BULLET_SEED), + EC_POKEMON2(SMOOCHUM), + EC_POKEMON(KYOGRE), +}; + +#define EC_WBL_OFFSET_L ARRAY_COUNT(gEasyChatWordsByLetter_K) + EC_WBL_OFFSET_K + +u16 gEasyChatWordsByLetter_L[] = { + EC_WORD_SEE, + EC_MOVE(CHARGE), + EC_WORD_STORE, + EC_WORD_STORES, + EC_POKEMON2(SLOWBRO), + EC_WORD_LALALA, + EC_DUPLICATES(2), + EC_POKEMON(CHINCHOU), + EC_POKEMON2(CHINCHOU), + EC_WORD_WAIT, + EC_WORD_BORING, + EC_DUPLICATES(2), + EC_POKEMON(LANTURN), + EC_POKEMON2(LANTURN), + EC_WORD_PUSHOVER, + EC_POKEMON2(LAPRAS), + EC_WORD_SOUNDPROOF, + EC_POKEMON2(LARVITAR), + EC_POKEMON2(SLOWKING), + EC_WORD_LET_S, + EC_POKEMON(LATIAS), + EC_POKEMON(LATIOS), + EC_WORD_WANDERING, + EC_MOVE2(LEAF_BLADE), + EC_WORD_MOOD, + EC_WORD_LOUSY, + EC_WORD_NOISY, + EC_MOVE(SACRED_FIRE), + EC_WORD_LUKEWARM, + EC_POKEMON2(MOLTRES), + EC_WORD_LIFE, + EC_WORD_LIVING, + EC_WORD_THIRSTY, + EC_WORD_TASTY, + EC_POKEMON2(LEDIAN), + EC_POKEMON2(LEDYBA), + EC_WORD_LEGEND, + EC_MOVE2(MUDDY_WATER), + EC_MOVE2(MUD_SLAP), + EC_MOVE2(MUD_SHOT), + EC_MOVE2(MUD_SPORT), + EC_WORD_TEACH, + EC_WORD_TEACHER, + EC_WORD_TEACHES, + EC_WORD_EASY, + EC_MOVE(PAIN_SPLIT), + EC_DUPLICATES(2), + EC_WORD_LEADER, + EC_WORD_LEADERS, + EC_WORD_CLASS, + EC_DUPLICATES(2), + EC_POKEMON(ELECTRODE), + EC_POKEMON2(ELECTRODE), + EC_POKEMON(CLAYDOL), + EC_WORD_LEARN, + EC_WORD_STUDY, + EC_POKEMON(SLAKING), + EC_WORD_LAST, + EC_WORD_FINAL, + EC_WORD_WINNER, + EC_WORD_LEVEL, + EC_POKEMON(FLYGON), + EC_WORD_KNOCKOUT, + EC_MOVE2(LIGHT_SCREEN), + EC_POKEMON(LUVDISC), + EC_POKEMON(LILEEP), + EC_WORD_LINK, + EC_WORD_LEFT, + EC_WORD_PRAISE, + EC_MOVE(SWEET_SCENT), + EC_POKEMON(BLAZIKEN), + EC_WORD_LOCOMOTIVE, + EC_POKEMON(LOMBRE), + EC_POKEMON2(BAYLEEF), + EC_WORD_GO, + EC_WORD_LOSER, + EC_POKEMON(LOTAD), + EC_MOVE(AEROBLAST), + EC_WORD_LIE, + EC_POKEMON2(LUGIA), + EC_WORD_LOLLING, + EC_POKEMON(LUNATONE), + EC_WORD_FUNNY, +}; + +#define EC_WBL_OFFSET_M ARRAY_COUNT(gEasyChatWordsByLetter_L) + EC_WBL_OFFSET_L + +u16 gEasyChatWordsByLetter_M[] = { + EC_WORD_DO, + EC_WORD_MAKE, + EC_DUPLICATES(2), + EC_POKEMON(MACHOP), + EC_POKEMON2(MACHOP), + EC_DUPLICATES(2), + EC_POKEMON(MACHAMP), + EC_POKEMON2(MACHAMP), + EC_WORD_DOESN_T, + EC_WORD_GIRL, + EC_WORD_MAGAZINE, + EC_POKEMON2(MAGBY), + EC_DUPLICATES(2), + EC_POKEMON(MAGCARGO), + EC_POKEMON2(MAGCARGO), + EC_WORD_HUNGRY, + EC_MOVE2(MAGIC_COAT), + EC_WORD_MAGMA_ARMOR, + EC_POKEMON2(MAGMAR), + EC_POKEMON(MIGHTYENA), + EC_WORD_MAGNET_PULL, + EC_DUPLICATES(2), + EC_POKEMON(MAGNEMITE), + EC_POKEMON2(MAGNEMITE), + EC_DUPLICATES(2), + EC_POKEMON(MAGNETON), + EC_POKEMON2(MAGNETON), + EC_POKEMON(MAKUHITA), + EC_WORD_VORACIOUS, + EC_WORD_MAN, + EC_POKEMON2(MANTINE), + EC_DUPLICATES(2), + EC_POKEMON(MARILL), + EC_POKEMON2(MARILL), + EC_WORD_MACHINE, + EC_DUPLICATES(2), + EC_POKEMON(MACHOKE), + EC_POKEMON2(MACHOKE), + EC_POKEMON(MASQUERAIN), + EC_MOVE2(SLUDGE_BOMB), + EC_POKEMON2(MEOWTH), + EC_WORD_MC, + EC_POKEMON(MEDICHAM), + EC_MOVE2(MEDITATE), + EC_POKEMON(MEDITITE), + EC_WORD_MEGA, + EC_WORD_HAPPILY, + EC_MOVE2(MEGA_PUNCH), + EC_MOVE2(MEGA_KICK), + EC_POKEMON2(MEGANIUM), + EC_MOVE2(MEGA_DRAIN), + EC_WORD_MORE, + EC_WORD_MY, + EC_WORD_WHO_WAS, + EC_WORD_OH_DEAR, + EC_WORD_MASTER, + EC_MOVE(MEMENTO), + EC_POKEMON2(MANKEY), + EC_WORD_PURE_POWER, + EC_POKEMON(METAGROSS), + EC_MOVE2(METAL_CLAW), + EC_MOVE(METAL_SOUND), + EC_POKEMON(METANG), + EC_MOVE(WEATHER_BALL), + EC_MOVE2(METRONOME), + EC_POKEMON2(MEW), + EC_POKEMON2(MEWTWO), + EC_WORD_ME, + EC_WORD_BADLY, + EC_WORD_SHOULD, + EC_WORD_RENTAL, + EC_MOVE2(MILK_DRINK), + EC_POKEMON(MILOTIC), + EC_POKEMON2(MILTANK), + EC_MOVE2(MIMIC), + EC_POKEMON(MINUN), + EC_WORD_MINUS, + EC_WORD_MYSELF, + EC_WORD_WITH, + EC_WORD_PICKUP, + EC_WORD_OVERWHELMING, + EC_WORD_MESSAGE, + EC_WORD_WEDNESDAY, + EC_WORD_BLEND, + EC_WORD_MMM, + EC_WORD_WANT, + EC_WORD_FASHION, + EC_WORD_MODERN, + EC_POKEMON2(SUDOWOODO), + EC_MOVE2(FAKE_OUT), + EC_WORD_CURRENT, + EC_WORD_MONTH, + EC_MOVE2(MOONLIGHT), + EC_WORD_MONDAY, + EC_POKEMON(MARSHTOMP), + EC_WORD_MORNING, + EC_MOVE(MORNING_SUN), + EC_POKEMON2(QUAGSIRE), + EC_WORD_TIRED, + EC_WORD_USELESS, + EC_WORD_VITAL_SPIRIT, + EC_POKEMON(VIGOROTH), + EC_POKEMON2(SHELLDER), + EC_WORD_MUSIC, + EC_WORD_MUST_BE, + EC_WORD_PATTERN, + EC_WORD_GUTSY, + EC_WORD_MOTHER, + EC_DUPLICATES(2), + EC_POKEMON(ODDISH), + EC_POKEMON2(ODDISH), +}; + +#define EC_WBL_OFFSET_N ARRAY_COUNT(gEasyChatWordsByLetter_M) + EC_WBL_OFFSET_M + +u16 gEasyChatWordsByLetter_N[] = { + EC_WORD_AFTER, + EC_MOVE(SKETCH), + EC_MOVE(GRUDGE), + EC_WORD_NEXT, + EC_WORD_NIGHT, + EC_POKEMON2(UMBREON), + EC_MOVE(NIGHTMARE), + EC_MOVE2(NIGHT_SHADE), + EC_MOVE2(PIN_MISSILE), + EC_WORD_NEAR, + EC_WORD_CLOSE, + EC_WORD_DIET, + EC_WORD_NAME, + EC_WORD_SWEETS, + EC_POKEMON(NOSEPASS), + EC_MOVE2(WATER_SPORT), + EC_DUPLICATES(2), + EC_POKEMON(NATU), + EC_POKEMON2(NATU), + EC_MOVE(NATURE_POWER), + EC_WORD_NATURAL, + EC_WORD_CANCEL, + EC_MOVE2(MIST_BALL), + EC_WORD_BESIDE, + EC_POKEMON2(GASTLY), + EC_WORD_NEGATIVE, + EC_WORD_NO, + EC_WORD_NICE, + EC_WORD_NEWS, + EC_WORD_CLEAR_BODY, + EC_WORD_DON_T, + EC_WORD_DIDN_T, + EC_WORD_DISLIKE, + EC_WORD_NOT, + EC_WORD_NOT_VERY, + EC_WORD_ISN_T_IT_QUES, + EC_WORD_NOTHING, + EC_WORD_NAP, + EC_POKEMON2(NIDOKING), + EC_POKEMON2(NIDOQUEEN), + EC_POKEMON2(NIDORAN_F), + EC_POKEMON2(NIDORAN_M), + EC_POKEMON2(NIDORINA), + EC_POKEMON2(NIDORINO), + EC_WORD_NEVER, + EC_WORD_LOW, + EC_WORD_DRIZZLE, + EC_MOVE2(NEEDLE_ARM), + EC_WORD_TAKE_THAT, + EC_POKEMON(NINCADA), + EC_POKEMON(NINJASK), + EC_POKEMON(SHEDINJA), + EC_WORD_NOPE, + EC_WORD_TOTALLY, + EC_WORD_THAT_S, + EC_POKEMON2(HITMONCHAN), + EC_POKEMON2(NOCTOWL), + EC_POKEMON(CACTURNE), + EC_WORD_NON_STOP, + EC_WORD_YET, + EC_WORD_NORMAL, + EC_WORD_OVERGROW, + EC_WORD_MARVEL_SCALE, + EC_MOVE(ENDEAVOR), + EC_WORD_NO_1, + EC_WORD_WELL_THEN, + EC_WORD_ONLY, +}; + +#define EC_WBL_OFFSET_O ARRAY_COUNT(gEasyChatWordsByLetter_N) + EC_WBL_OFFSET_N + +u16 gEasyChatWordsByLetter_O[] = { + EC_WORD_OK_QUES, + EC_WORD_UP, + EC_WORD_ABOVE, + EC_WORD_ALTHOUGH, + EC_MOVE(OCTAZOOKA), + EC_POKEMON2(OCTILLERY), + EC_WORD_OR, + EC_WORD_OFFENSIVE, + EC_WORD_OH, + EC_WORD_UH_OH, + EC_WORD_OH_YEAH, + EC_WORD_OH_QUES, + EC_WORD_WITHOUT, + EC_WORD_OI_OI_OI, + EC_WORD_OH_KAY, + EC_WORD_OLD, + EC_POKEMON2(VENOMOTH), + EC_POKEMON2(ONIX), + EC_WORD_UNCLE, + EC_WORD_HOPELESS, + EC_WORD_WHOAH, + EC_WORD_PLACE, + EC_POKEMON2(EXEGGCUTE), +}; + +#define EC_WBL_OFFSET_P ARRAY_COUNT(gEasyChatWordsByLetter_O) + EC_WBL_OFFSET_O + +u16 gEasyChatWordsByLetter_P[] = { + EC_POKEMON(CHIMECHO), + EC_POKEMON(SPINDA), + EC_POKEMON(CASCOON), + EC_POKEMON2(MR_MIME), + EC_DUPLICATES(2), + EC_POKEMON(SKARMORY), + EC_POKEMON2(SKARMORY), + EC_WORD_SHELL_ARMOR, + EC_MOVE(WITHDRAW), + EC_POKEMON(BEAUTIFLY), + EC_POKEMON2(JUMPLUFF), + EC_POKEMON2(PARAS), + EC_POKEMON2(PARASECT), + EC_WORD_PARDON, + EC_WORD_MATCH, + EC_WORD_PARTNER, + EC_WORD_PARTY, + EC_WORD_PC, + EC_POKEMON(PELIPPER), + EC_WORD_PERFECT, + EC_WORD_PERFECTION, + EC_POKEMON(CLAMPERL), + EC_WORD_PERSON, + EC_WORD_GRASS, + EC_WORD_CHORES, + EC_MOVE2(POUND), + EC_DUPLICATES(2), + EC_POKEMON(PHANPY), + EC_POKEMON2(PHANPY), + EC_DUPLICATES(2), + EC_POKEMON(PICHU), + EC_POKEMON2(PICHU), + EC_POKEMON2(CLEFAIRY), + EC_POKEMON2(CLEFFA), + EC_DUPLICATES(2), + EC_POKEMON(PIKACHU), + EC_POKEMON2(PIKACHU), + EC_MOVE(SPORE), + EC_DUPLICATES(2), + EC_POKEMON(PINSIR), + EC_POKEMON2(PINSIR), + EC_POKEMON2(CLEFABLE), + EC_MOVE2(SPLASH), + EC_WORD_CHAT, + EC_WORD_PLUS, + EC_WORD_PLUSH_DOLL, + EC_POKEMON(PLUSLE), + EC_WORD_POKEDEX, + EC_WORD_POKEMON, + EC_WORD_POKENAV, + EC_WORD_POKEBLOCK, + EC_WORD_PKRS, + EC_POKEMON2(PONYTA), + EC_WORD_NEW, + EC_WORD_POPULAR, + EC_POKEMON2(FARFETCHD), + EC_POKEMON2(PORYGON), + EC_POKEMON2(PORYGON2), + EC_WORD_MAIL, + EC_POKEMON2(SHUCKLE), + EC_MOVE(FOCUS_PUNCH), + EC_WORD_FORECAST, + EC_MOVE2(BULK_UP), + EC_MOVE2(BEAT_UP), + EC_WORD_SNORT, + EC_POKEMON2(ESPEON), + EC_WORD_PSYCHIC, + EC_MOVE(PSYCH_UP), + EC_MOVE(PSYCHIC), + EC_MOVE(KINESIS), + EC_MOVE(PSYBEAM), + EC_MOVE(PSYWAVE), + EC_WORD_SHIELD_DUST, + EC_POKEMON(DUSTOX), + EC_WORD_WHITE_SMOKE, + EC_MOVE(POWDER_SNOW), + EC_DUPLICATES(2), + EC_POKEMON(JIGGLYPUFF), + EC_POKEMON2(JIGGLYPUFF), + EC_WORD_POINTS, + EC_POKEMON2(PUPITAR), + EC_POKEMON(BALTOY), +}; + +#define EC_WBL_OFFSET_Q ARRAY_COUNT(gEasyChatWordsByLetter_P) + EC_WBL_OFFSET_P + +u16 gEasyChatWordsByLetter_Q[] = { + EC_POKEMON2(POLIWRATH), + EC_POKEMON2(POLIWAG), + EC_POKEMON2(POLIWHIRL), + EC_POKEMON2(POLITOED), + EC_POKEMON2(SWINUB), + EC_POKEMON(TORKOAL), +}; + +#define EC_WBL_OFFSET_R ARRAY_COUNT(gEasyChatWordsByLetter_Q) + EC_WBL_OFFSET_Q + +u16 gEasyChatWordsByLetter_R[] = { + EC_POKEMON2(TYROGUE), + EC_WORD_RADIO, + EC_DUPLICATES(2), + EC_POKEMON(RAICHU), + EC_POKEMON2(RAICHU), + EC_POKEMON2(RAIKOU), + EC_MOVE2(VINE_WHIP), + EC_POKEMON2(PRIMEAPE), + EC_MOVE(RAGE), + EC_MOVE2(RAZOR_LEAF), + EC_WORD_RIPPED, + EC_POKEMON2(RATTATA), + EC_POKEMON2(RATICATE), + EC_MOVE2(THIEF), + EC_MOVE(SMOKESCREEN), + EC_WORD_ROUGH_SKIN, + EC_POKEMON2(CATERPIE), + EC_POKEMON(RAYQUAZA), + EC_MOVE2(HELPING_HAND), + EC_WORD_RIGHT, + EC_WORD_TALKING, + EC_WORD_TALK, + EC_MOVE2(REFLECT), + EC_WORD_RULE, + EC_WORD_RAIN_DISH, + EC_MOVE(RAIN_DANCE), + EC_POKEMON(REGICE), + EC_POKEMON(REGIROCK), + EC_POKEMON(REGISTEEL), + EC_WORD_ENOUGH, + EC_WORD_TRAVEL, + EC_POKEMON2(SNORLAX), + EC_POKEMON(RELICANTH), + EC_POKEMON2(REMORAID), + EC_WORD_RUN, + EC_WORD_RUNS, + EC_POKEMON(GROVYLE), + EC_WORD_CONCEDE, + EC_POKEMON2(EKANS), + EC_WORD_CORRECT, + EC_WORD_AGREE, + EC_MOVE(SMELLING_SALT), + EC_DUPLICATES(2), + EC_POKEMON(RHYHORN), + EC_POKEMON2(RHYHORN), + EC_MOVE(DOUBLE_EDGE), + EC_WORD_RIVAL, + EC_DUPLICATES(2), + EC_POKEMON(RHYDON), + EC_POKEMON2(RHYDON), + EC_WORD_STURDY, + EC_WORD_SHADY, + EC_MOVE2(ROLE_PLAY), + EC_WORD_ROMANTIC, + EC_POKEMON(ROSELIA), + EC_POKEMON2(JYNX), + EC_WORD_RPG, + EC_WORD_SMELL_YA, + EC_WORD_RUBY, + EC_MOVE2(BLOCK), + EC_MOVE(RETURN), + EC_MOVE2(QUICK_ATTACK), + EC_WORD_HALL_OF_FAME, + EC_WORD_DESTROYED, + EC_MOVE(TAIL_WHIP), +}; + +#define EC_WBL_OFFSET_S ARRAY_COUNT(gEasyChatWordsByLetter_R) + EC_WBL_OFFSET_R + +u16 gEasyChatWordsByLetter_S[] = { + EC_WORD_DROOLING, + EC_WORD_THINGS, + EC_POKEMON2(METAPOD), + EC_POKEMON(GOREBYSS), + EC_WORD_INCREDIBLE, + EC_WORD_SAYS, + EC_WORD_SAID, + EC_WORD_COLLECT, + EC_WORD_COLLECTION, + EC_WORD_SATURDAY, + EC_POKEMON(SEEDOT), + EC_DUPLICATES(2), + EC_POKEMON(SANDSLASH), + EC_POKEMON2(SANDSLASH), + EC_DUPLICATES(2), + EC_POKEMON(SANDSHREW), + EC_POKEMON2(SANDSHREW), + EC_MOVE(SAND_TOMB), + EC_WORD_SAND_VEIL, + EC_DUPLICATES(2), + EC_WORD_SAND_STREAM, + EC_MOVE(SANDSTORM), + EC_MOVE(SAND_ATTACK), + EC_WORD_DOCILE, + EC_WORD_SAPPHIRE, + EC_POKEMON2(VICTREEBEL), + EC_WORD_SUCTION_CUPS, + EC_MOVE2(ACID), + EC_MOVE2(ACID_ARMOR), + EC_MOVE2(DETECT), + EC_MOVE2(SKULL_BASH), + EC_MOVE2(HYPER_VOICE), + EC_POKEMON(SILCOON), + EC_MOVE(SHARPEN), + EC_WORD_APPRECIATE, + EC_MOVE(DIG), + EC_WORD_LOOKS, + EC_WORD_SEEMS, + EC_WORD_SHINE, + EC_MOVE2(LUSTER_PURGE), + EC_WORD_BREAK, + EC_WORD_HYPER_CUTTER, + EC_POKEMON2(SCIZOR), + EC_WORD_JOKING, + EC_WORD_TRENDY, + EC_POKEMON2(SQUIRTLE), + EC_POKEMON2(WARTORTLE), + EC_WORD_SLEEP, + EC_MOVE2(SLEEP_POWDER), + EC_MOVE2(SLEEP_TALK), + EC_WORD_SMACK, + EC_WORD_SMITE, + EC_MOVE2(SLUDGE), + EC_WORD_WELL, + EC_WORD_BAD, + EC_MOVE(LICK), + EC_WORD_TWIRLING, + EC_WORD_SLEPT, + EC_WORD_AWFUL, + EC_MOVE(SLASH), + EC_WORD_BEAT, + EC_POKEMON(SWALOT), + EC_POKEMON(GULPIN), + EC_POKEMON2(LICKITUNG), + EC_WORD_FINISH, + EC_MOVE(FLATTER), + EC_WORD_SCATTER, + EC_POKEMON(BARBOACH), + EC_MOVE2(PECK), + EC_MOVE(CLAMP), + EC_MOVE(SNORE), + EC_WORD_TRUANT, + EC_DUPLICATES(2), + EC_POKEMON(SLUGMA), + EC_POKEMON2(SLUGMA), + EC_WORD_FAST, + EC_POKEMON(SNORUNT), + EC_WORD_LOVEY_DOVEY, + EC_WORD_SADLY, + EC_MOVE(ODOR_SLEUTH), + EC_MOVE2(SHOCK_WAVE), + EC_WORD_KIDDING, + EC_WORD_THOSE_ARE, + EC_WORD_BEAUTIFUL, + EC_WORD_FORGIVE, + EC_WORD_GO_EASY, + EC_WORD_BEAUTY, + EC_WORD_TERRIBLE, + EC_WORD_CRY, + EC_WORD_CRIES, + EC_WORD_SCHOOL, + EC_WORD_SHAKY, + EC_MOVE2(PROTECT), + EC_WORD_THICK, + EC_WORD_WEAK, + EC_POKEMON(TAILLOW), + EC_POKEMON(SWELLOW), + EC_WORD_LEVITATE, + EC_MOVE2(TAIL_GLOW), + EC_WORD_HARD, + EC_MOVE2(SWORDS_DANCE), + EC_WORD_SISTER, + EC_WORD_GIDDY, + EC_WORD_MOMENTUM, + EC_DUPLICATES(2), + EC_POKEMON(KINGDRA), + EC_POKEMON2(KINGDRA), + EC_POKEMON(SEALEO), + EC_WORD_SPIRIT, + EC_DUPLICATES(2), + EC_POKEMON(SEADRA), + EC_POKEMON2(SEADRA), + EC_POKEMON(SPHEAL), + EC_DUPLICATES(2), + EC_POKEMON(HORSEA), + EC_POKEMON2(HORSEA), + EC_WORD_WORKS, + EC_MOVE2(FUTURE_SIGHT), + EC_WORD_VERY, + EC_WORD_BE, + EC_WORD_SHALLOW, + EC_WORD_HIS, + EC_WORD_BEING, + EC_WORD_SINCE, + EC_WORD_RARE, + EC_POKEMON(ZANGOOSE), + EC_WORD_SERVICE, + EC_WORD_SIGH, + EC_POKEMON(SHUPPET), + EC_POKEMON2(SCYTHER), + EC_WORD_SHE, + EC_WORD_THEY_VE, + EC_WORD_SOME, + EC_WORD_SHE_IS, + EC_WORD_WOMAN, + EC_WORD_THEY_RE, + EC_WORD_SHE_WAS, + EC_WORD_THEY_WERE, + EC_WORD_VICTORY, + EC_WORD_CAN_T_WIN, + EC_WORD_WHEN_I_WIN, + EC_WORD_SEES, + EC_MOVE2(LEER), + EC_MOVE(SILVER_WIND), + EC_DUPLICATES(2), + EC_POKEMON(ALAKAZAM), + EC_POKEMON2(ALAKAZAM), + EC_WORD_THOSE, + EC_WORD_AREN_T, + EC_WORD_SENSE, + EC_DUPLICATES(2), + EC_POKEMON(HERACROSS), + EC_POKEMON2(HERACROSS), + EC_POKEMON2(GLIGAR), + EC_MOVE2(SLAM), + EC_DUPLICATES(2), + EC_POKEMON(GRIMER), + EC_POKEMON2(GRIMER), + EC_DUPLICATES(2), + EC_POKEMON(MUK), + EC_POKEMON2(MUK), + EC_POKEMON2(BUTTERFREE), + EC_MOVE(SMOG), + EC_DUPLICATES(2), + EC_POKEMON(WEEZING), + EC_POKEMON2(WEEZING), + EC_DUPLICATES(2), + EC_POKEMON(KOFFING), + EC_POKEMON2(KOFFING), + EC_POKEMON2(SNEASEL), + EC_POKEMON2(PERSIAN), + EC_POKEMON2(SNUBBULL), + EC_WORD_SO, + EC_WORD_AS_MUCH_AS, + EC_WORD_SOFTWARE, + EC_MOVE(SOLAR_BEAM), + EC_WORD_WEREN_T, + EC_WORD_SUMMER, + EC_MOVE(EXTRASENSORY), + EC_WORD_SONG, + EC_WORD_SONGS, + EC_MOVE2(SUNNY_DAY), + EC_POKEMON(SOLROCK), + EC_POKEMON2(SUNFLORA), + EC_POKEMON2(SUNKERN), + EC_WORD_SUNDAY, + EC_WORD_WORRY, + EC_WORD_CARE, + EC_WORD_CARES, + EC_WORD_SORRY, + EC_MOVE(TICKLE), + EC_WORD_LATE, + EC_WORD_LATER, + EC_WORD_WALK, + EC_WORD_THICK_FAT, + EC_MOVE2(MIRROR_COAT), + EC_MOVE(MIRROR_MOVE), + EC_WORD_GAME, + EC_WORD_PLAY, + EC_WORD_PLAYS, + EC_WORD_PLAYED, + EC_WORD_TOYS, + EC_MOVE(SPIDER_WEB), + EC_POKEMON(SPOINK), + EC_WORD_EFFECT_SPORE, + EC_WORD_SPORTS, + EC_MOVE(FOLLOW_ME), + EC_MOVE2(BOUNCE), + EC_MOVE2(JUMP_KICK), + EC_MOVE(SHADOW_BALL), + EC_MOVE(STUN_SPORE), + EC_MOVE2(SPIKES), + EC_MOVE2(BATON_PASS), + EC_WORD_STEEL, + EC_MOVE2(STEEL_WING), + EC_POKEMON2(STEELIX), + EC_MOVE2(BARRAGE), + EC_MOVE2(STOMP), + EC_WORD_TOUGH, + EC_DUPLICATES(2), + EC_WORD_TOUGHNESS, + EC_MOVE(STRENGTH), + EC_WORD_STRONG, + EC_DUPLICATES(2), + EC_POKEMON(STARMIE), + EC_POKEMON2(STARMIE), + EC_WORD_START, + EC_WORD_STATIC, + EC_WORD_INSTEAD, + EC_MOVE(ROCK_SLIDE), + EC_WORD_ROCK_SOLID, + EC_WORD_ROCK_HEAD, + EC_MOVE(ROCK_THROW), + EC_DUPLICATES(2), + EC_POKEMON(STARYU), + EC_POKEMON2(STARYU), + EC_MOVE(METEOR_MASH), + EC_MOVE(SWIFT), + EC_POKEMON(AGGRON), + EC_POKEMON(LAIRON), + EC_POKEMON(ARON), + EC_WORD_STOP, + EC_WORD_STORY, + EC_WORD_STRATEGY, + EC_WORD_SEEK, + EC_WORD_FIGHTS, + EC_WORD_BANG, + EC_WORD_TORRENT, + EC_WORD_SEARCH, + EC_POKEMON2(SUICUNE), + EC_POKEMON(SWAMPERT), + EC_WORD_SUPER, + EC_MOVE2(SUPERSONIC), + EC_MOVE(SUPER_FANG), + EC_MOVE2(SURF), + EC_WORD_SYNCHRONIZE, + EC_MOVE(SYNTHESIS), + EC_WORD_SYSTEM, +}; + +#define EC_WBL_OFFSET_T ARRAY_COUNT(gEasyChatWordsByLetter_S) + EC_WBL_OFFSET_S + +u16 gEasyChatWordsByLetter_T[] = { + EC_MOVE2(TACKLE), + EC_WORD_DAY, + EC_WORD_HI, + EC_WORD_EXCUSE, + EC_WORD_DAYS, + EC_MOVE2(SLACK_OFF), + EC_WORD_DAYTIME, + EC_WORD_DAILY, + EC_WORD_TALENT, + EC_POKEMON2(TANGELA), + EC_POKEMON(BELDUM), + EC_POKEMON2(PINECO), + EC_WORD_AUNT, + EC_WORD_DANCE, + EC_MOVE2(CAMOUFLAGE), + EC_WORD_ALLOWANCE, + EC_POKEMON2(PIDGEOTTO), + EC_POKEMON2(PIDGEOT), + EC_POKEMON2(PIDGEY), + EC_MOVE2(DIVE), + EC_MOVE2(TEETER_DANCE), + EC_POKEMON2(TAUROS), + EC_WORD_TRADE, + EC_POKEMON2(TEDDIURSA), + EC_WORD_PHONE, + EC_MOVE2(TELEPORT), + EC_MOVE2(MACH_PUNCH), + EC_WORD_OWN_TEMPO, + EC_WORD_SPEED_BOOST, + EC_POKEMON(SHIFTRY), + EC_DUPLICATES(2), + EC_POKEMON(TENTACOOL), + EC_POKEMON2(TENTACOOL), + EC_DUPLICATES(2), + EC_POKEMON(TENTACRUEL), + EC_POKEMON2(TENTACRUEL), + EC_WORD_TEST, + EC_WORD_EXPENSIVE, + EC_WORD_DEEP, + EC_WORD_LOWS, + EC_WORD_DAUGHTER, + EC_MOVE(LOVELY_KISS), + EC_POKEMON2(TOGEPI), + EC_POKEMON2(TOGETIC), + EC_POKEMON(SHARPEDO), + EC_WORD_TOP, + EC_POKEMON2(TYPHLOSION), + EC_MOVE2(TOXIC), + EC_POKEMON2(CUBONE), + EC_WORD_TRAINER, + EC_WORD_TRAIN, + EC_WORD_TRAINS, + EC_POKEMON(RALTS), + EC_WORD_DREAM, + EC_POKEMON2(DROWZEE), + EC_MOVE2(DREAM_EATER), + EC_POKEMON2(MISDREAVUS), + EC_WORD_SAD, + EC_WORD_HIT, + EC_MOVE2(TRICK), + EC_WORD_MEETS, + EC_WORD_DRINK, + EC_WORD_DRINKS, + EC_MOVE2(TRI_ATTACK), + EC_POKEMON(TROPIUS), + EC_WORD_EVEN_SO, + EC_MOVE2(FALSE_SWIPE), + EC_MOVE(FAKE_TEARS), + EC_WORD_TRUMP_CARD, + EC_WORD_BYE_BYE, + EC_WORD_GOOD_BYE, + EC_WORD_TCH, + EC_MOVE(RAPID_SPIN), + EC_MOVE(EXTREME_SPEED), + EC_MOVE2(HI_JUMP_KICK), + EC_WORD_TOURNAMENT, + EC_POKEMON2(BLASTOISE), + EC_POKEMON(CACNEA), + EC_WORD_DOES, + EC_WORD_TYPE, + EC_WORD_DUDE, + EC_POKEMON2(CROCONAW), +}; + +#define EC_WBL_OFFSET_U ARRAY_COUNT(gEasyChatWordsByLetter_T) + EC_WBL_OFFSET_T + +u16 gEasyChatWordsByLetter_U[] = { + EC_WORD_OVER, + EC_WORD_HUSTLE, + EC_WORD_EXCESS, + EC_WORD_TOMORROW, + EC_MOVE2(SNATCH), + EC_WORD_SURPRISE, + EC_MOVE(SUBMISSION), + EC_WORD_OVERDO, + EC_MOVE(VITAL_THROW), + EC_WORD_AWW, + EC_WORD_UH_HUH, + EC_MOVE(SONIC_BOOM), + EC_POKEMON2(WEEPINBELL), + EC_WORD_UPSIDE_DOWN, + EC_WORD_ABOUT, + EC_MOVE(CONSTRICT), + EC_MOVE2(CONVERSION), + EC_MOVE2(CONVERSION_2), + EC_WORD_AND, + EC_WORD_UNBELIEVABLE, + EC_WORD_SCARY, + EC_WORD_DARK, + EC_WORD_IMPOSSIBLE, + EC_WORD_INVINCIBLE, + EC_WORD_OUR, + EC_WORD_BELOW, + EC_WORD_ENTERTAINING, + EC_WORD_NO_MATCH, + EC_WORD_LESSONS, + EC_WORD_UNAVOIDABLE, + EC_WORD_TRY, + EC_WORD_LACKING, + EC_WORD_VACATION, + EC_POKEMON2(URSARING), +}; + +#define EC_WBL_OFFSET_V ARRAY_COUNT(gEasyChatWordsByLetter_U) + EC_WBL_OFFSET_U + +u16 gEasyChatWordsByLetter_V[] = { + EC_WORD_FATHER, + EC_WORD_DATE, + EC_WORD_ALLY, + EC_WORD_DARN, + EC_MOVE(PURSUIT), + EC_MOVE2(REVENGE), + EC_WORD_FORGET, + EC_WORD_FORGETS, + EC_WORD_ADORE, + EC_MOVE2(TAUNT), + EC_WORD_MISHEARD, + EC_WORD_IF_I_LOSE, + EC_WORD_LOSE, + EC_WORD_LOST, + EC_WORD_LOSS, + EC_WORD_LIKELY_TO, + EC_WORD_WEIRD, + EC_WORD_DIFFERENT, + EC_WORD_DISAPPEAR, + EC_WORD_SINK, + EC_WORD_VERSION, + EC_WORD_PROMISE, + EC_WORD_UNDERSTOOD, + EC_WORD_NATURALLY, + EC_WORD_HIDDEN, + EC_WORD_UNDERSTAND, + EC_WORD_UNDERSTANDS, + EC_WORD_TRIES, + EC_WORD_TRUST, + EC_WORD_USING, + EC_WORD_CONFUSED, + EC_MOVE2(INGRAIN), + EC_MOVE2(SWALLOW), + EC_WORD_APOLOGIZE, + EC_MOVE2(STRUGGLE), + EC_POKEMON(VIBRAVA), + EC_WORD_A_LOT, + EC_WORD_MUCH, + EC_MOVE2(MEGAHORN), + EC_WORD_MAYBE, + EC_POKEMON(SEVIPER), + EC_MOVE(HEAL_BELL), + EC_WORD_KTHX_BYE, + EC_POKEMON(VOLBEAT), + EC_WORD_FULL, + EC_WORD_VOLT_ABSORB, + EC_POKEMON(MANECTRIC), + EC_POKEMON2(MAREEP), + EC_DUPLICATES(2), + EC_POKEMON(VOLTORB), + EC_POKEMON2(VOLTORB), + EC_WORD_FROM, + EC_WORD_BEFORE, + EC_WORD_LIKES, + EC_WORD_FRONT, + EC_WORD_PRETEND, + EC_DUPLICATES(2), + EC_POKEMON(NINETALES), + EC_POKEMON2(NINETALES), + EC_DUPLICATES(2), + EC_POKEMON(VULPIX), + EC_POKEMON2(VULPIX), +}; + +#define EC_WBL_OFFSET_W ARRAY_COUNT(gEasyChatWordsByLetter_V) + EC_WBL_OFFSET_V + +u16 gEasyChatWordsByLetter_W[] = { + EC_WORD_WAAAH, + EC_POKEMON2(FLAAFFY), + EC_POKEMON(SWABLU), + EC_WORD_GUARD, + EC_MOVE(GROWTH), + EC_WORD_WAKES_UP, + EC_WORD_RICKETY, + EC_WORD_WAHAHAHA, + EC_WORD_CHOICE, + EC_WORD_CHOOSE, + EC_WORD_WHILE, + EC_WORD_TRULY, + EC_POKEMON(WAILMER), + EC_POKEMON(WAILORD), + EC_POKEMON(WALREIN), + EC_MOVE(ROLLOUT), + EC_WORD_WALKING, + EC_WORD_WALKS, + EC_MOVE2(TRANSFORM), + EC_WORD_WAS, + EC_WORD_WASN_T, + EC_WORD_BEEN, + EC_WORD_WHY, + EC_WORD_WHAT, + EC_WORD_WHAT_S_UP_QUES, + EC_WORD_WATER, + EC_WORD_CHANNEL, + EC_WORD_SWIFT_SWIM, + EC_POKEMON(WURMPLE), + EC_POKEMON2(SPINARAK), + EC_WORD_CHANGE, + EC_WORD_SHADOW_TAG, + EC_MOVE2(SOFT_BOILED), + EC_WORD_REFUSE, + EC_WORD_MEET, + EC_WORD_KNOWS, + EC_MOVE(MIST), + EC_WORD_FAR, + EC_WORD_GO_AHEAD, + EC_WORD_WHICH, + EC_POKEMON(WHISCASH), + EC_WORD_WORLD, + EC_WORD_WHOM, + EC_WORD_A_TINY_BIT, + EC_WORD_LESS, + EC_WORD_IF, + EC_WORD_WHO, + EC_WORD_WHO_IS, + EC_WORD_WON_T, + EC_WORD_WILL, + EC_WORD_THROW, + EC_WORD_STICKY_HOLD, + EC_MOVE(SKILL_SWAP), + EC_WORD_NATURE, + EC_WORD_WHOSE, + EC_WORD_CONTEST, + EC_MOVE(WHIRLPOOL), + EC_WORD_IMPORTANT, + EC_MOVE2(WRAP), + EC_WORD_HOW_DO, + EC_WORD_HUH_QUES, + EC_POKEMON(CRADILY), + EC_POKEMON2(FURRET), + EC_POKEMON2(SENTRET), + EC_WORD_WILD, + EC_WORD_WANTS, + EC_MOVE(MIND_READER), + EC_WORD_WELCOME, + EC_MOVE2(TWISTER), + EC_MOVE(AIR_CUTTER), + EC_MOVE(GUST), + EC_POKEMON(WINGULL), + EC_WORD_WINTER, + EC_WORD_WE, + EC_WORD_WE_VE, + EC_WORD_WE_RE, + EC_WORD_SPIRALING, + EC_MOVE2(WHIRLWIND), + EC_WORD_BECOMES, + EC_WORD_WILL_BE_HERE, + EC_WORD_QUITE, + EC_WORD_KNOW, + EC_WORD_WHERE, + EC_WORD_WEEK, + EC_DUPLICATES(2), + EC_POKEMON(WOBBUFFET), + EC_POKEMON2(WOBBUFFET), + EC_WORD_CLOUD_NINE, + EC_WORD_WROOOAAR_EXCL, + EC_WORD_WORD, + EC_WORD_WOW, + EC_MOVE2(DYNAMIC_PUNCH), + EC_WORD_WONDER, + EC_WORD_WONDER_GUARD, + EC_MOVE2(WISH), + EC_WORD_WOULD, + EC_WORD_WERE, + EC_WORD_INCREASING, + EC_WORD_SILKY, + EC_WORD_ANGER, + EC_MOVE(OUTRAGE), + EC_WORD_ANGRY, +}; + +#define EC_WBL_OFFSET_X ARRAY_COUNT(gEasyChatWordsByLetter_W) + EC_WBL_OFFSET_W + +u16 gEasyChatWordsByLetter_X[] = { + EC_DUPLICATES(2), + EC_POKEMON(XATU), + EC_POKEMON2(XATU), +}; + +#define EC_WBL_OFFSET_Y ARRAY_COUNT(gEasyChatWordsByLetter_X) + EC_WBL_OFFSET_X + +u16 gEasyChatWordsByLetter_Y[] = { + EC_POKEMON2(YANMA), + EC_WORD_YEAH, + EC_WORD_YEAH_YEAH, + EC_WORD_COUPLE, +}; + +#define EC_WBL_OFFSET_Z ARRAY_COUNT(gEasyChatWordsByLetter_Y) + EC_WBL_OFFSET_Y + +u16 gEasyChatWordsByLetter_Z[] = { + EC_WORD_COUNT_ON, + EC_MOVE2(PAY_DAY), + EC_POKEMON2(ZAPDOS), + EC_MOVE2(MAGICAL_LEAF), + EC_WORD_SHOW, + EC_WORD_TIME, + EC_WORD_TIMES, + EC_MOVE2(CRUSH_CLAW), + EC_MOVE(CUT), + EC_MOVE(ROCK_SMASH), + EC_WORD_AIM, + EC_MOVE2(LOCK_ON), + EC_POKEMON(ZIGZAGOON), + EC_WORD_FIERY, + EC_WORD_WOBBLY, + EC_POKEMON(SABLEYE), + EC_WORD_LOSING, + EC_MOVE2(FURY_CUTTER), + EC_WORD_TO, + EC_WORD_TO_ME, + EC_WORD_TOO_WEAK, + EC_WORD_TOO_LATE, + EC_WORD_TOO_STRONG, + EC_DUPLICATES(2), + EC_POKEMON(ZUBAT), + EC_POKEMON2(ZUBAT), + EC_WORD_SATISFIED, + EC_MOVE(ENCORE), + EC_WORD_LISTEN, + EC_WORD_BACK, + EC_WORD_TOGETHER, + EC_WORD_SPECTATOR, + EC_MOVE2(ASSIST), + EC_POKEMON(DUSCLOPS), + EC_POKEMON(DUSKULL), +}; + +#define EC_WBL_OFFSET_End ARRAY_COUNT(gEasyChatWordsByLetter_Z) + EC_WBL_OFFSET_Z + +u16 gEasyChatWordsByLetter_End[] = { +}; + +u16 gEasyChatWordsByLetter[] = { + EC_WBL_OFFSET_Others, + EC_WBL_OFFSET_A, + EC_WBL_OFFSET_B, + EC_WBL_OFFSET_C, + EC_WBL_OFFSET_D, + EC_WBL_OFFSET_E, + EC_WBL_OFFSET_F, + EC_WBL_OFFSET_G, + EC_WBL_OFFSET_H, + EC_WBL_OFFSET_I, + EC_WBL_OFFSET_J, + EC_WBL_OFFSET_K, + EC_WBL_OFFSET_L, + EC_WBL_OFFSET_M, + EC_WBL_OFFSET_N, + EC_WBL_OFFSET_O, + EC_WBL_OFFSET_P, + EC_WBL_OFFSET_Q, + EC_WBL_OFFSET_R, + EC_WBL_OFFSET_S, + EC_WBL_OFFSET_T, + EC_WBL_OFFSET_U, + EC_WBL_OFFSET_V, + EC_WBL_OFFSET_W, + EC_WBL_OFFSET_X, + EC_WBL_OFFSET_Y, + EC_WBL_OFFSET_Z, + EC_WBL_OFFSET_End, +}; + +#endif // DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER_DE diff --git a/src/data/text/easy_chat/words_by_letter_en.h b/src/data/text/easy_chat/words_by_letter_en.h new file mode 100644 index 000000000..0f0612220 --- /dev/null +++ b/src/data/text/easy_chat/words_by_letter_en.h @@ -0,0 +1,2042 @@ +#ifndef DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER_EN +#define DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER_EN + +#define EC_DUPLICATES(count) (0xFF00 + (count)) +#include "constants/species.h" + +u16 gEasyChatWordsAlphabetized[] = { +}; + +#define EC_WBL_OFFSET_Others 0 + +u16 gEasyChatWordsByLetter_Others[] = { + EC_WORD_EXCL, + EC_WORD_EXCL_EXCL, + EC_WORD_DASH, + EC_WORD_DASH_DASH_DASH, + EC_WORD_ELLIPSIS, + EC_WORD_ELLIPSIS_EXCL, + EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, + EC_WORD_1_HIT_KO_EXCL, + EC_WORD_QUES, + EC_WORD_QUES_EXCL, +}; + +#define EC_WBL_OFFSET_A ARRAY_COUNT(gEasyChatWordsByLetter_Others) + EC_WBL_OFFSET_Others + +u16 gEasyChatWordsByLetter_A[] = { + EC_WORD_A, + EC_WORD_A_LITTLE, + EC_WORD_A_LOT, + EC_WORD_A_TINY_BIT, + EC_WORD_ABOUT, + EC_WORD_ABOVE, + EC_DUPLICATES(2), + EC_POKEMON(ABRA), + EC_POKEMON2(ABRA), + EC_WORD_ABSENT, + EC_POKEMON(ABSOL), + EC_WORD_ABSOLUTELY, + EC_MOVE(ABSORB), + EC_WORD_ACCEPT, + EC_MOVE2(ACID), + EC_MOVE2(ACID_ARMOR), + EC_WORD_ADORE, + EC_WORD_ADULT, + EC_WORD_ADVENTURE, + EC_MOVE2(AERIAL_ACE), + EC_MOVE(AEROBLAST), + EC_POKEMON2(AERODACTYL), + EC_WORD_AFTER, + EC_WORD_AGE, + EC_POKEMON(AGGRON), + EC_MOVE(AGILITY), + EC_WORD_AGREE, + EC_WORD_AHAHA, + EC_WORD_AIM, + EC_POKEMON2(AIPOM), + EC_MOVE(AIR_CUTTER), + EC_WORD_AIR_LOCK, + EC_WORD_AIYEEH, + EC_DUPLICATES(2), + EC_POKEMON(ALAKAZAM), + EC_POKEMON2(ALAKAZAM), + EC_WORD_ALL, + EC_WORD_ALL_RIGHT, + EC_WORD_ALLOW, + EC_WORD_ALLOWANCE, + EC_WORD_ALLY, + EC_WORD_ALMOST, + EC_WORD_ALONE, + EC_WORD_ALSO, + EC_WORD_ALT_COLOR, + EC_POKEMON(ALTARIA), + EC_WORD_ALTHOUGH, + EC_WORD_ALWAYS, + EC_WORD_AM, + EC_MOVE2(AMNESIA), + EC_POKEMON2(AMPHAROS), + EC_WORD_AMUSING, + EC_WORD_AN, + EC_MOVE(ANCIENT_POWER), + EC_WORD_AND, + EC_WORD_ANGER, + EC_WORD_ANGERS, + EC_WORD_ANGRY, + EC_WORD_ANIME, + EC_POKEMON(ANORITH), + EC_WORD_ANOTHER, + EC_WORD_ANTICIPATION, + EC_WORD_ANY, + EC_WORD_ANYWHERE, + EC_WORD_APOLOGIZE, + EC_WORD_APPEAL, + EC_WORD_APPEAR, + EC_WORD_APPEARS, + EC_WORD_APPRECIATE, + EC_WORD_APPROVED, + EC_POKEMON2(ARBOK), + EC_POKEMON2(ARCANINE), + EC_WORD_ARE, + EC_WORD_AREN_T, + EC_WORD_ARENA_TRAP, + EC_POKEMON2(ARIADOS), + EC_MOVE2(ARM_THRUST), + EC_POKEMON(ARMALDO), + EC_MOVE(AROMATHERAPY), + EC_POKEMON(ARON), + EC_WORD_AROUND, + EC_WORD_ARRGH, + EC_POKEMON2(ARTICUNO), + EC_WORD_AS, + EC_WORD_AS_IF, + EC_WORD_AS_MUCH_AS, + EC_MOVE2(ASSIST), + EC_MOVE(ASTONISH), + EC_WORD_AT, + EC_WORD_ATTACK, + EC_MOVE2(ATTRACT), + EC_WORD_AUNT, + EC_MOVE(AURORA_BEAM), + EC_WORD_AVANT_GARDE, + EC_WORD_AWAY, + EC_WORD_AWESOME, + EC_WORD_AWFUL, + EC_WORD_AWFULLY, + EC_WORD_AWW, + EC_DUPLICATES(2), + EC_POKEMON(AZUMARILL), + EC_POKEMON2(AZUMARILL), + EC_POKEMON(AZURILL), +}; + +#define EC_WBL_OFFSET_B ARRAY_COUNT(gEasyChatWordsByLetter_A) + EC_WBL_OFFSET_A + +u16 gEasyChatWordsByLetter_B[] = { + EC_WORD_BABE, + EC_WORD_BABY, + EC_WORD_BACK, + EC_WORD_BAD, + EC_WORD_BADLY, + EC_POKEMON(BAGON), + EC_WORD_BALL, + EC_POKEMON(BALTOY), + EC_POKEMON(BANETTE), + EC_WORD_BANG, + EC_POKEMON(BARBOACH), + EC_MOVE2(BARRAGE), + EC_MOVE2(BARRIER), + EC_WORD_BATH, + EC_MOVE2(BATON_PASS), + EC_WORD_BATTLE, + EC_WORD_BATTLE_ARMOR, + EC_WORD_BATTLE_ROOM, + EC_WORD_BATTLE_TOWER, + EC_POKEMON2(BAYLEEF), + EC_WORD_BE, + EC_WORD_BEAT, + EC_MOVE2(BEAT_UP), + EC_POKEMON(BEAUTIFLY), + EC_WORD_BEAUTIFUL, + EC_WORD_BEAUTY, + EC_WORD_BECOMES, + EC_POKEMON2(BEEDRILL), + EC_WORD_BEEN, + EC_WORD_BEFORE, + EC_WORD_BEGINNING, + EC_WORD_BEING, + EC_POKEMON(BELDUM), + EC_WORD_BELIEVE, + EC_DUPLICATES(2), + EC_POKEMON(BELLOSSOM), + EC_POKEMON2(BELLOSSOM), + EC_POKEMON2(BELLSPROUT), + EC_MOVE2(BELLY_DRUM), + EC_WORD_BELONGS_TO, + EC_WORD_BELOW, + EC_WORD_BERRY, + EC_WORD_BESIDE, + EC_WORD_BEST, + EC_WORD_BETTER, + EC_MOVE(BIDE), + EC_WORD_BIG, + EC_WORD_BIKE, + EC_MOVE(BIND), + EC_MOVE(BITE), + EC_POKEMON2(BLASTOISE), + EC_WORD_BLAZE, + EC_MOVE2(BLAZE_KICK), + EC_POKEMON(BLAZIKEN), + EC_WORD_BLEND, + EC_POKEMON2(BLISSEY), + EC_MOVE2(BLIZZARD), + EC_MOVE2(BLOCK), + EC_WORD_BOARD, + EC_MOVE2(BODY_SLAM), + EC_MOVE2(BONE_CLUB), + EC_MOVE2(BONE_RUSH), + EC_MOVE2(BONEMERANG), + EC_WORD_BOOK, + EC_WORD_BORED, + EC_WORD_BORING, + EC_MOVE2(BOUNCE), + EC_WORD_BOY, + EC_WORD_BRAG, + EC_WORD_BREAK, + EC_POKEMON(BRELOOM), + EC_MOVE(BRICK_BREAK), + EC_WORD_BROTHER, + EC_MOVE(BUBBLE), + EC_MOVE2(BUBBLE_BEAM), + EC_WORD_BUG, + EC_POKEMON2(BULBASAUR), + EC_MOVE2(BULK_UP), + EC_MOVE2(BULLET_SEED), + EC_WORD_BUSY, + EC_WORD_BUT, + EC_POKEMON2(BUTTERFREE), + EC_WORD_BYE_BYE, +}; + +#define EC_WBL_OFFSET_C ARRAY_COUNT(gEasyChatWordsByLetter_B) + EC_WBL_OFFSET_B + +u16 gEasyChatWordsByLetter_C[] = { + EC_POKEMON(CACNEA), + EC_POKEMON(CACTURNE), + EC_MOVE2(CALM_MIND), + EC_WORD_CAME, + EC_WORD_CAMERA, + EC_POKEMON(CAMERUPT), + EC_MOVE2(CAMOUFLAGE), + EC_WORD_CAN, + EC_WORD_CAN_WIN, + EC_WORD_CAN_T, + EC_WORD_CAN_T_WIN, + EC_WORD_CANCEL, + EC_WORD_CAPABLE, + EC_WORD_CARDS, + EC_WORD_CARE, + EC_WORD_CARES, + EC_POKEMON(CARVANHA), + EC_POKEMON(CASCOON), + EC_WORD_CASE, + EC_POKEMON(CASTFORM), + EC_POKEMON2(CATERPIE), + EC_WORD_CAUSE, + EC_POKEMON2(CELEBI), + EC_WORD_CENTER, + EC_WORD_CHALLENGE, + EC_WORD_CHANGE, + EC_WORD_CHANNEL, + EC_POKEMON2(CHANSEY), + EC_MOVE(CHARGE), + EC_POKEMON2(CHARIZARD), + EC_MOVE(CHARM), + EC_POKEMON2(CHARMANDER), + EC_POKEMON2(CHARMELEON), + EC_WORD_CHAT, + EC_POKEMON2(CHIKORITA), + EC_WORD_CHILD_S_PLAY, + EC_WORD_CHILDREN, + EC_POKEMON(CHIMECHO), + EC_DUPLICATES(2), + EC_POKEMON(CHINCHOU), + EC_POKEMON2(CHINCHOU), + EC_WORD_CHLOROPHYLL, + EC_WORD_CHOICE, + EC_WORD_CHOOSE, + EC_WORD_CHORES, + EC_MOVE(CLAMP), + EC_POKEMON(CLAMPERL), + EC_WORD_CLASS, + EC_POKEMON(CLAYDOL), + EC_WORD_CLEAR_BODY, + EC_POKEMON2(CLEFABLE), + EC_POKEMON2(CLEFAIRY), + EC_POKEMON2(CLEFFA), + EC_WORD_CLOSE, + EC_WORD_CLOUD_NINE, + EC_POKEMON2(CLOYSTER), + EC_WORD_COLD, + EC_WORD_COLLECT, + EC_WORD_COLLECTION, + EC_WORD_COLOR, + EC_WORD_COLOR_CHANGE, + EC_POKEMON(COMBUSKEN), + EC_WORD_COME, + EC_WORD_COME_ON, + EC_WORD_COME_OVER, + EC_MOVE2(COMET_PUNCH), + EC_WORD_COMICS, + EC_WORD_COMMEMORATE, + EC_WORD_COMPLETE, + EC_WORD_COMPOUNDEYES, + EC_WORD_CONCEDE, + EC_MOVE(CONFUSE_RAY), + EC_WORD_CONFUSED, + EC_MOVE2(CONFUSION), + EC_WORD_CONGRATS, + EC_MOVE(CONSTRICT), + EC_WORD_CONTEST, + EC_WORD_CONVERSATION, + EC_MOVE2(CONVERSION), + EC_MOVE2(CONVERSION_2), + EC_WORD_COOL, + EC_WORD_COOLNESS, + EC_POKEMON(CORPHISH), + EC_WORD_CORRECT, + EC_DUPLICATES(2), + EC_POKEMON(CORSOLA), + EC_POKEMON2(CORSOLA), + EC_MOVE(COSMIC_POWER), + EC_MOVE2(COTTON_SPORE), + EC_WORD_COULD, + EC_WORD_COULDN_T, + EC_WORD_COUNT_ON, + EC_MOVE(COUNTER), + EC_WORD_COUPLE, + EC_MOVE2(COVET), + EC_MOVE(CRABHAMMER), + EC_POKEMON(CRADILY), + EC_POKEMON(CRAWDAUNT), + EC_WORD_CRIES, + EC_DUPLICATES(2), + EC_POKEMON(CROBAT), + EC_POKEMON2(CROBAT), + EC_POKEMON2(CROCONAW), + EC_MOVE(CROSS_CHOP), + EC_MOVE(CRUNCH), + EC_MOVE2(CRUSH_CLAW), + EC_WORD_CRY, + EC_POKEMON2(CUBONE), + EC_WORD_CURRENT, + EC_MOVE2(CURSE), + EC_MOVE(CUT), + EC_WORD_CUTE, + EC_WORD_CUTE_CHARM, + EC_WORD_CUTENESS, + EC_POKEMON2(CYNDAQUIL), +}; + +#define EC_WBL_OFFSET_D ARRAY_COUNT(gEasyChatWordsByLetter_C) + EC_WBL_OFFSET_C + +u16 gEasyChatWordsByLetter_D[] = { + EC_WORD_DAILY, + EC_WORD_DAMP, + EC_WORD_DANCE, + EC_WORD_DANGER, + EC_WORD_DARK, + EC_WORD_DARN, + EC_WORD_DATE, + EC_WORD_DAUGHTER, + EC_WORD_DAY, + EC_WORD_DAYS, + EC_WORD_DAYTIME, + EC_WORD_DECIDE, + EC_WORD_DECIDED, + EC_WORD_DEEP, + EC_WORD_DEFEATED, + EC_MOVE2(DEFENSE_CURL), + EC_POKEMON(DELCATTY), + EC_POKEMON2(DELIBIRD), + EC_POKEMON(DEOXYS), + EC_WORD_DEPT_STORE, + EC_WORD_DESIGN, + EC_WORD_DESTINY, + EC_MOVE2(DESTINY_BOND), + EC_WORD_DESTROYED, + EC_MOVE2(DETECT), + EC_POKEMON2(DEWGONG), + EC_WORD_DID, + EC_WORD_DIDN_T, + EC_WORD_DIET, + EC_WORD_DIFFERENT, + EC_MOVE(DIG), + EC_WORD_DIGITAL, + EC_POKEMON2(DIGLETT), + EC_MOVE(DISABLE), + EC_WORD_DISAPPEAR, + EC_WORD_DISAPPOINT, + EC_WORD_DISAPPOINTED, + EC_WORD_DISAPPOINTS, + EC_WORD_DISASTER, + EC_WORD_DISLIKE, + EC_WORD_DISLIKES, + EC_POKEMON2(DITTO), + EC_MOVE2(DIVE), + EC_MOVE2(DIZZY_PUNCH), + EC_WORD_DO, + EC_WORD_DOCILE, + EC_DUPLICATES(2), + EC_POKEMON(DODRIO), + EC_POKEMON2(DODRIO), + EC_DUPLICATES(2), + EC_POKEMON(DODUO), + EC_POKEMON2(DODUO), + EC_WORD_DOES, + EC_WORD_DOESN_T, + EC_WORD_DON_T, + EC_WORD_DONE, + EC_DUPLICATES(2), + EC_POKEMON(DONPHAN), + EC_POKEMON2(DONPHAN), + EC_MOVE2(DOUBLE_KICK), + EC_MOVE(DOUBLE_TEAM), + EC_MOVE(DOUBLE_EDGE), + EC_MOVE(DOUBLE_SLAP), + EC_WORD_DOWN, + EC_WORD_DOWNCAST, + EC_WORD_DRAGON, + EC_MOVE2(DRAGON_CLAW), + EC_MOVE2(DRAGON_DANCE), + EC_MOVE2(DRAGON_RAGE), + EC_POKEMON2(DRAGONAIR), + EC_MOVE2(DRAGON_BREATH), + EC_POKEMON2(DRAGONITE), + EC_POKEMON2(DRATINI), + EC_WORD_DREAM, + EC_MOVE2(DREAM_EATER), + EC_MOVE2(DRILL_PECK), + EC_WORD_DRINK, + EC_WORD_DRINKS, + EC_WORD_DRIZZLE, + EC_WORD_DROOLING, + EC_WORD_DROUGHT, + EC_POKEMON2(DROWZEE), + EC_WORD_DUDE, + EC_POKEMON2(DUGTRIO), + EC_POKEMON2(DUNSPARCE), + EC_POKEMON(DUSCLOPS), + EC_POKEMON(DUSKULL), + EC_POKEMON(DUSTOX), + EC_MOVE2(DYNAMIC_PUNCH), +}; + +#define EC_WBL_OFFSET_E ARRAY_COUNT(gEasyChatWordsByLetter_D) + EC_WBL_OFFSET_D + +u16 gEasyChatWordsByLetter_E[] = { + EC_WORD_EARLIER, + EC_WORD_EARLY_BIRD, + EC_MOVE(EARTHQUAKE), + EC_WORD_EASY, + EC_WORD_EAT, + EC_WORD_EATS, + EC_WORD_EEK, + EC_POKEMON2(EEVEE), + EC_WORD_EFFECT_SPORE, + EC_WORD_EGG, + EC_MOVE2(EGG_BOMB), + EC_WORD_EH_QUES, + EC_WORD_EHEHE, + EC_POKEMON2(EKANS), + EC_POKEMON2(ELECTABUZZ), + EC_WORD_ELECTRIC, + EC_POKEMON(ELECTRIKE), + EC_DUPLICATES(2), + EC_POKEMON(ELECTRODE), + EC_POKEMON2(ELECTRODE), + EC_POKEMON2(ELEKID), + EC_WORD_ELSE, + EC_MOVE2(EMBER), + EC_MOVE(ENCORE), + EC_WORD_ENCYCLOPEDIA, + EC_WORD_END, + EC_MOVE(ENDEAVOR), + EC_MOVE(ENDURE), + EC_WORD_ENJOY, + EC_WORD_ENJOYS, + EC_WORD_ENOUGH, + EC_POKEMON2(ENTEI), + EC_WORD_ENTERTAINING, + EC_MOVE2(ERUPTION), + EC_WORD_ESCAPE, + EC_POKEMON2(ESPEON), + EC_WORD_EVEN_SO, + EC_WORD_EVENT, + EC_WORD_EVENTS, + EC_WORD_EVER, + EC_WORD_EVERY, + EC_WORD_EVOLUTION, + EC_WORD_EVOLVE, + EC_WORD_EXCELLENT, + EC_WORD_EXCESS, + EC_WORD_EXCITE, + EC_WORD_EXCITING, + EC_WORD_EXCUSE, + EC_WORD_EXCUSE_ME, + EC_POKEMON2(EXEGGCUTE), + EC_POKEMON2(EXEGGUTOR), + EC_WORD_EXISTS, + EC_WORD_EXPENSIVE, + EC_MOVE2(EXPLOSION), + EC_POKEMON(EXPLOUD), + EC_MOVE(EXTRASENSORY), + EC_MOVE(EXTREME_SPEED), +}; + +#define EC_WBL_OFFSET_F ARRAY_COUNT(gEasyChatWordsByLetter_E) + EC_WBL_OFFSET_E + +u16 gEasyChatWordsByLetter_F[] = { + EC_WORD_FABULOUS, + EC_MOVE(FACADE), + EC_WORD_FAINT, + EC_MOVE2(FAINT_ATTACK), + EC_WORD_FAINTED, + EC_MOVE2(FAKE_OUT), + EC_MOVE(FAKE_TEARS), + EC_WORD_FALL, + EC_MOVE2(FALSE_SWIPE), + EC_WORD_FAMILY, + EC_WORD_FANTASTIC, + EC_WORD_FAR, + EC_POKEMON2(FARFETCHD), + EC_WORD_FASHION, + EC_WORD_FAST, + EC_WORD_FATHER, + EC_WORD_FEAR, + EC_POKEMON2(FEAROW), + EC_MOVE2(FEATHER_DANCE), + EC_POKEMON(FEEBAS), + EC_WORD_FEELING, + EC_POKEMON2(FERALIGATR), + EC_WORD_FESTIVAL, + EC_WORD_FEVER, + EC_WORD_FIERY, + EC_WORD_FIGHT, + EC_WORD_FIGHTING, + EC_WORD_FIGHTS, + EC_WORD_FINAL, + EC_WORD_FINALLY, + EC_WORD_FINISH, + EC_WORD_FIRE, + EC_MOVE2(FIRE_BLAST), + EC_MOVE2(FIRE_PUNCH), + EC_MOVE2(FIRE_SPIN), + EC_WORD_FISHING, + EC_MOVE(FISSURE), + EC_POKEMON2(FLAAFFY), + EC_MOVE(FLAIL), + EC_WORD_FLAME_BODY, + EC_MOVE(FLAME_WHEEL), + EC_MOVE(FLAMETHROWER), + EC_POKEMON2(FLAREON), + EC_MOVE2(FLASH), + EC_WORD_FLASH_FIRE, + EC_WORD_FLATTEN, + EC_MOVE(FLATTER), + EC_WORD_FLOWERS, + EC_MOVE(FLY), + EC_POKEMON(FLYGON), + EC_WORD_FLYING, + EC_MOVE(FOCUS_ENERGY), + EC_MOVE(FOCUS_PUNCH), + EC_WORD_FOE, + EC_MOVE(FOLLOW_ME), + EC_WORD_FOR, + EC_WORD_FOR_NOW, + EC_WORD_FORECAST, + EC_MOVE2(FORESIGHT), + EC_WORD_FOREVER, + EC_WORD_FORGET, + EC_WORD_FORGETS, + EC_WORD_FORGIVE, + EC_POKEMON2(FORRETRESS), + EC_WORD_FRIDAY, + EC_WORD_FRIEND, + EC_WORD_FROM, + EC_WORD_FRONT, + EC_MOVE2(FRUSTRATION), + EC_WORD_FUFUFU, + EC_WORD_FULL, + EC_WORD_FUNNY, + EC_POKEMON2(FURRET), + EC_MOVE2(FURY_ATTACK), + EC_MOVE2(FURY_CUTTER), + EC_MOVE2(FURY_SWIPES), + EC_MOVE2(FUTURE_SIGHT), +}; + +#define EC_WBL_OFFSET_G ARRAY_COUNT(gEasyChatWordsByLetter_F) + EC_WBL_OFFSET_F + +u16 gEasyChatWordsByLetter_G[] = { + EC_WORD_GAME, + EC_POKEMON(GARDEVOIR), + EC_POKEMON2(GASTLY), + EC_POKEMON2(GENGAR), + EC_WORD_GENIUS, + EC_DUPLICATES(2), + EC_POKEMON(GEODUDE), + EC_POKEMON2(GEODUDE), + EC_WORD_GET, + EC_WORD_GETS, + EC_WORD_GHOST, + EC_WORD_GIDDY, + EC_MOVE(GIGA_DRAIN), + EC_WORD_GIGGLE, + EC_WORD_GIMME, + EC_DUPLICATES(2), + EC_POKEMON(GIRAFARIG), + EC_POKEMON2(GIRAFARIG), + EC_WORD_GIRL, + EC_WORD_GIVE, + EC_WORD_GIVE_ME, + EC_WORD_GIVE_UP, + EC_WORD_GIVES, + EC_POKEMON(GLALIE), + EC_MOVE2(GLARE), + EC_POKEMON2(GLIGAR), + EC_DUPLICATES(2), + EC_POKEMON(GLOOM), + EC_POKEMON2(GLOOM), + EC_WORD_GO, + EC_WORD_GO_AHEAD, + EC_WORD_GO_EASY, + EC_WORD_GO_HOME, + EC_WORD_GOES, + EC_WORD_GOING, + EC_DUPLICATES(2), + EC_POKEMON(GOLBAT), + EC_POKEMON2(GOLBAT), + EC_DUPLICATES(2), + EC_POKEMON(GOLDEEN), + EC_POKEMON2(GOLDEEN), + EC_DUPLICATES(2), + EC_POKEMON(GOLDUCK), + EC_POKEMON2(GOLDUCK), + EC_DUPLICATES(2), + EC_POKEMON(GOLEM), + EC_POKEMON2(GOLEM), + EC_WORD_GOOD, + EC_WORD_GOOD_BYE, + EC_POKEMON(GOREBYSS), + EC_WORD_GOT, + EC_WORD_GOTCHA, + EC_WORD_GOURMET, + EC_WORD_GRAAAH, + EC_POKEMON2(GRANBULL), + EC_WORD_GRANDFATHER, + EC_WORD_GRANDMOTHER, + EC_WORD_GRASS, + EC_MOVE(GRASS_WHISTLE), + EC_DUPLICATES(2), + EC_POKEMON(GRAVELER), + EC_POKEMON2(GRAVELER), + EC_WORD_GREAT, + EC_DUPLICATES(2), + EC_POKEMON(GRIMER), + EC_POKEMON2(GRIMER), + EC_POKEMON(GROUDON), + EC_WORD_GROUND, + EC_WORD_GROUP, + EC_POKEMON(GROVYLE), + EC_MOVE2(GROWL), + EC_POKEMON2(GROWLITHE), + EC_MOVE(GROWTH), + EC_MOVE(GRUDGE), + EC_POKEMON(GRUMPIG), + EC_WORD_GUARD, + EC_MOVE2(GUILLOTINE), + EC_POKEMON(GULPIN), + EC_MOVE(GUST), + EC_WORD_GUTS, + EC_WORD_GUTSY, + EC_WORD_GWAH, + EC_WORD_GWAHAHAHA, + EC_DUPLICATES(2), + EC_POKEMON(GYARADOS), + EC_POKEMON2(GYARADOS), +}; + +#define EC_WBL_OFFSET_H ARRAY_COUNT(gEasyChatWordsByLetter_G) + EC_WBL_OFFSET_G + +u16 gEasyChatWordsByLetter_H[] = { + EC_WORD_HABIT, + EC_WORD_HAH, + EC_WORD_HAHAHA, + EC_MOVE(HAIL), + EC_WORD_HALL_OF_FAME, + EC_WORD_HAPPENING, + EC_WORD_HAPPILY, + EC_WORD_HAPPINESS, + EC_WORD_HAPPY, + EC_WORD_HARD, + EC_MOVE(HARDEN), + EC_POKEMON(HARIYAMA), + EC_WORD_HAS, + EC_WORD_HASSLE, + EC_POKEMON2(HAUNTER), + EC_WORD_HAVE, + EC_WORD_HAVEN_T, + EC_MOVE(HAZE), + EC_WORD_HE, + EC_WORD_HE_S, + EC_MOVE(HEADBUTT), + EC_MOVE(HEAL_BELL), + EC_WORD_HEALTHY, + EC_WORD_HEAR, + EC_WORD_HEARING, + EC_WORD_HEARS, + EC_WORD_HEART, + EC_MOVE2(HEAT_WAVE), + EC_WORD_HEH, + EC_WORD_HEHE, + EC_WORD_HEHEHE, + EC_WORD_HELLO, + EC_MOVE2(HELPING_HAND), + EC_WORD_HER, + EC_WORD_HERS, + EC_DUPLICATES(2), + EC_POKEMON(HERACROSS), + EC_POKEMON2(HERACROSS), + EC_WORD_HERE, + EC_WORD_HERE_GOES, + EC_WORD_HERE_I_COME, + EC_WORD_HERE_IT_IS, + EC_WORD_HERO, + EC_WORD_HEROINE, + EC_WORD_HEY, + EC_WORD_HEY_THERE, + EC_WORD_HEY_QUES, + EC_WORD_HI, + EC_MOVE2(HI_JUMP_KICK), + EC_WORD_HIDDEN, + EC_MOVE2(HIDDEN_POWER), + EC_WORD_HIGH, + EC_WORD_HIGHS, + EC_WORD_HIM, + EC_WORD_HIP_AND, + EC_WORD_HIS, + EC_WORD_HIT, + EC_POKEMON2(HITMONCHAN), + EC_POKEMON2(HITMONLEE), + EC_POKEMON2(HITMONTOP), + EC_WORD_HIYAH, + EC_WORD_HMM, + EC_POKEMON2(HO_OH), + EC_WORD_HOBBY, + EC_WORD_HOHOHO, + EC_WORD_HOLIDAY, + EC_WORD_HOME, + EC_WORD_HOO_HAH, + EC_POKEMON2(HOOTHOOT), + EC_WORD_HOPELESS, + EC_POKEMON2(HOPPIP), + EC_MOVE2(HORN_ATTACK), + EC_MOVE2(HORN_DRILL), + EC_DUPLICATES(2), + EC_POKEMON(HORSEA), + EC_POKEMON2(HORSEA), + EC_WORD_HOT, + EC_POKEMON2(HOUNDOOM), + EC_POKEMON2(HOUNDOUR), + EC_WORD_HOW, + EC_WORD_HOW_DO, + EC_WORD_HOWEVER, + EC_MOVE2(HOWL), + EC_WORD_HUGE_POWER, + EC_WORD_HUH_QUES, + EC_WORD_HUMPH, + EC_WORD_HUNGRY, + EC_POKEMON(HUNTAIL), + EC_WORD_HURRIED, + EC_WORD_HUSTLE, + EC_MOVE2(HYDRO_PUMP), + EC_WORD_HYPER, + EC_MOVE2(HYPER_BEAM), + EC_WORD_HYPER_CUTTER, + EC_MOVE2(HYPER_FANG), + EC_MOVE2(HYPER_VOICE), + EC_POKEMON2(HYPNO), + EC_MOVE(HYPNOSIS), +}; + +#define EC_WBL_OFFSET_I ARRAY_COUNT(gEasyChatWordsByLetter_H) + EC_WBL_OFFSET_H + +u16 gEasyChatWordsByLetter_I[] = { + EC_WORD_I, + EC_WORD_I_AM, + EC_WORD_I_CHOOSE_YOU, + EC_WORD_I_WAS, + EC_WORD_I_VE, + EC_WORD_I_VE_ARRIVED, + EC_WORD_ICE, + EC_MOVE(ICE_BALL), + EC_MOVE2(ICE_BEAM), + EC_MOVE2(ICE_PUNCH), + EC_MOVE(ICY_WIND), + EC_WORD_IDOL, + EC_WORD_IF, + EC_WORD_IF_I_LOSE, + EC_WORD_IF_I_WIN, + EC_DUPLICATES(2), + EC_POKEMON(IGGLYBUFF), + EC_POKEMON2(IGGLYBUFF), + EC_WORD_IGNORANT, + EC_WORD_ILLUMINATE, + EC_POKEMON(ILLUMISE), + EC_WORD_IMMUNITY, + EC_WORD_IMPORTANT, + EC_WORD_IMPOSSIBLE, + EC_MOVE2(IMPRISON), + EC_WORD_IN, + EC_WORD_INCREASING, + EC_WORD_INCREDIBLE, + EC_WORD_INFORMATION, + EC_MOVE2(INGRAIN), + EC_WORD_INNER_FOCUS, + EC_WORD_INSIDE, + EC_WORD_INSOMNIA, + EC_WORD_INSTEAD, + EC_WORD_INTIMIDATE, + EC_WORD_INVINCIBLE, + EC_MOVE2(IRON_DEFENSE), + EC_MOVE(IRON_TAIL), + EC_WORD_IS, + EC_WORD_IS_IT_QUES, + EC_WORD_ISN_T, + EC_WORD_ISN_T_IT_QUES, + EC_WORD_IT, + EC_WORD_IT_S, + EC_WORD_ITEM, + EC_POKEMON2(IVYSAUR), +}; + +#define EC_WBL_OFFSET_J ARRAY_COUNT(gEasyChatWordsByLetter_I) + EC_WBL_OFFSET_I + +u16 gEasyChatWordsByLetter_J[] = { + EC_DUPLICATES(2), + EC_POKEMON(JIGGLYPUFF), + EC_POKEMON2(JIGGLYPUFF), + EC_POKEMON(JIRACHI), + EC_WORD_JOKING, + EC_POKEMON2(JOLTEON), + EC_WORD_JOY, + EC_WORD_JUDGE, + EC_MOVE2(JUMP_KICK), + EC_POKEMON2(JUMPLUFF), + EC_WORD_JUST, + EC_POKEMON2(JYNX), +}; + +#define EC_WBL_OFFSET_K ARRAY_COUNT(gEasyChatWordsByLetter_J) + EC_WBL_OFFSET_J + +u16 gEasyChatWordsByLetter_K[] = { + EC_POKEMON2(KABUTO), + EC_POKEMON2(KABUTOPS), + EC_DUPLICATES(2), + EC_POKEMON(KADABRA), + EC_POKEMON2(KADABRA), + EC_POKEMON2(KAKUNA), + EC_POKEMON2(KANGASKHAN), + EC_MOVE(KARATE_CHOP), + EC_POKEMON(KECLEON), + EC_WORD_KEEN_EYE, + EC_WORD_KID, + EC_WORD_KIDDING, + EC_WORD_KIND, + EC_WORD_KINDERGARTEN, + EC_MOVE(KINESIS), + EC_DUPLICATES(2), + EC_POKEMON(KINGDRA), + EC_POKEMON2(KINGDRA), + EC_POKEMON2(KINGLER), + EC_POKEMON(KIRLIA), + EC_MOVE2(KNOCK_OFF), + EC_WORD_KNOCKOUT, + EC_WORD_KNOW, + EC_WORD_KNOWS, + EC_DUPLICATES(2), + EC_POKEMON(KOFFING), + EC_POKEMON2(KOFFING), + EC_POKEMON2(KRABBY), + EC_WORD_KTHX_BYE, + EC_POKEMON(KYOGRE), +}; + +#define EC_WBL_OFFSET_L ARRAY_COUNT(gEasyChatWordsByLetter_K) + EC_WBL_OFFSET_K + +u16 gEasyChatWordsByLetter_L[] = { + EC_WORD_LACKING, + EC_WORD_LACKS, + EC_WORD_LADY, + EC_POKEMON(LAIRON), + EC_WORD_LALALA, + EC_DUPLICATES(2), + EC_POKEMON(LANTURN), + EC_POKEMON2(LANTURN), + EC_POKEMON2(LAPRAS), + EC_POKEMON2(LARVITAR), + EC_WORD_LAST, + EC_WORD_LATE, + EC_WORD_LATER, + EC_POKEMON(LATIAS), + EC_POKEMON(LATIOS), + EC_WORD_LAVISH, + EC_WORD_LAY, + EC_WORD_LEADER, + EC_WORD_LEADERS, + EC_MOVE2(LEAF_BLADE), + EC_WORD_LEARN, + EC_POKEMON2(LEDIAN), + EC_POKEMON2(LEDYBA), + EC_MOVE(LEECH_LIFE), + EC_MOVE2(LEECH_SEED), + EC_MOVE2(LEER), + EC_WORD_LEFT, + EC_WORD_LEGEND, + EC_WORD_LESS, + EC_WORD_LESSONS, + EC_WORD_LET_ME_WIN, + EC_WORD_LET_S, + EC_WORD_LETTER, + EC_WORD_LEVEL, + EC_WORD_LEVITATE, + EC_MOVE(LICK), + EC_POKEMON2(LICKITUNG), + EC_WORD_LIE, + EC_WORD_LIFE, + EC_MOVE2(LIGHT_SCREEN), + EC_WORD_LIGHTNINGROD, + EC_WORD_LIKE, + EC_WORD_LIKELY_TO, + EC_WORD_LIKES, + EC_POKEMON(LILEEP), + EC_WORD_LIMBER, + EC_WORD_LINK, + EC_POKEMON(LINOONE), + EC_WORD_LIQUID_OOZE, + EC_WORD_LISTEN, + EC_WORD_LISTENING, + EC_WORD_LISTENS, + EC_WORD_LIVING, + EC_MOVE2(LOCK_ON), + EC_WORD_LOCOMOTIVE, + EC_WORD_LOL, + EC_WORD_LOLLING, + EC_POKEMON(LOMBRE), + EC_WORD_LONESOME, + EC_WORD_LOOK, + EC_WORD_LOOKS, + EC_WORD_LOSE, + EC_WORD_LOSER, + EC_WORD_LOSING, + EC_WORD_LOSS, + EC_WORD_LOST, + EC_POKEMON(LOTAD), + EC_POKEMON(LOUDRED), + EC_WORD_LOUSY, + EC_MOVE(LOVELY_KISS), + EC_WORD_LOVEY_DOVEY, + EC_WORD_LOW, + EC_MOVE(LOW_KICK), + EC_WORD_LOWS, + EC_POKEMON(LUDICOLO), + EC_POKEMON2(LUGIA), + EC_WORD_LUKEWARM, + EC_POKEMON(LUNATONE), + EC_MOVE2(LUSTER_PURGE), + EC_POKEMON(LUVDISC), +}; + +#define EC_WBL_OFFSET_M ARRAY_COUNT(gEasyChatWordsByLetter_L) + EC_WBL_OFFSET_L + +u16 gEasyChatWordsByLetter_M[] = { + EC_MOVE2(MACH_PUNCH), + EC_DUPLICATES(2), + EC_POKEMON(MACHAMP), + EC_POKEMON2(MACHAMP), + EC_WORD_MACHINE, + EC_DUPLICATES(2), + EC_POKEMON(MACHOKE), + EC_POKEMON2(MACHOKE), + EC_DUPLICATES(2), + EC_POKEMON(MACHOP), + EC_POKEMON2(MACHOP), + EC_WORD_MAGAZINE, + EC_POKEMON2(MAGBY), + EC_DUPLICATES(2), + EC_POKEMON(MAGCARGO), + EC_POKEMON2(MAGCARGO), + EC_MOVE2(MAGIC_COAT), + EC_MOVE2(MAGICAL_LEAF), + EC_DUPLICATES(2), + EC_POKEMON(MAGIKARP), + EC_POKEMON2(MAGIKARP), + EC_WORD_MAGMA_ARMOR, + EC_POKEMON2(MAGMAR), + EC_DUPLICATES(2), + EC_POKEMON(MAGNEMITE), + EC_POKEMON2(MAGNEMITE), + EC_WORD_MAGNET_PULL, + EC_DUPLICATES(2), + EC_POKEMON(MAGNETON), + EC_POKEMON2(MAGNETON), + EC_MOVE2(MAGNITUDE), + EC_WORD_MAIL, + EC_WORD_MAKE, + EC_WORD_MAKING, + EC_POKEMON(MAKUHITA), + EC_WORD_MAN, + EC_POKEMON(MANECTRIC), + EC_POKEMON2(MANKEY), + EC_POKEMON2(MANTINE), + EC_POKEMON2(MAREEP), + EC_DUPLICATES(2), + EC_POKEMON(MARILL), + EC_POKEMON2(MARILL), + EC_POKEMON2(MAROWAK), + EC_POKEMON(MARSHTOMP), + EC_WORD_MARVEL_SCALE, + EC_POKEMON(MASQUERAIN), + EC_WORD_MASTER, + EC_WORD_MATCH, + EC_WORD_MATCH_UP, + EC_POKEMON(MAWILE), + EC_WORD_MAYBE, + EC_WORD_MC, + EC_WORD_ME, + EC_WORD_MEAN, + EC_MOVE(MEAN_LOOK), + EC_POKEMON(MEDICHAM), + EC_MOVE2(MEDITATE), + EC_POKEMON(MEDITITE), + EC_WORD_MEET, + EC_WORD_MEET_YOU, + EC_WORD_MEETS, + EC_WORD_MEGA, + EC_MOVE2(MEGA_DRAIN), + EC_MOVE2(MEGA_KICK), + EC_MOVE2(MEGA_PUNCH), + EC_MOVE2(MEGAHORN), + EC_POKEMON2(MEGANIUM), + EC_MOVE(MEMENTO), + EC_POKEMON2(MEOWTH), + EC_WORD_MESSAGE, + EC_POKEMON(METAGROSS), + EC_MOVE2(METAL_CLAW), + EC_MOVE(METAL_SOUND), + EC_POKEMON(METANG), + EC_POKEMON2(METAPOD), + EC_MOVE(METEOR_MASH), + EC_MOVE2(METRONOME), + EC_POKEMON2(MEW), + EC_POKEMON2(MEWTWO), + EC_POKEMON(MIGHTYENA), + EC_MOVE2(MILK_DRINK), + EC_POKEMON(MILOTIC), + EC_POKEMON2(MILTANK), + EC_MOVE2(MIMIC), + EC_MOVE(MIND_READER), + EC_MOVE2(MINIMIZE), + EC_POKEMON(MINUN), + EC_WORD_MINUS, + EC_MOVE2(MIRROR_COAT), + EC_MOVE(MIRROR_MOVE), + EC_POKEMON2(MISDREAVUS), + EC_WORD_MISHEARD, + EC_WORD_MISS, + EC_MOVE(MIST), + EC_MOVE2(MIST_BALL), + EC_WORD_MISTAKE, + EC_WORD_MMM, + EC_WORD_MODE, + EC_WORD_MODERN, + EC_POKEMON2(MOLTRES), + EC_WORD_MOMENTUM, + EC_WORD_MONDAY, + EC_WORD_MONEY, + EC_WORD_MONTH, + EC_WORD_MOOD, + EC_MOVE2(MOONLIGHT), + EC_WORD_MORE, + EC_WORD_MORNING, + EC_MOVE(MORNING_SUN), + EC_WORD_MOTHER, + EC_WORD_MOVE, + EC_WORD_MOVIE, + EC_WORD_MR, + EC_POKEMON2(MR_MIME), + EC_WORD_MRS, + EC_WORD_MUCH, + EC_WORD_MUCH_OBLIGED, + EC_MOVE2(MUD_SHOT), + EC_MOVE2(MUD_SPORT), + EC_MOVE2(MUD_SLAP), + EC_MOVE2(MUDDY_WATER), + EC_POKEMON(MUDKIP), + EC_WORD_MUFUFU, + EC_DUPLICATES(2), + EC_POKEMON(MUK), + EC_POKEMON2(MUK), + EC_POKEMON2(MURKROW), + EC_WORD_MUSIC, + EC_WORD_MUST_BE, + EC_WORD_MY, + EC_WORD_MYSELF, + EC_WORD_MYSTERY, +}; + +#define EC_WBL_OFFSET_N ARRAY_COUNT(gEasyChatWordsByLetter_M) + EC_WBL_OFFSET_M + +u16 gEasyChatWordsByLetter_N[] = { + EC_WORD_NAME, + EC_WORD_NAP, + EC_DUPLICATES(2), + EC_POKEMON(NATU), + EC_POKEMON2(NATU), + EC_WORD_NATURAL, + EC_WORD_NATURAL_CURE, + EC_WORD_NATURALLY, + EC_WORD_NATURE, + EC_MOVE(NATURE_POWER), + EC_WORD_NEAR, + EC_WORD_NEARLY, + EC_WORD_NEED, + EC_MOVE2(NEEDLE_ARM), + EC_WORD_NEGATIVE, + EC_WORD_NEVER, + EC_WORD_NEW, + EC_WORD_NEWS, + EC_WORD_NEXT, + EC_WORD_NICE, + EC_POKEMON2(NIDOKING), + EC_POKEMON2(NIDOQUEEN), + EC_POKEMON2(NIDORAN_F), + EC_POKEMON2(NIDORAN_M), + EC_POKEMON2(NIDORINA), + EC_POKEMON2(NIDORINO), + EC_WORD_NIGHT, + EC_MOVE2(NIGHT_SHADE), + EC_MOVE(NIGHTMARE), + EC_WORD_NIGHTTIME, + EC_POKEMON(NINCADA), + EC_DUPLICATES(2), + EC_POKEMON(NINETALES), + EC_POKEMON2(NINETALES), + EC_POKEMON(NINJASK), + EC_WORD_NITWIT, + EC_WORD_NO, + EC_WORD_NO_MATCH, + EC_WORD_NO_1, + EC_POKEMON2(NOCTOWL), + EC_WORD_NOISY, + EC_WORD_NON_STOP, + EC_WORD_NONE, + EC_WORD_NOPE, + EC_WORD_NORMAL, + EC_POKEMON(NOSEPASS), + EC_WORD_NOT, + EC_WORD_NOT_VERY, + EC_WORD_NOTHING, + EC_WORD_NOW, + EC_POKEMON(NUMEL), + EC_POKEMON(NUZLEAF), +}; + +#define EC_WBL_OFFSET_O ARRAY_COUNT(gEasyChatWordsByLetter_N) + EC_WBL_OFFSET_N + +u16 gEasyChatWordsByLetter_O[] = { + EC_WORD_OBLIVIOUS, + EC_MOVE(OCTAZOOKA), + EC_POKEMON2(OCTILLERY), + EC_DUPLICATES(2), + EC_POKEMON(ODDISH), + EC_POKEMON2(ODDISH), + EC_MOVE(ODOR_SLEUTH), + EC_WORD_OF, + EC_WORD_OFF, + EC_WORD_OFFENSIVE, + EC_WORD_OH, + EC_WORD_OH_DEAR, + EC_WORD_OH_YEAH, + EC_WORD_OH_KAY, + EC_WORD_OH_QUES, + EC_WORD_OI, + EC_WORD_OI_OI_OI, + EC_WORD_OK_QUES, + EC_WORD_OKAY, + EC_WORD_OLD, + EC_WORD_OLDEN, + EC_POKEMON2(OMANYTE), + EC_POKEMON2(OMASTAR), + EC_WORD_ON, + EC_WORD_ONCE, + EC_POKEMON2(ONIX), + EC_WORD_ONLY, + EC_WORD_OOPS, + EC_WORD_OPPONENT, + EC_WORD_OPPOSITE, + EC_WORD_OR, + EC_WORD_OTHER, + EC_WORD_OUR, + EC_WORD_OUT, + EC_MOVE(OUTRAGE), + EC_WORD_OUTSIDE, + EC_WORD_OVER, + EC_WORD_OVERDO, + EC_WORD_OVERGROW, + EC_MOVE(OVERHEAT), + EC_WORD_OVERWHELMING, + EC_WORD_OWN, + EC_WORD_OWN_TEMPO, +}; + +#define EC_WBL_OFFSET_P ARRAY_COUNT(gEasyChatWordsByLetter_O) + EC_WBL_OFFSET_O + +u16 gEasyChatWordsByLetter_P[] = { + EC_MOVE(PAIN_SPLIT), + EC_POKEMON2(PARAS), + EC_POKEMON2(PARASECT), + EC_WORD_PARDON, + EC_WORD_PARENT, + EC_WORD_PARTNER, + EC_WORD_PARTY, + EC_WORD_PATTERN, + EC_MOVE2(PAY_DAY), + EC_WORD_PC, + EC_MOVE2(PECK), + EC_POKEMON(PELIPPER), + EC_WORD_PERFECT, + EC_WORD_PERFECTION, + EC_MOVE2(PERISH_SONG), + EC_POKEMON2(PERSIAN), + EC_WORD_PERSON, + EC_MOVE2(PETAL_DANCE), + EC_DUPLICATES(2), + EC_POKEMON(PHANPY), + EC_POKEMON2(PHANPY), + EC_WORD_PHONE, + EC_DUPLICATES(2), + EC_POKEMON(PICHU), + EC_POKEMON2(PICHU), + EC_WORD_PICKUP, + EC_POKEMON2(PIDGEOT), + EC_POKEMON2(PIDGEOTTO), + EC_POKEMON2(PIDGEY), + EC_DUPLICATES(2), + EC_POKEMON(PIKACHU), + EC_POKEMON2(PIKACHU), + EC_POKEMON2(PILOSWINE), + EC_MOVE2(PIN_MISSILE), + EC_POKEMON2(PINECO), + EC_DUPLICATES(2), + EC_POKEMON(PINSIR), + EC_POKEMON2(PINSIR), + EC_WORD_PKRS, + EC_WORD_PLACE, + EC_WORD_PLANS, + EC_WORD_PLAY, + EC_WORD_PLAYED, + EC_WORD_PLAYS, + EC_WORD_PLEASE, + EC_WORD_PLUS, + EC_WORD_PLUSH_DOLL, + EC_POKEMON(PLUSLE), + EC_WORD_POINTS, + EC_WORD_POISON, + EC_MOVE2(POISON_FANG), + EC_MOVE2(POISON_GAS), + EC_WORD_POISON_POINT, + EC_MOVE2(POISON_STING), + EC_MOVE2(POISON_TAIL), + EC_MOVE2(POISON_POWDER), + EC_WORD_POKEBLOCK, + EC_WORD_POKEDEX, + EC_WORD_POKEMON, + EC_WORD_POKENAV, + EC_POKEMON2(POLITOED), + EC_POKEMON2(POLIWAG), + EC_POKEMON2(POLIWHIRL), + EC_POKEMON2(POLIWRATH), + EC_POKEMON2(PONYTA), + EC_POKEMON(POOCHYENA), + EC_WORD_POPULAR, + EC_POKEMON2(PORYGON), + EC_POKEMON2(PORYGON2), + EC_MOVE2(POUND), + EC_MOVE(POWDER_SNOW), + EC_WORD_POWER, + EC_WORD_PRAISE, + EC_WORD_PREPOSTEROUS, + EC_MOVE2(PRESENT), + EC_WORD_PRESSURE, + EC_WORD_PRETEND, + EC_WORD_PRETTY, + EC_POKEMON2(PRIMEAPE), + EC_WORD_PROBABLY, + EC_WORD_PROMISE, + EC_MOVE2(PROTECT), + EC_MOVE(PSYBEAM), + EC_MOVE(PSYCH_UP), + EC_DUPLICATES(2), + EC_WORD_PSYCHIC, + EC_MOVE(PSYCHIC), + EC_DUPLICATES(2), + EC_POKEMON(PSYDUCK), + EC_POKEMON2(PSYDUCK), + EC_MOVE(PSYWAVE), + EC_POKEMON2(PUPITAR), + EC_WORD_PURE_POWER, + EC_MOVE(PURSUIT), + EC_WORD_PUSHOVER, +}; + +#define EC_WBL_OFFSET_Q ARRAY_COUNT(gEasyChatWordsByLetter_P) + EC_WBL_OFFSET_P + +u16 gEasyChatWordsByLetter_Q[] = { + EC_POKEMON2(QUAGSIRE), + EC_WORD_QUESTION, + EC_MOVE2(QUICK_ATTACK), + EC_POKEMON2(QUILAVA), + EC_WORD_QUITE, + EC_POKEMON2(QWILFISH), +}; + +#define EC_WBL_OFFSET_R ARRAY_COUNT(gEasyChatWordsByLetter_Q) + EC_WBL_OFFSET_Q + +u16 gEasyChatWordsByLetter_R[] = { + EC_WORD_RADIO, + EC_MOVE(RAGE), + EC_DUPLICATES(2), + EC_POKEMON(RAICHU), + EC_POKEMON2(RAICHU), + EC_POKEMON2(RAIKOU), + EC_MOVE(RAIN_DANCE), + EC_WORD_RAIN_DISH, + EC_POKEMON(RALTS), + EC_WORD_RANK, + EC_MOVE(RAPID_SPIN), + EC_POKEMON2(RAPIDASH), + EC_WORD_RARE, + EC_WORD_RATHER, + EC_POKEMON2(RATICATE), + EC_POKEMON2(RATTATA), + EC_POKEMON(RAYQUAZA), + EC_MOVE2(RAZOR_LEAF), + EC_MOVE(RAZOR_WIND), + EC_WORD_READY, + EC_WORD_REALLY, + EC_WORD_REAR, + EC_WORD_RECEIVED, + EC_WORD_RECOMMEND, + EC_MOVE(RECOVER), + EC_MOVE2(RECYCLE), + EC_MOVE2(REFLECT), + EC_MOVE2(REFRESH), + EC_WORD_REFRESHING, + EC_WORD_REFUSE, + EC_POKEMON(REGICE), + EC_POKEMON(REGIROCK), + EC_POKEMON(REGISTEEL), + EC_WORD_REJECT, + EC_WORD_RELEASE, + EC_POKEMON(RELICANTH), + EC_POKEMON2(REMORAID), + EC_WORD_RENTAL, + EC_MOVE2(REST), + EC_WORD_RESUSCITATE, + EC_MOVE(RETURN), + EC_MOVE2(REVENGE), + EC_MOVE(REVERSAL), + EC_DUPLICATES(2), + EC_POKEMON(RHYDON), + EC_POKEMON2(RHYDON), + EC_DUPLICATES(2), + EC_POKEMON(RHYHORN), + EC_POKEMON2(RHYHORN), + EC_WORD_RIBBON, + EC_WORD_RICKETY, + EC_WORD_RIGHT, + EC_WORD_RIPPED, + EC_WORD_RIVAL, + EC_MOVE2(ROAR), + EC_WORD_ROCK, + EC_MOVE2(ROCK_BLAST), + EC_WORD_ROCK_HEAD, + EC_MOVE(ROCK_SLIDE), + EC_MOVE(ROCK_SMASH), + EC_MOVE(ROCK_THROW), + EC_MOVE(ROCK_TOMB), + EC_WORD_ROCK_SOLID, + EC_MOVE2(ROLE_PLAY), + EC_MOVE2(ROLLING_KICK), + EC_MOVE(ROLLOUT), + EC_WORD_ROMANTIC, + EC_POKEMON(ROSELIA), + EC_WORD_ROUGH_SKIN, + EC_WORD_RPG, + EC_WORD_RUBY, + EC_WORD_RULE, + EC_WORD_RUN, + EC_WORD_RUN_AWAY, + EC_WORD_RUNS, +}; + +#define EC_WBL_OFFSET_S ARRAY_COUNT(gEasyChatWordsByLetter_R) + EC_WBL_OFFSET_R + +u16 gEasyChatWordsByLetter_S[] = { + EC_POKEMON(SABLEYE), + EC_MOVE(SACRED_FIRE), + EC_WORD_SAD, + EC_WORD_SADLY, + EC_MOVE(SAFEGUARD), + EC_WORD_SAID, + EC_POKEMON(SALAMENCE), + EC_WORD_SAND_STREAM, + EC_MOVE(SAND_TOMB), + EC_WORD_SAND_VEIL, + EC_MOVE(SAND_ATTACK), + EC_DUPLICATES(2), + EC_POKEMON(SANDSHREW), + EC_POKEMON2(SANDSHREW), + EC_DUPLICATES(2), + EC_POKEMON(SANDSLASH), + EC_POKEMON2(SANDSLASH), + EC_MOVE(SANDSTORM), + EC_WORD_SAPPHIRE, + EC_WORD_SATISFIED, + EC_WORD_SATURDAY, + EC_WORD_SAYS, + EC_WORD_SCARY, + EC_MOVE(SCARY_FACE), + EC_WORD_SCATTER, + EC_POKEMON(SCEPTILE), + EC_WORD_SCHOOL, + EC_POKEMON2(SCIZOR), + EC_MOVE2(SCRATCH), + EC_MOVE(SCREECH), + EC_POKEMON2(SCYTHER), + EC_DUPLICATES(2), + EC_POKEMON(SEADRA), + EC_POKEMON2(SEADRA), + EC_DUPLICATES(2), + EC_POKEMON(SEAKING), + EC_POKEMON2(SEAKING), + EC_POKEMON(SEALEO), + EC_WORD_SEARCH, + EC_WORD_SECRET, + EC_WORD_SECRET_BASE, + EC_MOVE2(SECRET_POWER), + EC_WORD_SEE, + EC_WORD_SEE_YA, + EC_POKEMON(SEEDOT), + EC_WORD_SEEK, + EC_POKEMON2(SEEL), + EC_WORD_SEEMS, + EC_WORD_SEES, + EC_MOVE2(SEISMIC_TOSS), + EC_MOVE(SELF_DESTRUCT), + EC_WORD_SENSE, + EC_POKEMON2(SENTRET), + EC_WORD_SERENE_GRACE, + EC_WORD_SERIOUS, + EC_WORD_SERIOUSLY, + EC_WORD_SERVICE, + EC_POKEMON(SEVIPER), + EC_MOVE(SHADOW_BALL), + EC_MOVE(SHADOW_PUNCH), + EC_WORD_SHADOW_TAG, + EC_WORD_SHADY, + EC_WORD_SHAKE, + EC_WORD_SHAKY, + EC_WORD_SHALLOW, + EC_POKEMON(SHARPEDO), + EC_MOVE(SHARPEN), + EC_WORD_SHE, + EC_WORD_SHE_IS, + EC_WORD_SHE_WAS, + EC_WORD_SHED_SKIN, + EC_POKEMON(SHEDINJA), + EC_MOVE(SHEER_COLD), + EC_POKEMON(SHELGON), + EC_WORD_SHELL_ARMOR, + EC_POKEMON2(SHELLDER), + EC_WORD_SHIELD_DUST, + EC_POKEMON(SHIFTRY), + EC_WORD_SHINE, + EC_MOVE2(SHOCK_WAVE), + EC_WORD_SHOCKED, + EC_WORD_SHOPPING, + EC_WORD_SHOULD, + EC_WORD_SHOW, + EC_WORD_SHREDDED, + EC_POKEMON(SHROOMISH), + EC_POKEMON2(SHUCKLE), + EC_POKEMON(SHUPPET), + EC_WORD_SIBLINGS, + EC_WORD_SIGH, + EC_MOVE(SIGNAL_BEAM), + EC_POKEMON(SILCOON), + EC_WORD_SILKY, + EC_MOVE(SILVER_WIND), + EC_WORD_SIMPLE, + EC_WORD_SINCE, + EC_MOVE(SING), + EC_WORD_SINK, + EC_WORD_SISTER, + EC_DUPLICATES(2), + EC_POKEMON(SKARMORY), + EC_POKEMON2(SKARMORY), + EC_MOVE(SKETCH), + EC_WORD_SKILL, + EC_MOVE(SKILL_SWAP), + EC_WORD_SKILLED, + EC_POKEMON2(SKIPLOOM), + EC_POKEMON(SKITTY), + EC_MOVE2(SKULL_BASH), + EC_MOVE(SKY_ATTACK), + EC_MOVE(SKY_UPPERCUT), + EC_MOVE2(SLACK_OFF), + EC_POKEMON(SLAKING), + EC_POKEMON(SLAKOTH), + EC_MOVE2(SLAM), + EC_MOVE(SLASH), + EC_WORD_SLEEP, + EC_MOVE2(SLEEP_POWDER), + EC_MOVE2(SLEEP_TALK), + EC_WORD_SLEPT, + EC_WORD_SLIDE, + EC_WORD_SLIMY, + EC_POKEMON2(SLOWBRO), + EC_POKEMON2(SLOWKING), + EC_POKEMON2(SLOWPOKE), + EC_MOVE2(SLUDGE), + EC_MOVE2(SLUDGE_BOMB), + EC_DUPLICATES(2), + EC_POKEMON(SLUGMA), + EC_POKEMON2(SLUGMA), + EC_WORD_SMACK, + EC_WORD_SMALL, + EC_WORD_SMART, + EC_WORD_SMARTNESS, + EC_POKEMON2(SMEARGLE), + EC_WORD_SMELL, + EC_WORD_SMELL_YA, + EC_MOVE(SMELLING_SALT), + EC_WORD_SMITE, + EC_MOVE(SMOG), + EC_MOVE(SMOKESCREEN), + EC_POKEMON2(SMOOCHUM), + EC_WORD_SMOOTH, + EC_MOVE2(SNATCH), + EC_POKEMON2(SNEASEL), + EC_MOVE(SNORE), + EC_POKEMON2(SNORLAX), + EC_WORD_SNORT, + EC_POKEMON(SNORUNT), + EC_POKEMON2(SNUBBULL), + EC_WORD_SO, + EC_MOVE2(SOFT_BOILED), + EC_WORD_SOFTWARE, + EC_MOVE(SOLAR_BEAM), + EC_POKEMON(SOLROCK), + EC_WORD_SOME, + EC_WORD_SOMEHOW, + EC_WORD_SOMEONE, + EC_WORD_SOMETHING, + EC_WORD_SOMETIME, + EC_WORD_SON, + EC_WORD_SONG, + EC_WORD_SONGS, + EC_MOVE(SONIC_BOOM), + EC_WORD_SOON, + EC_WORD_SORRY, + EC_WORD_SOUNDPROOF, + EC_WORD_SP_ABILITY, + EC_MOVE(SPARK), + EC_POKEMON2(SPEAROW), + EC_WORD_SPECTATOR, + EC_WORD_SPEED_BOOST, + EC_POKEMON(SPHEAL), + EC_MOVE(SPIDER_WEB), + EC_MOVE2(SPIKE_CANNON), + EC_MOVE2(SPIKES), + EC_POKEMON2(SPINARAK), + EC_POKEMON(SPINDA), + EC_WORD_SPIRALING, + EC_WORD_SPIRIT, + EC_MOVE2(SPIT_UP), + EC_MOVE(SPITE), + EC_MOVE2(SPLASH), + EC_POKEMON(SPOINK), + EC_MOVE(SPORE), + EC_WORD_SPORTS, + EC_WORD_SPRING, + EC_POKEMON2(SQUIRTLE), + EC_WORD_STAGE, + EC_POKEMON2(STANTLER), + EC_DUPLICATES(2), + EC_POKEMON(STARMIE), + EC_POKEMON2(STARMIE), + EC_WORD_START, + EC_DUPLICATES(2), + EC_POKEMON(STARYU), + EC_POKEMON2(STARYU), + EC_WORD_STATIC, + EC_WORD_STAY_AT_HOME, + EC_WORD_STEEL, + EC_MOVE2(STEEL_WING), + EC_POKEMON2(STEELIX), + EC_WORD_STENCH, + EC_WORD_STICKY_HOLD, + EC_MOVE2(STOCKPILE), + EC_MOVE2(STOMP), + EC_WORD_STOP, + EC_WORD_STORE, + EC_WORD_STORES, + EC_WORD_STORY, + EC_WORD_STRATEGY, + EC_MOVE(STRENGTH), + EC_MOVE(STRING_SHOT), + EC_WORD_STRONG, + EC_MOVE2(STRUGGLE), + EC_WORD_STUDY, + EC_MOVE(STUN_SPORE), + EC_WORD_STURDY, + EC_MOVE(SUBMISSION), + EC_MOVE2(SUBSTITUTE), + EC_WORD_SUCTION_CUPS, + EC_POKEMON2(SUDOWOODO), + EC_POKEMON2(SUICUNE), + EC_WORD_SUMMER, + EC_WORD_SUNDAY, + EC_POKEMON2(SUNFLORA), + EC_POKEMON2(SUNKERN), + EC_MOVE2(SUNNY_DAY), + EC_WORD_SUPER, + EC_MOVE(SUPER_FANG), + EC_MOVE2(SUPERPOWER), + EC_MOVE2(SUPERSONIC), + EC_MOVE2(SURF), + EC_WORD_SURPRISE, + EC_WORD_SURRENDER, + EC_POKEMON(SURSKIT), + EC_POKEMON(SWABLU), + EC_MOVE(SWAGGER), + EC_MOVE2(SWALLOW), + EC_POKEMON(SWALOT), + EC_POKEMON(SWAMPERT), + EC_WORD_SWARM, + EC_MOVE2(SWEET_KISS), + EC_MOVE(SWEET_SCENT), + EC_WORD_SWEETS, + EC_POKEMON(SWELLOW), + EC_MOVE(SWIFT), + EC_WORD_SWIFT_SWIM, + EC_POKEMON2(SWINUB), + EC_MOVE2(SWORDS_DANCE), + EC_WORD_SYNCHRONIZE, + EC_MOVE(SYNTHESIS), + EC_WORD_SYSTEM, +}; + +#define EC_WBL_OFFSET_T ARRAY_COUNT(gEasyChatWordsByLetter_S) + EC_WBL_OFFSET_S + +u16 gEasyChatWordsByLetter_T[] = { + EC_MOVE2(TACKLE), + EC_MOVE2(TAIL_GLOW), + EC_MOVE(TAIL_WHIP), + EC_POKEMON(TAILLOW), + EC_WORD_TAKE, + EC_MOVE2(TAKE_DOWN), + EC_WORD_TAKE_THAT, + EC_WORD_TALENT, + EC_WORD_TALK, + EC_WORD_TALKING, + EC_POKEMON2(TANGELA), + EC_WORD_TASTY, + EC_MOVE2(TAUNT), + EC_POKEMON2(TAUROS), + EC_WORD_TCH, + EC_WORD_TEACH, + EC_WORD_TEACHER, + EC_WORD_TEACHES, + EC_POKEMON2(TEDDIURSA), + EC_MOVE2(TEETER_DANCE), + EC_MOVE2(TELEPORT), + EC_WORD_TELEVISION, + EC_DUPLICATES(2), + EC_POKEMON(TENTACOOL), + EC_POKEMON2(TENTACOOL), + EC_DUPLICATES(2), + EC_POKEMON(TENTACRUEL), + EC_POKEMON2(TENTACRUEL), + EC_WORD_TERRIBLE, + EC_WORD_TEST, + EC_WORD_THAN, + EC_WORD_THANK_YOU, + EC_WORD_THANKS, + EC_WORD_THAT, + EC_WORD_THAT_WAS, + EC_WORD_THAT_S, + EC_WORD_THAT_S_IT_EXCL, + EC_WORD_THE, + EC_WORD_THEIR, + EC_WORD_THERE, + EC_WORD_THESE, + EC_WORD_THESE_WERE, + EC_WORD_THEY, + EC_WORD_THEY_WERE, + EC_WORD_THEY_RE, + EC_WORD_THEY_VE, + EC_WORD_THICK, + EC_WORD_THICK_FAT, + EC_MOVE2(THIEF), + EC_WORD_THIN, + EC_WORD_THING, + EC_WORD_THINGS, + EC_WORD_THINK, + EC_WORD_THINKS, + EC_WORD_THIRSTY, + EC_WORD_THIS, + EC_WORD_THIS_IS_IT_EXCL, + EC_WORD_THOSE, + EC_WORD_THOSE_ARE, + EC_WORD_THOSE_WERE, + EC_MOVE(THRASH), + EC_WORD_THROW, + EC_MOVE(THUNDER), + EC_MOVE2(THUNDER_WAVE), + EC_MOVE(THUNDERBOLT), + EC_MOVE(THUNDER_PUNCH), + EC_MOVE2(THUNDER_SHOCK), + EC_WORD_THURSDAY, + EC_MOVE(TICKLE), + EC_WORD_TICKLISH, + EC_WORD_TIGHT, + EC_WORD_TIME, + EC_WORD_TIMES, + EC_WORD_TIRED, + EC_WORD_TO, + EC_WORD_TO_HER, + EC_WORD_TO_ME, + EC_WORD_TO_THEM, + EC_WORD_TO_US, + EC_WORD_TO_WHOM, + EC_WORD_TODAY, + EC_POKEMON2(TOGEPI), + EC_WORD_TOGETHER, + EC_POKEMON2(TOGETIC), + EC_WORD_TOMORROW, + EC_WORD_TOO, + EC_WORD_TOO_LATE, + EC_WORD_TOO_STRONG, + EC_WORD_TOO_WEAK, + EC_WORD_TOP, + EC_POKEMON(TORCHIC), + EC_POKEMON(TORKOAL), + EC_MOVE(TORMENT), + EC_WORD_TORRENT, + EC_WORD_TOTALLY, + EC_POKEMON2(TOTODILE), + EC_WORD_TOUGH, + EC_WORD_TOUGHNESS, + EC_WORD_TOURNAMENT, + EC_MOVE2(TOXIC), + EC_WORD_TOYS, + EC_WORD_TRACE, + EC_WORD_TRADE, + EC_WORD_TRAIN, + EC_WORD_TRAINER, + EC_WORD_TRAINS, + EC_MOVE2(TRANSFORM), + EC_POKEMON(TRAPINCH), + EC_WORD_TRAVEL, + EC_WORD_TREASURE, + EC_POKEMON(TREECKO), + EC_WORD_TRENDY, + EC_MOVE2(TRI_ATTACK), + EC_MOVE2(TRICK), + EC_WORD_TRIES, + EC_MOVE2(TRIPLE_KICK), + EC_POKEMON(TROPIUS), + EC_WORD_TRUANT, + EC_WORD_TRULY, + EC_WORD_TRUMP_CARD, + EC_WORD_TRUST, + EC_WORD_TRY, + EC_WORD_TUESDAY, + EC_MOVE2(TWINEEDLE), + EC_WORD_TWIRLING, + EC_MOVE2(TWISTER), + EC_WORD_TYPE, + EC_POKEMON2(TYPHLOSION), + EC_POKEMON2(TYRANITAR), + EC_POKEMON2(TYROGUE), +}; + +#define EC_WBL_OFFSET_U ARRAY_COUNT(gEasyChatWordsByLetter_T) + EC_WBL_OFFSET_T + +u16 gEasyChatWordsByLetter_U[] = { + EC_WORD_UGLY, + EC_WORD_UH_HUH, + EC_WORD_UH_OH, + EC_WORD_UM, + EC_POKEMON2(UMBREON), + EC_WORD_UNAVOIDABLE, + EC_WORD_UNBELIEVABLE, + EC_WORD_UNCLE, + EC_WORD_UNDERSTAND, + EC_WORD_UNDERSTANDS, + EC_WORD_UNDERSTOOD, + EC_POKEMON2(UNOWN), + EC_WORD_UNTIL, + EC_WORD_UP, + EC_WORD_UPBEAT, + EC_MOVE(UPROAR), + EC_WORD_UPSIDE_DOWN, + EC_WORD_URGH, + EC_POKEMON2(URSARING), + EC_WORD_USE, + EC_WORD_USELESS, + EC_WORD_USES, + EC_WORD_USING, +}; + +#define EC_WBL_OFFSET_V ARRAY_COUNT(gEasyChatWordsByLetter_U) + EC_WBL_OFFSET_U + +u16 gEasyChatWordsByLetter_V[] = { + EC_WORD_VACATION, + EC_POKEMON2(VAPOREON), + EC_POKEMON2(VENOMOTH), + EC_POKEMON2(VENONAT), + EC_POKEMON2(VENUSAUR), + EC_WORD_VERSION, + EC_WORD_VERSUS, + EC_WORD_VERY, + EC_POKEMON(VIBRAVA), + EC_MOVE2(VICE_GRIP), + EC_WORD_VICTORY, + EC_POKEMON2(VICTREEBEL), + EC_WORD_VIEWING, + EC_POKEMON(VIGOROTH), + EC_DUPLICATES(2), + EC_POKEMON(VILEPLUME), + EC_POKEMON2(VILEPLUME), + EC_MOVE2(VINE_WHIP), + EC_WORD_VITAL_SPIRIT, + EC_MOVE(VITAL_THROW), + EC_POKEMON(VOLBEAT), + EC_WORD_VOLT_ABSORB, + EC_DUPLICATES(2), + EC_POKEMON(VOLTORB), + EC_POKEMON2(VOLTORB), + EC_WORD_VORACIOUS, + EC_DUPLICATES(2), + EC_POKEMON(VULPIX), + EC_POKEMON2(VULPIX), +}; + +#define EC_WBL_OFFSET_W ARRAY_COUNT(gEasyChatWordsByLetter_V) + EC_WBL_OFFSET_V + +u16 gEasyChatWordsByLetter_W[] = { + EC_WORD_WAAAH, + EC_WORD_WAHAHAHA, + EC_POKEMON(WAILMER), + EC_POKEMON(WAILORD), + EC_WORD_WAIT, + EC_WORD_WAKE_UP, + EC_WORD_WAKES_UP, + EC_WORD_WALK, + EC_WORD_WALKING, + EC_WORD_WALKS, + EC_POKEMON(WALREIN), + EC_WORD_WANDERING, + EC_WORD_WANNABE, + EC_WORD_WANT, + EC_WORD_WANTS, + EC_POKEMON2(WARTORTLE), + EC_WORD_WAS, + EC_WORD_WASN_T, + EC_WORD_WATER, + EC_WORD_WATER_ABSORB, + EC_MOVE2(WATER_GUN), + EC_MOVE2(WATER_PULSE), + EC_MOVE2(WATER_SPORT), + EC_MOVE(WATER_SPOUT), + EC_WORD_WATER_VEIL, + EC_MOVE2(WATERFALL), + EC_WORD_WAY, + EC_WORD_WE, + EC_WORD_WE_RE, + EC_WORD_WE_VE, + EC_WORD_WEAK, + EC_WORD_WEAKENED, + EC_MOVE(WEATHER_BALL), + EC_WORD_WEDNESDAY, + EC_POKEMON2(WEEDLE), + EC_WORD_WEEK, + EC_POKEMON2(WEEPINBELL), + EC_DUPLICATES(2), + EC_POKEMON(WEEZING), + EC_POKEMON2(WEEZING), + EC_WORD_WEIRD, + EC_WORD_WELCOME, + EC_WORD_WELL, + EC_WORD_WELL_THEN, + EC_WORD_WENT, + EC_WORD_WERE, + EC_WORD_WEREN_T, + EC_WORD_WHAT, + EC_WORD_WHAT_S_UP_QUES, + EC_WORD_WHEN, + EC_WORD_WHEN_I_WIN, + EC_WORD_WHERE, + EC_WORD_WHICH, + EC_WORD_WHILE, + EC_MOVE(WHIRLPOOL), + EC_MOVE2(WHIRLWIND), + EC_POKEMON(WHISCASH), + EC_POKEMON(WHISMUR), + EC_WORD_WHITE_SMOKE, + EC_WORD_WHO, + EC_WORD_WHO_IS, + EC_WORD_WHO_WAS, + EC_WORD_WHOAH, + EC_WORD_WHOM, + EC_WORD_WHOSE, + EC_WORD_WHY, + EC_DUPLICATES(2), + EC_POKEMON(WIGGLYTUFF), + EC_POKEMON2(WIGGLYTUFF), + EC_WORD_WILD, + EC_WORD_WILL, + EC_WORD_WILL_BE_HERE, + EC_MOVE(WILL_O_WISP), + EC_WORD_WIMPY, + EC_WORD_WIN, + EC_MOVE2(WING_ATTACK), + EC_POKEMON(WINGULL), + EC_WORD_WINNER, + EC_WORD_WINS, + EC_WORD_WINTER, + EC_MOVE2(WISH), + EC_WORD_WITH, + EC_MOVE(WITHDRAW), + EC_WORD_WITHOUT, + EC_WORD_WOBBLY, + EC_DUPLICATES(2), + EC_POKEMON(WOBBUFFET), + EC_POKEMON2(WOBBUFFET), + EC_WORD_WOMAN, + EC_WORD_WON, + EC_WORD_WON_T, + EC_WORD_WONDER, + EC_WORD_WONDER_GUARD, + EC_POKEMON2(WOOPER), + EC_WORD_WORD, + EC_WORD_WORK, + EC_WORD_WORKING, + EC_WORD_WORKS, + EC_WORD_WORLD, + EC_WORD_WORRY, + EC_WORD_WOULD, + EC_WORD_WOW, + EC_WORD_WOWEE, + EC_MOVE2(WRAP), + EC_WORD_WROOOAAR_EXCL, + EC_POKEMON(WURMPLE), + EC_POKEMON(WYNAUT), +}; + +#define EC_WBL_OFFSET_X ARRAY_COUNT(gEasyChatWordsByLetter_W) + EC_WBL_OFFSET_W + +u16 gEasyChatWordsByLetter_X[] = { + EC_DUPLICATES(2), + EC_POKEMON(XATU), + EC_POKEMON2(XATU), +}; + +#define EC_WBL_OFFSET_Y ARRAY_COUNT(gEasyChatWordsByLetter_X) + EC_WBL_OFFSET_X + +u16 gEasyChatWordsByLetter_Y[] = { + EC_WORD_YAHOO, + EC_POKEMON2(YANMA), + EC_MOVE(YAWN), + EC_WORD_YAY, + EC_WORD_YEAH, + EC_WORD_YEAH_YEAH, + EC_WORD_YEEHAW_EXCL, + EC_WORD_YES, + EC_WORD_YES_SIR_EXCL, + EC_WORD_YESTERDAY, + EC_WORD_YET, + EC_WORD_YO, + EC_WORD_YOU, + EC_WORD_YOU_RE, + EC_WORD_YOU_VE, + EC_WORD_YOUNG, + EC_WORD_YOUR, + EC_WORD_YOURS, + EC_WORD_YUP, +}; + +#define EC_WBL_OFFSET_Z ARRAY_COUNT(gEasyChatWordsByLetter_Y) + EC_WBL_OFFSET_Y + +u16 gEasyChatWordsByLetter_Z[] = { + EC_POKEMON(ZANGOOSE), + EC_MOVE2(ZAP_CANNON), + EC_POKEMON2(ZAPDOS), + EC_POKEMON(ZIGZAGOON), + EC_DUPLICATES(2), + EC_POKEMON(ZUBAT), + EC_POKEMON2(ZUBAT), +}; + +#define EC_WBL_OFFSET_End ARRAY_COUNT(gEasyChatWordsByLetter_Z) + EC_WBL_OFFSET_Z + +u16 gEasyChatWordsByLetter_End[] = { +}; + +u16 gEasyChatWordsByLetter[] = { + EC_WBL_OFFSET_Others, + EC_WBL_OFFSET_A, + EC_WBL_OFFSET_B, + EC_WBL_OFFSET_C, + EC_WBL_OFFSET_D, + EC_WBL_OFFSET_E, + EC_WBL_OFFSET_F, + EC_WBL_OFFSET_G, + EC_WBL_OFFSET_H, + EC_WBL_OFFSET_I, + EC_WBL_OFFSET_J, + EC_WBL_OFFSET_K, + EC_WBL_OFFSET_L, + EC_WBL_OFFSET_M, + EC_WBL_OFFSET_N, + EC_WBL_OFFSET_O, + EC_WBL_OFFSET_P, + EC_WBL_OFFSET_Q, + EC_WBL_OFFSET_R, + EC_WBL_OFFSET_S, + EC_WBL_OFFSET_T, + EC_WBL_OFFSET_U, + EC_WBL_OFFSET_V, + EC_WBL_OFFSET_W, + EC_WBL_OFFSET_X, + EC_WBL_OFFSET_Y, + EC_WBL_OFFSET_Z, + EC_WBL_OFFSET_End, +}; + +#endif // DATA_TEXT_EASY_CHAT_WORDS_BY_LETTER_EN -- cgit v1.2.3 From 5f65f542e184bf7a3a3d332ed74c7fc7d61ff0bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 25 Apr 2018 20:20:19 -0400 Subject: Apply @huderlem's suggestion --- src/pokedex_area_screen.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 4cf13da76..ac7635d1a 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -88,7 +88,7 @@ static const u16 gUnknown_083F8418[] = INCBIN_U16("graphics/pokedex/area_glow.gb static const u8 gUnknown_083F8438[] = INCBIN_U8("graphics/pokedex/area_glow.4bpp.lz"); -static const u16 sWynautData[] = {SPECIES_WYNAUT}; +static const u16 sSpeciesHiddenFromAreaScreen[] = {SPECIES_WYNAUT}; static const u16 sFeebasData[][3] = { {SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)}, @@ -230,9 +230,9 @@ static void FindMapsWithMon(u16 mon) { gPokedexAreaScreenPtr->numOverworldAreas = 0; gPokedexAreaScreenPtr->numSpecialAreas = 0; - for (i = 0; i < 1; i++) + for (i = 0; i < ARRAY_COUNT(sSpeciesHiddenFromAreaScreen); i++) { - if (sWynautData[i] == mon) + if (sSpeciesHiddenFromAreaScreen[i] == mon) return; } for (i = 0; sFeebasData[i][0] != NUM_SPECIES; i++) -- cgit v1.2.3 From e14451c7a5b37425234ad6f2317f77baed8d98df Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 26 Apr 2018 08:22:17 -0400 Subject: Use all caps for MAPSEC enums --- src/data/region_map_layout.h | 44 ++++++++-------- src/landmark.c | 96 +++++++++++++++++------------------ src/pokedex_area_screen.c | 10 ++-- src/region_map.c | 116 +++++++++++++++++++++---------------------- src/tv.c | 10 ++-- 5 files changed, 138 insertions(+), 138 deletions(-) (limited to 'src') diff --git a/src/data/region_map_layout.h b/src/data/region_map_layout.h index 06e308593..1bc93cbb3 100644 --- a/src/data/region_map_layout.h +++ b/src/data/region_map_layout.h @@ -1,26 +1,26 @@ // Abbreviated definitions to make the map layout more visual -#define R(routeNum) MAPSEC_Route##routeNum -#define LITT_T MAPSEC_LittlerootTown -#define OLDA_T MAPSEC_OldaleTown -#define DEWF_T MAPSEC_DewfordTown -#define LAVA_T MAPSEC_LavaridgeTown -#define FALL_T MAPSEC_FallarborTown -#define VERD_T MAPSEC_VerdanturfTown -#define PACI_T MAPSEC_PacifidlogTown -#define PETA_C MAPSEC_PetalburgCity -#define SLAT_C MAPSEC_SlateportCity -#define MAUV_C MAPSEC_MauvilleCity -#define RUST_C MAPSEC_RustboroCity -#define FORT_C MAPSEC_FortreeCity -#define LILY_C MAPSEC_LilycoveCity -#define MOSS_C MAPSEC_MossdeepCity -#define SOOT_C MAPSEC_SootopolisCity -#define EVER_C MAPSEC_EverGrandeCity -#define MTCHIM MAPSEC_MtChimney -#define SAFARI MAPSEC_SafariZone -#define BTLTWR MAPSEC_BattleTower -#define S_ISLD MAPSEC_SouthernIsland -#define ______ MAPSEC_Nothing +#define R(routeNum) MAPSEC_ROUTE_##routeNum +#define LITT_T MAPSEC_LITTLEROOT_TOWN +#define OLDA_T MAPSEC_OLDALE_TOWN +#define DEWF_T MAPSEC_DEWFORD_TOWN +#define LAVA_T MAPSEC_LAVARIDGE_TOWN +#define FALL_T MAPSEC_FALLARBOR_TOWN +#define VERD_T MAPSEC_VERDANTURF_TOWN +#define PACI_T MAPSEC_PACIFIDLOG_TOWN +#define PETA_C MAPSEC_PETALBURG_CITY +#define SLAT_C MAPSEC_SLATEPORT_CITY +#define MAUV_C MAPSEC_MAUVILLE_CITY +#define RUST_C MAPSEC_RUSTBORO_CITY +#define FORT_C MAPSEC_FORTREE_CITY +#define LILY_C MAPSEC_LILYCOVE_CITY +#define MOSS_C MAPSEC_MOSSDEEP_CITY +#define SOOT_C MAPSEC_SOOTOPOLIS_CITY +#define EVER_C MAPSEC_EVER_GRANDE_CITY +#define MTCHIM MAPSEC_MT_CHIMNEY +#define SAFARI MAPSEC_SAFARI_ZONE +#define BTLTWR MAPSEC_BATTLE_TOWER +#define S_ISLD MAPSEC_SOUTHERN_ISLAND +#define ______ MAPSEC_NOTHING static const u8 sRegionMapLayout[] = { diff --git a/src/landmark.c b/src/landmark.c index 4fd9595fe..0572da4ca 100644 --- a/src/landmark.c +++ b/src/landmark.c @@ -315,52 +315,52 @@ static const struct Landmark *const Landmarks_MtChimney_2[] = static const struct LandmarkList gLandmarkLists[] = { - {MAPSEC_Route104, 0, Landmarks_Route104_0}, - {MAPSEC_Route104, 1, Landmarks_Route104_1}, - {MAPSEC_Route105, 0, Landmarks_Route105_0}, - {MAPSEC_Route106, 1, Landmarks_Route106_1}, - {MAPSEC_Route108, 0, Landmarks_Route108_0}, - {MAPSEC_Route109, 0, Landmarks_Route109_0}, - {MAPSEC_Route110, 0, Landmarks_Route110_0}, - {MAPSEC_Route110, 1, Landmarks_Route110_1}, - {MAPSEC_Route110, 2, Landmarks_Route110_2}, - {MAPSEC_Route111, 0, Landmarks_Route111_0}, - {MAPSEC_Route111, 1, Landmarks_Route111_1}, - {MAPSEC_Route111, 2, Landmarks_Route111_1}, - {MAPSEC_Route111, 3, Landmarks_Route111_3}, - {MAPSEC_Route111, 4, Landmarks_Route111_4}, - {MAPSEC_Route112, 0, Landmarks_Route112_0}, - {MAPSEC_Route112, 1, Landmarks_Route112_1}, - {MAPSEC_Route113, 1, Landmarks_Route113_1}, - {MAPSEC_Route114, 1, Landmarks_Route114_1}, - {MAPSEC_Route114, 2, Landmarks_Route114_2}, - {MAPSEC_Route114, 3, Landmarks_MeteorFalls}, - {MAPSEC_Route115, 0, Landmarks_MeteorFalls}, - {MAPSEC_Route115, 1, Landmarks_MeteorFalls}, - {MAPSEC_Route116, 1, Landmarks_Route116_1}, - {MAPSEC_Route116, 2, Landmarks_Route116_2}, - {MAPSEC_Route117, 2, Landmarks_Route117_2}, - {MAPSEC_Route119, 1, Landmarks_Route119_1}, - {MAPSEC_Route120, 0, Landmarks_Route120_0}, - {MAPSEC_Route120, 2, Landmarks_Route120_2}, - {MAPSEC_Route121, 2, Landmarks_Route121_2}, - {MAPSEC_Route122, 0, Landmarks_Route122_0}, - {MAPSEC_Route123, 0, Landmarks_Route123_0}, - {MAPSEC_Route122, 1, Landmarks_Route122_0}, - {MAPSEC_Route124, 7, Landmarks_Route124_7}, - {MAPSEC_Route125, 2, Landmarks_Route125_2}, - {MAPSEC_Route128, 1, Landmarks_Route128_1}, - {MAPSEC_Route131, 1, Landmarks_Route131_1}, - {MAPSEC_Route132, 0, Landmarks_OceanCurrent}, - {MAPSEC_Route132, 1, Landmarks_OceanCurrent}, - {MAPSEC_Route133, 0, Landmarks_OceanCurrent}, - {MAPSEC_Route133, 1, Landmarks_OceanCurrent}, - {MAPSEC_Route133, 2, Landmarks_OceanCurrent}, - {MAPSEC_Route134, 0, Landmarks_OceanCurrent}, - {MAPSEC_Route134, 1, Landmarks_OceanCurrent}, - {MAPSEC_Route134, 2, Landmarks_Route134_2}, - {MAPSEC_MtChimney, 2, Landmarks_MtChimney_2}, - {MAPSEC_Nothing, 0, NULL}, + {MAPSEC_ROUTE_104, 0, Landmarks_Route104_0}, + {MAPSEC_ROUTE_104, 1, Landmarks_Route104_1}, + {MAPSEC_ROUTE_105, 0, Landmarks_Route105_0}, + {MAPSEC_ROUTE_106, 1, Landmarks_Route106_1}, + {MAPSEC_ROUTE_108, 0, Landmarks_Route108_0}, + {MAPSEC_ROUTE_109, 0, Landmarks_Route109_0}, + {MAPSEC_ROUTE_110, 0, Landmarks_Route110_0}, + {MAPSEC_ROUTE_110, 1, Landmarks_Route110_1}, + {MAPSEC_ROUTE_110, 2, Landmarks_Route110_2}, + {MAPSEC_ROUTE_111, 0, Landmarks_Route111_0}, + {MAPSEC_ROUTE_111, 1, Landmarks_Route111_1}, + {MAPSEC_ROUTE_111, 2, Landmarks_Route111_1}, + {MAPSEC_ROUTE_111, 3, Landmarks_Route111_3}, + {MAPSEC_ROUTE_111, 4, Landmarks_Route111_4}, + {MAPSEC_ROUTE_112, 0, Landmarks_Route112_0}, + {MAPSEC_ROUTE_112, 1, Landmarks_Route112_1}, + {MAPSEC_ROUTE_113, 1, Landmarks_Route113_1}, + {MAPSEC_ROUTE_114, 1, Landmarks_Route114_1}, + {MAPSEC_ROUTE_114, 2, Landmarks_Route114_2}, + {MAPSEC_ROUTE_114, 3, Landmarks_MeteorFalls}, + {MAPSEC_ROUTE_115, 0, Landmarks_MeteorFalls}, + {MAPSEC_ROUTE_115, 1, Landmarks_MeteorFalls}, + {MAPSEC_ROUTE_116, 1, Landmarks_Route116_1}, + {MAPSEC_ROUTE_116, 2, Landmarks_Route116_2}, + {MAPSEC_ROUTE_117, 2, Landmarks_Route117_2}, + {MAPSEC_ROUTE_119, 1, Landmarks_Route119_1}, + {MAPSEC_ROUTE_120, 0, Landmarks_Route120_0}, + {MAPSEC_ROUTE_120, 2, Landmarks_Route120_2}, + {MAPSEC_ROUTE_121, 2, Landmarks_Route121_2}, + {MAPSEC_ROUTE_122, 0, Landmarks_Route122_0}, + {MAPSEC_ROUTE_123, 0, Landmarks_Route123_0}, + {MAPSEC_ROUTE_122, 1, Landmarks_Route122_0}, + {MAPSEC_ROUTE_124, 7, Landmarks_Route124_7}, + {MAPSEC_ROUTE_125, 2, Landmarks_Route125_2}, + {MAPSEC_ROUTE_128, 1, Landmarks_Route128_1}, + {MAPSEC_ROUTE_131, 1, Landmarks_Route131_1}, + {MAPSEC_ROUTE_132, 0, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_132, 1, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_133, 0, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_133, 1, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_133, 2, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_134, 0, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_134, 1, Landmarks_OceanCurrent}, + {MAPSEC_ROUTE_134, 2, Landmarks_Route134_2}, + {MAPSEC_MT_CHIMNEY, 2, Landmarks_MtChimney_2}, + {MAPSEC_NOTHING, 0, NULL}, }; static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id); @@ -396,7 +396,7 @@ static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id) { u16 i = 0; - for (; gLandmarkLists[i].mapSection != MAPSEC_Nothing; i++) + for (; gLandmarkLists[i].mapSection != MAPSEC_NOTHING; i++) { if (gLandmarkLists[i].mapSection > mapSection) return NULL; @@ -404,7 +404,7 @@ static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id) break; } - if (gLandmarkLists[i].mapSection == MAPSEC_Nothing) + if (gLandmarkLists[i].mapSection == MAPSEC_NOTHING) return NULL; for (; gLandmarkLists[i].mapSection == mapSection; i++) diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index ac7635d1a..fd60581b9 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -96,9 +96,9 @@ static const u16 sFeebasData[][3] = { }; static const u16 sLandmarkData[][2] = { - {MAPSEC_SkyPillar, FLAG_LANDMARK_SKY_PILLAR}, - {MAPSEC_SeafloorCavern, FLAG_LANDMARK_SEAFLOOR_CAVERN}, - {MAPSEC_Nothing} + {MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR}, + {MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN}, + {MAPSEC_NOTHING} }; static struct PokedexAreaScreenEwramStruct *const gPokedexAreaScreenPtr = &ePokedexAreaScreen; @@ -302,9 +302,9 @@ static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum) if (gPokedexAreaScreenPtr->numSpecialAreas < 0x20) { mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); - if (mapHeader->regionMapSectionId < MAPSEC_Nothing) + if (mapHeader->regionMapSectionId < MAPSEC_NOTHING) { - for (i = 0; sLandmarkData[i][0] != MAPSEC_Nothing; i++) + for (i = 0; sLandmarkData[i][0] != MAPSEC_NOTHING; i++) { if (mapHeader->regionMapSectionId == sLandmarkData[i][0] && !FlagGet(sLandmarkData[i][1])) return; diff --git a/src/region_map.c b/src/region_map.c index 11ec64f19..4b591c2e5 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -153,19 +153,19 @@ const struct RegionMapLocation gRegionMapLocations[] = static const u16 sUnderwaterMaps[][2] = { - {MAPSEC_Underwater124, MAPSEC_Route124}, - {MAPSEC_Underwater125, MAPSEC_Route126}, - {MAPSEC_Underwater126, MAPSEC_Route127}, - {MAPSEC_Underwater127, MAPSEC_Route128}, - {MAPSEC_UnderwaterSootopolis, MAPSEC_SootopolisCity}, - {MAPSEC_Underwater128, MAPSEC_Route128}, - {MAPSEC_EvilTeamHideout, MAPSEC_LilycoveCity}, - {MAPSEC_UnderwaterSealedChamber, MAPSEC_Route134}, - {MAPSEC_PetalburgWoods, MAPSEC_Route104}, - {MAPSEC_JaggedPass, MAPSEC_Route112}, - {MAPSEC_MtPyre, MAPSEC_Route122}, - {MAPSEC_SkyPillar, MAPSEC_Route131}, - {MAPSEC_Nothing, MAPSEC_Nothing}, + {MAPSEC_UNDERWATER_124, MAPSEC_ROUTE_124}, + {MAPSEC_UNDERWATER_125, MAPSEC_ROUTE_126}, + {MAPSEC_UNDERWATER_126, MAPSEC_ROUTE_127}, + {MAPSEC_UNDERWATER_127, MAPSEC_ROUTE_128}, + {MAPSEC_UNDERWATER_SOOTOPOLIS, MAPSEC_SOOTOPOLIS_CITY}, + {MAPSEC_UNDERWATER_128, MAPSEC_ROUTE_128}, + {MAPSEC_EVIL_TEAM_HIDEOUT, MAPSEC_LILYCOVE_CITY}, + {MAPSEC_UNDERWATER_SEALED_CHAMBER, MAPSEC_ROUTE_134}, + {MAPSEC_PETALBURG_WOODS, MAPSEC_ROUTE_104}, + {MAPSEC_JAGGED_PASS, MAPSEC_ROUTE_112}, + {MAPSEC_MT_PYRE, MAPSEC_ROUTE_122}, + {MAPSEC_SKY_PILLAR, MAPSEC_ROUTE_131}, + {MAPSEC_NOTHING, MAPSEC_NOTHING}, }; static u8 sub_80FAB78(void); @@ -593,7 +593,7 @@ void RegionMapDefaultZoomOffsetPlayerSprite(s16 a, s16 b) static u16 GetRegionMapSectionAt(u16 x, u16 y) { if (y < MAPCURSOR_Y_MIN || y > MAPCURSOR_Y_MAX || x < MAPCURSOR_X_MIN || x > MAPCURSOR_X_MAX) - return MAPSEC_Nothing; + return MAPSEC_NOTHING; y -= MAPCURSOR_Y_MIN; x -= MAPCURSOR_X_MIN; return sRegionMapLayout[x + y * 28]; @@ -632,7 +632,7 @@ static void InitializeCursorPosition(void) mapHeight = gMapHeader.mapData->height; x = gSaveBlock1.pos.x; y = gSaveBlock1.pos.y; - if (gRegionMap->mapSectionId == MAPSEC_Underwater128) + if (gRegionMap->mapSectionId == MAPSEC_UNDERWATER_128) gRegionMap->playerIsInCave = TRUE; break; case 3: @@ -659,7 +659,7 @@ static void InitializeCursorPosition(void) struct WarpData *r4; gRegionMap->mapSectionId = gMapHeader.regionMapSectionId; - if (gRegionMap->mapSectionId != MAPSEC_Dynamic) + if (gRegionMap->mapSectionId != MAPSEC_DYNAMIC) { r4 = &gSaveBlock1.warp4; mapHeader = Overworld_GetMapHeaderByGroupAndId(r4->mapGroup, r4->mapNum); @@ -697,12 +697,12 @@ static void InitializeCursorPosition(void) switch (gRegionMap->mapSectionId) { - case MAPSEC_Route114: + case MAPSEC_ROUTE_114: if (y != 0) x = 0; break; - case MAPSEC_Route126: - case MAPSEC_Underwater125: + case MAPSEC_ROUTE_126: + case MAPSEC_UNDERWATER_125: x = 0; if (gSaveBlock1.pos.x > 32) x = 1; @@ -714,7 +714,7 @@ static void InitializeCursorPosition(void) if (gSaveBlock1.pos.y > 0x38) y++; break; - case MAPSEC_Route121: + case MAPSEC_ROUTE_121: x = 0; if (r9 > 14) x = 1; @@ -740,16 +740,16 @@ static void sub_80FB600(void) switch (GetSSTidalLocation(&mapGroup, &mapNum, &sp2, &sp4)) { case 1: - gRegionMap->mapSectionId = MAPSEC_SlateportCity; + gRegionMap->mapSectionId = MAPSEC_SLATEPORT_CITY; break; case 2: - gRegionMap->mapSectionId = MAPSEC_LilycoveCity; + gRegionMap->mapSectionId = MAPSEC_LILYCOVE_CITY; break; case 3: - gRegionMap->mapSectionId = MAPSEC_Route124; + gRegionMap->mapSectionId = MAPSEC_ROUTE_124; break; case 4: - gRegionMap->mapSectionId = MAPSEC_Route131; + gRegionMap->mapSectionId = MAPSEC_ROUTE_131; break; default: case 0: @@ -783,44 +783,44 @@ static u16 sub_80FB758(u16 mapSectionId) { switch (mapSectionId) { - case MAPSEC_Nothing: + case MAPSEC_NOTHING: return 0; - case MAPSEC_LittlerootTown: + case MAPSEC_LITTLEROOT_TOWN: return FlagGet(FLAG_VISITED_LITTLEROOT_TOWN) ? 2 : 3; - case MAPSEC_OldaleTown: + case MAPSEC_OLDALE_TOWN: return FlagGet(FLAG_VISITED_OLDALE_TOWN) ? 2 : 3; - case MAPSEC_DewfordTown: + case MAPSEC_DEWFORD_TOWN: return FlagGet(FLAG_VISITED_DEWFORD_TOWN) ? 2 : 3; - case MAPSEC_LavaridgeTown: + case MAPSEC_LAVARIDGE_TOWN: return FlagGet(FLAG_VISITED_LAVARIDGE_TOWN) ? 2 : 3; - case MAPSEC_FallarborTown: + case MAPSEC_FALLARBOR_TOWN: return FlagGet(FLAG_VISITED_FALLARBOR_TOWN) ? 2 : 3; - case MAPSEC_VerdanturfTown: + case MAPSEC_VERDANTURF_TOWN: return FlagGet(FLAG_VISITED_VERDANTURF_TOWN) ? 2 : 3; - case MAPSEC_PacifidlogTown: + case MAPSEC_PACIFIDLOG_TOWN: return FlagGet(FLAG_VISITED_PACIFIDLOG_TOWN) ? 2 : 3; - case MAPSEC_PetalburgCity: + case MAPSEC_PETALBURG_CITY: return FlagGet(FLAG_VISITED_PETALBURG_CITY) ? 2 : 3; - case MAPSEC_SlateportCity: + case MAPSEC_SLATEPORT_CITY: return FlagGet(FLAG_VISITED_SLATEPORT_CITY) ? 2 : 3; - case MAPSEC_MauvilleCity: + case MAPSEC_MAUVILLE_CITY: return FlagGet(FLAG_VISITED_MAUVILLE_CITY) ? 2 : 3; - case MAPSEC_RustboroCity: + case MAPSEC_RUSTBORO_CITY: return FlagGet(FLAG_VISITED_RUSTBORO_CITY) ? 2 : 3; - case MAPSEC_FortreeCity: + case MAPSEC_FORTREE_CITY: return FlagGet(FLAG_VISITED_FORTREE_CITY) ? 2 : 3; - case MAPSEC_LilycoveCity: + case MAPSEC_LILYCOVE_CITY: return FlagGet(FLAG_VISITED_LILYCOVE_CITY) ? 2 : 3; - case MAPSEC_MossdeepCity: + case MAPSEC_MOSSDEEP_CITY: return FlagGet(FLAG_VISITED_MOSSDEEP_CITY) ? 2 : 3; - case MAPSEC_SootopolisCity: + case MAPSEC_SOOTOPOLIS_CITY: return FlagGet(FLAG_VISITED_SOOTOPOLIS_CITY) ? 2 : 3; - case MAPSEC_EverGrandeCity: + case MAPSEC_EVER_GRANDE_CITY: return FlagGet(FLAG_VISITED_EVER_GRANDE_CITY) ? 2 : 3; - case MAPSEC_BattleTower: + case MAPSEC_BATTLE_TOWER: return FlagGet(FLAG_LANDMARK_BATTLE_TOWER) ? 4 : 0; - case MAPSEC_SouthernIsland: + case MAPSEC_SOUTHERN_ISLAND: return FlagGet(FLAG_LANDMARK_SOUTHERN_ISLAND) ? 1 : 0; default: return 1; @@ -836,7 +836,7 @@ static u16 GetOverworldMapFromUnderwaterMap_(u16 mapSectionId) { u16 i; - for (i = 0; sUnderwaterMaps[i][0] != MAPSEC_Nothing; i++) + for (i = 0; sUnderwaterMaps[i][0] != MAPSEC_NOTHING; i++) { if (sUnderwaterMaps[i][0] == mapSectionId) return sUnderwaterMaps[i][1]; @@ -855,7 +855,7 @@ static void sub_80FBA18(void) u16 y; u16 i; - if (gRegionMap->mapSectionId == MAPSEC_Nothing) + if (gRegionMap->mapSectionId == MAPSEC_NOTHING) { gRegionMap->everGrandeCityArea = 0; return; @@ -1208,9 +1208,9 @@ void sub_80FBF94(void) const u8 *GetMapSectionName(u8 *dest, u16 mapSectionId, u16 length) { - if (mapSectionId == MAPSEC_SecretBase) + if (mapSectionId == MAPSEC_SECRET_BASE) return GetSecretBaseMapName(dest); - if (mapSectionId < MAPSEC_Nothing) + if (mapSectionId < MAPSEC_NOTHING) return StringCopy(dest, gRegionMapLocations[mapSectionId].regionMapSectionId); if (length == 0) length = 18; @@ -1221,9 +1221,9 @@ const u8 *CopyMapName(u8 *dest, u16 mapSectionId) { switch (mapSectionId) { - case MAPSEC_Dynamic: + case MAPSEC_DYNAMIC: return StringCopy(dest, gOtherText_Ferry); - case MAPSEC_SecretBase: + case MAPSEC_SECRET_BASE: return StringCopy(dest, gOtherText_SecretBase); default: return GetMapSectionName(dest, mapSectionId, 0); @@ -1232,7 +1232,7 @@ const u8 *CopyMapName(u8 *dest, u16 mapSectionId) const u8 *CopyLocationName(u8 *dest, u16 mapSectionId) { - if (mapSectionId == MAPSEC_EvilTeamHideout) + if (mapSectionId == MAPSEC_EVIL_TEAM_HIDEOUT) return StringCopy(dest, gOtherText_Hideout); else return CopyMapName(dest, mapSectionId); @@ -1330,7 +1330,7 @@ struct MultiPartMapSection // Map sections that are divided into multiple parts. Ever Grande City is the only one. static const struct MultiPartMapSection sMultiPartMapSections[1] = { - {sEverGrandeCityAreaNames, MAPSEC_EverGrandeCity, FLAG_SYS_POKEMON_LEAGUE_FLY}, + {sEverGrandeCityAreaNames, MAPSEC_EVER_GRANDE_CITY, FLAG_SYS_POKEMON_LEAGUE_FLY}, }; static struct UnknownStruct3 *const sFlyDataPtr = (struct UnknownStruct3 *)gSharedMem; @@ -1341,8 +1341,8 @@ static const struct SpritePalette sFlyTargetIconSpritePalette = {sFlyTargetIcons static const u16 sSpecialFlyAreas[][2] = { // flag, mapSectionId - {0x848, MAPSEC_BattleTower}, - {0xFFFF, MAPSEC_Nothing}, + {0x848, MAPSEC_BATTLE_TOWER}, + {0xFFFF, MAPSEC_NOTHING}, }; static const struct OamData sFlyTargetOamData = @@ -1607,7 +1607,7 @@ static void CreateSpecialAreaFlyTargetIcons(void) { u16 i; - for (i = 0; sSpecialFlyAreas[i][1] != MAPSEC_Nothing; i++) + for (i = 0; sSpecialFlyAreas[i][1] != MAPSEC_NOTHING; i++) { u16 x; u16 y; @@ -1716,16 +1716,16 @@ void sub_80FC69C(void) { switch (sFlyDataPtr->regionMap.mapSectionId) { - case MAPSEC_SouthernIsland: + case MAPSEC_SOUTHERN_ISLAND: sub_8053538(22); break; - case MAPSEC_BattleTower: + case MAPSEC_BATTLE_TOWER: sub_8053538(21); break; - case MAPSEC_LittlerootTown: + case MAPSEC_LITTLEROOT_TOWN: sub_8053538((gSaveBlock2.playerGender == MALE) ? 12 : 13); break; - case MAPSEC_EverGrandeCity: + case MAPSEC_EVER_GRANDE_CITY: sub_8053538((FlagGet(FLAG_SYS_POKEMON_LEAGUE_FLY) && sFlyDataPtr->regionMap.everGrandeCityArea == 0) ? 20 : 11); break; default: diff --git a/src/tv.c b/src/tv.c index 046c6f14c..87cecbefc 100644 --- a/src/tv.c +++ b/src/tv.c @@ -90,31 +90,31 @@ const struct OutbreakPokemon gPokeOutbreakSpeciesList[5] = .species = SPECIES_SURSKIT, .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE}, .level = 3, - .location = MAPSEC_Route102, + .location = MAPSEC_ROUTE_102, }, { .species = SPECIES_SURSKIT, .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE}, .level = 15, - .location = MAPSEC_Route114, + .location = MAPSEC_ROUTE_114, }, { .species = SPECIES_SURSKIT, .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE}, .level = 15, - .location = MAPSEC_Route117, + .location = MAPSEC_ROUTE_117, }, { .species = SPECIES_SURSKIT, .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE}, .level = 28, - .location = MAPSEC_Route120, + .location = MAPSEC_ROUTE_120, }, { .species = SPECIES_SKITTY, .moves = {MOVE_GROWL, MOVE_TACKLE, MOVE_NONE, MOVE_NONE}, .level = 15, - .location = MAPSEC_Route116, + .location = MAPSEC_ROUTE_116, }, }; -- cgit v1.2.3 From 478ac343ff97015adf5b61d8a80dfb1ac1180e67 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 26 Apr 2018 08:24:44 -0400 Subject: Use labels for two raw flag references --- src/region_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/region_map.c b/src/region_map.c index 4b591c2e5..190cc6576 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1341,7 +1341,7 @@ static const struct SpritePalette sFlyTargetIconSpritePalette = {sFlyTargetIcons static const u16 sSpecialFlyAreas[][2] = { // flag, mapSectionId - {0x848, MAPSEC_BATTLE_TOWER}, + {FLAG_LANDMARK_BATTLE_TOWER, MAPSEC_BATTLE_TOWER}, {0xFFFF, MAPSEC_NOTHING}, }; @@ -1565,7 +1565,7 @@ static void CreateFlyTargetGraphics(void) // Draws a light overlay on cities and towns that the player can fly to static void CreateCityTownFlyTargetIcons(void) { - u16 canFlyFlag = 0x80F; + u16 canFlyFlag = FLAG_VISITED_LITTLEROOT_TOWN; u16 i; for (i = 0; i < 16; i++) -- cgit v1.2.3 From 21415be0d3bcd5edffbd83777660af319a01e51b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 26 Apr 2018 19:49:36 -0400 Subject: Fix the swiss cheese in pokedex_cry_screen --- src/pokedex_cry_screen.c | 100 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 912b9aabd..941218fb0 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -3,15 +3,27 @@ #include "palette.h" #include "sprite.h" #include "ewram.h" +#include "trig.h" struct Unk201C800 { - u8 unk_0; - u8 unk_1; + s8 unk_0; + s8 unk_1; u8 unk_2; - u8 filler_3; u16 unk_4; }; +struct PokedexCryScreen_201C000 +{ + u8 unk0000[0x10]; + u8 unk0010; + u8 filler_0011[0x7EF]; + struct Unk201C800 unk0800; +}; + +#define ePokedexCryScreen (*(struct PokedexCryScreen_201C000 *)(gSharedMem + 0x1C000)) + +void sub_811A6D8(s8); + extern u8 gUnknown_03005E98; // data/pokedex_cry_screen.o @@ -80,3 +92,85 @@ u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { return returnVal; } + +void DestroyCryMeterNeedleSprite(void) +{ + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[EWRAM_1C800.unk_4].oam.paletteNum)); + DestroySprite(gSprites + EWRAM_1C800.unk_4); +} + +void sub_811A534(struct Sprite * sprite) +{ + u16 i; + s8 r3; + s16 x; + s16 y; + struct ObjAffineSrcData sp04; + struct OamMatrix sp0c; + u8 * r0; + + gSprites[EWRAM_1C800.unk_4].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[EWRAM_1C800.unk_4].oam.affineParam = 0; + switch (ePokedexCryScreen.unk0010) + { + case 0: + EWRAM_1C800.unk_1 = 0x20; + if (EWRAM_1C800.unk_0 > 0) + { + if (EWRAM_1C800.unk_2 != 1) + EWRAM_1C800.unk_2--; + } + else + EWRAM_1C800.unk_2 = 5; + break; + case 2: + r3 = 0; + for (i = 0; i < 16; i++) + { + if (r3 < ePokedexCryScreen.unk0000[i]) + r3 = ePokedexCryScreen.unk0000[i]; + } + sub_811A6D8(r3 * 0xd0 / 0x100); + break; + case 6: + r0 = &ePokedexCryScreen.unk0000[10]; + sub_811A6D8(*r0 * 0xd0 / 0x100); + break; + } + if (EWRAM_1C800.unk_0 == EWRAM_1C800.unk_1) + ; + else if (EWRAM_1C800.unk_0 < EWRAM_1C800.unk_1) + { + if ((EWRAM_1C800.unk_0 += EWRAM_1C800.unk_2) > EWRAM_1C800.unk_1) + { + EWRAM_1C800.unk_0 = EWRAM_1C800.unk_1; + EWRAM_1C800.unk_1 = 0; + } + } + else + { + if ((EWRAM_1C800.unk_0 -= EWRAM_1C800.unk_2) < EWRAM_1C800.unk_1) + { + EWRAM_1C800.unk_0 = EWRAM_1C800.unk_1; + EWRAM_1C800.unk_1 = 0; + } + } + sp04.xScale = 0x100; + sp04.yScale = 0x100; + sp04.rotation = EWRAM_1C800.unk_0 * 256; + ObjAffineSet(&sp04, &sp0c, 1, 2); + SetOamMatrix(0, sp0c.a, sp0c.b, sp0c.c, sp0c.d); + x = gSineTable[((EWRAM_1C800.unk_0 + 0x7F) & 0xFF)]; + y = gSineTable[((EWRAM_1C800.unk_0 + 0x7F) & 0xFF) + 0x40]; + sprite->pos2.x = x * 24 / 256; + sprite->pos2.y = y * 24 / 256; +} + +void sub_811A6D8(s8 a0) +{ + u16 r2 = (0x20 - a0) & 0xff; + if (r2 > 0x20 && r2 < 0xe0) + r2 = 0xe0; + EWRAM_1C800.unk_1 = r2; + EWRAM_1C800.unk_2 = 5; +} -- cgit v1.2.3 From 051a6b380164f85c863dcf460f2a296ed5930775 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 25 Apr 2018 20:22:55 -0700 Subject: Start decompiling current.s --- src/battle/anim/current.c | 143 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100755 src/battle/anim/current.c (limited to 'src') diff --git a/src/battle/anim/current.c b/src/battle/anim/current.c new file mode 100755 index 000000000..d38ae94a7 --- /dev/null +++ b/src/battle/anim/current.c @@ -0,0 +1,143 @@ +#include "global.h" +#include "battle_anim.h" +#include "main.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "constants/battle_constants.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +static void sub_80D6514(struct Sprite *sprite); +static void sub_80D672C(struct Sprite *sprite); +extern void sub_80D6874(u8 taskId); + + +void sub_80D648C(struct Sprite *sprite) +{ + InitAnimSpritePos(sprite, 1); + + sprite->data[0] = gBattleAnimArgs[3]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + + InitAnimSpriteTranslationDeltas(sprite); + sprite->data[5] = gBattleAnimArgs[2]; + sprite->data[6] = gBattleAnimArgs[5]; + sprite->data[7] = gBattleAnimArgs[4]; + sprite->oam.tileNum += gBattleAnimArgs[6] * 4; + + sprite->callback = sub_80D6514; + sprite->callback(sprite); +} + +static void sub_80D6514(struct Sprite *sprite) +{ + if (!TranslateAnimSpriteByDeltas(sprite)) + { + sprite->pos2.x += Sin(sprite->data[7], sprite->data[5]); + sprite->pos2.y += Cos(sprite->data[7], sprite->data[5]); + + sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF; + if (sprite->data[7] % 3 == 0) + { + sprite->invisible ^= 1; + } + } + else + { + DestroyAnimSprite(sprite); + } +} + +static void sub_80D658C(struct Sprite *sprite) +{ + if (--sprite->data[5] == -1) + { + sprite->invisible ^= 1; + sprite->data[5] = sprite->data[4]; + } + + if (sprite->data[3]-- <= 0) + { + DestroyAnimSprite(sprite); + } +} + +void sub_80D65DC(struct Sprite *sprite) +{ + if (!gMain.inBattle || GetBattlerSide(gAnimBankTarget) == B_SIDE_PLAYER) + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[2]; + sprite->data[3] = gBattleAnimArgs[0]; + sprite->data[4] = gBattleAnimArgs[3]; + sprite->data[5] = gBattleAnimArgs[3]; + sprite->callback = sub_80D658C; +} + +void sub_80D6658(struct Sprite *sprite) +{ + u8 bank; + + sprite->data[0] = gBattleAnimArgs[3]; + if (gBattleAnimArgs[7] & 0x8000) + bank = gAnimBankTarget; + else + bank = gAnimBankAttacker; + + if (!gMain.inBattle || GetBattlerSide(bank) == B_SIDE_PLAYER) + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + + sprite->pos1.x = GetBattlerSpriteCoord(bank, 2) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(bank, 3) + gBattleAnimArgs[1]; + + sprite->data[4] = gBattleAnimArgs[7] & 0x7FFF; + sprite->data[5] = gBattleAnimArgs[2]; + sprite->data[6] = gBattleAnimArgs[5]; + sprite->data[7] = gBattleAnimArgs[4]; + + sprite->oam.tileNum += gBattleAnimArgs[6] * 4; + sprite->callback = sub_80D672C; + sprite->callback(sprite); +} + +static void sub_80D672C(struct Sprite *sprite) +{ + sprite->pos2.x = Sin(sprite->data[7], sprite->data[5]); + sprite->pos2.y = Cos(sprite->data[7], sprite->data[5]); + + sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF; + if (sprite->data[7] % sprite->data[4] == 0) + sprite->invisible ^= 1; + + if (sprite->data[0]-- <= 0) + DestroyAnimSprite(sprite); +} + +void sub_80D679C(struct Sprite *sprite) +{ + sub_8078764(sprite, 0); + sprite->oam.tileNum += gBattleAnimArgs[3] * 4; + + if (gBattleAnimArgs[3] == 1) + sprite->oam.matrixNum = 8; + else if (gBattleAnimArgs[3] == 2) + sprite->oam.matrixNum = 16; + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->callback = WaitAnimForDuration; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_80D681C(u8 taskId) +{ + gTasks[taskId].data[0] = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[0]; + gTasks[taskId].data[1] = GetBattlerSpriteCoord(gAnimBankTarget, 1) + gBattleAnimArgs[1]; + gTasks[taskId].data[2] = gBattleAnimArgs[2]; + gTasks[taskId].func = sub_80D6874; +} -- cgit v1.2.3 From eaea33115ef0227edc293331761b6fe0c336d6da Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 26 Apr 2018 19:41:03 -0700 Subject: Decompile more of current.s --- src/battle/anim/current.c | 487 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 486 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle/anim/current.c b/src/battle/anim/current.c index d38ae94a7..0ad04b117 100755 --- a/src/battle/anim/current.c +++ b/src/battle/anim/current.c @@ -8,10 +8,20 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern u8 gAnimVisualTaskCount; + +extern const struct SpriteTemplate gSpriteTemplate_83D9938; +extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9950; +extern const struct SpriteTemplate gSpriteTemplate_83D99B8; +extern s8 gUnknown_083D9968[][2]; static void sub_80D6514(struct Sprite *sprite); static void sub_80D672C(struct Sprite *sprite); -extern void sub_80D6874(u8 taskId); +static void sub_80D6874(u8 taskId); +static void sub_80D6AF0(struct Sprite *sprite); +static void sub_80D6BB8(u8 taskId); +static void sub_80D6D00(struct Sprite *sprite); +static void sub_80D6E38(struct Sprite *sprite); void sub_80D648C(struct Sprite *sprite) @@ -141,3 +151,478 @@ void sub_80D681C(u8 taskId) gTasks[taskId].data[2] = gBattleAnimArgs[2]; gTasks[taskId].func = sub_80D6874; } + +NAKED +static void sub_80D6874(u8 taskId) +{ + 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, 0x4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r9, r0\n\ + movs r5, 0\n\ + movs r7, 0\n\ + ldr r1, _080D68B4 @ =gTasks\n\ + lsls r0, 2\n\ + add r0, r9\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + ldrb r2, [r0, 0xC]\n\ + str r2, [sp]\n\ + ldrh r4, [r0, 0x8]\n\ + ldrh r6, [r0, 0xA]\n\ + movs r3, 0xC\n\ + ldrsh r0, [r0, r3]\n\ + mov r10, r1\n\ + cmp r0, 0\n\ + bne _080D68B8\n\ + movs r0, 0\n\ + mov r8, r0\n\ + movs r2, 0x1\n\ + movs r1, 0x10\n\ + mov r12, r1\n\ + b _080D68C2\n\ + .align 2, 0\n\ +_080D68B4: .4byte gTasks\n\ +_080D68B8:\n\ + movs r2, 0x10\n\ + mov r12, r2\n\ + movs r3, 0x8\n\ + mov r8, r3\n\ + movs r2, 0x4\n\ +_080D68C2:\n\ + mov r0, r9\n\ + lsls r1, r0, 2\n\ + adds r0, r1, r0\n\ + lsls r0, 3\n\ + add r0, r10\n\ + movs r3, 0x1C\n\ + ldrsh r0, [r0, r3]\n\ + mov r10, r1\n\ + cmp r0, 0xA\n\ + bhi _080D69B8\n\ + lsls r0, 2\n\ + ldr r1, _080D68E0 @ =_080D68E4\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .align 2, 0\n\ +_080D68E0: .4byte _080D68E4\n\ + .align 2, 0\n\ +_080D68E4:\n\ + .4byte _080D6910\n\ + .4byte _080D69B8\n\ + .4byte _080D6924\n\ + .4byte _080D69B8\n\ + .4byte _080D6944\n\ + .4byte _080D69B8\n\ + .4byte _080D695A\n\ + .4byte _080D69B8\n\ + .4byte _080D697C\n\ + .4byte _080D69B8\n\ + .4byte _080D69B0\n\ +_080D6910:\n\ + ldr r0, _080D6920 @ =gSpriteTemplate_83D9938\n\ + lsls r1, r4, 16\n\ + asrs r1, 16\n\ + lsls r2, r6, 16\n\ + asrs r2, 16\n\ + mov r4, r12\n\ + lsls r3, r4, 16\n\ + b _080D6992\n\ + .align 2, 0\n\ +_080D6920: .4byte gSpriteTemplate_83D9938\n\ +_080D6924:\n\ + mov r0, r12\n\ + lsls r3, r0, 17\n\ + mov r1, r8\n\ + adds r0, r1, r2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + ldr r0, _080D6940 @ =gSpriteTemplate_83D9938\n\ + lsls r1, r4, 16\n\ + asrs r1, 16\n\ + lsls r2, r6, 16\n\ + asrs r2, 16\n\ + b _080D6992\n\ + .align 2, 0\n\ +_080D6940: .4byte gSpriteTemplate_83D9938\n\ +_080D6944:\n\ + mov r3, r12\n\ + lsls r0, r3, 16\n\ + asrs r0, 16\n\ + lsls r3, r0, 1\n\ + adds r3, r0\n\ + lsls r0, r2, 1\n\ + add r0, r8\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + b _080D6986\n\ +_080D695A:\n\ + mov r0, r12\n\ + lsls r3, r0, 18\n\ + lsls r0, r2, 1\n\ + adds r0, r2\n\ + add r0, r8\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + ldr r0, _080D6978 @ =gSpriteTemplate_83D9938\n\ + lsls r1, r4, 16\n\ + asrs r1, 16\n\ + lsls r2, r6, 16\n\ + asrs r2, 16\n\ + b _080D6992\n\ + .align 2, 0\n\ +_080D6978: .4byte gSpriteTemplate_83D9938\n\ +_080D697C:\n\ + mov r1, r12\n\ + lsls r0, r1, 16\n\ + asrs r0, 16\n\ + lsls r3, r0, 2\n\ + adds r3, r0\n\ +_080D6986:\n\ + ldr r0, _080D69AC @ =gSpriteTemplate_83D9938\n\ + lsls r1, r4, 16\n\ + asrs r1, 16\n\ + lsls r2, r6, 16\n\ + asrs r2, 16\n\ + lsls r3, 16\n\ +_080D6992:\n\ + asrs r3, 16\n\ + adds r2, r3\n\ + lsls r2, 16\n\ + asrs r2, 16\n\ + movs r3, 0x2\n\ + bl CreateSprite\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + adds r0, r7, 0x1\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + b _080D69B8\n\ + .align 2, 0\n\ +_080D69AC: .4byte gSpriteTemplate_83D9938\n\ +_080D69B0:\n\ + mov r0, r9\n\ + bl DestroyAnimVisualTask\n\ + b _080D69FC\n\ +_080D69B8:\n\ + cmp r7, 0\n\ + beq _080D69EC\n\ + ldr r4, _080D6A0C @ =gSprites\n\ + lsls r3, r5, 4\n\ + adds r3, r5\n\ + lsls r3, 2\n\ + adds r0, r3, r4\n\ + ldrh r5, [r0, 0x4]\n\ + lsls r2, r5, 22\n\ + lsrs r2, 22\n\ + add r2, r8\n\ + ldr r6, _080D6A10 @ =0x000003ff\n\ + adds r1, r6, 0\n\ + ands r2, r1\n\ + ldr r1, _080D6A14 @ =0xfffffc00\n\ + ands r1, r5\n\ + orrs r1, r2\n\ + strh r1, [r0, 0x4]\n\ + mov r1, sp\n\ + ldrh r1, [r1]\n\ + strh r1, [r0, 0x2E]\n\ + adds r4, 0x1C\n\ + adds r3, r4\n\ + ldr r1, [r3]\n\ + bl _call_via_r1\n\ +_080D69EC:\n\ + ldr r0, _080D6A18 @ =gTasks\n\ + mov r1, r10\n\ + add r1, r9\n\ + lsls r1, 3\n\ + adds r1, r0\n\ + ldrh r0, [r1, 0x1C]\n\ + adds r0, 0x1\n\ + strh r0, [r1, 0x1C]\n\ +_080D69FC:\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\ + .align 2, 0\n\ +_080D6A0C: .4byte gSprites\n\ +_080D6A10: .4byte 0x000003ff\n\ +_080D6A14: .4byte 0xfffffc00\n\ +_080D6A18: .4byte gTasks\n\ + .syntax divided\n"); +} + +void sub_80D6A1C(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + sprite->oam.shape = 2; + sprite->oam.size = 0; + } + else + { + sprite->oam.shape = 0; + sprite->oam.size = 1; + } + + if (++sprite->data[1] == 15) + DestroySprite(sprite); +} + +void sub_80D6A6C(struct Sprite *sprite) +{ + u8 spriteId; + + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + spriteId = CreateSprite(&gBattleAnimSpriteTemplate_83D9950, sprite->pos1.x + 32, sprite->pos1.y, sprite->subpriority); + gSprites[spriteId].oam.tileNum += 8; + gAnimVisualTaskCount++; + gSprites[spriteId].callback = sub_80D6AF0; + sprite->callback = sub_80D6AF0; +} + +static void sub_80D6AF0(struct Sprite *sprite) +{ + if (++sprite->data[0] == 3) + { + sprite->data[0] = 0; + sprite->invisible ^= 1; + } + + if (++sprite->data[1] == 51) + DestroyAnimSprite(sprite); +} + +void sub_80D6B3C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (gBattleAnimArgs[0] == 0) + { + task->data[14] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + task->data[15] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + } + else + { + task->data[14] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + task->data[15] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + } + + task->data[6] = gBattleAnimArgs[1]; + task->data[7] = 0; + task->data[8] = 0; + task->data[9] = 0; + task->data[10] = 0; + task->data[11] = gBattleAnimArgs[3]; + task->data[12] = 0; + task->data[13] = gBattleAnimArgs[2]; + task->func = sub_80D6BB8; +} + +static void sub_80D6BB8(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (task->data[6]) + { + if (++task->data[12] > task->data[13]) + { + u8 spriteId; + task->data[12] = 0; + spriteId = CreateSprite(&gSpriteTemplate_83D99B8, task->data[14], task->data[15], 2); + if (spriteId != MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[spriteId]; + sprite->pos1.x += gUnknown_083D9968[task->data[9]][0]; + sprite->pos1.y += gUnknown_083D9968[task->data[9]][1]; + + sprite->data[0] = 40 - task->data[8] * 5; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = task->data[14]; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = task->data[15]; + sprite->data[5] = taskId; + + InitAnimSpriteTranslationDeltas(sprite); + StoreSpriteCallbackInData(sprite, sub_80D6D00); + sprite->callback = sub_8078600; + + if (++task->data[9] > 15) + task->data[9] = 0; + + if (++task->data[10] >= task->data[11]) + { + task->data[10] = 0; + if (task->data[8] <= 5) + task->data[8]++; + } + + task->data[7]++; + task->data[6]--; + } + } + } + else + { + if (task->data[7] == 0) + { + DestroyAnimVisualTask(taskId); + } + } +} + +static void sub_80D6CCC(struct Sprite *sprite) +{ + if (TranslateAnimSpriteByDeltas(sprite)) + { + gTasks[sprite->data[5]].data[7]--; + DestroySprite(sprite); + } +} + +static void sub_80D6D00(struct Sprite *sprite) +{ + StartSpriteAnim(sprite, 1); + sprite->callback = sub_80D6CCC; +} + +void sub_80D6D18(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); + } + + StoreSpriteCallbackInData(sprite, move_anim_8074EE0); + sprite->callback = sub_80785E4; +} + +void sub_80D6D70(struct Sprite *sprite) +{ + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); + } + + sprite->pos2.x = gBattleAnimArgs[1]; + sprite->pos2.y = gBattleAnimArgs[2]; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + sprite->callback = sub_8078600; +} + +void sub_80D6DD8(struct Sprite *sprite) +{ + StartSpriteAffineAnim(sprite, 1); + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->data[6] = GetAnimBattlerSpriteId(0); + sprite->data[7] = 16; + + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_OPPONENT) + sprite->data[7] *= -1; + + sprite->callback = sub_80D6E38; +} + +static void sub_80D6E38(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (++sprite->data[1] > 40) + sprite->data[0]++; + break; + case 1: + sprite->pos1.x += sprite->data[7]; + gSprites[sprite->data[6]].pos2.x += sprite->data[7]; + if ((u16)(sprite->pos1.x + 80) > 400) + { + move_anim_8074EE0(sprite); + } + break; + } +} + +void sub_80D6E9C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[15] = GetAnimBattlerSpriteId(0); + task->data[14] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) + { + task->data[14] = -32; + task->data[13] = 2; + } + else + { + task->data[14] = 32; + task->data[13] = -2; + } + + gSprites[task->data[15]].pos2.x = task->data[14]; + task->data[0]++; + break; + case 1: + if (++task->data[1] > 1) + { + task->data[1] = 0; + gSprites[task->data[15]].invisible ^= 1; + + if (task->data[14]) + { + task->data[14] += task->data[13]; + gSprites[task->data[15]].pos2.x = task->data[14]; + } + else + { + task->data[0]++; + } + } + break; + case 2: + if (++task->data[1] > 1) + { + task->data[1] = 0; + gSprites[task->data[15]].invisible ^= 1; + + if (++task->data[2] == 8) + task->data[0]++; + } + break; + case 3: + gSprites[task->data[15]].invisible = 0; + DestroyAnimVisualTask(taskId); + break; + } +} -- cgit v1.2.3 From aa111f33373e0481df975e6e8298dbec9ececc3f Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 27 Apr 2018 18:38:42 -0700 Subject: Finish decompiling current.s --- src/battle/anim/current.c | 397 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 397 insertions(+) (limited to 'src') diff --git a/src/battle/anim/current.c b/src/battle/anim/current.c index 0ad04b117..af9003e87 100755 --- a/src/battle/anim/current.c +++ b/src/battle/anim/current.c @@ -2,8 +2,10 @@ #include "battle_anim.h" #include "main.h" #include "rom_8077ABC.h" +#include "sound.h" #include "trig.h" #include "constants/battle_constants.h" +#include "constants/songs.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; @@ -13,6 +15,9 @@ extern u8 gAnimVisualTaskCount; extern const struct SpriteTemplate gSpriteTemplate_83D9938; extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9950; extern const struct SpriteTemplate gSpriteTemplate_83D99B8; +extern const struct SpriteTemplate gSpriteTemplate_83D9B10; +extern const struct SpriteTemplate gSpriteTemplate_83D9B40; +extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D97D0; extern s8 gUnknown_083D9968[][2]; static void sub_80D6514(struct Sprite *sprite); @@ -22,6 +27,10 @@ static void sub_80D6AF0(struct Sprite *sprite); static void sub_80D6BB8(u8 taskId); static void sub_80D6D00(struct Sprite *sprite); static void sub_80D6E38(struct Sprite *sprite); +static bool8 sub_80D7194(struct Task *task, u8 taskId); +static bool8 sub_80D7470(struct Task *task, u8 taskId); +static bool8 sub_80D7654(struct Task *task, u8 taskId); +static void sub_80D76C4(struct Sprite *sprite); void sub_80D648C(struct Sprite *sprite) @@ -152,6 +161,72 @@ void sub_80D681C(u8 taskId) gTasks[taskId].func = sub_80D6874; } +#ifdef NONMATCHING // couldn't get the proper tail merging in the "CreateSprite" switch cases. +static void sub_80D6874(u8 taskId) +{ + u16 r8; + s16 r12; + s16 r2; + u8 spriteId = 0; + u8 r7 = 0; + u8 sp = gTasks[taskId].data[2]; + s16 r4 = gTasks[taskId].data[0]; + s16 r6 = gTasks[taskId].data[1]; + + if (gTasks[taskId].data[2] == 0) + { + r8 = 0; + r2 = 1; + r12 = 16; + } + else + { + r12 = 16; + r8 = 8; + r2 = 4; + } + + switch (gTasks[taskId].data[10]) + { + case 0: + r8 += r2 * 0; + spriteId = CreateSprite(&gSpriteTemplate_83D9938, r4, r6 + (r12 * 1), 2); + r7++; + break; + case 2: + r8 += r2; + spriteId = CreateSprite(&gSpriteTemplate_83D9938, r4, r6 + (r12 * 2), 2); + r7++; + break; + case 4: + r8 += r2 * 2; + spriteId = CreateSprite(&gSpriteTemplate_83D9938, r4, r6 + (r12 * 3), 2); + r7++; + break; + case 6: + r8 += r2 * 3; + spriteId = CreateSprite(&gSpriteTemplate_83D9938, r4, r6 + (r12 * 4), 2); + r7++; + break; + case 8: + spriteId = CreateSprite(&gSpriteTemplate_83D9938, r4, r6 + (r12 * 5), 2); + r7++; + break; + case 10: + DestroyAnimVisualTask(taskId); + return; + } + + if (r7) + { + gSprites[spriteId].oam.tileNum += r8; + gSprites[spriteId].data[0] = sp; + gSprites[spriteId].callback(&gSprites[spriteId]); + } + + gTasks[taskId].data[10]++; +} +#else NAKED static void sub_80D6874(u8 taskId) { @@ -365,6 +440,7 @@ _080D6A14: .4byte 0xfffffc00\n\ _080D6A18: .4byte gTasks\n\ .syntax divided\n"); } +#endif void sub_80D6A1C(struct Sprite *sprite) { @@ -626,3 +702,324 @@ void sub_80D6E9C(u8 taskId) break; } } + +void sub_80D700C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch(task->data[0]) + { + case 0: + task->data[1] = GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER ? 1 : -1; + + switch (gBattleAnimArgs[0]) + { + case 0: + task->data[3] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + task->data[5] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + task->data[4] = (task->data[1] * 128) + 120; + break; + case 4: + task->data[3] = 120 - (task->data[1] * 128); + task->data[5] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + task->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 2) - (task->data[1] * 32); + break; + default: + if ((gBattleAnimArgs[0] & 1) != 0) + { + task->data[3] = 256; + task->data[4] = -16; + } + else + { + task->data[3] = -16; + task->data[4] = 256; + } + + if (task->data[1] == 1) + { + task->data[5] = 80 - gBattleAnimArgs[0] * 10; + } + else + { + u16 temp; + task->data[5] = gBattleAnimArgs[0] * 10 + 40; + temp = task->data[3]; + task->data[3] = task->data[4]; + task->data[4] = temp; + } + break; + } + + if (task->data[3] < task->data[4]) + { + task->data[1] = 1; + task->data[6] = 0; + } + else + { + task->data[1] = -1; + task->data[6] = 3; + } + + task->data[0]++; + break; + case 1: + if (++task->data[2] > 0) + { + task->data[2] = 0; + if (sub_80D7194(task, taskId) || sub_80D7194(task, taskId)) + task->data[0]++; + } + break; + case 2: + if (task->data[7] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +static bool8 sub_80D7194(struct Task *task, u8 taskId) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83D9B10, task->data[3], task->data[5], 35); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 7; + task->data[7]++; + } + + task->data[6] += task->data[1]; + if (task->data[6] < 0) + task->data[6] = 3; + + if (task->data[6] > 3) + task->data[6] = 0; + + task->data[3] += task->data[1] * 16; + + if ((task->data[1] == 1 && task->data[3] >= task->data[4]) + || (task->data[1] == -1 && task->data[3] <= task->data[4])) + { + return TRUE; + } + else + { + return FALSE; + } +} + +void sub_80D7230(struct Sprite *sprite) +{ + if (++sprite->data[0] > 12) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + FreeOamMatrix(sprite->oam.matrixNum); + DestroySprite(sprite); + } +} + +void sub_80D727C(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + StartSpriteAffineAnim(sprite, 2); + sprite->data[0]++; + break; + case 1: + if (sprite->affineAnimEnded) + move_anim_8074EE0(sprite); + break; + } +} + +void sub_80D72DC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[6] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + task->data[7] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + task->data[8] = 4; + task->data[10] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + task->data[9] = (task->data[10] - task->data[6]) / 5; + task->data[4] = 7; + task->data[5] = -1; + task->data[11] = 12; + task->data[12] = BattleAnimAdjustPanning(task->data[11] - 76); + task->data[13] = BattleAnimAdjustPanning(63); + task->data[14] = task->data[12]; + task->data[15] = (task->data[13] - task->data[12]) / 3; + task->data[0]++; + break; + case 1: + if (++task->data[1] > 0) + { + task->data[1] = 0; + if (sub_80D7470(task, taskId)) + { + if (task->data[2] == 5) + task->data[0] = 3; + else + task->data[0]++; + } + } + + if (task->data[11]) + task->data[11]--; + break; + case 2: + if (task->data[11]) + task->data[11]--; + + if (++task->data[1] > 4) + { + task->data[1] = 0; + if (task->data[2] & 1) + { + task->data[7] = 4; + task->data[8] = 68; + task->data[4] = 0; + task->data[5] = 1; + } + else + { + task->data[7] = 68; + task->data[8] = 4; + task->data[4] = 7; + task->data[5] = -1; + } + + if (task->data[11]) + task->data[0] = 4; + else + task->data[0] = 1; + } + break; + case 3: + if (task->data[3] == 0) + DestroyAnimVisualTask(taskId); + break; + case 4: + if (task->data[11]) + task->data[11]--; + else + task->data[0] = 1; + break; + } +} + +static bool8 sub_80D7470(struct Task *task, u8 taskId) +{ + u8 spriteId = CreateSprite(&gSpriteTemplate_83D9B40, task->data[6], task->data[7], 35); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].oam.tileNum += task->data[4]; + task->data[4] += task->data[5]; + if (task->data[4] < 0) + task->data[4] = 7; + if (task->data[4] > 7) + task->data[4] = 0; + + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 3; + task->data[3]++; + } + + if (task->data[4] == 0 && task->data[5] > 0) + { + task->data[14] += task->data[15]; + PlaySE12WithPanning(SE_W085, task->data[14]); + } + + if ((task->data[5] < 0 && task->data[7] <= task->data[8]) + || (task->data[5] > 0 && task->data[7] >= task->data[8])) + { + task->data[2]++; + task->data[6] += task->data[9]; + return TRUE; + } + else + { + task->data[7] += task->data[5] * 8; + return FALSE; + } +} + +void sub_80D755C(struct Sprite *sprite) +{ + if (++sprite->data[0] > 12) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } +} + +void sub_80D759C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[15] = GetBattlerSpriteCoord(gAnimBankTarget, 1) + 32; + task->data[14] = task->data[15]; + while (task->data[14] > 16) + { + task->data[14] -= 32; + } + + task->data[13] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + task->data[12] = sub_8079E90(gAnimBankTarget) - 2; + task->data[0]++; + break; + case 1: + if (++task->data[1] > 1) + { + task->data[1] = 0; + if (sub_80D7654(task, taskId)) + task->data[0]++; + } + break; + case 2: + if (task->data[10] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +static bool8 sub_80D7654(struct Task *task, u8 taskId) +{ + u8 spriteId = CreateSprite(&gBattleAnimSpriteTemplate_83D97D0, task->data[13], task->data[14], task->data[12]); + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].callback = sub_80D76C4; + gSprites[spriteId].data[6] = taskId; + gSprites[spriteId].data[7] = 10; + task->data[10]++; + } + + if (task->data[14] >= task->data[15]) + { + return TRUE; + } + else + { + task->data[14] += 32; + return FALSE; + } +} + +static void sub_80D76C4(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } +} -- cgit v1.2.3 From 4f66d1b7f2630aa1b805ac8e848ebae38faaacd3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Apr 2018 14:09:33 -0400 Subject: through sub_811A15C (two nonmatching) --- src/main.c | 2 +- src/pokedex_cry_screen.c | 413 ++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 412 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/main.c b/src/main.c index 54a443e80..d7ef91df0 100644 --- a/src/main.c +++ b/src/main.c @@ -68,7 +68,7 @@ u8 gSoftResetDisabled; IntrFunc gIntrTable[INTR_COUNT]; bool8 gLinkVSyncDisabled; u32 IntrMain_Buffer[0x200]; -u8 gPcmDmaCounter; +s8 gPcmDmaCounter; EWRAM_DATA u8 gSharedMem[0x20000] = {0}; EWRAM_DATA void (**gFlashTimerIntrFunc)(void) = NULL; diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 941218fb0..b6abd436d 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -1,9 +1,19 @@ #include "global.h" +#include "m4a.h" +#include "main.h" #include "pokedex_cry_screen.h" #include "palette.h" #include "sprite.h" #include "ewram.h" #include "trig.h" +#include "sound.h" + +extern struct SoundInfo gSoundInfo; +extern struct MusicPlayerInfo gMPlay_BGM; + +struct Unk2000000 { + u16 unk0000[7 * 32][16]; +}; struct Unk201C800 { s8 unk_0; @@ -16,17 +26,32 @@ struct PokedexCryScreen_201C000 { u8 unk0000[0x10]; u8 unk0010; - u8 filler_0011[0x7EF]; - struct Unk201C800 unk0800; + u8 unk0011; + u8 unk0012; + u16 unk0014; + u8 unk0016; + u16 species; + u8 unk001A; + u8 unk001B; }; +#define ePokedexCryScreenGfx (*(struct Unk2000000 *)gSharedMem) #define ePokedexCryScreen (*(struct PokedexCryScreen_201C000 *)(gSharedMem + 0x1C000)) +void sub_811A0A0(u16 species); +void sub_811A0C0(void); +void sub_811A124(void); +void sub_811A15C(u8); +void sub_811A1C8(u8, u8); +void sub_811A324(void); +void sub_811A350(u8, u8, u8); void sub_811A6D8(s8); extern u8 gUnknown_03005E98; // data/pokedex_cry_screen.o +extern const u16 gUnknown_083FB6F8[]; +extern const u16 gUnknown_083FB718[]; extern const u16 gUnknown_083FAE7C[]; extern const u16 gUnknown_083FAF1C[]; extern const u8 gUnknown_083FAF3C[]; @@ -40,6 +65,390 @@ extern const struct SpritePalette gCryMeterNeedleSpritePalettes[]; #define CRY_METER_MAP_WIDTH 32 #endif +#ifdef NONMATCHING +u8 sub_8119E3C(struct CryRelatedStruct *cry, u8 arg1) +{ + u8 i; + u8 j; + u16 r6; + u16 r7; + u8 r9 = FALSE; + u32 offset; + + switch (gUnknown_03005E98) + { + case 0: + ePokedexCryScreen.unk0014 = cry->unk0; + ePokedexCryScreen.unk0016 = cry->yPos; + ePokedexCryScreen.unk001A = 0; + ePokedexCryScreen.unk001B = 0; + ePokedexCryScreen.unk0010 = 0; + ePokedexCryScreen.unk0012 = 28; + ePokedexCryScreen.unk0011 = 0; + sub_811A350(arg1, -8 * cry->xPos, 0); + for (i = 0; i < 7; i++) + { + for (j = 0; j < 32; j++) + { + DmaCopy16(3, gUnknown_083FB718, ePokedexCryScreenGfx.unk0000[32 * i + j], 32); + } + } + gUnknown_03005E98++; + break; + case 1: + r7 = cry->unk2 << 11; + r6 = (cry->paletteNo << 12) + ((unsigned)(cry->unk0 << 18) >> 23); + for (i = 0; i < 7; i++) + { + for (j = 0; j < 32; j++) + { + offset = j << 1; + offset += i << 6; + offset += r7; + *((u16 *)(VRAM + offset)) = r6++; + } + } + for (i = 0; i < ePokedexCryScreen.unk0016 * 8; i++) + { + sub_811A1C8(i, 0); + } + gUnknown_03005E98++; + break; + case 2: + sub_811A324(); + LoadPalette(gUnknown_083FB6F8, cry->paletteNo * 16, 32); + r9 = TRUE; + break; + } + return r9; +} +#else +NAKED u8 sub_8119E3C(struct CryRelatedStruct *cry, u8 arg1) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r9\n" + "\tmov r6, r8\n" + "\tpush {r6,r7}\n" + "\tadds r5, r0, 0\n" + "\tlsls r1, 24\n" + "\tlsrs r2, r1, 24\n" + "\tmovs r0, 0\n" + "\tmov r9, r0\n" + "\tldr r6, _08119E60 @ =gUnknown_03005E98\n" + "\tldrb r0, [r6]\n" + "\tcmp r0, 0x1\n" + "\tbeq _08119EE0\n" + "\tcmp r0, 0x1\n" + "\tbgt _08119E64\n" + "\tcmp r0, 0\n" + "\tbeq _08119E6A\n" + "\tb _08119F74\n" + "\t.align 2, 0\n" + "_08119E60: .4byte gUnknown_03005E98\n" + "_08119E64:\n" + "\tcmp r0, 0x2\n" + "\tbeq _08119F60\n" + "\tb _08119F74\n" + "_08119E6A:\n" + "\tldr r4, _08119ECC @ =gSharedMem + 0x1C000\n" + "\tldrh r0, [r5]\n" + "\tmovs r1, 0\n" + "\tstrh r0, [r4, 0x14]\n" + "\tldrb r0, [r5, 0x5]\n" + "\tstrb r0, [r4, 0x16]\n" + "\tstrb r1, [r4, 0x1A]\n" + "\tstrb r1, [r4, 0x1B]\n" + "\tstrb r1, [r4, 0x10]\n" + "\tmovs r0, 0x1C\n" + "\tstrb r0, [r4, 0x12]\n" + "\tstrb r1, [r4, 0x11]\n" + "\tldrb r1, [r5, 0x4]\n" + "\tlsls r1, 19\n" + "\tnegs r1, r1\n" + "\tasrs r1, 16\n" + "\tadds r0, r2, 0\n" + "\tmovs r2, 0x1\n" + "\tbl sub_811A350\n" + "\tmovs r0, 0\n" + "\tmov r12, r6\n" + "\tldr r1, _08119ED0 @ =0x040000d4\n" + "\tldr r7, _08119ED4 @ =gUnknown_083FB718\n" + "\tldr r2, _08119ED8 @ =0xfffe4000\n" + "\tadds r6, r4, r2\n" + "\tldr r5, _08119EDC @ =0x80000010\n" + "_08119EA0:\n" + "\tmovs r3, 0\n" + "\tadds r4, r0, 0x1\n" + "\tlsls r2, r0, 5\n" + "_08119EA6:\n" + "\tstr r7, [r1]\n" + "\tadds r0, r2, r3\n" + "\tlsls r0, 5\n" + "\tadds r0, r6\n" + "\tstr r0, [r1, 0x4]\n" + "\tstr r5, [r1, 0x8]\n" + "\tldr r0, [r1, 0x8]\n" + "\tadds r0, r3, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tcmp r3, 0x1F\n" + "\tbls _08119EA6\n" + "\tlsls r0, r4, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x6\n" + "\tbls _08119EA0\n" + "\tmov r1, r12\n" + "\tb _08119F50\n" + "\t.align 2, 0\n" + "_08119ECC: .4byte gSharedMem + 0x1C000\n" + "_08119ED0: .4byte 0x040000d4\n" + "_08119ED4: .4byte gUnknown_083FB718\n" + "_08119ED8: .4byte 0xfffe4000\n" + "_08119EDC: .4byte 0x80000010\n" + "_08119EE0:\n" + "\tldrb r0, [r5, 0x2]\n" + "\tlsls r0, 27\n" + "\tlsrs r7, r0, 16\n" + "\tldrb r1, [r5, 0x3]\n" + "\tlsls r1, 12\n" + "\tldrh r0, [r5]\n" + "\tlsls r0, 18\n" + "\tlsrs r0, 23\n" + "\tadds r1, r0\n" + "\tlsls r1, 16\n" + "\tlsrs r6, r1, 16\n" + "\tmovs r0, 0\n" + "\tldr r2, _08119F58 @ =gSharedMem + 0x1C000\n" + "\tmov r8, r2\n" + "\tmovs r1, 0xC0\n" + "\tlsls r1, 19\n" + "\tmov r12, r1\n" + "_08119F02:\n" + "\tmovs r3, 0\n" + "\tadds r4, r0, 0x1\n" + "\tlsls r5, r0, 6\n" + "_08119F08:\n" + "\tlsls r1, r3, 1\n" + "\tadds r1, r5\n" + "\tadds r1, r7\n" + "\tadd r1, r12\n" + "\tadds r2, r6, 0\n" + "\tadds r0, r2, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r6, r0, 16\n" + "\tstrh r2, [r1]\n" + "\tadds r0, r3, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tcmp r3, 0x1F\n" + "\tbls _08119F08\n" + "\tlsls r0, r4, 24\n" + "\tlsrs r0, 24\n" + "\tcmp r0, 0x6\n" + "\tbls _08119F02\n" + "\tmov r2, r8\n" + "\tldrb r0, [r2, 0x16]\n" + "\tmovs r4, 0\n" + "\tcmp r0, 0\n" + "\tbeq _08119F4E\n" + "\tmov r5, r8\n" + "_08119F38:\n" + "\tadds r0, r4, 0\n" + "\tmovs r1, 0\n" + "\tbl sub_811A1C8\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tldrb r0, [r5, 0x16]\n" + "\tlsls r0, 3\n" + "\tcmp r4, r0\n" + "\tblt _08119F38\n" + "_08119F4E:\n" + "\tldr r1, _08119F5C @ =gUnknown_03005E98\n" + "_08119F50:\n" + "\tldrb r0, [r1]\n" + "\tadds r0, 0x1\n" + "\tstrb r0, [r1]\n" + "\tb _08119F74\n" + "\t.align 2, 0\n" + "_08119F58: .4byte gSharedMem + 0x1C000\n" + "_08119F5C: .4byte gUnknown_03005E98\n" + "_08119F60:\n" + "\tbl sub_811A324\n" + "\tldr r0, _08119F84 @ =gUnknown_083FB6F8\n" + "\tldrb r1, [r5, 0x3]\n" + "\tlsls r1, 4\n" + "\tmovs r2, 0x20\n" + "\tbl LoadPalette\n" + "\tmovs r0, 0x1\n" + "\tmov r9, r0\n" + "_08119F74:\n" + "\tmov r0, r9\n" + "\tpop {r3,r4}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1\n" + "\t.align 2, 0\n" + "_08119F84: .4byte gUnknown_083FB6F8"); +} +#endif // NONMATCHING + +void sub_8119F88(u8 a0) +{ + u8 r4; + sub_811A324(); + sub_811A15C(a0); + if (ePokedexCryScreen.unk001B) + ePokedexCryScreen.unk001B--; + if (ePokedexCryScreen.unk001A && !--ePokedexCryScreen.unk001A) + { + sub_811A0A0(ePokedexCryScreen.species); + sub_811A124(); + return; + } + if (ePokedexCryScreen.unk0010 == 0) + { + sub_811A124(); + return; + } + if (ePokedexCryScreen.unk0010 == 1) + { + sub_811A0C0(); + } + else if (ePokedexCryScreen.unk0010 > 8) + { + if (!IsCryPlaying()) + { + sub_811A124(); + ePokedexCryScreen.unk0010 = 0; + return; + } + sub_811A0C0(); + ePokedexCryScreen.unk0010 = 1; + } + r4 = 2 * (ePokedexCryScreen.unk0010 - 1); + sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 2, ePokedexCryScreen.unk0000[r4]); + sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 1, ePokedexCryScreen.unk0000[r4 + 1]); + ePokedexCryScreen.unk0010++; +} + +void sub_811A050(u16 species) +{ + if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE && !ePokedexCryScreen.unk001A) + { + if (!ePokedexCryScreen.unk001B) + { + ePokedexCryScreen.unk001B = 4; + if (IsCryPlaying() == TRUE) + { + StopCry(); + ePokedexCryScreen.species = species; + ePokedexCryScreen.unk001A = 2; + } + else + sub_811A0A0(species); + } + } +} + +void sub_811A0A0(u16 species) +{ + PlayCry2(species, 0, 0x7d, 10); + ePokedexCryScreen.unk0010 = 1; +} + +#ifdef NONMATCHING +void sub_811A0C0(void) +{ + const s8 * src; + u8 i; + if (gPcmDmaCounter < 2) + src = gSoundInfo.pcmBuffer; + else + src = gSoundInfo.pcmBuffer + (gSoundInfo.pcmDmaPeriod + 1 - gPcmDmaCounter) * gSoundInfo.pcmSamplesPerVBlank; + src += PCM_DMA_BUF_SIZE; + for (i = 0; i < 16; i++) + ePokedexCryScreen.unk0000[i] = src[i * 2] * 2; +} +#else +NAKED void sub_811A0C0(void) +{ + asm_unified("\tpush {r4,lr}\n" + "\tldr r3, _0811A0D0 @ =gPcmDmaCounter\n" + "\tmovs r0, 0\n" + "\tldrsb r0, [r3, r0]\n" + "\tcmp r0, 0x1\n" + "\tbgt _0811A0D8\n" + "\tldr r0, _0811A0D4 @ =gSoundInfo + 0x350\n" + "\tb _0811A0F0\n" + "\t.align 2, 0\n" + "_0811A0D0: .4byte gPcmDmaCounter\n" + "_0811A0D4: .4byte gSoundInfo + 0x350\n" + "_0811A0D8:\n" + "\tldr r2, _0811A11C @ =gSoundInfo\n" + "\tldrb r1, [r2, 0xB]\n" + "\tmovs r0, 0\n" + "\tldrsb r0, [r3, r0]\n" + "\tsubs r0, 0x1\n" + "\tsubs r1, r0\n" + "\tldr r0, [r2, 0x10]\n" + "\tmuls r0, r1\n" + "\tmovs r1, 0xD4\n" + "\tlsls r1, 2\n" + "\tadds r2, r1\n" + "\tadds r0, r2\n" + "_0811A0F0:\n" + "\tmovs r1, 0xC6\n" + "\tlsls r1, 3\n" + "\tadds r3, r0, r1\n" + "\tmovs r2, 0\n" + "\tldr r4, _0811A120 @ =gSharedMem + 0x1C000\n" + "_0811A0FA:\n" + "\tadds r1, r2, r4\n" + "\tlsls r0, r2, 1\n" + "\tadds r0, r3\n" + "\tldrb r0, [r0]\n" + "\tlsls r0, 24\n" + "\tasrs r0, 24\n" + "\tlsls r0, 1\n" + "\tstrb r0, [r1]\n" + "\tadds r0, r2, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r2, r0, 24\n" + "\tcmp r2, 0xF\n" + "\tbls _0811A0FA\n" + "\tpop {r4}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0811A11C: .4byte gSoundInfo\n" + "_0811A120: .4byte gSharedMem + 0x1C000"); +} +#endif // NONMATCHING + +void sub_811A124(void) +{ + sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 2, 0); + sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 1, 0); +} + +void sub_811A15C(u8 a0) +{ + u8 i; + u16 r3; + sub_811A350(a0, ePokedexCryScreen.unk0011, 0); + ePokedexCryScreen.unk0011 += 2; + r3 = (ePokedexCryScreen.unk0011 / 8 + ePokedexCryScreen.unk0016 + 1) % 32; + for (i = 0; i < 7; i++) + { + DmaCopy16(3, gUnknown_083FB718, ePokedexCryScreenGfx.unk0000[32 * i + r3], 32); + } +} + +asm(".section .text.ShowPokedexCryScreen"); + u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { int returnVal = FALSE; -- cgit v1.2.3 From bceafd3a21512167deb76fb46c3f5c4499361409 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 28 Apr 2018 12:07:43 -0700 Subject: Start moving .rodata into src/battle/anim files --- src/battle/anim/copy_orb.c | 31 ++++++ src/battle/anim/cutter.c | 144 ------------------------ src/battle/anim/flying_path.c | 74 ++++++++++++- src/battle/anim/flying_petals.c | 100 ++++++++++++++++- src/battle/anim/heal.c | 27 +++++ src/battle/anim/homing.c | 14 ++- src/battle/anim/hop.c | 58 ++++++++++ src/battle/anim/hop_2.c | 16 ++- src/battle/anim/leaf.c | 240 +++++++++++++++++++++++++++++++++++++++- src/battle/anim/orbit.c | 83 +++++++++++++- src/battle/anim/orbs.c | 181 +++++++++++++++++++++++++++++- src/battle/anim/osmose.c | 27 ++++- src/battle/anim/powder.c | 52 +++++++++ src/battle/anim/roots.c | 69 +++++++++++- src/battle/anim/seed.c | 31 ++++++ src/battle/anim/shimmer.c | 17 ++- src/battle/anim/switch.c | 70 ++++++++++-- src/battle/anim/tendrils.c | 59 +++++++++- src/battle/anim/unused_1.c | 64 +++++++++++ src/battle/anim/whip.c | 89 ++++++++++++++- src/rom_8077ABC.c | 5 +- 21 files changed, 1263 insertions(+), 188 deletions(-) delete mode 100644 src/battle/anim/cutter.c (limited to 'src') diff --git a/src/battle/anim/copy_orb.c b/src/battle/anim/copy_orb.c index ac60d2c2b..d554a7e26 100644 --- a/src/battle/anim/copy_orb.c +++ b/src/battle/anim/copy_orb.c @@ -7,9 +7,40 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern const union AnimCmd *const gSpriteAnimTable_83D62D4[]; + +void sub_80CB4CC(struct Sprite* sprite); + // copy_orb // Used in Mimic. +const union AffineAnimCmd gSpriteAffineAnim_83D65B8[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 0), + AFFINEANIMCMD_FRAME(48, 48, 0, 14), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D65D0[] = { + AFFINEANIMCMD_FRAME(-16, -16, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D65E0[] = { + gSpriteAffineAnim_83D65B8, + gSpriteAffineAnim_83D65D0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D65E8 = +{ + .tileTag = 10147, + .paletteTag = 10147, + .oam = &gOamData_837DFEC, + .anims = gSpriteAnimTable_83D62D4, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D65E0, + .callback = sub_80CB4CC, +}; + void sub_80CB4CC(struct Sprite* sprite) { switch (sprite->data[0]) diff --git a/src/battle/anim/cutter.c b/src/battle/anim/cutter.c deleted file mode 100644 index bc7478053..000000000 --- a/src/battle/anim/cutter.c +++ /dev/null @@ -1,144 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite); -static void AnimMoveTwisterParticleStep(struct Sprite* sprite); - -// Animates a sprite that moves linearly from one location to another, with a -// single-cycle sine wave added to the y position along the way. -// Used by Razor Leaf and Magical Leaf. -// arg 0: initial x offset -// arg 1: initial y offset -// arg 2: target x offset -// arg 3: target y offset -// arg 4: translation duration -// arg 5: wave amplitude -// arg 6: target between double battle opponents (boolean) -void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) -{ - InitAnimSpritePos(sprite, 1); - if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) - { - gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - } - - sprite->data[0] = gBattleAnimArgs[4]; - if (!gBattleAnimArgs[6]) - { - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - } - else - { - SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); - sprite->data[2] += gBattleAnimArgs[2]; - sprite->data[4] += gBattleAnimArgs[3]; - } - - sprite->data[5] = gBattleAnimArgs[5]; - InitAnimSpriteTranslationOverDuration(sprite); - if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) - { - sprite->data[0] = 1; - } - else - { - sprite->data[0] = 0; - } - - sprite->callback = AnimTranslateLinearSingleSineWaveStep; -} - -static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite) -{ - bool8 destroy = FALSE; - s16 a = sprite->data[0]; - s16 b = sprite->data[7]; - s16 r0; - - sprite->data[0] = 1; - TranslateAnimSpriteLinearAndSine(sprite); - r0 = sprite->data[7]; - sprite->data[0] = a; - if (b > 0xC8 && r0 <= 0x37 && sprite->oam.affineParam == 0) - sprite->oam.affineParam++; - - if (sprite->oam.affineParam != 0 && sprite->data[0] != 0) - { - sprite->invisible ^= 1; - sprite->oam.affineParam++; - if (sprite->oam.affineParam == 0x1E) - destroy = TRUE; - } - - if (sprite->pos1.x + sprite->pos2.x > 256 - || sprite->pos1.x + sprite->pos2.x < -16 - || sprite->pos1.y + sprite->pos2.y > 160 - || sprite->pos1.y + sprite->pos2.y < -16) - destroy = TRUE; - - if (destroy) - DestroyAnimSprite(sprite); -} - -// Animates particles in the Twister move animation. -// arg 0: duration -// arg 1: total y delta (the particles rise upward) -// arg 2: wave period (higher means faster wave) -// arg 3: wave amplitude -// arg 4: speedup frame (particles move faster at the end of the animation) -void AnimMoveTwisterParticle(struct Sprite* sprite) -{ - if (!IsContest() && IsDoubleBattle() == TRUE) - { - SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y); - } - - sprite->pos1.y += 32; - sprite->data[0] = gBattleAnimArgs[0]; - sprite->data[1] = gBattleAnimArgs[1]; - sprite->data[2] = gBattleAnimArgs[2]; - sprite->data[3] = gBattleAnimArgs[3]; - sprite->data[4] = gBattleAnimArgs[4]; - sprite->callback = AnimMoveTwisterParticleStep; -} - -static void AnimMoveTwisterParticleStep(struct Sprite* sprite) -{ - if (sprite->data[1] == 0xFF) - { - sprite->pos1.y -= 2; - } - else if (sprite->data[1] > 0) - { - sprite->pos1.y -= 2; - sprite->data[1] -= 2; - } - - sprite->data[5] += sprite->data[2]; - if (sprite->data[0] < sprite->data[4]) - sprite->data[5] += sprite->data[2]; - - sprite->data[5] &= 0xFF; - sprite->pos2.x = Cos(sprite->data[5], sprite->data[3]); - sprite->pos2.y = Sin(sprite->data[5], 5); - if (sprite->data[5] <= 0x7F) - { - sprite->oam.priority = sub_8079ED4(gAnimBankTarget) - 1; - } - else - { - sprite->oam.priority = sub_8079ED4(gAnimBankTarget) + 1; - } - - sprite->data[0]--; - if (!sprite->data[0]) - DestroyAnimSprite(sprite); -} diff --git a/src/battle/anim/flying_path.c b/src/battle/anim/flying_path.c index 5e9de8cb1..b190e9e8c 100644 --- a/src/battle/anim/flying_path.c +++ b/src/battle/anim/flying_path.c @@ -8,8 +8,6 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct SpriteTemplate gSpriteTemplate_83D6884; - static void sub_80CBF5C(u8 taskId); static s16 sub_80CC338(struct Sprite* sprite); static void sub_80CC358(struct Task* task, u8 taskId); @@ -18,6 +16,70 @@ static void sub_80CC408(struct Sprite* sprite); // flying_path (guides a sprite along a specific path.) // Used by Leaf Blade. +const union AnimCmd gSpriteAnim_83D6830[] = +{ + ANIMCMD_FRAME(28, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6838[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6840[] = +{ + ANIMCMD_FRAME(20, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6848[] = +{ + ANIMCMD_FRAME(28, 1, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6850[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6858[] = +{ + ANIMCMD_FRAME(16, 1, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6860[] = +{ + ANIMCMD_FRAME(28, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6868[] = +{ + gSpriteAnim_83D6830, + gSpriteAnim_83D6838, + gSpriteAnim_83D6840, + gSpriteAnim_83D6848, + gSpriteAnim_83D6850, + gSpriteAnim_83D6858, + gSpriteAnim_83D6860, +}; + +const struct SpriteTemplate gSpriteTemplate_83D6884 = +{ + .tileTag = 10063, + .paletteTag = 10063, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6868, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + void sub_80CBDF4(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -44,7 +106,7 @@ void sub_80CBDF4(u8 taskId) task->func = sub_80CBF5C; } -void sub_80CBF5C(u8 taskId) +static void sub_80CBF5C(u8 taskId) { struct Task* task = &gTasks[taskId]; struct Sprite* sprite = &gSprites[task->data[2]]; @@ -244,7 +306,7 @@ void sub_80CBF5C(u8 taskId) } } -s16 sub_80CC338(struct Sprite* sprite) +static s16 sub_80CC338(struct Sprite* sprite) { s16 var = 8; if (sprite->data[4] < sprite->pos1.y) @@ -253,7 +315,7 @@ s16 sub_80CC338(struct Sprite* sprite) return var; } -void sub_80CC358(struct Task* task, u8 taskId) +static void sub_80CC358(struct Task* task, u8 taskId) { task->data[14]++; if (task->data[14] > 0) @@ -279,7 +341,7 @@ void sub_80CC358(struct Task* task, u8 taskId) } } -void sub_80CC408(struct Sprite* sprite) +static void sub_80CC408(struct Sprite* sprite) { sprite->data[0]++; if (sprite->data[0] > 1) diff --git a/src/battle/anim/flying_petals.c b/src/battle/anim/flying_petals.c index c7a596b56..4696cbc6c 100644 --- a/src/battle/anim/flying_petals.c +++ b/src/battle/anim/flying_petals.c @@ -7,12 +7,110 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern const union AnimCmd *const gSpriteAnimTable_83D6424[]; +extern const union AnimCmd *const gSpriteAnimTable_83D6420[]; +void sub_80CC474(struct Sprite* sprite); static void sub_80CC580(struct Sprite* sprite); // flying_petals (petals fly across the screen.) // Used by Aromatherapy. +const union AffineAnimCmd gSpriteAffineAnim_83D689C[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, 4, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D68B4[] = { + gSpriteAffineAnim_83D689C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D68B8 = +{ + .tileTag = 10159, + .paletteTag = 10159, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D6424, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CC474, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D68D0 = +{ + .tileTag = 10159, + .paletteTag = 10159, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83D6420, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D68B4, + .callback = sub_80CC474, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D68E8[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, -10, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6900[] = { + AFFINEANIMCMD_FRAME(192, 192, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, -12, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6918[] = { + AFFINEANIMCMD_FRAME(143, 143, 0, 0), + AFFINEANIMCMD_FRAME(0, 0, -15, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6930[] = { + gSpriteAffineAnim_83D68E8, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6934[] = { + gSpriteAffineAnim_83D6900, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6938[] = { + gSpriteAffineAnim_83D6918, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D693C = +{ + .tileTag = 10271, + .paletteTag = 10271, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6930, + .callback = sub_80CC474, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6954 = +{ + .tileTag = 10271, + .paletteTag = 10271, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6934, + .callback = sub_80CC474, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D696C = +{ + .tileTag = 10271, + .paletteTag = 10271, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6938, + .callback = sub_80CC474, +}; + void sub_80CC474(struct Sprite* sprite) { u8 bank; @@ -61,7 +159,7 @@ void sub_80CC474(struct Sprite* sprite) sprite->callback = sub_80CC580; } -void sub_80CC580(struct Sprite* sprite) +static void sub_80CC580(struct Sprite* sprite) { int a = sprite->data[7]; sprite->data[7]++; diff --git a/src/battle/anim/heal.c b/src/battle/anim/heal.c index a8c14ea1c..c2bce0e77 100644 --- a/src/battle/anim/heal.c +++ b/src/battle/anim/heal.c @@ -7,9 +7,36 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CBAA4(struct Sprite* sprite); + // heal (healing sparkles on a Pokemon) // Used in Present, if the move heals instead of damages. +const union AnimCmd gSpriteAnim_83D674C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6760[] = +{ + gSpriteAnim_83D674C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6764 = +{ + .tileTag = 10195, + .paletteTag = 10195, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6760, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CBAA4, +}; + void sub_80CBAA4(struct Sprite* sprite) { if (sprite->data[0] == 0) diff --git a/src/battle/anim/homing.c b/src/battle/anim/homing.c index b24fcf4b1..5cd2a3ddb 100644 --- a/src/battle/anim/homing.c +++ b/src/battle/anim/homing.c @@ -8,11 +8,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CC6CC(struct Sprite* sprite); static void sub_80CC7D4(struct Sprite* sprite); // homing (the spinning effect of sprites going inward in a static rotation.) // Used by Needle Arm. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6994 = +{ + .tileTag = 10266, + .paletteTag = 10266, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CC6CC, +}; + void sub_80CC6CC(struct Sprite* sprite) { u8 a; @@ -69,7 +81,7 @@ void sub_80CC6CC(struct Sprite* sprite) } } -void sub_80CC7D4(struct Sprite* sprite) +static void sub_80CC7D4(struct Sprite* sprite) { if (sprite->data[0]) { diff --git a/src/battle/anim/hop.c b/src/battle/anim/hop.c index 7d1b2fd01..3aba79511 100644 --- a/src/battle/anim/hop.c +++ b/src/battle/anim/hop.c @@ -7,9 +7,67 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CB94C(struct Sprite* sprite); +void sub_80CBA28(struct Sprite* sprite); + // hop (where a sprite "hops" across the screen) // Used by Present, Trick, and the item knock off effect. +const union AnimCmd gSpriteAnim_83D66B0[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D66B8[] = +{ + gSpriteAnim_83D66B0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D66BC[] = { + AFFINEANIMCMD_FRAME(0, 0, -4, 10), + AFFINEANIMCMD_FRAME(0, 0, 4, 20), + AFFINEANIMCMD_FRAME(0, 0, -4, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D66DC[] = { + AFFINEANIMCMD_FRAME(0, 0, -1, 2), + AFFINEANIMCMD_FRAME(0, 0, 1, 4), + AFFINEANIMCMD_FRAME(0, 0, -1, 4), + AFFINEANIMCMD_FRAME(0, 0, 1, 4), + AFFINEANIMCMD_FRAME(0, 0, -1, 4), + AFFINEANIMCMD_FRAME(0, 0, 1, 2), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6714[] = { + gSpriteAffineAnim_83D66BC, + gSpriteAffineAnim_83D66DC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D671C = +{ + .tileTag = 10224, + .paletteTag = 10224, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D66B8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6714, + .callback = sub_80CB94C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6734 = +{ + .tileTag = 10224, + .paletteTag = 10224, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D66B8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6714, + .callback = sub_80CBA28, +}; + void sub_80CB7EC(struct Sprite* sprite, s16 c) { s32 a = (sprite->pos1.x * 256) | sprite->pos1.y; diff --git a/src/battle/anim/hop_2.c b/src/battle/anim/hop_2.c index 861f428da..ab239f3c4 100644 --- a/src/battle/anim/hop_2.c +++ b/src/battle/anim/hop_2.c @@ -11,12 +11,26 @@ extern u8 gAnimBankTarget; extern void sub_80CB7EC(struct Sprite* sprite, s16 c); extern bool8 sub_80CB814(struct Sprite* sprite); extern void sub_80CB8B8(struct Sprite* sprite); +extern const union AnimCmd *const gSpriteAnimTable_83D66B8[]; +extern const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6714[]; +void sub_80CBAE8(struct Sprite* sprite); static void sub_80CBB60(struct Sprite* sprite); // hop_2 // Used in item steal. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D677C = +{ + .tileTag = 10224, + .paletteTag = 10224, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D66B8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6714, + .callback = sub_80CBAE8, +}; + void sub_80CBAE8(struct Sprite* sprite) { s16 p1; @@ -43,7 +57,7 @@ void sub_80CBAE8(struct Sprite* sprite) sprite->callback = sub_80CBB60; } -void sub_80CBB60(struct Sprite* sprite) +static void sub_80CBB60(struct Sprite* sprite) { int zero; sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]); diff --git a/src/battle/anim/leaf.c b/src/battle/anim/leaf.c index ca2af257d..d31e4dbd6 100644 --- a/src/battle/anim/leaf.c +++ b/src/battle/anim/leaf.c @@ -1,18 +1,120 @@ #include "global.h" +#include "battle.h" +#include "battle_anim.h" #include "rom_8077ABC.h" #include "trig.h" -#include "battle_anim.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CAED8(struct Sprite* sprite); +void AnimMoveTwisterParticle(struct Sprite* sprite); +void AnimTranslateLinearSingleSineWave(struct Sprite* sprite); static void sub_80CAF20(struct Sprite* sprite); static void sub_80CAF6C(struct Sprite* sprite); +static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite); +static void AnimMoveTwisterParticleStep(struct Sprite* sprite); // leaf // Used by Razor Leaf and Twister. +const union AnimCmd gSpriteAnim_83D6458[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(20, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gSpriteAnim_83D6484[] = +{ + ANIMCMD_FRAME(24, 5), + ANIMCMD_FRAME(28, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6494[] = +{ + gSpriteAnim_83D6458, + gSpriteAnim_83D6484, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D649C = +{ + .tileTag = 10063, + .paletteTag = 10063, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6494, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CAED8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D64B4 = +{ + .tileTag = 10063, + .paletteTag = 10063, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6494, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMoveTwisterParticle, +}; + +const union AnimCmd gSpriteAnim_83D64CC[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D64E0[] = +{ + gSpriteAnim_83D64CC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D64E4 = +{ + .tileTag = 10160, + .paletteTag = 10160, + .oam = &gOamData_837DF54, + .anims = gSpriteAnimTable_83D64E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimTranslateLinearSingleSineWave, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D64FC[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D650C[] = { + gSpriteAffineAnim_83D64FC, +}; + +const struct SpriteTemplate gSwiftStarSpriteTemplate = +{ + .tileTag = 10174, + .paletteTag = 10174, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D650C, + .callback = AnimTranslateLinearSingleSineWave, +}; + void sub_80CAED8(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); @@ -23,7 +125,7 @@ void sub_80CAED8(struct Sprite* sprite) sprite->callback = sub_80CAF20; } -void sub_80CAF20(struct Sprite* sprite) +static void sub_80CAF20(struct Sprite* sprite) { if (!sprite->data[2]) { @@ -49,7 +151,7 @@ void sub_80CAF20(struct Sprite* sprite) } } -void sub_80CAF6C(struct Sprite* sprite) +static void sub_80CAF6C(struct Sprite* sprite) { if (GetBattlerSide(gAnimBankAttacker)) { @@ -72,3 +174,135 @@ void sub_80CAF6C(struct Sprite* sprite) DestroyAnimSprite(sprite); } } + +// Animates a sprite that moves linearly from one location to another, with a +// single-cycle sine wave added to the y position along the way. +// Used by Razor Leaf and Magical Leaf. +// arg 0: initial x offset +// arg 1: initial y offset +// arg 2: target x offset +// arg 3: target y offset +// arg 4: translation duration +// arg 5: wave amplitude +// arg 6: target between double battle opponents (boolean) +void AnimTranslateLinearSingleSineWave(struct Sprite* sprite) +{ + InitAnimSpritePos(sprite, 1); + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + { + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + } + + sprite->data[0] = gBattleAnimArgs[4]; + if (!gBattleAnimArgs[6]) + { + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + } + else + { + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + sprite->data[2] += gBattleAnimArgs[2]; + sprite->data[4] += gBattleAnimArgs[3]; + } + + sprite->data[5] = gBattleAnimArgs[5]; + InitAnimSpriteTranslationOverDuration(sprite); + if (GetBattlerSide(gAnimBankAttacker) == GetBattlerSide(gAnimBankTarget)) + { + sprite->data[0] = 1; + } + else + { + sprite->data[0] = 0; + } + + sprite->callback = AnimTranslateLinearSingleSineWaveStep; +} + +static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite) +{ + bool8 destroy = FALSE; + s16 a = sprite->data[0]; + s16 b = sprite->data[7]; + s16 r0; + + sprite->data[0] = 1; + TranslateAnimSpriteLinearAndSine(sprite); + r0 = sprite->data[7]; + sprite->data[0] = a; + if (b > 0xC8 && r0 <= 0x37 && sprite->oam.affineParam == 0) + sprite->oam.affineParam++; + + if (sprite->oam.affineParam != 0 && sprite->data[0] != 0) + { + sprite->invisible ^= 1; + sprite->oam.affineParam++; + if (sprite->oam.affineParam == 0x1E) + destroy = TRUE; + } + + if (sprite->pos1.x + sprite->pos2.x > 256 + || sprite->pos1.x + sprite->pos2.x < -16 + || sprite->pos1.y + sprite->pos2.y > 160 + || sprite->pos1.y + sprite->pos2.y < -16) + destroy = TRUE; + + if (destroy) + DestroyAnimSprite(sprite); +} + +// Animates particles in the Twister move animation. +// arg 0: duration +// arg 1: total y delta (the particles rise upward) +// arg 2: wave period (higher means faster wave) +// arg 3: wave amplitude +// arg 4: speedup frame (particles move faster at the end of the animation) +void AnimMoveTwisterParticle(struct Sprite* sprite) +{ + if (!IsContest() && IsDoubleBattle() == TRUE) + { + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->pos1.x, &sprite->pos1.y); + } + + sprite->pos1.y += 32; + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[1] = gBattleAnimArgs[1]; + sprite->data[2] = gBattleAnimArgs[2]; + sprite->data[3] = gBattleAnimArgs[3]; + sprite->data[4] = gBattleAnimArgs[4]; + sprite->callback = AnimMoveTwisterParticleStep; +} + +static void AnimMoveTwisterParticleStep(struct Sprite* sprite) +{ + if (sprite->data[1] == 0xFF) + { + sprite->pos1.y -= 2; + } + else if (sprite->data[1] > 0) + { + sprite->pos1.y -= 2; + sprite->data[1] -= 2; + } + + sprite->data[5] += sprite->data[2]; + if (sprite->data[0] < sprite->data[4]) + sprite->data[5] += sprite->data[2]; + + sprite->data[5] &= 0xFF; + sprite->pos2.x = Cos(sprite->data[5], sprite->data[3]); + sprite->pos2.y = Sin(sprite->data[5], 5); + if (sprite->data[5] <= 0x7F) + { + sprite->oam.priority = sub_8079ED4(gAnimBankTarget) - 1; + } + else + { + sprite->oam.priority = sub_8079ED4(gAnimBankTarget) + 1; + } + + sprite->data[0]--; + if (!sprite->data[0]) + DestroyAnimSprite(sprite); +} diff --git a/src/battle/anim/orbit.c b/src/battle/anim/orbit.c index b4a641cc2..e76e0923e 100644 --- a/src/battle/anim/orbit.c +++ b/src/battle/anim/orbit.c @@ -7,12 +7,85 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CABF8(struct Sprite* sprite); +void sub_80CAD54(struct Sprite* sprite); +void sub_80CAE20(struct Sprite* sprite); static void sub_80CAC44(struct Sprite* sprite); static void sub_80CADA8(struct Sprite* sprite); static void sub_80CAE74(struct Sprite* sprite); -// orbit (The effect of a sprite rotating around another one in a pseudo 3D effect.) -// Used by Spore, Cotton Spore, and Petal Dance. +const union AnimCmd gSpriteAnim_83D63E0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D63E8[] = +{ + ANIMCMD_FRAME(4, 7), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D63F0[] = +{ + gSpriteAnim_83D63E0, + gSpriteAnim_83D63E8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D63F8 = +{ + .tileTag = 10158, + .paletteTag = 10158, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D63F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CABF8, +}; + +const union AnimCmd gSpriteAnim_83D6410[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6418[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6420[] = +{ + gSpriteAnim_83D6410, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6424[] = +{ + gSpriteAnim_83D6418, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6428 = +{ + .tileTag = 10159, + .paletteTag = 10159, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6420, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CAD54, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6440 = +{ + .tileTag = 10159, + .paletteTag = 10159, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D6424, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CAE20, +}; void sub_80CABF8(struct Sprite* sprite) { @@ -29,7 +102,7 @@ void sub_80CABF8(struct Sprite* sprite) sub_80CAC44(sprite); } -void sub_80CAC44(struct Sprite* sprite) +static void sub_80CAC44(struct Sprite* sprite) { u8 var1; @@ -91,7 +164,7 @@ void sub_80CAD54(struct Sprite* sprite) sub_80CADA8(sprite); } -void sub_80CADA8(struct Sprite* sprite) +static void sub_80CADA8(struct Sprite* sprite) { if (!TranslateAnimSpriteByDeltas(sprite)) { @@ -128,7 +201,7 @@ void sub_80CAE20(struct Sprite* sprite) sub_80CAE74(sprite); } -void sub_80CAE74(struct Sprite* sprite) +static void sub_80CAE74(struct Sprite* sprite) { if (!TranslateAnimSpriteByDeltas(sprite)) { diff --git a/src/battle/anim/orbs.c b/src/battle/anim/orbs.c index 53c16d8d7..af6568bd8 100644 --- a/src/battle/anim/orbs.c +++ b/src/battle/anim/orbs.c @@ -8,11 +8,184 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CA7B0(struct Sprite* sprite); +void sub_80CA800(struct Sprite* sprite); +void sub_80CA858(struct Sprite* sprite); +void sub_80CA9A8(struct Sprite* sprite); +void sub_80CAA14(struct Sprite* sprite); static void sub_80CA8B4(struct Sprite* sprite); static void sub_80CA9F8(struct Sprite* sprite); static void sub_80CAACC(struct Sprite* sprite); -extern struct SpriteTemplate gSpriteTemplate_83D631C; +const union AnimCmd gSpriteAnim_83D626C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6274[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D627C[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6284[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D628C[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6294[] = +{ + ANIMCMD_FRAME(5, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D629C[] = +{ + ANIMCMD_FRAME(6, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D62A4[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D62AC[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D62B4[] = +{ + gSpriteAnim_83D626C, + gSpriteAnim_83D6274, + gSpriteAnim_83D627C, + gSpriteAnim_83D6284, + gSpriteAnim_83D628C, + gSpriteAnim_83D6294, + gSpriteAnim_83D629C, +}; + +const union AnimCmd *const gSpriteAnimTable_83D62D0[] = +{ + gSpriteAnim_83D62A4, +}; + +const union AnimCmd *const gSpriteAnimTable_83D62D4[] = +{ + gSpriteAnim_83D62AC, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D62D8[] = { + AFFINEANIMCMD_FRAME(-5, -5, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D62E8[] = { + gSpriteAffineAnim_83D62D8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D62EC = +{ + .tileTag = 10147, + .paletteTag = 10147, + .oam = &gOamData_837E0AC, + .anims = gSpriteAnimTable_83D62D4, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D62E8, + .callback = sub_80CA7B0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6304 = +{ + .tileTag = 10147, + .paletteTag = 10147, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D62B4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CA800, +}; + +const struct SpriteTemplate gSpriteTemplate_83D631C = +{ + .tileTag = 10147, + .paletteTag = 10147, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D62D0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CA858, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6334[] = { + AFFINEANIMCMD_FRAME(320, 320, 0, 0), + AFFINEANIMCMD_FRAME(-14, -14, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D634C[] = { + gSpriteAffineAnim_83D6334, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6350 = +{ + .tileTag = 10235, + .paletteTag = 10235, + .oam = &gOamData_837DFE4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D634C, + .callback = sub_80CA7B0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6368[] = { + AFFINEANIMCMD_FRAME(-5, -5, 0, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6378[] = { + gSpriteAffineAnim_83D6368, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D637C = +{ + .tileTag = 10147, + .paletteTag = 10147, + .oam = &gOamData_837E0AC, + .anims = gSpriteAnimTable_83D62D4, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6378, + .callback = sub_80CA9A8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6394 = +{ + .tileTag = 10147, + .paletteTag = 10147, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D62B4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CAA14, +}; + // orbs // Used by Solar Beam, Absorb, Hyper Beam, and Leech Seed. @@ -52,7 +225,7 @@ void sub_80CA858(struct Sprite* sprite) sub_80CA8B4(sprite); } -void sub_80CA8B4(struct Sprite* sprite) +static void sub_80CA8B4(struct Sprite* sprite) { if (TranslateAnimSpriteByDeltas(sprite)) { @@ -103,7 +276,7 @@ void sub_80CA9A8(struct Sprite* sprite) sprite->callback = sub_80CA9F8; } -void sub_80CA9F8(struct Sprite* sprite) +static void sub_80CA9F8(struct Sprite* sprite) { if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); @@ -139,7 +312,7 @@ void sub_80CAA14(struct Sprite* sprite) sub_80CAACC(sprite); } -void sub_80CAACC(struct Sprite* sprite) +static void sub_80CAACC(struct Sprite* sprite) { if (sub_8078CE8(sprite)) { diff --git a/src/battle/anim/osmose.c b/src/battle/anim/osmose.c index cca7af76e..dad5605f7 100644 --- a/src/battle/anim/osmose.c +++ b/src/battle/anim/osmose.c @@ -7,9 +7,34 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -// osmose (I didn't want to use "absorb" as thats confusing) +void sub_80CB768(struct Sprite* sprite); + +// osmose // Used by Ingrain. +const union AnimCmd gSpriteAnim_83D6688[] = +{ + ANIMCMD_FRAME(3, 3), + ANIMCMD_FRAME(0, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D6694[] = +{ + gSpriteAnim_83D6688, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6698 = +{ + .tileTag = 10147, + .paletteTag = 10147, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D6694, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CB768, +}; + void sub_80CB768(struct Sprite* sprite) { if (!sprite->data[0]) diff --git a/src/battle/anim/powder.c b/src/battle/anim/powder.c index 88339522e..046d3c20c 100644 --- a/src/battle/anim/powder.c +++ b/src/battle/anim/powder.c @@ -6,8 +6,60 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; +void AnimMovePowderParticle(struct Sprite* sprite); static void AnimMovePowderParticleStep(struct Sprite* sprite); +const union AnimCmd gSpriteAnim_83D61FC[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(10, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(14, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D6220[] = +{ + gSpriteAnim_83D61FC, +}; + +const struct SpriteTemplate gSleepPowderParticleSpriteTemplate = +{ + .tileTag = 10067, + .paletteTag = 10067, + .oam = &gOamData_837DF64, + .anims = gSpriteAnimTable_83D6220, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMovePowderParticle, +}; + +const struct SpriteTemplate gStunSporeParticleSpriteTemplate = +{ + .tileTag = 10068, + .paletteTag = 10068, + .oam = &gOamData_837DF64, + .anims = gSpriteAnimTable_83D6220, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMovePowderParticle, +}; + +const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate = +{ + .tileTag = 10065, + .paletteTag = 10065, + .oam = &gOamData_837DF64, + .anims = gSpriteAnimTable_83D6220, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMovePowderParticle, +}; + // Animates the falling particles that horizontally wave back and forth. // Used by Sleep Powder, Stun Spore, and Poison Powder. // arg 0: initial x pixel offset diff --git a/src/battle/anim/roots.c b/src/battle/anim/roots.c index 30c2d9652..b9b76c584 100644 --- a/src/battle/anim/roots.c +++ b/src/battle/anim/roots.c @@ -6,14 +6,79 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; - extern s16 gUnknown_03000728[]; +void sub_80CB59C(struct Sprite* sprite); +void sub_80CB620(struct Sprite *sprite); static void sub_80CB710(struct Sprite* sprite); // roots // Used by Ingrain and Frenzy Plant. +const union AnimCmd gSpriteAnim_83D6600[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(16, 7), + ANIMCMD_FRAME(32, 7), + ANIMCMD_FRAME(48, 7), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6614[] = +{ + ANIMCMD_FRAME(0, 7, .hFlip = TRUE), + ANIMCMD_FRAME(16, 7, .hFlip = TRUE), + ANIMCMD_FRAME(32, 7, .hFlip = TRUE), + ANIMCMD_FRAME(48, 7, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6628[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(16, 7), + ANIMCMD_FRAME(32, 7), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6638[] = +{ + ANIMCMD_FRAME(0, 7, .hFlip = TRUE), + ANIMCMD_FRAME(16, 7, .hFlip = TRUE), + ANIMCMD_FRAME(32, 7, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6648[] = +{ + gSpriteAnim_83D6600, + gSpriteAnim_83D6614, + gSpriteAnim_83D6628, + gSpriteAnim_83D6638, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6658 = +{ + .tileTag = 10223, + .paletteTag = 10223, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6648, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CB59C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6670 = +{ + .tileTag = 10223, + .paletteTag = 10223, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6648, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CB620, +}; + void sub_80CB59C(struct Sprite* sprite) { if (!sprite->data[0]) @@ -57,7 +122,7 @@ void sub_80CB620(struct Sprite *sprite) gUnknown_03000728[3] = e2; } -void sub_80CB710(struct Sprite* sprite) +static void sub_80CB710(struct Sprite* sprite) { if (++sprite->data[0] > (sprite->data[2] - 10)) sprite->invisible = sprite->data[0] % 2; diff --git a/src/battle/anim/seed.c b/src/battle/anim/seed.c index d7c56e7a8..11eebada0 100644 --- a/src/battle/anim/seed.c +++ b/src/battle/anim/seed.c @@ -7,9 +7,40 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void AnimLeechSeed(struct Sprite* sprite); static void AnimLeechSeedStep(struct Sprite* sprite); static void AnimLeechSeedSprouts(struct Sprite* sprite); +const union AnimCmd gSpriteAnim_83D63AC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D63B4[] = +{ + ANIMCMD_FRAME(4, 7), + ANIMCMD_FRAME(8, 7), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D63C0[] = +{ + gSpriteAnim_83D63AC, + gSpriteAnim_83D63B4, +}; + +const struct SpriteTemplate gLeechSeedSpriteTemplate = +{ + .tileTag = 10006, + .paletteTag = 10006, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D63C0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimLeechSeed, +}; + // seed (sprouts a sapling from a seed.) // Used by Leech Seed. // arg 0: initial x pixel offset diff --git a/src/battle/anim/shimmer.c b/src/battle/anim/shimmer.c index 9e7bea1e4..78b430094 100644 --- a/src/battle/anim/shimmer.c +++ b/src/battle/anim/shimmer.c @@ -9,11 +9,20 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u16 gUnknown_083D6984[]; - // shimmer // Used by Magical Leaf. +static const u16 sMagicalLeafBlendColors[] = +{ + RGB(31, 0, 0), + RGB(31, 19, 0), + RGB(31, 31, 0), + RGB(0, 31, 0), + RGB(5, 14, 31), + RGB(22, 10, 31), + RGB(22, 21, 31), +}; + void sub_80CC5F8(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -29,8 +38,8 @@ void sub_80CC5F8(u8 taskId) if (task->data[9] >= 0) { task->data[9] = 0; - BlendPalette(task->data[8], 0x10, task->data[10], gUnknown_083D6984[task->data[11]]); - BlendPalette(task->data[12], 0x10, task->data[10], gUnknown_083D6984[task->data[11]]); + BlendPalette(task->data[8], 0x10, task->data[10], sMagicalLeafBlendColors[task->data[11]]); + BlendPalette(task->data[12], 0x10, task->data[10], sMagicalLeafBlendColors[task->data[11]]); task->data[10]++; if (task->data[10] == 17) { diff --git a/src/battle/anim/switch.c b/src/battle/anim/switch.c index c4082b6aa..fcb1d9fc3 100644 --- a/src/battle/anim/switch.c +++ b/src/battle/anim/switch.c @@ -7,9 +7,11 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern const union AffineAnimCmd gSpriteAffineAnim_83D66BC[]; +extern const union AffineAnimCmd gSpriteAffineAnim_83D66DC[]; +extern const union AnimCmd *const gSpriteAnimTable_83D66B8[]; -extern s8 gUnknown_083D680C[11][3]; - +void sub_80CBBF0(struct Sprite* sprite); static void sub_80CBC8C(struct Sprite* sprite); static void sub_80CBCF8(struct Sprite* sprite); static void sub_80CBDB0(struct Sprite* sprite); @@ -17,6 +19,56 @@ static void sub_80CBDB0(struct Sprite* sprite); // switch (makes an item and circles it from side to side on the field.) // Used in Trick. + +const union AffineAnimCmd gSpriteAffineAnim_83D6794[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 3), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D67A4[] = { + AFFINEANIMCMD_FRAME(0, -10, 0, 3), + AFFINEANIMCMD_FRAME(0, -6, 0, 3), + AFFINEANIMCMD_FRAME(0, -2, 0, 3), + AFFINEANIMCMD_FRAME(0, 0, 0, 3), + AFFINEANIMCMD_FRAME(0, 2, 0, 3), + AFFINEANIMCMD_FRAME(0, 6, 0, 3), + AFFINEANIMCMD_FRAME(0, 10, 0, 3), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D67E4[] = { + gSpriteAffineAnim_83D6794, + gSpriteAffineAnim_83D67A4, + gSpriteAffineAnim_83D66BC, + gSpriteAffineAnim_83D66DC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D67F4 = +{ + .tileTag = 10224, + .paletteTag = 10224, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D66B8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D67E4, + .callback = sub_80CBBF0, +}; + +const s8 gUnknown_083D680C[][3] = +{ + {5, 24, 1}, + {0, 4, 0}, + {8, 16, -1}, + {0, 2, 0}, + {8, 16, 1}, + {0, 2, 0}, + {8, 16, 1}, + {0, 2, 0}, + {8, 16, 1}, + {0, 16, 0}, + {0, 0, 127}, +}; + void sub_80CBBF0(struct Sprite* sprite) { int a; @@ -27,7 +79,7 @@ void sub_80CBBF0(struct Sprite* sprite) if (!IsContest()) { sprite->data[1] = gBattleAnimArgs[1]; - sprite->pos1.x = 0x78; + sprite->pos1.x = 120; } else { @@ -38,13 +90,13 @@ void sub_80CBBF0(struct Sprite* sprite) b = a; sprite->data[1] = a - ((b >> 8) << 8); - sprite->pos1.x = 0x46; + sprite->pos1.x = 70; } sprite->pos1.y = gBattleAnimArgs[0]; sprite->data[2] = gBattleAnimArgs[0]; sprite->data[4] = 20; - sprite->pos2.x = Cos(sprite->data[1], 0x3C); + sprite->pos2.x = Cos(sprite->data[1], 60); sprite->pos2.y = Sin(sprite->data[1], 20); sprite->callback = sub_80CBC8C; if (sprite->data[1] > 0 && sprite->data[1] < 0xC0) @@ -54,7 +106,7 @@ void sub_80CBBF0(struct Sprite* sprite) } } -void sub_80CBC8C(struct Sprite* sprite) +static void sub_80CBC8C(struct Sprite* sprite) { switch (sprite->data[3]) { @@ -84,7 +136,7 @@ void sub_80CBC8C(struct Sprite* sprite) } } -void sub_80CBCF8(struct Sprite* sprite) +static void sub_80CBCF8(struct Sprite* sprite) { if (sprite->data[2] == gUnknown_083D680C[sprite->data[0]][1]) { @@ -113,12 +165,12 @@ void sub_80CBCF8(struct Sprite* sprite) } } - sprite->pos2.x = Cos(sprite->data[1], 0x3C); + sprite->pos2.x = Cos(sprite->data[1], 60); sprite->pos2.y = Sin(sprite->data[1], 20); } } -void sub_80CBDB0(struct Sprite* sprite) +static void sub_80CBDB0(struct Sprite* sprite) { if (sprite->data[0] > 20) DestroyAnimSprite(sprite); diff --git a/src/battle/anim/tendrils.c b/src/battle/anim/tendrils.c index 4ef704f3a..55e2c21bb 100644 --- a/src/battle/anim/tendrils.c +++ b/src/battle/anim/tendrils.c @@ -7,12 +7,67 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CB25C(struct Sprite* sprite); static void sub_80CB298(struct Sprite* sprite); static void sub_80CB2D4(struct Sprite* sprite); // tendrils // Used by Constrict. +const union AnimCmd gSpriteAnim_83D6528[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(96, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D653C[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_FRAME(64, 4, .hFlip = TRUE), + ANIMCMD_FRAME(96, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6550[] = +{ + gSpriteAnim_83D6528, + gSpriteAnim_83D653C, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6558[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME(-11, 0, 0, 6), + AFFINEANIMCMD_FRAME(11, 0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6578[] = { + AFFINEANIMCMD_FRAME(-256, 256, 0, 0), + AFFINEANIMCMD_FRAME(11, 0, 0, 6), + AFFINEANIMCMD_FRAME(-11, 0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6598[] = { + gSpriteAffineAnim_83D6558, + gSpriteAffineAnim_83D6578, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D65A0 = +{ + .tileTag = 10186, + .paletteTag = 10186, + .oam = &gOamData_837DFBC, + .anims = gSpriteAnimTable_83D6550, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6598, + .callback = sub_80CB25C, +}; + void sub_80CB25C(struct Sprite* sprite) { sub_8078764(sprite, 0); @@ -23,7 +78,7 @@ void sub_80CB25C(struct Sprite* sprite) sprite->callback = sub_80CB298; } -void sub_80CB298(struct Sprite* sprite) +static void sub_80CB298(struct Sprite* sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { @@ -34,7 +89,7 @@ void sub_80CB298(struct Sprite* sprite) } } -void sub_80CB2D4(struct Sprite* sprite) +static void sub_80CB2D4(struct Sprite* sprite) { GetAnimBattlerSpriteId(1); if (!sprite->data[2]) diff --git a/src/battle/anim/unused_1.c b/src/battle/anim/unused_1.c index d7e5fbfe4..15050b54c 100644 --- a/src/battle/anim/unused_1.c +++ b/src/battle/anim/unused_1.c @@ -8,9 +8,73 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CC8C8(struct Sprite* sprite); + // unused effect file. // Seems to be a beta effect for Beat Up, possibly. +const union AffineAnimCmd gSpriteAffineAnim_83D6A58[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6A68[] = { + AFFINEANIMCMD_FRAME(256, 256, 32, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6A78[] = { + AFFINEANIMCMD_FRAME(256, 256, 64, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6A88[] = { + AFFINEANIMCMD_FRAME(256, 256, 96, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6A98[] = { + AFFINEANIMCMD_FRAME(256, 256, -128, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6AA8[] = { + AFFINEANIMCMD_FRAME(256, 256, -96, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6AB8[] = { + AFFINEANIMCMD_FRAME(256, 256, -64, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6AC8[] = { + AFFINEANIMCMD_FRAME(256, 256, -32, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6AD8[] = { + gSpriteAffineAnim_83D6A58, + gSpriteAffineAnim_83D6A68, + gSpriteAffineAnim_83D6A78, + gSpriteAffineAnim_83D6A88, + gSpriteAffineAnim_83D6A98, + gSpriteAffineAnim_83D6AA8, + gSpriteAffineAnim_83D6AB8, + gSpriteAffineAnim_83D6AC8, +}; + +const struct SpriteTemplate gSpriteTemplate_83D6AF8 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6AD8, + .callback = sub_80CC8C8, +}; + void sub_80CC8C8(struct Sprite* sprite) { sprite->pos1.x += gBattleAnimArgs[0]; diff --git a/src/battle/anim/whip.c b/src/battle/anim/whip.c index 08b24369d..e6e004932 100644 --- a/src/battle/anim/whip.c +++ b/src/battle/anim/whip.c @@ -8,16 +8,101 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CC82C(struct Sprite* sprite); +void sub_80CC884(struct Sprite* sprite); + // whip (does a hitting animation that uses a rotating sprite to invoke the sprite getting hit.) // Used by Slam and Vine Whip. -void sub_80CC810(struct Sprite* sprite) +const union AnimCmd gSpriteAnim_83D69AC[] = +{ + ANIMCMD_FRAME(64, 3), + ANIMCMD_FRAME(80, 3), + ANIMCMD_FRAME(96, 3), + ANIMCMD_FRAME(112, 6), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D69C0[] = +{ + ANIMCMD_FRAME(64, 3, .hFlip = TRUE), + ANIMCMD_FRAME(80, 3, .hFlip = TRUE), + ANIMCMD_FRAME(96, 3, .hFlip = TRUE), + ANIMCMD_FRAME(112, 6, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D69D4[] = +{ + gSpriteAnim_83D69AC, + gSpriteAnim_83D69C0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D69DC = +{ + .tileTag = 10056, + .paletteTag = 10056, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D69D4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CC884, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D69F4 = +{ + .tileTag = 10287, + .paletteTag = 10287, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D69D4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CC884, +}; + +const union AnimCmd gSpriteAnim_83D6A0C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6A24[] = +{ + gSpriteAnim_83D6A0C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D6A28 = +{ + .tileTag = 10021, + .paletteTag = 10021, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6A24, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CC82C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D6A40 = +{ + .tileTag = 10022, + .paletteTag = 10022, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6A24, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CC82C, +}; + +static void sub_80CC810(struct Sprite* sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); } -// unused, beta effect for diagonal sprite movement? void sub_80CC82C(struct Sprite* sprite) { if (GetBattlerSide(gAnimBankAttacker) != 0) diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index cccedc89c..a10fd45b8 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -56,7 +56,6 @@ struct Struct_2017810 #define BG2CNT (*(vBgCnt *)REG_ADDR_BG2CNT) #define BG3CNT (*(vBgCnt *)REG_ADDR_BG3CNT) -extern struct OamData gOamData_837DF9C[]; extern const union AnimCmd *const gDummySpriteAnimTable[]; extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; @@ -129,7 +128,7 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = { .tileTag = 55125, .paletteTag = 55125, - .oam = gOamData_837DF9C, + .oam = &gOamData_837DF9C, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -138,7 +137,7 @@ const struct SpriteTemplate gSpriteTemplate_837F5B0[] = { .tileTag = 55126, .paletteTag = 55126, - .oam = gOamData_837DF9C, + .oam = &gOamData_837DF9C, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, -- cgit v1.2.3 From da9b567dfd4ec56b50710ee6617e06e629c80bb3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Apr 2018 21:13:24 -0400 Subject: nonmatching sub_811A1C8 --- src/pokedex_cry_screen.c | 210 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 208 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index b6abd436d..ef5a5c2fc 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -12,7 +12,7 @@ extern struct SoundInfo gSoundInfo; extern struct MusicPlayerInfo gMPlay_BGM; struct Unk2000000 { - u16 unk0000[7 * 32][16]; + u8 unk0000[7 * 32 * 32]; }; struct Unk201C800 { @@ -443,10 +443,216 @@ void sub_811A15C(u8 a0) r3 = (ePokedexCryScreen.unk0011 / 8 + ePokedexCryScreen.unk0016 + 1) % 32; for (i = 0; i < 7; i++) { - DmaCopy16(3, gUnknown_083FB718, ePokedexCryScreenGfx.unk0000[32 * i + r3], 32); + DmaCopy16(3, gUnknown_083FB718, &ePokedexCryScreenGfx.unk0000[32 * (32 * i + r3)], 32); } } +extern const u16 gUnknown_083FB274[8][72]; +extern const u8 gUnknown_083FB738[2]; +extern const u8 gUnknown_083FB73A[2][16]; + +#ifdef NONMATCHING +void sub_811A1C8(u8 a0, u8 a1) +{ + u8 sp0; + u8 r7; + u8 r8; + u16 r1 = (a1 + 127) << 8; + u8 i = r1 / 1152.0; + if (i > 71 - 16) + i = 71 - 16; + sp0 = i; + r7 = a0 % 2; + r8 = a0 / 8; + if (i > ePokedexCryScreen.unk0012) + { + do + { + ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; + ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; + i--; + } while (i > ePokedexCryScreen.unk0012); + } + else + { + do + { + ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; + ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; + i++; + } while (i < ePokedexCryScreen.unk0012); + } + ePokedexCryScreen.unk0012 = sp0; +} +#else +NAKED void sub_811A1C8(u8 a0, u8 a1) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0xC\n" + "\tlsls r5, r0, 24\n" + "\tlsrs r4, r5, 24\n" + "\tlsls r1, 24\n" + "\tmovs r0, 0xFE\n" + "\tlsls r0, 23\n" + "\tadds r1, r0\n" + "\tlsrs r1, 16\n" + "\tadds r0, r1, 0\n" + "\tbl __floatsidf\n" + "\tldr r3, _0811A280 @ =0x00000000\n" + "\tldr r2, _0811A27C @ =0x40920000\n" + "\tbl __divdf3\n" + "\tbl __fixunsdfsi\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "\tcmp r6, 0x37\n" + "\tbls _0811A1FE\n" + "\tmovs r6, 0x37\n" + "_0811A1FE:\n" + "\tstr r6, [sp]\n" + "\tmovs r7, 0x1\n" + "\tands r7, r4\n" + "\tldr r0, _0811A284 @ =gSharedMem + 0x1C000\n" + "\tmov r10, r0\n" + "\tlsrs r5, 27\n" + "\tmov r8, r5\n" + "\tldr r0, _0811A288 @ =gUnknown_083FB738\n" + "\tmov r1, r10\n" + "\tldrb r1, [r1, 0x12]\n" + "\tcmp r6, r1\n" + "\tbls _0811A298\n" + "\tadds r0, r7, r0\n" + "\tldrb r0, [r0]\n" + "\tmov r9, r0\n" + "\tmovs r2, 0x7\n" + "\tands r2, r4\n" + "_0811A220:\n" + "\tlsls r1, r6, 1\n" + "\tlsls r0, r2, 3\n" + "\tadds r0, r2\n" + "\tlsls r0, 4\n" + "\tadds r1, r0\n" + "\tldr r3, _0811A28C @ =gUnknown_083FB274\n" + "\tadds r1, r3\n" + "\tmov r3, r8\n" + "\tlsls r0, r3, 5\n" + "\tldrh r1, [r1]\n" + "\tadds r0, r1\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r1, _0811A290 @ =gSharedMem\n" + "\tadds r5, r0, r1\n" + "\tldrb r4, [r5]\n" + "\tmov r3, r9\n" + "\tands r4, r3\n" + "\tstrb r4, [r5]\n" + "\tadds r0, r6, 0\n" + "\tmovs r1, 0x3\n" + "\tstr r2, [sp, 0x8]\n" + "\tbl __udivsi3\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tsubs r0, 0x1\n" + "\tmovs r1, 0xF\n" + "\tands r0, r1\n" + "\tlsls r1, r7, 4\n" + "\tadds r0, r1\n" + "\tldr r1, _0811A294 @ =gUnknown_083FB73A\n" + "\tadds r0, r1\n" + "\tldrb r0, [r0]\n" + "\torrs r4, r0\n" + "\tstrb r4, [r5]\n" + "\tsubs r0, r6, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "\tldr r2, [sp, 0x8]\n" + "\tldr r3, _0811A284 @ =gSharedMem + 0x1C000\n" + "\tldrb r3, [r3, 0x12]\n" + "\tcmp r6, r3\n" + "\tbhi _0811A220\n" + "\tb _0811A2FA\n" + "\t.align 2, 0\n" + "_0811A27C: .4byte 0x40920000\n" + "_0811A280: .4byte 0x00000000\n" + "_0811A284: .4byte gSharedMem + 0x1C000\n" + "_0811A288: .4byte gUnknown_083FB738\n" + "_0811A28C: .4byte gUnknown_083FB274\n" + "_0811A290: .4byte gSharedMem\n" + "_0811A294: .4byte gUnknown_083FB73A\n" + "_0811A298:\n" + "\tlsls r1, r7, 4\n" + "\tstr r1, [sp, 0x4]\n" + "\tadds r0, r7, r0\n" + "\tldrb r0, [r0]\n" + "\tmov r9, r0\n" + "\tmovs r7, 0x7\n" + "\tands r7, r4\n" + "_0811A2A6:\n" + "\tlsls r1, r6, 1\n" + "\tlsls r0, r7, 3\n" + "\tadds r0, r7\n" + "\tlsls r0, 4\n" + "\tadds r1, r0\n" + "\tldr r2, _0811A314 @ =gUnknown_083FB274\n" + "\tadds r1, r2\n" + "\tmov r3, r8\n" + "\tlsls r0, r3, 5\n" + "\tldrh r1, [r1]\n" + "\tadds r0, r1\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r1, _0811A318 @ =gSharedMem\n" + "\tadds r5, r0, r1\n" + "\tldrb r4, [r5]\n" + "\tmov r2, r9\n" + "\tands r4, r2\n" + "\tstrb r4, [r5]\n" + "\tadds r0, r6, 0\n" + "\tmovs r1, 0x3\n" + "\tbl __udivsi3\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tsubs r0, 0x1\n" + "\tmovs r1, 0xF\n" + "\tands r0, r1\n" + "\tldr r3, [sp, 0x4]\n" + "\tadds r0, r3\n" + "\tldr r1, _0811A31C @ =gUnknown_083FB73A\n" + "\tadds r0, r1\n" + "\tldrb r0, [r0]\n" + "\torrs r4, r0\n" + "\tstrb r4, [r5]\n" + "\tadds r0, r6, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "\tldr r2, _0811A320 @ =gSharedMem + 0x1C000\n" + "\tldrb r2, [r2, 0x12]\n" + "\tcmp r6, r2\n" + "\tbcc _0811A2A6\n" + "_0811A2FA:\n" + "\tmov r3, sp\n" + "\tldrb r0, [r3]\n" + "\tmov r3, r10\n" + "\tstrb r0, [r3, 0x12]\n" + "\tadd sp, 0xC\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0811A314: .4byte gUnknown_083FB274\n" + "_0811A318: .4byte gSharedMem\n" + "_0811A31C: .4byte gUnknown_083FB73A\n" + "_0811A320: .4byte gSharedMem + 0x1C000"); +} +#endif // NONMATCHING + asm(".section .text.ShowPokedexCryScreen"); u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { -- cgit v1.2.3 From e79f35324a846fa99be5f2a6e368c6fddf34d8a1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 28 Apr 2018 21:18:01 -0400 Subject: Finish decompilation of pokedex_cry_screen.o(.text) --- src/pokedex_cry_screen.c | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index ef5a5c2fc..4c21a9743 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -44,7 +44,7 @@ void sub_811A124(void); void sub_811A15C(u8); void sub_811A1C8(u8, u8); void sub_811A324(void); -void sub_811A350(u8, u8, u8); +void sub_811A350(u8, u16, u8); void sub_811A6D8(s8); extern u8 gUnknown_03005E98; @@ -653,7 +653,41 @@ NAKED void sub_811A1C8(u8 a0, u8 a1) } #endif // NONMATCHING -asm(".section .text.ShowPokedexCryScreen"); +void sub_811A324(void) +{ + DmaCopy16(3, ePokedexCryScreenGfx.unk0000, VRAM + ePokedexCryScreen.unk0014, 0x1c00); +} + +void sub_811A350(u8 a0, u16 a1, u8 a2) +{ + switch (a0) + { + case 0: + if (a2) + REG_BG0VOFS = a1; + else + REG_BG0HOFS = a1; + break; + case 1: + if (a2) + REG_BG1VOFS = a1; + else + REG_BG1HOFS = a1; + break; + case 2: + if (a2) + REG_BG2VOFS = a1; + else + REG_BG2HOFS = a1; + break; + case 3: + if (a2) + REG_BG3VOFS = a1; + else + REG_BG3HOFS = a1; + break; + } +} u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { int returnVal = FALSE; -- cgit v1.2.3 From db5067c512a33ef913bb3e2d4cbef589d32a48a6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 28 Apr 2018 19:11:47 -0700 Subject: Move more .rodata into battle anim files --- src/battle/anim/bottle.c | 38 ++++- src/battle/anim/brace.c | 28 +++- src/battle/anim/cube.c | 38 ++++- src/battle/anim/fang.c | 27 ++++ src/battle/anim/glitter.c | 43 ++++++ src/battle/anim/lunge.c | 339 +++++++++++++++++++++++++++++++++++++++++++++ src/battle/anim/lunge_1.c | 124 ----------------- src/battle/anim/lunge_2.c | 163 ---------------------- src/battle/anim/moon.c | 14 +- src/battle/anim/scan.c | 46 ++++-- src/battle/anim/shield.c | 14 +- src/battle/anim/slash.c | 63 ++++++++- src/battle/anim/sleep.c | 59 +++++++- src/battle/anim/slice.c | 38 +++++ src/battle/anim/strike.c | 43 +++++- src/battle/anim/tile.c | 219 +++++++++++++++++++++++++++++ src/battle/anim/tile_in.c | 51 ------- src/battle/anim/tile_out.c | 81 ----------- src/battle/anim/twinkle.c | 28 +++- src/battle/anim/unused_2.c | 88 +++++++++++- src/battle/anim/unused_3.c | 47 ++++++- src/battle/anim/unused_4.c | 58 -------- 22 files changed, 1149 insertions(+), 500 deletions(-) create mode 100644 src/battle/anim/lunge.c delete mode 100644 src/battle/anim/lunge_1.c delete mode 100644 src/battle/anim/lunge_2.c create mode 100644 src/battle/anim/tile.c delete mode 100644 src/battle/anim/tile_in.c delete mode 100644 src/battle/anim/tile_out.c delete mode 100644 src/battle/anim/unused_4.c (limited to 'src') diff --git a/src/battle/anim/bottle.c b/src/battle/anim/bottle.c index 0d5a54e18..83a539f89 100644 --- a/src/battle/anim/bottle.c +++ b/src/battle/anim/bottle.c @@ -8,12 +8,46 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CCF04(struct Sprite* sprite); static void sub_80CCF70(struct Sprite* sprite); static void sub_80CD0CC(struct Sprite* sprite, int unk1, int unk2); // bottle (shows a bottle swinging back and forth.) // Used by Milk Drink. +const union AffineAnimCmd gSpriteAffineAnim_83D6C00[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6C10[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 24), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6C40[] = +{ + gSpriteAffineAnim_83D6C00, + gSpriteAffineAnim_83D6C10, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6C48 = +{ + .tileTag = 10099, + .paletteTag = 10099, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6C40, + .callback = sub_80CCF04, +}; + void sub_80CCF04(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); @@ -30,7 +64,7 @@ void sub_80CCF04(struct Sprite* sprite) sprite->callback = sub_80CCF70; } -void sub_80CCF70(struct Sprite* sprite) +static void sub_80CCF70(struct Sprite* sprite) { switch (sprite->data[0]) { @@ -103,7 +137,7 @@ void sub_80CCF70(struct Sprite* sprite) } } -void sub_80CD0CC(struct Sprite* sprite, int unk1, int unk2) +static void sub_80CD0CC(struct Sprite* sprite, int unk1, int unk2) { if (sprite->data[3] <= 11) sprite->data[4] += 2; diff --git a/src/battle/anim/brace.c b/src/battle/anim/brace.c index a81af73ac..89330788c 100644 --- a/src/battle/anim/brace.c +++ b/src/battle/anim/brace.c @@ -8,11 +8,37 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CDF0C(struct Sprite* sprite); static void sub_80CDF70(struct Sprite* sprite); // brace (the Pokemon prepares to endure a hit) // Used in Endure. +const union AnimCmd gSpriteAnim_83D6E80[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(24, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6E94[] = +{ + gSpriteAnim_83D6E80, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_EndureFlame = +{ + .tileTag = 10184, + .paletteTag = 10184, + .oam = &gOamData_837DF74, + .anims = gSpriteAnimTable_83D6E94, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CDF0C, +}; + void sub_80CDF0C(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) @@ -31,7 +57,7 @@ void sub_80CDF0C(struct Sprite* sprite) sprite->callback = sub_80CDF70; } -void sub_80CDF70(struct Sprite* sprite) +static void sub_80CDF70(struct Sprite* sprite) { if (++sprite->data[0] > sprite->data[1]) { diff --git a/src/battle/anim/cube.c b/src/battle/anim/cube.c index 6fef2de69..9d713ba46 100644 --- a/src/battle/anim/cube.c +++ b/src/battle/anim/cube.c @@ -9,11 +9,47 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CDFB0(struct Sprite* sprite); static void sub_80CE000(struct Sprite* sprite); // cube (shows a sphere sharpening into a cube.) // Used in Sharpen. +const union AnimCmd gSpriteAnim_83D6EB0[] = +{ + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 18), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 18), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 18), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_FRAME(64, 18), + ANIMCMD_FRAME(48, 6), + ANIMCMD_FRAME(64, 54), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6EEC[] = +{ + gSpriteAnim_83D6EB0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6EF0 = +{ + .tileTag = 10185, + .paletteTag = 10185, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6EEC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CDFB0, +}; + void sub_80CDFB0(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); @@ -27,7 +63,7 @@ void sub_80CDFB0(struct Sprite* sprite) sprite->callback = sub_80CE000; } -void sub_80CE000(struct Sprite* sprite) +static void sub_80CE000(struct Sprite* sprite) { if (++sprite->data[0] >= sprite->data[1]) { diff --git a/src/battle/anim/fang.c b/src/battle/anim/fang.c index 5ed7372a8..c35898eea 100644 --- a/src/battle/anim/fang.c +++ b/src/battle/anim/fang.c @@ -8,10 +8,37 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CEA04(struct Sprite* sprite); + // fang // Used by Super Fang (and probably Hyper Fang, but the actual callbacks are not in this file.) // (Look into this one later.) +const union AnimCmd gSpriteAnim_83D7068[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D707C[] = +{ + gSpriteAnim_83D7068, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7080 = +{ + .tileTag = 10192, + .paletteTag = 10192, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D707C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CEA04, +}; + void sub_80CEA04(struct Sprite* sprite) { StoreSpriteCallbackInData(sprite, DestroyAnimSprite); diff --git a/src/battle/anim/glitter.c b/src/battle/anim/glitter.c index d73b46bbd..fb7443575 100644 --- a/src/battle/anim/glitter.c +++ b/src/battle/anim/glitter.c @@ -8,9 +8,52 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CD140(struct Sprite* sprite); +void sub_80CD190(struct Sprite* sprite); + // glitter (the sparkling effect seen on Pokemon, usually after healing or a beneficial effect.) // Used by Heal Bell, Cosmic Power, and Aromatherapy. +const union AnimCmd gSpriteAnim_83D6C60[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(16, 7), + ANIMCMD_FRAME(32, 7), + ANIMCMD_FRAME(48, 7), + ANIMCMD_FRAME(64, 7), + ANIMCMD_FRAME(80, 7), + ANIMCMD_FRAME(96, 7), + ANIMCMD_FRAME(112, 7), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D6C84[] = +{ + gSpriteAnim_83D6C60, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6C88 = +{ + .tileTag = 10049, + .paletteTag = 10049, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6C84, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CD140, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6CA0 = +{ + .tileTag = 10049, + .paletteTag = 10049, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6C84, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CD190, +}; + void sub_80CD140(struct Sprite* sprite) { if (!gBattleAnimArgs[2]) diff --git a/src/battle/anim/lunge.c b/src/battle/anim/lunge.c new file mode 100644 index 000000000..13cabb422 --- /dev/null +++ b/src/battle/anim/lunge.c @@ -0,0 +1,339 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "battle_anim.h" +#include "sound.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +extern u8 gBankSpriteIds[]; + +void sub_80CD774(struct Sprite* sprite); +void sub_80CD9C4(struct Sprite* sprite); +static void sub_80CD7CC(struct Sprite* sprite); +static void sub_80CD81C(struct Sprite* sprite); +static void sub_80CD8A8(struct Sprite* sprite); +static void sub_80CD8F8(struct Sprite* sprite); +static void sub_80CD91C(struct Sprite* sprite); +static void sub_80CD9B8(struct Sprite* sprite); +static void sub_80CD9D4(struct Sprite* sprite); +static void sub_80CDB60(u8 taskId); +static void sub_80CDD20(u8 taskId); + +// lunge_1 (makes the pokemon sprite do a "lunge" where it leans back to attack, usually with its head or horn.) +// Used in Drill Peck, Headbutt, Horn Attack, and Horn Drill. + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6DE4 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CD774, +}; + +const struct SpriteTemplate gSpriteTemplate_83D6DFC = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CD9C4, +}; + +void sub_80CD774(struct Sprite* sprite) +{ + sprite->invisible = 1; + sprite->data[0] = 0; + switch (gBattleAnimArgs[0]) + { + case 0: + sprite->callback = sub_80CD7CC; + break; + case 1: + sprite->callback = sub_80CD8A8; + break; + case 2: + sprite->callback = sub_80CD8F8; + break; + default: + sprite->callback = sub_80CD9B8; + break; + } +} + +static void sub_80CD7CC(struct Sprite* sprite) +{ + sprite->data[0] = 6; + sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? 2 : -2; + sprite->data[2] = 0; + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; + StoreSpriteCallbackInData(sprite, sub_80CD81C); + sprite->callback = TranslateMonBGUntil; +} + +static void sub_80CD81C(struct Sprite* sprite) +{ + if (sprite->data[0] == 0) + { + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; + sub_8078E70(sprite->data[3], 0); + sprite->data[4] = (sprite->data[6] = GetBattlerSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00; + sprite->data[5] = 0; + } + + sprite->data[5] += sprite->data[4]; + obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]); + sub_8078F9C(sprite->data[3]); + if (++sprite->data[0] > 3) + { + sprite->data[0] = 0; + sprite->callback = sub_80CD9B8; + } +} + +static void sub_80CD8A8(struct Sprite* sprite) +{ + sprite->data[0] = 4; + sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? -3 : 3; + sprite->data[2] = 0; + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; + StoreSpriteCallbackInData(sprite, sub_80CD9B8); + sprite->callback = TranslateMonBGUntil; +} + +static void sub_80CD8F8(struct Sprite* sprite) +{ + if (++sprite->data[0] > 8) + { + sprite->data[0] = 0; + sprite->callback = sub_80CD91C; + } +} + +static void sub_80CD91C(struct Sprite* sprite) +{ + if (sprite->data[0] == 0) + { + sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; + sprite->data[6] = GetBattlerSide(gAnimBankAttacker); + if (GetBattlerSide(gAnimBankAttacker)) + { + sprite->data[4] = 0xFC00; + sprite->data[5] = 0xC00; + } + else + { + sprite->data[4] = 0x400; + sprite->data[5] = 0xF400; + } + } + + sprite->data[5] += sprite->data[4]; + obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]); + sub_8078F9C(sprite->data[3]); + if (++sprite->data[0] > 2) + { + sub_8078F40(sprite->data[3]); + sprite->callback = sub_80CD9B8; + } +} + +static void sub_80CD9B8(struct Sprite* sprite) +{ + DestroyAnimSprite(sprite); +} + +void sub_80CD9C4(struct Sprite* sprite) +{ + sprite->data[0] = 0; + sprite->callback = sub_80CD9D4; +} + +static void sub_80CD9D4(struct Sprite* sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->data[1] = 0; + sprite->data[2] = gBankSpriteIds[gAnimBankAttacker]; + sprite->data[3] = GetBattlerSide(gAnimBankAttacker); + sprite->data[4] = (sprite->data[3] != 0) ? 0x200 : -0x200; + sprite->data[5] = 0; + sub_8078E70(sprite->data[2], 0); + sprite->data[0]++; + case 1: + sprite->data[5] += sprite->data[4]; + obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]); + sub_8078F9C(sprite->data[2]); + if (++sprite->data[1] > 3) + { + sprite->data[1] = 0; + sprite->data[4] *= -1; + sprite->data[0]++; + } + break; + case 2: + sprite->data[5] += sprite->data[4]; + obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]); + sub_8078F9C(sprite->data[2]); + if (++sprite->data[1] > 3) + { + sub_8078F40(sprite->data[2]); + DestroyAnimSprite(sprite); + } + break; + } +} + +void sub_80CDAC8(u8 taskId) +{ + u8 a; + + gTasks[taskId].data[0] = gBankSpriteIds[gAnimBankAttacker]; + a = GetBattlerSide(gAnimBankAttacker); + gTasks[taskId].data[1] = a; + gTasks[taskId].data[2] = 0; + switch (gBattleAnimArgs[0]) + { + default: + DestroyAnimVisualTask(taskId); + break; + case 0: + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 8; + gTasks[taskId].data[4] = 0; + gTasks[taskId].data[5] = 3; + if (a == 0) + gTasks[taskId].data[5] *= -1; + + gTasks[taskId].func = sub_80CDB60; + break; + case 1: + gTasks[taskId].data[3] = 8; + gTasks[taskId].data[4] = 0x600; + gTasks[taskId].data[5] = 0xC0; + if (a == 0) + { + gTasks[taskId].data[4] = -gTasks[taskId].data[4]; + gTasks[taskId].data[5] = -gTasks[taskId].data[5]; + } + + gTasks[taskId].func = sub_80CDD20; + break; + } +} + +void sub_80CDB60(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[2]) + { + case 0: + if (task->data[3]) + { + task->data[4] += task->data[5]; + gSprites[task->data[0]].pos2.x = task->data[4]; + task->data[3]--; + } + else + { + task->data[3] = 8; + task->data[4] = 0; + task->data[5] = (task->data[1] == 0) ? -0xC0 : 0xC0; + sub_8078E70(task->data[0], 0); + task->data[2]++; + } + break; + case 1: + if (task->data[3]) + { + task->data[4] += task->data[5]; + obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]); + sub_8078F9C(task->data[0]); + task->data[3]--; + } + else + { + task->data[3] = 8; + task->data[4] = gSprites[task->data[0]].pos2.x; + task->data[5] = (task->data[1] == 0) ? 0x2 : -0x2; + task->data[6] = 1; + task->data[2]++; + } + break; + case 2: + if (task->data[3]) + { + if (task->data[6]) + { + task->data[6]--; + } + else + { + if (task->data[3] & 1) + gSprites[task->data[0]].pos2.x = task->data[4] + task->data[5]; + else + gSprites[task->data[0]].pos2.x = task->data[4] - task->data[5]; + + task->data[6] = 1; + task->data[3]--; + } + } + else + { + gSprites[task->data[0]].pos2.x = task->data[4]; + task->data[3] = 12; + task->data[2]++; + } + break; + case 3: + if (task->data[3]) + { + task->data[3]--; + } + else + { + task->data[3] = 3; + task->data[4] = gSprites[task->data[0]].pos2.x; + task->data[5] = (task->data[1] == 0) ? 8 : -8; + task->data[2]++; + } + break; + case 4: + if (task->data[3]) + { + task->data[4] += task->data[5]; + gSprites[task->data[0]].pos2.x = task->data[4]; + task->data[3]--; + } + else + { + DestroyAnimVisualTask(taskId); + } + break; + } +} + +void sub_80CDD20(u8 taskId) +{ + struct Task* task = &gTasks[taskId]; + if (task->data[3]) + { + task->data[4] -= task->data[5]; + obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]); + sub_8078F9C(task->data[0]); + task->data[3]--; + } + else + { + sub_8078F40(task->data[0]); + DestroyAnimVisualTask(taskId); + } +} diff --git a/src/battle/anim/lunge_1.c b/src/battle/anim/lunge_1.c deleted file mode 100644 index 949fb89f4..000000000 --- a/src/battle/anim/lunge_1.c +++ /dev/null @@ -1,124 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u8 gBankSpriteIds[]; - -static void sub_80CD7CC(struct Sprite* sprite); -static void sub_80CD81C(struct Sprite* sprite); -static void sub_80CD8A8(struct Sprite* sprite); -static void sub_80CD8F8(struct Sprite* sprite); -static void sub_80CD91C(struct Sprite* sprite); -static void sub_80CD9B8(struct Sprite* sprite); - -// lunge_1 (makes the pokemon sprite do a "lunge" where it leans back to attack, usually with its head or horn.) -// Used in Drill Peck, Headbutt, Horn Attack, and Horn Drill. - -void sub_80CD774(struct Sprite* sprite) -{ - sprite->invisible = 1; - sprite->data[0] = 0; - switch (gBattleAnimArgs[0]) - { - case 0: - sprite->callback = sub_80CD7CC; - break; - case 1: - sprite->callback = sub_80CD8A8; - break; - case 2: - sprite->callback = sub_80CD8F8; - break; - default: - sprite->callback = sub_80CD9B8; - break; - } -} - -void sub_80CD7CC(struct Sprite* sprite) -{ - sprite->data[0] = 6; - sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? 2 : -2; - sprite->data[2] = 0; - sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; - StoreSpriteCallbackInData(sprite, sub_80CD81C); - sprite->callback = TranslateMonBGUntil; -} - -void sub_80CD81C(struct Sprite* sprite) -{ - if (sprite->data[0] == 0) - { - sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; - sub_8078E70(sprite->data[3], 0); - sprite->data[4] = (sprite->data[6] = GetBattlerSide(gAnimBankAttacker)) ? 0x300 : 0xFFFFFD00; - sprite->data[5] = 0; - } - - sprite->data[5] += sprite->data[4]; - obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]); - sub_8078F9C(sprite->data[3]); - if (++sprite->data[0] > 3) - { - sprite->data[0] = 0; - sprite->callback = sub_80CD9B8; - } -} - -void sub_80CD8A8(struct Sprite* sprite) -{ - sprite->data[0] = 4; - sprite->data[1] = (GetBattlerSide(gAnimBankAttacker)) ? -3 : 3; - sprite->data[2] = 0; - sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; - StoreSpriteCallbackInData(sprite, sub_80CD9B8); - sprite->callback = TranslateMonBGUntil; -} - -void sub_80CD8F8(struct Sprite* sprite) -{ - if (++sprite->data[0] > 8) - { - sprite->data[0] = 0; - sprite->callback = sub_80CD91C; - } -} - -void sub_80CD91C(struct Sprite* sprite) -{ - if (sprite->data[0] == 0) - { - sprite->data[3] = gBankSpriteIds[gAnimBankAttacker]; - sprite->data[6] = GetBattlerSide(gAnimBankAttacker); - if (GetBattlerSide(gAnimBankAttacker)) - { - sprite->data[4] = 0xFC00; - sprite->data[5] = 0xC00; - } - else - { - sprite->data[4] = 0x400; - sprite->data[5] = 0xF400; - } - } - - sprite->data[5] += sprite->data[4]; - obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]); - sub_8078F9C(sprite->data[3]); - if (++sprite->data[0] > 2) - { - sub_8078F40(sprite->data[3]); - sprite->callback = sub_80CD9B8; - } -} - -void sub_80CD9B8(struct Sprite* sprite) -{ - DestroyAnimSprite(sprite); -} diff --git a/src/battle/anim/lunge_2.c b/src/battle/anim/lunge_2.c deleted file mode 100644 index c0100922c..000000000 --- a/src/battle/anim/lunge_2.c +++ /dev/null @@ -1,163 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u8 gBankSpriteIds[]; - -static void sub_80CDB60(u8 taskId); -static void sub_80CDD20(u8 taskId); - -// lunge_2 -// Drill Peck - -void sub_80CDAC8(u8 taskId) -{ - u8 a; - - gTasks[taskId].data[0] = gBankSpriteIds[gAnimBankAttacker]; - a = GetBattlerSide(gAnimBankAttacker); - gTasks[taskId].data[1] = a; - gTasks[taskId].data[2] = 0; - switch (gBattleAnimArgs[0]) - { - default: - DestroyAnimVisualTask(taskId); - break; - case 0: - gTasks[taskId].data[2] = 0; - gTasks[taskId].data[3] = 8; - gTasks[taskId].data[4] = 0; - gTasks[taskId].data[5] = 3; - if (a == 0) - gTasks[taskId].data[5] *= -1; - - gTasks[taskId].func = sub_80CDB60; - break; - case 1: - gTasks[taskId].data[3] = 8; - gTasks[taskId].data[4] = 0x600; - gTasks[taskId].data[5] = 0xC0; - if (a == 0) - { - gTasks[taskId].data[4] = -gTasks[taskId].data[4]; - gTasks[taskId].data[5] = -gTasks[taskId].data[5]; - } - - gTasks[taskId].func = sub_80CDD20; - break; - } -} - -void sub_80CDB60(u8 taskId) -{ - struct Task *task = &gTasks[taskId]; - switch (task->data[2]) - { - case 0: - if (task->data[3]) - { - task->data[4] += task->data[5]; - gSprites[task->data[0]].pos2.x = task->data[4]; - task->data[3]--; - } - else - { - task->data[3] = 8; - task->data[4] = 0; - task->data[5] = (task->data[1] == 0) ? -0xC0 : 0xC0; - sub_8078E70(task->data[0], 0); - task->data[2]++; - } - break; - case 1: - if (task->data[3]) - { - task->data[4] += task->data[5]; - obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]); - sub_8078F9C(task->data[0]); - task->data[3]--; - } - else - { - task->data[3] = 8; - task->data[4] = gSprites[task->data[0]].pos2.x; - task->data[5] = (task->data[1] == 0) ? 0x2 : -0x2; - task->data[6] = 1; - task->data[2]++; - } - break; - case 2: - if (task->data[3]) - { - if (task->data[6]) - { - task->data[6]--; - } - else - { - if (task->data[3] & 1) - gSprites[task->data[0]].pos2.x = task->data[4] + task->data[5]; - else - gSprites[task->data[0]].pos2.x = task->data[4] - task->data[5]; - - task->data[6] = 1; - task->data[3]--; - } - } - else - { - gSprites[task->data[0]].pos2.x = task->data[4]; - task->data[3] = 12; - task->data[2]++; - } - break; - case 3: - if (task->data[3]) - { - task->data[3]--; - } - else - { - task->data[3] = 3; - task->data[4] = gSprites[task->data[0]].pos2.x; - task->data[5] = (task->data[1] == 0) ? 8 : -8; - task->data[2]++; - } - break; - case 4: - if (task->data[3]) - { - task->data[4] += task->data[5]; - gSprites[task->data[0]].pos2.x = task->data[4]; - task->data[3]--; - } - else - { - DestroyAnimVisualTask(taskId); - } - break; - } -} - -void sub_80CDD20(u8 taskId) -{ - struct Task* task = &gTasks[taskId]; - if (task->data[3]) - { - task->data[4] -= task->data[5]; - obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]); - sub_8078F9C(task->data[0]); - task->data[3]--; - } - else - { - sub_8078F40(task->data[0]); - DestroyAnimVisualTask(taskId); - } -} diff --git a/src/battle/anim/moon.c b/src/battle/anim/moon.c index c532e8057..6e889008e 100644 --- a/src/battle/anim/moon.c +++ b/src/battle/anim/moon.c @@ -8,11 +8,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CE30C(struct Sprite* sprite); static void sub_80CE354(struct Sprite* sprite); // moon (shows a moon image.) // Used in Moonlight. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6FC8 = +{ + .tileTag = 10194, + .paletteTag = 10194, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CE30C, +}; + void sub_80CE30C(struct Sprite* sprite) { if (IsContest()) @@ -32,7 +44,7 @@ void sub_80CE30C(struct Sprite* sprite) sprite->callback = sub_80CE354; } -void sub_80CE354(struct Sprite* sprite) +static void sub_80CE354(struct Sprite* sprite) { if (sprite->data[0]) DestroyAnimSprite(sprite); diff --git a/src/battle/anim/scan.c b/src/battle/anim/scan.c index abd54cef3..05859d31c 100644 --- a/src/battle/anim/scan.c +++ b/src/battle/anim/scan.c @@ -9,8 +9,8 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern s8 gUnknown_083D6DDC[4][2]; - +void sub_80CD3E0(struct Sprite* sprite); +void sub_80CD6CC(struct Sprite* sprite); static void sub_80CD408(struct Sprite* sprite); static void sub_80CD4B8(struct Sprite* sprite); static void sub_80CD4EC(struct Sprite* sprite); @@ -21,6 +21,36 @@ static void sub_80CD67C(struct Sprite* sprite); // scan // Used by Lock-On. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6DAC = +{ + .tileTag = 10014, + .paletteTag = 10014, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CD3E0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6DC4 = +{ + .tileTag = 10014, + .paletteTag = 10014, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CD6CC, +}; + +const s8 gUnknown_083D6DDC[][2] = +{ + { 64, 64}, + { 0, -64}, + {-64, 64}, + { 32, -32}, +}; + void sub_80CD3E0(struct Sprite* sprite) { sprite->pos1.x -= 32; @@ -30,7 +60,7 @@ void sub_80CD3E0(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80CD408); } -void sub_80CD408(struct Sprite* sprite) +static void sub_80CD408(struct Sprite* sprite) { switch (sprite->data[5] & 1) { @@ -57,7 +87,7 @@ void sub_80CD408(struct Sprite* sprite) sprite->data[5] ^= 1; } -void sub_80CD4B8(struct Sprite* sprite) +static void sub_80CD4B8(struct Sprite* sprite) { if ((sprite->data[5] >> 8) == 4) { @@ -71,7 +101,7 @@ void sub_80CD4B8(struct Sprite* sprite) } } -void sub_80CD4EC(struct Sprite* sprite) +static void sub_80CD4EC(struct Sprite* sprite) { s16 a; s16 b; @@ -117,7 +147,7 @@ void sub_80CD4EC(struct Sprite* sprite) } } -void sub_80CD5A8(struct Sprite* sprite) +static void sub_80CD5A8(struct Sprite* sprite) { if (sprite->data[2] == 0) { @@ -144,7 +174,7 @@ void sub_80CD5A8(struct Sprite* sprite) } } -void sub_80CD654(struct Sprite* sprite) +static void sub_80CD654(struct Sprite* sprite) { if ((u16)gBattleAnimArgs[7] == 0xFFFF) { @@ -154,7 +184,7 @@ void sub_80CD654(struct Sprite* sprite) } } -void sub_80CD67C(struct Sprite* sprite) +static void sub_80CD67C(struct Sprite* sprite) { if (sprite->data[0] % 3 == 0) { diff --git a/src/battle/anim/shield.c b/src/battle/anim/shield.c index 323df4ab2..d858f5100 100644 --- a/src/battle/anim/shield.c +++ b/src/battle/anim/shield.c @@ -9,11 +9,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CCD24(struct Sprite* sprite); static void sub_80CCE0C(struct Sprite* sprite); // shield // Used by Protect. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6BE8 = +{ + .tileTag = 10280, + .paletteTag = 10280, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CCD24, +}; + void sub_80CCD24(struct Sprite* sprite) { if (IsContest() != 0) @@ -36,7 +48,7 @@ void sub_80CCD24(struct Sprite* sprite) sprite->callback = sub_80CCE0C; } -void sub_80CCE0C(struct Sprite* sprite) +static void sub_80CCE0C(struct Sprite* sprite) { int a; int i; diff --git a/src/battle/anim/slash.c b/src/battle/anim/slash.c index 68a1b81ef..f71bc6eaa 100644 --- a/src/battle/anim/slash.c +++ b/src/battle/anim/slash.c @@ -8,6 +8,9 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CDD74(struct Sprite* sprite); +void sub_80CDDDC(struct Sprite* sprite); +void sub_80CDE24(struct Sprite* sprite); static void sub_80CDE78(struct Sprite* sprite); static void sub_80CDEB0(struct Sprite* sprite); static void sub_80CDEC0(struct Sprite* sprite); @@ -15,6 +18,60 @@ static void sub_80CDEC0(struct Sprite* sprite); // slash (a cutting animation) // Used in Slash and False Swipe. +const union AnimCmd gSpriteAnim_83D6E14[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6E28[] = +{ + ANIMCMD_FRAME(48, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6E30[] = +{ + gSpriteAnim_83D6E14, + gSpriteAnim_83D6E28, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6E38 = +{ + .tileTag = 10183, + .paletteTag = 10183, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6E30, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CDD74, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6E50 = +{ + .tileTag = 10286, + .paletteTag = 10286, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6E30, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CDDDC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6E68 = +{ + .tileTag = 10286, + .paletteTag = 10286, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6E30, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CDE24, +}; + void sub_80CDD74(struct Sprite* sprite) { if (gBattleAnimArgs[0] == 0) @@ -52,7 +109,7 @@ void sub_80CDE24(struct Sprite* sprite) sprite->callback = sub_80CDEC0; } -void sub_80CDE78(struct Sprite* sprite) +static void sub_80CDE78(struct Sprite* sprite) { if (++sprite->data[0] > 8) { @@ -64,14 +121,14 @@ void sub_80CDE78(struct Sprite* sprite) } } -void sub_80CDEB0(struct Sprite* sprite) +static void sub_80CDEB0(struct Sprite* sprite) { sprite->data[0] = 0; sprite->data[1] = 0; sprite->callback = sub_80CDEC0; } -void sub_80CDEC0(struct Sprite* sprite) +static void sub_80CDEC0(struct Sprite* sprite) { if (++sprite->data[0] > 1) { diff --git a/src/battle/anim/sleep.c b/src/battle/anim/sleep.c index cc3518395..40b984be7 100644 --- a/src/battle/anim/sleep.c +++ b/src/battle/anim/sleep.c @@ -8,11 +8,68 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CD328(struct Sprite* sprite); static void sub_80CD394(struct Sprite* sprite); // sleep (the "ZZZ" graphical effect) // Used by Rest and the sleep turn when the Pokemon is still asleep. +const union AnimCmd gSpriteAnim_83D6D20[] = +{ + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6D28[] = +{ + gSpriteAnim_83D6D20, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6D2C[] = +{ + AFFINEANIMCMD_FRAME(0x14, 0x14, -30, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 1, 24), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6D44[] = +{ + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24), + AFFINEANIMCMD_LOOP(10), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6D5C[] = +{ + AFFINEANIMCMD_FRAME(0x14, 0x14, 30, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, -1, 24), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6D74[] = +{ + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 24), + AFFINEANIMCMD_LOOP(10), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6D8C[] = +{ + gSpriteAffineAnim_83D6D2C, + gSpriteAffineAnim_83D6D5C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6D94 = +{ + .tileTag = 10228, + .paletteTag = 10228, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D6D28, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6D8C, + .callback = sub_80CD328, +}; + void sub_80CD328(struct Sprite* sprite) { sub_8078650(sprite); @@ -33,7 +90,7 @@ void sub_80CD328(struct Sprite* sprite) sprite->callback = sub_80CD394; } -void sub_80CD394(struct Sprite* sprite) +static void sub_80CD394(struct Sprite* sprite) { sprite->pos2.y = -(sprite->data[0] / 0x28); sprite->pos2.x = sprite->data[4] / 10; diff --git a/src/battle/anim/slice.c b/src/battle/anim/slice.c index 8e7f35f46..4da414cbf 100644 --- a/src/battle/anim/slice.c +++ b/src/battle/anim/slice.c @@ -8,8 +8,46 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void AnimCuttingSlice(struct Sprite* sprite); +void sub_80CC9BC(struct Sprite* sprite); static void AnimSliceStep(struct Sprite* sprite); +const union AnimCmd gSpriteAnim_83D6B10[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6B24[] = +{ + gSpriteAnim_83D6B10, +}; + +const struct SpriteTemplate gCuttingSliceSpriteTemplate = +{ + .tileTag = 10138, + .paletteTag = 10138, + .oam = &gOamData_837E054, + .anims = gSpriteAnimTable_83D6B24, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimCuttingSlice, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6B40 = +{ + .tileTag = 10138, + .paletteTag = 10138, + .oam = &gOamData_837E054, + .anims = gSpriteAnimTable_83D6B24, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CC9BC, +}; + // Moves the sprite in a diagonally slashing motion across the target mon. // Used by moves such as MOVE_CUT and MOVE_AERIAL_ACE. // arg 0: initial x pixel offset diff --git a/src/battle/anim/strike.c b/src/battle/anim/strike.c index 775485a79..79dd833a9 100644 --- a/src/battle/anim/strike.c +++ b/src/battle/anim/strike.c @@ -8,11 +8,52 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CE670(struct Sprite* sprite); static void sub_80CE798(struct Sprite* sprite); // strike (A red strike towards the opponent.) // Used in Horn Attack, Fury Attack, and Horn Drill. +const union AnimCmd gSpriteAnim_83D7010[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 5), + ANIMCMD_FRAME(80, 3), + ANIMCMD_FRAME(96, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7034[] = +{ + gSpriteAnim_83D7010, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7038 = +{ + .tileTag = 10031, + .paletteTag = 10031, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7034, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80793C4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7050 = +{ + .tileTag = 10020, + .paletteTag = 10020, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CE670, +}; + void sub_80CE670(struct Sprite* sprite) { if (gBattleAnimArgs[2] <= 1) @@ -60,7 +101,7 @@ void sub_80CE670(struct Sprite* sprite) sprite->callback = sub_80CE798; } -void sub_80CE798(struct Sprite* sprite) +static void sub_80CE798(struct Sprite* sprite) { sprite->data[2] += sprite->data[3]; sprite->data[4] += sprite->data[5]; diff --git a/src/battle/anim/tile.c b/src/battle/anim/tile.c new file mode 100644 index 000000000..a10850808 --- /dev/null +++ b/src/battle/anim/tile.c @@ -0,0 +1,219 @@ +#include "global.h" +#include "battle_anim.h" +#include "battle_interface.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "sound.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; +extern u8 gBattlersCount; +extern u8 gHealthboxIDs[]; + +void sub_80CE09C(struct Sprite* sprite); +void sub_80CE17C(struct Sprite* sprite); +static void sub_80CE1AC(struct Sprite* sprite); + +// tile_in (flips a white tile from the scene into facing the player.) +// Used in Conversion. + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6F08 = +{ + .tileTag = 10017, + .paletteTag = 10017, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const union AnimCmd gSpriteAnim_83D6F20[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6F38[] = +{ + gSpriteAnim_83D6F20, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6F3C = +{ + .tileTag = 10030, + .paletteTag = 10030, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D6F38, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80793C4, +}; + +const union AnimCmd gSpriteAnim_83D6F54[] = +{ + ANIMCMD_FRAME(3, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6F68[] = +{ + gSpriteAnim_83D6F54, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D6F6C[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D6F7C[] = +{ + gSpriteAffineAnim_83D6F6C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6F80 = +{ + .tileTag = 10018, + .paletteTag = 10018, + .oam = &gOamData_837E104, + .anims = gSpriteAnimTable_83D6F68, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6F7C, + .callback = sub_80CE09C, +}; + +const union AnimCmd gSpriteAnim_83D6F98[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6FAC[] = +{ + gSpriteAnim_83D6F98, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6FB0 = +{ + .tileTag = 10018, + .paletteTag = 10018, + .oam = &gOamData_837E104, + .anims = gSpriteAnimTable_83D6FAC, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D6F7C, + .callback = sub_80CE17C, +}; + +void sub_80CE09C(struct Sprite* sprite) +{ + if (sprite->data[0] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; + if (IsContest()) + sprite->pos1.y += 10; + sprite->data[0]++; + } + + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + DestroyAnimSprite(sprite); +} + +void sub_80CE108(u8 taskId) +{ + if (gTasks[taskId].data[2] == 1) + { + gBattleAnimArgs[7] = 0xFFFF; + gTasks[taskId].data[2]++; + } + else if (gTasks[taskId].data[2] == 2) + { + DestroyAnimVisualTask(taskId); + } + else + { + if (++gTasks[taskId].data[0] == 4) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1]++; + REG_BLDALPHA = (gTasks[taskId].data[1] << 8) | (16 - gTasks[taskId].data[1]); + if (gTasks[taskId].data[1] == 16) + gTasks[taskId].data[2]++; + } + } +} + +void sub_80CE17C(struct Sprite* sprite) +{ + sub_8078764(sprite, 0); + sprite->animPaused = 1; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->callback = sub_80CE1AC; +} + +static void sub_80CE1AC(struct Sprite* sprite) +{ + if (sprite->data[0]) + { + sprite->data[0]--; + } + else + { + sprite->animPaused = 0; + sprite->data[0] = 30; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + } +} + +void sub_80CE210(u8 taskId) +{ + if (++gTasks[taskId].data[0] == 4) + { + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1]++; + REG_BLDALPHA = gTasks[taskId].data[1] | ((16 - gTasks[taskId].data[1]) << 8); + if (gTasks[taskId].data[1] == 16) + DestroyAnimVisualTask(taskId); + } +} + +void unref_sub_80CE260(u8 taskId) +{ + u8 i; + for (i = 0; i < gBattlersCount; i++) + { + if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == 0) + sub_8043DB0(gHealthboxIDs[i]); + + if (gBattleAnimArgs[1] == 1 && GetBattlerSide(i) == 1) + sub_8043DB0(gHealthboxIDs[i]); + } + + DestroyAnimVisualTask(taskId); +} + +void unref_sub_80CE2D4(u8 taskId) +{ + u8 i; + for (i = 0; i < gBattlersCount; i++) + { + sub_8043DFC(gHealthboxIDs[i]); + } + + DestroyAnimVisualTask(taskId); +} diff --git a/src/battle/anim/tile_in.c b/src/battle/anim/tile_in.c deleted file mode 100644 index b1d804317..000000000 --- a/src/battle/anim/tile_in.c +++ /dev/null @@ -1,51 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -// tile_in (flips a white tile from the scene into facing the player.) -// Used in Conversion. - -void sub_80CE09C(struct Sprite* sprite) -{ - if (sprite->data[0] == 0) - { - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[1]; - if (IsContest()) - sprite->pos1.y += 10; - sprite->data[0]++; - } - - if ((u16)gBattleAnimArgs[7] == 0xFFFF) - DestroyAnimSprite(sprite); -} - -void sub_80CE108(u8 taskId) -{ - if (gTasks[taskId].data[2] == 1) - { - gBattleAnimArgs[7] = 0xFFFF; - gTasks[taskId].data[2]++; - } - else if (gTasks[taskId].data[2] == 2) - { - DestroyAnimVisualTask(taskId); - } - else - { - if (++gTasks[taskId].data[0] == 4) - { - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1]++; - REG_BLDALPHA = (gTasks[taskId].data[1] << 8) | (16 - gTasks[taskId].data[1]); - if (gTasks[taskId].data[1] == 16) - gTasks[taskId].data[2]++; - } - } -} diff --git a/src/battle/anim/tile_out.c b/src/battle/anim/tile_out.c deleted file mode 100644 index 04f51e556..000000000 --- a/src/battle/anim/tile_out.c +++ /dev/null @@ -1,81 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" -#include "battle_interface.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u8 gBattlersCount; -extern u8 gHealthboxIDs[]; - -static void sub_80CE1AC(struct Sprite* sprite); - -// tile_out (makes a tile fly inward into a center point.) -// Used in Conversion 2. - -void sub_80CE17C(struct Sprite* sprite) -{ - sub_8078764(sprite, 0); - sprite->animPaused = 1; - sprite->data[0] = gBattleAnimArgs[2]; - sprite->callback = sub_80CE1AC; -} - -void sub_80CE1AC(struct Sprite* sprite) -{ - if (sprite->data[0]) - { - sprite->data[0]--; - } - else - { - sprite->animPaused = 0; - sprite->data[0] = 30; - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); - sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); - sprite->callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(sprite, DestroyAnimSprite); - } -} - -void sub_80CE210(u8 taskId) -{ - if (++gTasks[taskId].data[0] == 4) - { - gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1]++; - REG_BLDALPHA = gTasks[taskId].data[1] | ((16 - gTasks[taskId].data[1]) << 8); - if (gTasks[taskId].data[1] == 16) - DestroyAnimVisualTask(taskId); - } -} - -void unref_sub_80CE260(u8 taskId) -{ - u8 i; - for (i = 0; i < gBattlersCount; i++) - { - if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == 0) - sub_8043DB0(gHealthboxIDs[i]); - - if (gBattleAnimArgs[1] == 1 && GetBattlerSide(i) == 1) - sub_8043DB0(gHealthboxIDs[i]); - } - - DestroyAnimVisualTask(taskId); -} - -void unref_sub_80CE2D4(u8 taskId) -{ - u8 i; - for (i = 0; i < gBattlersCount; i++) - { - sub_8043DFC(gHealthboxIDs[i]); - } - - DestroyAnimVisualTask(taskId); -} diff --git a/src/battle/anim/twinkle.c b/src/battle/anim/twinkle.c index 34082cc2f..bfe0c8da2 100644 --- a/src/battle/anim/twinkle.c +++ b/src/battle/anim/twinkle.c @@ -8,11 +8,37 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CE36C(struct Sprite* sprite); static void sub_80CE3B0(struct Sprite* sprite); // twinkle (a tiny twinkling star appears above the Pokemon and descends toward the Pokemon.) // Used in Moonlight. +const union AnimCmd gSpriteAnim_83D6FE0[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_FRAME(12, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D6FF4[] = +{ + gSpriteAnim_83D6FE0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D6FF8 = +{ + .tileTag = 10195, + .paletteTag = 10195, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6FF4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CE36C, +}; + void sub_80CE36C(struct Sprite* sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[0]; @@ -25,7 +51,7 @@ void sub_80CE36C(struct Sprite* sprite) sprite->callback = sub_80CE3B0; } -void sub_80CE3B0(struct Sprite* sprite) +static void sub_80CE3B0(struct Sprite* sprite) { if (++sprite->data[1] > 1) { diff --git a/src/battle/anim/unused_2.c b/src/battle/anim/unused_2.c index 71e5e92d7..f4ebe0e74 100644 --- a/src/battle/anim/unused_2.c +++ b/src/battle/anim/unused_2.c @@ -8,11 +8,97 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CCC50(struct Sprite* sprite); static void sub_80CCCB4(struct Sprite* sprite); // unused_2 (unknown effect with music notes.) // possibly another unused effect. Unknown usage. +const union AnimCmd gSpriteAnim_83D6B58[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B60[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B68[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B70[] = +{ + ANIMCMD_FRAME(12, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B78[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B80[] = +{ + ANIMCMD_FRAME(20, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B88[] = +{ + ANIMCMD_FRAME(0, 1, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B90[] = +{ + ANIMCMD_FRAME(4, 1, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6B98[] = +{ + ANIMCMD_FRAME(8, 1, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6BA0[] = +{ + ANIMCMD_FRAME(12, 1, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6BA8[] = +{ + gSpriteAnim_83D6B58, + gSpriteAnim_83D6B60, + gSpriteAnim_83D6B68, + gSpriteAnim_83D6B70, + gSpriteAnim_83D6B78, + gSpriteAnim_83D6B80, + gSpriteAnim_83D6B88, + gSpriteAnim_83D6B90, + gSpriteAnim_83D6B98, + gSpriteAnim_83D6BA0, +}; + +const struct SpriteTemplate gSpriteTemplate_83D6BD0 = +{ + .tileTag = 10072, + .paletteTag = 10072, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6BA8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CCC50, +}; + void unref_sub_80CCB6C(struct Sprite* sprite) { if (sprite->data[2] > 1) @@ -62,7 +148,7 @@ void sub_80CCC50(struct Sprite* sprite) sub_80CCCB4(sprite); } -void sub_80CCCB4(struct Sprite* sprite) +static void sub_80CCCB4(struct Sprite* sprite) { sprite->pos2.x = Cos(sprite->data[0], 100); sprite->pos2.y = Sin(sprite->data[0], 20); diff --git a/src/battle/anim/unused_3.c b/src/battle/anim/unused_3.c index a89ed0246..1c3ab978e 100644 --- a/src/battle/anim/unused_3.c +++ b/src/battle/anim/unused_3.c @@ -8,10 +8,53 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CD274(struct Sprite* sprite); static void sub_80CD2D4(struct Sprite* sprite); // unused_3 (seems to be some sort of popping effect with a growing diamond shape) -// yet another unused effect... + +const union AnimCmd gSpriteAnim_83D6CB8[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(4, 10), + ANIMCMD_FRAME(8, 10), + ANIMCMD_FRAME(12, 10), + ANIMCMD_FRAME(16, 26), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(20, 5), + ANIMCMD_FRAME(24, 15), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D6CDC[] = +{ + ANIMCMD_FRAME(0, 10, .hFlip = TRUE), + ANIMCMD_FRAME(4, 10, .hFlip = TRUE), + ANIMCMD_FRAME(8, 10, .hFlip = TRUE), + ANIMCMD_FRAME(12, 10, .hFlip = TRUE), + ANIMCMD_FRAME(16, 26, .hFlip = TRUE), + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(20, 5, .hFlip = TRUE), + ANIMCMD_FRAME(24, 15, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D6D00[] = +{ + gSpriteAnim_83D6CB8, + gSpriteAnim_83D6CDC, +}; + +const struct SpriteTemplate gSpriteTemplate_83D6D08 = +{ + .tileTag = 10032, + .paletteTag = 10032, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D6D00, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CD274, +}; void sub_80CD274(struct Sprite* sprite) { @@ -31,7 +74,7 @@ void sub_80CD274(struct Sprite* sprite) sprite->callback = sub_80CD2D4; } -void sub_80CD2D4(struct Sprite* sprite) +static void sub_80CD2D4(struct Sprite* sprite) { if (++sprite->data[0] > 30) { diff --git a/src/battle/anim/unused_4.c b/src/battle/anim/unused_4.c deleted file mode 100644 index 63940f3e1..000000000 --- a/src/battle/anim/unused_4.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u8 gBankSpriteIds[]; - -static void sub_80CD9D4(struct Sprite* sprite); - -// unused_4 -// Unknown usage. - -void sub_80CD9C4(struct Sprite* sprite) -{ - sprite->data[0] = 0; - sprite->callback = sub_80CD9D4; -} - -void sub_80CD9D4(struct Sprite* sprite) -{ - switch (sprite->data[0]) - { - case 0: - sprite->data[1] = 0; - sprite->data[2] = gBankSpriteIds[gAnimBankAttacker]; - sprite->data[3] = GetBattlerSide(gAnimBankAttacker); - sprite->data[4] = (sprite->data[3] != 0) ? 0x200 : -0x200; - sprite->data[5] = 0; - sub_8078E70(sprite->data[2], 0); - sprite->data[0]++; - case 1: - sprite->data[5] += sprite->data[4]; - obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]); - sub_8078F9C(sprite->data[2]); - if (++sprite->data[1] > 3) - { - sprite->data[1] = 0; - sprite->data[4] *= -1; - sprite->data[0]++; - } - break; - case 2: - sprite->data[5] += sprite->data[4]; - obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]); - sub_8078F9C(sprite->data[2]); - if (++sprite->data[1] > 3) - { - sub_8078F40(sprite->data[2]); - DestroyAnimSprite(sprite); - } - break; - } -} -- cgit v1.2.3 From 63d3135bde32ed110ddf7624ea4dc8a76b20523b Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 29 Apr 2018 10:42:47 -0400 Subject: Decompile pokedex_cry_screen data --- src/pokedex_cry_screen.c | 219 +++++++++++++++++++++++++++++------------------ 1 file changed, 138 insertions(+), 81 deletions(-) (limited to 'src') diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 4c21a9743..6d2b09a4b 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -36,7 +36,6 @@ struct PokedexCryScreen_201C000 }; #define ePokedexCryScreenGfx (*(struct Unk2000000 *)gSharedMem) -#define ePokedexCryScreen (*(struct PokedexCryScreen_201C000 *)(gSharedMem + 0x1C000)) void sub_811A0A0(u16 species); void sub_811A0C0(void); @@ -45,19 +44,81 @@ void sub_811A15C(u8); void sub_811A1C8(u8, u8); void sub_811A324(void); void sub_811A350(u8, u16, u8); +void sub_811A534(struct Sprite *); void sub_811A6D8(s8); extern u8 gUnknown_03005E98; // data/pokedex_cry_screen.o -extern const u16 gUnknown_083FB6F8[]; -extern const u16 gUnknown_083FB718[]; -extern const u16 gUnknown_083FAE7C[]; -extern const u16 gUnknown_083FAF1C[]; -extern const u8 gUnknown_083FAF3C[]; -extern struct SpriteTemplate gSpriteTemplate_83FB774; -extern const struct SpriteSheet gCryMeterNeedleSpriteSheets[]; -extern const struct SpritePalette gCryMeterNeedleSpritePalettes[]; + +const u16 CryMeterNeedlePalette[] = INCBIN_U16("graphics/pokedex/cry_meter_needle.gbapal"); +const u8 CryMeterNeedleTiles[] = INCBIN_U8("graphics/pokedex/cry_meter_needle.4bpp"); + +#if ENGLISH +const u16 gUnknown_083FAE7C[] = INCBIN_U16("graphics/pokedex/cry_meter_map.bin"); +const u16 gUnknown_083FAF1C[] = INCBIN_U16("graphics/pokedex/cry_meter.gbapal"); +const u8 gUnknown_083FAF3C[] = INCBIN_U8("graphics/pokedex/cry_meter.4bpp.lz"); +#endif // ENGLISH + +const u16 gUnknown_083FB274[][72] = { + {0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C}, + {0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C}, + {0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D}, + {0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D}, + {0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E}, + {0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E}, + {0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F}, + {0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F} +}; + +struct PokedexCryScreen_201C000 * const gPokedexCryScreenPtr = (struct PokedexCryScreen_201C000 *)(gSharedMem + 0x1c000); + +const u16 gUnknown_083FB6F8[] = INCBIN_U16("graphics/pokedex/83FB6F8.gbapal"); +const u16 gUnknown_083FB718[] = INCBIN_U16("graphics/pokedex/83FB718.4bpp"); + +const u8 gUnknown_083FB738[] = {0xF0, 0x0F}; +const u8 gUnknown_083FB73A[][16] = { + {0x0F,0x0E,0x0D,0x0C,0x0B,0x0A,0x09,0x08,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F}, + {0xF0,0xE0,0xD0,0xC0,0xB0,0xA0,0x90,0x80,0x80,0x90,0xA0,0xB0,0xC0,0xD0,0xE0,0xF0} +}; + +struct Unk201C800 * const gPokedexCryScreenPtr2 = (struct Unk201C800 *)(gSharedMem + 0x1c800); + +union AnimCmd gSpriteAnim_83FB760[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; + +const union AnimCmd * gSpriteAnimTable_83FB768[] = { + gSpriteAnim_83FB760 +}; + +struct OamData gOamData_83FB76C = { + .y = 160, + .affineMode = ST_OAM_AFFINE_NORMAL, + .size = 3, + .priority = 1 +}; + +struct SpriteTemplate gSpriteTemplate_83FB774 = { + 0x2000, + 0x2000, + &gOamData_83FB76C, + gSpriteAnimTable_83FB768, + NULL, + gDummySpriteAffineAnimTable, + sub_811A534 +}; + +struct SpriteSheet gCryMeterNeedleSpriteSheets[] = { + {CryMeterNeedleTiles, 0x800, 0x2000}, + {} +}; + +struct SpritePalette gCryMeterNeedleSpritePalettes[] = { + {CryMeterNeedlePalette, 0x2000}, + {} +}; #if ENGLISH #define CRY_METER_MAP_WIDTH 10 @@ -78,13 +139,13 @@ u8 sub_8119E3C(struct CryRelatedStruct *cry, u8 arg1) switch (gUnknown_03005E98) { case 0: - ePokedexCryScreen.unk0014 = cry->unk0; - ePokedexCryScreen.unk0016 = cry->yPos; - ePokedexCryScreen.unk001A = 0; - ePokedexCryScreen.unk001B = 0; - ePokedexCryScreen.unk0010 = 0; - ePokedexCryScreen.unk0012 = 28; - ePokedexCryScreen.unk0011 = 0; + gPokedexCryScreenPtr->unk0014 = cry->unk0; + gPokedexCryScreenPtr->unk0016 = cry->yPos; + gPokedexCryScreenPtr->unk001A = 0; + gPokedexCryScreenPtr->unk001B = 0; + gPokedexCryScreenPtr->unk0010 = 0; + gPokedexCryScreenPtr->unk0012 = 28; + gPokedexCryScreenPtr->unk0011 = 0; sub_811A350(arg1, -8 * cry->xPos, 0); for (i = 0; i < 7; i++) { @@ -108,7 +169,7 @@ u8 sub_8119E3C(struct CryRelatedStruct *cry, u8 arg1) *((u16 *)(VRAM + offset)) = r6++; } } - for (i = 0; i < ePokedexCryScreen.unk0016 * 8; i++) + for (i = 0; i < gPokedexCryScreenPtr->unk0016 * 8; i++) { sub_811A1C8(i, 0); } @@ -300,52 +361,52 @@ void sub_8119F88(u8 a0) u8 r4; sub_811A324(); sub_811A15C(a0); - if (ePokedexCryScreen.unk001B) - ePokedexCryScreen.unk001B--; - if (ePokedexCryScreen.unk001A && !--ePokedexCryScreen.unk001A) + if (gPokedexCryScreenPtr->unk001B) + gPokedexCryScreenPtr->unk001B--; + if (gPokedexCryScreenPtr->unk001A && !--gPokedexCryScreenPtr->unk001A) { - sub_811A0A0(ePokedexCryScreen.species); + sub_811A0A0(gPokedexCryScreenPtr->species); sub_811A124(); return; } - if (ePokedexCryScreen.unk0010 == 0) + if (gPokedexCryScreenPtr->unk0010 == 0) { sub_811A124(); return; } - if (ePokedexCryScreen.unk0010 == 1) + if (gPokedexCryScreenPtr->unk0010 == 1) { sub_811A0C0(); } - else if (ePokedexCryScreen.unk0010 > 8) + else if (gPokedexCryScreenPtr->unk0010 > 8) { if (!IsCryPlaying()) { sub_811A124(); - ePokedexCryScreen.unk0010 = 0; + gPokedexCryScreenPtr->unk0010 = 0; return; } sub_811A0C0(); - ePokedexCryScreen.unk0010 = 1; + gPokedexCryScreenPtr->unk0010 = 1; } - r4 = 2 * (ePokedexCryScreen.unk0010 - 1); - sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 2, ePokedexCryScreen.unk0000[r4]); - sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 1, ePokedexCryScreen.unk0000[r4 + 1]); - ePokedexCryScreen.unk0010++; + r4 = 2 * (gPokedexCryScreenPtr->unk0010 - 1); + sub_811A1C8(gPokedexCryScreenPtr->unk0016 * 8 + gPokedexCryScreenPtr->unk0011 - 2, gPokedexCryScreenPtr->unk0000[r4]); + sub_811A1C8(gPokedexCryScreenPtr->unk0016 * 8 + gPokedexCryScreenPtr->unk0011 - 1, gPokedexCryScreenPtr->unk0000[r4 + 1]); + gPokedexCryScreenPtr->unk0010++; } void sub_811A050(u16 species) { - if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE && !ePokedexCryScreen.unk001A) + if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE && !gPokedexCryScreenPtr->unk001A) { - if (!ePokedexCryScreen.unk001B) + if (!gPokedexCryScreenPtr->unk001B) { - ePokedexCryScreen.unk001B = 4; + gPokedexCryScreenPtr->unk001B = 4; if (IsCryPlaying() == TRUE) { StopCry(); - ePokedexCryScreen.species = species; - ePokedexCryScreen.unk001A = 2; + gPokedexCryScreenPtr->species = species; + gPokedexCryScreenPtr->unk001A = 2; } else sub_811A0A0(species); @@ -356,7 +417,7 @@ void sub_811A050(u16 species) void sub_811A0A0(u16 species) { PlayCry2(species, 0, 0x7d, 10); - ePokedexCryScreen.unk0010 = 1; + gPokedexCryScreenPtr->unk0010 = 1; } #ifdef NONMATCHING @@ -370,7 +431,7 @@ void sub_811A0C0(void) src = gSoundInfo.pcmBuffer + (gSoundInfo.pcmDmaPeriod + 1 - gPcmDmaCounter) * gSoundInfo.pcmSamplesPerVBlank; src += PCM_DMA_BUF_SIZE; for (i = 0; i < 16; i++) - ePokedexCryScreen.unk0000[i] = src[i * 2] * 2; + gPokedexCryScreenPtr->unk0000[i] = src[i * 2] * 2; } #else NAKED void sub_811A0C0(void) @@ -430,27 +491,23 @@ NAKED void sub_811A0C0(void) void sub_811A124(void) { - sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 2, 0); - sub_811A1C8(ePokedexCryScreen.unk0016 * 8 + ePokedexCryScreen.unk0011 - 1, 0); + sub_811A1C8(gPokedexCryScreenPtr->unk0016 * 8 + gPokedexCryScreenPtr->unk0011 - 2, 0); + sub_811A1C8(gPokedexCryScreenPtr->unk0016 * 8 + gPokedexCryScreenPtr->unk0011 - 1, 0); } void sub_811A15C(u8 a0) { u8 i; u16 r3; - sub_811A350(a0, ePokedexCryScreen.unk0011, 0); - ePokedexCryScreen.unk0011 += 2; - r3 = (ePokedexCryScreen.unk0011 / 8 + ePokedexCryScreen.unk0016 + 1) % 32; + sub_811A350(a0, gPokedexCryScreenPtr->unk0011, 0); + gPokedexCryScreenPtr->unk0011 += 2; + r3 = (gPokedexCryScreenPtr->unk0011 / 8 + gPokedexCryScreenPtr->unk0016 + 1) % 32; for (i = 0; i < 7; i++) { DmaCopy16(3, gUnknown_083FB718, &ePokedexCryScreenGfx.unk0000[32 * (32 * i + r3)], 32); } } -extern const u16 gUnknown_083FB274[8][72]; -extern const u8 gUnknown_083FB738[2]; -extern const u8 gUnknown_083FB73A[2][16]; - #ifdef NONMATCHING void sub_811A1C8(u8 a0, u8 a1) { @@ -464,14 +521,14 @@ void sub_811A1C8(u8 a0, u8 a1) sp0 = i; r7 = a0 % 2; r8 = a0 / 8; - if (i > ePokedexCryScreen.unk0012) + if (i > gPokedexCryScreenPtr->unk0012) { do { ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; i--; - } while (i > ePokedexCryScreen.unk0012); + } while (i > gPokedexCryScreenPtr->unk0012); } else { @@ -480,9 +537,9 @@ void sub_811A1C8(u8 a0, u8 a1) ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; i++; - } while (i < ePokedexCryScreen.unk0012); + } while (i < gPokedexCryScreenPtr->unk0012); } - ePokedexCryScreen.unk0012 = sp0; + gPokedexCryScreenPtr->unk0012 = sp0; } #else NAKED void sub_811A1C8(u8 a0, u8 a1) @@ -655,7 +712,7 @@ NAKED void sub_811A1C8(u8 a0, u8 a1) void sub_811A324(void) { - DmaCopy16(3, ePokedexCryScreenGfx.unk0000, VRAM + ePokedexCryScreen.unk0014, 0x1c00); + DmaCopy16(3, ePokedexCryScreenGfx.unk0000, VRAM + gPokedexCryScreenPtr->unk0014, 0x1c00); } void sub_811A350(u8 a0, u16 a1, u8 a2) @@ -729,10 +786,10 @@ u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { { LoadSpriteSheets(gCryMeterNeedleSpriteSheets); LoadSpritePalettes(gCryMeterNeedleSpritePalettes); - EWRAM_1C800.unk_4 = CreateSprite(&gSpriteTemplate_83FB774, 40 + cry->xPos * 8, 56 + cry->yPos * 8, 1); - EWRAM_1C800.unk_0 = 0x20; - EWRAM_1C800.unk_1 = 0x20; - EWRAM_1C800.unk_2 = 0; + gPokedexCryScreenPtr2->unk_4 = CreateSprite(&gSpriteTemplate_83FB774, 40 + cry->xPos * 8, 56 + cry->yPos * 8, 1); + gPokedexCryScreenPtr2->unk_0 = 0x20; + gPokedexCryScreenPtr2->unk_1 = 0x20; + gPokedexCryScreenPtr2->unk_2 = 0; returnVal = TRUE; break; @@ -744,8 +801,8 @@ u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) { void DestroyCryMeterNeedleSprite(void) { - FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[EWRAM_1C800.unk_4].oam.paletteNum)); - DestroySprite(gSprites + EWRAM_1C800.unk_4); + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[gPokedexCryScreenPtr2->unk_4].oam.paletteNum)); + DestroySprite(gSprites + gPokedexCryScreenPtr2->unk_4); } void sub_811A534(struct Sprite * sprite) @@ -758,59 +815,59 @@ void sub_811A534(struct Sprite * sprite) struct OamMatrix sp0c; u8 * r0; - gSprites[EWRAM_1C800.unk_4].oam.affineMode = ST_OAM_AFFINE_NORMAL; - gSprites[EWRAM_1C800.unk_4].oam.affineParam = 0; - switch (ePokedexCryScreen.unk0010) + gSprites[gPokedexCryScreenPtr2->unk_4].oam.affineMode = ST_OAM_AFFINE_NORMAL; + gSprites[gPokedexCryScreenPtr2->unk_4].oam.affineParam = 0; + switch (gPokedexCryScreenPtr->unk0010) { case 0: - EWRAM_1C800.unk_1 = 0x20; - if (EWRAM_1C800.unk_0 > 0) + gPokedexCryScreenPtr2->unk_1 = 0x20; + if (gPokedexCryScreenPtr2->unk_0 > 0) { - if (EWRAM_1C800.unk_2 != 1) - EWRAM_1C800.unk_2--; + if (gPokedexCryScreenPtr2->unk_2 != 1) + gPokedexCryScreenPtr2->unk_2--; } else - EWRAM_1C800.unk_2 = 5; + gPokedexCryScreenPtr2->unk_2 = 5; break; case 2: r3 = 0; for (i = 0; i < 16; i++) { - if (r3 < ePokedexCryScreen.unk0000[i]) - r3 = ePokedexCryScreen.unk0000[i]; + if (r3 < gPokedexCryScreenPtr->unk0000[i]) + r3 = gPokedexCryScreenPtr->unk0000[i]; } sub_811A6D8(r3 * 0xd0 / 0x100); break; case 6: - r0 = &ePokedexCryScreen.unk0000[10]; + r0 = &gPokedexCryScreenPtr->unk0000[10]; sub_811A6D8(*r0 * 0xd0 / 0x100); break; } - if (EWRAM_1C800.unk_0 == EWRAM_1C800.unk_1) + if (gPokedexCryScreenPtr2->unk_0 == gPokedexCryScreenPtr2->unk_1) ; - else if (EWRAM_1C800.unk_0 < EWRAM_1C800.unk_1) + else if (gPokedexCryScreenPtr2->unk_0 < gPokedexCryScreenPtr2->unk_1) { - if ((EWRAM_1C800.unk_0 += EWRAM_1C800.unk_2) > EWRAM_1C800.unk_1) + if ((gPokedexCryScreenPtr2->unk_0 += gPokedexCryScreenPtr2->unk_2) > gPokedexCryScreenPtr2->unk_1) { - EWRAM_1C800.unk_0 = EWRAM_1C800.unk_1; - EWRAM_1C800.unk_1 = 0; + gPokedexCryScreenPtr2->unk_0 = gPokedexCryScreenPtr2->unk_1; + gPokedexCryScreenPtr2->unk_1 = 0; } } else { - if ((EWRAM_1C800.unk_0 -= EWRAM_1C800.unk_2) < EWRAM_1C800.unk_1) + if ((gPokedexCryScreenPtr2->unk_0 -= gPokedexCryScreenPtr2->unk_2) < gPokedexCryScreenPtr2->unk_1) { - EWRAM_1C800.unk_0 = EWRAM_1C800.unk_1; - EWRAM_1C800.unk_1 = 0; + gPokedexCryScreenPtr2->unk_0 = gPokedexCryScreenPtr2->unk_1; + gPokedexCryScreenPtr2->unk_1 = 0; } } sp04.xScale = 0x100; sp04.yScale = 0x100; - sp04.rotation = EWRAM_1C800.unk_0 * 256; + sp04.rotation = gPokedexCryScreenPtr2->unk_0 * 256; ObjAffineSet(&sp04, &sp0c, 1, 2); SetOamMatrix(0, sp0c.a, sp0c.b, sp0c.c, sp0c.d); - x = gSineTable[((EWRAM_1C800.unk_0 + 0x7F) & 0xFF)]; - y = gSineTable[((EWRAM_1C800.unk_0 + 0x7F) & 0xFF) + 0x40]; + x = gSineTable[((gPokedexCryScreenPtr2->unk_0 + 0x7F) & 0xFF)]; + y = gSineTable[((gPokedexCryScreenPtr2->unk_0 + 0x7F) & 0xFF) + 0x40]; sprite->pos2.x = x * 24 / 256; sprite->pos2.y = y * 24 / 256; } @@ -820,6 +877,6 @@ void sub_811A6D8(s8 a0) u16 r2 = (0x20 - a0) & 0xff; if (r2 > 0x20 && r2 < 0xe0) r2 = 0xe0; - EWRAM_1C800.unk_1 = r2; - EWRAM_1C800.unk_2 = 5; + gPokedexCryScreenPtr2->unk_1 = r2; + gPokedexCryScreenPtr2->unk_2 = 5; } -- cgit v1.2.3 From 30b7a6fb95d8c364d6c7aaacf2fbf49bff0061cb Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 29 Apr 2018 10:53:04 -0400 Subject: Remove useless struct and deprecated definition --- src/pokedex_cry_screen.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 6d2b09a4b..8877a0bce 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -11,10 +11,6 @@ extern struct SoundInfo gSoundInfo; extern struct MusicPlayerInfo gMPlay_BGM; -struct Unk2000000 { - u8 unk0000[7 * 32 * 32]; -}; - struct Unk201C800 { s8 unk_0; s8 unk_1; @@ -35,8 +31,6 @@ struct PokedexCryScreen_201C000 u8 unk001B; }; -#define ePokedexCryScreenGfx (*(struct Unk2000000 *)gSharedMem) - void sub_811A0A0(u16 species); void sub_811A0C0(void); void sub_811A124(void); @@ -151,7 +145,7 @@ u8 sub_8119E3C(struct CryRelatedStruct *cry, u8 arg1) { for (j = 0; j < 32; j++) { - DmaCopy16(3, gUnknown_083FB718, ePokedexCryScreenGfx.unk0000[32 * i + j], 32); + DmaCopy16(3, gUnknown_083FB718, gSharedMem[32 * i + j], 32); } } gUnknown_03005E98++; @@ -504,7 +498,7 @@ void sub_811A15C(u8 a0) r3 = (gPokedexCryScreenPtr->unk0011 / 8 + gPokedexCryScreenPtr->unk0016 + 1) % 32; for (i = 0; i < 7; i++) { - DmaCopy16(3, gUnknown_083FB718, &ePokedexCryScreenGfx.unk0000[32 * (32 * i + r3)], 32); + DmaCopy16(3, gUnknown_083FB718, &gSharedMem[32 * (32 * i + r3)], 32); } } @@ -525,8 +519,8 @@ void sub_811A1C8(u8 a0, u8 a1) { do { - ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; - ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; + gSharedMem[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; + gSharedMem[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; i--; } while (i > gPokedexCryScreenPtr->unk0012); } @@ -534,8 +528,8 @@ void sub_811A1C8(u8 a0, u8 a1) { do { - ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; - ePokedexCryScreenGfx.unk0000[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; + gSharedMem[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] &= gUnknown_083FB738[r7]; + gSharedMem[(u16)(r8 * 32 + gUnknown_083FB274[a0 % 8][i])] |= gUnknown_083FB73A[r7][((i / 3) - 1) & 0x0F]; i++; } while (i < gPokedexCryScreenPtr->unk0012); } @@ -712,7 +706,7 @@ NAKED void sub_811A1C8(u8 a0, u8 a1) void sub_811A324(void) { - DmaCopy16(3, ePokedexCryScreenGfx.unk0000, VRAM + gPokedexCryScreenPtr->unk0014, 0x1c00); + DmaCopy16(3, gSharedMem, VRAM + gPokedexCryScreenPtr->unk0014, 0x1c00); } void sub_811A350(u8 a0, u16 a1, u8 a2) -- cgit v1.2.3 From 302e910d9be86ce1f276924841a85f8799ac3d48 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 29 Apr 2018 15:46:51 -0400 Subject: Fix building on German --- src/pokedex_cry_screen.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index 8877a0bce..ee3c8a0f8 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -52,6 +52,10 @@ const u8 CryMeterNeedleTiles[] = INCBIN_U8("graphics/pokedex/cry_meter_needle.4b const u16 gUnknown_083FAE7C[] = INCBIN_U16("graphics/pokedex/cry_meter_map.bin"); const u16 gUnknown_083FAF1C[] = INCBIN_U16("graphics/pokedex/cry_meter.gbapal"); const u8 gUnknown_083FAF3C[] = INCBIN_U8("graphics/pokedex/cry_meter.4bpp.lz"); +#else +extern const u16 gUnknown_083FAE7C[]; +extern const u16 gUnknown_083FAF1C[]; +extern const u8 gUnknown_083FAF3C[]; #endif // ENGLISH const u16 gUnknown_083FB274[][72] = { -- cgit v1.2.3 From c88cf196af0f099f4daa7cbc06b9b0df9a31c60c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 29 Apr 2018 12:52:21 -0700 Subject: Move another chunk of battle anim .rodata --- src/battle/anim/alert.c | 31 +++ src/battle/anim/angel.c | 24 +++ src/battle/anim/angel_kiss.c | 50 ++--- src/battle/anim/anger.c | 25 +++ src/battle/anim/aurora.c | 42 ++++ src/battle/anim/blow_kiss.c | 14 +- src/battle/anim/breath.c | 37 ++++ src/battle/anim/bubble.c | 37 ++++ src/battle/anim/bullet.c | 27 ++- src/battle/anim/cyclone.c | 25 +++ src/battle/anim/devil.c | 31 +++ src/battle/anim/draw.c | 16 +- src/battle/anim/drum.c | 32 --- src/battle/anim/egg.c | 130 ++---------- src/battle/anim/espeed.c | 58 +++++- src/battle/anim/finger.c | 256 +++++++++++++++++++++++ src/battle/anim/flying_hearts.c | 14 +- src/battle/anim/glow.c | 55 ----- src/battle/anim/grip.c | 36 +++- src/battle/anim/grow.c | 14 +- src/battle/anim/guard.c | 31 +++ src/battle/anim/guillotine.c | 40 +++- src/battle/anim/heal_bell.c | 132 ++++++++++++ src/battle/anim/heart_1.c | 13 ++ src/battle/anim/hidden_power_orbit.c | 120 +++++++++++ src/battle/anim/kiss_fountain.c | 13 ++ src/battle/anim/money.c | 48 ++++- src/battle/anim/musical.c | 393 +++++++++++++++++++++++++++++++++++ src/battle/anim/noise.c | 12 ++ src/battle/anim/note_rain.c | 25 --- src/battle/anim/note_scatter.c | 54 ----- src/battle/anim/note_scatter_2.c | 57 ----- src/battle/anim/note_spin.c | 51 +++++ src/battle/anim/note_wave.c | 143 ------------- src/battle/anim/orbit_fast.c | 63 ------ src/battle/anim/orbit_scatter.c | 31 --- src/battle/anim/perceive.c | 30 ++- src/battle/anim/rain.c | 37 +++- src/battle/anim/ring.c | 292 ++++++++++++++++++++++++++ src/battle/anim/smoke.c | 22 -- src/battle/anim/sonic.c | 237 +++++++++++++++++++++ src/battle/anim/sonic_task.c | 152 -------------- src/battle/anim/spin_finger.c | 73 ------- src/battle/anim/spit.c | 27 ++- src/battle/anim/splash.c | 14 +- src/battle/anim/startle.c | 13 +- src/battle/anim/struggle.c | 36 ++++ src/battle/anim/swipe.c | 37 ++++ src/battle/anim/sword.c | 27 ++- src/battle/anim/taunt_finger.c | 56 ----- src/battle/anim/thought.c | 58 +++++- src/battle/anim/thrashing.c | 18 +- src/battle/anim/unused_5.c | 13 ++ src/battle/anim/unused_6.c | 26 ++- src/battle/anim/unused_7.c | 15 +- src/battle/anim/unused_8.c | 54 ++++- src/battle/anim/unused_9.c | 18 +- src/battle/anim/uproar.c | 14 +- src/battle/anim/wave_finger.c | 39 ---- 59 files changed, 2479 insertions(+), 1009 deletions(-) delete mode 100644 src/battle/anim/drum.c mode change 100644 => 100755 src/battle/anim/egg.c create mode 100644 src/battle/anim/finger.c delete mode 100644 src/battle/anim/glow.c create mode 100644 src/battle/anim/heal_bell.c create mode 100644 src/battle/anim/hidden_power_orbit.c create mode 100644 src/battle/anim/musical.c delete mode 100644 src/battle/anim/note_scatter.c delete mode 100644 src/battle/anim/note_scatter_2.c delete mode 100644 src/battle/anim/note_wave.c delete mode 100644 src/battle/anim/orbit_fast.c delete mode 100644 src/battle/anim/orbit_scatter.c delete mode 100644 src/battle/anim/smoke.c delete mode 100644 src/battle/anim/sonic_task.c delete mode 100644 src/battle/anim/spin_finger.c delete mode 100644 src/battle/anim/taunt_finger.c delete mode 100644 src/battle/anim/wave_finger.c (limited to 'src') diff --git a/src/battle/anim/alert.c b/src/battle/anim/alert.c index 72f8ec947..04ae15a5e 100644 --- a/src/battle/anim/alert.c +++ b/src/battle/anim/alert.c @@ -8,9 +8,40 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CF610(struct Sprite* sprite); + // alert (red thunder from the sides of a Pokemon, simulating more alert behavior.) // Used in Kinesis. +const union AnimCmd gSpriteAnim_83D7428[] = +{ + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_FRAME(8, 3, .hFlip = TRUE), + ANIMCMD_FRAME(16, 3, .hFlip = TRUE), + ANIMCMD_FRAME(24, 3, .hFlip = TRUE), + ANIMCMD_FRAME(32, 3, .hFlip = TRUE), + ANIMCMD_FRAME(40, 3, .hFlip = TRUE), + ANIMCMD_FRAME(48, 3, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D744C[] = +{ + gSpriteAnim_83D7428, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7450 = +{ + .tileTag = 10075, + .paletteTag = 10075, + .oam = &gOamData_837DF54, + .anims = gSpriteAnimTable_83D744C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CF610, +}; + void sub_80CF610(struct Sprite* sprite) { sub_8078650(sprite); diff --git a/src/battle/anim/angel.c b/src/battle/anim/angel.c index 5ec083887..be5b82ea1 100644 --- a/src/battle/anim/angel.c +++ b/src/battle/anim/angel.c @@ -8,9 +8,33 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D2938(struct Sprite* sprite); + // angel (a little angel descends from somewhere towards a position) // Used in Sweet Kiss. +const union AnimCmd gSpriteAnim_83D7BAC[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7BB4[] = +{ + gSpriteAnim_83D7BAC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7BB8 = +{ + .tileTag = 10220, + .paletteTag = 10220, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7BB4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2938, +}; + void sub_80D2938(struct Sprite* sprite) { s16 r5; diff --git a/src/battle/anim/angel_kiss.c b/src/battle/anim/angel_kiss.c index d5be6e2af..64abff6cf 100644 --- a/src/battle/anim/angel_kiss.c +++ b/src/battle/anim/angel_kiss.c @@ -9,10 +9,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D2A38(struct Sprite* sprite); + // angel_kiss (a different variation of kiss_fountain.) // Used in Sweet Kiss. -void sub_80D29CC(struct Sprite* sprite) +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7BD0 = +{ + .tileTag = 10219, + .paletteTag = 10219, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2A38, +}; + +static void sub_80D29CC(struct Sprite* sprite) { sprite->data[5]++; sprite->pos2.x = Sin(sprite->data[3], 5); @@ -50,38 +63,3 @@ void sub_80D2A38(struct Sprite* sprite) } } } - -// this is for the next file, but i didnt feel like deleting it from the original 80C file. -/* void sub_80D2ABC(struct Sprite* sprite) -{ - int var; - s16 var2; - int var3; - if (sprite->data[3] == 0) - { - sprite->pos1.x += gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; - StartSpriteAnim(sprite, 0); - sprite->subpriority = sub_8079E90(gAnimBankTarget) - 1; - sprite->data[2] = 1; - } - - sprite->data[0] += sprite->data[2]; - var = sprite->data[0] * 4; - if (var < 0) - var += 0xFF; - - sprite->data[1] = (sprite->data[0] * 4) -(((var) >> 8) << 8); - if (sprite->data[1] < 0) - sprite->data[1] = 0; - - var3 = sprite->data[1]; - var2 = sprite->data[0]; - var2 /= 4; - sprite->pos2.x = Cos(var3, 30 - var2); - var3 = sprite->data[1]; - var2 = sprite->data[0] / 8; - sprite->pos2.x = Sin(var3, 10 - var2); - if (sprite->data[1] > 0x80 && sprite->data[2] > 0) - sprite->data[2] = 0xFFFF; -} */ diff --git a/src/battle/anim/anger.c b/src/battle/anim/anger.c index 4ea56636b..a50404ddf 100644 --- a/src/battle/anim/anger.c +++ b/src/battle/anim/anger.c @@ -8,9 +8,34 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D09C0(struct Sprite* sprite); + // anger (anger emotes, usually above the Pokemon's head, indicating annoyed emotions.) // Used in Frustration, Rage, Swagger, Torment, and Taunt. +const union AffineAnimCmd gSpriteAffineAnim_83D777C[] = +{ + AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF5, 0xFFF5, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7794[] = +{ + gSpriteAffineAnim_83D777C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7798 = +{ + .tileTag = 10087, + .paletteTag = 10087, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7794, + .callback = sub_80D09C0, +}; + void sub_80D09C0(struct Sprite* sprite) { u8 bank; diff --git a/src/battle/anim/aurora.c b/src/battle/anim/aurora.c index de145d6a4..5aff17f48 100644 --- a/src/battle/anim/aurora.c +++ b/src/battle/anim/aurora.c @@ -9,9 +9,51 @@ extern s16 gBattleAnimArgs[8]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D33B4(struct Sprite *sprite); static void sub_80D344C(struct Sprite *); static void sub_80D34D4(u8); +const union AnimCmd gSpriteAnim_83D9190[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9198[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D91A0[] = +{ + gSpriteAnim_83D9190, + gSpriteAnim_83D9198, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D91A8[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x60, 0x60, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D91C0[] = +{ + gSpriteAffineAnim_83D91A8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D91C4 = +{ + .tileTag = 10140, + .paletteTag = 10140, + .oam = &gOamData_837E024, + .anims = gSpriteAnimTable_83D91A0, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D91C0, + .callback = sub_80D33B4, +}; + void sub_80D33B4(struct Sprite *sprite) { s16 r6; diff --git a/src/battle/anim/blow_kiss.c b/src/battle/anim/blow_kiss.c index 6d762bc7f..0235794c2 100644 --- a/src/battle/anim/blow_kiss.c +++ b/src/battle/anim/blow_kiss.c @@ -8,11 +8,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D1F58(struct Sprite* sprite); static void sub_80D1FA4(struct Sprite* sprite); // blow_kiss (a heart floating across the screen.) // Used in Attract. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7AB0 = +{ + .tileTag = 10216, + .paletteTag = 10216, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D1F58, +}; + void sub_80D1F58(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); @@ -25,7 +37,7 @@ void sub_80D1F58(struct Sprite* sprite) sprite->callback = sub_80D1FA4; } -void sub_80D1FA4(struct Sprite* sprite) +static void sub_80D1FA4(struct Sprite* sprite) { if (TranslateAnimSpriteByDeltas(sprite) == 0) { diff --git a/src/battle/anim/breath.c b/src/battle/anim/breath.c index 58b5066c0..87c737fac 100644 --- a/src/battle/anim/breath.c +++ b/src/battle/anim/breath.c @@ -8,9 +8,46 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D0930(struct Sprite* sprite); + // breath (a puff of smoke, usually from the mouth or nose of the Pokemon.) // Used in Swagger and Bulk Up. +const union AnimCmd gSpriteAnim_83D7734[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(4, 40, .hFlip = TRUE), + ANIMCMD_FRAME(8, 4, .hFlip = TRUE), + ANIMCMD_FRAME(12, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7748[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 40), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D775C[] = +{ + gSpriteAnim_83D7734, + gSpriteAnim_83D7748, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7764 = +{ + .tileTag = 10086, + .paletteTag = 10086, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D775C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D0930, +}; + void sub_80D0930(struct Sprite* sprite) { if (GetBattlerSide(gAnimBankAttacker) == 0) diff --git a/src/battle/anim/bubble.c b/src/battle/anim/bubble.c index 27791eedf..e024091d7 100644 --- a/src/battle/anim/bubble.c +++ b/src/battle/anim/bubble.c @@ -8,6 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D31C8(struct Sprite* sprite); static void sub_80D32E8(struct Sprite *sprite); static void sub_80D3370(struct Sprite *sprite); static void sub_80D3398(struct Sprite *sprite); @@ -15,6 +16,42 @@ static void sub_80D3398(struct Sprite *sprite); // bubble (indidivual bubble that floats around) // Used in Bubble and Bubblebeam +const union AffineAnimCmd gSpriteAffineAnim_83D9148[] = +{ + AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 10), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9160[] = +{ + gSpriteAffineAnim_83D9148, +}; + +const union AnimCmd gSpriteAnim_83D9164[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9174[] = +{ + gSpriteAnim_83D9164, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9178 = +{ + .tileTag = 10146, + .paletteTag = 10146, + .oam = &gOamData_837E0AC, + .anims = gSpriteAnimTable_83D9174, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9160, + .callback = sub_80D31C8, +}; + void sub_80D31C8(struct Sprite* sprite) { u8 newSpriteId; diff --git a/src/battle/anim/bullet.c b/src/battle/anim/bullet.c index 035adf394..764903247 100644 --- a/src/battle/anim/bullet.c +++ b/src/battle/anim/bullet.c @@ -9,12 +9,35 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CFFD8(struct Sprite* sprite); static void sub_80D0030(struct Sprite* sprite); static void sub_80D00B4(struct Sprite* sprite); // bullet (shoot seeds as ammunition.) // Used by Bullet Seed. +const union AffineAnimCmd gSpriteAffineAnim_83D7614[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7624[] = +{ + gSpriteAffineAnim_83D7614, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7628 = +{ + .tileTag = 10006, + .paletteTag = 10006, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7624, + .callback = sub_80CFFD8, +}; + void sub_80CFFD8(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); @@ -26,7 +49,7 @@ void sub_80CFFD8(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80D0030); } -void sub_80D0030(struct Sprite* sprite) +static void sub_80D0030(struct Sprite* sprite) { int i; u16 rand; @@ -50,7 +73,7 @@ void sub_80D0030(struct Sprite* sprite) sprite->affineAnimPaused = 0; } -void sub_80D00B4(struct Sprite* sprite) +static void sub_80D00B4(struct Sprite* sprite) { sprite->data[0] += sprite->data[7]; sprite->pos2.x = sprite->data[0] >> 8; diff --git a/src/battle/anim/cyclone.c b/src/battle/anim/cyclone.c index 9bfa95e92..8b868a436 100644 --- a/src/battle/anim/cyclone.c +++ b/src/battle/anim/cyclone.c @@ -8,9 +8,34 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D0118(struct Sprite* sprite); + // cyclone (creates a circling motion like a cyclone, usually a wind sprite.) // Used in Razor Wind. +const union AffineAnimCmd gSpriteAffineAnim_83D7640[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x0, 0, 40), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7658[] = +{ + gSpriteAffineAnim_83D7640, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D765C = +{ + .tileTag = 10009, + .paletteTag = 10009, + .oam = &gOamData_837DFDC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7658, + .callback = sub_80D0118, +}; + void sub_80D0118(struct Sprite* sprite) { InitAnimSpritePos(sprite, 0); diff --git a/src/battle/anim/devil.c b/src/battle/anim/devil.c index c628abfc0..8183be2ba 100644 --- a/src/battle/anim/devil.c +++ b/src/battle/anim/devil.c @@ -7,6 +7,37 @@ extern s16 gBattleAnimArgs[8]; extern u8 gAnimBankTarget; +void sub_80D2ABC(struct Sprite *sprite); + +const union AnimCmd gSpriteAnim_83D7BE8[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gSpriteAnim_83D7BF0[] = +{ + ANIMCMD_FRAME(16, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D7BF8[] = +{ + gSpriteAnim_83D7BE8, + gSpriteAnim_83D7BF0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7C00 = +{ + .tileTag = 10221, + .paletteTag = 10221, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7BF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2ABC, +}; + void sub_80D2ABC(struct Sprite *sprite) { if (sprite->data[3] == 0) diff --git a/src/battle/anim/draw.c b/src/battle/anim/draw.c index 9eea43220..08b09337f 100644 --- a/src/battle/anim/draw.c +++ b/src/battle/anim/draw.c @@ -12,12 +12,24 @@ extern u8 gAnimBankTarget; extern u16 gBattle_BG2_X; extern u16 gBattle_BG1_X; +void sub_80D0E30(struct Sprite* sprite); static void sub_80D0D68(u8 taskId); static void sub_80D0E8C(struct Sprite* sprite); // draw (draws the Pokemon into the world using a pencil.) // Used in Sketch. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D77E0 = +{ + .tileTag = 10002, + .paletteTag = 10002, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D0E30, +}; + void sub_80D0C88(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -59,7 +71,7 @@ void sub_80D0C88(u8 taskId) task->func = sub_80D0D68; } -void sub_80D0D68(u8 taskId) +static void sub_80D0D68(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -120,7 +132,7 @@ void sub_80D0E30(struct Sprite* sprite) sprite->callback = sub_80D0E8C; } -void sub_80D0E8C(struct Sprite* sprite) +static void sub_80D0E8C(struct Sprite* sprite) { switch (sprite->data[0]) { diff --git a/src/battle/anim/drum.c b/src/battle/anim/drum.c deleted file mode 100644 index 8dea7e608..000000000 --- a/src/battle/anim/drum.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -// drum (using hands to slap the Pokemon's belly in a rhythm.) -// Used in Belly Drum. - -void sub_80CEDF0(struct Sprite* sprite) -{ - s16 a; - if (gBattleAnimArgs[0] == 1) - { - sprite->oam.matrixNum = 8; - a = 16; - } - else - { - a = -16; - } - - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + a; - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + 8; - sprite->data[0] = 8; - sprite->callback = WaitAnimForDuration; - StoreSpriteCallbackInData(sprite, DestroyAnimSprite); -} diff --git a/src/battle/anim/egg.c b/src/battle/anim/egg.c old mode 100644 new mode 100755 index 44ff484f2..5b6d56dac --- a/src/battle/anim/egg.c +++ b/src/battle/anim/egg.c @@ -2,121 +2,15 @@ #include "rom_8077ABC.h" #include "trig.h" #include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -static void sub_80D13AC(struct Sprite* sprite); -static void sub_80D1424(struct Sprite* sprite); -static void sub_80D144C(struct Sprite* sprite); -static void sub_80D14C4(struct Sprite* sprite); -static void sub_80D1504(struct Sprite* sprite); -static void sub_80D154C(struct Sprite* sprite); -static void sub_80D158C(struct Sprite* sprite); - -// egg (a hatching egg) -// Used in Softboiled. - -void sub_80D1368(struct Sprite* sprite) -{ - s16 r1; - InitAnimSpritePos(sprite, 0); - r1 = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; - sprite->data[0] = 0x380; - sprite->data[1] = r1; - sprite->data[7] = gBattleAnimArgs[2]; - sprite->callback = sub_80D13AC; -} - -void sub_80D13AC(struct Sprite* sprite) -{ - s16 add; - sprite->pos2.y -= (sprite->data[0] >> 8); - sprite->pos2.x = sprite->data[1] >> 8; - sprite->data[0] -= 32; - add = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; - sprite->data[1] += add; - if (sprite->pos2.y > 0) - { - sprite->pos1.y += sprite->pos2.y; - sprite->pos1.x += sprite->pos2.x; - sprite->pos2.y = 0; - sprite->pos2.x = 0; - sprite->data[0] = 0; - StartSpriteAffineAnim(sprite, 1); - sprite->callback = sub_80D1424; - } -} - -void sub_80D1424(struct Sprite* sprite) -{ - if (sprite->data[0]++ > 19) - { - StartSpriteAffineAnim(sprite, 2); - sprite->callback = sub_80D144C; - } -} - -void sub_80D144C(struct Sprite* sprite) -{ - if (sprite->affineAnimEnded) - { - StartSpriteAffineAnim(sprite, 1); - sprite->data[0] = 0; - if (sprite->data[7] == 0) - { - sprite->oam.tileNum += 16; - sprite->callback = sub_80D14C4; - } - else - { - sprite->oam.tileNum += 32; - sprite->callback = sub_80D154C; - } - } -} - -void sub_80D14C4(struct Sprite* sprite) -{ - sprite->pos2.y -= 2; - if (++sprite->data[0] == 9) - { - sprite->data[0] = 16; - sprite->data[1] = 0; - REG_BLDCNT = 0x3F40; - REG_BLDALPHA = sprite->data[0]; - sprite->callback = sub_80D1504; - } -} - -void sub_80D1504(struct Sprite* sprite) -{ - if (sprite->data[1]++ % 3 == 0) - { - sprite->data[0]--; - REG_BLDALPHA = sprite->data[0] | ((16 - sprite->data[0]) << 8); - if (sprite->data[0] == 0) - sprite->callback = sub_80D154C; - } -} - -void sub_80D154C(struct Sprite* sprite) -{ - if ((u16)gBattleAnimArgs[7] == 0xFFFF) - { - sprite->invisible = 1; - if (sprite->data[7] == 0) - sprite->callback = sub_80D158C; - else - sprite->callback = DestroyAnimSprite; - } -} - -void sub_80D158C(struct Sprite* sprite) -{ - REG_BLDCNT = 0; - REG_BLDALPHA = 0; - DestroyAnimSprite(sprite); -} +#include "random.h" + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7594 = +{ + .tileTag = 10175, + .paletteTag = 10175, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80794A8, +}; diff --git a/src/battle/anim/espeed.c b/src/battle/anim/espeed.c index 2e80afff7..a4f11c823 100644 --- a/src/battle/anim/espeed.c +++ b/src/battle/anim/espeed.c @@ -8,11 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern s8 gUnknown_083D7A00[4][2]; - -extern struct AffineAnimFrameCmd gUnknown_083D79BC; -extern struct SpriteTemplate gSpriteTemplate_83D79E8; - +void sub_80D1A70(struct Sprite* sprite); static void sub_80D15E0(u8 taskId); static void sub_80D16A0(u8 taskId); static void sub_80D1808(u8 taskId); @@ -21,13 +17,53 @@ static void sub_80D1930(u8 taskId); // espeed (the Pokemon's width decreases as the sprite becomes vertically compressed) // Used in Extremespeed. +const union AffineAnimCmd gSpriteAffineAnim_83D79BC[] = +{ + AFFINEANIMCMD_FRAME(96, -13, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D79CC[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(4, 3), + ANIMCMD_FRAME(8, 3), + ANIMCMD_FRAME(4, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D79E4[] = +{ + gSpriteAnim_83D79CC, +}; + +const struct SpriteTemplate gSpriteTemplate_83D79E8 = +{ + .tileTag = 10207, + .paletteTag = 10207, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D79E4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D1A70, +}; + +const s8 gUnknown_083D7A00[][2] = +{ + {30, 28}, + {-20, 24}, + {16, 26}, + {-10, 28}, +}; + // apply espeed void sub_80D15A4(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; - sub_80798F4(task, spriteId, &gUnknown_083D79BC); + sub_80798F4(task, spriteId, &gSpriteAffineAnim_83D79BC); task->func = sub_80D15E0; } @@ -239,3 +275,13 @@ void sub_80D1930(u8 taskId) break; } } + +void sub_80D1A70(struct Sprite* sprite) +{ + sprite->invisible = gTasks[sprite->data[0]].data[5]; + if (sprite->animEnded) + { + gTasks[sprite->data[0]].data[sprite->data[1]]--; + DestroySprite(sprite); + } +} diff --git a/src/battle/anim/finger.c b/src/battle/anim/finger.c new file mode 100644 index 000000000..66ca4ca06 --- /dev/null +++ b/src/battle/anim/finger.c @@ -0,0 +1,256 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "battle_anim.h" +#include "sound.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +extern void sub_80CEF44(u8 bank, struct Sprite* sprite); + +void sub_80CF040(struct Sprite* sprite); +void sub_80CF0BC(struct Sprite* sprite); +void sub_80CF1C8(struct Sprite* sprite); +static void sub_80CF088(struct Sprite* sprite); +static void sub_80CF138(struct Sprite* sprite); +static void sub_80CF158(struct Sprite* sprite); +static void sub_80CF228(struct Sprite* sprite); +static void sub_80CF264(struct Sprite* sprite); + +// wave_finger +// Used by Metronome, Follow Me, and Taunt. + +const union AffineAnimCmd gSpriteAffineAnim_83D7238[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7250[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 11), + AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 11), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7278[] = +{ + AFFINEANIMCMD_FRAME(16, 16, 0, 0), + AFFINEANIMCMD_FRAME(30, 30, 0, 8), + AFFINEANIMCMD_FRAME(0, 0, 0, 16), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0, 0, 4, 11), + AFFINEANIMCMD_FRAME(0, 0, -4, 11), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_FRAME(-30, -30, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D72C0[] = +{ + gSpriteAffineAnim_83D7238, + gSpriteAffineAnim_83D7250, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D72C8 = +{ + .tileTag = 10064, + .paletteTag = 10064, + .oam = &gOamData_837DFF4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D72C0, + .callback = sub_80CF040, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D72E0 = +{ + .tileTag = 10064, + .paletteTag = 10064, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D72C0, + .callback = sub_80CF0BC, +}; + +const union AnimCmd gSpriteAnim_83D72F8[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7300[] = +{ + ANIMCMD_FRAME(0, 1, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7308[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7328[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7348[] = +{ + gSpriteAnim_83D72F8, + gSpriteAnim_83D7300, + gSpriteAnim_83D7308, + gSpriteAnim_83D7328, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7358 = +{ + .tileTag = 10214, + .paletteTag = 10214, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7348, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CF1C8, +}; + +void sub_80CF040(struct Sprite* sprite) +{ + u8 bank; + if (gBattleAnimArgs[0] == 0) + bank = gAnimBankAttacker; + else + bank = gAnimBankTarget; + + sub_80CEF44(bank, sprite); + sprite->data[0] = 0; + StoreSpriteCallbackInData(sprite, sub_80CF088); + sprite->callback = sub_80785E4; +} + +static void sub_80CF088(struct Sprite* sprite) +{ + if (++sprite->data[0] > 16) + { + StartSpriteAffineAnim(sprite, 1); + StoreSpriteCallbackInData(sprite, move_anim_8074EE0); + sprite->callback = sub_80785E4; + } +} + +void sub_80CF0BC(struct Sprite* sprite) +{ + u8 bank; + if (gBattleAnimArgs[0] == 0) + bank = gAnimBankAttacker; + else + bank = gAnimBankTarget; + + sprite->pos1.x = GetBattlerSpriteCoord(bank, 0); + sprite->pos1.y = sub_807A100(bank, 2); + if (sprite->pos1.y <= 9) + sprite->pos1.y = 10; + + sprite->data[0] = 1; + sprite->data[1] = 0; + sprite->data[2] = sprite->subpriority; + sprite->data[3] = sprite->subpriority + 4; + sprite->data[4] = 0; + StoreSpriteCallbackInData(sprite, sub_80CF138); + sprite->callback = sub_80785E4; +} + +static void sub_80CF138(struct Sprite* sprite) +{ + if (++sprite->data[4] > 12) + sprite->callback = sub_80CF158; +} + +static void sub_80CF158(struct Sprite* sprite) +{ + s16 temp; + s16 temp2; + sprite->data[1] += 4; + if (sprite->data[1] > 0xFE) + { + if (--sprite->data[0] == 0) + { + sprite->pos2.x = 0; + sprite->callback = sub_80CF088; + return; + } + else + { + sprite->data[1] &= 0xFF; + } + } + + if (sprite->data[1] > 0x4F) + sprite->subpriority = sprite->data[3]; + + if (sprite->data[1] > 0x9F) + sprite->subpriority = sprite->data[2]; + + temp = gSineTable[sprite->data[1]]; + sprite->pos2.x = (temp2 = temp >> 3) + (temp2 >> 1); +} + +void sub_80CF1C8(struct Sprite* sprite) +{ + u8 bank; + if (gBattleAnimArgs[0] == 0) + bank = gAnimBankAttacker; + else + bank = gAnimBankTarget; + + sub_80CEF44(bank, sprite); + if (GetBattlerSide(bank) == 0) + { + StartSpriteAnim(sprite, 0); + sprite->data[0] = 2; + } + else + { + StartSpriteAnim(sprite, 1); + sprite->data[0] = 3; + } + + sprite->callback = sub_80CF228; +} + +static void sub_80CF228(struct Sprite* sprite) +{ + if (++sprite->data[1] > 10) + { + sprite->data[1] = 0; + StartSpriteAnim(sprite, sprite->data[0]); + StoreSpriteCallbackInData(sprite, sub_80CF264); + sprite->callback = sub_8078600; + } +} + +static void sub_80CF264(struct Sprite* sprite) +{ + if (++sprite->data[1] > 5) + DestroyAnimSprite(sprite); +} diff --git a/src/battle/anim/flying_hearts.c b/src/battle/anim/flying_hearts.c index f20416535..2bba6c4cb 100644 --- a/src/battle/anim/flying_hearts.c +++ b/src/battle/anim/flying_hearts.c @@ -8,11 +8,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D2064(struct Sprite* sprite); static void sub_80D2094(struct Sprite* sprite); // flying_hearts (hearts float upward from the bottom of the screen.) // Used in Attract. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7AE0 = +{ + .tileTag = 10216, + .paletteTag = 10216, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2064, +}; + void sub_80D2064(struct Sprite* sprite) { sprite->pos1.x = gBattleAnimArgs[0]; @@ -23,7 +35,7 @@ void sub_80D2064(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80D2094); } -void sub_80D2094(struct Sprite* sprite) +static void sub_80D2094(struct Sprite* sprite) { s16 y; sprite->data[2] += sprite->data[1]; diff --git a/src/battle/anim/glow.c b/src/battle/anim/glow.c deleted file mode 100644 index 174655080..000000000 --- a/src/battle/anim/glow.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" -#include "ewram.h" -#include "palette.h" -#include "decompress.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u16 gUnknown_083D7A5C[5]; - -extern const u8 gBattleAnimSpritePalette_206[]; - -// glow (a whitening effect where the Pokemon glows white in a cycle.) -// Used in Heal Bell. - -void sub_80D1ADC(u8 taskId) -{ - int i; - u8 sp[8]; - void* src; - void* dest; - void* what; - sp[0] = IndexOfSpritePaletteTag(0x27DE); - for (i = 1; i <= 4; i++) - { - sp[i] = AllocSpritePalette(0x2710 - i); - } - - src = &gBattleAnimSpritePalette_206; - dest = (IsContest()) ? gSharedMem + 0x18000 - 0x3800: gSharedMem + 0x18000; - LZDecompressWram(src, dest); - for (i = 0; i <= 4; i++) - { - what = ((IsContest()) ? gSharedMem + 0x14800 : gSharedMem + 0x18000) + (i << 5); - LoadPalette(what, (u16)((sp[i] << 4) + 0x100), 32); - } - - DestroyAnimVisualTask(taskId); -} - -void sub_80D1B80(u8 taskId) -{ - int i; - for (i = 0; i < 5; i++) - { - FreeSpritePaletteByTag(gUnknown_083D7A5C[i]); - } - - DestroyAnimVisualTask(taskId); -} diff --git a/src/battle/anim/grip.c b/src/battle/anim/grip.c index a56a02d82..1ec779c09 100644 --- a/src/battle/anim/grip.c +++ b/src/battle/anim/grip.c @@ -8,11 +8,45 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D0178(struct Sprite* sprite); static void sub_80D020C(struct Sprite* sprite); // grip (does a slash which is capable of mirroring for the effect of "gripping".) // Used in Vice Grip. +const union AnimCmd gSpriteAnim_83D7674[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 20), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7684[] = +{ + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 20, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7694[] = +{ + gSpriteAnim_83D7674, + gSpriteAnim_83D7684, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D769C = +{ + .tileTag = 10138, + .paletteTag = 10138, + .oam = &gOamData_837E054, + .anims = gSpriteAnimTable_83D7694, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D0178, +}; + void sub_80D0178(struct Sprite* sprite) { s16 r7 = 32; @@ -37,7 +71,7 @@ void sub_80D0178(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80D020C); } -void sub_80D020C(struct Sprite* sprite) +static void sub_80D020C(struct Sprite* sprite) { if (sprite->animEnded == 1) DestroyAnimSprite(sprite); diff --git a/src/battle/anim/grow.c b/src/battle/anim/grow.c index 924629048..ad535ad7f 100644 --- a/src/battle/anim/grow.c +++ b/src/battle/anim/grow.c @@ -8,22 +8,28 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct AffineAnimFrameCmd gUnknown_083D7714; - static void sub_80D0904(u8 taskId); // grow (grows a Pokemon then shrinks back to normal size.) // Used in Swagger and Bulk Up. +const union AffineAnimCmd gSpriteAffineAnim_83D7714[] = +{ + AFFINEANIMCMD_FRAME(-4, -5, 0, 12), + AFFINEANIMCMD_FRAME(0, 0, 0, 24), + AFFINEANIMCMD_FRAME(4, 5, 0, 12), + AFFINEANIMCMD_END, +}; + void sub_80D08C8(u8 taskId) { struct Task* task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(0); - sub_80798F4(task, spriteId, &gUnknown_083D7714); + sub_80798F4(task, spriteId, &gSpriteAffineAnim_83D7714); task->func = sub_80D0904; } -void sub_80D0904(u8 taskId) +static void sub_80D0904(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!sub_807992C(task)) diff --git a/src/battle/anim/guard.c b/src/battle/anim/guard.c index d54fa4abc..341f74372 100644 --- a/src/battle/anim/guard.c +++ b/src/battle/anim/guard.c @@ -8,9 +8,40 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern u16 gBattleTypeFlags; +void sub_80D3014(struct Sprite *sprite); + // guard (moves guard rings upwards) // Used in Safeguard. +const union AffineAnimCmd gSpriteAffineAnim_83D7D4C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7D5C[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7D6C[] = +{ + gSpriteAffineAnim_83D7D4C, + gSpriteAffineAnim_83D7D5C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7D74 = +{ + .tileTag = 10244, + .paletteTag = 10244, + .oam = &gOamData_837E13C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7D6C, + .callback = sub_80D3014, +}; + void sub_80D3014(struct Sprite *sprite) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsAnimBankSpriteVisible(gAnimBankAttacker ^ 2)) diff --git a/src/battle/anim/guillotine.c b/src/battle/anim/guillotine.c index 0768e8334..eb1bc7733 100644 --- a/src/battle/anim/guillotine.c +++ b/src/battle/anim/guillotine.c @@ -8,6 +8,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D0228(struct Sprite* sprite); static void sub_80D02D0(struct Sprite* sprite); static void sub_80D0344(struct Sprite* sprite); static void sub_80D03A8(struct Sprite* sprite); @@ -15,6 +16,39 @@ static void sub_80D03A8(struct Sprite* sprite); // guillotine (does a reverse grip where the slices can reverse at a given period.) // Used in Guillotine. +const union AnimCmd gSpriteAnim_83D76B4[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D76C4[] = +{ + ANIMCMD_FRAME(0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(16, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 1, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D76D4[] = +{ + gSpriteAnim_83D76B4, + gSpriteAnim_83D76C4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D76DC = +{ + .tileTag = 10138, + .paletteTag = 10138, + .oam = &gOamData_837E054, + .anims = gSpriteAnimTable_83D76D4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D0228, +}; + void sub_80D0228(struct Sprite* sprite) { s16 r8 = 32; @@ -43,7 +77,7 @@ void sub_80D0228(struct Sprite* sprite) sprite->callback = sub_80D02D0; } -void sub_80D02D0(struct Sprite* sprite) +static void sub_80D02D0(struct Sprite* sprite) { if (TranslateAnimSpriteByDeltas(sprite) && sprite->animEnded == 1) { @@ -62,7 +96,7 @@ void sub_80D02D0(struct Sprite* sprite) } } -void sub_80D0344(struct Sprite* sprite) +static void sub_80D0344(struct Sprite* sprite) { if (sprite->data[3]) { @@ -83,7 +117,7 @@ void sub_80D0344(struct Sprite* sprite) } } -void sub_80D03A8(struct Sprite* sprite) +static void sub_80D03A8(struct Sprite* sprite) { if (TranslateAnimSpriteByDeltas(sprite) != 0) DestroyAnimSprite(sprite); diff --git a/src/battle/anim/heal_bell.c b/src/battle/anim/heal_bell.c new file mode 100644 index 000000000..09029c9ff --- /dev/null +++ b/src/battle/anim/heal_bell.c @@ -0,0 +1,132 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "battle_anim.h" +#include "sound.h" +#include "ewram.h" +#include "palette.h" +#include "decompress.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +extern const u8 gBattleAnimSpritePalette_206[]; + +void sub_80D1C08(struct Sprite* sprite); + +// Used in Heal Bell. + +const union AnimCmd gSpriteAnim_83D7A08[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 15), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6, .hFlip = TRUE), + ANIMCMD_FRAME(32, 15, .hFlip = TRUE), + ANIMCMD_FRAME(16, 6, .hFlip = TRUE), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 15), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7A40[] = +{ + gSpriteAnim_83D7A08, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7A44 = +{ + .tileTag = 10205, + .paletteTag = 10205, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7A40, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80793C4, +}; + +const u16 gUnknown_083D7A5C[] = +{ + 10206, + 9999, + 9998, + 9997, + 9996, + 0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7A68 = +{ + .tileTag = 10206, + .paletteTag = 10206, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D1C08, +}; + +void sub_80D1ADC(u8 taskId) +{ + int i; + u8 sp[8]; + void* src; + void* dest; + void* what; + sp[0] = IndexOfSpritePaletteTag(0x27DE); + for (i = 1; i <= 4; i++) + { + sp[i] = AllocSpritePalette(0x2710 - i); + } + + src = &gBattleAnimSpritePalette_206; + dest = (IsContest()) ? gSharedMem + 0x18000 - 0x3800: gSharedMem + 0x18000; + LZDecompressWram(src, dest); + for (i = 0; i <= 4; i++) + { + what = ((IsContest()) ? gSharedMem + 0x14800 : gSharedMem + 0x18000) + (i << 5); + LoadPalette(what, (u16)((sp[i] << 4) + 0x100), 32); + } + + DestroyAnimVisualTask(taskId); +} + +void sub_80D1B80(u8 taskId) +{ + int i; + for (i = 0; i < 5; i++) + { + FreeSpritePaletteByTag(gUnknown_083D7A5C[i]); + } + + DestroyAnimVisualTask(taskId); +} + +static void sub_80D1BA8(struct Sprite* sprite, u8 a, u8 b) +{ + u8 tile; + tile = (b & 1); + tile = ((-tile | tile) >> 31) & 32; + sprite->oam.tileNum += tile + (a << 2); + sprite->oam.paletteNum = IndexOfSpritePaletteTag(gUnknown_083D7A5C[b >> 1]); +} + +void sub_80D1C08(struct Sprite* sprite) +{ + InitAnimSpritePos(sprite, 0); + if (GetBattlerSide(gAnimBankAttacker) != 0) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; + sprite->callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + sub_80D1BA8(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); +} diff --git a/src/battle/anim/heart_1.c b/src/battle/anim/heart_1.c index 857169e62..5522d4551 100644 --- a/src/battle/anim/heart_1.c +++ b/src/battle/anim/heart_1.c @@ -8,9 +8,22 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D1C80(struct Sprite* sprite); + // heart_1 (a floating heart in a wave pattern upward.) // Used in Charm, Covet, and when a Pokemon is infatuated. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7A80 = +{ + .tileTag = 10210, + .paletteTag = 10210, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D1C80, +}; + void sub_80D1C80(struct Sprite* sprite) { if (++sprite->data[0] == 1) diff --git a/src/battle/anim/hidden_power_orbit.c b/src/battle/anim/hidden_power_orbit.c new file mode 100644 index 000000000..ed680b2bd --- /dev/null +++ b/src/battle/anim/hidden_power_orbit.c @@ -0,0 +1,120 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "battle_anim.h" +#include "sound.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +void AnimOrbitFast(struct Sprite* sprite); +void AnimOrbitScatter(struct Sprite* sprite); +static void AnimOrbitFastStep(struct Sprite* sprite); +static void AnimOrbitScatterStep(struct Sprite* sprite); + +const union AffineAnimCmd gSpriteAffineAnim_83D7AF8[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7B10[] = +{ + gSpriteAffineAnim_83D7AF8, +}; + +const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate = +{ + .tileTag = 10217, + .paletteTag = 10217, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7B10, + .callback = AnimOrbitFast, +}; + +const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate = +{ + .tileTag = 10217, + .paletteTag = 10217, + .oam = &gOamData_837DFEC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7B10, + .callback = AnimOrbitScatter, +}; + +// Orbits a sphere in an ellipse around the mon. +// Used by MOVE_HIDDEN_POWER +// arg 0: duration +// arg 1: initial wave offset +void AnimOrbitFast(struct Sprite* sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->affineAnimPaused = 1; + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[1] = gBattleAnimArgs[1]; + sprite->data[7] = sub_8079E90(gAnimBankAttacker); + sprite->callback = AnimOrbitFastStep; + sprite->callback(sprite); +} + +static void AnimOrbitFastStep(struct Sprite* sprite) +{ + if ((u16)(sprite->data[1] - 0x40) <= 0x7F) + sprite->subpriority = sprite->data[7] + 1; + else + sprite->subpriority = sprite->data[7] - 1; + + sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); + sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8); + sprite->data[1] = (sprite->data[1] + 9) & 0xFF; + switch (sprite->data[5]) + { + case 1: + sprite->data[2] -= 0x400; + sprite->data[3] -= 0x100; + if (++sprite->data[4] == sprite->data[0]) + { + sprite->data[5] = 2; + return; + } + break; + case 0: + sprite->data[2] += 0x400; + sprite->data[3] += 0x100; + if (++sprite->data[4] == sprite->data[0]) + { + sprite->data[4] = 0; + sprite->data[5] = 1; + } + break; + } + + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + DestroyAnimSprite(sprite); +} + +// Moves orbs away from the mon, based on where they are in their orbit. +// Used in MOVE_HIDDEN_POWER. +// arg 0: initial wave offset +void AnimOrbitScatter(struct Sprite* sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->data[0] = Sin(gBattleAnimArgs[0], 10); + sprite->data[1] = Cos(gBattleAnimArgs[0], 7); + sprite->callback = AnimOrbitScatterStep; +} + +static void AnimOrbitScatterStep(struct Sprite* sprite) +{ + sprite->pos2.x += sprite->data[0]; + sprite->pos2.y += sprite->data[1]; + if (sprite->pos1.x + sprite->pos2.x + 16 > 0x110u || sprite->pos1.y + sprite->pos2.y > 0xA0 || sprite->pos1.y + sprite->pos2.y < -16) + DestroyAnimSprite(sprite); +} diff --git a/src/battle/anim/kiss_fountain.c b/src/battle/anim/kiss_fountain.c index d3270ee65..8ab3fcded 100644 --- a/src/battle/anim/kiss_fountain.c +++ b/src/battle/anim/kiss_fountain.c @@ -8,9 +8,22 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D1FDC(struct Sprite* sprite); + // kiss_fountain (a series of hearts pour out of a target Pokemon.) // Used in Attract and Sweet Kiss. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7AC8 = +{ + .tileTag = 10216, + .paletteTag = 10216, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D1FDC, +}; + void sub_80D1FDC(struct Sprite* sprite) { if (sprite->data[0] == 0) diff --git a/src/battle/anim/money.c b/src/battle/anim/money.c index 1407e8cd7..3960b5e1a 100644 --- a/src/battle/anim/money.c +++ b/src/battle/anim/money.c @@ -8,11 +8,57 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CFE9C(struct Sprite* sprite); +void sub_80CFF50(struct Sprite* sprite); static void sub_80CFF68(struct Sprite* sprite); // money // Used by Pay Day. +const union AnimCmd gSpriteAnim_83D75C4[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D75CC[] = +{ + gSpriteAnim_83D75C4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D75D0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D75E0[] = +{ + gSpriteAffineAnim_83D75D0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D75E4 = +{ + .tileTag = 10100, + .paletteTag = 10100, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83D75CC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CFE9C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D75FC = +{ + .tileTag = 10100, + .paletteTag = 10100, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83D75CC, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D75E0, + .callback = sub_80CFF50, +}; + void sub_80CFE9C(struct Sprite* sprite) { s16 r6; @@ -43,7 +89,7 @@ void sub_80CFF50(struct Sprite* sprite) sprite->callback = sub_80CFF68; } -void sub_80CFF68(struct Sprite* sprite) +static void sub_80CFF68(struct Sprite* sprite) { sprite->data[0] += 0x80; sprite->pos2.x = sprite->data[0] >> 8; diff --git a/src/battle/anim/musical.c b/src/battle/anim/musical.c new file mode 100644 index 000000000..17836ace7 --- /dev/null +++ b/src/battle/anim/musical.c @@ -0,0 +1,393 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "trig.h" +#include "battle_anim.h" +#include "sound.h" +#include "palette.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +void sub_80CEB0C(struct Sprite* sprite); +void sub_80CECE8(struct Sprite* sprite); +void sub_80CEDF0(struct Sprite* sprite); +void sub_80CEE60(struct Sprite* sprite); +static void sub_80CEBC4(s16 a, s16 b, s16* c, s16* d, s8 e); +static void sub_80CEC1C(struct Sprite* sprite); +static void sub_80CED78(struct Sprite* sprite); +static void sub_80CEEE8(struct Sprite* sprite); + +const union AnimCmd gSpriteAnim_83D7098[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D70A0[] = +{ + ANIMCMD_FRAME(4, 10), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D70A8[] = +{ + ANIMCMD_FRAME(8, 41), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D70B0[] = +{ + ANIMCMD_FRAME(12, 10), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D70B8[] = +{ + ANIMCMD_FRAME(16, 10), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D70C0[] = +{ + ANIMCMD_FRAME(20, 10), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D70C8[] = +{ + ANIMCMD_FRAME(0, 10, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D70D0[] = +{ + ANIMCMD_FRAME(4, 10, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D70D8[] = +{ + gSpriteAnim_83D7098, + gSpriteAnim_83D70A0, + gSpriteAnim_83D70A8, + gSpriteAnim_83D70B0, + gSpriteAnim_83D70B8, + gSpriteAnim_83D70C0, + gSpriteAnim_83D70C8, + gSpriteAnim_83D70D0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D70F8[] = +{ + AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16), + AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7110[] = +{ + gSpriteAffineAnim_83D70F8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7114 = +{ + .tileTag = 10072, + .paletteTag = 10072, + .oam = &gOamData_837DFEC, + .anims = gSpriteAnimTable_83D70D8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7110, + .callback = sub_80CEB0C, +}; + +const u16 gUnknown_083D712C[][6] = +{ + {10072, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)}, + {10097, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)}, + {10185, RGB(31, 31, 31), RGB(31, 31, 24), RGB(31, 31, 17), RGB(31, 31, 10), RGB(31, 31, 3)}, + {10175, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)}, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D715C = +{ + .tileTag = 10072, + .paletteTag = 10072, + .oam = &gOamData_837DFEC, + .anims = gSpriteAnimTable_83D70D8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7110, + .callback = sub_80CECE8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7174 = +{ + .tileTag = 10193, + .paletteTag = 10193, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CEDF0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D718C[] = +{ + AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D71A4[] = +{ + gSpriteAffineAnim_83D718C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D71A8 = +{ + .tileTag = 10072, + .paletteTag = 10072, + .oam = &gOamData_837DFEC, + .anims = gSpriteAnimTable_83D70D8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D71A4, + .callback = sub_80CEE60, +}; + +// musical (music notes, drum) +// Used by Grasswhistle, Belly Drum, and Sing. + +// rainbow effect for musical notes +void sub_80CEA20(u8 taskId) +{ + u16 i; + u16 j; + u16 index; + + index = IndexOfSpritePaletteTag(gUnknown_083D712C[0][0]); + if (index != 0xFF) + { + index = (index << 4) + 0x100; + for (i = 1; i < 6; i++) + { + gPlttBufferFaded[index + i] = gUnknown_083D712C[0][i]; + } + } + + for (j = 1; j < 4; j++) + { + index = AllocSpritePalette(gUnknown_083D712C[j][0]); + if (index != 0xFF) + { + index = (index << 4) + 0x100; + for (i = 1; i < 6; i++) + { + gPlttBufferFaded[index + i] = gUnknown_083D712C[j][i]; + } + } + } + DestroyAnimVisualTask(taskId); +} + +// clears the rainbow effect for musical notes. +void sub_80CEAD8(u8 taskId) +{ + u16 i; + for (i = 1; i < 4; i++) + { + FreeSpritePaletteByTag(gUnknown_083D712C[i][0]); + } + + DestroyAnimVisualTask(taskId); +} + +void sub_80CEB0C(struct Sprite* sprite) +{ + u8 index; + u8 a; + u8 b; + sub_8078650(sprite); + StartSpriteAnim(sprite, gBattleAnimArgs[0]); + if ((index = IndexOfSpritePaletteTag(gUnknown_083D712C[gBattleAnimArgs[1]][0])) != 0xFF) + sprite->oam.paletteNum = index; + + sprite->data[1] = gBattleAnimArgs[1]; + sprite->data[2] = 0; + sprite->data[3] = gBattleAnimArgs[2]; + if (IsContest()) + { + a = 0x30; + b = 0x28; + } + else + { + a = GetBattlerSpriteCoord(gAnimBankTarget, 2); + b = GetBattlerSpriteCoord(gAnimBankTarget, 3); + } + + sprite->data[4] = sprite->pos1.x << 4; + sprite->data[5] = sprite->pos1.y << 4; + sub_80CEBC4(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 0x28); + sprite->callback = sub_80CEC1C; +} + +static void sub_80CEBC4(s16 a, s16 b, s16* c, s16* d, s8 e) +{ + int f; + int g; + if (a < 0) + e = -e; + + f = a << 8; + g = f / e; + if (g == 0) + g = 1; + + *c = f / g; + *d = (b << 8) / g; +} + +static void sub_80CEC1C(struct Sprite* sprite) +{ + int b; + s16 a; + int c; + u8 index; + sprite->data[0]++; + b = sprite->data[0] * 5 - ((sprite->data[0] * 5 / 256) << 8); + sprite->data[4] += sprite->data[6]; + sprite->data[5] += sprite->data[7]; + sprite->pos1.x = sprite->data[4] >> 4; + sprite->pos1.y = sprite->data[5] >> 4; + sprite->pos2.y = Sin(b, 15); + a = (u16)sprite->pos1.y; + c = (u16)sprite->pos1.x; + + if ((u32)((c + 16) << 16) > (0x110) << 16 || a < -16 || a > 0x80) + { + move_anim_8074EE0(sprite); + } + else + { + if (sprite->data[3] && ++sprite->data[2] > sprite->data[3]) + { + sprite->data[2] = 0; + if (++sprite->data[1] > 3) + sprite->data[1] = 0; + + index = IndexOfSpritePaletteTag(gUnknown_083D712C[sprite->data[1]][0]); + if (index != 0xFF) + sprite->oam.paletteNum = index; + } + } +} + +// note_scatter +// Used by Teeter Dance. + +void sub_80CECE8(struct Sprite* sprite) +{ + int a; + if (GetBattlerSide(gAnimBankAttacker) == 1) + { + a = gBattleAnimArgs[1]; + (u16)gBattleAnimArgs[1] = -a; + } + + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; + StartSpriteAnim(sprite, gBattleAnimArgs[0]); + sprite->data[2] = 0; + sprite->data[3] = 0; + sprite->data[4] = sprite->pos1.x << 4; + sprite->data[5] = sprite->pos1.y << 4; + sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5; + sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5; + sprite->callback = sub_80CED78; +} + +static void sub_80CED78(struct Sprite* sprite) +{ + sprite->data[4] += sprite->data[6]; + sprite->data[5] += sprite->data[7]; + sprite->pos1.x = sprite->data[4] >> 4; + sprite->pos1.y = sprite->data[5] >> 4; + if (sprite->data[0] > 5 && sprite->data[3] == 0) + { + sprite->data[2] = (sprite->data[2] + 16) & 0xFF; + sprite->pos2.x = Cos(sprite->data[2], 18); + sprite->pos2.y = Sin(sprite->data[2], 18); + if (sprite->data[2] == 0) + sprite->data[3] = 1; + } + + if (++sprite->data[0] == 0x30) + move_anim_8074EE0(sprite); +} + +// drum (using hands to slap the Pokemon's belly in a rhythm.) +// Used in Belly Drum. + +void sub_80CEDF0(struct Sprite* sprite) +{ + s16 a; + if (gBattleAnimArgs[0] == 1) + { + sprite->oam.matrixNum = 8; + a = 16; + } + else + { + a = -16; + } + + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + a; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + 8; + sprite->data[0] = 8; + sprite->callback = WaitAnimForDuration; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +// note_scatter_2 (slower scatter of notes.) +// Used in Belly Drum. + +void sub_80CEE60(struct Sprite* sprite) +{ + s16 a; + u8 index; + sub_8078650(sprite); + sprite->pos1.y += 8; + StartSpriteAnim(sprite, gBattleAnimArgs[1]); + index = IndexOfSpritePaletteTag(gUnknown_083D712C[gBattleAnimArgs[2]][0]); + if (index != 0xFF) + sprite->oam.paletteNum = index; + + a = (gBattleAnimArgs[0] == 0) ? 0xFFE0 : 0x20; + sprite->data[0] = 40; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = a + sprite->data[1]; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = sprite->data[3] - 40; + InitAnimSpriteTranslationDeltas(sprite); + sprite->data[5] = gBattleAnimArgs[3]; + sprite->callback = sub_80CEEE8; +} + +static void sub_80CEEE8(struct Sprite* sprite) +{ + if (TranslateAnimSpriteByDeltas(sprite) == 0) + { + s16 a; + a = Sin(sprite->data[5], 8); + if (sprite->pos2.x < 0) + a = -a; + + sprite->pos2.x += a; + sprite->pos2.y += Sin(sprite->data[5], 4); + sprite->data[5] = (sprite->data[5] + 8) & 0xFF; + } + else + { + DestroyAnimSprite(sprite); + } +} diff --git a/src/battle/anim/noise.c b/src/battle/anim/noise.c index 0b6498318..6a6f6c10a 100644 --- a/src/battle/anim/noise.c +++ b/src/battle/anim/noise.c @@ -6,11 +6,23 @@ extern s16 gBattleAnimArgs[8]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D2D68(struct Sprite* sprite); static void sub_80D2E30(struct Sprite *); // noise (moving music note) // Used in Uproar. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7CC8 = +{ + .tileTag = 10225, + .paletteTag = 10225, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2D68, +}; + void sub_80D2D68(struct Sprite* sprite) { int var1; diff --git a/src/battle/anim/note_rain.c b/src/battle/anim/note_rain.c index 4e12c7e1a..26ae96c3a 100644 --- a/src/battle/anim/note_rain.c +++ b/src/battle/anim/note_rain.c @@ -8,30 +8,5 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u16 gUnknown_083D7A5C[5]; - // note_rain (notes rain from a source point, usually a bell.) // Used in Heal Bell. - -void sub_80D1BA8(struct Sprite* sprite, u8 a, u8 b) -{ - u8 tile; - tile = (b & 1); - tile = ((-tile | tile) >> 31) & 32; - sprite->oam.tileNum += tile + (a << 2); - sprite->oam.paletteNum = IndexOfSpritePaletteTag(gUnknown_083D7A5C[b >> 1]); -} - -void sub_80D1C08(struct Sprite* sprite) -{ - InitAnimSpritePos(sprite, 0); - if (GetBattlerSide(gAnimBankAttacker) != 0) - gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - - sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[2]; - sprite->data[4] = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + gBattleAnimArgs[3]; - sprite->callback = StartTranslateAnimSpriteByDeltas; - StoreSpriteCallbackInData(sprite, DestroyAnimSprite); - sub_80D1BA8(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]); -} diff --git a/src/battle/anim/note_scatter.c b/src/battle/anim/note_scatter.c deleted file mode 100644 index 53afa7d78..000000000 --- a/src/battle/anim/note_scatter.c +++ /dev/null @@ -1,54 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -static void sub_80CED78(struct Sprite* sprite); - -// note_scatter -// Used by Teeter Dance. - -void sub_80CECE8(struct Sprite* sprite) -{ - int a; - if (GetBattlerSide(gAnimBankAttacker) == 1) - { - a = gBattleAnimArgs[1]; - (u16)gBattleAnimArgs[1] = -a; - } - - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3) + gBattleAnimArgs[2]; - StartSpriteAnim(sprite, gBattleAnimArgs[0]); - sprite->data[2] = 0; - sprite->data[3] = 0; - sprite->data[4] = sprite->pos1.x << 4; - sprite->data[5] = sprite->pos1.y << 4; - sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5; - sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5; - sprite->callback = sub_80CED78; -} - -void sub_80CED78(struct Sprite* sprite) -{ - sprite->data[4] += sprite->data[6]; - sprite->data[5] += sprite->data[7]; - sprite->pos1.x = sprite->data[4] >> 4; - sprite->pos1.y = sprite->data[5] >> 4; - if (sprite->data[0] > 5 && sprite->data[3] == 0) - { - sprite->data[2] = (sprite->data[2] + 16) & 0xFF; - sprite->pos2.x = Cos(sprite->data[2], 18); - sprite->pos2.y = Sin(sprite->data[2], 18); - if (sprite->data[2] == 0) - sprite->data[3] = 1; - } - - if (++sprite->data[0] == 0x30) - move_anim_8074EE0(sprite); -} diff --git a/src/battle/anim/note_scatter_2.c b/src/battle/anim/note_scatter_2.c deleted file mode 100644 index 262afb8bf..000000000 --- a/src/battle/anim/note_scatter_2.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u16 gUnknown_083D712C[4][6]; - -static void sub_80CEEE8(struct Sprite* sprite); - -// note_scatter_2 (slower scatter of notes.) -// Used in Belly Drum. - -void sub_80CEE60(struct Sprite* sprite) -{ - s16 a; - u8 index; - sub_8078650(sprite); - sprite->pos1.y += 8; - StartSpriteAnim(sprite, gBattleAnimArgs[1]); - index = IndexOfSpritePaletteTag(gUnknown_083D712C[gBattleAnimArgs[2]][0]); - if (index != 0xFF) - sprite->oam.paletteNum = index; - - a = (gBattleAnimArgs[0] == 0) ? 0xFFE0 : 0x20; - sprite->data[0] = 40; - sprite->data[1] = sprite->pos1.x; - sprite->data[2] = a + sprite->data[1]; - sprite->data[3] = sprite->pos1.y; - sprite->data[4] = sprite->data[3] - 40; - InitAnimSpriteTranslationDeltas(sprite); - sprite->data[5] = gBattleAnimArgs[3]; - sprite->callback = sub_80CEEE8; -} - -void sub_80CEEE8(struct Sprite* sprite) -{ - if (TranslateAnimSpriteByDeltas(sprite) == 0) - { - s16 a; - a = Sin(sprite->data[5], 8); - if (sprite->pos2.x < 0) - a = -a; - - sprite->pos2.x += a; - sprite->pos2.y += Sin(sprite->data[5], 4); - sprite->data[5] = (sprite->data[5] + 8) & 0xFF; - } - else - { - DestroyAnimSprite(sprite); - } -} diff --git a/src/battle/anim/note_spin.c b/src/battle/anim/note_spin.c index 026ee1856..c3d6bdf52 100644 --- a/src/battle/anim/note_spin.c +++ b/src/battle/anim/note_spin.c @@ -7,12 +7,63 @@ extern s16 gBattleAnimArgs[8]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern const union AnimCmd *const gSpriteAnimTable_83D70D8[]; + +void sub_80D2E68(struct Sprite *sprite); +void sub_80D2EC8(struct Sprite *sprite); static void sub_80D2F80(struct Sprite *); static void sub_80D2FA4(struct Sprite *); // note_spin (spins music notes around, and rotates them) // Used in Perish Song. +const union AffineAnimCmd gSpriteAffineAnim_83D7CE0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 5), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7CF0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 16), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7D00[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 16), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7D10[] = +{ + gSpriteAffineAnim_83D7CE0, + gSpriteAffineAnim_83D7CF0, + gSpriteAffineAnim_83D7D00, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7D1C = +{ + .tileTag = 10206, + .paletteTag = 10206, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83D70D8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7D10, + .callback = sub_80D2EC8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7D34 = +{ + .tileTag = 10206, + .paletteTag = 10206, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83D70D8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7D10, + .callback = sub_80D2E68, +}; + void sub_80D2E68(struct Sprite *sprite) { if (sprite->data[0] == 0) diff --git a/src/battle/anim/note_wave.c b/src/battle/anim/note_wave.c deleted file mode 100644 index 1f3db8c56..000000000 --- a/src/battle/anim/note_wave.c +++ /dev/null @@ -1,143 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" -#include "palette.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u16 gUnknown_083D712C[4][6]; - -static void sub_80CEBC4(s16 a, s16 b, s16* c, s16* d, s8 e); -static void sub_80CEC1C(struct Sprite* sprite); - -// note_wave -// Used by Grasswhistle, Belly Drum, and Sing. - -// rainbow effect for musical notes -void sub_80CEA20(u8 taskId) -{ - u16 i; - u16 j; - u16 index; - - index = IndexOfSpritePaletteTag(gUnknown_083D712C[0][0]); - if (index != 0xFF) - { - index = (index << 4) + 0x100; - for (i = 1; i < 6; i++) - { - gPlttBufferFaded[index + i] = gUnknown_083D712C[0][i]; - } - } - - for (j = 1; j < 4; j++) - { - index = AllocSpritePalette(gUnknown_083D712C[j][0]); - if (index != 0xFF) - { - index = (index << 4) + 0x100; - for (i = 1; i < 6; i++) - { - gPlttBufferFaded[index + i] = gUnknown_083D712C[j][i]; - } - } - } - DestroyAnimVisualTask(taskId); -} - -// clears the rainbow effect for musical notes. -void sub_80CEAD8(u8 taskId) -{ - u16 i; - for (i = 1; i < 4; i++) - { - FreeSpritePaletteByTag(gUnknown_083D712C[i][0]); - } - - DestroyAnimVisualTask(taskId); -} - -void sub_80CEB0C(struct Sprite* sprite) -{ - u8 index; - u8 a; - u8 b; - sub_8078650(sprite); - StartSpriteAnim(sprite, gBattleAnimArgs[0]); - if ((index = IndexOfSpritePaletteTag(gUnknown_083D712C[gBattleAnimArgs[1]][0])) != 0xFF) - sprite->oam.paletteNum = index; - - sprite->data[1] = gBattleAnimArgs[1]; - sprite->data[2] = 0; - sprite->data[3] = gBattleAnimArgs[2]; - if (IsContest()) - { - a = 0x30; - b = 0x28; - } - else - { - a = GetBattlerSpriteCoord(gAnimBankTarget, 2); - b = GetBattlerSpriteCoord(gAnimBankTarget, 3); - } - - sprite->data[4] = sprite->pos1.x << 4; - sprite->data[5] = sprite->pos1.y << 4; - sub_80CEBC4(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 0x28); - sprite->callback = sub_80CEC1C; -} - -void sub_80CEBC4(s16 a, s16 b, s16* c, s16* d, s8 e) -{ - int f; - int g; - if (a < 0) - e = -e; - - f = a << 8; - g = f / e; - if (g == 0) - g = 1; - - *c = f / g; - *d = (b << 8) / g; -} - -void sub_80CEC1C(struct Sprite* sprite) -{ - int b; - s16 a; - int c; - u8 index; - sprite->data[0]++; - b = sprite->data[0] * 5 - ((sprite->data[0] * 5 / 256) << 8); - sprite->data[4] += sprite->data[6]; - sprite->data[5] += sprite->data[7]; - sprite->pos1.x = sprite->data[4] >> 4; - sprite->pos1.y = sprite->data[5] >> 4; - sprite->pos2.y = Sin(b, 15); - a = (u16)sprite->pos1.y; - c = (u16)sprite->pos1.x; - - if ((u32)((c + 16) << 16) > (0x110) << 16 || a < -16 || a > 0x80) - { - move_anim_8074EE0(sprite); - } - else - { - if (sprite->data[3] && ++sprite->data[2] > sprite->data[3]) - { - sprite->data[2] = 0; - if (++sprite->data[1] > 3) - sprite->data[1] = 0; - - index = IndexOfSpritePaletteTag(gUnknown_083D712C[sprite->data[1]][0]); - if (index != 0xFF) - sprite->oam.paletteNum = index; - } - } -} diff --git a/src/battle/anim/orbit_fast.c b/src/battle/anim/orbit_fast.c deleted file mode 100644 index 67a59583f..000000000 --- a/src/battle/anim/orbit_fast.c +++ /dev/null @@ -1,63 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -static void AnimOrbitFastStep(struct Sprite* sprite); - -// Orbits a sphere in an ellipse around the mon. -// Used by MOVE_HIDDEN_POWER -// arg 0: duration -// arg 1: initial wave offset -void AnimOrbitFast(struct Sprite* sprite) -{ - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); - sprite->affineAnimPaused = 1; - sprite->data[0] = gBattleAnimArgs[0]; - sprite->data[1] = gBattleAnimArgs[1]; - sprite->data[7] = sub_8079E90(gAnimBankAttacker); - sprite->callback = AnimOrbitFastStep; - sprite->callback(sprite); -} - -static void AnimOrbitFastStep(struct Sprite* sprite) -{ - if ((u16)(sprite->data[1] - 0x40) <= 0x7F) - sprite->subpriority = sprite->data[7] + 1; - else - sprite->subpriority = sprite->data[7] - 1; - - sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); - sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8); - sprite->data[1] = (sprite->data[1] + 9) & 0xFF; - switch (sprite->data[5]) - { - case 1: - sprite->data[2] -= 0x400; - sprite->data[3] -= 0x100; - if (++sprite->data[4] == sprite->data[0]) - { - sprite->data[5] = 2; - return; - } - break; - case 0: - sprite->data[2] += 0x400; - sprite->data[3] += 0x100; - if (++sprite->data[4] == sprite->data[0]) - { - sprite->data[4] = 0; - sprite->data[5] = 1; - } - break; - } - - if ((u16)gBattleAnimArgs[7] == 0xFFFF) - DestroyAnimSprite(sprite); -} diff --git a/src/battle/anim/orbit_scatter.c b/src/battle/anim/orbit_scatter.c deleted file mode 100644 index bd03ee78c..000000000 --- a/src/battle/anim/orbit_scatter.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -static void AnimOrbitScatterStep(struct Sprite* sprite); - -// Moves orbs away from the mon, based on where they are in their orbit. -// Used in MOVE_HIDDEN_POWER. -// arg 0: initial wave offset -void AnimOrbitScatter(struct Sprite* sprite) -{ - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); - sprite->data[0] = Sin(gBattleAnimArgs[0], 10); - sprite->data[1] = Cos(gBattleAnimArgs[0], 7); - sprite->callback = AnimOrbitScatterStep; -} - -static void AnimOrbitScatterStep(struct Sprite* sprite) -{ - sprite->pos2.x += sprite->data[0]; - sprite->pos2.y += sprite->data[1]; - if (sprite->pos1.x + sprite->pos2.x + 16 > 0x110u || sprite->pos1.y + sprite->pos2.y > 0xA0 || sprite->pos1.y + sprite->pos2.y < -16) - DestroyAnimSprite(sprite); -} diff --git a/src/battle/anim/perceive.c b/src/battle/anim/perceive.c index 14db096c6..ceca55141 100644 --- a/src/battle/anim/perceive.c +++ b/src/battle/anim/perceive.c @@ -8,10 +8,38 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D2920(struct Sprite* sprite); + // perceive (shows a sparkle in a set of eyes, usually for heightened perception.) // Used in Glare, Tickle, and Scary Face. -void sub_80D2904(struct Sprite* sprite) +const union AnimCmd gSpriteAnim_83D7B78[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7B90[] = +{ + gSpriteAnim_83D7B78, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7B94 = +{ + .tileTag = 10218, + .paletteTag = 10218, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D7B90, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2920, +}; + +static void sub_80D2904(struct Sprite* sprite) { if (sprite->animEnded) DestroyAnimSprite(sprite); diff --git a/src/battle/anim/rain.c b/src/battle/anim/rain.c index b38233e3c..421304be8 100644 --- a/src/battle/anim/rain.c +++ b/src/battle/anim/rain.c @@ -5,13 +5,44 @@ #include "task.h" extern s16 gBattleAnimArgs[8]; -extern const struct SpriteTemplate gSpriteTemplate_83D9130[]; -static void MoveAnimRaindrop(struct Sprite *); +void SetAnimRaindropCallback(struct Sprite *sprite); +static void MoveAnimRaindrop(struct Sprite *sprite); // rain (spawns and animates raindrops) // Used in Rain Dance and general rain animation. + const u8 gUnknown_3D7D8C[] = INCBIN_U8("graphics/unknown/unknown_3D7D8C.4bpp"); + const u8 gUnknown_3D810C[] = INCBIN_U8("graphics/unknown/unknown_3D810C.bin"); + + const union AnimCmd gSpriteAnim_83D910C[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(24, 6), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(40, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D912C[] = +{ + gSpriteAnim_83D910C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9130 = +{ + .tileTag = 10115, + .paletteTag = 10115, + .oam = &gOamData_837DF74, + .anims = gSpriteAnimTable_83D912C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SetAnimRaindropCallback, +}; + void CreateAnimRaindrops(u8 taskId) { if (gTasks[taskId].data[0] == 0) @@ -27,7 +58,7 @@ void CreateAnimRaindrops(u8 taskId) { u8 x = Random() % 240; u8 y = Random() % 80; - CreateSprite(gSpriteTemplate_83D9130, x, y, 4); + CreateSprite(&gSpriteTemplate_83D9130, x, y, 4); } if (gTasks[taskId].data[0] == gTasks[taskId].data[3]) diff --git a/src/battle/anim/ring.c b/src/battle/anim/ring.c index b317cdaed..024728ecc 100644 --- a/src/battle/anim/ring.c +++ b/src/battle/anim/ring.c @@ -12,11 +12,201 @@ extern u8 gAnimBankTarget; extern u8 gBankSpriteIds[]; +void sub_80D0FD8(struct Sprite* sprite); +void sub_80D10B8(struct Sprite* sprite); +void sub_80D1318(struct Sprite* sprite); +void sub_80D1368(struct Sprite* sprite); static void sub_80D1098(struct Sprite* sprite); +static void sub_80D13AC(struct Sprite* sprite); +static void sub_80D1424(struct Sprite* sprite); +static void sub_80D144C(struct Sprite* sprite); +static void sub_80D14C4(struct Sprite* sprite); +static void sub_80D1504(struct Sprite* sprite); +static void sub_80D154C(struct Sprite* sprite); +static void sub_80D158C(struct Sprite* sprite); // ring (a ring that stretches outward from the Pokemon.) // Used in Aromatherapy and Heal Bell. +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D77F8 = +{ + .tileTag = 10197, + .paletteTag = 10197, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8079534, +}; + +const union AnimCmd gSpriteAnim_83D7810[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7824[] = +{ + gSpriteAnim_83D7810, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7828 = +{ + .tileTag = 10198, + .paletteTag = 10198, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7824, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80793C4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7840[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2), + AFFINEANIMCMD_FRAME(0x0, 0x0, 8, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, -8, 2), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7860[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7870[] = +{ + AFFINEANIMCMD_FRAME(0xFFF8, 0x4, 0, 8), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0x10, 0xFFF8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF0, 0x8, 0, 8), + AFFINEANIMCMD_LOOP(1), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D78B0[] = +{ + gSpriteAffineAnim_83D7840, + gSpriteAffineAnim_83D7860, + gSpriteAffineAnim_83D7870, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D78BC = +{ + .tileTag = 10202, + .paletteTag = 10202, + .oam = &gOamData_837E114, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D78B0, + .callback = sub_80D1368, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D78D4[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 30), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D78EC[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 15), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7904[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0xB, 0xB, 0, 45), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D791C[] = +{ + gSpriteAffineAnim_83D78D4, + gSpriteAffineAnim_83D78EC, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7924[] = +{ + gSpriteAffineAnim_83D7904, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7928 = +{ + .tileTag = 10203, + .paletteTag = 10203, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D791C, + .callback = sub_80793C4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D7940[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 30), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7958[] = +{ + gSpriteAffineAnim_83D7940, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D795C = +{ + .tileTag = 10203, + .paletteTag = 10203, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7958, + .callback = sub_80793C4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7974 = +{ + .tileTag = 10203, + .paletteTag = 10203, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D791C, + .callback = sub_80D0FD8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D798C = +{ + .tileTag = 10203, + .paletteTag = 10203, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7924, + .callback = sub_80D10B8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D79A4 = +{ + .tileTag = 10203, + .paletteTag = 10203, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D791C, + .callback = sub_80D1318, +}; + void sub_80D0FD8(struct Sprite* sprite) { u8 bank = 0; @@ -154,3 +344,105 @@ void sub_80D1318(struct Sprite* sprite) sprite->callback = sub_80793C4; sub_80793C4(sprite); } + +void sub_80D1368(struct Sprite* sprite) +{ + s16 r1; + InitAnimSpritePos(sprite, 0); + r1 = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; + sprite->data[0] = 0x380; + sprite->data[1] = r1; + sprite->data[7] = gBattleAnimArgs[2]; + sprite->callback = sub_80D13AC; +} + +static void sub_80D13AC(struct Sprite* sprite) +{ + s16 add; + sprite->pos2.y -= (sprite->data[0] >> 8); + sprite->pos2.x = sprite->data[1] >> 8; + sprite->data[0] -= 32; + add = (GetBattlerSide(gAnimBankAttacker)) ? -0xA0 : 0xA0; + sprite->data[1] += add; + if (sprite->pos2.y > 0) + { + sprite->pos1.y += sprite->pos2.y; + sprite->pos1.x += sprite->pos2.x; + sprite->pos2.y = 0; + sprite->pos2.x = 0; + sprite->data[0] = 0; + StartSpriteAffineAnim(sprite, 1); + sprite->callback = sub_80D1424; + } +} + +static void sub_80D1424(struct Sprite* sprite) +{ + if (sprite->data[0]++ > 19) + { + StartSpriteAffineAnim(sprite, 2); + sprite->callback = sub_80D144C; + } +} + +static void sub_80D144C(struct Sprite* sprite) +{ + if (sprite->affineAnimEnded) + { + StartSpriteAffineAnim(sprite, 1); + sprite->data[0] = 0; + if (sprite->data[7] == 0) + { + sprite->oam.tileNum += 16; + sprite->callback = sub_80D14C4; + } + else + { + sprite->oam.tileNum += 32; + sprite->callback = sub_80D154C; + } + } +} + +static void sub_80D14C4(struct Sprite* sprite) +{ + sprite->pos2.y -= 2; + if (++sprite->data[0] == 9) + { + sprite->data[0] = 16; + sprite->data[1] = 0; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = sprite->data[0]; + sprite->callback = sub_80D1504; + } +} + +static void sub_80D1504(struct Sprite* sprite) +{ + if (sprite->data[1]++ % 3 == 0) + { + sprite->data[0]--; + REG_BLDALPHA = sprite->data[0] | ((16 - sprite->data[0]) << 8); + if (sprite->data[0] == 0) + sprite->callback = sub_80D154C; + } +} + +static void sub_80D154C(struct Sprite* sprite) +{ + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + { + sprite->invisible = 1; + if (sprite->data[7] == 0) + sprite->callback = sub_80D158C; + else + sprite->callback = DestroyAnimSprite; + } +} + +static void sub_80D158C(struct Sprite* sprite) +{ + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + DestroyAnimSprite(sprite); +} diff --git a/src/battle/anim/smoke.c b/src/battle/anim/smoke.c deleted file mode 100644 index 7ab873e63..000000000 --- a/src/battle/anim/smoke.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -// smoke (smoke on the ground around a sprite.) -// Used in Extremespeed. - -void sub_80D1A70(struct Sprite* sprite) -{ - sprite->invisible = gTasks[sprite->data[0]].data[5]; - if (sprite->animEnded) - { - gTasks[sprite->data[0]].data[sprite->data[1]]--; - DestroySprite(sprite); - } -} diff --git a/src/battle/anim/sonic.c b/src/battle/anim/sonic.c index a882be73c..0494c42ed 100644 --- a/src/battle/anim/sonic.c +++ b/src/battle/anim/sonic.c @@ -3,11 +3,114 @@ #include "trig.h" #include "battle_anim.h" #include "sound.h" +#include "battle.h" #include "battle_anim_80CA710.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern u8 gBanksBySide[]; +extern u16 gBattleTypeFlags; + +extern void sub_80D4CA4(struct Sprite *sprite); + +void AnimSonicBoomProjectile(struct Sprite* sprite); +void sub_80CF8B8(struct Sprite* sprite); + +const struct SpriteTemplate gSonicBoomSpriteTemplate = +{ + .tileTag = 10003, + .paletteTag = 10003, + .oam = &gOamData_837E134, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSonicBoomProjectile, +}; + +const struct SpriteTemplate gSpriteTemplate_83D74BC = +{ + .tileTag = 10003, + .paletteTag = 10003, + .oam = &gOamData_837E074, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CF8B8, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D74D4[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x7, 0x7, 0, -56), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D74EC[] = +{ + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D752C[] = +{ + gSpriteAffineAnim_83D74D4, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7530[] = +{ + gSpriteAffineAnim_83D74EC, +}; + +const struct SpriteTemplate gSupersonicWaveSpriteTemplate = +{ + .tileTag = 10163, + .paletteTag = 10163, + .oam = &gOamData_837E034, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D752C, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gScreechWaveSpriteTemplate = +{ + .tileTag = 10164, + .paletteTag = 10164, + .oam = &gOamData_837E034, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D752C, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7564 = +{ + .tileTag = 10260, + .paletteTag = 10260, + .oam = &gOamData_837E03C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D752C, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D757C = +{ + .tileTag = 10288, + .paletteTag = 10288, + .oam = &gOamData_837E034, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7530, + .callback = sub_80D4CA4, +}; // Moves a projectile towards the target mon. The sprite is rotated to be pointing // in the same direction it's moving. @@ -138,3 +241,137 @@ void sub_80CF8B8(struct Sprite* sprite) sprite->callback = sub_80CF814; } } + +void sub_80CF9F8(u8 taskId) +{ + if (gTasks[taskId].data[1] == 0) + DestroyAnimVisualTask(taskId); +} + +void sub_80CFA20(u8 taskId) +{ + if (gTasks[taskId].data[0]-- <= 0) + { + u8 spriteId; + struct Sprite* sprite; + spriteId = CreateSprite(&gSpriteTemplate_83D74BC, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]); + sprite = &gSprites[spriteId]; + switch (gTasks[taskId].data[4]) + { + case 1: + sprite->oam.matrixNum |= 24; + break; + case 2: + sprite->oam.matrixNum = 8; + break; + } + + sprite->data[0] = gTasks[taskId].data[5] - gTasks[taskId].data[6]; + sprite->data[7] = taskId; + gTasks[taskId].data[gTasks[taskId].data[1] + 13] = spriteId; + gTasks[taskId].data[0] = gTasks[taskId].data[3]; + gTasks[taskId].data[1]++; + PlaySE12WithPanning(0x9A, BattleAnimAdjustPanning(-0x3F)); + if (gTasks[taskId].data[1] > 2) + gTasks[taskId].func = sub_80CF9F8; + } +} + +void sub_80CFB04(u8 taskId) +{ + s16 r9 = 0; + s16 r6 = 0; + s16 sp1 = 0; + s16 sp2 = 0; + s16 r4; + + if (IsContest()) + { + gTasks[taskId].data[4] = 2; + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + if (gBattleAnimArgs[2] & 1) + gBattleAnimArgs[2] &= ~1; + else + gBattleAnimArgs[2] |= 1; + } + else + { + if ((gBanksBySide[gAnimBankTarget] & 1) == 0) + { + gTasks[taskId].data[4] = 1; + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + if (gBattleAnimArgs[2] & 1) + gBattleAnimArgs[2] &= ~1; + else + gBattleAnimArgs[2] |= 1; + } + } + r6 = gTasks[taskId].data[9] = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + r9 = gTasks[taskId].data[10] = GetBattlerSpriteCoord(gAnimBankAttacker, 1); + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + && IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) + { + SetAverageBattlerPositions(gAnimBankTarget, 0, &sp1, &sp2); + } + else + { + sp1 = GetBattlerSpriteCoord(gAnimBankTarget, 0); + sp2 = GetBattlerSpriteCoord(gAnimBankTarget, 1); + } + + sp1 = gTasks[taskId].data[11] = sp1 + gBattleAnimArgs[0]; + sp2 = gTasks[taskId].data[12] = sp2 + gBattleAnimArgs[1]; + if (sp1 >= r6) + r4 = sp1 - r6; + else + r4 = r6 - sp1; + + gTasks[taskId].data[5] = sub_81174C4(r4, sub_81174E0(gBattleAnimArgs[2] & ~1)); + gTasks[taskId].data[6] = sub_81174C4(gTasks[taskId].data[5], 0x80); + gTasks[taskId].data[7] = gBattleAnimArgs[2]; + if (sp2 >= r9) + { + r4 = sp2 - r9; + gTasks[taskId].data[8] = sub_81174C4(r4, sub_81174E0(gTasks[taskId].data[5])) & ~1; + } + else + { + r4 = r9 - sp2; + gTasks[taskId].data[8] = sub_81174C4(r4, sub_81174E0(gTasks[taskId].data[5])) | 1; + } + + gTasks[taskId].data[3] = gBattleAnimArgs[3]; + if (gBattleAnimArgs[4] & 0x80) + { + gBattleAnimArgs[4] ^= 0x80; + if (gBattleAnimArgs[4] >= 64) + { + u16 var = sub_8079E90(gAnimBankTarget) + (gBattleAnimArgs[4] - 64); + gTasks[taskId].data[2] = var; + } + else + { + u16 var = sub_8079E90(gAnimBankTarget) - gBattleAnimArgs[4]; + gTasks[taskId].data[2] = var; + } + } + else + { + if (gBattleAnimArgs[4] >= 64) + { + u16 var = sub_8079E90(gAnimBankTarget) + (gBattleAnimArgs[4] - 64); + gTasks[taskId].data[2] = var; + } + else + { + u16 var = sub_8079E90(gAnimBankTarget) - gBattleAnimArgs[4]; + gTasks[taskId].data[2] = var; + } + } + + if (gTasks[taskId].data[2] < 3) + gTasks[taskId].data[2] = 3; + + gTasks[taskId].func = sub_80CFA20; +} diff --git a/src/battle/anim/sonic_task.c b/src/battle/anim/sonic_task.c deleted file mode 100644 index dc5d60efa..000000000 --- a/src/battle/anim/sonic_task.c +++ /dev/null @@ -1,152 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" -#include "battle_anim_80CA710.h" -#include "battle.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern u8 gBanksBySide[]; -extern u16 gBattleTypeFlags; -extern struct SpriteTemplate gSpriteTemplate_83D74BC; - -// sonic_task (the task functions for the "sonic" effect.) -// Used in Air Cutter and Sonic Boom. - -void sub_80CF9F8(u8 taskId) -{ - if (gTasks[taskId].data[1] == 0) - DestroyAnimVisualTask(taskId); -} - -void sub_80CFA20(u8 taskId) -{ - if (gTasks[taskId].data[0]-- <= 0) - { - u8 spriteId; - struct Sprite* sprite; - spriteId = CreateSprite(&gSpriteTemplate_83D74BC, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]); - sprite = &gSprites[spriteId]; - switch (gTasks[taskId].data[4]) - { - case 1: - sprite->oam.matrixNum |= 24; - break; - case 2: - sprite->oam.matrixNum = 8; - break; - } - - sprite->data[0] = gTasks[taskId].data[5] - gTasks[taskId].data[6]; - sprite->data[7] = taskId; - gTasks[taskId].data[gTasks[taskId].data[1] + 13] = spriteId; - gTasks[taskId].data[0] = gTasks[taskId].data[3]; - gTasks[taskId].data[1]++; - PlaySE12WithPanning(0x9A, BattleAnimAdjustPanning(-0x3F)); - if (gTasks[taskId].data[1] > 2) - gTasks[taskId].func = sub_80CF9F8; - } -} - -void sub_80CFB04(u8 taskId) -{ - s16 r9 = 0; - s16 r6 = 0; - s16 sp1 = 0; - s16 sp2 = 0; - s16 r4; - - if (IsContest()) - { - gTasks[taskId].data[4] = 2; - gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - if (gBattleAnimArgs[2] & 1) - gBattleAnimArgs[2] &= ~1; - else - gBattleAnimArgs[2] |= 1; - } - else - { - if ((gBanksBySide[gAnimBankTarget] & 1) == 0) - { - gTasks[taskId].data[4] = 1; - gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - if (gBattleAnimArgs[2] & 1) - gBattleAnimArgs[2] &= ~1; - else - gBattleAnimArgs[2] |= 1; - } - } - r6 = gTasks[taskId].data[9] = GetBattlerSpriteCoord(gAnimBankAttacker, 0); - r9 = gTasks[taskId].data[10] = GetBattlerSpriteCoord(gAnimBankAttacker, 1); - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - && IsAnimBankSpriteVisible(gAnimBankTarget ^ 2)) - { - SetAverageBattlerPositions(gAnimBankTarget, 0, &sp1, &sp2); - } - else - { - sp1 = GetBattlerSpriteCoord(gAnimBankTarget, 0); - sp2 = GetBattlerSpriteCoord(gAnimBankTarget, 1); - } - - sp1 = gTasks[taskId].data[11] = sp1 + gBattleAnimArgs[0]; - sp2 = gTasks[taskId].data[12] = sp2 + gBattleAnimArgs[1]; - if (sp1 >= r6) - r4 = sp1 - r6; - else - r4 = r6 - sp1; - - gTasks[taskId].data[5] = sub_81174C4(r4, sub_81174E0(gBattleAnimArgs[2] & ~1)); - gTasks[taskId].data[6] = sub_81174C4(gTasks[taskId].data[5], 0x80); - gTasks[taskId].data[7] = gBattleAnimArgs[2]; - if (sp2 >= r9) - { - r4 = sp2 - r9; - gTasks[taskId].data[8] = sub_81174C4(r4, sub_81174E0(gTasks[taskId].data[5])) & ~1; - } - else - { - r4 = r9 - sp2; - gTasks[taskId].data[8] = sub_81174C4(r4, sub_81174E0(gTasks[taskId].data[5])) | 1; - } - - gTasks[taskId].data[3] = gBattleAnimArgs[3]; - if (gBattleAnimArgs[4] & 0x80) - { - gBattleAnimArgs[4] ^= 0x80; - if (gBattleAnimArgs[4] >= 64) - { - u16 var = sub_8079E90(gAnimBankTarget) + (gBattleAnimArgs[4] - 64); - gTasks[taskId].data[2] = var; - } - else - { - u16 var = sub_8079E90(gAnimBankTarget) - gBattleAnimArgs[4]; - gTasks[taskId].data[2] = var; - } - } - else - { - if (gBattleAnimArgs[4] >= 64) - { - u16 var = sub_8079E90(gAnimBankTarget) + (gBattleAnimArgs[4] - 64); - gTasks[taskId].data[2] = var; - } - else - { - u16 var = sub_8079E90(gAnimBankTarget) - gBattleAnimArgs[4]; - gTasks[taskId].data[2] = var; - } - } - - if (gTasks[taskId].data[2] < 3) - gTasks[taskId].data[2] = 3; - - gTasks[taskId].func = sub_80CFA20; -} diff --git a/src/battle/anim/spin_finger.c b/src/battle/anim/spin_finger.c deleted file mode 100644 index 1ce3aa0d0..000000000 --- a/src/battle/anim/spin_finger.c +++ /dev/null @@ -1,73 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern void sub_80CF088(struct Sprite* sprite); -static void sub_80CF138(struct Sprite* sprite); -static void sub_80CF158(struct Sprite* sprite); - -// spin_finger -// Used in Follow Me. - -void sub_80CF0BC(struct Sprite* sprite) -{ - u8 bank; - if (gBattleAnimArgs[0] == 0) - bank = gAnimBankAttacker; - else - bank = gAnimBankTarget; - - sprite->pos1.x = GetBattlerSpriteCoord(bank, 0); - sprite->pos1.y = sub_807A100(bank, 2); - if (sprite->pos1.y <= 9) - sprite->pos1.y = 10; - - sprite->data[0] = 1; - sprite->data[1] = 0; - sprite->data[2] = sprite->subpriority; - sprite->data[3] = sprite->subpriority + 4; - sprite->data[4] = 0; - StoreSpriteCallbackInData(sprite, sub_80CF138); - sprite->callback = sub_80785E4; -} - -void sub_80CF138(struct Sprite* sprite) -{ - if (++sprite->data[4] > 12) - sprite->callback = sub_80CF158; -} - -void sub_80CF158(struct Sprite* sprite) -{ - s16 temp; - s16 temp2; - sprite->data[1] += 4; - if (sprite->data[1] > 0xFE) - { - if (--sprite->data[0] == 0) - { - sprite->pos2.x = 0; - sprite->callback = sub_80CF088; - return; - } - else - { - sprite->data[1] &= 0xFF; - } - } - - if (sprite->data[1] > 0x4F) - sprite->subpriority = sprite->data[3]; - - if (sprite->data[1] > 0x9F) - sprite->subpriority = sprite->data[2]; - - temp = gSineTable[sprite->data[1]]; - sprite->pos2.x = (temp2 = temp >> 3) + (temp2 >> 1); -} diff --git a/src/battle/anim/spit.c b/src/battle/anim/spit.c index 36fcb788c..792d7e0eb 100644 --- a/src/battle/anim/spit.c +++ b/src/battle/anim/spit.c @@ -8,10 +8,35 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D28AC(struct Sprite* sprite); + // spit (hurls sprites outward from the pokemon. Similar to orbit_fast, but takes another argument.) // Used in Spit Up. -void sub_80D287C(struct Sprite* sprite) +const union AffineAnimCmd gSpriteAffineAnim_83D7B44[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7B5C[] = +{ + gSpriteAffineAnim_83D7B44, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7B60 = +{ + .tileTag = 10237, + .paletteTag = 10237, + .oam = &gOamData_837DFE4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7B5C, + .callback = sub_80D28AC, +}; + +static void sub_80D287C(struct Sprite* sprite) { sprite->pos2.x += sprite->data[0]; sprite->pos2.y += sprite->data[1]; diff --git a/src/battle/anim/splash.c b/src/battle/anim/splash.c index d6caaf0f6..c01748953 100644 --- a/src/battle/anim/splash.c +++ b/src/battle/anim/splash.c @@ -8,13 +8,19 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct AffineAnimFrameCmd gUnknown_083D76F4; - static void sub_80D07AC(u8 taskId); // splash (splash effect of hopping up and down) // Used in Splash, Mud Sport, and Sketch. +const union AffineAnimCmd gSpriteAffineAnim_83D76F4[] = +{ + AFFINEANIMCMD_FRAME(-6, 4, 0, 8), + AFFINEANIMCMD_FRAME(10, -10, 0, 8), + AFFINEANIMCMD_FRAME(-4, 6, 0, 8), + AFFINEANIMCMD_END, +}; + void sub_80D074C(u8 taskId) { struct Task* task = &gTasks[taskId]; @@ -30,7 +36,7 @@ void sub_80D074C(u8 taskId) task->data[2] = gBattleAnimArgs[1]; task->data[3] = 0; task->data[4] = 0; - sub_80798F4(task, spriteId, &gUnknown_083D76F4); + sub_80798F4(task, spriteId, &gSpriteAffineAnim_83D76F4); task->func = sub_80D07AC; } } @@ -78,7 +84,7 @@ void sub_80D07AC(u8 taskId) } else { - sub_80798F4(task, task->data[0], &gUnknown_083D76F4); + sub_80798F4(task, task->data[0], &gSpriteAffineAnim_83D76F4); task->data[1] = 0; } } diff --git a/src/battle/anim/startle.c b/src/battle/anim/startle.c index 95462bd9f..b23c7ac9e 100644 --- a/src/battle/anim/startle.c +++ b/src/battle/anim/startle.c @@ -8,18 +8,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct AffineAnimFrameCmd gUnknown_083D7A98; - // startle (the pokemon sprite shrivels upward and restores after a brief time.) // Used in Fake Out, Trick, and Astonish. +const union AffineAnimCmd gSpriteAffineAnim_83D7A98[] = +{ + AFFINEANIMCMD_FRAME(0x000A, 0xFFF3, 0x00, 0x0A), + AFFINEANIMCMD_FRAME(0xFFF6, 0x000D, 0x00, 0x0A), + AFFINEANIMCMD_END, +}; + // opponent void sub_80D1E38(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(1); if (++gTasks[taskId].data[0] == 1) { - sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(1), &gUnknown_083D7A98); + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(1), &gSpriteAffineAnim_83D7A98); gSprites[spriteId].pos2.x = 4; } else @@ -40,7 +45,7 @@ void sub_80D1EC8(u8 taskId) u8 spriteId = GetAnimBattlerSpriteId(0); if (++gTasks[taskId].data[0] == 1) { - sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_083D7A98); + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gSpriteAffineAnim_83D7A98); gSprites[spriteId].pos2.x = 4; } else diff --git a/src/battle/anim/struggle.c b/src/battle/anim/struggle.c index 6a1355e1b..2bcf3727e 100644 --- a/src/battle/anim/struggle.c +++ b/src/battle/anim/struggle.c @@ -7,8 +7,44 @@ extern s16 gBattleAnimArgs[8]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D2C38(struct Sprite *sprite); static void sub_80D2CC4(struct Sprite *); +const union AnimCmd gSpriteAnim_83D7C60[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(16, 8), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7C74[] = +{ + ANIMCMD_FRAME(16, 8, .hFlip = TRUE), + ANIMCMD_FRAME(32, 8, .hFlip = TRUE), + ANIMCMD_FRAME(16, 8, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7C88[] = +{ + gSpriteAnim_83D7C60, + gSpriteAnim_83D7C74, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7C90 = +{ + .tileTag = 10215, + .paletteTag = 10215, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7C88, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2C38, +}; + void sub_80D2C38(struct Sprite *sprite) { if (gBattleAnimArgs[2] == 0) diff --git a/src/battle/anim/swipe.c b/src/battle/anim/swipe.c index 922b11a5f..df7a0e91f 100644 --- a/src/battle/anim/swipe.c +++ b/src/battle/anim/swipe.c @@ -4,6 +4,43 @@ extern s16 gBattleAnimArgs[8]; +void sub_80D2BE8(struct Sprite *sprite); + +const union AnimCmd gSpriteAnim_83D7C18[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D7C2C[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_FRAME(48, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7C40[] = +{ + gSpriteAnim_83D7C18, + gSpriteAnim_83D7C2C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7C48 = +{ + .tileTag = 10222, + .paletteTag = 10222, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7C40, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D2BE8, +}; + void sub_80D2BE8(struct Sprite *sprite) { if (sprite->data[0] == 0) diff --git a/src/battle/anim/sword.c b/src/battle/anim/sword.c index 3367cca07..7fb410224 100644 --- a/src/battle/anim/sword.c +++ b/src/battle/anim/sword.c @@ -8,11 +8,36 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CF690(struct Sprite* sprite); static void sub_80CF6B4(struct Sprite* sprite); // sword (sword appears and floats upward.) // Used in Swords Dance. +const union AffineAnimCmd gSpriteAffineAnim_83D7468[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x14, 0x0, 0, 12), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 32), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D7488[] = +{ + gSpriteAffineAnim_83D7468, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D748C = +{ + .tileTag = 10005, + .paletteTag = 10005, + .oam = &gOamData_837E0FC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D7488, + .callback = sub_80CF690, +}; + void sub_80CF690(struct Sprite* sprite) { InitAnimSpritePos(sprite, 0); @@ -20,7 +45,7 @@ void sub_80CF690(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80CF6B4); } -void sub_80CF6B4(struct Sprite* sprite) +static void sub_80CF6B4(struct Sprite* sprite) { sprite->data[0] = 6; sprite->data[2] = sprite->pos1.x; diff --git a/src/battle/anim/taunt_finger.c b/src/battle/anim/taunt_finger.c deleted file mode 100644 index c512f8cf4..000000000 --- a/src/battle/anim/taunt_finger.c +++ /dev/null @@ -1,56 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern void sub_80CEF44(u8 bank, struct Sprite* sprite); -static void sub_80CF228(struct Sprite* sprite); -static void sub_80CF264(struct Sprite* sprite); - -// taunt_finger -// Used in Taunt. - -void sub_80CF1C8(struct Sprite* sprite) -{ - u8 bank; - if (gBattleAnimArgs[0] == 0) - bank = gAnimBankAttacker; - else - bank = gAnimBankTarget; - - sub_80CEF44(bank, sprite); - if (GetBattlerSide(bank) == 0) - { - StartSpriteAnim(sprite, 0); - sprite->data[0] = 2; - } - else - { - StartSpriteAnim(sprite, 1); - sprite->data[0] = 3; - } - - sprite->callback = sub_80CF228; -} - -void sub_80CF228(struct Sprite* sprite) -{ - if (++sprite->data[1] > 10) - { - sprite->data[1] = 0; - StartSpriteAnim(sprite, sprite->data[0]); - StoreSpriteCallbackInData(sprite, sub_80CF264); - sprite->callback = sub_8078600; - } -} - -void sub_80CF264(struct Sprite* sprite) -{ - if (++sprite->data[1] > 5) - DestroyAnimSprite(sprite); -} diff --git a/src/battle/anim/thought.c b/src/battle/anim/thought.c index 5163cbfad..d39520dac 100644 --- a/src/battle/anim/thought.c +++ b/src/battle/anim/thought.c @@ -8,11 +8,67 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CEF9C(struct Sprite* sprite); static void sub_80CF008(struct Sprite* sprite); // thought (thought bubble) // Used in Metronome and Taunt. +const union AnimCmd gSpriteAnim_83D71C0[] = +{ + ANIMCMD_FRAME(0, 2, .hFlip = TRUE), + ANIMCMD_FRAME(16, 2, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .hFlip = TRUE), + ANIMCMD_FRAME(48, 2, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D71D4[] = +{ + ANIMCMD_FRAME(48, 2, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .hFlip = TRUE), + ANIMCMD_FRAME(16, 2, .hFlip = TRUE), + ANIMCMD_FRAME(0, 2, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D71E8[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D71FC[] = +{ + ANIMCMD_FRAME(48, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7210[] = +{ + gSpriteAnim_83D71C0, + gSpriteAnim_83D71E8, + gSpriteAnim_83D71D4, + gSpriteAnim_83D71FC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7220 = +{ + .tileTag = 10209, + .paletteTag = 10209, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D7210, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CEF9C, +}; + void sub_80CEF44(u8 bank, struct Sprite* sprite) { if (GetBattlerSide(bank) == 0) @@ -41,7 +97,7 @@ void sub_80CEF9C(struct Sprite* sprite) sprite->callback = sub_8078600; } -void sub_80CF008(struct Sprite* sprite) +static void sub_80CF008(struct Sprite* sprite) { if (--sprite->data[0] == 0) { diff --git a/src/battle/anim/thrashing.c b/src/battle/anim/thrashing.c index bc1fc4842..38dccb83f 100644 --- a/src/battle/anim/thrashing.c +++ b/src/battle/anim/thrashing.c @@ -8,14 +8,22 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct AffineAnimFrameCmd gUnknown_083D77B0; - static void sub_80D0A8C(u8 taskId); static void sub_80D0B3C(u8 taskId); // thrashing (the movement of the Pokemon left/right repeatedly, with up/down movements below.) // Used by Thrash. +const union AffineAnimCmd gSpriteAffineAnim_83D77B0[] = +{ + AFFINEANIMCMD_FRAME(-10, 9, 0, 7), + AFFINEANIMCMD_FRAME(20, -20, 0, 7), + AFFINEANIMCMD_FRAME(-20, 20, 0, 7), + AFFINEANIMCMD_FRAME(10, -9, 0, 7), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_END, +}; + // left/right movements void sub_80D0A4C(u8 taskId) { @@ -23,11 +31,11 @@ void sub_80D0A4C(u8 taskId) u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; task->data[1] = 0; - sub_80798F4(task, spriteId, &gUnknown_083D77B0); + sub_80798F4(task, spriteId, &gSpriteAffineAnim_83D77B0); task->func = sub_80D0A8C; } -void sub_80D0A8C(u8 taskId) +static void sub_80D0A8C(u8 taskId) { struct Task* task = &gTasks[taskId]; if (!sub_807992C(task)) @@ -54,7 +62,7 @@ void sub_80D0AB8(u8 taskId) task->func = sub_80D0B3C; } -void sub_80D0B3C(u8 taskId) +static void sub_80D0B3C(u8 taskId) { struct Task* task = &gTasks[taskId]; if (++task->data[7] > 2) diff --git a/src/battle/anim/unused_5.c b/src/battle/anim/unused_5.c index 421cdd6bf..af9a8a037 100644 --- a/src/battle/anim/unused_5.c +++ b/src/battle/anim/unused_5.c @@ -8,8 +8,21 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80CF280(struct Sprite* sprite); + // unused_5 +const struct SpriteTemplate gSpriteTemplate_83D7370 = +{ + .tileTag = 10064, + .paletteTag = 10064, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CF280, +}; + void sub_80CF280(struct Sprite* sprite) { sub_8078650(sprite); diff --git a/src/battle/anim/unused_6.c b/src/battle/anim/unused_6.c index 37e2031b0..5b37d32c9 100644 --- a/src/battle/anim/unused_6.c +++ b/src/battle/anim/unused_6.c @@ -9,10 +9,34 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern void sub_80CEF44(u8 bank, struct Sprite* sprite); + +void sub_80CF2D0(struct Sprite* sprite); static void sub_80CF310(struct Sprite* sprite); // unused_6 +const union AnimCmd gSpriteAnim_83D7388[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D7390[] = +{ + gSpriteAnim_83D7388, +}; + +const struct SpriteTemplate gSpriteTemplate_83D7394 = +{ + .tileTag = 10072, + .paletteTag = 10072, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CF2D0, +}; + void sub_80CF2D0(struct Sprite* sprite) { u8 bank; @@ -27,7 +51,7 @@ void sub_80CF2D0(struct Sprite* sprite) sprite->callback = sub_80CF310; } -void sub_80CF310(struct Sprite* sprite) +static void sub_80CF310(struct Sprite* sprite) { switch (sprite->data[0]) { diff --git a/src/battle/anim/unused_7.c b/src/battle/anim/unused_7.c index a2f00db31..fa3facdda 100644 --- a/src/battle/anim/unused_7.c +++ b/src/battle/anim/unused_7.c @@ -10,9 +10,22 @@ extern u8 gAnimBankTarget; extern u8 gBankSpriteIds[]; +void sub_80CF3C4(struct Sprite* sprite); + // unused_7 -void sub_80CF374(struct Sprite* sprite) +const struct SpriteTemplate gSpriteTemplate_83D73AC = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CF3C4, +}; + +static void sub_80CF374(struct Sprite* sprite) { s16 temp; gSprites[sprite->data[2]].pos2.x += sprite->data[1]; diff --git a/src/battle/anim/unused_8.c b/src/battle/anim/unused_8.c index c67ec2754..a005bee1c 100644 --- a/src/battle/anim/unused_8.c +++ b/src/battle/anim/unused_8.c @@ -7,12 +7,62 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB1B0[]; +void sub_80CF458(struct Sprite* sprite); static void sub_80CF490(struct Sprite* sprite); static void sub_80CF4B8(struct Sprite* sprite); // unused_8 +const struct SpriteTemplate gSpriteTemplate_83D73C4 = +{ + .tileTag = 10145, + .paletteTag = 10145, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB1B0, + .callback = sub_80CF458, +}; + +const union AnimCmd gSpriteAnim_83D73DC[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D73F0[] = +{ + gSpriteAnim_83D73DC, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D73F4[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), + AFFINEANIMCMD_FRAME(0x9, 0x9, 0, 18), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D740C[] = +{ + gSpriteAffineAnim_83D73F4, +}; + +const struct SpriteTemplate gSpriteTemplate_83D7410 = +{ + .tileTag = 10007, + .paletteTag = 10007, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D73F0, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D740C, + .callback = sub_80793C4, +}; + void sub_80CF458(struct Sprite* sprite) { InitAnimSpritePos(sprite, 1); @@ -23,7 +73,7 @@ void sub_80CF458(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80CF490); } -void sub_80CF490(struct Sprite* sprite) +static void sub_80CF490(struct Sprite* sprite) { sprite->data[0] = sprite->data[1]; sprite->data[2] = sprite->pos1.x; @@ -32,7 +82,7 @@ void sub_80CF490(struct Sprite* sprite) StoreSpriteCallbackInData(sprite, sub_80CF4B8); } -void sub_80CF4B8(struct Sprite* sprite) +static void sub_80CF4B8(struct Sprite* sprite) { if (sprite->data[5] == 0) DestroyAnimSprite(sprite); diff --git a/src/battle/anim/unused_9.c b/src/battle/anim/unused_9.c index 8e3f0a8b7..d8dda35b3 100644 --- a/src/battle/anim/unused_9.c +++ b/src/battle/anim/unused_9.c @@ -9,13 +9,23 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct SpriteTemplate gSpriteTemplate_83D75AC; - +void sub_80CFDFC(struct Sprite* sprite); static void sub_80CFE2C(struct Sprite* sprite); // unused_9? (Most likely an unused effect.) // I cannot find any reference to this sprite template used to call this. +const struct SpriteTemplate gSpriteTemplate_83D75AC = +{ + .tileTag = 10178, + .paletteTag = 10178, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80CFDFC, +}; + void sub_80CFDFC(struct Sprite* sprite) { InitAnimSpritePos(sprite, 0); @@ -24,7 +34,7 @@ void sub_80CFDFC(struct Sprite* sprite) } #ifdef NONMATCHING -void sub_80CFE2C(struct Sprite* sprite) +static void sub_80CFE2C(struct Sprite* sprite) { u16 r7; u16 r5; @@ -46,7 +56,7 @@ void sub_80CFE2C(struct Sprite* sprite) } #else NAKED -void sub_80CFE2C(struct Sprite* sprite) +static void sub_80CFE2C(struct Sprite* sprite) { asm(".syntax unified\n\ push {r4-r7,lr}\n\ diff --git a/src/battle/anim/uproar.c b/src/battle/anim/uproar.c index 538ca9b20..c78f89fef 100644 --- a/src/battle/anim/uproar.c +++ b/src/battle/anim/uproar.c @@ -6,19 +6,25 @@ extern s16 gBattleAnimArgs[8]; -extern const union AffineAnimCmd gUnknown_083D7CA8[]; +static void sub_80D2D3C(u8); -void sub_80D2D3C(u8); +const union AffineAnimCmd gSpriteAffineAnim_83D7CA8[] = +{ + AFFINEANIMCMD_FRAME(-12, 8, 0, 4), + AFFINEANIMCMD_FRAME(20, -20, 0, 4), + AFFINEANIMCMD_FRAME(-8, 12, 0, 4), + AFFINEANIMCMD_END, +}; void sub_80D2CF8(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - sub_80798F4(&gTasks[taskId], spriteId, gUnknown_083D7CA8); + sub_80798F4(&gTasks[taskId], spriteId, gSpriteAffineAnim_83D7CA8); gTasks[taskId].func = sub_80D2D3C; } -void sub_80D2D3C(u8 taskId) +static void sub_80D2D3C(u8 taskId) { if (!sub_807992C(&gTasks[taskId])) DestroyAnimVisualTask(taskId); diff --git a/src/battle/anim/wave_finger.c b/src/battle/anim/wave_finger.c deleted file mode 100644 index 2cf68c34c..000000000 --- a/src/battle/anim/wave_finger.c +++ /dev/null @@ -1,39 +0,0 @@ -#include "global.h" -#include "rom_8077ABC.h" -#include "trig.h" -#include "battle_anim.h" -#include "sound.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; - -extern void sub_80CEF44(u8 bank, struct Sprite* sprite); -void sub_80CF088(struct Sprite* sprite); - -// wave_finger -// Used by Metronome. - -void sub_80CF040(struct Sprite* sprite) -{ - u8 bank; - if (gBattleAnimArgs[0] == 0) - bank = gAnimBankAttacker; - else - bank = gAnimBankTarget; - - sub_80CEF44(bank, sprite); - sprite->data[0] = 0; - StoreSpriteCallbackInData(sprite, sub_80CF088); - sprite->callback = sub_80785E4; -} - -void sub_80CF088(struct Sprite* sprite) -{ - if (++sprite->data[0] > 16) - { - StartSpriteAffineAnim(sprite, 1); - StoreSpriteCallbackInData(sprite, move_anim_8074EE0); - sprite->callback = sub_80785E4; - } -} -- cgit v1.2.3 From 3b096d8aa7cc422993496b0306ca77a5cf9b1440 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 29 Apr 2018 16:33:21 -0400 Subject: Make data more visual --- src/pokedex_cry_screen.c | 98 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 88 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c index ee3c8a0f8..72972bf06 100644 --- a/src/pokedex_cry_screen.c +++ b/src/pokedex_cry_screen.c @@ -59,14 +59,87 @@ extern const u8 gUnknown_083FAF3C[]; #endif // ENGLISH const u16 gUnknown_083FB274[][72] = { - {0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C}, - {0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C}, - {0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D}, - {0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D}, - {0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E}, - {0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E}, - {0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F}, - {0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F} + { + 0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C, + 0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C, + 0x0800, 0x0804, 0x0808, 0x080C, 0x0810, 0x0814, 0x0818, 0x081C, + 0x0C00, 0x0C04, 0x0C08, 0x0C0C, 0x0C10, 0x0C14, 0x0C18, 0x0C1C, + 0x1000, 0x1004, 0x1008, 0x100C, 0x1010, 0x1014, 0x1018, 0x101C, + 0x1400, 0x1404, 0x1408, 0x140C, 0x1410, 0x1414, 0x1418, 0x141C, + 0x1800, 0x1804, 0x1808, 0x180C, 0x1810, 0x1814, 0x1818, 0x181C, + 0x1C00, 0x1C04, 0x1C08, 0x1C0C, 0x1C10, 0x1C14, 0x1C18, 0x1C1C, + 0x2000, 0x2004, 0x2008, 0x200C, 0x2010, 0x2014, 0x2018, 0x201C + }, { + 0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C, + 0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C, + 0x0800, 0x0804, 0x0808, 0x080C, 0x0810, 0x0814, 0x0818, 0x081C, + 0x0C00, 0x0C04, 0x0C08, 0x0C0C, 0x0C10, 0x0C14, 0x0C18, 0x0C1C, + 0x1000, 0x1004, 0x1008, 0x100C, 0x1010, 0x1014, 0x1018, 0x101C, + 0x1400, 0x1404, 0x1408, 0x140C, 0x1410, 0x1414, 0x1418, 0x141C, + 0x1800, 0x1804, 0x1808, 0x180C, 0x1810, 0x1814, 0x1818, 0x181C, + 0x1C00, 0x1C04, 0x1C08, 0x1C0C, 0x1C10, 0x1C14, 0x1C18, 0x1C1C, + 0x2000, 0x2004, 0x2008, 0x200C, 0x2010, 0x2014, 0x2018, 0x201C + }, { + 0x0001, 0x0005, 0x0009, 0x000D, 0x0011, 0x0015, 0x0019, 0x001D, + 0x0401, 0x0405, 0x0409, 0x040D, 0x0411, 0x0415, 0x0419, 0x041D, + 0x0801, 0x0805, 0x0809, 0x080D, 0x0811, 0x0815, 0x0819, 0x081D, + 0x0C01, 0x0C05, 0x0C09, 0x0C0D, 0x0C11, 0x0C15, 0x0C19, 0x0C1D, + 0x1001, 0x1005, 0x1009, 0x100D, 0x1011, 0x1015, 0x1019, 0x101D, + 0x1401, 0x1405, 0x1409, 0x140D, 0x1411, 0x1415, 0x1419, 0x141D, + 0x1801, 0x1805, 0x1809, 0x180D, 0x1811, 0x1815, 0x1819, 0x181D, + 0x1C01, 0x1C05, 0x1C09, 0x1C0D, 0x1C11, 0x1C15, 0x1C19, 0x1C1D, + 0x2001, 0x2005, 0x2009, 0x200D, 0x2011, 0x2015, 0x2019, 0x201D + }, { + 0x0001, 0x0005, 0x0009, 0x000D, 0x0011, 0x0015, 0x0019, 0x001D, + 0x0401, 0x0405, 0x0409, 0x040D, 0x0411, 0x0415, 0x0419, 0x041D, + 0x0801, 0x0805, 0x0809, 0x080D, 0x0811, 0x0815, 0x0819, 0x081D, + 0x0C01, 0x0C05, 0x0C09, 0x0C0D, 0x0C11, 0x0C15, 0x0C19, 0x0C1D, + 0x1001, 0x1005, 0x1009, 0x100D, 0x1011, 0x1015, 0x1019, 0x101D, + 0x1401, 0x1405, 0x1409, 0x140D, 0x1411, 0x1415, 0x1419, 0x141D, + 0x1801, 0x1805, 0x1809, 0x180D, 0x1811, 0x1815, 0x1819, 0x181D, + 0x1C01, 0x1C05, 0x1C09, 0x1C0D, 0x1C11, 0x1C15, 0x1C19, 0x1C1D, + 0x2001, 0x2005, 0x2009, 0x200D, 0x2011, 0x2015, 0x2019, 0x201D + }, { + 0x0002, 0x0006, 0x000A, 0x000E, 0x0012, 0x0016, 0x001A, 0x001E, + 0x0402, 0x0406, 0x040A, 0x040E, 0x0412, 0x0416, 0x041A, 0x041E, + 0x0802, 0x0806, 0x080A, 0x080E, 0x0812, 0x0816, 0x081A, 0x081E, + 0x0C02, 0x0C06, 0x0C0A, 0x0C0E, 0x0C12, 0x0C16, 0x0C1A, 0x0C1E, + 0x1002, 0x1006, 0x100A, 0x100E, 0x1012, 0x1016, 0x101A, 0x101E, + 0x1402, 0x1406, 0x140A, 0x140E, 0x1412, 0x1416, 0x141A, 0x141E, + 0x1802, 0x1806, 0x180A, 0x180E, 0x1812, 0x1816, 0x181A, 0x181E, + 0x1C02, 0x1C06, 0x1C0A, 0x1C0E, 0x1C12, 0x1C16, 0x1C1A, 0x1C1E, + 0x2002, 0x2006, 0x200A, 0x200E, 0x2012, 0x2016, 0x201A, 0x201E + }, { + 0x0002, 0x0006, 0x000A, 0x000E, 0x0012, 0x0016, 0x001A, 0x001E, + 0x0402, 0x0406, 0x040A, 0x040E, 0x0412, 0x0416, 0x041A, 0x041E, + 0x0802, 0x0806, 0x080A, 0x080E, 0x0812, 0x0816, 0x081A, 0x081E, + 0x0C02, 0x0C06, 0x0C0A, 0x0C0E, 0x0C12, 0x0C16, 0x0C1A, 0x0C1E, + 0x1002, 0x1006, 0x100A, 0x100E, 0x1012, 0x1016, 0x101A, 0x101E, + 0x1402, 0x1406, 0x140A, 0x140E, 0x1412, 0x1416, 0x141A, 0x141E, + 0x1802, 0x1806, 0x180A, 0x180E, 0x1812, 0x1816, 0x181A, 0x181E, + 0x1C02, 0x1C06, 0x1C0A, 0x1C0E, 0x1C12, 0x1C16, 0x1C1A, 0x1C1E, + 0x2002, 0x2006, 0x200A, 0x200E, 0x2012, 0x2016, 0x201A, 0x201E + }, { + 0x0003, 0x0007, 0x000B, 0x000F, 0x0013, 0x0017, 0x001B, 0x001F, + 0x0403, 0x0407, 0x040B, 0x040F, 0x0413, 0x0417, 0x041B, 0x041F, + 0x0803, 0x0807, 0x080B, 0x080F, 0x0813, 0x0817, 0x081B, 0x081F, + 0x0C03, 0x0C07, 0x0C0B, 0x0C0F, 0x0C13, 0x0C17, 0x0C1B, 0x0C1F, + 0x1003, 0x1007, 0x100B, 0x100F, 0x1013, 0x1017, 0x101B, 0x101F, + 0x1403, 0x1407, 0x140B, 0x140F, 0x1413, 0x1417, 0x141B, 0x141F, + 0x1803, 0x1807, 0x180B, 0x180F, 0x1813, 0x1817, 0x181B, 0x181F, + 0x1C03, 0x1C07, 0x1C0B, 0x1C0F, 0x1C13, 0x1C17, 0x1C1B, 0x1C1F, + 0x2003, 0x2007, 0x200B, 0x200F, 0x2013, 0x2017, 0x201B, 0x201F + }, { + 0x0003, 0x0007, 0x000B, 0x000F, 0x0013, 0x0017, 0x001B, 0x001F, + 0x0403, 0x0407, 0x040B, 0x040F, 0x0413, 0x0417, 0x041B, 0x041F, + 0x0803, 0x0807, 0x080B, 0x080F, 0x0813, 0x0817, 0x081B, 0x081F, + 0x0C03, 0x0C07, 0x0C0B, 0x0C0F, 0x0C13, 0x0C17, 0x0C1B, 0x0C1F, + 0x1003, 0x1007, 0x100B, 0x100F, 0x1013, 0x1017, 0x101B, 0x101F, + 0x1403, 0x1407, 0x140B, 0x140F, 0x1413, 0x1417, 0x141B, 0x141F, + 0x1803, 0x1807, 0x180B, 0x180F, 0x1813, 0x1817, 0x181B, 0x181F, + 0x1C03, 0x1C07, 0x1C0B, 0x1C0F, 0x1C13, 0x1C17, 0x1C1B, 0x1C1F, + 0x2003, 0x2007, 0x200B, 0x200F, 0x2013, 0x2017, 0x201B, 0x201F + } }; struct PokedexCryScreen_201C000 * const gPokedexCryScreenPtr = (struct PokedexCryScreen_201C000 *)(gSharedMem + 0x1c000); @@ -76,8 +149,13 @@ const u16 gUnknown_083FB718[] = INCBIN_U16("graphics/pokedex/83FB718.4bpp"); const u8 gUnknown_083FB738[] = {0xF0, 0x0F}; const u8 gUnknown_083FB73A[][16] = { - {0x0F,0x0E,0x0D,0x0C,0x0B,0x0A,0x09,0x08,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F}, - {0xF0,0xE0,0xD0,0xC0,0xB0,0xA0,0x90,0x80,0x80,0x90,0xA0,0xB0,0xC0,0xD0,0xE0,0xF0} + { + 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F + }, { + 0xF0, 0xE0, 0xD0, 0xC0, 0xB0, 0xA0, 0x90, 0x80, + 0x80, 0x90, 0xA0, 0xB0, 0xC0, 0xD0, 0xE0, 0xF0 + } }; struct Unk201C800 * const gPokedexCryScreenPtr2 = (struct Unk201C800 *)(gSharedMem + 0x1c800); -- cgit v1.2.3 From d68e8b09eecd136fc0dcc32c1e08b946b8981adc Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 30 Apr 2018 10:46:34 -0700 Subject: Finish moving battle anim .rodata into .c files --- src/battle/anim/beta_beat_up.c | 25 +++ src/battle/anim/bug.c | 186 +++++++++++++++- src/battle/anim/current.c | 335 +++++++++++++++++++++++++++- src/battle/anim/dark.c | 164 ++++++++++++++ src/battle/anim/dragon.c | 196 +++++++++++++++- src/battle/anim/energy_wave.c | 144 +++++++++++- src/battle/anim/fight.c | 394 ++++++++++++++++++++++++++++++++ src/battle/anim/fire.c | 172 +++++++++++++- src/battle/anim/fire_2.c | 302 +++++++++++++++++++++++-- src/battle/anim/flying.c | 346 ++++++++++++++++++++++++++++ src/battle/anim/ghost.c | 191 ++++++++++++++++ src/battle/anim/ground.c | 125 +++++++++++ src/battle/anim/heated_rock.c | 129 ----------- src/battle/anim/ice.c | 495 +++++++++++++++++++++++++++++++++++++++++ src/battle/anim/normal.c | 240 ++++++++++++++++++++ src/battle/anim/poison.c | 192 +++++++++++++++- src/battle/anim/psychic.c | 408 ++++++++++++++++++++++++++++++++- src/battle/anim/rock.c | 295 +++++++++++++++++++++++- src/battle/anim/shock.c | 51 +++++ src/battle/anim/sunlight.c | 25 +++ src/battle/anim/thunder.c | 27 +++ src/battle/anim/water.c | 182 ++++++++++++++- src/battle/anim/wisp_fire.c | 43 +++- src/battle/anim/wisp_orb.c | 47 ++++ 24 files changed, 4521 insertions(+), 193 deletions(-) create mode 100755 src/battle/anim/flying.c create mode 100755 src/battle/anim/ghost.c create mode 100755 src/battle/anim/ground.c delete mode 100644 src/battle/anim/heated_rock.c create mode 100755 src/battle/anim/ice.c create mode 100755 src/battle/anim/normal.c (limited to 'src') diff --git a/src/battle/anim/beta_beat_up.c b/src/battle/anim/beta_beat_up.c index ee889492c..166782362 100644 --- a/src/battle/anim/beta_beat_up.c +++ b/src/battle/anim/beta_beat_up.c @@ -7,10 +7,35 @@ extern s16 gBattleAnimArgs[8]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80D6234(struct Sprite *sprite); static void sub_80D6278(struct Sprite *); // beta_beat_up +const union AffineAnimCmd gSpriteAffineAnim_83D97E8[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 20), + AFFINEANIMCMD_FRAME(0x0, 0x0, -16, 60), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9808[] = +{ + gSpriteAffineAnim_83D97E8, +}; + +const struct SpriteTemplate gSpriteTemplate_83D980C = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9808, + .callback = sub_80D6234, +}; + void sub_80D6234(struct Sprite *sprite) { if (GetBattlerSide(gAnimBankAttacker) != 0) diff --git a/src/battle/anim/bug.c b/src/battle/anim/bug.c index 245e45774..c4c7fe937 100644 --- a/src/battle/anim/bug.c +++ b/src/battle/anim/bug.c @@ -3,18 +3,202 @@ #include "contest.h" #include "rom_8077ABC.h" #include "trig.h" -// #include "util.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80DC824(struct Sprite *sprite); +void sub_80DC8F4(struct Sprite *sprite); +void sub_80DC9A0(struct Sprite *sprite); +void sub_80DCA70(struct Sprite *sprite); +void sub_80DCB38(struct Sprite *sprite); +void AnimTranslateStinger(struct Sprite *sprite); +void AnimMissileArc(struct Sprite *sprite); +void sub_80DCE40(struct Sprite *sprite); static void sub_80DCA38(struct Sprite *sprite); static void sub_80DCAEC(struct Sprite *sprite); static void sub_80DCB5C(struct Sprite *sprite); static void sub_80DCBB4(struct Sprite *sprite); static void AnimMissileArcStep(struct Sprite *sprite); +const union AffineAnimCmd gSpriteAffineAnim_83DAA80[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 30, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAA90[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, -99, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAAA0[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 94, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAAB0[] = +{ + gSpriteAffineAnim_83DAA80, + gSpriteAffineAnim_83DAA90, + gSpriteAffineAnim_83DAAA0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAABC = +{ + .tileTag = 10153, + .paletteTag = 10153, + .oam = &gOamData_837E014, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DAAB0, + .callback = sub_80DC824, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAAD4[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -33, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAAE4[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAAF4[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAB04[] = +{ + gSpriteAffineAnim_83DAAD4, + gSpriteAffineAnim_83DAAE4, + gSpriteAffineAnim_83DAAF4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAB10 = +{ + .tileTag = 10161, + .paletteTag = 10161, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DAB04, + .callback = sub_80DC8F4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAB28 = +{ + .tileTag = 10180, + .paletteTag = 10180, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DC9A0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAB40 = +{ + .tileTag = 10179, + .paletteTag = 10179, + .oam = &gOamData_837DF5C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DCA70, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAB58[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAB70[] = +{ + gSpriteAffineAnim_83DAB58, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAB74 = +{ + .tileTag = 10181, + .paletteTag = 10181, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DAB70, + .callback = sub_80DCB38, +}; + +const struct SpriteTemplate gLinearStingerSpriteTemplate = +{ + .tileTag = 10161, + .paletteTag = 10161, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimTranslateStinger, +}; + +const struct SpriteTemplate gPinMissileSpriteTemplate = +{ + .tileTag = 10161, + .paletteTag = 10161, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMissileArc, +}; + +const struct SpriteTemplate gIcicleSpearSpriteTemplate = +{ + .tileTag = 10262, + .paletteTag = 10262, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMissileArc, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DABD4[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 18), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFFB, 0xFFFB, 0, 8), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 8), + AFFINEANIMCMD_LOOP(5), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAC0C[] = +{ + gSpriteAffineAnim_83DABD4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAC10 = +{ + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DAC0C, + .callback = sub_80DCE40, +}; + // used in Move_MEGAHORN void sub_80DC824(struct Sprite *sprite) { diff --git a/src/battle/anim/current.c b/src/battle/anim/current.c index af9003e87..af72edef0 100755 --- a/src/battle/anim/current.c +++ b/src/battle/anim/current.c @@ -12,14 +12,20 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern u8 gAnimVisualTaskCount; -extern const struct SpriteTemplate gSpriteTemplate_83D9938; -extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9950; -extern const struct SpriteTemplate gSpriteTemplate_83D99B8; -extern const struct SpriteTemplate gSpriteTemplate_83D9B10; -extern const struct SpriteTemplate gSpriteTemplate_83D9B40; extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D97D0; -extern s8 gUnknown_083D9968[][2]; +void sub_80D648C(struct Sprite *sprite); +void sub_80D65DC(struct Sprite *sprite); +void sub_80D6658(struct Sprite *sprite); +void sub_80D679C(struct Sprite *sprite); +void sub_80D6A1C(struct Sprite *sprite); +void sub_80D6A6C(struct Sprite *sprite); +void sub_80D6D18(struct Sprite *sprite); +void sub_80D6D70(struct Sprite *sprite); +void sub_80D6DD8(struct Sprite *sprite); +void sub_80D7230(struct Sprite *sprite); +void sub_80D727C(struct Sprite *sprite); +void sub_80D755C(struct Sprite *sprite); static void sub_80D6514(struct Sprite *sprite); static void sub_80D672C(struct Sprite *sprite); static void sub_80D6874(u8 taskId); @@ -32,6 +38,323 @@ static bool8 sub_80D7470(struct Task *task, u8 taskId); static bool8 sub_80D7654(struct Task *task, u8 taskId); static void sub_80D76C4(struct Sprite *sprite); +const union AffineAnimCmd gSpriteAffineAnim_83D988C[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D989C[] = +{ + gSpriteAffineAnim_83D988C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D98A0 = +{ + .tileTag = 10011, + .paletteTag = 10011, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D989C, + .callback = sub_80D648C, +}; + +const union AnimCmd gSpriteAnim_83D98B8[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D98C8[] = +{ + gSpriteAnim_83D98B8, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D98CC[] = +{ + AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 10), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D98EC[] = +{ + gSpriteAffineAnim_83D98CC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D98F0 = +{ + .tileTag = 10282, + .paletteTag = 10282, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D98C8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D98EC, + .callback = sub_80D65DC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9908 = +{ + .tileTag = 10011, + .paletteTag = 10011, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D989C, + .callback = sub_80D6658, +}; + +const struct SpriteTemplate gElectricitySpriteTemplate = +{ + .tileTag = 10011, + .paletteTag = 10011, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D679C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9938 = +{ + .tileTag = 10001, + .paletteTag = 10001, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D6A1C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9950 = +{ + .tileTag = 10173, + .paletteTag = 10173, + .oam = &gOamData_837DF54, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D6A6C, +}; + +const s8 gUnknown_083D9968[][2] = +{ + { 58, -60}, + {-56, -36}, + { 8, -56}, + {-16, 56}, + { 58, -10}, + {-58, 10}, + { 48, -18}, + {-8, 56}, + { 16, -56}, + {-58, -42}, + { 58, 30}, + {-48, 40}, + { 12, -48}, + { 48, -12}, + {-56, 18}, + { 48, 48}, +}; + +const union AnimCmd gSpriteAnim_83D9988[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D999C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D99B0[] = +{ + gSpriteAnim_83D9988, + gSpriteAnim_83D999C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D99B8 = +{ + .tileTag = 10211, + .paletteTag = 10211, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D99B0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D99D0[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5), + AFFINEANIMCMD_LOOP(10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9A10[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5), + AFFINEANIMCMD_JUMP(3), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9A40[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 30), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9A60[] = +{ + gSpriteAffineAnim_83D99D0, + gSpriteAffineAnim_83D9A10, + gSpriteAffineAnim_83D9A40, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9A6C = +{ + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9A60, + .callback = sub_80D6D18, +}; + +const union AnimCmd gSpriteAnim_83D9A84[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9A98[] = +{ + gSpriteAnim_83D9A84, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9A9C = +{ + .tileTag = 10213, + .paletteTag = 10213, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9A98, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D6D70, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9AB4 = +{ + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9A60, + .callback = sub_80D6DD8, +}; + +const union AnimCmd gSpriteAnim_83D9ACC[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9AD4[] = +{ + ANIMCMD_FRAME(2, 3), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9ADC[] = +{ + ANIMCMD_FRAME(4, 3), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9AE4[] = +{ + ANIMCMD_FRAME(6, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9AEC[] = +{ + gSpriteAnim_83D9ACC, + gSpriteAnim_83D9AD4, + gSpriteAnim_83D9ADC, + gSpriteAnim_83D9AE4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9AFC[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9B0C[] = +{ + gSpriteAffineAnim_83D9AFC, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9B10 = +{ + .tileTag = 10001, + .paletteTag = 10001, + .oam = &gOamData_837E024, + .anims = gSpriteAnimTable_83D9AEC, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9B0C, + .callback = sub_80D7230, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9B28 = +{ + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9A60, + .callback = sub_80D727C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9B40 = +{ + .tileTag = 10001, + .paletteTag = 10001, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D755C, +}; void sub_80D648C(struct Sprite *sprite) { diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index 55d500950..a7026edff 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -28,6 +28,10 @@ extern const u8 gUnknown_08D1D574[]; extern const u8 gUnknown_08D1D410[]; extern const u16 gUnknown_08D1D54C[]; +void sub_80DFE14(struct Sprite *sprite); +void sub_80DFF1C(struct Sprite *sprite); +void sub_80DFFD0(struct Sprite *sprite); +void sub_80E0A10(struct Sprite *sprite); static void sub_80DFE90(struct Sprite *sprite); static void sub_80DFC9C(u8 taskId); static void sub_80DFD58(u8 taskId); @@ -40,6 +44,166 @@ static void sub_80E08CC(u8 priority); static void sub_80E079C(struct Task *task); static void sub_80E0CD0(u8 taskId); +const struct SpriteTemplate gSpriteTemplate_83DB118 = +{ + .tileTag = 10015, + .paletteTag = 10015, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DFE14, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB130[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB140[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 32, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB150[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 64, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB160[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB170[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -128, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB180[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -96, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB190[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -64, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB1A0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -32, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB1B0[] = +{ + gSpriteAffineAnim_83DB130, + gSpriteAffineAnim_83DB140, + gSpriteAffineAnim_83DB150, + gSpriteAffineAnim_83DB160, + gSpriteAffineAnim_83DB170, + gSpriteAffineAnim_83DB180, + gSpriteAffineAnim_83DB190, + gSpriteAffineAnim_83DB1A0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB1D0 = +{ + .tileTag = 10139, + .paletteTag = 10139, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB1B0, + .callback = sub_80DFF1C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB1E8 = +{ + .tileTag = 10145, + .paletteTag = 10145, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB1B0, + .callback = sub_80DFF1C, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB200[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, 80, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB218[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, -80, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB230[] = +{ + gSpriteAffineAnim_83DB200, + gSpriteAffineAnim_83DB218, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB238 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB230, + .callback = sub_80DFFD0, +}; + +const union AnimCmd gSpriteAnim_83DB250[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DB268[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_FRAME(48, 4, .hFlip = TRUE), + ANIMCMD_FRAME(64, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DB280[] = +{ + gSpriteAnim_83DB250, + gSpriteAnim_83DB268, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB288 = +{ + .tileTag = 10039, + .paletteTag = 10039, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DB280, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E0A10, +}; // used in Smoke Ball escape, Sky Attack, Feint Attack and Camouflage void sub_80DFC24(u8 taskId) diff --git a/src/battle/anim/dragon.c b/src/battle/anim/dragon.c index 4c8448636..163529ecb 100644 --- a/src/battle/anim/dragon.c +++ b/src/battle/anim/dragon.c @@ -5,13 +5,6 @@ #include "sound.h" #include "scanline_effect.h" -void sub_80DF81C(struct Sprite *sprite); -void sub_80DFBD8(struct Sprite *sprite); - -void sub_80DF9F4(u8 taskId); - -void sub_80DFAB0(struct Task *task); - extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; @@ -21,6 +14,187 @@ extern u16 gBattle_BG2_X; extern u16 gUnknown_03000730[]; extern u8 gBankSpriteIds[]; +void sub_80DF5A0(struct Sprite *sprite); +void sub_80DF760(struct Sprite *sprite); +void sub_80DF6F0(struct Sprite *sprite); +void sub_80DF760(struct Sprite *sprite); +void sub_80DF78C(struct Sprite *sprite); +void sub_80DFB28(struct Sprite *sprite); +static void sub_80DF81C(struct Sprite *sprite); +static void sub_80DFBD8(struct Sprite *sprite); +static void sub_80DF9F4(u8 taskId); +static void sub_80DFAB0(struct Task *task); + +const union AnimCmd gSpriteAnim_83DAFB0[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83DAFC8[] = +{ + gSpriteAnim_83DAFB0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAFCC = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DAFC8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DF5A0, +}; + +const union AnimCmd gSpriteAnim_83DAFE4[] = +{ + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gSpriteAnim_83DAFF4[] = +{ + ANIMCMD_FRAME(16, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(48, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83DB004[] = +{ + gSpriteAnim_83DAFE4, + gSpriteAnim_83DAFF4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB00C[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 127, 0), + AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB024[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), + AFFINEANIMCMD_FRAME(0xD, 0xD, 0, 100), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB03C[] = +{ + gSpriteAffineAnim_83DB00C, + gSpriteAffineAnim_83DB024, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB044 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DFF4, + .anims = gSpriteAnimTable_83DB004, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB03C, + .callback = sub_80DF760, +}; + +const union AnimCmd gSpriteAnim_83DB05C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DB074[] = +{ + gSpriteAnim_83DB05C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB078 = +{ + .tileTag = 10035, + .paletteTag = 10035, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DB074, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DF6F0, +}; + +const union AnimCmd gSpriteAnim_83DB090[] = +{ + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83DB0A0[] = +{ + gSpriteAnim_83DB090, + gSpriteAnim_83DB090, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB0A8[] = +{ + AFFINEANIMCMD_FRAME(0x64, 0x64, 127, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB0B8[] = +{ + AFFINEANIMCMD_FRAME(0x64, 0x64, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB0C8[] = +{ + gSpriteAffineAnim_83DB0A8, + gSpriteAffineAnim_83DB0B8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB0D0 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DFF4, + .anims = gSpriteAnimTable_83DB0A0, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB0C8, + .callback = sub_80DF760, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB0E8 = +{ + .tileTag = 10249, + .paletteTag = 10249, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DF78C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB100 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DAFC8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DFB28, +}; + // Outrage void sub_80DF5A0(struct Sprite *sprite) @@ -123,7 +297,7 @@ void sub_80DF78C(struct Sprite *sprite) sprite->callback = sub_80DF81C; } -void sub_80DF81C(struct Sprite *sprite) +static void sub_80DF81C(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -196,7 +370,7 @@ void sub_80DF924(u8 taskId) task->func = sub_80DF9F4; } -void sub_80DF9F4(u8 taskId) +static void sub_80DF9F4(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) @@ -234,7 +408,7 @@ void sub_80DF9F4(u8 taskId) } } -void sub_80DFAB0(struct Task *task) +static void sub_80DFAB0(struct Task *task) { u16 r3 = task->data[5]; u16 i; @@ -264,7 +438,7 @@ void sub_80DFB28(struct Sprite *sprite) gUnknown_03000730[i] = sprite->data[i]; } -void sub_80DFBD8(struct Sprite *sprite) +static void sub_80DFBD8(struct Sprite *sprite) { sprite->data[4] += sprite->data[1]; sprite->data[5] += sprite->data[2]; diff --git a/src/battle/anim/energy_wave.c b/src/battle/anim/energy_wave.c index 7980c7b34..9ac362b57 100644 --- a/src/battle/anim/energy_wave.c +++ b/src/battle/anim/energy_wave.c @@ -8,8 +8,11 @@ extern s16 gBattleAnimArgs[8]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern const struct SpriteTemplate gSpriteTemplate_83D9130[]; +extern const union AffineAnimCmd *const gSpriteAffineAnimTable_83D752C[]; +void sub_80D3554(struct Sprite *sprite); +void sub_80D3698(struct Sprite *sprite); +void sub_80D3728(struct Sprite *sprite); static void sub_80D35DC(struct Sprite *); static void sub_80D365C(u8); static void sub_80D370C(struct Sprite *); @@ -18,6 +21,145 @@ static void sub_80D370C(struct Sprite *); // Used in Hydro Pump, Mud Shot, Signal Beam, Flamethrower, Psywave, and // Hydro Cannon. +const union AnimCmd gSpriteAnim_83D91DC[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(12, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D91F0[] = +{ + gSpriteAnim_83D91DC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D91F4 = +{ + .tileTag = 10149, + .paletteTag = 10149, + .oam = &gOamData_837E04C, + .anims = gSpriteAnimTable_83D91F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D3554, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D920C = +{ + .tileTag = 10259, + .paletteTag = 10259, + .oam = &gOamData_837E04C, + .anims = gSpriteAnimTable_83D91F0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D3554, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9224 = +{ + .tileTag = 10264, + .paletteTag = 10264, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D3554, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D923C = +{ + .tileTag = 10265, + .paletteTag = 10265, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D3554, +}; + +const union AnimCmd gSpriteAnim_83D9254[] = +{ + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_FRAME(48, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9264[] = +{ + gSpriteAnim_83D9254, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9268 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9264, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D3554, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9280 = +{ + .tileTag = 10165, + .paletteTag = 10165, + .oam = &gOamData_837E034, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D752C, + .callback = sub_80D3554, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9298[] = +{ + AFFINEANIMCMD_FRAME(0x3, 0x3, 10, 50), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 10), + AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, -10, 20), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D92B8[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D92C8[] = +{ + gSpriteAffineAnim_83D9298, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D92CC[] = +{ + gSpriteAffineAnim_83D92B8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D92D0 = +{ + .tileTag = 10149, + .paletteTag = 10149, + .oam = &gOamData_837E10C, + .anims = gSpriteAnimTable_83D91F0, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D92C8, + .callback = sub_80D3698, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D92E8 = +{ + .tileTag = 10149, + .paletteTag = 10149, + .oam = &gOamData_837E10C, + .anims = gSpriteAnimTable_83D91F0, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D92CC, + .callback = sub_80D3728, +}; + void sub_80D3554(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); diff --git a/src/battle/anim/fight.c b/src/battle/anim/fight.c index 5e25d664a..af2af1981 100644 --- a/src/battle/anim/fight.c +++ b/src/battle/anim/fight.c @@ -26,6 +26,25 @@ extern u8 gAnimMoveTurn; extern struct SpriteTemplate gBasicHitSplatSpriteTemplate; +void sub_080B08A0(struct Sprite *sprite); +void sub_80D902C(struct Sprite *sprite); +void sub_80D9078(struct Sprite *sprite); +void AnimBasicFistOrFoot(struct Sprite *sprite); +void sub_80D90F4(struct Sprite *sprite); +void sub_80D92D0(struct Sprite *sprite); +void sub_80D9378(struct Sprite *sprite); +void AnimSpinningKickOrPunch(struct Sprite *sprite); +void AnimSpinningKickOrPunch(struct Sprite *sprite); +void AnimStompFoot(struct Sprite *sprite); +void sub_80D9540(struct Sprite *sprite); +void sub_80D95D0(struct Sprite *sprite); +void sub_80D96B8(struct Sprite *sprite); +void sub_80D97CC(struct Sprite *sprite); +void sub_80D98D8(struct Sprite *sprite); +void sub_80D9A38(struct Sprite *sprite); +void sub_80D9B48(struct Sprite *sprite); +void sub_80D9BD4(struct Sprite *sprite); +void sub_80D9C40(struct Sprite *sprite); static void sub_80D927C(struct Sprite *sprite); static void sub_80D9328(struct Sprite *sprite); static void sub_80D9404(struct Sprite *sprite); @@ -38,6 +57,381 @@ static void sub_80D986C(struct Sprite *sprite); static void sub_80D9934(struct Sprite *sprite); static void sub_80D99F4(struct Sprite *sprite); +const struct SpriteTemplate gSpriteTemplate_83D9F24 = +{ + .tileTag = 10050, + .paletteTag = 10050, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_080B08A0, +}; + +const union AnimCmd gSpriteAnim_83D9F3C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9F44[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9F4C[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9F54[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9F5C[] = +{ + ANIMCMD_FRAME(48, 1, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9F64[] = +{ + gSpriteAnim_83D9F3C, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9F68[] = +{ + gSpriteAnim_83D9F44, + gSpriteAnim_83D9F4C, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9F70[] = +{ + gSpriteAnim_83D9F54, + gSpriteAnim_83D9F5C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9F78 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D902C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9F90 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D9078, +}; + +const struct SpriteTemplate gFistFootSpriteTemplate = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimBasicFistOrFoot, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9FC0 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D90F4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9FD8 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F70, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D92D0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9FF0 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F68, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D9378, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA008[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 20, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA020[] = +{ + gSpriteAffineAnim_83DA008, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA024 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DFF4, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA020, + .callback = AnimSpinningKickOrPunch, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA03C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 20, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA054[] = +{ + gSpriteAffineAnim_83DA03C, +}; + +const struct SpriteTemplate gMegaPunchKickSpriteTemplate = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DFF4, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA054, + .callback = AnimSpinningKickOrPunch, +}; + +const struct SpriteTemplate gStompFootSpriteTemplate = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F68, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimStompFoot, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA088 = +{ + .tileTag = 10073, + .paletteTag = 10073, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D9540, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA0A0 = +{ + .tileTag = 10167, + .paletteTag = 10167, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D95D0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA0B8 = +{ + .tileTag = 10208, + .paletteTag = 10208, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D96B8, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA0D0[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 64), + AFFINEANIMCMD_FRAME(0xFFFA, 0xFFFA, 0, 8), + AFFINEANIMCMD_FRAME(0x6, 0x6, 0, 8), + AFFINEANIMCMD_JUMP(2), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA0F8[] = +{ + gSpriteAffineAnim_83DA0D0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA0FC = +{ + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA0F8, + .callback = sub_80D97CC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA114 = +{ + .tileTag = 10257, + .paletteTag = 10257, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D98D8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA12C = +{ + .tileTag = 10256, + .paletteTag = 10256, + .oam = &gOamData_837DF3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D9A38, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA144 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D9B48, +}; + +const union AnimCmd gSpriteAnim_83DA15C[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA16C[] = +{ + ANIMCMD_FRAME(0, 4, .vFlip = TRUE), + ANIMCMD_FRAME(16, 4, .vFlip = TRUE), + ANIMCMD_FRAME(32, 4, .vFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA17C[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(16, 4, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA18C[] = +{ + gSpriteAnim_83DA15C, + gSpriteAnim_83DA16C, + gSpriteAnim_83DA17C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA198 = +{ + .tileTag = 10245, + .paletteTag = 10245, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DA18C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D9BD4, +}; + +const union AnimCmd gSpriteAnim_83DA1B0[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(64, 6), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA1BC[] = +{ + ANIMCMD_FRAME(0, 6, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 6, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA1C8[] = +{ + ANIMCMD_FRAME(0, 6, .hFlip = TRUE), + ANIMCMD_FRAME(64, 6, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA1D4[] = +{ + gSpriteAnim_83DA1B0, + gSpriteAnim_83DA1BC, + gSpriteAnim_83DA1C8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA1E0 = +{ + .tileTag = 10246, + .paletteTag = 10246, + .oam = &gOamData_837DF3C, + .anims = gSpriteAnimTable_83DA1D4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D9BD4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA1F8[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_FRAME(0xFFE0, 0xFFE0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA210[] = +{ + gSpriteAffineAnim_83DA1F8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA214 = +{ + .tileTag = 10143, + .paletteTag = 10143, + .oam = &gOamData_837DFF4, + .anims = gSpriteAnimTable_83D9F64, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA210, + .callback = sub_80D9C40, +}; void sub_080B08A0(struct Sprite *sprite) { diff --git a/src/battle/anim/fire.c b/src/battle/anim/fire.c index 0939c938c..929828ed4 100644 --- a/src/battle/anim/fire.c +++ b/src/battle/anim/fire.c @@ -6,8 +6,170 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; -void sub_80D5038(struct Sprite *); -void sub_80D50E8(struct Sprite *); +void sub_80D4ED8(struct Sprite *sprite); +void sub_80D4F18(struct Sprite *sprite); +void sub_80D4FCC(struct Sprite *sprite); +void sub_80D4F5C(struct Sprite *sprite); +void sub_80D5074(struct Sprite *sprite); +static void sub_80D5038(struct Sprite *); +static void sub_80D50E8(struct Sprite *); + +const union AnimCmd gSpriteAnim_83D9450[] = +{ + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gSpriteAnim_83D9460[] = +{ + ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(48, 4, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9470[] = +{ + gSpriteAnim_83D9450, + gSpriteAnim_83D9460, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9478 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9470, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D4ED8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9490 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9470, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D4F18, +}; + +const union AnimCmd gSpriteAnim_83D94A8[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_FRAME(80, 3), + ANIMCMD_FRAME(96, 3), + ANIMCMD_FRAME(112, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D94CC[] = +{ + gSpriteAnim_83D94A8, +}; + +const union AnimCmd gSpriteAnim_83D94D0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D94E8[] = +{ + gSpriteAnim_83D94D0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D94EC[] = +{ + AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9504[] = +{ + gSpriteAffineAnim_83D94EC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9508 = +{ + .tileTag = 10033, + .paletteTag = 10033, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83D94CC, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9504, + .callback = sub_80D4FCC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9520 = +{ + .tileTag = 10033, + .paletteTag = 10033, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D94CC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D4FCC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9538 = +{ + .tileTag = 10035, + .paletteTag = 10035, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D94E8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D4F5C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9550 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D94E8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D4F5C, +}; + +const union AnimCmd gSpriteAnim_83D9568[] = +{ + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9578[] = +{ + gSpriteAnim_83D9568, +}; + +const struct SpriteTemplate gSpriteTemplate_83D957C = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9578, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D5074, +}; void sub_80D4ED8(struct Sprite *sprite) { @@ -20,7 +182,7 @@ void sub_80D4ED8(struct Sprite *sprite) StoreSpriteCallbackInData(sprite, DestroyAnimSprite); sprite->callback = sub_8078174; - sub_8078174(sprite); + sprite->callback(sprite); } void sub_80D4F18(struct Sprite *sprite) @@ -82,7 +244,7 @@ void sub_80D4FCC(struct Sprite *sprite) sprite->callback = sub_80D5038; } -void sub_80D5038(struct Sprite *sprite) +static void sub_80D5038(struct Sprite *sprite) { if (++sprite->data[0] < sprite->data[4]) { @@ -119,7 +281,7 @@ void sub_80D5074(struct Sprite *sprite) sprite->callback = sub_80D50E8; } -void sub_80D50E8(struct Sprite *sprite) +static void sub_80D50E8(struct Sprite *sprite) { if (sprite->data[3]) { diff --git a/src/battle/anim/fire_2.c b/src/battle/anim/fire_2.c index 97ac2e933..b055d7c80 100644 --- a/src/battle/anim/fire_2.c +++ b/src/battle/anim/fire_2.c @@ -9,18 +9,180 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern struct SpriteTemplate gSpriteTemplate_83D96C4; -extern s16 gHeatedRockCoords[7][2]; +void AnimEmberFlare(struct Sprite *sprite); +void sub_80D5210(struct Sprite *sprite); +void AnimFireRing(struct Sprite *sprite); +void AnimFireCross(struct Sprite *sprite); +void sub_80D53B4(struct Sprite *sprite); +void sub_80D58FC(struct Sprite *sprite); +void sub_80D5A20(struct Sprite *sprite); static void AnimFireRingStep1(struct Sprite *); static void UpdateFireRingCircleOffset(struct Sprite *); static void AnimFireRingStep2(struct Sprite *); static void AnimFireRingStep3(struct Sprite *); -void sub_80D53F4(struct Sprite *); -void sub_80D541C(struct Sprite *); -void sub_80D54E0(u8 taskId); -void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3); +static void sub_80D53F4(struct Sprite *); +static void sub_80D541C(struct Sprite *); +static void sub_80D54E0(u8 taskId); +static void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3); +static void sub_80D59B0(struct Sprite *); +static void sub_80D5A74(struct Sprite *); + +const union AnimCmd gSpriteAnim_83D95C8[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D95E0[] = +{ + gSpriteAnim_83D95C8, +}; + +const struct SpriteTemplate gEmberSpriteTemplate = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const struct SpriteTemplate gEmberFlareSpriteTemplate = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D95E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimEmberFlare, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9614 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D95E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D5210, +}; + +const struct SpriteTemplate gFireRingSpriteTemplate = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D95E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimFireRing, +}; + +const union AnimCmd gSpriteAnim_83D9644[] = +{ + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9650[] = +{ + gSpriteAnim_83D9644, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9654[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9664[] = +{ + AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0), + AFFINEANIMCMD_END, +}; +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9674[] = +{ + gSpriteAffineAnim_83D9654, + gSpriteAffineAnim_83D9664, +}; + +const struct SpriteTemplate gFireCrossSpriteTemplate = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9650, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimFireCross, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9694 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D95E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D53B4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D96AC = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D95E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_807A9BC, +}; + + +const struct SpriteTemplate gSpriteTemplate_83D96C4 = +{ + .tileTag = 10201, + .paletteTag = 10201, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D58FC, +}; + +const s16 gHeatedRockCoords[][2] = +{ + {-2, -5}, + {-1, -1}, + { 3, -6}, + { 4, -2}, + { 2, -8}, + {-5, -5}, + { 4, -7}, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D96F8 = +{ + .tileTag = 10201, + .paletteTag = 10201, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D5A20, +}; // Animates the secondary effect of MOVE_EMBER, where the flames grow and slide // horizontally a bit. @@ -42,13 +204,12 @@ void AnimEmberFlare(struct Sprite *sprite) sprite->callback(sprite); } -struct Sprite *sub_80D5210(struct Sprite *sprite) +void sub_80D5210(struct Sprite *sprite) { gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[2] = -gBattleAnimArgs[2]; sprite->callback = sub_8079534; - return sprite; } // Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST @@ -157,7 +318,7 @@ void sub_80D53B4(struct Sprite *sprite) StoreSpriteCallbackInData(sprite, sub_80D53F4); } -void sub_80D53F4(struct Sprite *sprite) +static void sub_80D53F4(struct Sprite *sprite) { sprite->invisible = FALSE; @@ -168,7 +329,7 @@ void sub_80D53F4(struct Sprite *sprite) sub_80D541C(sprite); } -void sub_80D541C(struct Sprite *sprite) +static void sub_80D541C(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); sprite->pos2.y = Cos(sprite->data[1], sprite->data[2] >> 8); @@ -199,7 +360,7 @@ void sub_80D5470(u8 taskId) // initialize animation task for Move_ERUPTION? task->func = sub_80D54E0; } -void sub_80D54E0(u8 taskId) // animate Move_ERUPTION? +static void sub_80D54E0(u8 taskId) // animate Move_ERUPTION? { struct Task *task = &gTasks[taskId]; @@ -309,7 +470,7 @@ void sub_80D54E0(u8 taskId) // animate Move_ERUPTION? } } -void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3) +static void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3) { u16 i, j; s8 sign; @@ -346,4 +507,119 @@ void sub_80D57C4(u8 spriteId, u8 taskId, u8 a3) gTasks[taskId].data[a3]++; } } -} \ No newline at end of file +} + +void sub_80D58FC(struct Sprite *sprite) +{ + sub_80D59B0(sprite); + + if (sprite->invisible) + { + gTasks[sprite->data[6]].data[sprite->data[7]]--; + DestroySprite(sprite); + } +} + +u16 sub_80D5940(u8 spriteId) +{ + u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY; + + if (GetBattlerSide(gAnimBankAttacker) == 0) + { + var1 = ((var1 << 16) + 0x4A0000) >> 16; + } + else + { + var1 = ((var1 << 16) + 0x2C0000) >> 16; + } + + return var1; +} + +void sub_80D5994(struct Sprite *sprite, s16 x, s16 y) +{ + sprite->data[0] = 0; + sprite->data[1] = 0; + sprite->data[2] = (u16)sprite->pos1.x * 8; + sprite->data[3] = (u16)sprite->pos1.y * 8; + sprite->data[4] = x * 8; + sprite->data[5] = y * 8; +} + +static void sub_80D59B0(struct Sprite *sprite) +{ + int var1; + if (++sprite->data[0] > 2) + { + sprite->data[0] = 0; + ++sprite->data[1]; + var1 = (u16)sprite->data[1] * (u16)sprite->data[1]; + sprite->data[3] += var1; + } + + sprite->data[2] += sprite->data[4]; + sprite->pos1.x = sprite->data[2] >> 3; + sprite->data[3] += sprite->data[5]; + sprite->pos1.y = sprite->data[3] >> 3; + + if (sprite->pos1.x < -8 || sprite->pos1.x > 0xf8 || sprite->pos1.y < -8 || sprite->pos1.y > 120) + sprite->invisible = TRUE; +} + +void sub_80D5A20(struct Sprite *sprite) +{ + sprite->pos1.x = gBattleAnimArgs[0]; + sprite->pos1.y = gBattleAnimArgs[1]; + + sprite->data[0] = 0; + sprite->data[1] = 0; + sprite->data[2] = 0; + sprite->data[6] = gBattleAnimArgs[2]; + sprite->data[7] = gBattleAnimArgs[3]; + + sprite->oam.tileNum += gBattleAnimArgs[4] * 16; + sprite->callback = sub_80D5A74; +} + +static void sub_80D5A74(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + if (sprite->data[6] != 0) + { + sprite->data[6]--; + return; + } + + sprite->data[0]++; + // fall through + case 1: + sprite->pos1.y += 8; + if (sprite->pos1.y >= sprite->data[7]) + { + sprite->pos1.y = sprite->data[7]; + sprite->data[0]++; + } + break; + case 2: + if (++sprite->data[1] > 1) + { + sprite->data[1] = 0; + if ((++sprite->data[2] & 1) != 0) + { + sprite->pos2.y = -3; + } + else + { + sprite->pos2.y = 3; + } + } + + if (++sprite->data[3] > 16) + { + DestroyAnimSprite(sprite); + } + break; + } +} diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c new file mode 100755 index 000000000..ec40e26c4 --- /dev/null +++ b/src/battle/anim/flying.c @@ -0,0 +1,346 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "battle_anim.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +void sub_80DA034(struct Sprite *sprite); +void sub_80DA16C(struct Sprite *sprite); +void sub_80DA208(struct Sprite *sprite); +void sub_80DA300(struct Sprite *sprite); +void sub_80DA38C(struct Sprite *sprite); +void sub_80DA4D8(struct Sprite *sprite); +void sub_80DAD30(struct Sprite *sprite); +void sub_80DAD84(struct Sprite *sprite); +void sub_80DB000(struct Sprite *sprite); +void sub_80DB194(struct Sprite *sprite); +void sub_80DB1F4(struct Sprite *sprite); +void sub_80DB288(struct Sprite *sprite); +void sub_80DB374(struct Sprite *sprite); +void sub_80DB458(struct Sprite *sprite); +void sub_80DB564(struct Sprite *sprite); +void sub_80DB5E4(struct Sprite *sprite); + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA380 = +{ + .tileTag = 10009, + .paletteTag = 10009, + .oam = &gOamData_837DF7C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DA034, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA398[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA3B0[] = +{ + gSpriteAffineAnim_83DA398, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA3B4 = +{ + .tileTag = 10009, + .paletteTag = 10009, + .oam = &gOamData_837DFDC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA3B0, + .callback = sub_80DA16C, +}; + +const union AnimCmd gSpriteAnim_83DA3CC[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83DA3E0[] = +{ + gSpriteAnim_83DA3CC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA3E4 = +{ + .tileTag = 10154, + .paletteTag = 10154, + .oam = &gOamData_837DF54, + .anims = gSpriteAnimTable_83DA3E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DA208, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA3FC[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA424[] = +{ + gSpriteAffineAnim_83DA3FC, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA428[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA438[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA448[] = +{ + gSpriteAffineAnim_83DA428, + gSpriteAffineAnim_83DA438, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA450 = +{ + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA424, + .callback = sub_80DA300, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA468 = +{ + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DF9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA448, + .callback = sub_80DA38C, +}; + +const union AnimCmd gSpriteAnim_83DA480[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA488[] = +{ + ANIMCMD_FRAME(16, 0, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA490[] = +{ + gSpriteAnim_83DA480, + gSpriteAnim_83DA488, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA498 = +{ + .tileTag = 10270, + .paletteTag = 10270, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83DA490, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DA4D8, +}; + +const u16 gUnknownPalette_83DA4B0[] = INCBIN_U16("graphics/unknown/unknown_3DA4B0.gbapal"); + +const struct SpriteTemplate gSpriteTemplate_83DA4D0 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DAD30, +}; + +const struct SpriteTemplate gSpriteTemplate_83DA4E8 = +{ + .tileTag = 10270, + .paletteTag = 10270, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83DA490, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DAD84, +}; + +const union AnimCmd gSpriteAnim_83DA500[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(16, 1), + ANIMCMD_FRAME(8, 1, .hFlip = TRUE), + ANIMCMD_FRAME(0, 1, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA518[] = +{ + gSpriteAnim_83DA500, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA51C = +{ + .tileTag = 10162, + .paletteTag = 10162, + .oam = &gOamData_837DF54, + .anims = gSpriteAnimTable_83DA518, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB000, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA534[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFEC, 0x0, 0, 7), + AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, 0, 5), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA564[] = +{ + gSpriteAffineAnim_83DA534, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA568 = +{ + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA564, + .callback = sub_80DB194, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA580[] = +{ + AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA590[] = +{ + gSpriteAffineAnim_83DA580, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA594 = +{ + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA590, + .callback = sub_80DB1F4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA5AC[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA5D4[] = +{ + gSpriteAffineAnim_83DA5AC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA5D8 = +{ + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA5D4, + .callback = sub_80DB288, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA5F0[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 11), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA610[] = +{ + gSpriteAffineAnim_83DA5F0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA614 = +{ + .tileTag = 10272, + .paletteTag = 10272, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB374, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA62C = +{ + .tileTag = 10273, + .paletteTag = 10273, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB458, +}; + +const struct SpriteTemplate gSpriteTemplate_83DA644 = +{ + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB564, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA65C = +{ + .tileTag = 10284, + .paletteTag = 10284, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB5E4, +}; diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c new file mode 100755 index 000000000..fd33d4782 --- /dev/null +++ b/src/battle/anim/ghost.c @@ -0,0 +1,191 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "battle_anim.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +void sub_80DDB6C(struct Sprite *sprite); +void sub_80DDD58(struct Sprite *sprite); +void sub_80DDF40(struct Sprite *sprite); +void sub_80DE0FC(struct Sprite *sprite); +void sub_80DE7B8(struct Sprite *sprite); +void sub_80DEF3C(struct Sprite *sprite); +void sub_80DF0B8(struct Sprite *sprite); +void sub_80DF0B8(struct Sprite *sprite); +void sub_80DF3D8(struct Sprite *sprite); +void sub_80DF49C(struct Sprite *sprite); + +const union AffineAnimCmd gSpriteAffineAnim_83DAE48[] = +{ + AFFINEANIMCMD_FRAME(0x1E, 0x1E, 10, 5), + AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 10, 5), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAE60[] = +{ + gSpriteAffineAnim_83DAE48, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAE64 = +{ + .tileTag = 10013, + .paletteTag = 10013, + .oam = &gOamData_837DFEC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DAE60, + .callback = sub_80DDB6C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAE7C = +{ + .tileTag = 10013, + .paletteTag = 10013, + .oam = &gOamData_837E04C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DDD58, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAE94[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAEA4[] = +{ + gSpriteAffineAnim_83DAE94, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAEA8 = +{ + .tileTag = 10176, + .paletteTag = 10176, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DAEA4, + .callback = sub_80DDF40, +}; + +const union AnimCmd gSpriteAnim_83DAEC0[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(16, 2), + ANIMCMD_FRAME(24, 2), + ANIMCMD_FRAME(32, 2), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DAED8[] = +{ + gSpriteAnim_83DAEC0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAEDC = +{ + .tileTag = 10177, + .paletteTag = 10177, + .oam = &gOamData_837DF74, + .anims = gSpriteAnimTable_83DAED8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DE0FC, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAEF4[] = +{ + AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAF04[] = +{ + gSpriteAffineAnim_83DAEF4, +}; + +const struct SpriteTemplate gSpriteTemplate_83DAF08 = +{ + .tileTag = 10188, + .paletteTag = 10188, + .oam = &gOamData_837E07C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DE7B8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAF20 = +{ + .tileTag = 10199, + .paletteTag = 10199, + .oam = &gOamData_837E074, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DEF3C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAF38 = +{ + .tileTag = 10200, + .paletteTag = 10200, + .oam = &gOamData_837E054, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DF0B8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAF50 = +{ + .tileTag = 10221, + .paletteTag = 10221, + .oam = &gOamData_837E054, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DF0B8, +}; + +const union AnimCmd gSpriteAnim_83DAF68[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(24, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83DAF7C[] = +{ + gSpriteAnim_83DAF68, +}; + +const struct SpriteTemplate gSpriteTemplate_83DAF80 = +{ + .tileTag = 10253, + .paletteTag = 10253, + .oam = &gOamData_837E094, + .anims = gSpriteAnimTable_83DAF7C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DF3D8, +}; + +const struct SpriteTemplate gSpriteTemplate_83DAF98 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DF49C, +}; diff --git a/src/battle/anim/ground.c b/src/battle/anim/ground.c new file mode 100755 index 000000000..a523df20e --- /dev/null +++ b/src/battle/anim/ground.c @@ -0,0 +1,125 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "battle_anim.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +void sub_80E0F1C(struct Sprite *sprite); +void sub_80E1004(struct Sprite *sprite); +void sub_80E1078(struct Sprite *sprite); +void sub_80E1078(struct Sprite *sprite); +void sub_80E1108(struct Sprite *sprite); +void sub_80E1728(struct Sprite *sprite); +void sub_80E17CC(struct Sprite *sprite); + +const union AffineAnimCmd gSpriteAffineAnim_83DB2A0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 15, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB2B0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB2C0[] = +{ + gSpriteAffineAnim_83DB2A0, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB2C4[] = +{ + gSpriteAffineAnim_83DB2B0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB2C8 = +{ + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB2C0, + .callback = sub_80E0F1C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB2E0 = +{ + .tileTag = 10000, + .paletteTag = 10000, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB2C4, + .callback = sub_80E1004, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB2F8 = +{ + .tileTag = 10074, + .paletteTag = 10074, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1078, +}; + +const union AnimCmd gSpriteAnim_83DB310[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DB318[] = +{ + gSpriteAnim_83DB310, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB31C = +{ + .tileTag = 10074, + .paletteTag = 10074, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83DB318, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1078, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB334 = +{ + .tileTag = 10074, + .paletteTag = 10074, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1108, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB34C = +{ + .tileTag = 10074, + .paletteTag = 10074, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1728, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB364 = +{ + .tileTag = 10281, + .paletteTag = 10281, + .oam = &gOamData_837DF54, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E17CC, +}; diff --git a/src/battle/anim/heated_rock.c b/src/battle/anim/heated_rock.c deleted file mode 100644 index 6f1a1344a..000000000 --- a/src/battle/anim/heated_rock.c +++ /dev/null @@ -1,129 +0,0 @@ -#include "global.h" -#include "battle_anim.h" -#include "rom_8077ABC.h" - -extern s16 gBattleAnimArgs[8]; -extern u8 gAnimBankAttacker; -extern u8 gAnimBankTarget; -extern u16 gBattleTypeFlags; - -void sub_80D59B0(struct Sprite *); -static void sub_80D5A74(struct Sprite *); - -// heated_rock (moves heated rock sprites) -// Used in Eruption. - -void sub_80D58FC(struct Sprite *sprite) -{ - sub_80D59B0(sprite); - - if (sprite->invisible) - { - gTasks[sprite->data[6]].data[sprite->data[7]]--; - DestroySprite(sprite); - } -} - -u16 sub_80D5940(u8 spriteId) -{ - u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY; - - if (GetBattlerSide(gAnimBankAttacker) == 0) - { - var1 = ((var1 << 16) + 0x4A0000) >> 16; - } - else - { - var1 = ((var1 << 16) + 0x2C0000) >> 16; - } - - return var1; -} - -void sub_80D5994(struct Sprite *sprite, s16 x, s16 y) -{ - sprite->data[0] = 0; - sprite->data[1] = 0; - sprite->data[2] = (u16)sprite->pos1.x * 8; - sprite->data[3] = (u16)sprite->pos1.y * 8; - sprite->data[4] = x * 8; - sprite->data[5] = y * 8; -} - -void sub_80D59B0(struct Sprite *sprite) -{ - int var1; - if (++sprite->data[0] > 2) - { - sprite->data[0] = 0; - ++sprite->data[1]; - var1 = (u16)sprite->data[1] * (u16)sprite->data[1]; - sprite->data[3] += var1; - } - - sprite->data[2] += sprite->data[4]; - sprite->pos1.x = sprite->data[2] >> 3; - sprite->data[3] += sprite->data[5]; - sprite->pos1.y = sprite->data[3] >> 3; - - if (sprite->pos1.x < -8 || sprite->pos1.x > 0xf8 || sprite->pos1.y < -8 || sprite->pos1.y > 120) - sprite->invisible = TRUE; -} - -void sub_80D5A20(struct Sprite *sprite) -{ - sprite->pos1.x = gBattleAnimArgs[0]; - sprite->pos1.y = gBattleAnimArgs[1]; - - sprite->data[0] = 0; - sprite->data[1] = 0; - sprite->data[2] = 0; - sprite->data[6] = gBattleAnimArgs[2]; - sprite->data[7] = gBattleAnimArgs[3]; - - sprite->oam.tileNum += gBattleAnimArgs[4] * 16; - sprite->callback = sub_80D5A74; -} - -static void sub_80D5A74(struct Sprite *sprite) -{ - switch (sprite->data[0]) - { - case 0: - if (sprite->data[6] != 0) - { - sprite->data[6]--; - return; - } - - sprite->data[0]++; - // fall through - case 1: - sprite->pos1.y += 8; - if (sprite->pos1.y >= sprite->data[7]) - { - sprite->pos1.y = sprite->data[7]; - sprite->data[0]++; - } - break; - case 2: - if (++sprite->data[1] > 1) - { - sprite->data[1] = 0; - if ((++sprite->data[2] & 1) != 0) - { - sprite->pos2.y = -3; - } - else - { - sprite->pos2.y = 3; - } - } - - if (++sprite->data[3] > 16) - { - DestroyAnimSprite(sprite); - } - break; - } -} diff --git a/src/battle/anim/ice.c b/src/battle/anim/ice.c new file mode 100755 index 000000000..50c8b9030 --- /dev/null +++ b/src/battle/anim/ice.c @@ -0,0 +1,495 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "battle_anim.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +void sub_80D7704(struct Sprite *sprite); +void sub_80D78EC(struct Sprite *sprite); +void sub_80D792C(struct Sprite *sprite); +void sub_80D79B4(struct Sprite *sprite); +void sub_80D7A64(struct Sprite *sprite); +void sub_80D7CD4(struct Sprite *sprite); +void sub_80D7E88(struct Sprite *sprite); +void sub_80D7F10(struct Sprite *sprite); +void sub_80D83E0(struct Sprite *sprite); +void sub_80D8700(struct Sprite *sprite); +void sub_80D8D1C(struct Sprite *sprite); +void sub_807A9BC(struct Sprite *sprite); +void unc_080B06FC(struct Sprite *sprite); +void sub_80D8F10(struct Sprite *sprite); + +const union AnimCmd gSpriteAnim_83D9B58[] = +{ + ANIMCMD_FRAME(0, 5, .hFlip = TRUE), + ANIMCMD_FRAME(1, 5, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9B64[] = +{ + gSpriteAnim_83D9B58, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9B68 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D7704, +}; + +const union AnimCmd gSpriteAnim_83D9B80[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9B88[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9B90[] = +{ + ANIMCMD_FRAME(6, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9B98[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9BA0[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9BA8[] = +{ + ANIMCMD_FRAME(12, 6), + ANIMCMD_FRAME(13, 6), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9BB4[] = +{ + gSpriteAnim_83D9B80, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9BB8[] = +{ + gSpriteAnim_83D9B88, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9BBC[] = +{ + gSpriteAnim_83D9B90, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9BC0[] = +{ + gSpriteAnim_83D9B98, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9BC4[] = +{ + gSpriteAnim_83D9BA0, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9BC8[] = +{ + gSpriteAnim_83D9BA8, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9BCC[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9BDC[] = +{ + gSpriteAffineAnim_83D9BCC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9BE0 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837E144, + .anims = gSpriteAnimTable_83D9BB8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9BDC, + .callback = sub_80D78EC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9BF8 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837E044, + .anims = gSpriteAnimTable_83D9BBC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D78EC, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9C10[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9C20[] = +{ + gSpriteAffineAnim_83D9C10, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C24 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837E0E4, + .anims = gSpriteAnimTable_83D9BB8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9C20, + .callback = sub_80D792C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C3C = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837E044, + .anims = gSpriteAnimTable_83D9BBC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D792C, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9C54[] = +{ + AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9C74[] = +{ + gSpriteAffineAnim_83D9C54, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C78 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837E0E4, + .anims = gSpriteAnimTable_83D9BB8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9C74, + .callback = sub_80D79B4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C90 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837E0A4, + .anims = gSpriteAnimTable_83D9BBC, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9C74, + .callback = sub_80D79B4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9CA8 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D9BC0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D7A64, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9CC0 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D9BC4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D7CD4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9CD8 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D9BC0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D7CD4, +}; + +const union AnimCmd gSpriteAnim_83D9CF0[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9D10[] = +{ + gSpriteAnim_83D9CF0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D14 = +{ + .tileTag = 10142, + .paletteTag = 10142, + .oam = &gOamData_837E084, + .anims = gSpriteAnimTable_83D9D10, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D7E88, +}; + +const union AnimCmd gSpriteAnim_83D9D2C[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9D38[] = +{ + gSpriteAnim_83D9D2C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D3C = +{ + .tileTag = 10144, + .paletteTag = 10144, + .oam = &gOamData_837E074, + .anims = gSpriteAnimTable_83D9D38, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D7F10, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D54 = +{ + .tileTag = 10172, + .paletteTag = 10172, + .oam = &gOamData_837E074, + .anims = gSpriteAnimTable_83D9D38, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D7F10, +}; + +const u8 gUnknown_083D9D6C[] = +{ + 0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D80 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D83E0, +}; + +const u8 gUnknown_083D9D98[] = +{ + 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9DAC = +{ + .tileTag = 10172, + .paletteTag = 10172, + .oam = &gOamData_837E074, + .anims = gSpriteAnimTable_83D9D38, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D8700, +}; + +// bitfield array +const u32 gUnknown_083D9DC4[] = +{ + 0x2001E064, + 0x0001E055, + 0x1011E0F2, + 0x1021E042, + 0x0031E0B6, + 0x2001E03C, + 0x0011E0D6, + 0x1001E071, + 0x1031E0D2, + 0x0021E026, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9DEC[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9DFC[] = +{ + AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9E0C[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9E1C[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9E2C[] = +{ + gSpriteAffineAnim_83D9DEC, + gSpriteAffineAnim_83D9DFC, + gSpriteAffineAnim_83D9E0C, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9E38[] = +{ + gSpriteAffineAnim_83D9E1C, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9E3C = +{ + .tileTag = 10263, + .paletteTag = 10263, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9E2C, + .callback = sub_80D8D1C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9E54 = +{ + .tileTag = 10263, + .paletteTag = 10263, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9E38, + .callback = sub_807A9BC, +}; + +const union AnimCmd gSpriteAnim_83D9E6C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9E74[] = +{ + ANIMCMD_FRAME(16, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(64, 4), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9E88[] = +{ + gSpriteAnim_83D9E6C, + gSpriteAnim_83D9E74, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9E90[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9EA0[] = +{ + AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9EB0[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9EC0[] = +{ + AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D9ED0[] = +{ + AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9EE0[] = +{ + gSpriteAffineAnim_83D9E90, + gSpriteAffineAnim_83D9EA0, + gSpriteAffineAnim_83D9EB0, + gSpriteAffineAnim_83D9EC0, + gSpriteAffineAnim_83D9ED0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9EF4 = +{ + .tileTag = 10043, + .paletteTag = 10043, + .oam = &gOamData_837DFF4, + .anims = gSpriteAnimTable_83D9E88, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9EE0, + .callback = unc_080B06FC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9F0C = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D9BBC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D8F10, +}; diff --git a/src/battle/anim/normal.c b/src/battle/anim/normal.c new file mode 100755 index 000000000..8303e7c68 --- /dev/null +++ b/src/battle/anim/normal.c @@ -0,0 +1,240 @@ +#include "global.h" +#include "rom_8077ABC.h" +#include "battle_anim.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +void sub_80E1CB4(struct Sprite *sprite); +void sub_80E1D84(struct Sprite *sprite); +void sub_80E1E2C(struct Sprite *sprite); +void sub_80E1F3C(struct Sprite *sprite); +void sub_80E24B8(struct Sprite *sprite); +void sub_80E27A0(struct Sprite *sprite); +void sub_80E2838(struct Sprite *sprite); +void sub_80E27A0(struct Sprite *sprite); +void sub_80E2870(struct Sprite *sprite); +void sub_80E2908(struct Sprite *sprite); +void sub_80E2978(struct Sprite *sprite); +void sub_80E29C0(struct Sprite *sprite); +void sub_80E27E8(struct Sprite *sprite); + +const union AnimCmd gSpriteAnim_83DB37C[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(8, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gSpriteAnim_83DB390[] = +{ + ANIMCMD_FRAME(0, 8, .hFlip = TRUE), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83DB3A4[] = +{ + gSpriteAnim_83DB37C, + gSpriteAnim_83DB390, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB3AC = +{ + .tileTag = 10073, + .paletteTag = 10073, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83DB3A4, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1CB4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB3C4 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1D84, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB3DC = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1E2C, +}; + +const union AnimCmd gSpriteAnim_83DB3F4[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83DB40C[] = +{ + gSpriteAnim_83DB3F4, +}; + +const struct SpriteTemplate gSpriteTemplate_83DB410 = +{ + .tileTag = 10071, + .paletteTag = 10071, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DB40C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E1F3C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB428 = +{ + .tileTag = 0, + .paletteTag = 0, + .oam = &gDummyOamData, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E24B8, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB440[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB450[] = +{ + AFFINEANIMCMD_FRAME(0xD8, 0xD8, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB468[] = +{ + AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DB480[] = +{ + AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DB498[] = +{ + gSpriteAffineAnim_83DB440, + gSpriteAffineAnim_83DB450, + gSpriteAffineAnim_83DB468, + gSpriteAffineAnim_83DB480, +}; + +const struct SpriteTemplate gBasicHitSplatSpriteTemplate = +{ + .tileTag = 10135, + .paletteTag = 10135, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB498, + .callback = sub_80E27A0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB4C0 = +{ + .tileTag = 10135, + .paletteTag = 10135, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB498, + .callback = sub_80E2838, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB4D8 = +{ + .tileTag = 10148, + .paletteTag = 10148, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB498, + .callback = sub_80E27A0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB4F0 = +{ + .tileTag = 10135, + .paletteTag = 10135, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB498, + .callback = sub_80E2870, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB508 = +{ + .tileTag = 10135, + .paletteTag = 10135, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB498, + .callback = sub_80E2908, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB520 = +{ + .tileTag = 10285, + .paletteTag = 10285, + .oam = &gOamData_837E054, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80E2978, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB538 = +{ + .tileTag = 10135, + .paletteTag = 10135, + .oam = &gOamData_837DF94, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB498, + .callback = sub_80E29C0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DB550 = +{ + .tileTag = 10135, + .paletteTag = 10135, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DB498, + .callback = sub_80E27E8, +}; + +const u16 gUnknown_083DB568 = RGB(31, 31, 31); diff --git a/src/battle/anim/poison.c b/src/battle/anim/poison.c index 2cc104c07..4d6673adf 100644 --- a/src/battle/anim/poison.c +++ b/src/battle/anim/poison.c @@ -7,11 +7,191 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -void sub_80D9DD4(struct Sprite *sprite); -void sub_80D9E78(struct Sprite *sprite); -void sub_80D9EE8(struct Sprite *sprite); +extern const union AnimCmd *const gSpriteAnimTable_83D9310[]; + +void sub_80793C4(struct Sprite *sprite); +void sub_80D9D70(struct Sprite *sprite); +void sub_80D9DF0(struct Sprite *sprite); +void sub_80D9E94(struct Sprite *sprite); +void sub_80D9F14(struct Sprite *sprite); +void AnimBubbleEffect(struct Sprite *sprite); +static void sub_80D9DD4(struct Sprite *sprite); +static void sub_80D9E78(struct Sprite *sprite); +static void sub_80D9EE8(struct Sprite *sprite); static void AnimBubbleEffectStep(struct Sprite *sprite); +const union AnimCmd gSpriteAnim_83DA22C[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(24, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA240[] = +{ + gSpriteAnim_83DA22C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA244 = +{ + .tileTag = 10151, + .paletteTag = 10151, + .oam = &gOamData_837DF74, + .anims = gSpriteAnimTable_83DA240, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80793C4, +}; + +const union AnimCmd gSpriteAnim_83DA25C[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA264[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA26C[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA274[] = +{ + gSpriteAnim_83DA25C, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA278[] = +{ + gSpriteAnim_83DA264, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA27C[] = +{ + gSpriteAnim_83DA26C, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA280[] = +{ + AFFINEANIMCMD_FRAME(0x160, 0x160, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), + AFFINEANIMCMD_FRAME(0xA, 0xA, 0, 10), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA2A0[] = +{ + AFFINEANIMCMD_FRAME(0xEC, 0xEC, 0, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA2B0[] = +{ + gSpriteAffineAnim_83DA280, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA2B4[] = +{ + gSpriteAffineAnim_83DA2A0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA2B8 = +{ + .tileTag = 10150, + .paletteTag = 10150, + .oam = &gOamData_837DFEC, + .anims = gSpriteAnimTable_83DA274, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA2B0, + .callback = sub_80D9D70, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA2D0 = +{ + .tileTag = 10150, + .paletteTag = 10150, + .oam = &gOamData_837DFEC, + .anims = gSpriteAnimTable_83DA274, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA2B0, + .callback = sub_80D9DF0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA2E8 = +{ + .tileTag = 10150, + .paletteTag = 10150, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83DA27C, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA2B4, + .callback = sub_80D9E94, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA300[] = +{ + AFFINEANIMCMD_FRAME(0xFFF0, 0x10, 0, 6), + AFFINEANIMCMD_FRAME(0x10, 0xFFF0, 0, 6), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA318[] = +{ + gSpriteAffineAnim_83DA300, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA31C = +{ + .tileTag = 10150, + .paletteTag = 10150, + .oam = &gOamData_837DFEC, + .anims = gSpriteAnimTable_83DA278, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA318, + .callback = sub_80D9F14, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA334[] = +{ + AFFINEANIMCMD_FRAME(0x9C, 0x9C, 0, 0), + AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 20), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA34C[] = +{ + gSpriteAffineAnim_83DA334, +}; + +const struct SpriteTemplate gPoisonBubbleSpriteTemplate = +{ + .tileTag = 10150, + .paletteTag = 10150, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83DA274, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA34C, + .callback = AnimBubbleEffect, +}; + +const struct SpriteTemplate gWaterBubbleSpriteTemplate = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837E0AC, + .anims = gSpriteAnimTable_83D9310, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA34C, + .callback = AnimBubbleEffect, +}; + void sub_80D9D70(struct Sprite *sprite) { if (!gBattleAnimArgs[3]) @@ -29,7 +209,7 @@ void sub_80D9D70(struct Sprite *sprite) sprite->callback = sub_80D9DD4; } -void sub_80D9DD4(struct Sprite *sprite) // same as sub_80D9E78 +static void sub_80D9DD4(struct Sprite *sprite) // same as sub_80D9E78 { if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); @@ -57,7 +237,7 @@ void sub_80D9DF0(struct Sprite *sprite) sprite->callback = sub_80D9E78; } -void sub_80D9E78(struct Sprite *sprite) // same as sub_80D9DD4 +static void sub_80D9E78(struct Sprite *sprite) // same as sub_80D9DD4 { if (TranslateAnimSpriteLinearAndSine(sprite)) DestroyAnimSprite(sprite); @@ -79,7 +259,7 @@ void sub_80D9E94(struct Sprite *sprite) sprite->callback = sub_80D9EE8; } -void sub_80D9EE8(struct Sprite *sprite) +static void sub_80D9EE8(struct Sprite *sprite) { sub_8078394(sprite); diff --git a/src/battle/anim/psychic.c b/src/battle/anim/psychic.c index 7babb3a19..a63652646 100644 --- a/src/battle/anim/psychic.c +++ b/src/battle/anim/psychic.c @@ -16,12 +16,13 @@ extern u16 gBattle_BG1_X; extern u16 gBattle_BG2_X; extern u8 gBankSpriteIds[]; -extern const union AffineAnimCmd *const gUnknown_083DA888[]; -extern struct AffineAnimFrameCmd gUnknown_083DA8A4; -extern struct AffineAnimFrameCmd gUnknown_083DA8C4; -extern const struct SpriteTemplate gSpriteTemplate_83DA8DC; -extern const struct SpriteTemplate gSpriteTemplate_83DA9AC; - +void sub_80DB74C(struct Sprite *sprite); +void sub_80DBA4C(struct Sprite *sprite); +void sub_80DBAF4(struct Sprite *sprite); +void sub_80DBB70(struct Sprite *sprite); +void sub_80DC068(struct Sprite *sprite); +void sub_80DC2B0(struct Sprite *sprite); +void sub_80DC700(struct Sprite *sprite); static void sub_80DB88C(struct Sprite *sprite); static void sub_80DB8C0(struct Sprite *sprite); static void sub_80DB92C(struct Sprite *sprite); @@ -35,6 +36,395 @@ static void sub_80DC1FC(u8 taskId); static void sub_80DC3F4(u8 taskId); void sub_80DC5F4(u8 taskId); +const union AffineAnimCmd gSpriteAffineAnim_83DA674[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFFE, 0xFFFE, -10, 120), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA68C[] = +{ + gSpriteAffineAnim_83DA674, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA690 = +{ + .tileTag = 10196, + .paletteTag = 10196, + .oam = &gOamData_837E0BC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA68C, + .callback = sub_80793C4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA6A8 = +{ + .tileTag = 10166, + .paletteTag = 10166, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB74C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA6C0 = +{ + .tileTag = 10167, + .paletteTag = 10167, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB74C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA6D8 = +{ + .tileTag = 10168, + .paletteTag = 10168, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB74C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA6F0 = +{ + .tileTag = 10169, + .paletteTag = 10169, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB74C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA708 = +{ + .tileTag = 10170, + .paletteTag = 10170, + .oam = &gOamData_837E05C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB74C, +}; + +const union AnimCmd gSpriteAnim_83DA720[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(48, 3), + ANIMCMD_FRAME(64, 3), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA738[] = +{ + gSpriteAnim_83DA720, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA73C = +{ + .tileTag = 10071, + .paletteTag = 10071, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DA738, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DBA4C, +}; + +const union AnimCmd gSpriteAnim_83DA754[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA768[] = +{ + gSpriteAnim_83DA754, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA76C = +{ + .tileTag = 10070, + .paletteTag = 10070, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83DA768, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DBA4C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA784 = +{ + .tileTag = 10163, + .paletteTag = 10163, + .oam = &gOamData_837DF74, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + +const union AnimCmd gSpriteAnim_83DA79C[] = +{ + ANIMCMD_FRAME(8, 60, .hFlip = TRUE), + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 5, .hFlip = TRUE), + ANIMCMD_FRAME(0, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 22, .hFlip = TRUE), + ANIMCMD_LOOP(0), + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 5, .hFlip = TRUE), + ANIMCMD_FRAME(0, 5, .hFlip = TRUE), + ANIMCMD_FRAME(8, 5, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(8, 22, .hFlip = TRUE), + ANIMCMD_FRAME(24, 3, .hFlip = TRUE), + ANIMCMD_FRAME(32, 3, .hFlip = TRUE), + ANIMCMD_FRAME(40, 22, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DA7DC[] = +{ + ANIMCMD_FRAME(8, 60), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(8, 22), + ANIMCMD_LOOP(0), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(8, 22), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(40, 22), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA81C[] = +{ + gSpriteAnim_83DA79C, + gSpriteAnim_83DA7DC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA824 = +{ + .tileTag = 10097, + .paletteTag = 10097, + .oam = &gOamData_837DF74, + .anims = gSpriteAnimTable_83DA81C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DBAF4, +}; + +const union AnimCmd gSpriteAnim_83DA83C[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(16, 6), + ANIMCMD_FRAME(32, 6), + ANIMCMD_FRAME(48, 6), + ANIMCMD_FRAME(64, 6), + ANIMCMD_FRAME(80, 6), + ANIMCMD_FRAME(96, 18), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DA85C[] = +{ + gSpriteAnim_83DA83C, +}; + +const union AffineAnimCmd gSpriteAffineAnim_3DA860[] = +{ + AFFINEANIMCMD_FRAME(0, 0, 4, 4), + AFFINEANIMCMD_FRAME(0, 0, -4, 8), + AFFINEANIMCMD_FRAME(0, 0, 4, 4), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_083DA888[] = +{ + gSpriteAffineAnim_3DA860, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA88C = +{ + .tileTag = 10093, + .paletteTag = 10093, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DA85C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DBB70, +}; + +const union AffineAnimCmd gSpriteAffineAnim_083DA8A4[] = +{ + AFFINEANIMCMD_FRAME(-8, 10, 0, 16), + AFFINEANIMCMD_FRAME(18, -18, 0, 16), + AFFINEANIMCMD_FRAME(-20, 16, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_083DA8C4[] = +{ + AFFINEANIMCMD_FRAME(64, -4, 0, 20), + AFFINEANIMCMD_FRAME(0, 0, 0, -56), + AFFINEANIMCMD_END, +}; + +const struct SpriteTemplate gSpriteTemplate_83DA8DC = +{ + .tileTag = 10249, + .paletteTag = 10249, + .oam = &gOamData_837E04C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA8F4 = +{ + .tileTag = 10250, + .paletteTag = 10250, + .oam = &gOamData_837DF3C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DC068, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA90C[] = +{ + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 8), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA924[] = +{ + AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA94C[] = +{ + AFFINEANIMCMD_FRAME(0xD0, 0xD0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 4), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA974[] = +{ + AFFINEANIMCMD_FRAME(0xB0, 0xB0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 2), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 8), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 6), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA99C[] = +{ + gSpriteAffineAnim_83DA90C, + gSpriteAffineAnim_83DA924, + gSpriteAffineAnim_83DA94C, + gSpriteAffineAnim_83DA974, +}; + +const struct SpriteTemplate gSpriteTemplate_83DA9AC = +{ + .tileTag = 10251, + .paletteTag = 10251, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA99C, + .callback = sub_80DC2B0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA9C4[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 120), + AFFINEANIMCMD_END_ALT(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA9DC[] = +{ + gSpriteAffineAnim_83DA9C4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA9E0 = +{ + .tileTag = 10267, + .paletteTag = 10267, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA9DC, + .callback = sub_80793C4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DA9F8[] = +{ + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 17), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10), + AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 10), + AFFINEANIMCMD_LOOP(4), + AFFINEANIMCMD_LOOP(0), + AFFINEANIMCMD_FRAME(0xFFF0, 0xFFF0, 0, 5), + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 5), + AFFINEANIMCMD_LOOP(7), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAA50[] = +{ + AFFINEANIMCMD_FRAME(0xFFEC, 0x18, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DAA60[] = +{ + gSpriteAffineAnim_83DA9F8, + gSpriteAffineAnim_83DAA50, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAA68 = +{ + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E11C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DAA60, + .callback = sub_80DC700, +}; void sub_80DB74C(struct Sprite *sprite) { @@ -254,7 +644,7 @@ void sub_80DBB70(struct Sprite *sprite) static void sub_80DBC00(struct Sprite *sprite) { sprite->oam.affineMode = 1; - sprite->affineAnims = gUnknown_083DA888; + sprite->affineAnims = gSpriteAffineAnimTable_083DA888; sprite->data[0] = 0; InitSpriteAffineAnim(sprite); sprite->callback = sub_80DBC34; @@ -287,7 +677,7 @@ void sub_80DBC94(u8 taskId) struct Task *task = &gTasks[taskId]; u8 spriteId = GetAnimBattlerSpriteId(0); task->data[0] = spriteId; - sub_80798F4(task, spriteId, &gUnknown_083DA8A4); + sub_80798F4(task, spriteId, &gSpriteAffineAnim_083DA8A4); task->func = sub_80DBCD0; } @@ -308,7 +698,7 @@ void sub_80DBCFC(u8 taskId) task->data[2] = 0; task->data[3] = GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER ? 4 : 8; - sub_80798F4(task, task->data[0], &gUnknown_083DA8C4); + sub_80798F4(task, task->data[0], &gSpriteAffineAnim_083DA8C4); task->func = sub_80DBD58; } diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index 73be7c42b..595df3168 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -20,11 +20,20 @@ extern u16 gBattle_BG3_Y; extern const u8 gBattleAnimBackgroundTilemap_SandstormBrew[]; extern const u8 gBattleAnimBackgroundImage_SandstormBrew[]; extern const u16 gBattleAnimSpritePalette_261[]; -extern const struct SpriteTemplate gSpriteTemplate_83DAD78; -extern const struct SpriteTemplate gSpriteTemplate_83DAD90; - -extern const struct SubspriteTable gUnknown_083DAD10; - +extern const union AnimCmd *const gSpriteAnimTable_83D91F0[]; +extern const union AnimCmd *const gSpriteAnimTable_83D95E0[]; + +extern void AnimMoveTwisterParticle(struct Sprite *sprite); + +void sub_80DCE9C(struct Sprite *sprite); +void sub_80DCF60(struct Sprite *sprite); +void sub_80DCFE4(struct Sprite *sprite); +void sub_80DD3AC(struct Sprite *sprite); +void sub_80DD490(struct Sprite *sprite); +void sub_80DD87C(struct Sprite *sprite); +void sub_80DD8E8(struct Sprite *sprite); +void sub_80DD978(struct Sprite *sprite); +void sub_80DD9A4(struct Sprite *sprite); static void sub_80DCF1C(struct Sprite *sprite); static void sub_80DD02C(struct Sprite *sprite); static void sub_80DD190(u8 taskId); @@ -34,6 +43,280 @@ static u8 sub_80DD8BC(void); static void sub_80DD928(struct Sprite *sprite); static void sub_80DD9FC(struct Sprite *sprite); +const union AnimCmd gSpriteAnim_83DAC28[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DAC30[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DAC38[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DAC40[] = +{ + gSpriteAnim_83DAC28, + gSpriteAnim_83DAC30, + gSpriteAnim_83DAC38, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAC4C = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DAC40, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DCE9C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAC64 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DAC40, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DCF60, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAC7C = +{ + .tileTag = 10074, + .paletteTag = 10074, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DCFE4, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DAC94[] = +{ + AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), + AFFINEANIMCMD_FRAME(0x2, 0xFFFD, 0, 5), + AFFINEANIMCMD_FRAME(0xFFFE, 0x3, 0, 5), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DACB4[] = +{ + gSpriteAffineAnim_83DAC94, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACB8 = +{ + .tileTag = 10149, + .paletteTag = 10149, + .oam = &gOamData_837E0AC, + .anims = gSpriteAnimTable_83D91F0, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DACB4, + .callback = sub_80DCFE4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACD0 = +{ + .tileTag = 10029, + .paletteTag = 10029, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D95E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DCFE4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DACE8 = +{ + .tileTag = 10261, + .paletteTag = 10261, + .oam = &gOamData_837DF54, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DD3AC, +}; + +const struct Subsprite gSubspriteTable_83DAD00[] = +{ + {.x = -16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 0, .priority = 1}, + {.x = 16, .y = 0, .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 8, .priority = 1}, +}; + +const struct SubspriteTable gSubspriteTables_83DAD10[] = +{ + {ARRAY_COUNT(gSubspriteTable_83DAD00), gSubspriteTable_83DAD00}, +}; + +const union AnimCmd gSpriteAnim_83DAD18[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DAD20[] = +{ + ANIMCMD_FRAME(16, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DAD28[] = +{ + ANIMCMD_FRAME(32, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DAD30[] = +{ + ANIMCMD_FRAME(48, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DAD38[] = +{ + ANIMCMD_FRAME(64, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83DAD40[] = +{ + ANIMCMD_FRAME(80, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83DAD48[] = +{ + gSpriteAnim_83DAD18, + gSpriteAnim_83DAD20, +}; + +const union AnimCmd *const gSpriteAnimTable_83DAD50[] = +{ + gSpriteAnim_83DAD28, + gSpriteAnim_83DAD30, +}; + +const union AnimCmd *const gSpriteAnimTable_83DAD58[] = +{ + gSpriteAnim_83DAD38, + gSpriteAnim_83DAD40, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAD60 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DAD48, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DD490, +}; + +const struct SpriteTemplate gSpriteTemplate_83DAD78 = +{ + .tileTag = 10074, + .paletteTag = 10074, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DD87C, +}; + +const struct SpriteTemplate gSpriteTemplate_83DAD90 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF34, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DD87C, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DADA8 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DAD48, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DD8E8, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DADC0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -5, 5), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gSpriteAffineAnim_83DADD0[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 5, 5), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DADE0[] = +{ + gSpriteAffineAnim_83DADC0, + gSpriteAffineAnim_83DADD0, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DADE8 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83DAD48, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DADE0, + .callback = sub_80DD978, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAE00 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83DAD48, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DADE0, + .callback = sub_80DD9A4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAE18 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83DAD58, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DADE0, + .callback = AnimMoveTwisterParticle, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DAE30 = +{ + .tileTag = 10058, + .paletteTag = 10058, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83DAD50, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DADE0, + .callback = sub_807A9BC, +}; void sub_80DCE9C(struct Sprite *sprite) { @@ -244,7 +527,7 @@ void sub_80DD3AC(struct Sprite *sprite) } sprite->pos1.y = gBattleAnimArgs[0]; - SetSubspriteTables(sprite, &gUnknown_083DAD10); + SetSubspriteTables(sprite, gSubspriteTables_83DAD10); sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = gBattleAnimArgs[2]; sprite->data[0]++; diff --git a/src/battle/anim/shock.c b/src/battle/anim/shock.c index 19e4d0fb2..5b82d9319 100644 --- a/src/battle/anim/shock.c +++ b/src/battle/anim/shock.c @@ -8,11 +8,62 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern struct OamMatrix gOamMatrices[]; +void sub_80D6294(struct Sprite *sprite); +void sub_80D6328(struct Sprite *sprite); extern void sub_80DA48C(struct Sprite *); // shock (moves the little electricity lines) // Used in Shock. +const union AnimCmd gSpriteAnim_83D9824[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_FRAME(80, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9840[] = +{ + gSpriteAnim_83D9824, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9844 = +{ + .tileTag = 10079, + .paletteTag = 10079, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9840, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D6294, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D985C = +{ + .tileTag = 10011, + .paletteTag = 10011, + .oam = &gOamData_837DF8C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D6328, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9874 = +{ + .tileTag = 10171, + .paletteTag = 10171, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = TranslateAnimSpriteToTargetMonLocation, +}; + void sub_80D6294(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); diff --git a/src/battle/anim/sunlight.c b/src/battle/anim/sunlight.c index 88112c74a..7efc85b37 100644 --- a/src/battle/anim/sunlight.c +++ b/src/battle/anim/sunlight.c @@ -2,9 +2,34 @@ #include "battle_anim.h" #include "rom_8077ABC.h" +void sub_80D517C(struct Sprite *sprite); + // sunlight (creates sunlight orbs) // Used in Sunny Day +const union AffineAnimCmd gSpriteAffineAnim_83D9594[] = +{ + AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0), + AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1), + AFFINEANIMCMD_JUMP(1), +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D95AC[] = +{ + gSpriteAffineAnim_83D9594, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D95B0 = +{ + .tileTag = 10157, + .paletteTag = 10157, + .oam = &gOamData_837E0B4, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D95AC, + .callback = sub_80D517C, +}; + void sub_80D517C(struct Sprite *sprite) { sprite->pos1.x = 0; diff --git a/src/battle/anim/thunder.c b/src/battle/anim/thunder.c index 70d4dc232..9cd04e61f 100644 --- a/src/battle/anim/thunder.c +++ b/src/battle/anim/thunder.c @@ -7,11 +7,38 @@ extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; extern u16 gBattleTypeFlags; +void sub_80D61C8(struct Sprite *sprite); static void sub_80D6218(struct Sprite *); // thunder (positions the lightning bolts) // Used in Thunder, Thunder Punch, and Tri Attack. +const union AnimCmd gSpriteAnim_83D97B4[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 8), + ANIMCMD_FRAME(48, 5), + ANIMCMD_FRAME(64, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D97CC[] = +{ + gSpriteAnim_83D97B4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D97D0 = +{ + .tileTag = 10037, + .paletteTag = 10037, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D97CC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D61C8, +}; + void sub_80D61C8(struct Sprite *sprite) { if (GetBattlerSide(gAnimBankAttacker) != 0) diff --git a/src/battle/anim/water.c b/src/battle/anim/water.c index a7e1883f3..0afe133f0 100644 --- a/src/battle/anim/water.c +++ b/src/battle/anim/water.c @@ -8,7 +8,187 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -static void sub_80D3874(struct Sprite *); +extern const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA318[]; +extern const union AnimCmd *const gSpriteAnimTable_83D9BC8[]; + +void sub_80D37FC(struct Sprite *sprite); +void sub_80D3838(struct Sprite *sprite); +void sub_80D4044(struct Sprite *sprite); +void sub_80D452C(struct Sprite *sprite); +void sub_80D4BF0(struct Sprite *sprite); +void sub_80D4C64(struct Sprite *sprite); +static void sub_80D3874(struct Sprite *sprite); + +const union AnimCmd gSpriteAnim_83D9300[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9308[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9310[] = +{ + gSpriteAnim_83D9300, +}; + +const union AnimCmd *const gSpriteAnimTable_83D9314[] = +{ + gSpriteAnim_83D9308, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9318 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837E04C, + .anims = gSpriteAnimTable_83D9310, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80794A8, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9330 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837E10C, + .anims = gSpriteAnimTable_83D9314, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA318, + .callback = sub_80D37FC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9348 = +{ + .tileTag = 10141, + .paletteTag = 10141, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D9BC8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D3838, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9360 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D4044, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9378 = +{ + .tileTag = 10268, + .paletteTag = 10268, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D452C, +}; + +const union AnimCmd gSpriteAnim_83D9390[] = +{ + ANIMCMD_FRAME(8, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9398[] = +{ + ANIMCMD_FRAME(9, 1), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D93A0[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D93A8[] = +{ + gSpriteAnim_83D9390, + gSpriteAnim_83D9398, +}; + +const union AnimCmd *const gSpriteAnimTable_83D93B0[] = +{ + gSpriteAnim_83D93A0, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D93B4[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D93CC[] = +{ + AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gSpriteAffineAnim_83D93E4[] = +{ + AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 15), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D93FC[] = +{ + gSpriteAffineAnim_83D93B4, + gSpriteAffineAnim_83D93CC, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9404[] = +{ + gSpriteAffineAnim_83D93E4, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9408 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF24, + .anims = gSpriteAnimTable_83D93A8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D4BF0, +}; + +const struct SpriteTemplate gSpriteTemplate_83D9420 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF84, + .anims = gSpriteAnimTable_83D93A8, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D93FC, + .callback = sub_80D4C64, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9438 = +{ + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF8C, + .anims = gSpriteAnimTable_83D93B0, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83D9404, + .callback = sub_807A9BC, +}; void sub_80D37FC(struct Sprite *sprite) { diff --git a/src/battle/anim/wisp_fire.c b/src/battle/anim/wisp_fire.c index 5a51986c7..c96a3a86f 100644 --- a/src/battle/anim/wisp_fire.c +++ b/src/battle/anim/wisp_fire.c @@ -9,12 +9,45 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankTarget; extern u8 gAnimBankAttacker; - extern u8 gBankSpriteIds[]; -extern s8 gUnknown_083D9794[16]; -extern s8 gUnknown_083D97A4[16]; -void sub_80D5E4C(u8 taskId); +void sub_80D5CC0(struct Sprite *sprite); +static void sub_80D5E4C(u8 taskId); + +const union AnimCmd gSpriteAnim_83D9764[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(32, 5), + ANIMCMD_FRAME(48, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_83D9778[] = +{ + gSpriteAnim_83D9764, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D977C = +{ + .tileTag = 10232, + .paletteTag = 10232, + .oam = &gOamData_837DF34, + .anims = gSpriteAnimTable_83D9778, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D5CC0, +}; + +const s8 gUnknown_083D9794[16] = +{ + -1, -1, 0, 1, 1, 0, 0, -1, -1, 1, 1, 0, 0, -1, 0, 1, +}; + +const s8 gUnknown_083D97A4[16] = +{ + -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1, +}; void sub_80D5CC0(struct Sprite *sprite) { @@ -66,7 +99,7 @@ void sub_80D5DDC(u8 taskId) task->func = sub_80D5E4C; } -void sub_80D5E4C(u8 taskId) +static void sub_80D5E4C(u8 taskId) { struct Task *task = &gTasks[taskId]; diff --git a/src/battle/anim/wisp_orb.c b/src/battle/anim/wisp_orb.c index 90b90acb7..32373ca2a 100644 --- a/src/battle/anim/wisp_orb.c +++ b/src/battle/anim/wisp_orb.c @@ -11,11 +11,58 @@ extern u8 gAnimBankTarget; extern u16 gBattleTypeFlags; extern u8 gUnknown_0202F7D2; +void sub_80D5B0C(struct Sprite *sprite); static void sub_80D5C5C(struct Sprite *); // wisp_orb (animates the wisp orbs) // Used in Will-O-Wisp +const union AnimCmd gSpriteAnim_83D9710[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(12, 5), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gSpriteAnim_83D9724[] = +{ + ANIMCMD_FRAME(16, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D972C[] = +{ + ANIMCMD_FRAME(20, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_83D9734[] = +{ + ANIMCMD_FRAME(20, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_83D973C[] = +{ + gSpriteAnim_83D9710, + gSpriteAnim_83D9724, + gSpriteAnim_83D972C, + gSpriteAnim_83D9734, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83D974C = +{ + .tileTag = 10231, + .paletteTag = 10231, + .oam = &gOamData_837DF2C, + .anims = gSpriteAnimTable_83D973C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80D5B0C, +}; + void sub_80D5B0C(struct Sprite *sprite) { switch (sprite->data[0]) -- cgit v1.2.3 From 7e2ba36b61b9d19799cb390b0351abff40196b1f Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Thu, 3 May 2018 11:15:39 -0400 Subject: Fix matching sub_80F7DC0 --- src/mauville_man.c | 231 ++++------------------------------------------------- 1 file changed, 15 insertions(+), 216 deletions(-) (limited to 'src') diff --git a/src/mauville_man.c b/src/mauville_man.c index 088085851..ac9a02ce9 100644 --- a/src/mauville_man.c +++ b/src/mauville_man.c @@ -457,43 +457,32 @@ void ScrSpecial_GenerateGiddyLine(void) gSpecialVar_Result = TRUE; } -#ifdef NONMATCHING static void sub_80F7DC0(void) { + struct MauvilleManGiddy *giddy = &gSaveBlock1.mauvilleMan.giddy; u16 arr[][2] = { - { 0x0, 0}, - { 0xC, 0}, - { 0xD, 0}, - {0x12, 0}, - {0x13, 0}, - {0x15, 0}, + {EC_GROUP_POKEMON_1, 0}, + {EC_GROUP_LIFESTYLE, 0}, + {EC_GROUP_HOBBIES, 0}, + {EC_GROUP_MOVE_1, 0}, + {EC_GROUP_MOVE_2, 0}, + {EC_GROUP_POKEMON_2, 0} }; u16 i; u16 r10; u16 r7; + u16 r1; for (i = 0; i < 8; i++) { - struct MauvilleManGiddy *giddy = &gSaveBlock1.mauvilleMan.giddy; - - //gSaveBlock1.mauvilleMan.giddy.questionList[i] = i; giddy->questionList[i] = i; } - // Scramble questions for (i = 0; i < 8; i++) { - struct MauvilleManGiddy *giddy = &gSaveBlock1.mauvilleMan.giddy; - - /* - u16 r1 = Random() % (i + 1); - u8 r7 = gSaveBlock1.mauvilleMan.giddy.questionList[i]; - gSaveBlock1.mauvilleMan.giddy.questionList[i] = gSaveBlock1.mauvilleMan.giddy.questionList[r1]; - gSaveBlock1.mauvilleMan.giddy.questionList[r1] = r7; - */ - u16 r1 = Random() % (i + 1); - u8 r7 = giddy->questionList[i]; + r1 = Random() % (i + 1); + r7 = giddy->questionList[i]; giddy->questionList[i] = giddy->questionList[r1]; giddy->questionList[r1] = r7; } @@ -505,220 +494,30 @@ static void sub_80F7DC0(void) r10 += arr[i][1]; } - { - struct MauvilleManGiddy *giddy = &gSaveBlock1.mauvilleMan.giddy; - giddy->questionNum = 0; - } - //gSaveBlock1.mauvilleMan.giddy.questionNum = 0; - + giddy->questionNum = 0; r7 = 0; for (i = 0; i < 10; i++) { - struct MauvilleManGiddy *giddy = &gSaveBlock1.mauvilleMan.giddy; - - u16 var = Random() % 10; - if (var < 3 && r7 < 8) + r1 = Random() % 10; + if (r1 < 3 && r7 < 8) { - //gSaveBlock1.mauvilleMan.giddy.randomWords[i] = 0xFFFF; giddy->randomWords[i] = 0xFFFF; r7++; } - //_080F7E90 else { s16 r2 = Random() % r10; - - u16 r1 = 0; - - while (i < 6) // comparing the wrong variable + for (r1 = 0; i < 6; r1++) { - r2 = arr[r1][1] - r2; - if (r2 <= 0) + if ((r2 -= arr[r1][1]) <= 0) break; - r1++; } - if (r1 == 6) r1 = 0; - //gSaveBlock1.mauvilleMan.giddy.randomWords[i] = sub_80EB784(arr[r1][0]); giddy->randomWords[i] = sub_80EB784(arr[r1][0]); } } } -#else - -static const u16 gUnknown_083E53C8[][2] = -{ - { 0x0, 0}, - { 0xC, 0}, - { 0xD, 0}, - {0x12, 0}, - {0x13, 0}, - {0x15, 0}, -}; - -NAKED -static void sub_80F7DC0(void) -{ - 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, 0x18\n\ - ldr r1, _080F7E84 @ =gUnknown_083E53C8\n\ - mov r0, sp\n\ - movs r2, 0x18\n\ - bl memcpy\n\ - movs r5, 0\n\ - movs r0, 0x2\n\ - add r0, sp\n\ - mov r8, r0\n\ - ldr r1, _080F7E88 @ =gSaveBlock1 + 0x2D94\n\ - adds r1, 0x18\n\ - adds r3, r1, 0\n\ -_080F7DE4:\n\ - adds r0, r3, r5\n\ - strb r5, [r0]\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - cmp r5, 0x7\n\ - bls _080F7DE4\n\ - movs r5, 0\n\ - ldr r2, _080F7E88 @ =gSaveBlock1 + 0x2D94\n\ - adds r2, 0x4\n\ - mov r9, r2\n\ - adds r6, r1, 0\n\ -_080F7DFC:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - adds r4, r5, 0x1\n\ - adds r1, r4, 0\n\ - bl __modsi3\n\ - lsls r0, 16\n\ - lsrs r1, r0, 16\n\ - adds r2, r6, r5\n\ - ldrb r7, [r2]\n\ - adds r1, r6, r1\n\ - ldrb r0, [r1]\n\ - strb r0, [r2]\n\ - strb r7, [r1]\n\ - lsls r4, 16\n\ - lsrs r5, r4, 16\n\ - cmp r5, 0x7\n\ - bls _080F7DFC\n\ - movs r3, 0\n\ - mov r10, r3\n\ - movs r5, 0\n\ -_080F7E2A:\n\ - lsls r4, r5, 2\n\ - mov r1, sp\n\ - adds r0, r1, r4\n\ - ldrb r0, [r0]\n\ - bl sub_80EAE88\n\ - add r4, r8\n\ - strh r0, [r4]\n\ - add r0, r10\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r10, r0\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - cmp r5, 0x5\n\ - bls _080F7E2A\n\ - movs r0, 0\n\ - ldr r2, _080F7E88 @ =gSaveBlock1 + 0x2D94\n\ - strb r0, [r2, 0x2]\n\ - movs r7, 0\n\ - movs r5, 0\n\ -_080F7E56:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - movs r1, 0xA\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - lsrs r1, r0, 16\n\ - cmp r1, 0x2\n\ - bhi _080F7E90\n\ - cmp r7, 0x7\n\ - bhi _080F7E90\n\ - lsls r0, r5, 1\n\ - add r0, r9\n\ - ldr r1, _080F7E8C @ =0x0000ffff\n\ - strh r1, [r0]\n\ - adds r0, r7, 0x1\n\ - lsls r0, 16\n\ - lsrs r7, r0, 16\n\ - adds r4, r5, 0x1\n\ - b _080F7EE2\n\ - .align 2, 0\n\ -_080F7E84: .4byte gUnknown_083E53C8\n\ -_080F7E88: .4byte gSaveBlock1 + 0x2D94\n\ -_080F7E8C: .4byte 0x0000ffff\n\ -_080F7E90:\n\ - bl Random\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - mov r1, r10\n\ - bl __umodsi3\n\ - lsls r0, 16\n\ - lsrs r2, r0, 16\n\ - movs r1, 0\n\ - adds r4, r5, 0x1\n\ - lsls r6, r5, 1\n\ - cmp r5, 0x5\n\ - bhi _080F7ECC\n\ - mov r3, r8\n\ - ldrh r0, [r3]\n\ - b _080F7EC2\n\ -_080F7EB2:\n\ - adds r0, r1, 0x1\n\ - lsls r0, 16\n\ - lsrs r1, r0, 16\n\ - cmp r5, 0x5\n\ - bhi _080F7ECC\n\ - lsls r0, r1, 2\n\ - adds r0, r3, r0\n\ - ldrh r0, [r0]\n\ -_080F7EC2:\n\ - subs r0, r2, r0\n\ - lsls r0, 16\n\ - lsrs r2, r0, 16\n\ - cmp r0, 0\n\ - bgt _080F7EB2\n\ -_080F7ECC:\n\ - cmp r1, 0x6\n\ - bne _080F7ED2\n\ - movs r1, 0\n\ -_080F7ED2:\n\ - lsls r0, r1, 2\n\ - add r0, sp\n\ - ldrh r0, [r0]\n\ - bl sub_80EB784\n\ - mov r2, r9\n\ - adds r1, r2, r6\n\ - strh r0, [r1]\n\ -_080F7EE2:\n\ - lsls r0, r4, 16\n\ - lsrs r5, r0, 16\n\ - cmp r5, 0x9\n\ - bls _080F7E56\n\ - add sp, 0x18\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); -} -#endif static void sub_80F7EFC(void) { -- cgit v1.2.3 From e2ea3d44cad21c699e9958586d3282c5e66ecfe1 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 5 May 2018 19:03:19 -0700 Subject: Start decompiling battle_anim_812C144 --- src/battle/battle_anim_812C144.c | 110 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100755 src/battle/battle_anim_812C144.c (limited to 'src') diff --git a/src/battle/battle_anim_812C144.c b/src/battle/battle_anim_812C144.c new file mode 100755 index 000000000..4714f5b09 --- /dev/null +++ b/src/battle/battle_anim_812C144.c @@ -0,0 +1,110 @@ +#include "global.h" +#include "battle_anim.h" +#include "rom_8077ABC.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; + +extern u8 sub_8046234(s16 x, s16 y, u8 a3); + +static void sub_812C184(struct Sprite *sprite); +static void sub_812C268(struct Sprite *sprite); +static void sub_812C2A4(struct Sprite *sprite); +extern void sub_812C380(struct Sprite *sprite); + +void sub_812C144(struct Sprite *sprite) +{ + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + + if (gBattleAnimArgs[3] == 0) + sprite->data[0] = gBattleAnimArgs[2]; + else + sprite->data[0] = -gBattleAnimArgs[2]; + + sprite->data[1] = gBattleAnimArgs[4]; + sprite->callback = sub_812C184; +} + +static void sub_812C184(struct Sprite *sprite) +{ + if (sprite->data[1] > 0) + { + sprite->pos2.x = sprite->data[2] >> 8; + sprite->data[2] += sprite->data[0]; + sprite->invisible ^= 1; + sprite->data[1]--; + } + else + { + DestroyAnimSprite(sprite); + } +} + +void sub_812C1D0(u8 taskId) +{ + sub_8046234( + GetBattlerSpriteCoord(gAnimBankTarget, 2) + 8, + GetBattlerSpriteCoord(gAnimBankTarget, 3) + 8, + 0); + DestroyAnimVisualTask(taskId); + +} + +void sub_812C220(struct Sprite *sprite) +{ + sprite->data[0] = 90; + sprite->callback = WaitAnimForDuration; + sprite->data[1] = 7; + StoreSpriteCallbackInData(sprite, sub_812C268); + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = ((16 - sprite->data[1]) << 8) | sprite->data[1]; +} + +static void sub_812C268(struct Sprite *sprite) +{ + REG_BLDALPHA = ((16 - sprite->data[1]) << 8) | sprite->data[1]; + if (--sprite->data[1] < 0) + { + sprite->invisible = 1; + sprite->callback = sub_812C2A4; + } +} + +static void sub_812C2A4(struct Sprite *sprite) +{ + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + DestroyAnimSprite(sprite); +} + +void sub_812C2BC(struct Sprite *sprite) +{ + u16 rotation; + u8 x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + u8 y = GetBattlerSpriteCoord(gAnimBankTarget, 3); + + sub_8078764(sprite, 1); + + rotation = ArcTan2Neg(sprite->pos1.x - x, sprite->pos1.y - y); + rotation += 0x6000; + if (IsContest()) + rotation += 0x4000; + + sub_8078FDC(sprite, 0, 0x100, 0x100, rotation); + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[2] = x; + sprite->data[4] = y; + sprite->callback = StartTranslateAnimSpriteByDeltas; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +void sub_812C358(struct Sprite *sprite) +{ + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = 0x1000; + sprite->data[0] = 4; + sprite->callback = sub_812C380; +} -- cgit v1.2.3 From 260f61d63342e1b6a93d241f5447844209166414 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 6 May 2018 12:54:52 -0700 Subject: Decompile battle_anim_812C144 through sub_812C990() --- src/battle/anim/rock.c | 8 +- src/battle/battle_anim.c | 2 +- src/battle/battle_anim_812C144.c | 304 +++++++++++++++++++++++++++- src/battle/battle_controller_linkopponent.c | 2 +- src/battle/battle_controller_linkpartner.c | 2 +- src/battle/battle_controller_opponent.c | 2 +- src/battle/battle_controller_player.c | 2 +- src/battle/battle_controller_wally.c | 2 +- 8 files changed, 313 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/battle/anim/rock.c b/src/battle/anim/rock.c index 595df3168..4e839d3e8 100644 --- a/src/battle/anim/rock.c +++ b/src/battle/anim/rock.c @@ -12,7 +12,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; extern u16 gBattle_BG3_Y; @@ -833,11 +833,11 @@ static void sub_80DD9FC(struct Sprite *sprite) void sub_80DDA4C(u8 taskId) { - if ((s32)gAnimMoveDmg < 33) + if (gAnimMoveDmg < 33) gBattleAnimArgs[7] = 0; - if (gAnimMoveDmg - 33 < 33) + if ((u32)gAnimMoveDmg - 33 < 33) gBattleAnimArgs[7] = 1; - if ((s32)gAnimMoveDmg > 65) + if (gAnimMoveDmg > 65) gBattleAnimArgs[7] = 2; DestroyAnimVisualTask(taskId); diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index 2f57bcd97..f3b0056ac 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -1299,7 +1299,7 @@ EWRAM_DATA u8 gAnimScriptActive = FALSE; EWRAM_DATA u8 gAnimVisualTaskCount = 0; EWRAM_DATA u8 gAnimSoundTaskCount = 0; EWRAM_DATA struct DisableStruct *gAnimDisableStructPtr = NULL; -EWRAM_DATA u32 gAnimMoveDmg = 0; +EWRAM_DATA s32 gAnimMoveDmg = 0; EWRAM_DATA u16 gAnimMovePower = 0; EWRAM_DATA u8 gAnimFriendship = 0; EWRAM_DATA u16 gWeatherMoveAnim = 0; diff --git a/src/battle/battle_anim_812C144.c b/src/battle/battle_anim_812C144.c index 4714f5b09..9fccb8918 100755 --- a/src/battle/battle_anim_812C144.c +++ b/src/battle/battle_anim_812C144.c @@ -1,17 +1,32 @@ #include "global.h" +#include "battle.h" #include "battle_anim.h" +#include "palette.h" #include "rom_8077ABC.h" +#include "trig.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern u8 gAnimVisualTaskCount; +extern s32 gAnimMoveDmg; +extern u16 gBattle_WIN0H; +extern u16 gBattle_WIN0V; extern u8 sub_8046234(s16 x, s16 y, u8 a3); static void sub_812C184(struct Sprite *sprite); static void sub_812C268(struct Sprite *sprite); static void sub_812C2A4(struct Sprite *sprite); -extern void sub_812C380(struct Sprite *sprite); +static void sub_812C380(struct Sprite *sprite); +static void sub_812C40C(struct Sprite *sprite); +static void sub_812C450(struct Sprite *sprite); +static void sub_812C4FC(struct Sprite *sprite); +static void sub_812C588(u8 taskId); +static void sub_812C64C(u8 taskId); +static void sub_812C798(struct Sprite *sprite); +static void sub_812C7C8(struct Sprite *sprite); +extern void sub_812CA04(struct Sprite *sprite); void sub_812C144(struct Sprite *sprite) { @@ -108,3 +123,290 @@ void sub_812C358(struct Sprite *sprite) sprite->data[0] = 4; sprite->callback = sub_812C380; } + +static void sub_812C380(struct Sprite *sprite) +{ + REG_BLDALPHA = ((16 - sprite->data[0]) << 8) | sprite->data[0]; + + if (sprite->data[1]) + sprite->data[0]--; + else + sprite->data[0]++; + + if (sprite->data[0] == 15 || sprite->data[0] == 4) + sprite->data[1] ^= 1; + + if (sprite->data[2]++ > 70) + { + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + StartSpriteAffineAnim(sprite, 1); + sprite->data[2] = 0; + sprite->invisible = 1; + sprite->affineAnimPaused = 1; + sprite->callback = sub_812C40C; + } +} + +static void sub_812C40C(struct Sprite *sprite) +{ + if (sprite->data[2]++ > 9) + { + sprite->invisible = 0; + sprite->affineAnimPaused = 0; + if (sprite->affineAnimEnded) + sprite->callback = sub_812C450; + } +} + +static void sub_812C450(struct Sprite *sprite) +{ + switch (sprite->data[3]) + { + case 0: + case 1: + sprite->pos2.x = 1; + sprite->pos2.y = 0; + break; + case 2: + case 3: + sprite->pos2.x = -1; + sprite->pos2.y = 0; + break; + case 4: + case 5: + sprite->pos2.x = 0; + sprite->pos2.y = 1; + break; + case 6: + default: + sprite->pos2.x = 0; + sprite->pos2.y = -1; + break; + } + + if (++sprite->data[3] > 7) + sprite->data[3] = 0; + + if (sprite->data[4]++ > 15) + { + sprite->data[0] = 16; + sprite->data[1] = 0; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = sprite->data[0]; + sprite->callback = sub_812C4FC; + } +} + +static void sub_812C4FC(struct Sprite *sprite) +{ + REG_BLDALPHA = ((16 - sprite->data[0]) << 8) | sprite->data[0]; + + if (sprite->data[1]++ > 1) + { + sprite->data[0]--; + sprite->data[1] = 0; + } + + if (sprite->data[0] == 0) + sprite->invisible = 1; + + if (sprite->data[0] < 0) + { + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + DestroyAnimSprite(sprite); + } +} + +void sub_812C560(u8 taskId) +{ + gTasks[taskId].func = sub_812C588; + gAnimVisualTaskCount--; +} + +static void sub_812C588(u8 taskId) +{ + int i; + u16 lastColor; + u8 paletteIndex = sub_80789BC(); + + if (++gTasks[taskId].data[5] == 4) + { + lastColor = gPlttBufferFaded[paletteIndex * 16 + 11]; + for (i = 10; i > 0; i--) + gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i]; + + gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor; + gTasks[taskId].data[5] = 0; + } + + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + DestroyTask(taskId); +} + +void sub_812C624(u8 taskId) +{ + gTasks[taskId].func = sub_812C64C; + gAnimVisualTaskCount--; +} + +static void sub_812C64C(u8 taskId) +{ + int i; + u16 lastColor; + u8 paletteIndex = sub_80789BC(); + + if (++gTasks[taskId].data[5] == 4) + { + lastColor = gPlttBufferFaded[paletteIndex * 16 + 11]; + for (i = 10; i > 0; i--) + gPlttBufferFaded[paletteIndex * 16 + i + 1] = gPlttBufferFaded[paletteIndex * 16 + i]; + gPlttBufferFaded[paletteIndex * 16 + 1] = lastColor; + + lastColor = gPlttBufferUnfaded[paletteIndex * 16 + 11]; + for (i = 10; i > 0; i--) + gPlttBufferUnfaded[paletteIndex * 16 + i + 1] = gPlttBufferUnfaded[paletteIndex * 16 + i]; + gPlttBufferUnfaded[paletteIndex * 16 + 1] = lastColor; + + gTasks[taskId].data[5] = 0; + } + + if ((u16)gBattleAnimArgs[7] == 0xFFFF) + DestroyTask(taskId); +} + +void sub_812C720(struct Sprite *sprite) +{ + u16 x; + u16 y; + + InitAnimSpritePos(sprite, 1); + SetAverageBattlerPositions(gAnimBankTarget, 0, &x, &y); + + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = x + gBattleAnimArgs[2]; + sprite->data[4] = y + gBattleAnimArgs[3]; + sprite->data[5] = -50; + + InitAnimSpriteTranslationOverDuration(sprite); + sprite->callback = sub_812C798; +} + +static void sub_812C798(struct Sprite *sprite) +{ + if (TranslateAnimSpriteLinearAndSine(sprite)) + { + sprite->data[0] = 30; + sprite->data[1] = 0; + sprite->callback = WaitAnimForDuration; + StoreSpriteCallbackInData(sprite, sub_812C7C8); + } +} + +static void sub_812C7C8(struct Sprite *sprite) +{ + if (sprite->data[1] & 1) + sprite->invisible ^= 1; + + if (++sprite->data[1] == 16) + DestroyAnimSprite(sprite); +} + +void sub_812C80C(struct Sprite *sprite) +{ + sub_8078650(sprite); + sub_807867C(sprite, gBattleAnimArgs[0]); + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->callback = sub_8078600; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); +} + +// This is likely fakematching due to some strange type casting behavior. +void sub_812C848(struct Sprite *sprite) +{ + int var0; + int var1; + if (sprite->data[0] == 0) + { + sub_8078650(sprite); + sub_807867C(sprite, gBattleAnimArgs[0]); + + if (!IsContest()) + { + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) + { + sprite->data[1] = gBattleAnimArgs[2]; + sprite->data[2] = gBattleAnimArgs[3]; + } + else + { + var1 = -gBattleAnimArgs[2]; + sprite->data[1] = var1; + var1 = -gBattleAnimArgs[3]; + sprite->data[2] = var1; + } + } + else + { + var1 = -gBattleAnimArgs[2]; + sprite->data[1] = var1; + sprite->data[2] = gBattleAnimArgs[3]; + } + } + + sprite->data[0]++; + var0 = (sprite->data[0] * 20) & 0xFF; + sprite->data[3] += sprite->data[1]; + sprite->data[4] += sprite->data[2]; + sprite->pos2.x = (sprite->data[3] + (s32)((u32)sprite->data[3] >> 31)) >> 1; + sprite->pos2.y = Sin(var0 & 0xFF, 5) + ((s32)(sprite->data[4] + ((u32)sprite->data[4] >> 31)) >> 1); + + if ((u16)(sprite->pos1.x + sprite->pos2.x) > 240) + DestroyAnimSprite(sprite); +} + +void sub_812C908(struct Sprite *sprite) +{ + if (sprite->animEnded) + DestroyAnimSprite(sprite); +} + +void sub_812C924(u8 taskId) +{ + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_OPPONENT) + gBattleAnimArgs[7] = 0; + else + gBattleAnimArgs[7] = 1; + + DestroyAnimVisualTask(taskId); +} + +void sub_812C960(u8 taskId) +{ + if (gAnimMoveDmg > 0) + gBattleAnimArgs[7] = 0; + else + gBattleAnimArgs[7] = 1; + + DestroyAnimVisualTask(taskId); +} + +void sub_812C990(struct Sprite *sprite) +{ + REG_WINOUT = 0x1F3F; + REG_DISPCNT |= DISPCNT_OBJWIN_ON; + gBattle_WIN0H = 0; + gBattle_WIN0V = 0; + REG_WIN0H = 0; + REG_WIN0V = 0; + + sub_8078764(sprite, 0); + + sprite->oam.objMode = ST_OAM_OBJ_WINDOW; + sprite->invisible = 1; + sprite->callback = sub_812CA04; +} diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c index f720d6a78..62df190a5 100644 --- a/src/battle/battle_controller_linkopponent.c +++ b/src/battle/battle_controller_linkopponent.c @@ -33,7 +33,7 @@ extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; extern u8 gBattleMonForms[]; extern void (*gBattleBankFunc[])(void); -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index 0baeca43e..e3810d856 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -42,7 +42,7 @@ extern u8 gUnknown_02024E68[]; extern u8 gDoingBattleAnim; extern u32 gTransformedPersonalities[]; extern struct SpriteTemplate gUnknown_02024E8C; -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c index d6e7ed4a7..f6e7f92a7 100644 --- a/src/battle/battle_controller_opponent.c +++ b/src/battle/battle_controller_opponent.c @@ -43,7 +43,7 @@ extern u8 gUnknown_0300434C[]; extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; extern u16 gTrainerBattleOpponent; -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 881ec72fc..004963b70 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -61,7 +61,7 @@ extern u8 gBattleOutcome; extern void (*gAnimScriptCallback)(void); extern bool8 gAnimScriptActive; extern u16 gAnimMovePower; -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; extern u32 gTransformedPersonalities[]; diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 26348b434..451e02b40 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -38,7 +38,7 @@ extern u16 gBattlerPartyIndexes[]; extern u8 gHealthboxIDs[]; extern u16 gBattleTypeFlags; extern u16 gAnimMovePower; -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; extern u32 gTransformedPersonalities[]; -- cgit v1.2.3 From 1ba6cb3fed17b09d64609101655c47e2a5aa2d2a Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 7 May 2018 18:13:19 -0700 Subject: Decopmile battle_anim_812C144 up through sub_812D790() --- src/battle/battle_anim_812C144.c | 716 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 715 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle/battle_anim_812C144.c b/src/battle/battle_anim_812C144.c index 9fccb8918..601e3c6df 100755 --- a/src/battle/battle_anim_812C144.c +++ b/src/battle/battle_anim_812C144.c @@ -2,7 +2,10 @@ #include "battle.h" #include "battle_anim.h" #include "palette.h" +#include "random.h" #include "rom_8077ABC.h" +#include "scanline_effect.h" +#include "sound.h" #include "trig.h" extern s16 gBattleAnimArgs[]; @@ -12,6 +15,18 @@ extern u8 gAnimVisualTaskCount; extern s32 gAnimMoveDmg; extern u16 gBattle_WIN0H; extern u16 gBattle_WIN0V; +extern u16 gBattle_WIN1H; +extern u16 gBattle_WIN1V; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG2_X; + +extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7220; +extern const struct SpriteTemplate gSpriteTemplate_8402500; +extern const union AffineAnimCmd gUnknown_08402400[]; +extern const union AffineAnimCmd gUnknown_084024B0[]; +extern const union AffineAnimCmd gUnknown_08402518[]; +extern const union AffineAnimCmd gUnknown_08402540[]; +extern const union AffineAnimCmd gUnknown_08402590[]; extern u8 sub_8046234(s16 x, s16 y, u8 a3); @@ -26,7 +41,16 @@ static void sub_812C588(u8 taskId); static void sub_812C64C(u8 taskId); static void sub_812C798(struct Sprite *sprite); static void sub_812C7C8(struct Sprite *sprite); -extern void sub_812CA04(struct Sprite *sprite); +static void sub_812CA04(struct Sprite *sprite); +static void sub_812CAD0(struct Sprite *sprite); +static void sub_812CBB4(struct Sprite *sprite); +static void sub_812CD64(struct Sprite *sprite); +static void sub_812CEF0(u8 taskId); +static void sub_812D06C(u8 taskId); +static void sub_812D254(struct Sprite *sprite); +static void sub_812D4EC(struct Sprite *sprite); +static void sub_812D5E8(struct Sprite *sprite); + void sub_812C144(struct Sprite *sprite) { @@ -410,3 +434,693 @@ void sub_812C990(struct Sprite *sprite) sprite->invisible = 1; sprite->callback = sub_812CA04; } + +static void sub_812CA04(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + sprite->invisible = 0; + if (sprite->affineAnimEnded) + sprite->data[0]++; + break; + case 1: + case 3: + sprite->data[1] += 117; + sprite->pos2.x = sprite->data[1] >> 8; + if (++sprite->data[2] == 21) + { + sprite->data[2] = 0; + sprite->data[0]++; + } + break; + case 2: + sprite->data[1] -= 117; + sprite->pos2.x = sprite->data[1] >> 8; + if (++sprite->data[2] == 41) + { + sprite->data[2] = 0; + sprite->data[0]++; + } + break; + case 4: + ChangeSpriteAffineAnim(sprite, 1); + sprite->data[0]++; + break; + case 5: + if (sprite->affineAnimEnded) + { + sprite->invisible = 1; + sprite->callback = sub_812CAD0; + } + break; + } +} + +static void sub_812CAD0(struct Sprite *sprite) +{ + REG_WINOUT = 0x3F3F; + REG_DISPCNT ^= DISPCNT_OBJWIN_ON; + DestroyAnimSprite(sprite); +} + +void sub_812CAFC(struct Sprite *sprite) +{ + if (gBattleAnimArgs[3] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); + } + + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->oam.tileNum += 16; + + if (gBattleAnimArgs[2] == 0) + { + sprite->oam.matrixNum = 8; + sprite->pos2.x = -12; + sprite->data[1] = 2; + } + else + { + sprite->pos2.x = 12; + sprite->data[1] = -2; + } + + sprite->data[0] = gBattleAnimArgs[4]; + + if (sprite->data[3] != 255) + sprite->data[3] = gBattleAnimArgs[2]; + + sprite->callback = sub_812CBB4; +} + +static void sub_812CBB4(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + sprite->pos2.x += sprite->data[1]; + if (sprite->pos2.x == 0) + { + sprite->data[2]++; + if (sprite->data[3] == 0) + { + PlaySE1WithPanning(222, BattleAnimAdjustPanning(-64)); + } + } + } + else + { + sprite->pos2.x -= sprite->data[1]; + if (abs(sprite->pos2.x) == 12) + { + sprite->data[0]--; + sprite->data[2]--; + } + + } + + if (sprite->data[0] == 0) + DestroyAnimSprite(sprite); +} + +void sub_812CC28(struct Sprite *sprite) +{ + sprite->oam.objMode = ST_OAM_OBJ_WINDOW; + sprite->data[3] = 255; + sub_812CAFC(sprite); +} + +void sub_812CC44(u8 taskId) +{ + if (IsContest()) + { + REG_WININ = 0x1F3F; + gBattle_WIN1H = 0x98F0; + gBattle_WIN1V = 0x00A0; + REG_WIN1H = gBattle_WIN0H; + REG_WIN1V = gBattle_WIN0V; + } + + DestroyAnimVisualTask(taskId); +} + +void sub_812CCA8(u8 taskId) +{ + if (IsContest()) + { + REG_WININ = 0x3F3F; + gBattle_WIN1H = 0; + gBattle_WIN1V = 0; + } + + DestroyAnimVisualTask(taskId); +} + +void sub_812CCE8(struct Sprite *sprite) +{ + int var0; + if (gBattleAnimArgs[0] == 0) + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1); + } + else + { + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 0) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 1); + } + + sprite->pos2.y = gBattleAnimArgs[2]; + var0 = 0; + if (sprite->pos2.y > gBattleAnimArgs[3]) + var0 = 1; + + sprite->data[0] = var0; + sprite->data[1] = 0; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = gBattleAnimArgs[5]; + sprite->data[4] = gBattleAnimArgs[3]; + sprite->callback = sub_812CD64; +} + +static void sub_812CD64(struct Sprite *sprite) +{ + sprite->data[1] = (sprite->data[1] + sprite->data[2]) & 0xFF; + sprite->pos2.x = gSineTable[sprite->data[1]] >> 4; + sprite->pos2.y += sprite->data[3]; + + if (sprite->data[0]) + { + if (sprite->pos2.y < sprite->data[4]) + DestroyAnimSprite(sprite); + } + else + { + if (sprite->pos2.y > sprite->data[4]) + DestroyAnimSprite(sprite); + } +} + +void sub_812CDC8(u8 taskId) +{ + s16 var0; + u8 toBG2; + s16 var2; + int var3; + int var4; + s16 i; + struct ScanlineEffectParams scanlineParams; + struct Task *task = &gTasks[taskId]; + + if (gBattleAnimArgs[0] == 0) + { + var0 = sub_8077FC0(gAnimBankAttacker); + toBG2 = GetBattlerPosition_permutated(gAnimBankAttacker); + } + else + { + var0 = sub_8077FC0(gAnimBankTarget); + toBG2 = GetBattlerPosition_permutated(gAnimBankTarget); + } + + task->data[0] = var0 + 36; + task->data[1] = task->data[0]; + task->data[2] = var0 - 33; + if (task->data[2] < 0) + task->data[2] = 0; + + task->data[3] = task->data[0]; + task->data[4] = 8; + task->data[5] = gBattleAnimArgs[1]; + task->data[6] = 0; + task->data[7] = 0; + + if (toBG2 == 1) + { + var3 = gBattle_BG1_X; + task->data[8] = var3; + var4 = var3 + 240; + } + else + { + var3 = gBattle_BG2_X; + task->data[8] = var3; + var4 = var3 + 240; + } + + task->data[9] = var4; + task->data[10] = gBattleAnimArgs[2]; + + if (gBattleAnimArgs[2] == 0) + { + task->data[11] = var4; + var2 = task->data[8]; + } + else + { + task->data[11] = var3; + var2 = task->data[9]; + } + + task->data[15] = 0; + + i = task->data[2]; + while (i <= task->data[3]) + { + gScanlineEffectRegBuffers[0][i] = var2; + gScanlineEffectRegBuffers[1][i] = var2; + i++; + } + + if (toBG2 == 1) + scanlineParams.dmaDest = ®_BG1HOFS; + else + scanlineParams.dmaDest = ®_BG2HOFS; + + scanlineParams.dmaControl = 0xA2600001; + scanlineParams.initState = 1; + scanlineParams.unused9 = 0; + ScanlineEffect_SetParams(scanlineParams); + + task->func = sub_812CEF0; +} + +static void sub_812CEF0(u8 taskId) +{ + s16 i; + struct Task *task = &gTasks[taskId]; + + task->data[0] -= task->data[5]; + if (task->data[0] < task->data[2]) + task->data[0] = task->data[2]; + + if (task->data[4] == 0) + { + task->data[1] -= task->data[5]; + if (task->data[1] < task->data[2]) + { + task->data[1] = task->data[2]; + task->data[15] = 1; + } + } + else + { + task->data[4]--; + } + + if (++task->data[6] > 1) + { + task->data[6] = 0; + task->data[7] = task->data[7] == 0 ? 1 : 0; + + if (task->data[7]) + task->data[12] = task->data[8]; + else + task->data[12] = task->data[9]; + } + + i = task->data[0]; + while (i < task->data[1]) + { + gScanlineEffectRegBuffers[0][i] = task->data[12]; + gScanlineEffectRegBuffers[1][i] = task->data[12]; + i++; + } + + i = task->data[1]; + while (i <= task->data[3]) + { + gScanlineEffectRegBuffers[0][i] = task->data[11]; + gScanlineEffectRegBuffers[1][i] = task->data[11]; + i++; + } + + if (task->data[15]) + { + if (task->data[10]) + gScanlineEffect.state = 3; + + DestroyAnimVisualTask(taskId); + } +} + +void sub_812D008(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + task->data[3] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + task->data[4] = 32; + task->data[5] = -20; + task->data[6] = 0; + task->data[15] = GetAnimBattlerSpriteId(0); + task->func = sub_812D06C; +} + +static void sub_812D06C(u8 taskId) +{ + int var0, var1; + s16 x, y; + u16 i, j; + u8 spriteId; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + var0 = task->data[2]; + if (task->data[1] & 1) + { + var1 = task->data[4]; + x = var0 - var1; + } + else + { + var1 = task->data[4]; + x = var0 + var1; + } + + y = task->data[3] + task->data[5]; + spriteId = CreateSprite(&gBattleAnimSpriteTemplate_83D7220, x, y, 6 - task->data[1]); + PlaySE12WithPanning(186, BattleAnimAdjustPanning(-64)); + + if (spriteId != MAX_SPRITES) + { + gSprites[spriteId].hFlip = task->data[1] & 1; + gSprites[spriteId].callback = SpriteCallbackDummy; + } + + if (task->data[1] & 1) + { + task->data[4] -= 6; + task->data[5] -= 6; + } + + sub_80798F4(task, task->data[15], gUnknown_08402400); + task->data[1]++; + task->data[0] = 1; + break; + case 1: + if (sub_807992C(task) == 0) + { + if (task->data[1] == 6) + { + task->data[6] = 8; + task->data[0] = 3; + } + else + { + if (task->data[1] <= 2) + task->data[6] = 10; + else + task->data[6] = 0; + + task->data[0] = 2; + } + } + break; + case 2: + if (task->data[6] != 0) + task->data[6]--; + else + task->data[0] = 0; + break; + case 3: + if (task->data[6] != 0) + task->data[6]--; + else + task->data[0] = 4; + break; + case 4: + for (i = 0, j = 0; i < MAX_SPRITES; i++) + { + if (gSprites[i].template == &gBattleAnimSpriteTemplate_83D7220) + { + gSprites[i].data[0] = taskId; + gSprites[i].data[1] = 6; + StartSpriteAnim(&gSprites[i], 2); + gSprites[i].callback = sub_812D254; + + if (++j == 6) + break; + } + } + + task->data[6] = j; + task->data[0] = 5; + break; + case 5: + if (task->data[6] == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_812D254(struct Sprite *sprite) +{ + if (sprite->animEnded) + { + gTasks[sprite->data[0]].data[sprite->data[1]]--; + DestroySprite(sprite); + } +} + +void sub_812D294(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + InitAnimSpritePos(sprite, 0); + + sprite->data[0]++; + if (sprite->data[0] < 40) + { + u16 var = sprite->data[0]; + if ((var & 1) == 0) + sprite->invisible = 1; + else + sprite->invisible = 0; + } + + if (sprite->data[0] > 30) + sprite->invisible = 0; + + if (sprite->data[0] == 61) + { + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + sprite->pos1.x += sprite->pos2.x; + sprite->pos1.y += sprite->pos2.y; + sprite->pos2.x = 0; + sprite->pos2.y = 0; + sprite->data[0] = 20; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sprite->callback = StartTranslateAnimSpriteByDeltas; + } +} + +void sub_812D350(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_084024B0); + gTasks[taskId].data[0]++; + break; + case 1: + if (sub_807992C(&gTasks[taskId]) == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_812D3AC(struct Sprite *sprite) +{ + u8 spriteId = GetAnimBattlerSpriteId(0); + + switch (sprite->data[0]) + { + case 0: + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sub_8078E70(spriteId, 0); + sprite->data[1] = 256; + sprite->data[2] = 256; + sprite->data[0]++; + break; + case 1: + sprite->data[1] += 96; + sprite->data[2] -= 26; + obj_id_set_rotscale(spriteId, sprite->data[1], sprite->data[2], 0); + + if (++sprite->data[3] == 5) + sprite->data[0]++; + // fall through + case 2: + sprite->data[1] += 96; + sprite->data[2] += 48; + obj_id_set_rotscale(spriteId, sprite->data[1], sprite->data[2], 0); + + if (++sprite->data[3] == 9) + { + sprite->data[3] = 0; + gSprites[spriteId].invisible = 1; + sub_8078F40(spriteId); + sprite->data[0]++; + } + break; + case 3: + sprite->pos2.y -= 6; + if (sprite->pos1.y + sprite->pos2.y < -32) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_812D4B4(struct Sprite *sprite) +{ + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + sprite->pos1.x = -16; + else + sprite->pos1.x = 256; + + sprite->pos1.y = 0; + sprite->callback = sub_812D4EC; +} + +static void sub_812D4EC(struct Sprite *sprite) +{ + u32 newX; + + sprite->data[0] += 72; + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + sprite->pos2.x = sprite->data[0] >> 4; + else + sprite->pos2.x = -(sprite->data[0] >> 4); + + sprite->data[1] += 16; + sprite->pos2.y += sprite->data[1] >> 8; + + if (++sprite->data[2] % 3 == 0) + { + CreateSpriteAndAnimate( + &gSpriteTemplate_8402500, + sprite->pos1.x + sprite->pos2.x, + sprite->pos1.y + sprite->pos2.y, + sprite->subpriority + 1); + } + + newX = sprite->pos1.x + sprite->pos2.x + 32; + if (newX > 304) + DestroyAnimSprite(sprite); +} + +void sub_812D588(struct Sprite *sprite) +{ + u8 rand; + s8 y; + + rand = Random() & 3; + if (rand == 0) + sprite->oam.tileNum += 4; + else + sprite->oam.tileNum += 5; + + y = Random() & 7; + if (y > 3) + y = -y; + + sprite->pos2.y = y; + sprite->callback = sub_812D5E8; +} + +static void sub_812D5E8(struct Sprite *sprite) +{ + if (++sprite->data[0] < 30) + { + if (++sprite->data[1] == 2) + { + sprite->invisible ^= 1; + sprite->data[1] = 0; + } + } + else + { + if (sprite->data[1] == 2) + sprite->invisible = 0; + + if (sprite->data[1] == 3) + { + sprite->invisible = 1; + sprite->data[1] = -1; + } + + sprite->data[1]++; + } + + if (sprite->data[0] > 60) + DestroySprite(sprite); +} + +void sub_812D674(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_08402518); + gTasks[taskId].data[0]++; + } + else + { + if (sub_807992C(&gTasks[taskId]) == 0) + DestroyAnimVisualTask(taskId); + } +} + +void sub_812D6CC(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_08402540); + gTasks[taskId].data[0]++; + } + else + { + if (sub_807992C(&gTasks[taskId]) == 0) + DestroyAnimVisualTask(taskId); + } +} + +void sub_812D724(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + InitAnimSpritePos(sprite, 0); + sprite->data[1] = 0x900; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->data[0]++; + break; + case 1: + sprite->pos2.y -= sprite->data[1] >> 8; + sprite->data[1] -= 96; + if (sprite->pos1.y + sprite->pos2.y > sprite->data[2]) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_812D790(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_08402590); + gTasks[taskId].data[0]++; + } + else + { + if (sub_807992C(&gTasks[taskId]) == 0) + DestroyAnimVisualTask(taskId); + } +} -- cgit v1.2.3 From 43f7bec067280fd558f0e6b824302954a145df9c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 9 May 2018 20:15:22 -0700 Subject: Misc labeling and cleanup, mostly item-related --- src/berry.c | 13 +- src/data/items_de.h | 698 ++++++++++++++++++++++++++-------------------------- src/data/items_en.h | 698 ++++++++++++++++++++++++++-------------------------- src/heal_location.c | 6 +- src/item.c | 218 +++------------- src/item_menu.c | 40 +-- 6 files changed, 754 insertions(+), 919 deletions(-) (limited to 'src') diff --git a/src/berry.c b/src/berry.c index 16b5b2b22..349703299 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1,4 +1,5 @@ #include "global.h" +#include "constants/items.h" #include "berry.h" #include "field_control_avatar.h" #include "event_object_movement.h" @@ -6,24 +7,12 @@ #include "item.h" #include "item_menu.h" #include "item_use.h" -#include "constants/items.h" #include "main.h" #include "menu.h" #include "random.h" #include "task.h" #include "text.h" -#define BERRY_NAME_LENGTH 6 -#define BERRY_REGROW_LIMIT 10 -#define MAX_BERRY_TREES 128 - -#define BERRY_NONE 0 -#define FIRST_BERRY ITEM_CHERI_BERRY -#define LAST_BERRY ITEM_ENIGMA_BERRY - -#define GETBERRYID(berry) ((berry - FIRST_BERRY) + 1) -#define GETITEMID(berry) ((berry + FIRST_BERRY) - 1) - #ifdef ENGLISH #define NAME_CHERI_BERRY _("CHERI") #define NAME_CHESTO_BERRY _("CHESTO") diff --git a/src/data/items_de.h b/src/data/items_de.h index 92304e8b0..47227f2a1 100644 --- a/src/data/items_de.h +++ b/src/data/items_de.h @@ -8,7 +8,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -24,7 +24,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MasterBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 0, .fieldUseFunc = NULL, @@ -40,7 +40,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_UltraBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 1, .fieldUseFunc = NULL, @@ -56,7 +56,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GreatBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 2, .fieldUseFunc = NULL, @@ -72,7 +72,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PokeBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 3, .fieldUseFunc = NULL, @@ -88,7 +88,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SafariBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 4, .fieldUseFunc = NULL, @@ -104,7 +104,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NetBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 5, .fieldUseFunc = NULL, @@ -120,7 +120,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DiveBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 6, .fieldUseFunc = NULL, @@ -136,7 +136,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NestBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 7, .fieldUseFunc = NULL, @@ -152,7 +152,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RepeatBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 8, .fieldUseFunc = NULL, @@ -168,7 +168,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TimerBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 9, .fieldUseFunc = NULL, @@ -184,7 +184,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LuxuryBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 10, .fieldUseFunc = NULL, @@ -200,7 +200,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PremierBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 11, .fieldUseFunc = NULL, @@ -216,7 +216,7 @@ const struct Item gItems[] = .holdEffectParam = 20, .description = gItemDescription_Potion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -232,7 +232,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Antidote, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -248,7 +248,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BurnHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -264,7 +264,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_IceHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -280,7 +280,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Awakening, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -296,7 +296,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ParalyzeHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -312,7 +312,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_FullRestore, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -328,7 +328,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_MaxPotion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -344,7 +344,7 @@ const struct Item gItems[] = .holdEffectParam = 200, .description = gItemDescription_HyperPotion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -360,7 +360,7 @@ const struct Item gItems[] = .holdEffectParam = 50, .description = gItemDescription_SuperPotion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -376,7 +376,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FullHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -392,7 +392,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Revive, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -408,7 +408,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MaxRevive, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -424,7 +424,7 @@ const struct Item gItems[] = .holdEffectParam = 50, .description = gItemDescription_FreshWater, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -440,7 +440,7 @@ const struct Item gItems[] = .holdEffectParam = 60, .description = gItemDescription_SodaPop, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -456,7 +456,7 @@ const struct Item gItems[] = .holdEffectParam = 80, .description = gItemDescription_Lemonade, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -472,7 +472,7 @@ const struct Item gItems[] = .holdEffectParam = 100, .description = gItemDescription_MoomooMilk, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -488,7 +488,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EnergyPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -504,7 +504,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EnergyRoot, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -520,7 +520,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HealPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -536,7 +536,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RevivalHerb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -552,7 +552,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Ether, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -568,7 +568,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_MaxEther, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -584,7 +584,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Elixir, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -600,7 +600,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_MaxElixir, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -616,7 +616,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LavaCookie, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -632,7 +632,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -648,7 +648,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_YellowFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -664,7 +664,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -680,7 +680,7 @@ const struct Item gItems[] = .holdEffectParam = 50, .description = gItemDescription_BlackFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, @@ -696,7 +696,7 @@ const struct Item gItems[] = .holdEffectParam = 150, .description = gItemDescription_WhiteFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, @@ -712,7 +712,7 @@ const struct Item gItems[] = .holdEffectParam = 20, .description = gItemDescription_BerryJuice, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -728,7 +728,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SacredAsh, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, @@ -744,7 +744,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ShoalSalt, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -760,7 +760,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ShoalShell, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -776,7 +776,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -792,7 +792,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -808,7 +808,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_YellowShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -824,7 +824,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GreenShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -840,7 +840,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -856,7 +856,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -872,7 +872,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -888,7 +888,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -904,7 +904,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -920,7 +920,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -936,7 +936,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -952,7 +952,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -968,7 +968,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -984,7 +984,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1000,7 +1000,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1016,7 +1016,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HPUp, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1032,7 +1032,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Protein, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1048,7 +1048,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Iron, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1064,7 +1064,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Carbos, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1080,7 +1080,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Calcium, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1096,7 +1096,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RareCandy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_RareCandy, @@ -1112,7 +1112,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PPUp, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, @@ -1128,7 +1128,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Zinc, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1144,7 +1144,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PPMax, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, @@ -1160,7 +1160,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1176,7 +1176,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GuardSpec, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1192,7 +1192,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DireHit, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1208,7 +1208,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XAttack, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1224,7 +1224,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XDefend, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1240,7 +1240,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XSpeed, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1256,7 +1256,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XAccuracy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1272,7 +1272,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XSpecial, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1288,7 +1288,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PokeDoll, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1304,7 +1304,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FluffyTail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1320,7 +1320,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1336,7 +1336,7 @@ const struct Item gItems[] = .holdEffectParam = 200, .description = gItemDescription_SuperRepel, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, @@ -1352,7 +1352,7 @@ const struct Item gItems[] = .holdEffectParam = 250, .description = gItemDescription_MaxRepel, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, @@ -1368,7 +1368,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EscapeRope, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, @@ -1384,7 +1384,7 @@ const struct Item gItems[] = .holdEffectParam = 100, .description = gItemDescription_Repel, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, @@ -1400,7 +1400,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1416,7 +1416,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1432,7 +1432,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1448,7 +1448,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1464,7 +1464,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1480,7 +1480,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1496,7 +1496,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SunStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1512,7 +1512,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MoonStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1528,7 +1528,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FireStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1544,7 +1544,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ThunderStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1560,7 +1560,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WaterStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1576,7 +1576,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LeafStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1592,7 +1592,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1608,7 +1608,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1624,7 +1624,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1640,7 +1640,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1656,7 +1656,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TinyMushroom, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1672,7 +1672,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BigMushroom, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1688,7 +1688,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1704,7 +1704,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Pearl, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1720,7 +1720,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BigPearl, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1736,7 +1736,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Stardust, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1752,7 +1752,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_StarPiece, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1768,7 +1768,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Nugget, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1784,7 +1784,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HeartScale, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1800,7 +1800,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1816,7 +1816,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1832,7 +1832,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1848,7 +1848,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1864,7 +1864,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1880,7 +1880,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1896,7 +1896,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1912,7 +1912,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1928,7 +1928,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1944,7 +1944,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_OrangeMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -1960,7 +1960,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HarborMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -1976,7 +1976,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GlitterMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -1992,7 +1992,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MechMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2008,7 +2008,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WoodMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2024,7 +2024,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WaveMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2040,7 +2040,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BeadMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2056,7 +2056,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ShadowMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2072,7 +2072,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TropicMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2088,7 +2088,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DreamMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2104,7 +2104,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FabMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2120,7 +2120,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RetroMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2136,7 +2136,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CheriBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2152,7 +2152,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ChestoBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2168,7 +2168,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PechaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2184,7 +2184,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RawstBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2200,7 +2200,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_AspearBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2216,7 +2216,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_LeppaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -2232,7 +2232,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_OranBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2248,7 +2248,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PersimBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2264,7 +2264,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LumBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2280,7 +2280,7 @@ const struct Item gItems[] = .holdEffectParam = 30, .description = gItemDescription_SitrusBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2296,7 +2296,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_FigyBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2312,7 +2312,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_WikiBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2328,7 +2328,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_MagoBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2344,7 +2344,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_AguavBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2360,7 +2360,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_IapapaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2376,7 +2376,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RazzBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2392,7 +2392,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlukBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2408,7 +2408,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NanabBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2424,7 +2424,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WepearBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2440,7 +2440,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PinapBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2456,7 +2456,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PomegBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2472,7 +2472,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_KelpsyBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2488,7 +2488,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_QualotBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2504,7 +2504,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HondewBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2520,7 +2520,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GrepaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2536,7 +2536,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TamatoBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2552,7 +2552,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CornnBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2568,7 +2568,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MagostBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2584,7 +2584,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RabutaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2600,7 +2600,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NomelBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2616,7 +2616,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SpelonBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2632,7 +2632,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PamtreBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2648,7 +2648,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WatmelBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2664,7 +2664,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DurinBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2680,7 +2680,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BelueBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2696,7 +2696,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_LiechiBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2712,7 +2712,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_GanlonBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2728,7 +2728,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_SalacBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2744,7 +2744,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_PetayaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2760,7 +2760,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_ApicotBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2776,7 +2776,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_LansatBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2792,7 +2792,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_StarfBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2808,7 +2808,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EnigmaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, @@ -2824,7 +2824,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2840,7 +2840,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2856,7 +2856,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2872,7 +2872,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_BrightPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2888,7 +2888,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WhiteHerb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2904,7 +2904,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MachoBrace, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2920,7 +2920,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ExpShare, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2936,7 +2936,7 @@ const struct Item gItems[] = .holdEffectParam = 20, .description = gItemDescription_QuickClaw, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2952,7 +2952,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SootheBell, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2968,7 +2968,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MentalHerb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2984,7 +2984,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ChoiceBand, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3000,7 +3000,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_KingsRock, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3016,7 +3016,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SilverPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3032,7 +3032,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_AmuletCoin, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3048,7 +3048,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CleanseTag, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3064,7 +3064,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SoulDew, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3080,7 +3080,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DeepSeaTooth, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3096,7 +3096,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DeepSeaScale, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3112,7 +3112,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SmokeBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3128,7 +3128,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Everstone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3144,7 +3144,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_FocusBand, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3160,7 +3160,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LuckyEgg, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3176,7 +3176,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ScopeLens, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3192,7 +3192,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_MetalCoat, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3208,7 +3208,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Leftovers, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3224,7 +3224,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_DragonScale, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3240,7 +3240,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LightBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3256,7 +3256,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SoftSand, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3272,7 +3272,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_HardStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3288,7 +3288,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_MiracleSeed, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3304,7 +3304,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_BlackGlasses, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3320,7 +3320,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_BlackBelt, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3336,7 +3336,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Magnet, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3352,7 +3352,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_MysticWater, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3368,7 +3368,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SharpBeak, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3384,7 +3384,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_PoisonBarb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3400,7 +3400,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_NeverMeltIce, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3416,7 +3416,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SpellTag, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3432,7 +3432,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_TwistedSpoon, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3448,7 +3448,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Charcoal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3464,7 +3464,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_DragonFang, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3480,7 +3480,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SilkScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3496,7 +3496,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_UpGrade, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3512,7 +3512,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_ShellBell, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3528,7 +3528,7 @@ const struct Item gItems[] = .holdEffectParam = 5, .description = gItemDescription_SeaIncense, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3544,7 +3544,7 @@ const struct Item gItems[] = .holdEffectParam = 5, .description = gItemDescription_LaxIncense, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3560,7 +3560,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LuckyPunch, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3576,7 +3576,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MetalPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3592,7 +3592,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ThickClub, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3608,7 +3608,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Stick, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3624,7 +3624,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3640,7 +3640,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3656,7 +3656,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3672,7 +3672,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3688,7 +3688,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3704,7 +3704,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3720,7 +3720,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3736,7 +3736,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3752,7 +3752,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3768,7 +3768,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3784,7 +3784,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3800,7 +3800,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3816,7 +3816,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3832,7 +3832,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3848,7 +3848,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3864,7 +3864,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3880,7 +3880,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3896,7 +3896,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3912,7 +3912,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3928,7 +3928,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3944,7 +3944,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3960,7 +3960,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3976,7 +3976,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3992,7 +3992,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4008,7 +4008,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4024,7 +4024,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4040,7 +4040,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4056,7 +4056,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4072,7 +4072,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4088,7 +4088,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4104,7 +4104,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PinkScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4120,7 +4120,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GreenScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4136,7 +4136,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_YellowScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4152,7 +4152,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MachBike, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, @@ -4168,7 +4168,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CoinCase, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CoinCase, @@ -4184,7 +4184,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Itemfinder, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, @@ -4200,7 +4200,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_OldRod, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -4216,7 +4216,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GoodRod, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -4232,7 +4232,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SuperRod, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -4248,7 +4248,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SSTicket, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4264,7 +4264,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ContestPass, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4280,7 +4280,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4296,7 +4296,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WailmerPail, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, @@ -4312,7 +4312,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DevonGoods, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4328,7 +4328,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SootSack, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4344,7 +4344,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BasementKey, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4360,7 +4360,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_AcroBike, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, @@ -4376,7 +4376,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PokeblockCase, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 3, .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, @@ -4392,7 +4392,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Letter, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4408,7 +4408,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EonTicket, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4424,7 +4424,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedOrb, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4440,7 +4440,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueOrb, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4456,7 +4456,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Scanner, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4472,7 +4472,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GoGoggles, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4488,7 +4488,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Meteorite, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4504,7 +4504,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room1Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4520,7 +4520,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room2Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4536,7 +4536,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room4Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4552,7 +4552,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room6Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4568,7 +4568,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_StorageKey, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4584,7 +4584,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RootFossil, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4600,7 +4600,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ClawFossil, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4616,7 +4616,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DevonScope, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4632,7 +4632,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM01, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4648,7 +4648,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM02, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4664,7 +4664,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM03, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4680,7 +4680,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM04, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4696,7 +4696,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM05, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4712,7 +4712,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM06, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4728,7 +4728,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM07, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4744,7 +4744,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM08, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4760,7 +4760,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM09, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4776,7 +4776,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM10, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4792,7 +4792,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM11, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4808,7 +4808,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM12, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4824,7 +4824,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM13, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4840,7 +4840,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM14, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4856,7 +4856,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM15, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4872,7 +4872,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM16, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4888,7 +4888,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM17, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4904,7 +4904,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM18, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4920,7 +4920,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM19, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4936,7 +4936,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM20, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4952,7 +4952,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM21, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4968,7 +4968,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM22, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4984,7 +4984,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM23, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5000,7 +5000,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM24, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5016,7 +5016,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM25, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5032,7 +5032,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM26, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5048,7 +5048,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM27, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5064,7 +5064,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM28, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5080,7 +5080,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM29, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5096,7 +5096,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM30, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5112,7 +5112,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM31, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5128,7 +5128,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM32, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5144,7 +5144,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM33, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5160,7 +5160,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM34, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5176,7 +5176,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM35, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5192,7 +5192,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM36, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5208,7 +5208,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM37, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5224,7 +5224,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM38, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5240,7 +5240,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM39, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5256,7 +5256,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM40, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5272,7 +5272,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM41, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5288,7 +5288,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM42, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5304,7 +5304,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM43, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5320,7 +5320,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM44, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5336,7 +5336,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM45, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5352,7 +5352,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM46, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5368,7 +5368,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM47, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5384,7 +5384,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM48, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5400,7 +5400,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM49, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5416,7 +5416,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM50, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5432,7 +5432,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM01, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5448,7 +5448,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM02, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5464,7 +5464,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM03, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5480,7 +5480,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM04, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5496,7 +5496,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM05, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5512,7 +5512,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM06, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5528,7 +5528,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM07, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5544,7 +5544,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM08, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5560,7 +5560,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -5576,7 +5576,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, diff --git a/src/data/items_en.h b/src/data/items_en.h index 3660f4590..60f62752d 100644 --- a/src/data/items_en.h +++ b/src/data/items_en.h @@ -8,7 +8,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -24,7 +24,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MasterBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 0, .fieldUseFunc = NULL, @@ -40,7 +40,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_UltraBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 1, .fieldUseFunc = NULL, @@ -56,7 +56,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GreatBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 2, .fieldUseFunc = NULL, @@ -72,7 +72,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PokeBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 3, .fieldUseFunc = NULL, @@ -88,7 +88,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SafariBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 4, .fieldUseFunc = NULL, @@ -104,7 +104,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NetBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 5, .fieldUseFunc = NULL, @@ -120,7 +120,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DiveBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 6, .fieldUseFunc = NULL, @@ -136,7 +136,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NestBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 7, .fieldUseFunc = NULL, @@ -152,7 +152,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RepeatBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 8, .fieldUseFunc = NULL, @@ -168,7 +168,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TimerBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 9, .fieldUseFunc = NULL, @@ -184,7 +184,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LuxuryBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 10, .fieldUseFunc = NULL, @@ -200,7 +200,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PremierBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_POKE_BALLS, .type = 11, .fieldUseFunc = NULL, @@ -216,7 +216,7 @@ const struct Item gItems[] = .holdEffectParam = 20, .description = gItemDescription_Potion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -232,7 +232,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Antidote, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -248,7 +248,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BurnHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -264,7 +264,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_IceHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -280,7 +280,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Awakening, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -296,7 +296,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ParalyzeHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -312,7 +312,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_FullRestore, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -328,7 +328,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_MaxPotion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -344,7 +344,7 @@ const struct Item gItems[] = .holdEffectParam = 200, .description = gItemDescription_HyperPotion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -360,7 +360,7 @@ const struct Item gItems[] = .holdEffectParam = 50, .description = gItemDescription_SuperPotion, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -376,7 +376,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FullHeal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -392,7 +392,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Revive, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -408,7 +408,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MaxRevive, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -424,7 +424,7 @@ const struct Item gItems[] = .holdEffectParam = 50, .description = gItemDescription_FreshWater, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -440,7 +440,7 @@ const struct Item gItems[] = .holdEffectParam = 60, .description = gItemDescription_SodaPop, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -456,7 +456,7 @@ const struct Item gItems[] = .holdEffectParam = 80, .description = gItemDescription_Lemonade, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -472,7 +472,7 @@ const struct Item gItems[] = .holdEffectParam = 100, .description = gItemDescription_MoomooMilk, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -488,7 +488,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EnergyPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -504,7 +504,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EnergyRoot, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -520,7 +520,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HealPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -536,7 +536,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RevivalHerb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -552,7 +552,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Ether, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -568,7 +568,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_MaxEther, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -584,7 +584,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Elixir, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -600,7 +600,7 @@ const struct Item gItems[] = .holdEffectParam = 255, .description = gItemDescription_MaxElixir, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -616,7 +616,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LavaCookie, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -632,7 +632,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -648,7 +648,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_YellowFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -664,7 +664,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -680,7 +680,7 @@ const struct Item gItems[] = .holdEffectParam = 50, .description = gItemDescription_BlackFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, @@ -696,7 +696,7 @@ const struct Item gItems[] = .holdEffectParam = 150, .description = gItemDescription_WhiteFlute, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, @@ -712,7 +712,7 @@ const struct Item gItems[] = .holdEffectParam = 20, .description = gItemDescription_BerryJuice, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -728,7 +728,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SacredAsh, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, @@ -744,7 +744,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ShoalSalt, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -760,7 +760,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ShoalShell, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -776,7 +776,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -792,7 +792,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -808,7 +808,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_YellowShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -824,7 +824,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GreenShard, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -840,7 +840,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -856,7 +856,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -872,7 +872,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -888,7 +888,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -904,7 +904,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -920,7 +920,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -936,7 +936,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -952,7 +952,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -968,7 +968,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -984,7 +984,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1000,7 +1000,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1016,7 +1016,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HPUp, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1032,7 +1032,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Protein, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1048,7 +1048,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Iron, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1064,7 +1064,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Carbos, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1080,7 +1080,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Calcium, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1096,7 +1096,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RareCandy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_RareCandy, @@ -1112,7 +1112,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PPUp, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, @@ -1128,7 +1128,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Zinc, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -1144,7 +1144,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PPMax, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPUp, @@ -1160,7 +1160,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1176,7 +1176,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GuardSpec, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1192,7 +1192,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DireHit, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1208,7 +1208,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XAttack, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1224,7 +1224,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XDefend, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1240,7 +1240,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XSpeed, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1256,7 +1256,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XAccuracy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1272,7 +1272,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_XSpecial, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1288,7 +1288,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PokeDoll, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1304,7 +1304,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FluffyTail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1320,7 +1320,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1336,7 +1336,7 @@ const struct Item gItems[] = .holdEffectParam = 200, .description = gItemDescription_SuperRepel, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, @@ -1352,7 +1352,7 @@ const struct Item gItems[] = .holdEffectParam = 250, .description = gItemDescription_MaxRepel, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, @@ -1368,7 +1368,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EscapeRope, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, @@ -1384,7 +1384,7 @@ const struct Item gItems[] = .holdEffectParam = 100, .description = gItemDescription_Repel, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_Repel, @@ -1400,7 +1400,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1416,7 +1416,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1432,7 +1432,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1448,7 +1448,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1464,7 +1464,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1480,7 +1480,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1496,7 +1496,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SunStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1512,7 +1512,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MoonStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1528,7 +1528,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FireStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1544,7 +1544,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ThunderStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1560,7 +1560,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WaterStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1576,7 +1576,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LeafStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, @@ -1592,7 +1592,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1608,7 +1608,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1624,7 +1624,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1640,7 +1640,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1656,7 +1656,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TinyMushroom, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1672,7 +1672,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BigMushroom, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1688,7 +1688,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1704,7 +1704,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Pearl, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1720,7 +1720,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BigPearl, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1736,7 +1736,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Stardust, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1752,7 +1752,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_StarPiece, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1768,7 +1768,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Nugget, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1784,7 +1784,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HeartScale, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1800,7 +1800,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1816,7 +1816,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1832,7 +1832,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1848,7 +1848,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1864,7 +1864,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1880,7 +1880,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1896,7 +1896,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1912,7 +1912,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1928,7 +1928,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -1944,7 +1944,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_OrangeMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -1960,7 +1960,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HarborMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -1976,7 +1976,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GlitterMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -1992,7 +1992,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MechMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2008,7 +2008,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WoodMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2024,7 +2024,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WaveMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2040,7 +2040,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BeadMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2056,7 +2056,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ShadowMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2072,7 +2072,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TropicMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2088,7 +2088,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DreamMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2104,7 +2104,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_FabMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2120,7 +2120,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RetroMail, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 0, .fieldUseFunc = ItemUseOutOfBattle_Mail, @@ -2136,7 +2136,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CheriBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2152,7 +2152,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ChestoBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2168,7 +2168,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PechaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2184,7 +2184,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RawstBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2200,7 +2200,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_AspearBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2216,7 +2216,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_LeppaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, @@ -2232,7 +2232,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_OranBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2248,7 +2248,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PersimBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2264,7 +2264,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LumBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2280,7 +2280,7 @@ const struct Item gItems[] = .holdEffectParam = 30, .description = gItemDescription_SitrusBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_Medicine, @@ -2296,7 +2296,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_FigyBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2312,7 +2312,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_WikiBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2328,7 +2328,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_MagoBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2344,7 +2344,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_AguavBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2360,7 +2360,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_IapapaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2376,7 +2376,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RazzBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2392,7 +2392,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlukBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2408,7 +2408,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NanabBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2424,7 +2424,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WepearBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2440,7 +2440,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PinapBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2456,7 +2456,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PomegBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2472,7 +2472,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_KelpsyBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2488,7 +2488,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_QualotBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2504,7 +2504,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HondewBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2520,7 +2520,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GrepaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2536,7 +2536,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TamatoBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2552,7 +2552,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CornnBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2568,7 +2568,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MagostBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2584,7 +2584,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RabutaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2600,7 +2600,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_NomelBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2616,7 +2616,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SpelonBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2632,7 +2632,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PamtreBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2648,7 +2648,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WatmelBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2664,7 +2664,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DurinBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2680,7 +2680,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BelueBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2696,7 +2696,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_LiechiBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2712,7 +2712,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_GanlonBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2728,7 +2728,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_SalacBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2744,7 +2744,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_PetayaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2760,7 +2760,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_ApicotBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2776,7 +2776,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_LansatBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2792,7 +2792,7 @@ const struct Item gItems[] = .holdEffectParam = 4, .description = gItemDescription_StarfBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2808,7 +2808,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EnigmaBerry, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_BERRIES, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, @@ -2824,7 +2824,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2840,7 +2840,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2856,7 +2856,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2872,7 +2872,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_BrightPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2888,7 +2888,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WhiteHerb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2904,7 +2904,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MachoBrace, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2920,7 +2920,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ExpShare, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2936,7 +2936,7 @@ const struct Item gItems[] = .holdEffectParam = 20, .description = gItemDescription_QuickClaw, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2952,7 +2952,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SootheBell, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2968,7 +2968,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MentalHerb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -2984,7 +2984,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ChoiceBand, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3000,7 +3000,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_KingsRock, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3016,7 +3016,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SilverPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3032,7 +3032,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_AmuletCoin, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3048,7 +3048,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CleanseTag, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3064,7 +3064,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SoulDew, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3080,7 +3080,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DeepSeaTooth, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3096,7 +3096,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DeepSeaScale, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3112,7 +3112,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SmokeBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3128,7 +3128,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Everstone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3144,7 +3144,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_FocusBand, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3160,7 +3160,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LuckyEgg, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3176,7 +3176,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ScopeLens, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3192,7 +3192,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_MetalCoat, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3208,7 +3208,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Leftovers, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3224,7 +3224,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_DragonScale, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3240,7 +3240,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LightBall, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3256,7 +3256,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SoftSand, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3272,7 +3272,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_HardStone, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3288,7 +3288,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_MiracleSeed, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3304,7 +3304,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_BlackGlasses, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3320,7 +3320,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_BlackBelt, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3336,7 +3336,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Magnet, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3352,7 +3352,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_MysticWater, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3368,7 +3368,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SharpBeak, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3384,7 +3384,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_PoisonBarb, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3400,7 +3400,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_NeverMeltIce, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3416,7 +3416,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SpellTag, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3432,7 +3432,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_TwistedSpoon, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3448,7 +3448,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_Charcoal, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3464,7 +3464,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_DragonFang, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3480,7 +3480,7 @@ const struct Item gItems[] = .holdEffectParam = 10, .description = gItemDescription_SilkScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3496,7 +3496,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_UpGrade, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3512,7 +3512,7 @@ const struct Item gItems[] = .holdEffectParam = 8, .description = gItemDescription_ShellBell, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3528,7 +3528,7 @@ const struct Item gItems[] = .holdEffectParam = 5, .description = gItemDescription_SeaIncense, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3544,7 +3544,7 @@ const struct Item gItems[] = .holdEffectParam = 5, .description = gItemDescription_LaxIncense, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3560,7 +3560,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_LuckyPunch, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3576,7 +3576,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MetalPowder, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3592,7 +3592,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ThickClub, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3608,7 +3608,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Stick, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3624,7 +3624,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3640,7 +3640,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3656,7 +3656,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3672,7 +3672,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3688,7 +3688,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3704,7 +3704,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3720,7 +3720,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3736,7 +3736,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3752,7 +3752,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3768,7 +3768,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3784,7 +3784,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3800,7 +3800,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3816,7 +3816,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3832,7 +3832,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3848,7 +3848,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3864,7 +3864,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3880,7 +3880,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3896,7 +3896,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3912,7 +3912,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3928,7 +3928,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3944,7 +3944,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3960,7 +3960,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3976,7 +3976,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -3992,7 +3992,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4008,7 +4008,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4024,7 +4024,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4040,7 +4040,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4056,7 +4056,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4072,7 +4072,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4088,7 +4088,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4104,7 +4104,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PinkScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4120,7 +4120,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GreenScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4136,7 +4136,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_YellowScarf, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4152,7 +4152,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_MachBike, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, @@ -4168,7 +4168,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_CoinCase, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CoinCase, @@ -4184,7 +4184,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Itemfinder, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, @@ -4200,7 +4200,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_OldRod, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -4216,7 +4216,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GoodRod, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -4232,7 +4232,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SuperRod, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -4248,7 +4248,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SSTicket, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4264,7 +4264,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ContestPass, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4280,7 +4280,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4296,7 +4296,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_WailmerPail, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, @@ -4312,7 +4312,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DevonGoods, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4328,7 +4328,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_SootSack, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4344,7 +4344,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BasementKey, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4360,7 +4360,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_AcroBike, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 2, .fieldUseFunc = ItemUseOutOfBattle_Bike, @@ -4376,7 +4376,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_PokeblockCase, .importance = 1, - .unk19 = 1, + .exitsBagOnUse = 1, .pocket = POCKET_KEY_ITEMS, .type = 3, .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, @@ -4392,7 +4392,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Letter, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4408,7 +4408,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_EonTicket, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4424,7 +4424,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RedOrb, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4440,7 +4440,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_BlueOrb, .importance = 2, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4456,7 +4456,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Scanner, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4472,7 +4472,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_GoGoggles, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4488,7 +4488,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Meteorite, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4504,7 +4504,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room1Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4520,7 +4520,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room2Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4536,7 +4536,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room4Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4552,7 +4552,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Room6Key, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4568,7 +4568,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_StorageKey, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4584,7 +4584,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_RootFossil, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4600,7 +4600,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_ClawFossil, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4616,7 +4616,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_DevonScope, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_KEY_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -4632,7 +4632,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM01, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4648,7 +4648,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM02, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4664,7 +4664,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM03, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4680,7 +4680,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM04, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4696,7 +4696,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM05, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4712,7 +4712,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM06, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4728,7 +4728,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM07, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4744,7 +4744,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM08, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4760,7 +4760,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM09, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4776,7 +4776,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM10, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4792,7 +4792,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM11, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4808,7 +4808,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM12, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4824,7 +4824,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM13, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4840,7 +4840,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM14, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4856,7 +4856,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM15, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4872,7 +4872,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM16, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4888,7 +4888,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM17, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4904,7 +4904,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM18, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4920,7 +4920,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM19, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4936,7 +4936,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM20, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4952,7 +4952,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM21, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4968,7 +4968,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM22, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -4984,7 +4984,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM23, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5000,7 +5000,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM24, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5016,7 +5016,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM25, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5032,7 +5032,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM26, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5048,7 +5048,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM27, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5064,7 +5064,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM28, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5080,7 +5080,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM29, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5096,7 +5096,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM30, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5112,7 +5112,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM31, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5128,7 +5128,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM32, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5144,7 +5144,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM33, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5160,7 +5160,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM34, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5176,7 +5176,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM35, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5192,7 +5192,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM36, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5208,7 +5208,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM37, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5224,7 +5224,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM38, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5240,7 +5240,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM39, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5256,7 +5256,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM40, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5272,7 +5272,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM41, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5288,7 +5288,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM42, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5304,7 +5304,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM43, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5320,7 +5320,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM44, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5336,7 +5336,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM45, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5352,7 +5352,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM46, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5368,7 +5368,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM47, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5384,7 +5384,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM48, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5400,7 +5400,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM49, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5416,7 +5416,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_TM50, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5432,7 +5432,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM01, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5448,7 +5448,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM02, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5464,7 +5464,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM03, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5480,7 +5480,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM04, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5496,7 +5496,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM05, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5512,7 +5512,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM06, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5528,7 +5528,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM07, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5544,7 +5544,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_HM08, .importance = 1, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_TM_HM, .type = 1, .fieldUseFunc = ItemUseOutOfBattle_TMHM, @@ -5560,7 +5560,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -5576,7 +5576,7 @@ const struct Item gItems[] = .holdEffectParam = 0, .description = gItemDescription_Dummy, .importance = 0, - .unk19 = 0, + .exitsBagOnUse = 0, .pocket = POCKET_ITEMS, .type = 4, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, diff --git a/src/heal_location.c b/src/heal_location.c index a10c7a7b8..4c78f5921 100644 --- a/src/heal_location.c +++ b/src/heal_location.c @@ -2,8 +2,6 @@ #include "heal_location.h" #include "constants/maps.h" -#define NUM_HEAL_LOCATIONS 22 - static const struct HealLocation sHealLocations[] = { {MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), MAP_NUM(LITTLEROOT_TOWN_BRENDANS_HOUSE_2F), 4, 2}, @@ -34,7 +32,7 @@ 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; @@ -56,7 +54,7 @@ const struct HealLocation *GetHealLocation(u32 index) { if (index == 0) return NULL; - else if (index > NUM_HEAL_LOCATIONS) + else if (index > ARRAY_COUNT(sHealLocations)) return NULL; else return &sHealLocations[index - 1]; diff --git a/src/item.c b/src/item.c index e6294884b..470b4d430 100644 --- a/src/item.c +++ b/src/item.c @@ -17,7 +17,8 @@ struct Item u8 holdEffectParam; const u8 *description; u8 importance; - u8 unk19; + u8 exitsBagOnUse; // unused, but items which have this field set to 1 all + // exit the Bag when they are used. u8 pocket; u8 type; ItemUseFunc fieldUseFunc; @@ -26,7 +27,7 @@ struct Item u8 secondaryId; }; -extern u8 gUnknown_02038560; +extern u8 gCurSelectedItemSlotIndex; extern struct BagPocket gBagPockets[NUM_BAG_POCKETS]; // These constants are used in gItems @@ -63,7 +64,7 @@ void CopyItemName(u16 itemId, u8 *string) { if (itemId == ITEM_ENIGMA_BERRY) { - StringCopy(string, GetBerryInfo(0x2B)->name); // berry 0x2b = enigma berry + StringCopy(string, GetBerryInfo(GETBERRYID(ITEM_ENIGMA_BERRY))->name); StringAppend(string, gOtherText_Berry2); } else @@ -173,7 +174,6 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count) // This function matches if gBagPockets is declared non-const, // but it should be fixed anyway. -//#ifdef NONMATCHING bool8 AddBagItem(u16 itemId, u16 count) { u8 i; @@ -238,158 +238,6 @@ bool8 AddBagItem(u16 itemId, u16 count) memcpy(gBagPockets[pocket].itemSlots, newItems, gBagPockets[pocket].capacity * sizeof(struct ItemSlot)); return TRUE; } -//#else -//NAKED -//bool8 AddBagItem(u16 itemId, u16 count) -//{ -// asm(".syntax unified\n\ -// push {r4-r7,lr}\n\ -// mov r7, r9\n\ -// mov r6, r8\n\ -// push {r6,r7}\n\ -// sub sp, 0x100\n\ -// lsls r0, 16\n\ -// lsrs r0, 16\n\ -// mov r8, r0\n\ -// lsls r1, 16\n\ -// lsrs r4, r1, 16\n\ -// bl ItemId_GetPocket\n\ -// lsls r0, 24\n\ -// cmp r0, 0\n\ -// beq _080A9510\n\ -// mov r0, r8\n\ -// bl ItemId_GetPocket\n\ -// subs r0, 0x1\n\ -// lsls r0, 24\n\ -// lsrs r6, r0, 24\n\ -// ldr r1, _080A94F8 @ =gBagPockets\n\ -// lsls r0, r6, 3\n\ -// adds r5, r0, r1\n\ -// ldr r1, [r5]\n\ -// ldrb r2, [r5, 0x4]\n\ -// lsls r2, 2\n\ -// mov r0, sp\n\ -// bl memcpy\n\ -// ldr r7, _080A94FC @ =0x000003e7\n\ -// cmp r6, 0x3\n\ -// beq _080A9468\n\ -// movs r7, 0x63\n\ -//_080A9468:\n\ -// movs r1, 0\n\ -// ldrb r0, [r5, 0x4]\n\ -// cmp r1, r0\n\ -// bcs _080A94B2\n\ -// subs r0, r6, 0x2\n\ -// lsls r0, 24\n\ -// lsrs r0, 24\n\ -// mov r12, r0\n\ -//_080A9478:\n\ -// lsls r0, r1, 2\n\ -// mov r2, sp\n\ -// adds r3, r2, r0\n\ -// ldrh r0, [r3]\n\ -// cmp r0, r8\n\ -// bne _080A94A6\n\ -// ldrh r2, [r3, 0x2]\n\ -// adds r0, r2, r4\n\ -// cmp r0, r7\n\ -// ble _080A9500\n\ -// mov r0, r12\n\ -// cmp r0, 0x1\n\ -// bls _080A9510\n\ -// subs r0, r7, r2\n\ -// subs r0, r4, r0\n\ -// lsls r0, 16\n\ -// lsrs r4, r0, 16\n\ -// strh r7, [r3, 0x2]\n\ -// ldr r2, _080A94F8 @ =gBagPockets\n\ -// mov r9, r2\n\ -// lsls r3, r6, 3\n\ -// cmp r4, 0\n\ -// beq _080A9516\n\ -//_080A94A6:\n\ -// adds r0, r1, 0x1\n\ -// lsls r0, 24\n\ -// lsrs r1, r0, 24\n\ -// ldrb r0, [r5, 0x4]\n\ -// cmp r1, r0\n\ -// bcc _080A9478\n\ -//_080A94B2:\n\ -// ldr r2, _080A94F8 @ =gBagPockets\n\ -// mov r9, r2\n\ -// lsls r3, r6, 3\n\ -// cmp r4, 0\n\ -// beq _080A9516\n\ -// movs r1, 0\n\ -// adds r0, r3, r2\n\ -// ldrb r0, [r0, 0x4]\n\ -// cmp r1, r0\n\ -// bcs _080A94F2\n\ -// mov r6, r9\n\ -// adds r5, r3, r6\n\ -//_080A94CA:\n\ -// lsls r0, r1, 2\n\ -// mov r6, sp\n\ -// adds r2, r6, r0\n\ -// ldrh r0, [r2]\n\ -// cmp r0, 0\n\ -// bne _080A94E6\n\ -// mov r0, r8\n\ -// strh r0, [r2]\n\ -// cmp r4, r7\n\ -// bls _080A9514\n\ -// subs r0, r4, r7\n\ -// lsls r0, 16\n\ -// lsrs r4, r0, 16\n\ -// strh r7, [r2, 0x2]\n\ -//_080A94E6:\n\ -// adds r0, r1, 0x1\n\ -// lsls r0, 24\n\ -// lsrs r1, r0, 24\n\ -// ldrb r2, [r5, 0x4]\n\ -// cmp r1, r2\n\ -// bcc _080A94CA\n\ -//_080A94F2:\n\ -// cmp r4, 0\n\ -// beq _080A9516\n\ -// b _080A9510\n\ -// .align 2, 0\n\ -//_080A94F8: .4byte gBagPockets\n\ -//_080A94FC: .4byte 0x000003e7\n\ -//_080A9500:\n\ -// strh r0, [r3, 0x2]\n\ -// ldr r0, _080A950C @ =gBagPockets\n\ -// lsls r1, r6, 3\n\ -// adds r1, r0\n\ -// b _080A951A\n\ -// .align 2, 0\n\ -//_080A950C: .4byte gBagPockets\n\ -//_080A9510:\n\ -// movs r0, 0\n\ -// b _080A9528\n\ -//_080A9514:\n\ -// strh r4, [r2, 0x2]\n\ -//_080A9516:\n\ -// mov r6, r9\n\ -// adds r1, r3, r6\n\ -//_080A951A:\n\ -// ldr r0, [r1]\n\ -// ldrb r2, [r1, 0x4]\n\ -// lsls r2, 2\n\ -// mov r1, sp\n\ -// bl memcpy\n\ -// movs r0, 0x1\n\ -//_080A9528:\n\ -// add sp, 0x100\n\ -// pop {r3,r4}\n\ -// mov r8, r3\n\ -// mov r9, r4\n\ -// pop {r4-r7}\n\ -// pop {r1}\n\ -// bx r1\n\ -// .syntax divided\n"); -//} -//#endif bool8 RemoveBagItem(u16 itemId, u16 count) { @@ -409,21 +257,21 @@ bool8 RemoveBagItem(u16 itemId, u16 count) if (totalQuantity < count) return FALSE; //We don't have enough of the item - if (gBagPockets[pocket].capacity > gUnknown_02038560 - && gBagPockets[pocket].itemSlots[gUnknown_02038560].itemId == itemId) + if (gBagPockets[pocket].capacity > gCurSelectedItemSlotIndex + && gBagPockets[pocket].itemSlots[gCurSelectedItemSlotIndex].itemId == itemId) { - if (gBagPockets[pocket].itemSlots[gUnknown_02038560].quantity >= count) + if (gBagPockets[pocket].itemSlots[gCurSelectedItemSlotIndex].quantity >= count) { - gBagPockets[pocket].itemSlots[gUnknown_02038560].quantity -= count; + gBagPockets[pocket].itemSlots[gCurSelectedItemSlotIndex].quantity -= count; count = 0; } else { - count -= gBagPockets[pocket].itemSlots[gUnknown_02038560].quantity; - gBagPockets[pocket].itemSlots[gUnknown_02038560].quantity = 0; + count -= gBagPockets[pocket].itemSlots[gCurSelectedItemSlotIndex].quantity; + gBagPockets[pocket].itemSlots[gCurSelectedItemSlotIndex].quantity = 0; } - if (gBagPockets[pocket].itemSlots[gUnknown_02038560].quantity == 0) - gBagPockets[pocket].itemSlots[gUnknown_02038560].itemId = 0; + if (gBagPockets[pocket].itemSlots[gCurSelectedItemSlotIndex].quantity == 0) + gBagPockets[pocket].itemSlots[gCurSelectedItemSlotIndex].itemId = 0; if (count == 0) return TRUE; } @@ -456,11 +304,11 @@ u8 GetPocketByItemId(u16 itemId) return ItemId_GetPocket(itemId); } -void ClearItemSlots(struct ItemSlot *itemSlots, u8 b) +void ClearItemSlots(struct ItemSlot *itemSlots, u8 capacity) { u16 i; - for (i = 0; i < b; i++) + for (i = 0; i < capacity; i++) { itemSlots[i].itemId = 0; itemSlots[i].quantity = 0; @@ -471,7 +319,7 @@ static s32 FindFreePCItemSlot(void) { s8 i; - for (i = 0; i < 50; i++) + for (i = 0; i < PC_ITEMS_COUNT; i++) { if (gSaveBlock1.pcItems[i].itemId == 0) return i; @@ -484,7 +332,7 @@ u8 CountUsedPCItemSlots(void) u8 usedSlots = 0; u8 i; - for (i = 0; i < 50; i++) + for (i = 0; i < PC_ITEMS_COUNT; i++) { if (gSaveBlock1.pcItems[i].itemId != 0) usedSlots++; @@ -496,7 +344,7 @@ bool8 CheckPCHasItem(u16 itemId, u16 count) { u8 i; - for (i = 0; i < 50; i++) + for (i = 0; i < PC_ITEMS_COUNT; i++) { if (gSaveBlock1.pcItems[i].itemId == itemId && gSaveBlock1.pcItems[i].quantity >= count) return TRUE; @@ -508,13 +356,13 @@ bool8 AddPCItem(u16 itemId, u16 count) { u8 i; s8 freeSlot; - struct ItemSlot newItems[50]; + struct ItemSlot newItems[PC_ITEMS_COUNT]; //Copy PC items memcpy(newItems, gSaveBlock1.pcItems, sizeof(newItems)); //Use any item slots that already contain this item - for (i = 0; i < 50; i++) + for (i = 0; i < PC_ITEMS_COUNT; i++) { if (newItems[i].itemId == itemId) { @@ -564,9 +412,9 @@ static void CompactPCItems(void) u16 i; u16 j; - for (i = 0; i < 49; i++) + for (i = 0; i < PC_ITEMS_COUNT - 1; i++) { - for (j = i + 1; j <= 49; j++) + for (j = i + 1; j <= PC_ITEMS_COUNT - 1; j++) { if (gSaveBlock1.pcItems[i].itemId == 0) { @@ -582,11 +430,11 @@ void SwapRegisteredBike(void) { switch (gSaveBlock1.registeredItem) { - case 0x103: - gSaveBlock1.registeredItem = 0x110; + case ITEM_MACH_BIKE: + gSaveBlock1.registeredItem = ITEM_ACRO_BIKE; break; - case 0x110: - gSaveBlock1.registeredItem = 0x103; + case ITEM_ACRO_BIKE: + gSaveBlock1.registeredItem = ITEM_MACH_BIKE; break; } } @@ -629,25 +477,25 @@ const u8 *ItemId_GetDescription(u16 itemId) return gItems[SanitizeItemId(itemId)].description; } -bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c) +bool32 ItemId_CopyDescription(u8 *dest, u32 itemId, u32 textLine) { - u32 r5 = c + 1; + u32 curTextLine = textLine + 1; const u8 *description = gItems[SanitizeItemId(itemId)].description; - u8 *str = a; + u8 *str = dest; for (;;) { if (*description == 0xFF || *description == 0xFE) { - r5--; - if (r5 == 0) + curTextLine--; + if (curTextLine == 0) { *str = 0xFF; return TRUE; } if (*description == 0xFF) return FALSE; - str = a; + str = dest; description++; } else @@ -661,9 +509,9 @@ u8 ItemId_GetImportance(u16 itemId) } // unused -u8 ItemId_GetUnknownValue(u16 itemId) +u8 ItemId_GetExitsBagOnUse(u16 itemId) { - return gItems[SanitizeItemId(itemId)].unk19; + return gItems[SanitizeItemId(itemId)].exitsBagOnUse; } u8 ItemId_GetPocket(u16 itemId) diff --git a/src/item_menu.c b/src/item_menu.c index a5748cdab..e31801384 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -139,7 +139,7 @@ EWRAM_DATA static u8 gUnknown_0203855A = 0; EWRAM_DATA static s8 gUnknown_0203855B = 0; EWRAM_DATA static s8 gUnknown_0203855C = 0; EWRAM_DATA u16 gSpecialVar_ItemId = 0; -EWRAM_DATA u8 gUnknown_02038560 = 0; +EWRAM_DATA u8 gCurSelectedItemSlotIndex = 0; EWRAM_DATA u8 gUnknown_02038561 = 0; EWRAM_DATA static u8 gUnknown_02038562 = 0; EWRAM_DATA static u8 gUnknown_02038563 = 0; @@ -268,7 +268,7 @@ static void OnItemSelect_PC(u8); static void OnItemSelect_Battle(u8); static void OnBagClose_Battle(u8); -static const struct {TaskFunc onItemSelect; TaskFunc onBagClose;} gUnknown_083C16BC[] = +static const struct {TaskFunc onItemSelect; TaskFunc onBagClose;} sItemSelectFuncs[] = { [RETURN_TO_FIELD_0] = {OnItemSelect_Field05, OnBagClose_Field0}, [RETURN_TO_BATTLE] = {OnItemSelect_Battle, OnBagClose_Battle}, @@ -1192,30 +1192,30 @@ static void sub_80A444C(u16 a, int b, int c, int d) for (i = b; i <= c; i++) { - u8 r4; + u8 slot; u8 r5; u8 *text; if (sub_80A42B0(i, d) == TRUE) break; - r4 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; + slot = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + i; r5 = i * 2 + 2; text = gStringVar1; text = sub_80A425C(a, text, i); #if ENGLISH - sub_8072C74(text, ItemId_GetName(gCurrentBagPocketItemSlots[r4].itemId), 0x60, 0); + sub_8072C74(text, ItemId_GetName(gCurrentBagPocketItemSlots[slot].itemId), 0x60, 0); #else - sub_8072C74(text, ItemId_GetName(gCurrentBagPocketItemSlots[r4].itemId), 0x63, 0); + sub_8072C74(text, ItemId_GetName(gCurrentBagPocketItemSlots[slot].itemId), 0x63, 0); #endif Menu_PrintText(gStringVar1, 14, r5); - if (gUnknown_02038558 != 0) + if (gUnknown_02038558) { - if (gCurrentBagPocketItemSlots[r4].itemId == gSaveBlock1.registeredItem) + if (gCurrentBagPocketItemSlots[slot].itemId == gSaveBlock1.registeredItem) DrawSelectIcon(i); } else { - if (gCurrentBagPocketItemSlots[r4].itemId == gSaveBlock1.registeredItem) + if (gCurrentBagPocketItemSlots[slot].itemId == gSaveBlock1.registeredItem) MoveSelectIcon(i); else EraseSelectIcon(i); @@ -1838,7 +1838,7 @@ static bool8 sub_80A4F74(u8 a) static void sub_80A50C8(u8 taskId) { - s16 *r5 = gTasks[taskId].data; + s16 *taskData = gTasks[taskId].data; if (!gPaletteFade.active) { @@ -1852,7 +1852,7 @@ static void sub_80A50C8(u8 taskId) && !(sCurrentBagPocket == BAG_POCKET_BERRIES || sCurrentBagPocket == BAG_POCKET_TMs_HMs) && (sReturnLocation == RETURN_TO_FIELD_0 || sReturnLocation == RETURN_TO_BATTLE)) { - if (r5[10] == 0) + if (taskData[10] == 0) { if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos != gBagPocketScrollStates[sCurrentBagPocket].numSlots) { @@ -1881,10 +1881,10 @@ static void sub_80A50C8(u8 taskId) { if (gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos == gBagPocketScrollStates[sCurrentBagPocket].numSlots) { - if (r5[10] == 0) + if (taskData[10] == 0) { gSpecialVar_ItemId = 0; - gUnknown_083C16BC[sReturnLocation].onBagClose(taskId); + sItemSelectFuncs[sReturnLocation].onBagClose(taskId); } else { @@ -1894,12 +1894,12 @@ static void sub_80A50C8(u8 taskId) } else { - if (r5[10] == 0) + if (taskData[10] == 0) { PlaySE(SE_SELECT); - gUnknown_02038560 = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; - gSpecialVar_ItemId = gCurrentBagPocketItemSlots[gUnknown_02038560].itemId; - gUnknown_083C16BC[sReturnLocation].onItemSelect(taskId); + gCurSelectedItemSlotIndex = gBagPocketScrollStates[sCurrentBagPocket].scrollTop + gBagPocketScrollStates[sCurrentBagPocket].cursorPos; + gSpecialVar_ItemId = gCurrentBagPocketItemSlots[gCurSelectedItemSlotIndex].itemId; + sItemSelectFuncs[sReturnLocation].onItemSelect(taskId); StopVerticalScrollIndicators(TOP_ARROW); StopVerticalScrollIndicators(BOTTOM_ARROW); StopVerticalScrollIndicators(LEFT_ARROW); @@ -1917,12 +1917,12 @@ static void sub_80A50C8(u8 taskId) if (gMain.newKeys & B_BUTTON) { - if (r5[10] == 0) + if (taskData[10] == 0) { if (sReturnLocation != RETURN_TO_FIELD_5) { gSpecialVar_ItemId = 0; - gUnknown_083C16BC[sReturnLocation].onBagClose(taskId); + sItemSelectFuncs[sReturnLocation].onBagClose(taskId); } } else @@ -1982,7 +1982,7 @@ static bool8 sub_80A5350(u8 taskId) { s16 *taskData = gTasks[taskId].data; - if (SellMenu_QuantityRoller(taskId, gCurrentBagPocketItemSlots[gUnknown_02038560].quantity) == TRUE) + if (SellMenu_QuantityRoller(taskId, gCurrentBagPocketItemSlots[gCurSelectedItemSlotIndex].quantity) == TRUE) { // if (sCurrentBagPocket == BAG_POCKET_BERRIES) Can't get it to match this way if (sCurrentBagPocket + 1 == BAG_POCKET_BERRIES + 1) -- cgit v1.2.3 From bc4bff6cda425998598bbd119d59af2f522d9656 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Wed, 16 May 2018 21:36:50 -0400 Subject: Update pokemon_summary_screen.c to use EGG_HATCH_LEVEL define To be consistent with pokeemerald. --- src/pokemon_summary_screen.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index a463e8054..6ad5c507c 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -30,6 +30,7 @@ #include "task.h" #include "tv.h" #include "scanline_effect.h" +#include "daycare.h" static void sub_809FC0C(void); static void sub_809FEB8(void); @@ -3052,7 +3053,7 @@ static void PokemonSummaryScreen_PrintTrainerMemo(struct Pokemon *mon, u8 left, if (GetMonData(mon, MON_DATA_MET_LEVEL) == 0) { - ptr = PokemonSummaryScreen_CopyPokemonLevel(ptr, 5); + ptr = PokemonSummaryScreen_CopyPokemonLevel(ptr, EGG_HATCH_LEVEL); *ptr = CHAR_NEWLINE; ptr++; -- cgit v1.2.3 From 9f66fe082bd5745a59ec703fd4dc912af7b4bb85 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Wed, 16 May 2018 21:39:43 -0400 Subject: Update daycare.c to use EGG_HATCH_LEVEL define To be consistent with pokeemerald. --- src/daycare.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/daycare.c b/src/daycare.c index a77b6c5f5..5220a3738 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1036,7 +1036,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setMetLocation) u8 metLocation; u8 isEgg; - CreateMon(mon, species, 5, 0x20, FALSE, 0, FALSE, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, FALSE, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; @@ -1063,7 +1063,7 @@ static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare * u8 language; personality = daycare->misc.countersEtc.pendingEggPersonality | (Random() << 16); - CreateMon(mon, species, 5, 0x20, TRUE, personality, FALSE, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, FALSE, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; -- cgit v1.2.3 From 19006431bc57bfcecd51c71e14b661448bf39f79 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Wed, 16 May 2018 21:41:42 -0400 Subject: Update egg_hatch.c to use EGG_HATCH_LEVEL define To be consistent with pokeemerald. --- src/egg_hatch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 43dfa6864..eb66f299d 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -244,7 +244,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp) markings = GetMonData(egg, MON_DATA_MARKINGS); pokerus = GetMonData(egg, MON_DATA_POKERUS); - CreateMon(temp, species, 5, 32, TRUE, personality, 0, 0); + CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, 0, 0); for (i = 0; i < 4; i++) { -- cgit v1.2.3 From 52882b573727be59a959088d84a7955bb37dd97d Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Thu, 17 May 2018 06:50:40 -0400 Subject: Rename sub_804C1A8() to GetTradeSceneStrings() sub_804C1A8() is responsible for getting the variable strings (like the trade partner's OTName, their Pokemon's nickname, and your Pokemon's nickname) needed to print the messages in the trade scene, so I renamed it to GetTradeSceneStrings(). Added a comment in the function to describe what it's doing as well. Please let me know if this name isn't accurate enough or if my comment should be in a different style. --- src/trade.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/trade.c b/src/trade.c index 796a01b5b..0bd13a6d8 100644 --- a/src/trade.c +++ b/src/trade.c @@ -207,7 +207,7 @@ static void sub_804E1DC(void); static void sub_804BBCC(void); static void sub_804D8E4(void); static void sub_804C164(void); -static void sub_804C1A8(void); +static void GetTradeSceneStrings(void); #ifdef NONMATCHING static #endif @@ -4096,7 +4096,7 @@ static void sub_804B41C(void) case 11: sub_804BBE8(5); sub_804BBE8(0); - sub_804C1A8(); + GetTradeSceneStrings(); BeginNormalPaletteFade(-1, 0, 16, 0, 0); gMain.state ++; break; @@ -4451,7 +4451,7 @@ static NAKED void sub_804B41C(void) "\tbl sub_804BBE8\n" "\tmovs r0, 0\n" "\tbl sub_804BBE8\n" - "\tbl sub_804C1A8\n" + "\tbl GetTradeSceneStrings\n" "\tmovs r0, 0x1\n" "\tnegs r0, r0\n" "\tmovs r1, 0\n" @@ -4563,7 +4563,7 @@ void sub_804B790(void) case 11: sub_804BBE8(5); sub_804BBE8(0); - sub_804C1A8(); + GetTradeSceneStrings(); BeginNormalPaletteFade(-1, 0, 16, 0, 0); gMain.state ++; break; @@ -4772,8 +4772,12 @@ static void sub_804C164(void) LoadSpritePalette(&gUnknown_082159B4); } -static void sub_804C1A8(void) +static void GetTradeSceneStrings(void) { + /*Gets the variable strings printed on the + *actual trading screen. For use in strings + *like "[Pokemon] will be sent to [Trainer]." + */ u8 mpId; u8 string[20]; const struct InGameTrade *ingameTrade; -- cgit v1.2.3 From e4038a88112ad214727ec48f0649503e47b09e3a Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Thu, 17 May 2018 19:19:41 -0400 Subject: Change GetTradeSceneStrings to SetTradeSceneStrings --- src/trade.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/trade.c b/src/trade.c index 0bd13a6d8..50c69bc6d 100644 --- a/src/trade.c +++ b/src/trade.c @@ -207,7 +207,7 @@ static void sub_804E1DC(void); static void sub_804BBCC(void); static void sub_804D8E4(void); static void sub_804C164(void); -static void GetTradeSceneStrings(void); +static void SetTradeSceneStrings(void); #ifdef NONMATCHING static #endif @@ -4096,7 +4096,7 @@ static void sub_804B41C(void) case 11: sub_804BBE8(5); sub_804BBE8(0); - GetTradeSceneStrings(); + SetTradeSceneStrings(); BeginNormalPaletteFade(-1, 0, 16, 0, 0); gMain.state ++; break; @@ -4451,7 +4451,7 @@ static NAKED void sub_804B41C(void) "\tbl sub_804BBE8\n" "\tmovs r0, 0\n" "\tbl sub_804BBE8\n" - "\tbl GetTradeSceneStrings\n" + "\tbl SetTradeSceneStrings\n" "\tmovs r0, 0x1\n" "\tnegs r0, r0\n" "\tmovs r1, 0\n" @@ -4563,7 +4563,7 @@ void sub_804B790(void) case 11: sub_804BBE8(5); sub_804BBE8(0); - GetTradeSceneStrings(); + SetTradeSceneStrings(); BeginNormalPaletteFade(-1, 0, 16, 0, 0); gMain.state ++; break; @@ -4772,9 +4772,9 @@ static void sub_804C164(void) LoadSpritePalette(&gUnknown_082159B4); } -static void GetTradeSceneStrings(void) +static void SetTradeSceneStrings(void) { - /*Gets the variable strings printed on the + /*Sets the variable strings printed on the *actual trading screen. For use in strings *like "[Pokemon] will be sent to [Trainer]." */ -- cgit v1.2.3 From bfdd1d2cebd1d4f4469afce5b10b99090df17f45 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 21 May 2018 07:31:07 -0700 Subject: Add unused parameter to load_gfxc_health_bar definition --- src/battle/battle_7.c | 2 +- src/battle/battle_controller_linkpartner.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 914ee245b..dc5df71f2 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -523,7 +523,7 @@ bool8 sub_8031C30(u8 a) return retVal; } -void load_gfxc_health_bar(void) +void load_gfxc_health_bar(u8 a) { LZDecompressWram(gUnknown_08D09C48, eVoidSharedArr); } diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c index e3810d856..12eb62a2b 100644 --- a/src/battle/battle_controller_linkpartner.c +++ b/src/battle/battle_controller_linkpartner.c @@ -65,7 +65,6 @@ extern void sub_8030E38(struct Sprite *); extern void StartBattleIntroAnim(); extern void sub_8047858(); extern void move_anim_start_t2_for_situation(); -extern void load_gfxc_health_bar(); extern void sub_8043D84(); extern void BufferStringBattle(); extern void sub_8031F24(void); -- cgit v1.2.3 From 4ee671c9bf6e4ba920f58cd8d4a6facc8bed431d Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 21 May 2018 08:50:36 -0700 Subject: Standardize args to palette blend functions --- src/battle/anim/evasion.c | 2 +- src/battle/anim/flash.c | 2 +- src/battle/anim/scan.c | 2 +- src/battle/battle_2.c | 6 ++-- src/battle/battle_4.c | 6 ++-- src/battle/battle_7.c | 8 ++--- src/battle/battle_controller_player.c | 8 ++--- src/battle/battle_controller_safari.c | 2 +- src/battle/battle_controller_wally.c | 2 +- src/battle/battle_party_menu.c | 6 ++-- src/battle/battle_transition.c | 18 +++++----- src/berry_blender.c | 10 +++--- src/berry_tag_screen.c | 4 +-- src/cable_car.c | 6 ++-- src/choose_party.c | 12 +++---- src/clear_save_data_menu.c | 4 +-- src/contest.c | 24 ++++++------- src/contest_painting.c | 2 +- src/credits.c | 22 ++++++------ src/debug/kagaya_debug_menu.c | 8 ++--- src/debug/matsuda_debug_menu.c | 4 +-- src/debug/nakamura_debug_menu.c | 2 +- src/debug/sound_check_menu.c | 6 ++-- src/debug/taya_debug_window.c | 4 +-- src/debug/tomomichi_debug_menu.c | 6 ++-- src/debug/watanabe_debug_menu.c | 18 +++++----- src/diploma.c | 4 +-- src/easy_chat_1.c | 4 +-- src/egg_hatch.c | 10 +++--- src/evolution_graphics.c | 10 +++--- src/evolution_scene.c | 24 ++++++------- src/field_region_map.c | 4 +-- src/field_weather.c | 4 +-- src/fldeff_sweetscent.c | 4 +-- src/hall_of_fame.c | 14 ++++---- src/hof_pc.c | 2 +- src/intro.c | 26 +++++++------- src/item_menu.c | 10 +++--- src/item_use.c | 8 ++--- src/learn_move.c | 12 +++---- src/link.c | 2 +- src/mail.c | 10 +++--- src/main_menu.c | 18 +++++----- src/mystery_event_menu.c | 8 ++--- src/naming_screen.c | 4 +-- src/option_menu.c | 4 +-- src/overworld.c | 2 +- src/palette.c | 4 +-- src/party_menu.c | 4 +-- src/pc_screen_effect.c | 8 ++--- src/pokeblock.c | 10 +++--- src/pokeblock_feed.c | 4 +-- src/pokedex.c | 66 +++++++++++++++++------------------ src/pokedex_area_screen.c | 10 +++--- src/pokemon_menu.c | 20 +++++------ src/pokemon_storage_system_2.c | 12 +++---- src/pokemon_storage_system_4.c | 4 +-- src/pokemon_summary_screen.c | 2 +- src/pokenav_before.c | 52 +++++++++++++-------------- src/region_map.c | 10 +++--- src/reset_rtc_screen.c | 4 +-- src/rom_8077ABC.c | 2 +- src/roulette.c | 2 +- src/save_failed_screen.c | 4 +-- src/script_pokemon_util_80F99CC.c | 6 ++-- src/shop.c | 4 +-- src/slot_machine.c | 12 +++---- src/start_menu.c | 6 ++-- src/starter_choose.c | 2 +- src/title_screen.c | 10 +++--- src/trade.c | 56 ++++++++++++++--------------- src/trainer_card.c | 4 +-- src/use_pokeblock.c | 10 +++--- src/wallclock.c | 6 ++-- 74 files changed, 356 insertions(+), 356 deletions(-) (limited to 'src') diff --git a/src/battle/anim/evasion.c b/src/battle/anim/evasion.c index e7387a52a..c60618a49 100644 --- a/src/battle/anim/evasion.c +++ b/src/battle/anim/evasion.c @@ -32,7 +32,7 @@ void sub_80CE7E0(u8 taskId) gPlttBufferUnfaded[r3 + i] = gPlttBufferUnfaded[r4 + i]; } - BlendPalette(r3, 16, 11, 0); + BlendPalette(r3, 16, 11, RGB(0, 0, 0)); task->data[3] = 0; i = 0; while (i <= 1 && (obj = duplicate_obj_of_side_rel2move_in_transparent_mode(0)) >= 0) diff --git a/src/battle/anim/flash.c b/src/battle/anim/flash.c index eaa38e5b7..2799046c8 100644 --- a/src/battle/anim/flash.c +++ b/src/battle/anim/flash.c @@ -39,7 +39,7 @@ void sub_80CE3EC(u8 taskId) sub_8079BF4(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c); b = b | (0x10000 << IndexOfSpritePaletteTag(0x27D2)); d = IndexOfSpritePaletteTag(0x27D3); - BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 0x10, 32699); + BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31)); gTasks[taskId].func = sub_80CE4D4; sub_80CE4D4(taskId); } diff --git a/src/battle/anim/scan.c b/src/battle/anim/scan.c index 05859d31c..9f427a9c4 100644 --- a/src/battle/anim/scan.c +++ b/src/battle/anim/scan.c @@ -159,7 +159,7 @@ static void sub_80CD5A8(struct Sprite* sprite) sprite->data[1] = 0; } - BlendPalettes(sub_80791A8(1, 1, 1, 1, 1, 0, 0), sprite->data[1], 0x7FFF); + BlendPalettes(sub_80791A8(1, 1, 1, 1, 1, 0, 0), sprite->data[1], RGB(31, 31, 31)); if (sprite->data[1] == 16) { int pal; diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index da566628d..728a1bdf7 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -1346,7 +1346,7 @@ void c2_081284E0(void) gBattleCommunication[1]--; if (gBattleCommunication[1] == 0) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBattleCommunication[0]++; } break; @@ -3280,7 +3280,7 @@ void oac_poke_opponent(struct Sprite *sprite) { sprite->callback = sub_8010278; StartSpriteAnimIfDifferent(sprite, 0); - BeginNormalPaletteFade(0x00020000, 0, 10, 10, 0x3DEF); + BeginNormalPaletteFade(0x00020000, 0, 10, 10, RGB(15, 15, 15)); } void sub_8010278(struct Sprite *sprite) @@ -3304,7 +3304,7 @@ void sub_80102AC(struct Sprite *sprite) sub_8043DFC(gHealthboxIDs[sprite->data[0]]); sprite->callback = nullsub_37; StartSpriteAnimIfDifferent(sprite, 0); - BeginNormalPaletteFade(0x00020000, 0, 10, 0, 0x3DEF); + BeginNormalPaletteFade(0x00020000, 0, 10, 0, RGB(15, 15, 15)); } } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 9dc9d62ec..bb36c3520 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -9766,7 +9766,7 @@ static void atk5A_yesnoboxlearnmove(void) if (gBattleCommunication[1] == 0) { sub_8023AD8(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBattleStruct->atk5A_StateTracker++; return; } @@ -15845,7 +15845,7 @@ static void atkF2_displaydexinfo(void) switch (gBattleCommunication[0]) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBattleCommunication[0]++; break; case 1: @@ -15863,7 +15863,7 @@ static void atkF2_displaydexinfo(void) LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); REG_BG3CNT = 0x5a0b; gBattle_BG3_X = 0x100; - BeginNormalPaletteFade(0xfffc, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFC, 0, 16, 0, RGB(0, 0, 0)); gBattleCommunication[0]++; } break; diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index dc5df71f2..75afc2739 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -334,7 +334,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) } if (ewram17800[b].transformedSpecies != 0) { - BlendPalette(paletteOffset, 16, 6, 0x7FFF); + BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31)); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); } } @@ -386,7 +386,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) } if (ewram17800[b].transformedSpecies != 0) { - BlendPalette(paletteOffset, 16, 6, 0x7FFF); + BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31)); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); } } @@ -646,7 +646,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) gBattleMonForms[a] = ewram17840.unk0; if (ewram17800[a].transformedSpecies != 0) { - BlendPalette(paletteOffset, 16, 6, 0x7FFF); + BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31)); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); } gSprites[gBankSpriteIds[a]].pos1.y = sub_8077F68(a); @@ -714,7 +714,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) LZDecompressWram(lzPaletteData, paletteSrc); LoadPalette(paletteSrc + gBattleMonForms[b] * 16, paletteOffset, 32); } - BlendPalette(paletteOffset, 16, 6, 0x7FFF); + BlendPalette(paletteOffset, 16, 6, RGB(31, 31, 31)); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); if (!IsContest()) { diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c index 004963b70..d1dcf8bf4 100644 --- a/src/battle/battle_controller_player.c +++ b/src/battle/battle_controller_player.c @@ -2655,7 +2655,7 @@ void PlayerHandlecmd10(void) void PlayerHandlecmd11(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB(0, 0, 0)); PlayerBufferExecCompleted(); } @@ -2835,7 +2835,7 @@ void PlayerHandleOpenBag(void) { s32 i; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBattleBankFunc[gActiveBattler] = sub_802E004; gBankInMenu = gActiveBattler; for (i = 0; i < 3; i++) @@ -2853,7 +2853,7 @@ void PlayerHandlecmd22(void) ewram160C0 = gBattleBufferA[gActiveBattler][3]; for (i = 0; i < 3; i++) gUnknown_02038470[i] = gBattleBufferA[gActiveBattler][4 + i]; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBattleBankFunc[gActiveBattler] = sub_802DF30; gBankInMenu = gActiveBattler; } @@ -2861,7 +2861,7 @@ void PlayerHandlecmd22(void) void PlayerHandlecmd23(void) { BattleStopLowHpSound(); - BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB(0, 0, 0)); PlayerBufferExecCompleted(); } diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c index 53c4d71d7..6bc56c19b 100644 --- a/src/battle/battle_controller_safari.c +++ b/src/battle/battle_controller_safari.c @@ -514,7 +514,7 @@ void SafariHandlecmd20(void) void SafariHandleOpenBag(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBattleBankFunc[gActiveBattler] = sub_812B724; gBankInMenu = gActiveBattler; } diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c index 451e02b40..3f88d4c72 100644 --- a/src/battle/battle_controller_wally.c +++ b/src/battle/battle_controller_wally.c @@ -1312,7 +1312,7 @@ void WallyHandlecmd20(void) void WallyHandleOpenBag(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBattleBankFunc[gActiveBattler] = sub_81374C4; gBankInMenu = gActiveBattler; } diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index 923cf05a4..e758b7957 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -515,7 +515,7 @@ void HandleBattlePartyMenu(u8 taskId) static void Task_809527C(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_80952B4; } @@ -535,7 +535,7 @@ static void Task_80952E4(u8 taskId) Task_809527C(taskId); else { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_8095330; } } @@ -633,7 +633,7 @@ static void Task_BattlePartyMenuSummary(u8 taskId) { sub_806CA38(taskId); //an unused variable was probably set with this. gTasks[taskId].func = Task_ShowSummaryScreen; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } static void Task_BattlePartyMenuShift(u8 taskId) diff --git a/src/battle/battle_transition.c b/src/battle/battle_transition.c index d5035a862..a0c94f713 100644 --- a/src/battle/battle_transition.c +++ b/src/battle/battle_transition.c @@ -643,7 +643,7 @@ static bool8 Phase2_Transition_Blur_Func2(struct Task* task) { task->data[1] = 4; if (++task->data[2] == 10) - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB(0, 0, 0)); REG_MOSAIC = (task->data[2] & 15) * 17; if (task->data[2] > 14) task->tState++; @@ -672,7 +672,7 @@ static bool8 Phase2_Transition_Swirl_Func1(struct Task* task) sub_811D658(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 16, RGB(0, 0, 0)); sub_811D6E8(gScanlineEffectRegBuffers[1], TRANSITION_STRUCT.field_14, 0, 2, 0, 160); SetVBlankCallback(VBlankCB_Phase2_Transition_Swirl); @@ -733,7 +733,7 @@ static bool8 Phase2_Transition_Shuffle_Func1(struct Task* task) sub_811D658(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 16, RGB(0, 0, 0)); memset(gScanlineEffectRegBuffers[1], TRANSITION_STRUCT.field_16, 0x140); SetVBlankCallback(VBlankCB_Phase2_Transition_Shuffle); @@ -1314,7 +1314,7 @@ static bool8 Phase2_Transition_Ripple_Func2(struct Task* task) if (++task->data[3] == 81) { task->data[4]++; - BeginNormalPaletteFade(-1, -2, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB(0, 0, 0)); } if (task->data[4] != 0 && !gPaletteFade.active) @@ -1664,7 +1664,7 @@ static bool8 Phase2_Mugshot_Func7(struct Task* task) static bool8 Phase2_Mugshot_Func8(struct Task* task) { TRANSITION_STRUCT.VBlank_DMA = 0; - BlendPalettes(-1, 0x10, 0x7FFF); + BlendPalettes(0xFFFFFFFF, 16, RGB(31, 31, 31)); TRANSITION_STRUCT.BLDCNT = 0xFF; task->data[3] = 0; @@ -1993,7 +1993,7 @@ static bool8 Phase2_Transition_WhiteFade_Func3(struct Task* task) TRANSITION_STRUCT.VBlank_DMA = 0; if (TRANSITION_STRUCT.field_20 > 7) { - BlendPalettes(-1, 0x10, 0x7FFF); + BlendPalettes(0xFFFFFFFF, 16, RGB(31, 31, 31)); task->tState++; } return FALSE; @@ -2302,7 +2302,7 @@ static bool8 Phase1_TransitionAll_Func1(struct Task* task) task->data[7] += task->data[4]; if (task->data[7] > 16) task->data[7] = 16; - BlendPalettes(-1, task->data[7], 0x2D6B); + BlendPalettes(0xFFFFFFFF, task->data[7], RGB(11, 11, 11)); } if (task->data[7] > 15) { @@ -2320,7 +2320,7 @@ static bool8 Phase1_TransitionAll_Func2(struct Task* task) task->data[7] -= task->data[5]; if (task->data[7] < 0) task->data[7] = 0; - BlendPalettes(-1, task->data[7], 0x2D6B); + BlendPalettes(0xFFFFFFFF, task->data[7], RGB(11, 11, 11)); } if (task->data[7] == 0) { @@ -2379,7 +2379,7 @@ static void sub_811D6A8(u16** a0, u16** a1) static void sub_811D6D4(void) { - BlendPalettes(-1, 0x10, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); } static void sub_811D6E8(s16* array, s16 sinAdd, s16 index, s16 indexIncrementer, s16 amplitude, s16 arrSize) diff --git a/src/berry_blender.c b/src/berry_blender.c index cde189738..b8df29ec6 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -945,7 +945,7 @@ static void sub_804E56C(void) } break; case 2: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); sub_8051474(); gBerryBlenderData->field_0++; break; @@ -965,7 +965,7 @@ static void sub_804E56C(void) if (Menu_UpdateWindowText()) { gBerryBlenderData->field_0++; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } break; case 6: @@ -1137,7 +1137,7 @@ static void sub_804E9F8(void) gBerryBlenderData->field_0++; break; case 3: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gBerryBlenderData->field_0++; break; case 4: @@ -1432,7 +1432,7 @@ static void sub_804F378(void) gBerryBlenderData->field_0++; break; case 3: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gBerryBlenderData->field_0++; gBerryBlenderData->framesToWait = 0; break; @@ -2479,7 +2479,7 @@ static void sub_8050E30(void) case 9: if (IsLinkTaskFinished()) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gBerryBlenderData->field_6F++; } break; diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 9fbfd0681..77f80d728 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -157,7 +157,7 @@ static bool8 sub_8146058(void) gMain.state += 1; break; case 12: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gPaletteFade.bufferTransferDisabled = 0; SetMainCallback2(sub_8146014); return TRUE; @@ -246,7 +246,7 @@ static void sub_814640C(u8 taskId) static void sub_8146440(u8 taskId) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_814640C; } diff --git a/src/cable_car.c b/src/cable_car.c index 8c3f9885d..38ea86096 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -275,7 +275,7 @@ void CableCar(void) { ScriptContext2_Enable(); CreateTask(CableCarTask1, 1); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } #if DEBUG @@ -385,7 +385,7 @@ static void CableCarMainCallback_Setup(void) gMain.state++; break; case 7: - BeginNormalPaletteFade(-1, 3, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 3, 16, 0, RGB(0, 0, 0)); FadeInNewBGM(BGM_ROPEWAY, 1); sub_8123FBC(1); gMain.state++; @@ -497,7 +497,7 @@ static void sub_8123878(u8 taskId) if (sCableCarPtr->unk_0006 == 570) { sCableCarPtr->unk_0001 = 3; - BeginNormalPaletteFade(-1, 3, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 3, 0, 16, RGB(0, 0, 0)); FadeOutBGM(4); } break; diff --git a/src/choose_party.c b/src/choose_party.c index 698460547..5aed5b22e 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -305,7 +305,7 @@ void HandleBattleTowerPartyMenu(u8 taskId) case B_BUTTON: PlaySE(SE_SELECT); ClearPartySelection(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_8122450; break; } @@ -386,7 +386,7 @@ static void sub_81224A8(u8 taskId) { if (gSelectedOrderFromParty[0] != 0) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_8122450; } else @@ -441,7 +441,7 @@ static void sub_81225D4(u8 taskId) // Summary callback? static void BattleTowerEntryMenuCallback_Summary(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_81225D4; } @@ -700,7 +700,7 @@ static void sub_8122C18(u8 taskId) gTasks[taskId].data[0]++; if (gTasks[taskId].data[0] == 256) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_8122450; } } @@ -919,7 +919,7 @@ static void sub_8123034(u8 taskId) static void DaycareStorageMenuCallback_Summary(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_8123034; } @@ -934,7 +934,7 @@ static void DaycareStorageMenuCallback_Exit(u8 taskId) void sub_8123138(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_8123170; } diff --git a/src/clear_save_data_menu.c b/src/clear_save_data_menu.c index b6053715a..b7f648887 100644 --- a/src/clear_save_data_menu.c +++ b/src/clear_save_data_menu.c @@ -135,7 +135,7 @@ static u8 InitClearSaveDataScreen(void) Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gWindowTemplate_81E6CE4); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0xffff); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, FADE_COLOR_WHITE); ime = REG_IME; REG_IME = 0; @@ -164,7 +164,7 @@ static void CB2_SoftReset(void) { case 0: default: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xffff); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, FADE_COLOR_WHITE); gMain.state = 1; break; case 1: diff --git a/src/contest.c b/src/contest.c index f7436c51c..d9c19f773 100644 --- a/src/contest.c +++ b/src/contest.c @@ -2042,7 +2042,7 @@ void sub_80ADEEC(u8 taskId) } else { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_80ADFD8; } } @@ -2061,7 +2061,7 @@ void sub_80ADF4C(u8 taskId) void sub_80ADF98(u8 taskId) { DestroyTask(taskId); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[sContest.mainTaskId].func = sub_80ADFD8; } @@ -3638,7 +3638,7 @@ void sub_80B03D8(u8 taskId) { gTasks[sContest.unk19211].data[r4 * 4 + 0] = 0xFF; gTasks[sContest.unk19211].data[r4 * 4 + 1] = 0; - BlendPalette((sContest.unk19218[r4] + 5) * 16 + 6, 2, 0, 0x4BFF); + BlendPalette((sContest.unk19218[r4] + 5) * 16 + 6, 2, 0, RGB(31, 31, 18)); DestroyTask(taskId); } } @@ -3666,7 +3666,7 @@ void sub_80B0458(u8 taskId) (sContest.unk19218[i] + 5) * 16 + 6, 2, gTasks[taskId].data[r3 + 0], - 0x4BFF); + RGB(31, 31, 18)); } } } @@ -3746,8 +3746,8 @@ void sub_80B05FC(u8 taskId) || gTasks[taskId].data[r3 + 0] == 0) gTasks[taskId].data[r3 + 1] ^= 1; - BlendPalette((i + 5) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], 0x4BFF); - BlendPalette((i + 5) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], 0x4BFF); + BlendPalette((i + 5) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); + BlendPalette((i + 5) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18)); } } } @@ -3798,7 +3798,7 @@ void sub_80B0748(u8 taskId) { //_080B07D2 r6 = 0; - BlendPalette((r4 + 5) * 16 + 1, 3, r5, 0x7FFF); + BlendPalette((r4 + 5) * 16 + 1, 3, r5, RGB(31, 31, 31)); if (r5 == 0 && r8 == 4) { gTasks[taskId].data[r1 + 0] = 0; @@ -3839,8 +3839,8 @@ void sub_80B0748(u8 taskId) r8++; if (r7 == 4 && r8 == 1) { - BlendPalette((r4 + 9) * 16 + 2, 1, 4, 0); - BlendPalette((r4 + 9) * 16 + 5, 1, 4, 0); + BlendPalette((r4 + 9) * 16 + 2, 1, 4, RGB(0, 0, 0)); + BlendPalette((r4 + 9) * 16 + 5, 1, 4, RGB(0, 0, 0)); } } } @@ -3854,7 +3854,7 @@ void sub_80B0748(u8 taskId) if (r6 == 12) { r6 = 0; - BlendPalette((r4 + 5) * 16 + 1, 3, r5, 0); + BlendPalette((r4 + 5) * 16 + 1, 3, r5, RGB(0, 0, 0)); r5 += 1; if (r5 == 5) { @@ -4834,13 +4834,13 @@ void c3_08130B10(u8 taskId) gTasks[taskId].data[4]++; else gTasks[taskId].data[4]--; - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], 0x7FFF); + BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB(31, 31, 31)); if (gTasks[taskId].data[4] == 0 || gTasks[taskId].data[4] == 16) { gTasks[taskId].data[3] ^= 1; if (sContest.applauseLevel < 5) { - BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, 31); + BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB(31, 0, 0)); DestroyTask(taskId); } } diff --git a/src/contest_painting.c b/src/contest_painting.c index 28dd3def7..03840215b 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -212,7 +212,7 @@ static void HoldContestPainting(void) u8 two = 2; //needed to make the asm match gUnknown_03000750 = two; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } if (gUnknown_03000756 != 0) gUnknown_03000754 = 0; diff --git a/src/credits.c b/src/credits.c index 9a85265e4..b99bc56bd 100644 --- a/src/credits.c +++ b/src/credits.c @@ -487,7 +487,7 @@ void sub_81439D0(void) gTasks[taskIdB].data[TDB_TASK_A_ID] = taskIdA; gTasks[taskIdA].data[TDA_TASK_B_ID] = taskIdB; - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); savedIme = REG_IME; REG_IME = 0; @@ -541,14 +541,14 @@ static void task_a_8143B68(u8 taskIdA) { gTasks[taskIdA].data[TDA_13] = data1; gTasks[taskIdA].data[TDA_11] = 0; - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskIdA].func = task_a_8143BFC; } else if (gTasks[taskIdA].data[TDA_11] == 2) { gTasks[taskIdA].data[TDA_13] = data1; gTasks[taskIdA].data[TDA_11] = 0; - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskIdA].func = task_a_8143CC0; } } @@ -571,7 +571,7 @@ static void task_a_80C9BFC(u8 taskIdA) if (sub_8144ECC(gTasks[taskIdA].data[TDA_7], taskIdA)) { - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); backup = REG_IME; REG_IME = 0; @@ -634,7 +634,7 @@ void task_a_8143D04(u8 taskIdA) gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_TASK_A_ID] = taskIdA; gTasks[gTasks[taskIdA].data[TDA_TASK_D_ID]].data[TDD_2] = gTasks[taskIdA].data[TDA_7]; - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_BG3HOFS = 0; REG_BG3VOFS = 32; REG_BG3CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(7) | BGCNT_16COLOR | BGCNT_TXT256x256; @@ -655,7 +655,7 @@ static void task_a_8143EBC(u8 taskIdA) return; } - BeginNormalPaletteFade(-1, 12, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 12, 0, 16, RGB(0, 0, 0)); gTasks[taskIdA].func = task_a_8143F04; } @@ -677,7 +677,7 @@ static void task_a_8143F3C(u8 taskIdA) sub_8145128(0, 0x3800, 0); ResetSpriteData(); FreeAllSpritePalettes(); - BeginNormalPaletteFade(-1, 8, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 8, 16, 0, RGB(0, 0, 0)); REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(7) | BGCNT_16COLOR | BGCNT_TXT256x256; backup = REG_IME; @@ -699,7 +699,7 @@ static void task_a_8143FDC(u8 taskIdA) return; } - BeginNormalPaletteFade(-1, 6, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 16, RGB(0, 0, 0)); gTasks[taskIdA].func = task_a_8144024; } @@ -709,7 +709,7 @@ static void task_a_8144024(u8 taskIdA) { sub_81452D0(0x3800, 0); - BeginNormalPaletteFade(-1, 0, 0, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB(0, 0, 0)); gTasks[taskIdA].data[TDA_0] = 7200; gTasks[taskIdA].func = task_a_8144080; } @@ -722,7 +722,7 @@ static void task_a_8144080(u8 taskIdA) if (gTasks[taskIdA].data[TDA_0] == 0) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 16, FADE_COLOR_WHITE); gTasks[taskIdA].func = task_a_8144114; return; } @@ -730,7 +730,7 @@ static void task_a_8144080(u8 taskIdA) if (gMain.newKeys) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 8, 0, 16, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 16, FADE_COLOR_WHITE); gTasks[taskIdA].func = task_a_8144114; return; } diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 83736ba4d..7bb5cc1d6 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -74,7 +74,7 @@ u8 debug_sub_80B061C(void) u8 KagayaDebugMenu_TrainerCard(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMenuCallback = debug_sub_80B068C; return 0; } @@ -93,7 +93,7 @@ u8 debug_sub_80B068C(void) u8 KagayaDebugMenu_CardToExchange(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMenuCallback = debug_sub_80B06E0; return 0; } @@ -112,7 +112,7 @@ u8 debug_sub_80B06E0(void) u8 KagayaDebugMenu_SlotMachine(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMenuCallback = Kagaya_80B0734; return 0; } @@ -149,7 +149,7 @@ u8 debug_sub_80B0770(void) u8 debug_sub_80B07B0(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMenuCallback = debug_sub_80B07DC; return 0; } diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index c936af864..f914163b2 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -105,7 +105,7 @@ static bool8 sub_80A9B78(void) u8 MatsudaDebugMenu_ContestResults(void) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); CreateTask(sub_80A9BE4, 0xFF); return 1; } @@ -878,7 +878,7 @@ void sub_80AAD08(struct Sprite *sprite, s8 var2) { eMatsudaDebugVar = sprite->data[3]; SetMainCallback2(sub_80AACC4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } } diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index f40d5556a..760b10d01 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -133,7 +133,7 @@ static bool8 SwitchToPkmnListMenu(void) Menu_EraseScreen(); gMain.savedCallback = c2_exit_to_overworld_1_sub_8080DEC; CreateTask(Task_SwitchToPkmnListMenu, 0); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); return TRUE; } diff --git a/src/debug/sound_check_menu.c b/src/debug/sound_check_menu.c index 05cbfc8f7..935f5cd67 100644 --- a/src/debug/sound_check_menu.c +++ b/src/debug/sound_check_menu.c @@ -134,7 +134,7 @@ void CB2_StartSoundCheckMenu(void) ResetSpriteData(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gWindowTemplate_81E6CE4); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_WIN0H = WIN_RANGE(0, 0); REG_WIN0V = WIN_RANGE(0, 0); REG_WIN1H = WIN_RANGE(0, 0); @@ -267,7 +267,7 @@ bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) else if (gMain.newKeys & B_BUTTON) { m4aSongNumStart(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_80BA68C; } else if (gMain.newAndRepeatedKeys & DPAD_UP) @@ -1249,7 +1249,7 @@ void Task_InitCryTest(u8 taskId) Menu_DrawStdWindowFrame(0, 16, 5, 19); PrintCryNumber(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_BG2HOFS = 0; REG_BG2VOFS = 0; REG_BG2CNT = 0xF01; diff --git a/src/debug/taya_debug_window.c b/src/debug/taya_debug_window.c index 55212315c..c5f6fc0ec 100644 --- a/src/debug/taya_debug_window.c +++ b/src/debug/taya_debug_window.c @@ -424,7 +424,7 @@ bool8 TayaDebugMenu_TownFlags(void) bool8 TayaDebugMenu_AwardARibbon(void) { - BlendPalettes(0xFFFFFFFF, 16, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); SetMainCallback2(debug_sub_80915BC); CloseMenu(); return TRUE; @@ -979,7 +979,7 @@ void debug_sub_8091334(void) } else if (gMain.newKeys & B_BUTTON) { - BlendPalettes(0xFFFFFFFF, 16, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); SetMainCallback2(sub_80546F0); } break; diff --git a/src/debug/tomomichi_debug_menu.c b/src/debug/tomomichi_debug_menu.c index 40df600fa..daaca570c 100644 --- a/src/debug/tomomichi_debug_menu.c +++ b/src/debug/tomomichi_debug_menu.c @@ -2365,7 +2365,7 @@ static bool8 CallScript_GiveShroomishEgg(void) static bool8 ContestGraphics_Show(void) { - BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMenuCallback = debug_sub_808C280; return FALSE; } @@ -2385,7 +2385,7 @@ static bool8 debug_sub_808C280(void) static bool8 MuseumGraphics_Show(void) { - BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMenuCallback = debug_sub_808C2E4; return FALSE; } @@ -3927,7 +3927,7 @@ static bool8 debug_sub_808EC5C(void) static bool8 PreviewGraphics_Show(void) { - BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMenuCallback = debug_sub_808ECD0; return FALSE; } diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 1b13b2d4e..86b8f6b0b 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -392,7 +392,7 @@ void InitSizeComparison(void) REG_IME = 0; REG_IE |= INTR_FLAG_VBLANK; REG_IME = imeBak; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(debug_80C3758); SetMainCallback2(debug_80C370C); REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_OBJ_ON; @@ -812,7 +812,7 @@ void debug_80C3D2C(u8 taskId) if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetMainCallback2(debug_80C370C); gTasks[taskId].func = debug_80C373C; } @@ -1292,7 +1292,7 @@ void debug_80C4900(u8 taskId) if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetMainCallback2(debug_80C370C); LoadPlayerParty(); gSaveBlock2.playerGender = gUnknown_Debug_2038A0C[13]; @@ -1835,7 +1835,7 @@ void InitCreatePokemon(void) u8 sp04[] = _("Create POKひMON   LR:Shift  START:Add"); debug_80C35DC(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_BLDCNT = 0x0000; REG_BLDALPHA = 0x0000; REG_BLDY = 0x0000; @@ -1884,7 +1884,7 @@ void debug_80C53F0(u8 taskId) } else if (gMain.newKeys & B_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetMainCallback2(debug_80C370C); gTasks[taskId].func = debug_80C373C; } @@ -2523,7 +2523,7 @@ void InitSeePokemonGraphics(void) LoadPalette(word_83F888C, 0x80, sizeof(word_83F888C)); pal = RGB(31, 31, 31); LoadPalette(&pal, 0, sizeof(pal)); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_WIN0H = 0; REG_WIN0V = 0; REG_WIN1H = 0; @@ -2707,7 +2707,7 @@ void debug_80C6FA8(u8 taskId) if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetMainCallback2(debug_80C370C); gTasks[taskId].func = debug_80C373C; } @@ -3195,7 +3195,7 @@ void InitSeeTrainers(void) debug_80C35DC(); DmaCopy16Defvars(3, byte_83F88EC, VRAM + 0xe000, 0x800); LoadPalette(word_83F888C, 0x80, 0x60); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_WIN0H = 0; REG_WIN0V = 0; REG_WIN1H = 0; @@ -3315,7 +3315,7 @@ void debug_80C7B14(u8 taskId) if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetMainCallback2(debug_80C370C); gTasks[taskId].func = debug_80C373C; } diff --git a/src/diploma.c b/src/diploma.c index b31fc7dec..a6026d423 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -71,7 +71,7 @@ void CB2_ShowDiploma(void) Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gWindowTemplate_81E6CE4); DisplayDiplomaText(); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); savedIme = REG_IME; REG_IME = 0; @@ -109,7 +109,7 @@ static void Task_DiplomaWaitForKeyPress(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_DiplomaFadeOut; } } diff --git a/src/easy_chat_1.c b/src/easy_chat_1.c index 4b64846f9..4f5c71518 100644 --- a/src/easy_chat_1.c +++ b/src/easy_chat_1.c @@ -328,7 +328,7 @@ void sub_80E62F8(void) SetVBlankCallback(sub_80E6A6C); break; case 7: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); break; case 8: REG_DISPCNT = 0x1F40; @@ -1227,7 +1227,7 @@ void sub_80E752C(void) switch (gEasyChatStruct->unk24) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gEasyChatStruct->unk24++; break; case 1: diff --git a/src/egg_hatch.c b/src/egg_hatch.c index eb66f299d..580ec6886 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -441,7 +441,7 @@ void EggHatch(void) { ScriptContext2_Enable(); CreateTask(Task_EggHatch, 10); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } static void Task_EggHatch(u8 taskID) @@ -554,7 +554,7 @@ static void CB2_EggHatch_1(void) switch (gEggHatchData->CB2_state) { case 0: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_DISPCNT = 0x1740; gEggHatchData->CB2_state++; CreateTask(Task_EggHatchPlayBGM, 5); @@ -629,7 +629,7 @@ static void CB2_EggHatch_1(void) } break; case 10: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gEggHatchData->CB2_state++; break; case 11: @@ -730,7 +730,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite) { s16 i; if (sprite->data[0] == 0) - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, FADE_COLOR_WHITE); if (sprite->data[0] < 4u) { for (i = 0; i <= 3; i++) @@ -754,7 +754,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite) StartSpriteAffineAnim(&gSprites[gEggHatchData->pokeSpriteID], 1); } if (sprite->data[0] == 8) - BeginNormalPaletteFade(-1, -1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, FADE_COLOR_WHITE); if (sprite->data[0] <= 9) gSprites[gEggHatchData->pokeSpriteID].pos1.y -= 1; if (sprite->data[0] > 40) diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c index b9ef5b402..f585b2bee 100644 --- a/src/evolution_graphics.c +++ b/src/evolution_graphics.c @@ -271,7 +271,7 @@ static void EvoTask_BeginPreSet1_FadeAndPlaySE(u8 taskID) { SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; - BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 0xA, 0, 0x10, 0x7FFF); + BeginNormalPaletteFade(3 << gTasks[taskID].data[1], 10, 0, 16, RGB(31, 31, 31)); gTasks[taskID].func = EvoTask_CreatePreEvoSparkleSet1; PlaySE(SE_W025); } @@ -389,7 +389,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash(u8 taskID) SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30); - BeginNormalPaletteFade(0xFFF9001C, 0, 0, 0x10, 0x7FFF); + BeginNormalPaletteFade(0xFFF9001C, 0, 0, 16, RGB(31, 31, 31)); gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash; PlaySE(SE_W080); } @@ -410,7 +410,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash(u8 taskID) CreatePostEvoSparkleSet2(i); break; case 32: - BeginNormalPaletteFade(0xFFFF001C, 0x10, 0x10, 0, 0x7FFF); + BeginNormalPaletteFade(0xFFFF001C, 16, 16, 0, RGB(31, 31, 31)); break; } gTasks[taskID].tFrameCounter++; @@ -437,7 +437,7 @@ static void EvoTask_BeginPostSparklesSet2_AndFlash_Trade(u8 taskID) SetEvoSparklesMatrices(); gTasks[taskID].tFrameCounter = 0; CpuSet(&gPlttBufferFaded[0x20], &gPlttBufferUnfaded[0x20], 0x30); - BeginNormalPaletteFade(0xFFF90001, 0, 0, 0x10, 0x7FFF); + BeginNormalPaletteFade(0xFFF90001, 0, 0, 16, RGB(31, 31, 31)); gTasks[taskID].func = EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade; PlaySE(SE_W080); } @@ -458,7 +458,7 @@ static void EvoTask_CreatePostEvoSparklesSet2_AndFlash_Trade(u8 taskID) CreatePostEvoSparkleSet2(i); break; case 32: - BeginNormalPaletteFade(0xFFFF0001, 0x10, 0x10, 0, 0x7FFF); + BeginNormalPaletteFade(0xFFFF0001, 16, 16, 0, RGB(31, 31, 31)); break; } gTasks[taskID].tFrameCounter++; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 4fdbeb60f..48d5dd82c 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -143,7 +143,7 @@ static void Task_BeginEvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].tState++; break; case 1: @@ -344,7 +344,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) SetHBlankCallback(EvoDummyFunc); SetVBlankCallback(VBlankCB_EvolutionScene); SetMainCallback2(CB2_EvolutionSceneUpdate); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); } static void CB2_TradeEvolutionSceneLoadGraphics(void) @@ -419,7 +419,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) } break; case 6: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetMainCallback2(CB2_TradeEvolutionSceneUpdate); REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP; break; @@ -545,7 +545,7 @@ static void Task_EvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gSprites[sEvoInfo.preEvoSpriteID].invisible = 0; gTasks[taskID].tState++; break; @@ -576,7 +576,7 @@ static void Task_EvolutionScene(u8 taskID) { PlayNewMapMusic(BGM_SHINKA); gTasks[taskID].tState++; - BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0x1C, 4, 0, 16, RGB(0, 0, 0)); } break; case 5: // after screen fade, preapre evo sparkles @@ -633,7 +633,7 @@ static void Task_EvolutionScene(u8 taskID) m4aMPlayAllStop(); PlayCry1(gTasks[taskID].tPostEvoSpecies, 0); memcpy(&gPlttBufferUnfaded[0x20], ewram9000_hack, 0x60); - BeginNormalPaletteFade(0x1C, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0x1C, 0, 16, 0, RGB(0, 0, 0)); gTasks[taskID].tState++; } break; @@ -675,7 +675,7 @@ static void Task_EvolutionScene(u8 taskID) } else // no move to learn { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].tState++; } } @@ -695,7 +695,7 @@ static void Task_EvolutionScene(u8 taskID) if (!gTasks[sEvoGraphicsTaskID].isActive) { m4aMPlayAllStop(); - BeginNormalPaletteFade(0x6001C, 0, 0x10, 0, 0x7FFF); + BeginNormalPaletteFade(0x6001C, 0, 16, 0, RGB(31, 31, 31)); gTasks[taskID].tState++; } break; @@ -797,7 +797,7 @@ static void Task_EvolutionScene(u8 taskID) { gTasks[taskID].tLearnMoveState = gTasks[taskID].tData9; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } } if (gMain.newKeys & B_BUTTON) @@ -918,7 +918,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { PlayBGM(BGM_SHINKA); gTasks[taskID].tState++; - BeginNormalPaletteFade(0x1C, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0x1C, 4, 0, 16, RGB(0, 0, 0)); } break; case 4: @@ -975,7 +975,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { PlayCry1(gTasks[taskID].tPostEvoSpecies, 0); memcpy(&gPlttBufferUnfaded[0x20], ewram9000_hack, 0x60); - BeginNormalPaletteFade(1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0x1, 0, 16, 0, RGB(0, 0, 0)); gTasks[taskID].tState++; } break; @@ -1116,7 +1116,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { gTasks[taskID].tLearnMoveState = gTasks[taskID].tData9; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } } if (gMain.newKeys & B_BUTTON) diff --git a/src/field_region_map.c b/src/field_region_map.c index 54091459f..a90b8ed6a 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -60,7 +60,7 @@ void CB2_FieldInitRegionMap(void) sub_813F0C8(); SetMainCallback2(CB2_FieldRegionMap); SetVBlankCallback(VBlankCB_FieldRegionMap); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); } void VBlankCB_FieldRegionMap(void) @@ -102,7 +102,7 @@ void sub_813EFDC(void) } break; case 3: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); ewram0_5.unk888++; break; case 4: diff --git a/src/field_weather.c b/src/field_weather.c index 5857145ef..9a5a83737 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -782,7 +782,7 @@ void ApplyFogBlend(u8 blendCoeff, u16 blendColor) u8 bBlend; u16 curPalIndex; - BlendPalette(0, 0x100, blendCoeff, blendColor); + BlendPalette(0, 256, blendCoeff, blendColor); color = *(struct RGBColor *)&blendColor; rBlend = color.r; gBlend = color.g; @@ -970,7 +970,7 @@ void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex) else { paletteIndex *= 16; - BlendPalette(paletteIndex, 16, 12, 0x73FC); + BlendPalette(paletteIndex, 16, 12, RGB(28, 31, 28)); } break; } diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index c6e3211b8..88069f6e9 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -50,7 +50,7 @@ static void StartSweetScentFieldEffect(void) u8 taskId; PlaySE(SE_W230); - BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, 0x1F); + BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 0, 8, RGB(31, 0, 0)); taskId = CreateTask(TrySweetScentEncounter, 0); gTasks[taskId].data[0] = 0; FieldEffectActiveListRemove(FLDEFF_SWEET_SCENT); @@ -70,7 +70,7 @@ static void TrySweetScentEncounter(u8 taskId) else { gTasks[taskId].func = FailSweetScentEncounter; - BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, 0x1F); + BeginNormalPaletteFade(~(1 << (gSprites[GetPlayerAvatarObjectId()].oam.paletteNum + 16)), 4, 8, 0, RGB(31, 0, 0)); } } else diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 2b790e97d..5bd0d229b 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -429,7 +429,7 @@ static bool8 sub_8141E64(void) { u16 saved_IME; - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(VBlankCB_HallOfFame); saved_IME = REG_IME; REG_IME = 0; @@ -645,7 +645,7 @@ static void sub_8142484(u8 taskID) if (gTasks[taskID].tDisplayedPoke <= 4 && currMon[1].species != 0) // there is another pokemon to display { gTasks[taskID].tDisplayedPoke++; - BeginNormalPaletteFade(sUnknown_0203931C, 0, 12, 12, 0x735F); + BeginNormalPaletteFade(sUnknown_0203931C, 0, 12, 12, RGB(31, 26, 28)); gSprites[gTasks[taskID].tMonSpriteID(currPokeID)].oam.priority = 1; gTasks[taskID].func = sub_8142320; } @@ -658,7 +658,7 @@ static void sub_8142570(u8 taskID) { u16 i; - BeginNormalPaletteFade(0xFFFF0000, 0, 0, 0, 0); + BeginNormalPaletteFade(0xFFFF0000, 0, 0, 0, RGB(0, 0, 0)); for (i = 0; i < 6; i++) { if (gTasks[taskID].tMonSpriteID(i) != 0xFF) @@ -687,7 +687,7 @@ static void sub_8142618(u8 taskID) if (gTasks[taskID].tMonSpriteID(i) != 0xFF) gSprites[gTasks[taskID].tMonSpriteID(i)].oam.priority = 1; } - BeginNormalPaletteFade(sUnknown_0203931C, 0, 12, 12, 0x735F); + BeginNormalPaletteFade(sUnknown_0203931C, 0, 12, 12, RGB(31, 26, 28)); Menu_EraseWindowRect(0, 14, 29, 19); gTasks[taskID].tFrameCount = 7; gTasks[taskID].func = sub_81426F8; @@ -747,7 +747,7 @@ static void sub_8142818(u8 taskID) static void sub_8142850(u8 taskID) { CpuSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x200); - BeginNormalPaletteFade(-1, 8, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_81428A0; } @@ -906,7 +906,7 @@ static void sub_8142B04(u8 taskID) gTasks[taskID].tMonSpriteID(i) = 0xFF; } - BlendPalettes(0xFFFF0000, 0xC, 0x735F); + BlendPalettes(0xFFFF0000, 12, RGB(31, 26, 28)); stringPtr = gStringVar1; stringPtr = StringCopy(stringPtr, gMenuText_HOFNumber); @@ -944,7 +944,7 @@ static void sub_8142CC8(u8 taskID) currMonID = gTasks[taskID].tMonSpriteID(gTasks[taskID].tCurrPokeID); gSprites[currMonID].oam.priority = 0; sUnknown_0203931C = (0x10000 << gSprites[currMonID].oam.paletteNum) ^ 0xFFFF0000; - BlendPalettesUnfaded(sUnknown_0203931C, 0xC, 0x735F); + BlendPalettesUnfaded(sUnknown_0203931C, 12, RGB(31, 26, 28)); currMon = &savedTeams->mons[gTasks[taskID].tCurrPokeID]; if (currMon->species != SPECIES_EGG) diff --git a/src/hof_pc.c b/src/hof_pc.c index 267ed4274..3ff9eaaea 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -29,7 +29,7 @@ static void ReshowPCMenuAfterHallOfFamePC(void) { ScriptContext2_Enable(); Overworld_PlaySpecialMapMusic(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); ScrSpecial_CreatePCMenu(); ScriptMenu_DisplayPCStartupPrompt(); CreateTask(Task_WaitForPaletteFade, 10); diff --git a/src/intro.c b/src/intro.c index 5c0e7a67d..b444c518e 100644 --- a/src/intro.c +++ b/src/intro.c @@ -877,7 +877,7 @@ static u8 SetUpCopyrightScreen(void) ResetTasks(); ResetSpriteData(); FreeAllSpritePalettes(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, FADE_COLOR_WHITE); REG_BG0CNT = BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(7) @@ -901,7 +901,7 @@ static u8 SetUpCopyrightScreen(void) GameCubeMultiBoot_Main(&gMultibootProgramStruct); if (gMultibootProgramStruct.gcmb_field_2 != 1) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMain.state++; } break; @@ -982,7 +982,7 @@ void Task_IntroLoadPart1Graphics(u8 taskId) static void Task_IntroFadeIn(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(VBlankCB_Intro); REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON; gTasks[taskId].func = Task_IntroWaterDrops; @@ -1054,7 +1054,7 @@ static void Task_IntroScrollDownAndShowEon(u8 taskId) //fade to white if (gIntroFrameCounter > 1007) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, FADE_COLOR_WHITE); gTasks[taskId].func = Task_IntroWaitToSetupPart2; } } @@ -1111,7 +1111,7 @@ static void Task_IntroStartBikeRide(u8 taskId) #endif gSprites[spriteId].callback = sub_813D880; gTasks[taskId].data[2] = spriteId; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, FADE_COLOR_WHITE); SetVBlankCallback(VBlankCB_Intro); #ifdef SAPPHIRE gTasks[taskId].data[0] = sub_8148EC0(0, 0x4000, 0x40, 0x10); @@ -1130,7 +1130,7 @@ static void Task_IntroHandleBikeAndEonMovement(u8 taskId) if (gIntroFrameCounter > 1823) { - BeginNormalPaletteFade(0xFFFFFFFF, 16, 0, 16, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 16, 0, 16, FADE_COLOR_WHITE); gTasks[taskId].func = Task_IntroWaitToSetupPart3; } if (gIntroFrameCounter == 1109) @@ -1181,7 +1181,7 @@ static void Task_IntroLoadPart3Graphics(u8 taskId) sub_813CE30(0x78, 0x50, 0, 0); ResetSpriteData(); FreeAllSpritePalettes(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, FADE_COLOR_WHITE); REG_BG2CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(8) | BGCNT_256COLOR | BGCNT_AFF256x256; REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; gTasks[taskId].func = Task_IntroSpinAndZoomPokeball; @@ -1203,7 +1203,7 @@ static void Task_IntroSpinAndZoomPokeball(u8 taskId) } sub_813CE30(0x78, 0x50, 0x10000 / gTasks[taskId].data[1], gTasks[taskId].data[0]); if (gIntroFrameCounter == 44) - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, FADE_COLOR_WHITE); } static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId) @@ -1341,7 +1341,7 @@ static void Task_IntroPokemonBattle(u8 taskId) } if (gIntroFrameCounter == 400) { - BeginNormalPaletteFade(0xFF0000, 0, 0x10, 0, 0x7EFF); + BeginNormalPaletteFade(0xFF0000, 0, 16, 0, RGB(31, 23, 31)); } if (gIntroFrameCounter == 432) { @@ -1408,7 +1408,7 @@ static void Task_IntroPokemonBattle(u8 taskId) if (gIntroFrameCounter == 800) PlaySE(SE_OP_BASYU); if (gIntroFrameCounter == 850) - BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 16, FADE_COLOR_WHITE); if (gIntroFrameCounter == 946) gTasks[taskId].func = task_intro_19; } @@ -1433,7 +1433,7 @@ static void task_intro_20(u8 taskId) gTasks[taskId].data[0] = 0xFF; break; case 2: - BeginNormalPaletteFade(1, 0, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0x1, 0, 16, 0, FADE_COLOR_WHITE); REG_BG2CNT = BG2_FLAGS; REG_DISPCNT = DISPCNT_FLAGS; gTasks[taskId].data[1] = 0; @@ -1447,7 +1447,7 @@ static void task_intro_20(u8 taskId) gTasks[taskId].data[2] -= 8; break; case 3: - BeginNormalPaletteFade(1, 0, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0x1, 0, 16, 0, FADE_COLOR_WHITE); REG_BG2CNT = BG2_FLAGS; REG_DISPCNT = DISPCNT_FLAGS; gTasks[taskId].data[1] = 0; @@ -1461,7 +1461,7 @@ static void task_intro_20(u8 taskId) gTasks[taskId].data[2] += 8; break; case 4: - BeginNormalPaletteFade(1, 5, 0, 0x10, 0x37F7); + BeginNormalPaletteFade(0x1, 5, 0, 16, RGB(23, 31, 13)); REG_BG2CNT = BG2_FLAGS; REG_DISPCNT = DISPCNT_FLAGS; gTasks[taskId].data[1] = 0; diff --git a/src/item_menu.c b/src/item_menu.c index e31801384..fa2ac3a5d 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -478,7 +478,7 @@ static bool8 SetupBagMultistep(void) REG_IE |= INTR_FLAG_VBLANK; REG_IME = savedIme; REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gPaletteFade.bufferTransferDisabled = FALSE; gMain.state++; break; @@ -2647,7 +2647,7 @@ static void OnItemSelect_Field05(u8 taskId) static void sub_80A5AAC(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = HandleItemMenuPaletteFade; } @@ -2926,7 +2926,7 @@ static void HandlePopupMenuAction_Give(u8 taskId) gTasks[taskId].data[9] = (u32)sub_808B020; gTasks[taskId].func = HandleItemMenuPaletteFade; gUnknown_02038561 = 1; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } } else @@ -3477,7 +3477,7 @@ void sub_80A7094(u8 taskId) gTasks[taskId].data[8] = (u32)sub_802E424 >> 16; gTasks[taskId].data[9] = (u32)sub_802E424; gTasks[taskId].func = HandleItemMenuPaletteFade; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } static void OnBagClose_Battle(u8 taskId) @@ -3578,7 +3578,7 @@ static void sub_80A7230(u8 taskId) taskData[8] = (u32)sub_802E424 >> 16; taskData[9] = (u32)sub_802E424; gTasks[taskId].func = HandleItemMenuPaletteFade; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); return; } taskData[15]++; diff --git a/src/item_use.c b/src/item_use.c index 19c298850..97ef83ddc 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -93,7 +93,7 @@ void ExecuteSwitchToOverworldFromItemUse(u8 taskId) void ItemMenu_ConfirmNormalFade(u8 var) { ExecuteSwitchToOverworldFromItemUse(var); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } void ItemMenu_ConfirmComplexFade(u8 var) @@ -165,7 +165,7 @@ void ItemMenu_ReadMail(u8 taskId) void ItemUseOutOfBattle_Mail(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = ItemMenu_ReadMail; } @@ -787,7 +787,7 @@ void sub_80C9C7C(u8 taskId) gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16; gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch; gTasks[taskId].func = HandleItemMenuPaletteFade; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB(0, 0, 0)); } else { @@ -1072,7 +1072,7 @@ void sub_80CA394(u8 taskId) void sub_80CA3C0(u8 taskId) { gTasks[taskId].func = sub_80CA394; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } void ItemUseInBattle_Medicine(u8 var) diff --git a/src/learn_move.c b/src/learn_move.c index 356a31b00..17cdbf54e 100644 --- a/src/learn_move.c +++ b/src/learn_move.c @@ -243,7 +243,7 @@ void TeachMoveTutorMove(void) { ScriptContext2_Enable(); CreateTask(sub_813269C, 10); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } void sub_813269C(u8 taskId) @@ -368,7 +368,7 @@ void LearnMoveMain(void) sub_8133800(); gSprites[1].pos1.x = 0x48; sLearnMoveStruct->unk2C3 = TRUE; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_DISPCNT = 0x1340; break; case 1: @@ -536,7 +536,7 @@ void LearnMoveMain(void) if (Menu_UpdateWindowText()) { sLearnMoveStruct->state = 20; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } break; case 20: @@ -551,10 +551,10 @@ void LearnMoveMain(void) sLearnMoveStruct->state = 14; break; case 22: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); break; case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); sLearnMoveStruct->state++; break; case 15: @@ -562,7 +562,7 @@ void LearnMoveMain(void) SetMainCallback2(c2_exit_to_overworld_2_switch); break; case 28: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); sLearnMoveStruct->state++; DrawLearnMoveMenuWindow(); sub_8133800(); diff --git a/src/link.c b/src/link.c index 45807830a..8b168c0a2 100644 --- a/src/link.c +++ b/src/link.c @@ -408,7 +408,7 @@ static void LinkTestProcessKeyInput(void) if (gMain.heldKeys & B_BUTTON) InitBlockSend(ewram4000, 0x2004); if (gMain.newKeys & L_BUTTON) - BeginNormalPaletteFade(-1, 0, 0x10, 0, 2); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(2, 0, 0)); if (gMain.newKeys & START_BUTTON) SetSuppressLinkErrorMessage(TRUE); if (gMain.newKeys & R_BUTTON) diff --git a/src/mail.c b/src/mail.c index 4497c98fb..ca698e23c 100644 --- a/src/mail.c +++ b/src/mail.c @@ -514,7 +514,7 @@ static u8 sub_80F8A28(void) REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(9) | BGCNT_16COLOR | BGCNT_TXT256x256; REG_BLDCNT = 0; REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gPaletteFade.bufferTransferDisabled = 0; ewram0_4.varF0 = sub_80F8F58; return TRUE; @@ -639,7 +639,7 @@ static void sub_80F8F78(void) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); ewram0_4.varF0 = sub_80F8FB4; } } @@ -701,7 +701,7 @@ void debug_sub_810C990(u8 taskId) } else if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = debug_sub_810C910; } else if (gMain.newKeys & B_BUTTON) @@ -1100,7 +1100,7 @@ void debug_sub_810D388(void) ScanlineEffect_Stop(); ResetPaletteFade(); SetVBlankCallback(sub_80F8F18); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } break; case 1: @@ -1139,7 +1139,7 @@ void debug_sub_810D388(void) REG_BLDCNT = 0; REG_DISPCNT = 0x0340; debug_sub_810D340(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(sub_80F8F18); break; case 7: diff --git a/src/main_menu.c b/src/main_menu.c index 5a3f55b29..e574b7b0e 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -236,9 +236,9 @@ u32 InitMainMenu(u8 a1) InitMenuWindow((struct WindowTemplate *)&gWindowTemplate_81E6CE4); if (a1) - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0x0000); // fade to black + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); else - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0xFFFF); // fade to white + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, FADE_COLOR_WHITE); REG_WIN0H = 0; REG_WIN0V = 0; @@ -452,13 +452,13 @@ bool8 MainMenuProcessKeyInput(u8 taskId) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0x0000); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_MainMenuPressedA; } else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, FADE_COLOR_WHITE); REG_WIN0H = WIN_RANGE(0, 240); REG_WIN0V = WIN_RANGE(0, 160); gTasks[taskId].func = Task_MainMenuPressedB; @@ -765,7 +765,7 @@ static void Task_NewGameSpeech1(u8 taskId) ResetSpriteData(); FreeAllSpritePalettes(); AddBirchSpeechObjects(taskId); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_BG1CNT = BGCNT_PRIORITY(3) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(7) | BGCNT_16COLOR | BGCNT_TXT256x256; REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP; gTasks[taskId].tBGhofs = 0; @@ -1094,7 +1094,7 @@ static void Task_NewGameSpeech21(u8 taskId) break; case 0: //NEW NAME PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_NewGameSpeech22; break; case -1: //B button @@ -1291,7 +1291,7 @@ static void Task_NewGameSpeech30(u8 taskId) InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 0); gSprites[spriteId].callback = ShrinkPlayerSprite; - BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0x0000FFFF, 0, 0, 16, RGB(0, 0, 0)); FadeOutBGM(4); gTasks[taskId].func = Task_NewGameSpeech31; } @@ -1313,7 +1313,7 @@ static void Task_NewGameSpeech32(u8 taskId) u8 spriteId = gTasks[taskId].tTrainerSpriteId; gSprites[spriteId].callback = nullsub_34; REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON; - BeginNormalPaletteFade(0xFFFF0000, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFF0000, 0, 0, 16, FADE_COLOR_WHITE); gTasks[taskId].func = Task_NewGameSpeech33; } } @@ -1393,7 +1393,7 @@ void CB_ContinueNewGameSpeechPart2() REG_BG1HOFS = -60; - BeginNormalPaletteFade(0xFFFFFFFFu, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_WIN0H = 0; REG_WIN0V = 0; diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 1ea177f2e..53659bdb4 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -89,7 +89,7 @@ static void CB2_MysteryEventMenu(void) { case 0: Menu_DrawStdWindowFrame(0, 14, 29, 19); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state++; break; case 1: @@ -314,7 +314,7 @@ static void CB2_MysteryEventMenu(void) } break; case 15: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMain.state++; break; case 16: @@ -416,7 +416,7 @@ void debug_sub_815D1D8(void) { case 0: Menu_DrawStdWindowFrame(3, 14, 27, 19); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state++; break; case 1: @@ -475,7 +475,7 @@ void debug_sub_815D1D8(void) case 10: if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMain.state++; } break; diff --git a/src/naming_screen.c b/src/naming_screen.c index 59b9b4d84..710bdefba 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -394,7 +394,7 @@ static void Task_NamingScreenMain(u8 taskId) static bool8 MainState_BeginFadeIn(struct Task *task) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); namingScreenDataPtr->state++; return 0; } @@ -495,7 +495,7 @@ static bool8 MainState_UpdateSentToPCMessage(struct Task *task) static bool8 MainState_BeginFadeInOut(struct Task *task) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); namingScreenDataPtr->state++; return FALSE; } diff --git a/src/option_menu.c b/src/option_menu.c index 8a46e48d9..2a5b0e534 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -116,7 +116,7 @@ void CB2_InitOptionMenu(void) gMain.state++; break; case 6: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state++; break; case 7: @@ -262,7 +262,7 @@ static void Task_OptionMenuSave(u8 taskId) gSaveBlock2.optionsButtonMode = gTasks[taskId].tOptButtonMode; gSaveBlock2.optionsWindowFrameType = gTasks[taskId].tOptFrameType; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_OptionMenuFadeOut; } diff --git a/src/overworld.c b/src/overworld.c index e98e5a6a1..721932a7e 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1127,7 +1127,7 @@ void CB2_InitTestMenu(void) Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); InitMenuWindow(&gWindowTemplate_81E6CE4); debug_sub_8076B68(); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_IE |= 1; REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP; m4aSoundVSyncOn(); diff --git a/src/palette.c b/src/palette.c index 2a6602503..6bbcea73c 100644 --- a/src/palette.c +++ b/src/palette.c @@ -192,10 +192,10 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe } } -bool8 unref_sub_8073D3C(u32 a1, u8 a2, u8 a3, u8 a4, u16 a5) +bool8 unref_sub_8073D3C(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u16 blendColor) { ReadPlttIntoBuffers(); - return BeginNormalPaletteFade(a1, a2, a3, a4, a5); + return BeginNormalPaletteFade(selectedPalettes, delay, startY, targetY, blendColor); } void unref_sub_8073D84(u8 a1, u32 *a2) diff --git a/src/party_menu.c b/src/party_menu.c index 0fc362791..8887bb554 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -718,7 +718,7 @@ bool8 InitPartyMenu(void) gMain.state++; break; case 16: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -4059,7 +4059,7 @@ void sub_806F44C(u8 taskId) { if (gUnknown_0202E8F6 == 0) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_806F3FC; } } diff --git a/src/pc_screen_effect.c b/src/pc_screen_effect.c index 0e417b5f4..1bd87ea24 100644 --- a/src/pc_screen_effect.c +++ b/src/pc_screen_effect.c @@ -84,7 +84,7 @@ bool8 sub_80C5DCC(void) { if (gUnknown_020387EC->unk08 == 0) { - BlendPalettes(gUnknown_020387EC->selectedPalettes, 0x10, 0xFFFF); + BlendPalettes(gUnknown_020387EC->selectedPalettes, 16, FADE_COLOR_WHITE); HBlankIntrOn(sub_80C603C); gUnknown_020387EC->unk08++; } @@ -180,7 +180,7 @@ bool8 sub_80C5F98(void) gUnknown_020387EC->unk0C -= gUnknown_020387EC->unk06; if (gUnknown_020387EC->unk0C < 2) { - BlendPalettes(gUnknown_020387EC->selectedPalettes, 0x10, 0xFFFF); + BlendPalettes(gUnknown_020387EC->selectedPalettes, 16, FADE_COLOR_WHITE); SetHBlankCallback(sub_80C603C); gUnknown_020387EC->unk0C = 1; gUnknown_020387EC->unk08++; @@ -189,7 +189,7 @@ bool8 sub_80C5F98(void) case 1: if (gUnknown_020387EC->unk0A == 8) { - BlendPalettes(0xFFFFFFFF, 16, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); gUnknown_020387EC->unk08++; } break; @@ -236,7 +236,7 @@ static void sub_80C60CC(struct Sprite *sprite) { FreeSpriteTilesByTag(gUnknown_020387EC->tileTag); FreeSpritePaletteByTag(gUnknown_020387EC->paletteTag); - BlendPalettes(gUnknown_020387EC->selectedPalettes, 0, 0xffff); + BlendPalettes(gUnknown_020387EC->selectedPalettes, 0, FADE_COLOR_WHITE); SetHBlankCallback(sub_80C6078); } } diff --git a/src/pokeblock.c b/src/pokeblock.c index 228d563cf..4087cbbb0 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -365,7 +365,7 @@ static bool8 sub_810B6C0(void) } break; case 18: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gPaletteFade.bufferTransferDisabled = FALSE; SetMainCallback2(sub_810B674); return TRUE; @@ -813,7 +813,7 @@ static void sub_810C2C8(u8 taskId) static void sub_810C31C(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); if (gUnknown_02039244 > 1) { gSpecialVar_ItemId = ITEM_NONE; @@ -878,7 +878,7 @@ static void sub_810C4C4(u8 taskId) static void sub_810C508(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_810C4C4; } @@ -971,7 +971,7 @@ static void sub_810C788(u8 taskId) { gSpecialVar_ItemId += 3; } - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_810C2C8; } @@ -981,7 +981,7 @@ static void sub_810C854(u8 taskId) StringCopy(gStringVar1, gPokeblockNames[gSaveBlock1.pokeblocks[gSpecialVar_ItemId].color]); gSpecialVar_Result = gSpecialVar_ItemId; PokeblockClearIfExists(gSpecialVar_ItemId); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_810C2C8; } diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index 2f2ce2f8f..588bc85c0 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -579,7 +579,7 @@ static bool8 TransitionToPokeblockFeedScene(void) gMain.state++; } case 13: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gPaletteFade.bufferTransferDisabled = 0; SetMainCallback2(CB2_PokeblockFeed); return TRUE; @@ -751,7 +751,7 @@ static void Task_ReturnAfterPaletteFade(u8 taskID) static void Task_PaletteFadeToReturn(u8 taskID) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = Task_ReturnAfterPaletteFade; } diff --git a/src/pokedex.c b/src/pokedex.c index 30b4d414c..729f72a7c 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1510,7 +1510,7 @@ void Task_PokedexMainScreen(u8 taskId) sub_808E6BC(); BeginNormalPaletteFade( ~(1 << (gSprites[gPokedexView->selectedMonSpriteId].oam.paletteNum + 16)), - 0, 0, 0x10, 0); + 0, 0, 16, RGB(0, 0, 0)); gSprites[gPokedexView->selectedMonSpriteId].callback = sub_808EDB8; gTasks[taskId].func = sub_808CA64; PlaySE(SE_PIN); @@ -1527,7 +1527,7 @@ void Task_PokedexMainScreen(u8 taskId) else if (gMain.newKeys & SELECT_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].data[0] = sub_8091E3C(); gPokedexView->unk64F = 0; gPokedexView->unk62A = gPokedexView->unk62C; @@ -1539,7 +1539,7 @@ void Task_PokedexMainScreen(u8 taskId) } else if (gMain.newKeys & B_BUTTON) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_ClosePokedex; PlaySE(SE_PC_OFF); } @@ -1592,7 +1592,7 @@ static void Task_PokedexMainScreenMenu(u8 taskId) gMain.newKeys |= START_BUTTON; //Exit menu break; case 3: //CLOSE POKEDEX - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_ClosePokedex; PlaySE(SE_PC_OFF); break; @@ -1703,12 +1703,12 @@ static void Task_PokedexResultsScreen(u8 taskId) { if ((gMain.newKeys & A_BUTTON) && gPokedexView->unk0[gPokedexView->selectedPokemon].seen) { - u32 a; + u32 excludedPalettes; sub_808E6BC(); - a = (1 << (gSprites[gPokedexView->selectedMonSpriteId].oam.paletteNum + 16)); + excludedPalettes = (1 << (gSprites[gPokedexView->selectedMonSpriteId].oam.paletteNum + 16)); gSprites[gPokedexView->selectedMonSpriteId].callback = sub_808EDB8; - BeginNormalPaletteFade(~a, 0, 0, 0x10, 0); + BeginNormalPaletteFade(~excludedPalettes, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_808D118; PlaySE(SE_PIN); } @@ -1722,7 +1722,7 @@ static void Task_PokedexResultsScreen(u8 taskId) } else if (gMain.newKeys & SELECT_BUTTON) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].data[0] = sub_8091E3C(); gPokedexView->unk64F = 0; gTasks[taskId].func = sub_808CB8C; @@ -1730,7 +1730,7 @@ static void Task_PokedexResultsScreen(u8 taskId) } else if (gMain.newKeys & B_BUTTON) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_PokedexResultsScreenReturnToMainScreen; PlaySE(SE_PC_OFF); } @@ -1783,12 +1783,12 @@ static void Task_PokedexResultsScreenMenu(u8 taskId) gMain.newKeys |= START_BUTTON; break; case 3: //BACK TO POKEDEX - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_PokedexResultsScreenReturnToMainScreen; PlaySE(SE_TRACK_DOOR); break; case 4: //CLOSE POKEDEX - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_PokedexResultsScreenExitPokedex; PlaySE(SE_PC_OFF); break; @@ -1919,7 +1919,7 @@ static bool8 sub_808D344(u8 a) gMain.state++; break; case 4: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(sub_808C0B8); gMain.state++; break; @@ -2957,13 +2957,13 @@ static void Task_InitPageScreenMultistep(u8 taskId) break; case 6: { - u32 r3 = 0; + u32 excludedPalettes = 0; if (gTasks[taskId].data[2] != 0) - r3 = 0x14; + excludedPalettes = 0x14; if (gTasks[taskId].data[1] != 0) - r3 |= (1 << (gSprites[gTasks[taskId].data[4]].oam.paletteNum + 16)); - BeginNormalPaletteFade(~r3, 0, 16, 0, 0); + excludedPalettes |= (1 << (gSprites[gTasks[taskId].data[4]].oam.paletteNum + 16)); + BeginNormalPaletteFade(~excludedPalettes, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(gUnknown_03005CEC); gMain.state++; } @@ -3011,14 +3011,14 @@ static void Task_PageScreenProcessInput(u8 taskId) { if (gTasks[taskId].data[0] != 0) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_808F888; PlaySE(SE_Z_SCROLL); return; } if (gMain.newKeys & B_BUTTON) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_ClosePageScreen; PlaySE(SE_PC_OFF); return; @@ -3031,12 +3031,12 @@ static void Task_PageScreenProcessInput(u8 taskId) sub_8090C68(); break; case AREA_SCREEN: - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_InitAreaScreenMultistep; PlaySE(SE_PIN); break; case CRY_SCREEN: - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_InitCryScreenMultistep; PlaySE(SE_PIN); break; @@ -3047,7 +3047,7 @@ static void Task_PageScreenProcessInput(u8 taskId) } else { - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_InitSizeScreenMultistep; PlaySE(SE_PIN); } @@ -3219,7 +3219,7 @@ static void Task_InitCryScreenMultistep(u8 taskId) } break; case 8: - BeginNormalPaletteFade(-0x15, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(gUnknown_03005CEC); gMain.state++; break; @@ -3260,7 +3260,7 @@ static void Task_CryScreenProcessInput(u8 taskId) { if (gMain.newKeys & B_BUTTON) { - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); m4aMPlayContinue(&gMPlay_BGM); gPokedexView->unk64F = 1; gTasks[taskId].func = sub_808FFBC; @@ -3270,7 +3270,7 @@ static void Task_CryScreenProcessInput(u8 taskId) if ((gMain.newKeys & DPAD_LEFT) || ((gMain.newKeys & L_BUTTON) && gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR)) { - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); m4aMPlayContinue(&gMPlay_BGM); gPokedexView->unk64F = 2; gTasks[taskId].func = sub_808FFBC; @@ -3286,7 +3286,7 @@ static void Task_CryScreenProcessInput(u8 taskId) } else { - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); m4aMPlayContinue(&gMPlay_BGM); gPokedexView->unk64F = 3; gTasks[taskId].func = sub_808FFBC; @@ -3396,7 +3396,7 @@ static void Task_InitSizeScreenMultistep(u8 taskId) gMain.state++; break; case 7: - BeginNormalPaletteFade(-0x15, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(gUnknown_03005CEC); gMain.state++; break; @@ -3423,7 +3423,7 @@ static void Task_SizeScreenProcessInput(u8 taskId) { if (gMain.newKeys & B_BUTTON) { - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); gPokedexView->unk64F = 1; gTasks[taskId].func = sub_8090498; PlaySE(SE_PC_OFF); @@ -3431,7 +3431,7 @@ static void Task_SizeScreenProcessInput(u8 taskId) else if ((gMain.newKeys & DPAD_LEFT) || ((gMain.newKeys & L_BUTTON) && gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR)) { - BeginNormalPaletteFade(-0x15, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); gPokedexView->unk64F = 2; gTasks[taskId].func = sub_8090498; PlaySE(SE_Z_PAGE); @@ -3834,7 +3834,7 @@ static void sub_8090750(u8 taskId) case 4: spriteId = sub_80918EC(dexNum, 0x30, 0x38, 0); gSprites[spriteId].oam.priority = 0; - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(gUnknown_03005CEC); gTasks[taskId].data[3] = spriteId; gTasks[taskId].data[0]++; @@ -3863,7 +3863,7 @@ static void sub_8090A3C(u8 taskId) { if (gMain.newKeys & B_BUTTON) { - BeginNormalPaletteFade(0x0000FFFC, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFC, 0, 0, 16, RGB(0, 0, 0)); gSprites[gTasks[taskId].data[3]].callback = sub_8090C28; gTasks[taskId].func = sub_8090B8C; return; @@ -3883,7 +3883,7 @@ static void sub_8090A3C(u8 taskId) } else { - BeginNormalPaletteFade(0x0000FFFC, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFC, 0, 0, 16, RGB(0, 0, 0)); gSprites[gTasks[taskId].data[3]].callback = sub_8090C28; gTasks[taskId].func = sub_8090B8C; return; @@ -4760,7 +4760,7 @@ static void sub_8091E54(u8 taskId) gMain.state++; break; case 2: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state++; break; case 3: @@ -5080,7 +5080,7 @@ static void sub_8092644(u8 taskId) static void sub_80927B8(u8 taskId) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_80927F0; } diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index fd60581b9..76efdf08d 100644 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -149,7 +149,7 @@ static void CB2_UnusedPokedexAreaScreen(void) SetVBlankCallback(VBlankCB_AreaScren); break; case 5: - BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, RGB(0, 0, 0)); break; case 6: REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; @@ -1159,7 +1159,7 @@ static void DebugCB_GoBack(void) switch (gPokedexAreaScreenPtr->state) { case 0: - BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); gPokedexAreaScreenPtr->state++; break; case 1: @@ -1177,7 +1177,7 @@ static void DebugCB_GoNext(void) switch (gPokedexAreaScreenPtr->state) { case 0: - BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); gPokedexAreaScreenPtr->state++; break; case 1: @@ -1250,7 +1250,7 @@ static void Task_PokedexAreaScreen_0(u8 taskId) CreateAreaUnknownSprites(); break; case 9: - BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, RGB(0, 0, 0)); break; case 10: REG_BLDCNT = BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD; @@ -1291,7 +1291,7 @@ static void Task_PokedexAreaScreen_1(u8 taskId) return; break; case 2: - BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0)); break; case 3: if (gPaletteFade.active) diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c index 46909435a..441dc0842 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon_menu.c @@ -268,7 +268,7 @@ void HandleDefaultPartyMenu(u8 taskID) break; case B_BUTTON: PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_8089E4C; break; } @@ -359,7 +359,7 @@ static void sub_8089F44(u8 taskID) static void PokemonMenu_Summary(u8 taskID) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_8089F44; } @@ -440,7 +440,7 @@ static void sub_808A228(u8 taskID) { if (ItemIsMail(gSpecialVar_ItemId) && gUnknown_0202E8F4 != 0) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_808A180; } else @@ -592,7 +592,7 @@ static void sub_808A604(u8 taskID) static void PokemonMenu_GiveItem(u8 taskID) { gUnknown_0202E8F5 = sub_806CA38(taskID); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_808A604; } @@ -658,7 +658,7 @@ static void sub_808A73C(u8 taskID) static void PokemonMenu_ReadMail(u8 taskID) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_808A848; } @@ -741,7 +741,7 @@ static void PokemonMenu_FieldMove(u8 taskID) if (!IS_SOFTBOILED_MILKDRINK(tFieldMoveId)) { gTasks[taskID].func = sub_808AB34; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } else sub_8133D28(taskID); @@ -1051,7 +1051,7 @@ void sub_808B0C0(u8 taskID) case B_BUTTON: gLastFieldPokeMenuOpened = sub_806CA38(taskID); PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); if (gUnknown_02038561 == 0 || gUnknown_02038561 == 1) gTasks[taskID].func = sub_808B25C; if (gUnknown_02038561 == 3) @@ -1069,7 +1069,7 @@ static void sub_808B1EC(u8 taskID) static void sub_808B224(u8 taskID) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_808B25C; } @@ -1093,7 +1093,7 @@ static void sub_808B288(u8 taskID) static void sub_808B2B4(u8 taskID) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_808B288; } @@ -1101,7 +1101,7 @@ static void sub_808B2EC(u8 taskID) { if (gUnknown_0202E8F4 == 2) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskID].func = sub_808B338; } else diff --git a/src/pokemon_storage_system_2.c b/src/pokemon_storage_system_2.c index 762850e06..2cd1a59c6 100644 --- a/src/pokemon_storage_system_2.c +++ b/src/pokemon_storage_system_2.c @@ -310,7 +310,7 @@ void sub_80969A0(void) gMain.state++; break; case 9: - BeginNormalPaletteFade(0xffffffff, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(sub_8096AFC); gMain.state++; break; @@ -352,7 +352,7 @@ void debug_sub_80A435C(void) { case 0: debug_sub_809CB94(unk_2038798); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gPokemonStorageSystemPtr->unk_0004++; break; case 1: @@ -408,7 +408,7 @@ void sub_8096BF0(void) switch (gPokemonStorageSystemPtr->unk_0004) { case 0: - BlendPalettes(0xffffffff, 16, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); gPokemonStorageSystemPtr->unk_0004++; break; case 1: @@ -418,7 +418,7 @@ void sub_8096BF0(void) gPokemonStorageSystemPtr->unk_000c.unk04 = 0; gPokemonStorageSystemPtr->unk_000c.unk06 = 0; sub_80C5CD4(&gPokemonStorageSystemPtr->unk_000c); - BlendPalettes(0xffffffff, 0, 0); + BlendPalettes(0xFFFFFFFF, 0, RGB(0, 0, 0)); gPokemonStorageSystemPtr->unk_0004++; break; case 2: @@ -1083,7 +1083,7 @@ void sub_8097788(void) { case 0: sub_809BC18(); - BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gPokemonStorageSystemPtr->unk_0004++; break; case 1: @@ -1284,7 +1284,7 @@ void sub_8097B44(void) { case 0: sub_809BB90(); - BeginNormalPaletteFade(0xffffffff, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gPokemonStorageSystemPtr->unk_0004++; break; case 1: diff --git a/src/pokemon_storage_system_4.c b/src/pokemon_storage_system_4.c index 2383ac46c..00e7c10d2 100644 --- a/src/pokemon_storage_system_4.c +++ b/src/pokemon_storage_system_4.c @@ -400,7 +400,7 @@ bool8 sub_8099E08(void) switch (gPokemonStorageSystemPtr->unk_1032) { case 0: - BeginNormalPaletteFade(gPokemonStorageSystemPtr->unk_0d08, 1, 0, 0x10, 0xffff); + BeginNormalPaletteFade(gPokemonStorageSystemPtr->unk_0d08, 1, 0, 16, FADE_COLOR_WHITE); gPokemonStorageSystemPtr->unk_1032++; break; case 1: @@ -409,7 +409,7 @@ bool8 sub_8099E08(void) u8 curBox = get_preferred_box(); sub_8099EB0(curBox, 0); sub_809A654(); - BeginNormalPaletteFade(gPokemonStorageSystemPtr->unk_0d08, 1, 0x10, 0, 0xffff); + BeginNormalPaletteFade(gPokemonStorageSystemPtr->unk_0d08, 1, 16, 0, FADE_COLOR_WHITE); gPokemonStorageSystemPtr->unk_1032++; } break; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 6ad5c507c..d369347fc 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -936,7 +936,7 @@ static void sub_809E044(void) static void SummaryScreenExit(u8 taskId) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = sub_809E13C; } diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 8684f2155..61baea929 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -524,7 +524,7 @@ void sub_80EBDD8() ewram0_10.var304++; break; case 11: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); ewram0_10.var304++; break; case 12: @@ -597,7 +597,7 @@ void sub_80EC00C() ewram0_10.var304++; break; case 6: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD18); ewram0_10.var304++; break; @@ -784,7 +784,7 @@ void sub_80EC4A0() case 2: if (!sub_80EEF34()) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; } break; @@ -830,7 +830,7 @@ void sub_80EC4A0() ewram0_10.var304++; break; case 0xC: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); ewram0_10.var304++; break; case 0xD: @@ -905,7 +905,7 @@ void sub_80EC67C() } break; case 4: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; break; case 5: @@ -1051,7 +1051,7 @@ void sub_80ECA10() ewram0_10.var304++; break; case 6: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD18); ewram0_10.var304++; break; @@ -1152,7 +1152,7 @@ void sub_80ECD80() switch (ewram0_10.var304) { case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; break; case 1: @@ -1206,7 +1206,7 @@ void sub_80ECD80() ewram0_10.var304++; break; case 12: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD18); ewram0_10.var304++; break; @@ -1278,7 +1278,7 @@ void sub_80ED01C() case 2: if (!sub_80EEF34()) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; } break; @@ -1330,7 +1330,7 @@ void sub_80ED01C() ewram0_10.var304++; break; case 13: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD18); ewram0_10.var304++; break; @@ -1454,7 +1454,7 @@ void sub_80ED3D0() break; case 6: sub_80F3008(0); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD18); ewram0_10.var304++; break; @@ -1478,7 +1478,7 @@ void sub_80ED4D8() switch (ewram0_10.var304) { case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; break; case 1: @@ -1509,7 +1509,7 @@ void sub_80ED4D8() case 6: sub_80F35B4(); sub_80EEFBC(0x2); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(sub_80EBD4C); ewram0_10.var304++; break; @@ -1547,7 +1547,7 @@ void sub_80ED620() case 2: if (!sub_80EEF34()) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 16, RGB(0, 0, 0)); ewram0_10.var304++; } break; @@ -1588,7 +1588,7 @@ void sub_80ED620() break; case 10: sub_80F33A8(); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD4C); ewram0_10.var304++; break; @@ -2610,7 +2610,7 @@ void sub_80EDB88() case 2: if (!sub_80EEF34()) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; } break; @@ -2667,7 +2667,7 @@ void sub_80EDB88() ewram0_10.var304++; break; case 15: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD18); ewram0_10.var304++; break; @@ -2741,7 +2741,7 @@ void sub_80EDE70() switch (ewram0_10.var304) { case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; break; case 1: @@ -2764,7 +2764,7 @@ void sub_80EDEE4() switch (ewram0_10.var304) { case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; break; case 1: @@ -2798,7 +2798,7 @@ void sub_80EDEE4() ewram0_10.var304++; break; case 7: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD18); ewram0_10.var304++; break; @@ -2916,7 +2916,7 @@ void sub_80EE294() switch (ewram0_10.var304) { case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; break; case 1: @@ -2948,7 +2948,7 @@ void sub_80EE294() ewram0_10.var304++; break; case 6: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); ewram0_10.var304++; break; case 7: @@ -2985,7 +2985,7 @@ void sub_80EE3D8() case 2: if (!sub_80EEF34()) { - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; } break; @@ -3027,7 +3027,7 @@ void sub_80EE3D8() break; case 11: sub_80F6F10(); - BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(&sub_80EBD68); ewram0_10.var304++; break; @@ -3208,7 +3208,7 @@ void sub_80EE8F4() switch (ewram0_10.var304) { case 0: - BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0); + BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; break; case 1: @@ -3231,7 +3231,7 @@ void sub_80EE96C() if (!ewram0_10.var304) { PlaySE(0x6F); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); ewram0_10.var304++; } else diff --git a/src/region_map.c b/src/region_map.c index 190cc6576..81ecd7c1b 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1475,7 +1475,7 @@ void CB2_InitFlyRegionMap(void) CreateFlyTargetGraphics(); break; case 8: - BlendPalettes(0xFFFFFFFF, 16, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); SetVBlankCallback(VBlankCB_FlyRegionMap); break; case 9: @@ -1659,7 +1659,7 @@ static void sub_80FC5B4(void) switch (sFlyDataPtr->unk4) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); sFlyDataPtr->unk4++; break; case 1: @@ -1705,7 +1705,7 @@ void sub_80FC69C(void) switch (sFlyDataPtr->unk4) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); sFlyDataPtr->unk4++; break; case 1: @@ -1783,7 +1783,7 @@ void debug_sub_8110D84(void) switch (sFlyDataPtr->unk4) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); sFlyDataPtr->unk4++; break; case 1: @@ -1808,7 +1808,7 @@ void debug_sub_8110D84(void) break; case 5: m4aSongNumStart(SE_SELECT); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); sFlyDataPtr->unk4++; break; } diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 8c2c23569..d8c07f2bb 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -504,7 +504,7 @@ void Task_ResetRtcScreen(u8 taskId) switch (data[0]) { case 0: - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 16, 0, FADE_COLOR_WHITE); data[0] = 1; break; case 1: @@ -574,7 +574,7 @@ void Task_ResetRtcScreen(u8 taskId) case 5: if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 16, FADE_COLOR_WHITE); data[0] = 6; } else diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index a10fd45b8..9c4cc2217 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -2252,7 +2252,7 @@ void sub_807A69C(u8 taskId) else task->data[6] = 3; CpuCopy32(&gPlttBufferUnfaded[src], &gPlttBufferFaded[dest], 0x20); - BlendPalette(dest, 0x10, gBattleAnimArgs[1], gBattleAnimArgs[0]); + BlendPalette(dest, 16, gBattleAnimArgs[1], gBattleAnimArgs[0]); task->func = sub_807A784; } diff --git a/src/roulette.c b/src/roulette.c index b278521b1..49627dade 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1547,7 +1547,7 @@ void sub_811755C(u8 taskid) { Menu_EraseWindowRect(0x14, 0x8, 0x1A, 0xD); Menu_EraseScreen(); - BeginNormalPaletteFade(-0x1, 0x0, 0x0, 0x10, 0x0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gPaletteFade.delayCounter = gPaletteFade.multipurpose2; UpdatePaletteFade(); gTasks[taskid].func = &sub_8117528; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index f57315d09..d73c90fb3 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -126,7 +126,7 @@ static void CB2_SaveFailedScreen(void) Menu_DrawStdWindowFrame(13, CLOCK_WIN_TOP, 16, CLOCK_WIN_TOP + 3); // clock window Menu_DrawStdWindowFrame(1, MSG_WIN_TOP, 28, 19); // message window Menu_PrintText(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); ime = REG_IME; REG_IME = 0; REG_IE |= INTR_FLAG_VBLANK; @@ -224,7 +224,7 @@ static void CB2_FadeAndReturnToTitleScreen(void) if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetVBlankCallback(VBlankCB); SetMainCallback2(CB2_ReturnToTitleScreen); } diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c index df83d3e2d..7612c44e1 100644 --- a/src/script_pokemon_util_80F99CC.c +++ b/src/script_pokemon_util_80F99CC.c @@ -36,7 +36,7 @@ void sub_80F99CC(void) ScriptContext2_Enable(); taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA); gTasks[taskId].data[0] = PARTY_MENU_TYPE_CONTEST; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } void SelectMonForNPCTrade(void) @@ -46,7 +46,7 @@ void SelectMonForNPCTrade(void) ScriptContext2_Enable(); taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA); gTasks[taskId].data[0] = PARTY_MENU_TYPE_IN_GAME_TRADE; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } void SelectMoveTutorMon(void) @@ -56,7 +56,7 @@ void SelectMoveTutorMon(void) ScriptContext2_Enable(); taskId = CreateTask((void *)OpenPartyMenuFromScriptContext, 0xA); gTasks[taskId].data[0] = PARTY_MENU_TYPE_MOVE_TUTOR; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } void OpenPartyMenuFromScriptContext(u8 taskId) diff --git a/src/shop.c b/src/shop.c index 96b417b68..14878c0a0 100644 --- a/src/shop.c +++ b/src/shop.c @@ -299,7 +299,7 @@ static void BuyMenuDrawGraphics(void) DrawFirstMartScrollIndicators(); CreateTask(Shop_DoCursorAction, 0x8); sub_80B3240(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gPaletteFade.bufferTransferDisabled = 0; SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); @@ -1168,7 +1168,7 @@ static void Task_ReturnToBuyMenu(u8 taskId) static void Task_ExitBuyMenu(u8 taskId) { gFieldCallback = Shop_FadeReturnToMartMenu; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_ExitBuyMenuDoFade; } diff --git a/src/slot_machine.c b/src/slot_machine.c index 8075f24e4..ccd7e4353 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -611,7 +611,7 @@ static void sub_8101D24(u8 taskId) static bool8 sub_8101D5C(struct Task *task) { - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); sub_810423C(eSlotMachine->pikaPower); eSlotMachine->state++; return FALSE; @@ -1119,7 +1119,7 @@ static bool8 sub_8102424(struct Task *task) #else gSaveBlock1.coins = eSlotMachine->coins; #endif - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); eSlotMachine->state++; return FALSE; } @@ -3011,7 +3011,7 @@ static void sub_8104B0C(u8 taskId) static void sub_8104B3C(struct Task *task) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); task->data[0]++; } @@ -3027,7 +3027,7 @@ static void sub_8104B80(struct Task *task) sub_81065DC(); BasicInitMenuWindow(&gWindowTemplate_81E7144); Menu_PrintTextPixelCoords(gOtherText_ReelTime, 10, 32, 1); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); task->data[0]++; } @@ -3035,7 +3035,7 @@ static void sub_8104BC8(struct Task *task) { if (gMain.newKeys & (B_BUTTON | SELECT_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); task->data[0]++; } } @@ -3047,7 +3047,7 @@ static void sub_8104BFC(struct Task *task) sub_81064B8(); sub_8104CAC(task->data[1]); sub_810423C(eSlotMachine->pikaPower); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); task->data[0]++; } diff --git a/src/start_menu.c b/src/start_menu.c index f63408689..4a9a0f0dd 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -873,7 +873,7 @@ static bool32 sub_80719FC(u8 *step) { u32 savedIme; - BlendPalettes(-1, 0x10, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); SetVBlankCallback(sub_80719F0); savedIme = REG_IME; REG_IME = 0; @@ -914,7 +914,7 @@ static void Task_8071B64(u8 taskId) case 0: Menu_DisplayDialogueFrame(); Menu_PrintText(gSystemText_Saving, 2, 15); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); (*step)++; break; case 1: @@ -929,7 +929,7 @@ static void Task_8071B64(u8 taskId) (*step)++; break; case 3: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); (*step)++; break; case 4: diff --git a/src/starter_choose.c b/src/starter_choose.c index ff8c706b8..836925e77 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -296,7 +296,7 @@ void CB2_ChooseStarter(void) LoadSpritePalettes(gUnknown_083F77B4); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gWindowTemplate_81E6CE4); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); savedIme = REG_IME; REG_IME = 0; diff --git a/src/title_screen.c b/src/title_screen.c index 30ba7191e..df737fd06 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -673,7 +673,7 @@ void CB2_InitTitleScreen(void) break; } case 3: - BeginNormalPaletteFade(-1, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 16, 0, FADE_COLOR_WHITE); SetVBlankCallback(VBlankCB); gMain.state = 4; break; @@ -819,7 +819,7 @@ static void Task_TitleScreenPhase3(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & START_BUTTON)) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, FADE_COLOR_WHITE); SetMainCallback2(CB2_GoToMainMenu); } else @@ -830,13 +830,13 @@ static void Task_TitleScreenPhase3(u8 taskId) && CanResetRTC() == 1) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetMainCallback2(CB2_GoToResetRtcScreen); } #if DEBUG else if (gMain.heldKeys == SELECT_BUTTON) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); SetMainCallback2(CB2_GoToTestMenu); } #endif @@ -853,7 +853,7 @@ static void Task_TitleScreenPhase3(u8 taskId) UpdateLegendaryMarkingColor(gTasks[taskId].tCounter); if ((gMPlay_BGM.status & 0xFFFF) == 0) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, FADE_COLOR_WHITE); SetMainCallback2(CB2_GoToCopyrightScreen); } } diff --git a/src/trade.c b/src/trade.c index 50c69bc6d..4bed5d92b 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1224,7 +1224,7 @@ static void sub_8047EC0(void) gMain.state ++; break; case 17: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state ++; break; case 18: @@ -1369,7 +1369,7 @@ static void sub_80484F4(void) gMain.state ++; break; case 17: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state ++; break; case 18: @@ -1409,7 +1409,7 @@ static void sub_80489F4(void) { if (++gUnknown_03004824->unk_00b4 >= 16) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004824->unk_007b = 10; } } @@ -1889,7 +1889,7 @@ static void sub_80491E4(u8 mpId, u8 status) switch (gBlockRecvBuffer[0][0]) { case 0xeebb: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); sub_804AA0C(4); gUnknown_03004824->unk_007b = 11; break; @@ -1904,7 +1904,7 @@ static void sub_80491E4(u8 mpId, u8 status) gUnknown_03004824->unk_007b = 7; break; case 0xccdd: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004824->unk_007b = 10; break; case 0xddee: @@ -1957,7 +1957,7 @@ static void sub_80492D8(void) gUnknown_03004824->linkData[0] = 0xeebb; gUnknown_03004824->linkData[1] = 0; sub_804AADC(5, 0); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004824->unk_0084 = gUnknown_03004824->unk_0085 = 0; gUnknown_03004824->unk_007b = 11; } @@ -2086,7 +2086,7 @@ static void sub_8049680(void) } else if (gUnknown_03004824->tradeMenuCursorPosition < 2 * PARTY_SIZE) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004824->unk_007b = 2; } else if (gUnknown_03004824->tradeMenuCursorPosition == 2 * PARTY_SIZE) @@ -2133,7 +2133,7 @@ static void sub_8049860(void) PlaySE(SE_SELECT); if (Menu_GetCursorPos() == 0) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004824->unk_007b = 2; } else if (sub_80499F0(gUnknown_03004824->unk_0051[0], gUnknown_03004824->partyCounts[0], gUnknown_03004824->tradeMenuCursorPosition) == 0) @@ -4097,7 +4097,7 @@ static void sub_804B41C(void) sub_804BBE8(5); sub_804BBE8(0); SetTradeSceneStrings(); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state ++; break; case 12: @@ -4564,7 +4564,7 @@ void sub_804B790(void) sub_804BBE8(5); sub_804BBE8(0); SetTradeSceneStrings(); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gMain.state ++; break; case 12: @@ -4857,7 +4857,7 @@ static bool8 sub_804C29C(void) // The game waits here for the sprite to finish its animation sequence. break; case 14: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 = 20; break; @@ -4869,7 +4869,7 @@ static bool8 sub_804C29C(void) } break; case 21: - BeginNormalPaletteFade(-1, -1, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 ++; break; case 22: @@ -4944,7 +4944,7 @@ static bool8 sub_804C29C(void) } break; case 29: - BeginNormalPaletteFade(-1, -1, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 = 30; break; case 30: @@ -4957,7 +4957,7 @@ static bool8 sub_804C29C(void) } break; case 31: - BeginNormalPaletteFade(-1, -1, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB(0, 0, 0)); gUnknown_03004828->unk_00ba = CreateSprite(&gSpriteTemplate_82159FC, 0x6f, 0xaa, 0); gUnknown_03004828->unk_00bb = CreateSprite(&gSpriteTemplate_82159FC, 0x81, -0xa, 0); gUnknown_03004828->unk_00c4 ++; @@ -4982,15 +4982,15 @@ static bool8 sub_804C29C(void) } break; case 34: - BlendPalettes(1, 16, 0xffff); + BlendPalettes(0x1, 16, FADE_COLOR_WHITE); gUnknown_03004828->unk_00c4 ++; break; case 35: - BlendPalettes(1, 0, 0xffff); + BlendPalettes(0x1, 0, FADE_COLOR_WHITE); gUnknown_03004828->unk_00c4 ++; break; case 36: - BlendPalettes(1, 16, 0xffff); + BlendPalettes(0x1, 16, FADE_COLOR_WHITE); gUnknown_03004828->unk_00c4 ++; break; case 37: @@ -5028,7 +5028,7 @@ static bool8 sub_804C29C(void) gUnknown_03004828->unk_00c4 ++; gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].invisible = TRUE; gSprites[gUnknown_03004828->pokePicSpriteIdxs[1]].invisible = TRUE; - BlendPalettes(1, 0, 0xffff); + BlendPalettes(0x1, 0, FADE_COLOR_WHITE); } break; case 39: @@ -5036,7 +5036,7 @@ static bool8 sub_804C29C(void) gSprites[gUnknown_03004828->unk_00bb].pos2.y += 3; if (gSprites[gUnknown_03004828->unk_00ba].pos2.y <= -0xde) { - BeginNormalPaletteFade(-1, -1, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 ++; DestroySprite(&gSprites[gUnknown_03004828->unk_00ba]); DestroySprite(&gSprites[gUnknown_03004828->unk_00bb]); @@ -5054,7 +5054,7 @@ static bool8 sub_804C29C(void) } break; case 41: - BeginNormalPaletteFade(-1, -1, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 ++; break; case 42: @@ -5131,7 +5131,7 @@ static bool8 sub_804C29C(void) gUnknown_03004828->unk_0118 = 0x8000 / gUnknown_03004828->unk_011a; break; case 52: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 = 60; break; @@ -5144,7 +5144,7 @@ static bool8 sub_804C29C(void) } break; case 61: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 ++; break; case 62: @@ -5160,12 +5160,12 @@ static bool8 sub_804C29C(void) gSprites[gUnknown_03004828->unk_0103].callback = sub_804D80C; StartSpriteAnim(&gSprites[gUnknown_03004828->unk_0103], 1); StartSpriteAffineAnim(&gSprites[gUnknown_03004828->unk_0103], 2); - BlendPalettes(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 16, 0xffff); + BlendPalettes(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 16, FADE_COLOR_WHITE); gUnknown_03004828->unk_00c4 ++; gUnknown_03004828->unk_00c0 = 0; break; case 64: - BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 1, 16, 0, 0xffff); + BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_03004828->unk_0103].oam.paletteNum), 1, 16, 0, FADE_COLOR_WHITE); gUnknown_03004828->unk_00c4 ++; break; case 65: @@ -5235,7 +5235,7 @@ static bool8 sub_804C29C(void) gUnknown_03004828->unk_00c4 ++; break; case 73: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_03004828->unk_00c4 ++; break; case 74: @@ -5334,7 +5334,7 @@ static void sub_804D738(struct Sprite *sprite) PlaySE(SE_W025); sprite->callback = sub_804D7AC; sprite->data[0] = 0; - BeginNormalPaletteFade(1 << (16 + sprite->oam.paletteNum), -1, 0, 16, -1); + BeginNormalPaletteFade(1 << (16 + sprite->oam.paletteNum), -1, 0, 16, FADE_COLOR_WHITE); } } @@ -5613,7 +5613,7 @@ static void sub_804DC88(void) case 6: if (IsLinkTaskFinished()) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gMain.state ++; } break; @@ -5661,7 +5661,7 @@ void DoInGameTradeScene(void) { ScriptContext2_Enable(); CreateTask(sub_804E1A0, 10); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } static void sub_804E1A0(u8 taskId) diff --git a/src/trainer_card.c b/src/trainer_card.c index 599479f16..7c7eb23e2 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -673,7 +673,7 @@ bool8 TrainerCard_Init(struct Task *task) ewram0_2.showColon = gSaveBlock2.playTimeSeconds & 1; ewram0_2.frameCounter = gSaveBlock2.playTimeVBlanks; TrainerCard_CreatePrintPlayTimeTask(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); ewram0_2.current_state++; /* Advance state machine */ return FALSE; } @@ -740,7 +740,7 @@ bool8 TrainerCard_WaitForFlipToFinish(struct Task *task) bool8 TrainerCard_FadeOut(struct Task *task) { TrainerCard_DestoryPlayTimeTask(); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); ewram0_2.current_state++; /* Advance state machine */ return FALSE; } diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index 8205f4f70..bdf6f4a44 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -354,7 +354,7 @@ static void sub_81365C8(void) switch (gUnknown_02039304->unk50) { case 0: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); SetVBlankCallback(sub_8136264); gUnknown_02039304->unk50++; break; @@ -467,7 +467,7 @@ static void sub_8136808(void) gPokeblockMonID = sub_81370A4(gUnknown_083DFEC4->unk87DC); gUnknown_02039308 = gUnknown_02039304->callback; gUnknown_0203930C = gUnknown_02039304->pokeblock; - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_02039304->unk50++; break; case 1: @@ -509,7 +509,7 @@ static void sub_81368A4(void) } break; case 3: - BlendPalettes(-1, 16, 0); + BlendPalettes(0xFFFFFFFF, 16, RGB(0, 0, 0)); gUnknown_02039304->unk50++; break; case 4: @@ -518,7 +518,7 @@ static void sub_81368A4(void) break; case 5: SetVBlankCallback(sub_8136264); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); gUnknown_02039304->unk50++; break; case 6: @@ -585,7 +585,7 @@ static void sub_8136B44(void) switch (gUnknown_02039304->unk50) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gUnknown_02039304->unk50++; break; case 1: diff --git a/src/wallclock.c b/src/wallclock.c index 1f743a61a..e500a3777 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -229,7 +229,7 @@ static void WallClockInit(void) { u16 ime; - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); ime = REG_IME; REG_IME = 0; REG_IE |= INTR_FLAG_VBLANK; @@ -430,7 +430,7 @@ static void Task_SetClock4(u8 taskId) static void Task_SetClock5(u8 taskId) { RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_SetClock6; } @@ -456,7 +456,7 @@ static void Task_ViewClock2(u8 taskId) static void Task_ViewClock3(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); gTasks[taskId].func = Task_ViewClock4; } -- cgit v1.2.3 From f661567c027f74d768451c5af72644d83ab80dc9 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 21 May 2018 09:56:19 -0700 Subject: Define PLAYER_AVATAR_STATE_ enum, and label things related to it --- src/field_effect.c | 10 +++++----- src/field_player_avatar.c | 30 +++++++++++++++--------------- src/field_specials.c | 2 +- src/naming_screen.c | 30 +++++++++++++++--------------- src/overworld.c | 2 +- 5 files changed, 37 insertions(+), 37 deletions(-) (limited to 'src') diff --git a/src/field_effect.c b/src/field_effect.c index 876df601c..1617d8f51 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2859,7 +2859,7 @@ void sub_8088A78(struct Task *task) if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(3)); + sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); FieldObjectClearAnimIfSpecialAnimFinished(mapObject); FieldObjectSetSpecialAnim(mapObject, sub_80608D0(mapObject->placeholder18)); gFieldEffectArguments[0] = task->data[1]; @@ -3030,7 +3030,7 @@ void sub_8088E2C(struct Task *task) if ((++task->data[2]) >= 8) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); + sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); mapObject->mapobj_bit_12 = 1; FieldObjectSetSpecialAnim(mapObject, 0x48); @@ -3270,7 +3270,7 @@ void sub_80892A0(struct Task *task) { sub_8127ED0(mapObject->mapobj_unk_1A, 0); } - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x3)); + sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); CameraObjectReset2(); FieldObjectTurn(mapObject, DIR_WEST); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); @@ -3374,10 +3374,10 @@ void fishE(struct Task *task) if ((--task->data[1]) == 0) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - state = 0; + state = PLAYER_AVATAR_STATE_NORMAL; if (task->data[15] & 0x08) { - state = 3; + state = PLAYER_AVATAR_STATE_SURFING; sub_8127ED0(mapObject->mapobj_unk_1A, 1); } sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 3970cb824..29f20dfa0 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -648,14 +648,14 @@ void nullsub_49(struct MapObject *a) void PlayerAvatarTransition_Normal(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(0)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(1); } void PlayerAvatarTransition_MachBike(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(1)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(2); BikeClearState(0, 0); @@ -663,7 +663,7 @@ void PlayerAvatarTransition_MachBike(struct MapObject *a) void PlayerAvatarTransition_AcroBike(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(2)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(4); BikeClearState(0, 0); @@ -674,7 +674,7 @@ void PlayerAvatarTransition_Surfing(struct MapObject *a) { u8 unk; - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(3)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(8); gFieldEffectArguments[0] = a->coords2.x; @@ -687,7 +687,7 @@ void PlayerAvatarTransition_Surfing(struct MapObject *a) void PlayerAvatarTransition_Underwater(struct MapObject *a) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(4)); + sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); FieldObjectTurn(a, a->placeholder18); SetPlayerAvatarStateMask(16); a->mapobj_unk_1A = sub_8128124(a->spriteId); @@ -1129,7 +1129,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) struct MapObject *mapObject; playerMapObjTemplate.localId = 0xFF; - playerMapObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(0, gender); + playerMapObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); playerMapObjTemplate.x = x - 7; playerMapObjTemplate.y = y - 7; playerMapObjTemplate.elevation = 0; @@ -1163,27 +1163,27 @@ void sub_8059B88(u8 a) void sub_8059BF4(void) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(5)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0); } void sub_8059C3C(u8 a) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(6)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDE8(a)); } -void sub_8059C94(u8 a) +void sub_8059C94(u8 direction) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(2)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FD98(a)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FD98(direction)); SeekSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 1); } -void sub_8059D08(u8 a) +void sub_8059D08(u8 direction) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(7)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], FieldObjectDirectionToImageAnimId(a)); + sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], FieldObjectDirectionToImageAnimId(direction)); } static void sub_8059D60(struct MapObject *a) @@ -1413,7 +1413,7 @@ static void sub_805A2D0(u8 taskId) if (FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) { - sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(0)); + sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); FieldObjectSetSpecialAnim(playerMapObj, GetFaceDirectionAnimId(playerMapObj->mapobj_unk_18)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); diff --git a/src/field_specials.c b/src/field_specials.c index a4b891dbe..4eeb23dd4 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -356,7 +356,7 @@ void SpawnBerryBlenderLinkPlayerSprites(void) { if (myLinkPlayerNumber != i) { - rivalAvatarGraphicsId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, gLinkPlayers[i].gender); + rivalAvatarGraphicsId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gLinkPlayers[i].gender); SpawnSpecialFieldObjectParametrized(rivalAvatarGraphicsId, unknown_083F8358[j], 0xf0 - i, unknown_083F835C[j][0] + x + 7, unknown_083F835C[j][1] + y + 7, 0); j++; if (j == 4) diff --git a/src/naming_screen.c b/src/naming_screen.c index 710bdefba..378462891 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -130,9 +130,9 @@ static void sub_80B76E0(); static void nullsub_20(u8, u8); static void PrintKeyboardCharacters(u8); -void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 c, u16 d, u32 e, MainCallback returnCallback) +void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 speciesOrPlayerGender, u16 monGender, u32 monPersonality, MainCallback returnCallback) { - StoreNamingScreenParameters(templateNum, destBuffer, c, d, e, returnCallback); + StoreNamingScreenParameters(templateNum, destBuffer, speciesOrPlayerGender, monGender, monPersonality, returnCallback); SetMainCallback2(C2_NamingScreen); } @@ -199,17 +199,17 @@ static void VBlankCB_NamingScreen(void) REG_BG2CNT |= namingScreenDataPtr->unkA; } -static void StoreNamingScreenParameters(u8 templateNum, u8 *destBuffer, u16 c, u16 d, u32 e, MainCallback returnCallback) +static void StoreNamingScreenParameters(u8 templateNum, u8 *destBuffer, u16 speciesOrPlayerGender, u16 monGender, u32 monPersonality, MainCallback returnCallback) { struct Task *task; //Create a task that does nothing, and use it as a temporary space to store parameters task = &gTasks[CreateTask(Task_DoNothing, 0xFF)]; task->data[0] = templateNum; - task->data[1] = c; - task->data[2] = d; - task->data[3] = e >> 16; - task->data[4] = e; + task->data[1] = speciesOrPlayerGender; + task->data[2] = monGender; + task->data[3] = monPersonality >> 16; + task->data[4] = monPersonality; StoreWordInTwoHalfwords(&task->data[5], (u32)destBuffer); StoreWordInTwoHalfwords(&task->data[7], (u32)returnCallback); } @@ -222,9 +222,9 @@ static void GetNamingScreenParameters(void) taskId = FindTaskIdByFunc(Task_DoNothing); task = &gTasks[taskId]; namingScreenDataPtr->templateNum = task->data[0]; - namingScreenDataPtr->unk3E = task->data[1]; - namingScreenDataPtr->unk40 = task->data[2]; - namingScreenDataPtr->unk42 = (task->data[3] << 16) | (u16)task->data[4]; + namingScreenDataPtr->speciesOrPlayerGender = task->data[1]; + namingScreenDataPtr->monGender = task->data[2]; + namingScreenDataPtr->monPersonality = (task->data[3] << 16) | (u16)task->data[4]; LoadWordFromTwoHalfwords(&task->data[5], (u32 *)&namingScreenDataPtr->destBuffer); LoadWordFromTwoHalfwords(&task->data[7], (u32 *)&namingScreenDataPtr->returnCallback); DestroyTask(taskId); @@ -1304,7 +1304,7 @@ static void sub_80B6E68(void) u8 rivalGfxId; u8 spriteId; - rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, namingScreenDataPtr->unk3E); + rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, namingScreenDataPtr->speciesOrPlayerGender); spriteId = AddPseudoFieldObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x18, 0); gSprites[spriteId].oam.priority = 3; StartSpriteAnim(&gSprites[spriteId], 4); @@ -1324,7 +1324,7 @@ static void sub_80B6EFC(void) u8 spriteId; sub_809D51C(); - spriteId = CreateMonIcon(namingScreenDataPtr->unk3E, SpriteCallbackDummy, 0x34, 0x18, 0, namingScreenDataPtr->unk42); + spriteId = CreateMonIcon(namingScreenDataPtr->speciesOrPlayerGender, SpriteCallbackDummy, 0x34, 0x18, 0, namingScreenDataPtr->monPersonality); gSprites[spriteId].oam.priority = 3; } @@ -1832,7 +1832,7 @@ static void nullsub_61(void) static void sub_80B78F8(void) { - StringCopy(gStringVar1, gSpeciesNames[(s16)namingScreenDataPtr->unk3E]); + StringCopy(gStringVar1, gSpeciesNames[(s16)namingScreenDataPtr->speciesOrPlayerGender]); } static void nullsub_62(void) @@ -1843,9 +1843,9 @@ static void sub_80B7924(void) { u8 genderSymbol[2] = _("♂"); - if ((s16)namingScreenDataPtr->unk40 != MON_GENDERLESS) + if ((s16)namingScreenDataPtr->monGender != MON_GENDERLESS) { - if ((s16)namingScreenDataPtr->unk40 == MON_FEMALE) + if ((s16)namingScreenDataPtr->monGender == MON_FEMALE) genderSymbol[0] = 0xB6; //female symbol Menu_PrintText(genderSymbol, 0x14, 4); } diff --git a/src/overworld.c b/src/overworld.c index 721932a7e..8b2dfb74d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2720,7 +2720,7 @@ void CreateLinkPlayerSprite(u8 linkPlayerId) if (linkPlayerMapObj->active) { - u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(0, mapObj->mapobj_bit_1); + u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, mapObj->mapobj_bit_1); mapObj->spriteId = AddPseudoFieldObject(val, SpriteCB_LinkPlayer, 0, 0, 0); sprite = &gSprites[mapObj->spriteId]; sprite->coordOffsetEnabled = TRUE; -- cgit v1.2.3 From eb31d1f861c20fa720c8bf0f253ba53500807144 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 21 May 2018 10:37:04 -0700 Subject: Label naming screen struct members --- src/naming_screen.c | 116 +++++++++++++++++++++++----------------------------- 1 file changed, 52 insertions(+), 64 deletions(-) (limited to 'src') diff --git a/src/naming_screen.c b/src/naming_screen.c index 378462891..60799bacb 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -26,8 +26,6 @@ #define COLUMN_COUNT 10 #endif -extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); - const u8 gSpriteImage_83CE094[] = INCBIN_U8("graphics/naming_screen/pc_icon/0.4bpp"); const u8 gSpriteImage_83CE154[] = INCBIN_U8("graphics/naming_screen/pc_icon/1.4bpp"); @@ -194,9 +192,9 @@ static void VBlankCB_NamingScreen(void) REG_BG1VOFS = namingScreenDataPtr->bg1vOffset; REG_BG2VOFS = namingScreenDataPtr->bg2vOffset; REG_BG1CNT &= 0xFFFC; - REG_BG1CNT |= namingScreenDataPtr->unk8; + REG_BG1CNT |= namingScreenDataPtr->bg1Priority; REG_BG2CNT &= 0xFFFC; - REG_BG2CNT |= namingScreenDataPtr->unkA; + REG_BG2CNT |= namingScreenDataPtr->bg2Priority; } static void StoreNamingScreenParameters(u8 templateNum, u8 *destBuffer, u16 speciesOrPlayerGender, u16 monGender, u32 monPersonality, MainCallback returnCallback) @@ -294,16 +292,16 @@ static void NamingScreen_Init(void) namingScreenDataPtr->state = 0; namingScreenDataPtr->bg1vOffset = 0; namingScreenDataPtr->bg2vOffset = 0; - namingScreenDataPtr->unk8 = 1; - namingScreenDataPtr->unkA = 2; - namingScreenDataPtr->unkC = 0; - namingScreenDataPtr->unkD = 1; + namingScreenDataPtr->bg1Priority = BGCNT_PRIORITY(1); + namingScreenDataPtr->bg2Priority = BGCNT_PRIORITY(2); + namingScreenDataPtr->bgToReveal = 0; + namingScreenDataPtr->bgToHide = 1; namingScreenDataPtr->template = sNamingScreenTemplates[namingScreenDataPtr->templateNum]; - namingScreenDataPtr->currentPage = namingScreenDataPtr->template->unk4; - namingScreenDataPtr->unk2 = 14 - namingScreenDataPtr->template->maxChars / 2; - namingScreenDataPtr->unk3C = gKeyRepeatStartDelay; + namingScreenDataPtr->currentPage = namingScreenDataPtr->template->initialPage; + namingScreenDataPtr->nameLeftOffset = 14 - namingScreenDataPtr->template->maxChars / 2; + namingScreenDataPtr->keyRepeatStartDelayCopy = gKeyRepeatStartDelay; memset(namingScreenDataPtr->textBuffer, 0xFF, sizeof(namingScreenDataPtr->textBuffer)); - if (namingScreenDataPtr->template->unk0 != 0) + if (namingScreenDataPtr->template->copyExistingString) StringCopy(namingScreenDataPtr->textBuffer, namingScreenDataPtr->destBuffer); gKeyRepeatStartDelay = 16; } @@ -471,7 +469,7 @@ static bool8 MainState_6(struct Task *task) SetInputState(INPUT_STATE_DISABLED); sub_80B68D8(0); sub_80B6460(3, 0, 1); - gKeyRepeatStartDelay = namingScreenDataPtr->unk3C; + gKeyRepeatStartDelay = namingScreenDataPtr->keyRepeatStartDelayCopy; if (namingScreenDataPtr->templateNum == NAMING_SCREEN_TEMPLATE_MON_NAME && CalculatePlayerPartyCount() >= 6) { @@ -943,14 +941,13 @@ static bool8 PageSwapAnimState_1(struct Task *task) }; task->tFrameCount += 4; - *arr[namingScreenDataPtr->unkC] = Sin(task->tFrameCount, 40); - *arr[namingScreenDataPtr->unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); + *arr[namingScreenDataPtr->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[namingScreenDataPtr->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); if (task->tFrameCount >= 64) { - u8 temp = namingScreenDataPtr->unk8; //Why u8 and not u16? - - namingScreenDataPtr->unk8 = namingScreenDataPtr->unkA; - namingScreenDataPtr->unkA = temp; + u8 temp = namingScreenDataPtr->bg1Priority; + namingScreenDataPtr->bg1Priority = namingScreenDataPtr->bg2Priority; + namingScreenDataPtr->bg2Priority = temp; task->tState++; } return 0; @@ -961,14 +958,14 @@ static bool8 PageSwapAnimState_2(struct Task *task) u16 *const arr[] = {&namingScreenDataPtr->bg2vOffset, &namingScreenDataPtr->bg1vOffset}; task->tFrameCount += 4; - *arr[namingScreenDataPtr->unkC] = Sin(task->tFrameCount, 40); - *arr[namingScreenDataPtr->unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); + *arr[namingScreenDataPtr->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[namingScreenDataPtr->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); if (task->tFrameCount >= 128) { - u8 temp = namingScreenDataPtr->unkC; + u8 temp = namingScreenDataPtr->bgToReveal; - namingScreenDataPtr->unkC = namingScreenDataPtr->unkD; - namingScreenDataPtr->unkD = temp; + namingScreenDataPtr->bgToReveal = namingScreenDataPtr->bgToHide; + namingScreenDataPtr->bgToHide = temp; task->tState++; } return 0; @@ -1114,7 +1111,7 @@ static void sub_80B6A80(void) u8 spriteId3; spriteId1 = CreateSprite(&gSpriteTemplate_83CE5C8, 0xCC, 0x50, 0); - namingScreenDataPtr->unk10 = spriteId1; + namingScreenDataPtr->pageIndicatorSpriteId = spriteId1; SetSubspriteTables(&gSprites[spriteId1], gSubspriteTables_83CE558); spriteId2 = CreateSprite(&gSpriteTemplate_83CE5F8, 0xCC, 0x4C, 1); @@ -1128,7 +1125,7 @@ static void sub_80B6A80(void) static void sub_80B6B14(void) { - struct Sprite *sprite = &gSprites[namingScreenDataPtr->unk10]; + struct Sprite *sprite = &gSprites[namingScreenDataPtr->pageIndicatorSpriteId]; sprite->data[0] = 2; sprite->data[1] = namingScreenDataPtr->currentPage; @@ -1224,16 +1221,16 @@ static void sub_80B6CA8(void) static void sub_80B6D04(void) { u8 spriteId; - s16 r1; + s16 left; u8 i; - r1 = (namingScreenDataPtr->unk2 - 1) * 8 + 4; - spriteId = CreateSprite(&gSpriteTemplate_83CE658, r1, 0x28, 0); + left = (namingScreenDataPtr->nameLeftOffset - 1) * 8 + 4; + spriteId = CreateSprite(&gSpriteTemplate_83CE658, left, 0x28, 0); gSprites[spriteId].oam.priority = 3; - r1 = namingScreenDataPtr->unk2 * 8 + 4; - for (i = 0; i < namingScreenDataPtr->template->maxChars; i++, r1 += 8) + left = namingScreenDataPtr->nameLeftOffset * 8 + 4; + for (i = 0; i < namingScreenDataPtr->template->maxChars; i++, left += 8) { - spriteId = CreateSprite(&gSpriteTemplate_83CE670, r1, 0x2C, 0); + spriteId = CreateSprite(&gSpriteTemplate_83CE670, left, 0x2C, 0); gSprites[spriteId].oam.priority = 3; gSprites[spriteId].data[0] = i; } @@ -1292,7 +1289,7 @@ static void (*const gUnknown_083CE2E0[])(void) = static void sub_80B6E44(void) { - gUnknown_083CE2E0[namingScreenDataPtr->template->unk2](); + gUnknown_083CE2E0[namingScreenDataPtr->template->iconFunction](); } static void nullsub_40(void) @@ -1642,8 +1639,8 @@ static void sub_80B75C4(void) (u16 *)(VRAM + 0xE800), }; - gUnknown_083CE2F0[namingScreenDataPtr->currentPage][0](arr[namingScreenDataPtr->unkC]); - gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->unkD]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][0](arr[namingScreenDataPtr->bgToReveal]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->bgToHide]); } static void sub_80B7614(void) @@ -1654,7 +1651,7 @@ static void sub_80B7614(void) (u16 *)(VRAM + 0xE800), }; - gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->unkD]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->bgToHide]); } static void sub_80B7650(u16 *vramBuffer) @@ -1708,12 +1705,12 @@ static void sub_80B76E0(u16 *vramBuffer, const u16 *src) static void sub_80B772C(void) { - nullsub_20(namingScreenDataPtr->currentPage, namingScreenDataPtr->unkC); + nullsub_20(namingScreenDataPtr->currentPage, namingScreenDataPtr->bgToReveal); } static void sub_80B7740(void) { - nullsub_20((namingScreenDataPtr->currentPage + 1) % 3, namingScreenDataPtr->unkD); + nullsub_20((namingScreenDataPtr->currentPage + 1) % 3, namingScreenDataPtr->bgToHide); } static void nullsub_20(u8 a, u8 b) @@ -1779,9 +1776,9 @@ static u8 GetCharAtKeyboardPos(s16 a, s16 b) static void sub_80B7794(void) { - BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][0][namingScreenDataPtr->unkC]); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][0][namingScreenDataPtr->bgToReveal]); gUnknown_083CE310[namingScreenDataPtr->currentPage][0](); - BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->unkD]); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->bgToHide]); gUnknown_083CE310[namingScreenDataPtr->currentPage][1](); sub_80B772C(); sub_80B7740(); @@ -1789,7 +1786,7 @@ static void sub_80B7794(void) static void sub_80B77F8(void) { - BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->unkD]); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->bgToHide]); gUnknown_083CE310[namingScreenDataPtr->currentPage][1](); sub_80B7740(); } @@ -1822,7 +1819,7 @@ static void sub_80B78A8(void) { BasicInitMenuWindow(&gWindowTemplate_81E6F4C); gUnknown_083CE358[namingScreenDataPtr->templateNum](); - gUnknown_083CE368[namingScreenDataPtr->template->unk3](); + gUnknown_083CE368[namingScreenDataPtr->template->addGenderIcon](); Menu_PrintText(namingScreenDataPtr->template->title, 9, 2); } @@ -1864,7 +1861,7 @@ static void sub_80B7960(void) string += 6; StringCopy(string, namingScreenDataPtr->textBuffer); BasicInitMenuWindow(&gWindowTemplate_81E6F4C); - Menu_PrintText(gStringVar1, namingScreenDataPtr->unk2, 4); + Menu_PrintText(gStringVar1, namingScreenDataPtr->nameLeftOffset, 4); } //-------------------------------------------------- @@ -1873,40 +1870,31 @@ static void sub_80B7960(void) static const struct NamingScreenTemplate playerNamingScreenTemplate = { - .unk0 = 0, + .copyExistingString = 0, .maxChars = 7, - .unk2 = 1, - .unk3 = 0, - .unk4 = 0, - .unk5 = 0, - .unk6 = 0, - .unk7 = 0, + .iconFunction = 1, + .addGenderIcon = 0, + .initialPage = 0, .title = OtherText_YourName, }; static const struct NamingScreenTemplate pcBoxNamingTemplate = { - .unk0 = 0, + .copyExistingString = 0, .maxChars = 8, - .unk2 = 2, - .unk3 = 0, - .unk4 = 0, - .unk5 = 0, - .unk6 = 0, - .unk7 = 0, + .iconFunction = 2, + .addGenderIcon = 0, + .initialPage = 0, .title = OtherText_BoxName, }; static const struct NamingScreenTemplate monNamingScreenTemplate = { - .unk0 = 0, + .copyExistingString = 0, .maxChars = 10, - .unk2 = 3, - .unk3 = 1, - .unk4 = 0, - .unk5 = 0, - .unk6 = 0, - .unk7 = 0, + .iconFunction = 3, + .addGenderIcon = 1, + .initialPage = 0, .title = OtherText_PokeName, }; -- cgit v1.2.3 From 612f62725a2ed3be07f688f867aca3eb7579ab19 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 21 May 2018 13:18:45 -0700 Subject: Fix map object range union, and remove the obsolete alt struct --- src/event_object_movement.c | 77 +++++---------------------------------------- src/fldeff_berrytree.c | 14 ++++----- 2 files changed, 14 insertions(+), 77 deletions(-) (limited to 'src') diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 6883c82c1..bc52fba74 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2024,72 +2024,9 @@ u8 GetFieldObjectIdByLocalId(u8 localId) return 16; } -// The bitfield at 0x18 needs to be u16 for this function to match -struct MapObjectAlt -{ - /*0x00*/ u32 active:1; - u32 mapobj_bit_1:1; - u32 mapobj_bit_2:1; - u32 mapobj_bit_3:1; - u32 mapobj_bit_4:1; - u32 mapobj_bit_5:1; - u32 mapobj_bit_6:1; - u32 mapobj_bit_7:1; - /*0x01*/ u32 mapobj_bit_8:1; - u32 mapobj_bit_9:1; - u32 mapobj_bit_10:1; - u32 mapobj_bit_11:1; - u32 mapobj_bit_12:1; - u32 mapobj_bit_13:1; - u32 mapobj_bit_14:1; - u32 mapobj_bit_15:1; - /*0x02*/ u32 mapobj_bit_16:1; - u32 mapobj_bit_17:1; - u32 mapobj_bit_18:1; - u32 mapobj_bit_19:1; - u32 mapobj_bit_20:1; - u32 mapobj_bit_21:1; - u32 mapobj_bit_22:1; - u32 mapobj_bit_23:1; - /*0x03*/ u32 mapobj_bit_24:1; - u32 mapobj_bit_25:1; - u32 mapobj_bit_26:1; - u32 mapobj_bit_27:1; - u32 mapobj_bit_28:1; - u32 mapobj_bit_29:1; - u32 mapobj_bit_30:1; - u32 mapobj_bit_31:1; - /*0x04*/ u8 spriteId; - /*0x05*/ u8 graphicsId; - /*0x06*/ u8 animPattern; - /*0x07*/ u8 trainerType; - /*0x08*/ u8 localId; - /*0x09*/ u8 mapNum; - /*0x0A*/ u8 mapGroup; - /*0x0B*/ u8 mapobj_unk_0B_0:4; - u8 elevation:4; - /*0x0C*/ struct Coords16 coords1; - /*0x10*/ struct Coords16 coords2; - /*0x14*/ struct Coords16 coords3; - /*0x18*/ u16 mapobj_unk_18:4; //current direction? - /*0x18*/ u16 placeholder18:4; - /*0x19*/ u16 rangeX:4; - /*0x19*/ u16 rangeY:4; - /*0x1A*/ u8 mapobj_unk_1A; - /*0x1B*/ u8 mapobj_unk_1B; - /*0x1C*/ u8 mapobj_unk_1C; - /*0x1D*/ u8 trainerRange_berryTreeId; - /*0x1E*/ u8 mapobj_unk_1E; - /*0x1F*/ u8 mapobj_unk_1F; - /*0x20*/ u8 mapobj_unk_20; - /*0x21*/ u8 mapobj_unk_21; - /*0x22*/ u8 animId; - /*size = 0x24*/ -}; - u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 c) { - struct MapObjectAlt *mapObj; //TODO: resolve the mapobj_unk_19b weirdness + struct MapObject *mapObj; u8 var; s16 r3; s16 r2; @@ -2116,8 +2053,8 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 mapObj->coords3.y = r2; mapObj->mapobj_unk_0B_0 = template->elevation; mapObj->elevation = template->elevation; - mapObj->rangeX = template->unkA_0; - mapObj->rangeY = template->unkA_4; + mapObj->range.as_nybbles.x = template->unkA_0; + mapObj->range.as_nybbles.y = template->unkA_4; mapObj->trainerType = template->unkC; mapObj->trainerRange_berryTreeId = template->unkE; mapObj->mapobj_unk_20 = gUnknown_0836DC09[template->movementType]; @@ -2126,10 +2063,10 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 FieldObjectHandleDynamicGraphicsId((struct MapObject *)mapObj); if (gUnknown_0836DBBC[mapObj->animPattern] != 0) { - if (mapObj->rangeX == 0) - mapObj->rangeX++; - if (mapObj->rangeY == 0) - mapObj->rangeY++; + if (mapObj->range.as_nybbles.x == 0) + mapObj->range.as_nybbles.x++; + if (mapObj->range.as_nybbles.y == 0) + mapObj->range.as_nybbles.y++; } #if DEBUG gUnknown_Debug_03004BC0++; diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c index 6b03e9952..fa4a7e76b 100644 --- a/src/fldeff_berrytree.c +++ b/src/fldeff_berrytree.c @@ -15,26 +15,26 @@ static void Task_WateringBerryTreeAnim_0(u8 taskId) static void Task_WateringBerryTreeAnim_1(u8 taskId) { - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) - || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerMapObj) + || FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) { sub_8059D08(player_get_direction_lower_nybble()); - FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); + FieldObjectSetSpecialAnim(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); gTasks[taskId].func = Task_WateringBerryTreeAnim_2; } } static void Task_WateringBerryTreeAnim_2(u8 taskId) { - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + if (FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) { s16 value = gTasks[taskId].data[1]++; if (value < 10) { - FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); + FieldObjectSetSpecialAnim(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); } else { -- cgit v1.2.3 From 22e6e3532900b2470d0134f1347981d77828b22c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 23 May 2018 09:26:22 -0500 Subject: Label all of MapObject struct members, and ground effect flags --- src/battle/battle_setup.c | 2 +- src/berry.c | 4 +- src/bike.c | 74 +-- src/event_object_movement.c | 1089 ++++++++++++++++++++++--------------------- src/field_effect.c | 106 ++--- src/field_effect_helpers.c | 47 +- src/field_player_avatar.c | 232 ++++----- src/field_special_scene.c | 2 +- src/field_specials.c | 2 +- src/fldeff_decoration.c | 4 +- src/item_use.c | 2 +- src/map_obj_lock.c | 4 +- src/overworld.c | 56 +-- src/shop.c | 8 +- src/trainer_see.c | 68 +-- 15 files changed, 852 insertions(+), 848 deletions(-) (limited to 'src') diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index 10ac4f78c..9e03b5d2d 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -1045,7 +1045,7 @@ void sub_8082524(void) { struct MapObject *mapObject = &gMapObjects[gSelectedMapObject]; - npc_set_running_behaviour_etc(mapObject, npc_running_behaviour_by_direction(mapObject->mapobj_unk_18)); + npc_set_running_behaviour_etc(mapObject, npc_running_behaviour_by_direction(mapObject->facingDirection)); } u8 ScrSpecial_GetTrainerBattleMode(void) diff --git a/src/berry.c b/src/berry.c index 349703299..8829407da 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1545,8 +1545,8 @@ void ResetBerryTreeSparkleFlags(void) { if (gMapObjects[i].active && gMapObjects[i].animPattern == 12) // is the object an active berry tree? { - cam_left = gMapObjects[i].coords2.x; - cam_top = gMapObjects[i].coords2.y; + cam_left = gMapObjects[i].currentCoords.x; + cam_top = gMapObjects[i].currentCoords.y; if (left <= cam_left && cam_left <= right && top <= cam_top && cam_top <= bottom) ResetBerryTreeSparkleFlag(gMapObjects[i].trainerRange_berryTreeId); } diff --git a/src/bike.c b/src/bike.c index 28439e6bb..25419c6cf 100644 --- a/src/bike.c +++ b/src/bike.c @@ -199,14 +199,14 @@ static void MachBikeTransition_TurnDirection(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E)) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior)) { PlayerTurnInPlace(direction); Bike_SetBikeStill(); } else { - MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18); + MachBikeTransition_FaceDirection(playerMapObj->facingDirection); } } @@ -215,13 +215,13 @@ static void MachBikeTransition_TrySpeedUp(u8 direction) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; u8 collision; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == FALSE) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == FALSE) { // we cannot go forward, so either slow down or, if we are stopped, idle face direction. if (gPlayerAvatar.bikeSpeed) - MachBikeTransition_TrySlowDown(playerMapObj->placeholder18); + MachBikeTransition_TrySlowDown(playerMapObj->movementDirection); else - MachBikeTransition_FaceDirection(playerMapObj->placeholder18); + MachBikeTransition_FaceDirection(playerMapObj->movementDirection); } else { @@ -393,7 +393,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 { // B button was released. gPlayerAvatar.bikeFrameCounter = 0; - if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + if (!MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) { // Go back to normal on flat ground *newDirection = direction; @@ -436,7 +436,7 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey { // B button was released Bike_SetBikeStill(); - if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) { // even though B was released, dont undo the wheelie on the bumpy slope. gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; @@ -483,7 +483,7 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he { // we were moving on a wheelie, but we let go while moving. reset bike still status Bike_SetBikeStill(); - if (!MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + if (!MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) { // we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; @@ -531,8 +531,8 @@ static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - playerMapObj->mapobj_bit_9 = 0; - FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); + playerMapObj->facingDirectionLocked = 0; + FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); } @@ -552,8 +552,8 @@ static void AcroBikeTransition_TurnDirection(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerFaceDirection(direction); } @@ -562,9 +562,9 @@ static void AcroBikeTransition_Moving(u8 direction) u8 collision; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_FaceDirection(playerMapObj->placeholder18); + AcroBikeTransition_FaceDirection(playerMapObj->movementDirection); return; } collision = get_some_collision(direction); @@ -585,8 +585,8 @@ static void AcroBikeTransition_NormalToWheelie(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerStartWheelie(direction); } @@ -594,8 +594,8 @@ static void AcroBikeTransition_WheelieToNormal(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerEndWheelie(direction); } @@ -603,8 +603,8 @@ static void AcroBikeTransition_WheelieIdle(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerIdleWheelie(direction); } @@ -612,8 +612,8 @@ static void AcroBikeTransition_WheelieHoppingStanding(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerStandingHoppingWheelie(direction); } @@ -622,9 +622,9 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) u8 var; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_WheelieHoppingStanding(playerMapObj->placeholder18); + AcroBikeTransition_WheelieHoppingStanding(playerMapObj->movementDirection); return; } var = get_some_collision(direction); @@ -674,7 +674,7 @@ static void AcroBikeTransition_SideJump(u8 direction) } playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; PlaySE(SE_JITE_PYOKO); - playerMapObj->mapobj_bit_9 = 1; + playerMapObj->facingDirectionLocked = 1; PlayerSetAnimId(sub_80608A4(direction), 2); } @@ -688,9 +688,9 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) u8 var; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - PlayerIdleWheelie(playerMapObj->placeholder18); + PlayerIdleWheelie(playerMapObj->movementDirection); return; } var = get_some_collision(direction); @@ -706,7 +706,7 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) } else if (var <= 4) { - if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_80595DC(direction); //hit wall? @@ -722,9 +722,9 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) u8 var; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - PlayerStartWheelie(playerMapObj->placeholder18); + PlayerStartWheelie(playerMapObj->movementDirection); return; } var = get_some_collision(direction); @@ -740,7 +740,7 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) } else if (var <= 4) { - if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_80595DC(direction); //hit wall? @@ -756,9 +756,9 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) u8 var; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - PlayerEndWheelie(playerMapObj->placeholder18); + PlayerEndWheelie(playerMapObj->movementDirection); return; } var = get_some_collision(direction); @@ -885,8 +885,8 @@ static u8 get_some_collision(u8 direction) u8 metatitleBehavior; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - x = playerMapObj->coords2.x; - y = playerMapObj->coords2.y; + x = playerMapObj->currentCoords.x; + y = playerMapObj->currentCoords.y; MoveCoords(direction, &x, &y); metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior); @@ -970,7 +970,7 @@ bool8 IsBikingDisallowedByPlayer(void) s16 x, y; u8 tileBehavior; - if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_4))) + if (!(gPlayerAvatar.flags & (PLAYER_AVATAR_FLAG_SURFING | PLAYER_AVATAR_FLAG_UNDERWATER))) { PlayerGetDestCoords(&x, &y); tileBehavior = MapGridGetMetatileBehaviorAt(x, y); @@ -982,7 +982,7 @@ bool8 IsBikingDisallowedByPlayer(void) bool8 player_should_look_direction_be_enforced_upon_movement(void) { - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) != FALSE) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior) != FALSE) return FALSE; else return TRUE; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index bc52fba74..78ed41d77 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1918,7 +1918,7 @@ void npc_clear_ids_and_state(struct MapObject *mapObj) mapObj->localId = 0xFF; mapObj->mapNum = 0xFF; mapObj->mapGroup = 0xFF; - mapObj->mapobj_unk_1C = 0xFF; + mapObj->animId = 0xFF; } void npcs_clear_ids_and_state(void) @@ -1994,7 +1994,7 @@ u8 GetFieldObjectIdByXY(s16 x, s16 y) for (i = 0; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y) + if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) break; } return i; @@ -2038,27 +2038,27 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 r3 = template->x + 7; r2 = template->y + 7; mapObj->active = TRUE; - mapObj->mapobj_bit_2 = TRUE; + mapObj->triggerGroundEffectsOnMove = TRUE; mapObj->graphicsId = template->graphicsId; mapObj->animPattern = template->movementType; mapObj->localId = template->localId; mapObj->mapNum = b; asm("":::"r6"); mapObj->mapGroup = c; - mapObj->coords1.x = r3; - mapObj->coords1.y = r2; - mapObj->coords2.x = r3; - mapObj->coords2.y = r2; - mapObj->coords3.x = r3; - mapObj->coords3.y = r2; - mapObj->mapobj_unk_0B_0 = template->elevation; - mapObj->elevation = template->elevation; + mapObj->initialCoords.x = r3; + mapObj->initialCoords.y = r2; + mapObj->currentCoords.x = r3; + mapObj->currentCoords.y = r2; + mapObj->previousCoords.x = r3; + mapObj->previousCoords.y = r2; + mapObj->currentElevation = template->elevation; + mapObj->previousElevation = template->elevation; mapObj->range.as_nybbles.x = template->unkA_0; mapObj->range.as_nybbles.y = template->unkA_4; mapObj->trainerType = template->unkC; mapObj->trainerRange_berryTreeId = template->unkE; - mapObj->mapobj_unk_20 = gUnknown_0836DC09[template->movementType]; - FieldObjectSetDirection((struct MapObject *)mapObj, mapObj->mapobj_unk_20); + mapObj->previousMovementDirection = gUnknown_0836DC09[template->movementType]; + FieldObjectSetDirection((struct MapObject *)mapObj, mapObj->previousMovementDirection); asm("":::"r5","r6"); FieldObjectHandleDynamicGraphicsId((struct MapObject *)mapObj); if (gUnknown_0836DBBC[mapObj->animPattern] != 0) @@ -2171,7 +2171,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * else if (gfxInfo->paletteSlot == 10) npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); if (mapObject->animPattern == 0x4C) - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; #ifdef NONMATCHING sprTemplate->paletteTag = 0xFFFF; @@ -2188,7 +2188,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * return 16; } sprite = &gSprites[spriteId]; - sub_8060388(e + mapObject->coords2.x, f + mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8060388(e + mapObject->currentCoords.x, f + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; @@ -2197,10 +2197,10 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * sprite->coordOffsetEnabled = TRUE; sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; - mapObject->mapobj_bit_12 = gfxInfo->inanimate; - if (!mapObject->mapobj_bit_12) - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); - SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); + mapObject->inanimate = gfxInfo->inanimate; + if (!mapObject->inanimate) + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); + SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); sub_80634D0(mapObject, sprite); return mapObjectId; } @@ -2402,8 +2402,8 @@ void RemoveFieldObjectsOutsideView(void) { struct MapObject *mapObject = &gMapObjects[i]; - if (mapObject->active && !mapObject->mapobj_bit_16) - RemoveFieldObjectIfOutsideView(mapObject); + if (mapObject->active && !mapObject->isPlayer) + RemoveFieldObjectIfOutsideView(mapObject); } } } @@ -2415,11 +2415,11 @@ void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) s16 r4 = gSaveBlock1.pos.y; s16 r6 = gSaveBlock1.pos.y + 16; - if (mapObject->coords2.x >= r7 && mapObject->coords2.x <= r5 - && mapObject->coords2.y >= r4 && mapObject->coords2.y <= r6) + if (mapObject->currentCoords.x >= r7 && mapObject->currentCoords.x <= r5 + && mapObject->currentCoords.y >= r4 && mapObject->currentCoords.y <= r6) return; - if (mapObject->coords1.x >= r7 && mapObject->coords1.x <= r5 - && mapObject->coords1.y >= r4 && mapObject->coords1.y <= r6) + if (mapObject->initialCoords.x >= r7 && mapObject->initialCoords.x <= r5 + && mapObject->initialCoords.y >= r4 && mapObject->initialCoords.y <= r6) return; RemoveFieldObject(mapObject); } @@ -2485,7 +2485,7 @@ void sub_805B75C(u8 a, s16 b, s16 c) { struct Sprite *sprite = &gSprites[spriteId]; - sub_8060388(b + mapObject->coords2.x, c + mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8060388(b + mapObject->currentCoords.x, c + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; @@ -2494,7 +2494,7 @@ void sub_805B75C(u8 a, s16 b, s16 c) if (mapObject->animPattern == 11) { SetPlayerAvatarFieldObjectIdAndObjectId(a, spriteId); - mapObject->mapobj_unk_1B = sub_8126B54(); + mapObject->warpArrowSpriteId = sub_8126B54(); } if (subspriteTables != NULL) SetSubspriteTables(sprite, subspriteTables); @@ -2502,23 +2502,23 @@ void sub_805B75C(u8 a, s16 b, s16 c) sprite->coordOffsetEnabled = TRUE; sprite->data[0] = a; mapObject->spriteId = spriteId; - if (!mapObject->mapobj_bit_12 && mapObject->animPattern != 11) - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + if (!mapObject->inanimate && mapObject->animPattern != 11) + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); sub_805B914(mapObject); - SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); + SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); } } void sub_805B914(struct MapObject *mapObject) { - mapObject->mapobj_bit_1 = FALSE; - mapObject->mapobj_bit_2 = TRUE; - mapObject->mapobj_bit_22 = FALSE; - mapObject->mapobj_bit_17 = FALSE; - mapObject->mapobj_bit_18 = FALSE; - mapObject->mapobj_bit_19 = FALSE; - mapObject->mapobj_bit_20 = FALSE; - mapObject->mapobj_bit_21 = FALSE; + mapObject->regularAnimActive = FALSE; + mapObject->triggerGroundEffectsOnMove = TRUE; + mapObject->hasShadow = FALSE; + mapObject->hasReflection = FALSE; + mapObject->inShortGrass = FALSE; + mapObject->inShallowFlowingWater = FALSE; + mapObject->inSandPile = FALSE; + mapObject->inHotSprings = FALSE; FieldObjectClearAnim(mapObject); } @@ -2547,14 +2547,14 @@ void sub_805B980(struct MapObject *mapObject, u8 graphicsId) sprite->anims = gfxInfo->anims; sprite->subspriteTables = gfxInfo->subspriteTables; sprite->oam.paletteNum = gfxInfo->paletteSlot; - mapObject->mapobj_bit_12 = gfxInfo->inanimate; + mapObject->inanimate = gfxInfo->inanimate; mapObject->graphicsId = graphicsId; - sub_80603CC(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sub_80603CC(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - if (mapObject->mapobj_bit_15) + if (mapObject->trackedByCamera) CameraObjectReset1(); } @@ -2569,9 +2569,9 @@ void unref_sub_805BA80(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) void FieldObjectTurn(struct MapObject *mapObject, u8 direction) { FieldObjectSetDirection(mapObject, direction); - if (!mapObject->mapobj_bit_12) + if (!mapObject->inanimate) { - StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); } } @@ -2594,12 +2594,12 @@ void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite) u8 treeStage; u8 treeId; - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; sprite->invisible = TRUE; treeStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); if (treeStage != 0) { - mapObject->mapobj_bit_13 = FALSE; + mapObject->invisible = FALSE; sprite->invisible = FALSE; treeId = GetBerryTypeByBerryTreeId(mapObject->trainerRange_berryTreeId) - 1; treeStage--; @@ -2632,7 +2632,7 @@ void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGr u8 mapObjectId; if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - gMapObjects[mapObjectId].mapobj_bit_13 = d; + gMapObjects[mapObjectId].invisible = d; } void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) @@ -2651,7 +2651,7 @@ void sub_805BCC0(s16 x, s16 y) if (mapObjectId != 16) { mapObject = &gMapObjects[mapObjectId]; - mapObject->mapobj_bit_2 = TRUE; + mapObject->triggerGroundEffectsOnMove = TRUE; } } @@ -2665,7 +2665,7 @@ void sub_805BCF0(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority) { mapObject = &gMapObjects[mapObjectId]; sprite = &gSprites[mapObject->spriteId]; - mapObject->mapobj_bit_26 = TRUE; + mapObject->fixedPriority = TRUE; sprite->subpriority = subpriority; } } @@ -2678,8 +2678,8 @@ void sub_805BD48(u8 localId, u8 mapNum, u8 mapGroup) if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) { mapObject = &gMapObjects[mapObjectId]; - mapObject->mapobj_bit_26 = FALSE; - mapObject->mapobj_bit_2 = TRUE; + mapObject->fixedPriority = FALSE; + mapObject->triggerGroundEffectsOnMove = TRUE; } } @@ -2785,26 +2785,26 @@ void npc_load_two_palettes__and_record(u16 a, u8 b) void unref_sub_805C014(struct MapObject *mapObject, s16 x, s16 y) { - mapObject->coords3.x = mapObject->coords2.x; - mapObject->coords3.y = mapObject->coords2.y; - mapObject->coords2.x += x; - mapObject->coords2.y += y; + mapObject->previousCoords.x = mapObject->currentCoords.x; + mapObject->previousCoords.y = mapObject->currentCoords.y; + mapObject->currentCoords.x += x; + mapObject->currentCoords.y += y; } void npc_coords_shift(struct MapObject *mapObject, s16 x, s16 y) { - mapObject->coords3.x = mapObject->coords2.x; - mapObject->coords3.y = mapObject->coords2.y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; + mapObject->previousCoords.x = mapObject->currentCoords.x; + mapObject->previousCoords.y = mapObject->currentCoords.y; + mapObject->currentCoords.x = x; + mapObject->currentCoords.y = y; } void npc_coords_set(struct MapObject *mapObject, s16 x, s16 y) { - mapObject->coords3.x = x; - mapObject->coords3.y = y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; + mapObject->previousCoords.x = x; + mapObject->previousCoords.y = y; + mapObject->currentCoords.x = x; + mapObject->currentCoords.y = y; } void sub_805C058(struct MapObject *mapObject, s16 x, s16 y) @@ -2813,13 +2813,13 @@ void sub_805C058(struct MapObject *mapObject, s16 x, s16 y) const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); npc_coords_set(mapObject, x, y); - sub_80603CC(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sub_80603CC(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sub_805B914(mapObject); - if (mapObject->mapobj_bit_15) + if (mapObject->trackedByCamera) CameraObjectReset1(); } @@ -2837,7 +2837,7 @@ void sub_805C0F8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) void npc_coords_shift_still(struct MapObject *mapObject) { - npc_coords_shift(mapObject, mapObject->coords2.x, mapObject->coords2.y); + npc_coords_shift(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); } void UpdateFieldObjectCoordsForCameraUpdate(void) @@ -2855,12 +2855,12 @@ void UpdateFieldObjectCoordsForCameraUpdate(void) if (gMapObjects[i].active) { - gMapObjects[i].coords1.x -= deltaX; - gMapObjects[i].coords1.y -= deltaY; - gMapObjects[i].coords2.x -= deltaX; - gMapObjects[i].coords2.y -= deltaY; - gMapObjects[i].coords3.x -= deltaX; - gMapObjects[i].coords3.y -= deltaY; + gMapObjects[i].initialCoords.x -= deltaX; + gMapObjects[i].initialCoords.y -= deltaY; + gMapObjects[i].currentCoords.x -= deltaX; + gMapObjects[i].currentCoords.y -= deltaY; + gMapObjects[i].previousCoords.x -= deltaX; + gMapObjects[i].previousCoords.y -= deltaY; } } } @@ -2874,7 +2874,7 @@ u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) for (i = 0; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y + if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y && FieldObjectDoesZCoordMatch(&gMapObjects[i], z)) return i; } @@ -2883,8 +2883,8 @@ u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) { - if (mapObject->mapobj_unk_0B_0 != 0 && z != 0 - && mapObject->mapobj_unk_0B_0 != z) + if (mapObject->currentElevation != 0 && z != 0 + && mapObject->currentElevation != z) return FALSE; else return TRUE; @@ -3030,13 +3030,13 @@ u8 obj_unfreeze(struct Sprite *src, s16 x, s16 y, u8 subpriority) void FieldObjectSetDirection(struct MapObject *mapObject, u8 direction) { - mapObject->mapobj_unk_20 = mapObject->mapobj_unk_18; - if (!mapObject->mapobj_bit_9) + mapObject->previousMovementDirection = mapObject->facingDirection; + if (!mapObject->facingDirectionLocked) { s8 _direction = direction; //needed for the asm to match - mapObject->mapobj_unk_18 = _direction; + mapObject->facingDirection = _direction; } - mapObject->placeholder18 = direction; + mapObject->movementDirection = direction; } u8 *GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) @@ -3141,8 +3141,8 @@ void sub_805C754(struct MapObject *mapObject) if (template != NULL) { - template->x = mapObject->coords2.x - 7; - template->y = mapObject->coords2.y - 7; + template->x = mapObject->currentCoords.x - 7; + template->y = mapObject->currentCoords.y - 7; } } @@ -3201,7 +3201,7 @@ extern void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); u8 sub_805C904(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3251,8 +3251,8 @@ u8 sub_805C98C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805C9D8(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = 1; + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->regularAnimActive = 1; sprite->data[1] = 6; return 1; } @@ -3261,7 +3261,7 @@ u8 sub_805CA08(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 1; } return 0; @@ -3286,8 +3286,8 @@ u8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) return 0; } PlayerGetDestCoords(&x, &y); - objx = mapObject->coords2.x; - objy = mapObject->coords2.y; + objx = mapObject->currentCoords.x; + objy = mapObject->currentCoords.y; minx = objx - mapObject->trainerRange_berryTreeId; miny = objy - mapObject->trainerRange_berryTreeId; maxx = objx + mapObject->trainerRange_berryTreeId; @@ -3489,8 +3489,8 @@ u8 sub_805CD60(struct MapObject *mapObject, u8 a1) return 0; } PlayerGetDestCoords(&x, &y); - x -= mapObject->coords2.x; - y -= mapObject->coords2.y; + x -= mapObject->currentCoords.x; + y -= mapObject->currentCoords.y; x2 = x; y2 = y; if (x2 < 0) @@ -3515,7 +3515,7 @@ u8 sub_805CE2C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805CE40(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3525,7 +3525,7 @@ u8 sub_805CE6C(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) { sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -3567,7 +3567,7 @@ u8 sub_805CF6C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805CF80(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3610,8 +3610,8 @@ u8 sub_805D008(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D054(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = 1; + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->regularAnimActive = 1; sprite->data[1] = 6; return 1; } @@ -3620,7 +3620,7 @@ u8 sub_805D084(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 1; } return 0; @@ -3637,7 +3637,7 @@ u8 sub_805D0F0(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D104(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3680,8 +3680,8 @@ u8 sub_805D18C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D1D8(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = 1; + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->regularAnimActive = 1; sprite->data[1] = 6; return 1; } @@ -3690,7 +3690,7 @@ u8 sub_805D208(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 1; } return 0; @@ -3701,7 +3701,7 @@ fieldmap_object_cb(sub_805D230, sub_805D254, gUnknown_083752C4); u8 sub_805D274(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -3718,7 +3718,7 @@ u8 sub_805D2A0(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D2C0(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; return 0; } @@ -3745,15 +3745,15 @@ u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sp { u8 berryTreeStage; npc_reset(mapObject, sprite); - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; sprite->invisible = 1; berryTreeStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); if (!berryTreeStage) { if (!(sprite->data[7] & 4) && sprite->animNum == 4) { - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); @@ -3761,7 +3761,7 @@ u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sp } return 0; } - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; sprite->invisible = 0; berryTreeStage--; if (sprite->animNum != berryTreeStage) @@ -3787,12 +3787,12 @@ u8 sub_805D3EC(struct MapObject *mapObject, struct Sprite *sprite) u8 do_berry_tree_growth_sparkle_2(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = 1; + mapObject->regularAnimActive = 1; sprite->data[1] = 3; sprite->data[2] = 0; sprite->data[7] |= 2; - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); @@ -3802,7 +3802,7 @@ u8 do_berry_tree_growth_sparkle_2(struct MapObject *mapObject, struct Sprite *sp u8 sub_805D458(struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[2]++; - mapObject->mapobj_bit_13 = ((sprite->data[2] & 0x2) >> 1); + mapObject->invisible = ((sprite->data[2] & 0x2) >> 1); sprite->animPaused = 1; if (sprite->data[2] > 64) { @@ -3817,7 +3817,7 @@ u8 sub_805D458(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D4A8(struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[2]++; - mapObject->mapobj_bit_13 = ((sprite->data[2] & 0x2) >> 1); + mapObject->invisible = ((sprite->data[2] & 0x2) >> 1); sprite->animPaused = 1; if (sprite->data[2] > 64) { @@ -3839,7 +3839,7 @@ u8 sub_805D538(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D54C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3849,7 +3849,7 @@ u8 sub_805D578(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -3891,7 +3891,7 @@ u8 sub_805D678(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D68C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3901,7 +3901,7 @@ u8 sub_805D6B8(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -3943,7 +3943,7 @@ u8 sub_805D7B8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D7CC(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3953,7 +3953,7 @@ u8 sub_805D7F8(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -3995,7 +3995,7 @@ u8 sub_805D8F8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D90C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4005,7 +4005,7 @@ u8 sub_805D938(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -4047,7 +4047,7 @@ u8 sub_805DA38(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DA4C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4057,7 +4057,7 @@ u8 sub_805DA78(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -4099,7 +4099,7 @@ u8 sub_805DB78(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DB8C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4109,7 +4109,7 @@ u8 sub_805DBB8(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -4151,7 +4151,7 @@ u8 sub_805DCB8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DCCC(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4161,7 +4161,7 @@ u8 sub_805DCF8(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -4203,7 +4203,7 @@ u8 sub_805DDF8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DE0C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4213,7 +4213,7 @@ u8 sub_805DE38(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -4255,7 +4255,7 @@ u8 sub_805DF38(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DF4C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4265,7 +4265,7 @@ u8 sub_805DF78(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -4307,7 +4307,7 @@ u8 sub_805E078(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805E08C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4317,7 +4317,7 @@ u8 sub_805E0B8(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 3; } return 0; @@ -4353,7 +4353,7 @@ fieldmap_object_cb(sub_805E174, sub_805E198, gUnknown_083753CC); u8 sub_805E1B8(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -4385,7 +4385,7 @@ u8 sub_805E234(struct MapObject *mapObject, struct Sprite *sprite) direction = sub_805CD60(mapObject, 0); if (direction == 0) { - direction = directions[mapObject->mapobj_unk_18]; + direction = directions[mapObject->facingDirection]; } FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 0; @@ -4397,7 +4397,7 @@ fieldmap_object_cb(sub_805E278, sub_803E29C, gUnknown_083753E4); u8 sub_805E2BC(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -4429,7 +4429,7 @@ u8 sub_805E338(struct MapObject *mapObject, struct Sprite *sprite) direction = sub_805CD60(mapObject, 0); if (direction == 0) { - direction = directions[mapObject->mapobj_unk_18]; + direction = directions[mapObject->facingDirection]; } FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 0; @@ -4449,7 +4449,7 @@ u8 sub_805E3D4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; direction = gUnknown_0836DC09[mapObject->animPattern]; - if (mapObject->mapobj_unk_21 != 0) + if (mapObject->directionSequenceIndex != 0) { direction = GetOppositeDirection(direction); } @@ -4462,26 +4462,26 @@ u8 sub_805E40C(struct MapObject *mapObject, struct Sprite *sprite) { u8 v0; u8 goSpeed0AnimId; - if (mapObject->mapobj_unk_21 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 0; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); + mapObject->directionSequenceIndex = 0; + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); } - v0 = sub_805FF20(mapObject, mapObject->placeholder18); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->placeholder18); + v0 = sub_805FF20(mapObject, mapObject->movementDirection); + goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); if (v0 == 1) { - mapObject->mapobj_unk_21 ++; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->placeholder18); - v0 = sub_805FF20(mapObject, mapObject->placeholder18); + mapObject->directionSequenceIndex ++; + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); + v0 = sub_805FF20(mapObject, mapObject->movementDirection); } if (v0 != 0) { - goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); + goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); } FieldObjectSetRegularAnim(mapObject, sprite, goSpeed0AnimId); - mapObject->mapobj_bit_1 = 1; + mapObject->regularAnimActive = 1; sprite->data[1] = 3; return 1; } @@ -4490,7 +4490,7 @@ u8 sub_805E4C4(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 1; } return 0; @@ -4507,26 +4507,26 @@ u8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct { u8 v0; u8 goSpeed0AnimId; - if (mapObject->mapobj_unk_21 == 3 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 3 && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 0; + mapObject->directionSequenceIndex = 0; } - FieldObjectSetDirection(mapObject, directionSequence[mapObject->mapobj_unk_21]); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->placeholder18); - v0 = sub_805FF20(mapObject, mapObject->placeholder18); + FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); + goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); + v0 = sub_805FF20(mapObject, mapObject->movementDirection); if (v0 == 1) { - mapObject->mapobj_unk_21 ++; - FieldObjectSetDirection(mapObject, directionSequence[mapObject->mapobj_unk_21]); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->placeholder18); - v0 = sub_805FF20(mapObject, mapObject->placeholder18); + mapObject->directionSequenceIndex++; + FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); + goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); + v0 = sub_805FF20(mapObject, mapObject->movementDirection); } if (v0 != 0) { - goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); + goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); } FieldObjectSetRegularAnim(mapObject, sprite, goSpeed0AnimId); - mapObject->mapobj_bit_1 = 1; + mapObject->regularAnimActive = 1; sprite->data[1] = 2; return 1; } @@ -4535,7 +4535,7 @@ u8 sub_805E5B4(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 1; } return 0; @@ -4547,9 +4547,9 @@ u8 sub_805E620(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375418, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4560,9 +4560,9 @@ u8 sub_805E6AC(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375428, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4573,9 +4573,9 @@ u8 sub_805E738(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375438, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4586,9 +4586,9 @@ u8 sub_805E7C4(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375448, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4601,9 +4601,9 @@ u8 sub_805E850(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375458, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4614,9 +4614,9 @@ u8 sub_805E8DC(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375468, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4627,9 +4627,9 @@ u8 sub_805E968(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375240, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4640,9 +4640,9 @@ u8 sub_805E9F4(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375484, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4653,9 +4653,9 @@ u8 sub_805EA80(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375494, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4666,9 +4666,9 @@ u8 sub_805EB0C(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_083754A4, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4679,9 +4679,9 @@ u8 sub_805EB98(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_083754B4, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4692,9 +4692,9 @@ u8 sub_805EC24(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_083754C4, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4705,9 +4705,9 @@ u8 sub_805ECB0(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_083754D4, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4718,9 +4718,9 @@ u8 sub_805ED3C(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_083754E4, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4731,9 +4731,9 @@ u8 sub_805EDC8(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_083754F4, 4); - if (mapObject->mapobj_unk_21 == 1 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4744,9 +4744,9 @@ u8 sub_805EE54(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375504, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4757,9 +4757,9 @@ u8 sub_805EEE0(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375514, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4770,9 +4770,9 @@ u8 sub_805EF6C(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375524, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4783,9 +4783,9 @@ u8 sub_805EFF8(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375534, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4796,9 +4796,9 @@ u8 sub_805F084(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375544, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4809,9 +4809,9 @@ u8 sub_805F110(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375554, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4822,9 +4822,9 @@ u8 sub_805F19C(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375564, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4835,9 +4835,9 @@ u8 sub_805F228(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375574, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); } @@ -4848,9 +4848,9 @@ u8 sub_805F2B4(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUnknown_08375584, 4); - if (mapObject->mapobj_unk_21 == 2 && mapObject->coords1.x == mapObject->coords2.x) + if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { - mapObject->mapobj_unk_21 = 3; + mapObject->directionSequenceIndex = 3; } return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); }; @@ -4860,9 +4860,9 @@ fieldmap_object_cb(sub_805F2FC, sub_805F320, gUnknown_08375588); u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - if (mapObject->mapobj_unk_21 == 0) + if (mapObject->directionSequenceIndex == 0) { - mapObject->mapobj_unk_21 = player_get_direction_lower_nybble(); + mapObject->directionSequenceIndex = player_get_direction_lower_nybble(); } sprite->data[1] = 1; return 1; @@ -4870,7 +4870,7 @@ u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gMapObjects[gPlayerAvatar.mapObjectId].animId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } @@ -4881,7 +4881,7 @@ u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; sprite->data[1] = 1; } return 0; @@ -4894,8 +4894,8 @@ bool8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, boo bool8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, a2))); - mapObject->mapobj_bit_1 = 1; + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, a2))); + mapObject->regularAnimActive = 1; sprite->data[1] = 2; return 1; } @@ -4907,14 +4907,14 @@ bool8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, boo s16 y; direction = a2; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = 1; + mapObject->regularAnimActive = 1; sprite->data[1] = 2; return 1; } @@ -4926,14 +4926,14 @@ bool8 sub_805F4F0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_8060744(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->regularAnimActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4945,14 +4945,14 @@ bool8 sub_805F5A8(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_806079C(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->regularAnimActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4964,14 +4964,14 @@ bool8 sub_805F660(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_80607C8(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->regularAnimActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4981,9 +4981,9 @@ bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 pl u32 direction; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); FieldObjectSetRegularAnim(mapObject, sprite, sub_806084C(direction)); - mapObject->mapobj_bit_1 = TRUE; + mapObject->regularAnimActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4995,14 +4995,14 @@ bool8 sub_805F760(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_80608A4(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->regularAnimActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -5014,16 +5014,16 @@ bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - x = mapObject->coords2.x; - y = mapObject->coords2.y; + direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; sub_8060320(direction, &x, &y, 2, 2); FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->regularAnimActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -5032,7 +5032,7 @@ fieldmap_object_cb(sub_805F8E0, sub_805F904, gUnknown_083755C0); u8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gMapObjects[gPlayerAvatar.mapObjectId].animId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } @@ -5045,11 +5045,11 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite) { struct MapObject *mapObject; mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data[7] == 0)) + if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE); - mapObject->mapobj_unk_21 = 1; + mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); + mapObject->directionSequenceIndex = 1; sprite->data[7] ++; } meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805F9F8); @@ -5065,11 +5065,11 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite) { struct MapObject *mapObject; mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data[7] == 0)) + if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); - mapObject->mapobj_unk_21 = 1; + mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); + mapObject->directionSequenceIndex = 1; sprite->data[7] ++; } meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805F9F8); @@ -5081,7 +5081,7 @@ void FieldObjectCB_Hidden1(struct Sprite *sprite) { if (sprite->data[7] == 0) { - gMapObjects[sprite->data[0]].mapobj_bit_26 = 1; + gMapObjects[sprite->data[0]].fixedPriority = 1; sprite->subspriteMode = 2; sprite->oam.priority = 3; sprite->data[7] ++; @@ -5114,7 +5114,7 @@ fieldmap_object_cb(sub_805FB20, sub_805FB44, gUnknown_083755D0); u8 sub_805FB64(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5124,7 +5124,7 @@ fieldmap_object_cb(sub_805FB90, sub_805FBB4, gUnknown_083755D8); u8 sub_805FBD4(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5134,7 +5134,7 @@ fieldmap_object_cb(sub_805FC00, sub_805FC24, gUnknown_083755E0); u8 sub_805FC44(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5144,8 +5144,8 @@ fieldmap_object_cb(sub_805FC70, sub_805FC94, gUnknown_083755E8); u8 sub_805FCB4(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - mapObject->mapobj_bit_13 = 1; + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + mapObject->invisible = 1; sprite->data[1] = 1; return 1; } @@ -5162,7 +5162,7 @@ u8 sub_805FCE8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805FD08(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = 0; + mapObject->regularAnimActive = 0; return 0; } @@ -5170,10 +5170,10 @@ void sub_805FC70(struct Sprite *sprite); void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = 0; - mapObject->mapobj_bit_6 = 0; - mapObject->mapobj_bit_7 = 0; - mapObject->mapobj_unk_1C = 0xff; + mapObject->regularAnimActive = 0; + mapObject->specialAnimActive = 0; + mapObject->specialAnimFinished = 0; + mapObject->animId = 0xff; sprite->data[1] = 0; } @@ -5254,7 +5254,7 @@ u8 get_run_image_anim_num(u8 direction) void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) { - if (!mapObject->mapobj_bit_12) + if (!mapObject->inanimate) { sprite->animNum = animNum; if (sprite->animCmdIndex == 1) @@ -5271,7 +5271,7 @@ void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) void sub_805FE64(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) { u8 animCmdIndex; - if (!mapObject->mapobj_bit_12) + if (!mapObject->inanimate) { sprite->animNum = animNum; animCmdIndex = 3; @@ -5303,8 +5303,8 @@ u8 sub_805FE90(s16 a0, s16 a1, s16 a2, s16 a3) void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern) { mapObject->animPattern = animPattern; - mapObject->mapobj_unk_21 = 0; - mapObject->animId = 0; + mapObject->directionSequenceIndex = 0; + mapObject->playerAnimId = 0; gSprites[mapObject->spriteId].callback = gUnknown_0836DA88[animPattern]; gSprites[mapObject->spriteId].data[1] = 0; } @@ -5318,8 +5318,8 @@ u8 sub_805FF20(struct MapObject *mapObject, u8 direction) { s16 x; s16 y; - x = mapObject->coords2.x; - y = mapObject->coords2.y; + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; MoveCoords(direction, &x, &y); return npc_block_way(mapObject, x, y, direction); } @@ -5336,9 +5336,9 @@ u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) return 1; else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) return 2; - else if (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction)) + else if (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction)) return 2; - else if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) + else if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) return 3; else if (DoesObjectCollideWithObjectAt(mapObject, x, y)) return 4; @@ -5351,9 +5351,9 @@ u8 sub_8060024(struct MapObject *mapObject, s16 x, s16 y, u8 direction) if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) flags |= 1; - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction))) + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction))) flags |= 2; - if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) + if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) flags |= 4; if (DoesObjectCollideWithObjectAt(mapObject, x, y)) flags |= 8; @@ -5367,15 +5367,15 @@ bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, if (mapObject->range.as_nybbles.x != 0) { - minv = mapObject->coords1.x - (mapObject->range.as_nybbles.x); - maxv = mapObject->coords1.x + (mapObject->range.as_nybbles.x); + minv = mapObject->initialCoords.x - (mapObject->range.as_nybbles.x); + maxv = mapObject->initialCoords.x + (mapObject->range.as_nybbles.x); if (minv > x || maxv < x) return TRUE; } if (mapObject->range.as_nybbles.y != 0) { - minv = mapObject->coords1.y - (mapObject->range.as_nybbles.y); - maxv = mapObject->coords1.y + (mapObject->range.as_nybbles.y); + minv = mapObject->initialCoords.y - (mapObject->range.as_nybbles.y); + maxv = mapObject->initialCoords.y + (mapObject->range.as_nybbles.y); if (minv > y || maxv < y) return TRUE; } @@ -5384,7 +5384,7 @@ bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { - if (gUnknown_08375684[direction - 1](mapObject->mapobj_unk_1E) || gUnknown_08375694[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) + if (gUnknown_08375684[direction - 1](mapObject->currentMetatileBehavior) || gUnknown_08375694[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return 1; } @@ -5401,8 +5401,8 @@ static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s if (mapObject2->active && mapObject2 != mapObject) { - if (((mapObject2->coords2.x == x && mapObject2->coords2.y == y) || (mapObject2->coords3.x == x && mapObject2->coords3.y == y)) - && AreZCoordsCompatible(mapObject->mapobj_unk_0B_0, mapObject2->mapobj_unk_0B_0)) + if (((mapObject2->currentCoords.x == x && mapObject2->currentCoords.y == y) || (mapObject2->previousCoords.x == x && mapObject2->previousCoords.y == y)) + && AreZCoordsCompatible(mapObject->currentElevation, mapObject2->currentElevation)) return TRUE; } } @@ -5531,14 +5531,14 @@ void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 direction, s16 *x, s16 *y) { u8 newDirn = direction; - *x = mapObject->coords2.x; - *y = mapObject->coords2.y; + *x = mapObject->currentCoords.x; + *y = mapObject->currentCoords.y; MoveCoords(newDirn, x, y); } bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_1 || mapObject->mapobj_bit_6) + if (mapObject->regularAnimActive || mapObject->specialAnimActive) { return TRUE; } @@ -5547,7 +5547,7 @@ bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *ma bool8 FieldObjectIsSpecialAnimActive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6 && mapObject->mapobj_unk_1C != 0xff) + if (mapObject->specialAnimActive && mapObject->animId != 0xff) { return TRUE; } @@ -5561,9 +5561,9 @@ bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) return TRUE; } UnfreezeMapObject(mapObject); - mapObject->mapobj_unk_1C = specialAnimId; - mapObject->mapobj_bit_6 = 1; - mapObject->mapobj_bit_7 = 0; + mapObject->animId = specialAnimId; + mapObject->specialAnimActive = 1; + mapObject->specialAnimFinished = 0; gSprites[mapObject->spriteId].data[2] = 0; return FALSE; } @@ -5576,7 +5576,7 @@ void FieldObjectForceSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimI void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6) + if (mapObject->specialAnimActive) { FieldObjectClearAnim(mapObject); } @@ -5584,17 +5584,17 @@ void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) void FieldObjectClearAnim(struct MapObject *mapObject) { - mapObject->mapobj_unk_1C = 0xFF; - mapObject->mapobj_bit_6 = 0; - mapObject->mapobj_bit_7 = 0; + mapObject->animId = 0xFF; + mapObject->specialAnimActive = 0; + mapObject->specialAnimFinished = 0; gSprites[mapObject->spriteId].data[1] = 0; gSprites[mapObject->spriteId].data[2] = 0; } bool8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6) - return mapObject->mapobj_bit_7; + if (mapObject->specialAnimActive) + return mapObject->specialAnimFinished; return 0x10; } @@ -5611,9 +5611,9 @@ bool8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *mapObject) u8 FieldObjectGetSpecialAnim(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6) + if (mapObject->specialAnimActive) { - return mapObject->mapobj_unk_1C; + return mapObject->animId; } return 0xFF; } @@ -5633,13 +5633,12 @@ void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback if (FieldObjectIsSpecialAnimActive(mapObject)) { FieldObjectExecSpecialAnim(mapObject, sprite); - } else + } + else if (!mapObject->frozen) { - if (!mapObject->mapobj_bit_8) - { - while (callback(mapObject, sprite)); - } + while (callback(mapObject, sprite)); } + DoGroundEffects_OnBeginStep(mapObject, sprite); DoGroundEffects_OnFinishStep(mapObject, sprite); npc_obj_transfer_image_anim_pause_flag(mapObject, sprite); @@ -5822,17 +5821,17 @@ u32 state_to_direction(u8 a0, u32 a1, u32 a2) void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_08375778[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) + if (gUnknown_08375778[mapObject->animId][sprite->data[2]](mapObject, sprite)) { - mapObject->mapobj_bit_7 = 1; + mapObject->specialAnimFinished = 1; } } bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_08375778[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) + if (gUnknown_08375778[mapObject->animId][sprite->data[2]](mapObject, sprite)) { - mapObject->mapobj_unk_1C = 0xFF; + mapObject->animId = 0xFF; sprite->data[2] = 0; return 1; } @@ -5841,7 +5840,7 @@ bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *spr void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) { - mapObject->mapobj_unk_1C = animId; + mapObject->animId = animId; sprite->data[2] = 0; } @@ -5849,7 +5848,7 @@ void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 directio { FieldObjectSetDirection(mapObject, direction); npc_coords_shift_still(mapObject); - sub_805FE64(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + sub_805FE64(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); sprite->animPaused = 1; sprite->data[2] = 1; } @@ -5882,14 +5881,14 @@ void sub_8060D20(struct MapObject *mapObject, struct Sprite *sprite, u8 directio { s16 x; s16 y; - x = mapObject->coords2.x; - y = mapObject->coords2.y; + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; FieldObjectSetDirection(mapObject, direction); MoveCoords(direction, &x, &y); npc_coords_shift(mapObject, x, y); oamt_npc_ministep_reset(sprite, direction, a3); sprite->animPaused = 0; - mapObject->mapobj_bit_2 = 1; + mapObject->triggerGroundEffectsOnMove = 1; sprite->data[2] = 1; } @@ -5900,13 +5899,13 @@ void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction u8 (*const functions[5])(u8); memcpy((void *)functions, gUnknown_083759C0, sizeof(gUnknown_083759C0)); sub_8060D20(mapObject, sprite, direction, a3); - sub_805FE28(mapObject, sprite, functions[a3](mapObject->mapobj_unk_18)); + sub_805FE28(mapObject, sprite, functions[a3](mapObject->facingDirection)); } void do_run_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_8060D20(mapObject, sprite, direction, 1); - sub_805FE28(mapObject, sprite, get_run_image_anim_num(mapObject->mapobj_unk_18)); + sub_805FE28(mapObject, sprite, get_run_image_anim_num(mapObject->facingDirection)); } bool8 obj_npc_ministep(struct Sprite *); @@ -5916,7 +5915,7 @@ bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprit if (obj_npc_ministep(sprite)) { npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = 1; + mapObject->triggerGroundEffectsOnStop = 1; sprite->animPaused = 1; return 1; } @@ -5927,21 +5926,21 @@ void sub_8060E68(struct MapObject *mapObject, struct Sprite *sprite, u8 directio { s16 x; s16 y; - x = mapObject->coords2.x; - y = mapObject->coords2.y; + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; FieldObjectSetDirection(mapObject, direction); MoveCoords(direction, &x, &y); npc_coords_shift(mapObject, x, y); sub_806467C(sprite, direction); sprite->animPaused = 0; - mapObject->mapobj_bit_2 = 1; + mapObject->triggerGroundEffectsOnMove = 1; sprite->data[2] = 1; } void sub_8060ED8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_8060E68(mapObject, sprite, direction); - sub_805FE28(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + sub_805FE28(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); } bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) @@ -5949,7 +5948,7 @@ bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) if (sub_806468C(sprite)) { npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = 1; + mapObject->triggerGroundEffectsOnStop = 1; sprite->animPaused = 1; return TRUE; } @@ -6110,18 +6109,18 @@ void sub_806113C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio y = 0; FieldObjectSetDirection(mapObject, direction); sub_8060320(direction, &x, &y, vSPp4[a4], vSPp4[a4]); - npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); + npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); sub_80646E4(sprite, direction, a4, a5); sprite->data[2] = 1; sprite->animPaused = 0; - mapObject->mapobj_bit_2 = 1; - mapObject->mapobj_bit_4 = 1; + mapObject->triggerGroundEffectsOnMove = 1; + mapObject->disableCoveringGroundEffects = 1; } void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a4, u8 a5) { sub_806113C(mapObject, sprite, direction, a4, a5); - sub_805FE28(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + sub_805FE28(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); DoShadowFieldEffect(mapObject); } @@ -6137,15 +6136,15 @@ u8 sub_806123C(struct MapObject *mapObject, struct Sprite *sprite, u8 (*const ca { x = 0; y = 0; - sub_8060320(mapObject->placeholder18, &x, &y, vSPp4[sprite->data[4]], vSPp4[sprite->data[4]]); - npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); - mapObject->mapobj_bit_2 = 1; - mapObject->mapobj_bit_4 = 1; + sub_8060320(mapObject->movementDirection, &x, &y, vSPp4[sprite->data[4]], vSPp4[sprite->data[4]]); + npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); + mapObject->triggerGroundEffectsOnMove = 1; + mapObject->disableCoveringGroundEffects = 1; } else if (retval == 0xff) { npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = 1; - mapObject->mapobj_bit_5 = 1; + mapObject->triggerGroundEffectsOnStop = 1; + mapObject->landingJump = 1; sprite->animPaused = 1; } return retval; @@ -6192,8 +6191,8 @@ bool8 sub_8061358(struct MapObject *mapObject, struct Sprite *sprite) } return FALSE; } - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); - sub_805FE64(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + sub_805FE64(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); return FALSE; } @@ -6212,7 +6211,7 @@ bool8 sub_80613D4(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -6229,7 +6228,7 @@ bool8 sub_806142C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -6246,7 +6245,7 @@ bool8 sub_8061484(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -6263,7 +6262,7 @@ bool8 sub_80614DC(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -6813,7 +6812,7 @@ void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct bool8 sub_8061F24(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->placeholder18, sprite->animNum); + npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->movementDirection, sprite->animNum); return FALSE; } @@ -6848,7 +6847,7 @@ bool8 sub_8061FB0(struct MapObject *mapObject, struct Sprite *sprite) if (sub_8061340(mapObject, sprite)) { sprite->data[2] = 2; - mapObject->mapobj_bit_5 = 0; + mapObject->landingJump = 0; return TRUE; } return FALSE; @@ -6867,7 +6866,7 @@ bool8 sub_8061FF8(struct MapObject *mapObject, struct Sprite *sprite) if (sub_8061340(mapObject, sprite)) { sprite->data[2] = 2; - mapObject->mapobj_bit_5 = 0; + mapObject->landingJump = 0; return TRUE; } return FALSE; @@ -6886,7 +6885,7 @@ bool8 sub_8062040(struct MapObject *mapObject, struct Sprite *sprite) if (sub_8061340(mapObject, sprite)) { sprite->data[2] = 2; - mapObject->mapobj_bit_5 = 0; + mapObject->landingJump = 0; return TRUE; } return FALSE; @@ -6905,7 +6904,7 @@ bool8 sub_8062088(struct MapObject *mapObject, struct Sprite *sprite) if (sub_8061340(mapObject, sprite)) { sprite->data[2] = 2; - mapObject->mapobj_bit_5 = 0; + mapObject->landingJump = 0; return TRUE; } return FALSE; @@ -6916,7 +6915,7 @@ bool8 sub_80620B0(struct MapObject *mapObject, struct Sprite *sprite) u8 objectId; if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), &objectId)) { - an_look_any(mapObject, sprite, sub_805FE90(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[objectId].coords2.x, gMapObjects[objectId].coords2.y)); + an_look_any(mapObject, sprite, sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y)); } sprite->data[2] = 1; return TRUE; @@ -6927,7 +6926,7 @@ bool8 sub_806210C(struct MapObject *mapObject, struct Sprite *sprite) u8 objectId; if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), &objectId)) { - an_look_any(mapObject, sprite, GetOppositeDirection(sub_805FE90(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[objectId].coords2.x, gMapObjects[objectId].coords2.y))); + an_look_any(mapObject, sprite, GetOppositeDirection(sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y))); } sprite->data[2] = 1; return TRUE; @@ -6935,14 +6934,14 @@ bool8 sub_806210C(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8062170(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_9 = 1; + mapObject->facingDirectionLocked = 1; sprite->data[2] = 1; return TRUE; } bool8 sub_8062180(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_9 = 0; + mapObject->facingDirectionLocked = 0; sprite->data[2] = 1; return TRUE; } @@ -6959,7 +6958,7 @@ bool8 sub_80621BC(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -6978,7 +6977,7 @@ bool8 sub_8062214(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -6997,7 +6996,7 @@ bool8 sub_806226C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7016,7 +7015,7 @@ bool8 sub_80622C4(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7035,7 +7034,7 @@ bool8 sub_806231C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7054,7 +7053,7 @@ bool8 sub_8062374(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7073,7 +7072,7 @@ bool8 sub_80623CC(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7092,7 +7091,7 @@ bool8 sub_8062424(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7111,7 +7110,7 @@ bool8 sub_806247C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7130,7 +7129,7 @@ bool8 sub_80624D4(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7149,7 +7148,7 @@ bool8 sub_806252C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7168,7 +7167,7 @@ bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7189,42 +7188,42 @@ bool8 sub_80625C8(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80625D8(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_25 = 0; + mapObject->disableJumpLandingGroundEffect = 0; sprite->data[2] = 1; return TRUE; } bool8 sub_80625E8(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_25 = 1; + mapObject->disableJumpLandingGroundEffect = 1; sprite->data[2] = 1; return TRUE; } bool8 sub_80625F8(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_12 = 1; + mapObject->inanimate = 1; sprite->data[2] = 1; return TRUE; } bool8 sub_8062608(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; + mapObject->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; sprite->data[2] = 1; return TRUE; } bool8 sub_8062634(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; sprite->data[2] = 1; return TRUE; } bool8 sub_8062644(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; sprite->data[2] = 1; return TRUE; } @@ -7304,10 +7303,10 @@ bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8062764(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 ^= 1; + mapObject->invisible ^= 1; if (sub_8064824(sprite)) { - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; sprite->data[2] = 3; } return FALSE; @@ -7332,10 +7331,10 @@ bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80627E0(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 ^= 1; + mapObject->invisible ^= 1; if (sub_8064824(sprite)) { - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; sprite->data[2] = 3; } return FALSE; @@ -7343,14 +7342,14 @@ bool8 sub_80627E0(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_806281C(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_26 = 1; + mapObject->fixedPriority = 1; sprite->data[2] = 1; return TRUE; } bool8 sub_806282C(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_26 = 0; + mapObject->fixedPriority = 0; sprite->data[2] = 1; return TRUE; } @@ -7538,7 +7537,7 @@ bool8 sub_8062BFC(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7557,7 +7556,7 @@ bool8 sub_8062C54(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7576,7 +7575,7 @@ bool8 sub_8062CAC(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7595,7 +7594,7 @@ bool8 sub_8062D04(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7614,7 +7613,7 @@ bool8 sub_8062D5C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7633,7 +7632,7 @@ bool8 sub_8062DB4(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7652,7 +7651,7 @@ bool8 sub_8062E0C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7671,7 +7670,7 @@ bool8 sub_8062E64(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7690,7 +7689,7 @@ bool8 sub_8062EBC(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7709,7 +7708,7 @@ bool8 sub_8062F14(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7728,7 +7727,7 @@ bool8 sub_8062F6C(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7747,7 +7746,7 @@ bool8 sub_8062FC4(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { - mapObject->mapobj_bit_22 = 0; + mapObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -7781,7 +7780,7 @@ bool8 sub_8063098(struct MapObject *mapObject, struct Sprite *sprite) void sub_80630D0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { sub_8060D20(mapObject, sprite, direction, a3); - StartSpriteAnim(sprite, sub_805FD98(mapObject->mapobj_unk_18)); + StartSpriteAnim(sprite, sub_805FD98(mapObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -7860,7 +7859,7 @@ bool8 sub_80631E8(struct MapObject *mapObject, struct Sprite *sprite) void sub_8063208(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { sub_8060D20(mapObject, sprite, direction, a3); - sub_805FE28(mapObject, sprite, sub_805FDD8(mapObject->mapobj_unk_18)); + sub_805FE28(mapObject, sprite, sub_805FDD8(mapObject->facingDirection)); } bool8 sub_8063258(struct MapObject *, struct Sprite *); @@ -7938,7 +7937,7 @@ bool8 sub_8063318(struct MapObject *mapObject, struct Sprite *sprite) void sub_8063338(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { sub_8060D20(mapObject, sprite, direction, a3); - StartSpriteAnim(sprite, sub_805FDB8(mapObject->mapobj_unk_18)); + StartSpriteAnim(sprite, sub_805FDB8(mapObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -8027,7 +8026,7 @@ bool8 sub_8063474(struct MapObject *mapObject, struct Sprite *sprite) void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite) { - if (mapObject->mapobj_bit_10) + if (mapObject->disableAnim) { sprite->animPaused = 1; } @@ -8035,11 +8034,11 @@ void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct void sub_80634A0(struct MapObject *mapObject, struct Sprite *sprite) { - if (mapObject->mapobj_bit_11) + if (mapObject->enableAnim) { sprite->animPaused = 0; - mapObject->mapobj_bit_10 = 0; - mapObject->mapobj_bit_11 = 0; + mapObject->disableAnim = 0; + mapObject->enableAnim = 0; } } @@ -8060,7 +8059,7 @@ void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) s16 x2; s16 y2; const struct MapObjectGraphicsInfo *graphicsInfo; - mapObject->mapobj_bit_14 = 0; + mapObject->offScreen = 0; graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); if (sprite->coordOffsetEnabled) { @@ -8075,11 +8074,11 @@ void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) y2 = graphicsInfo->height + y; // similarly offending line if ((s16)x >= 0x100 || x2 < -0x10) { - mapObject->mapobj_bit_14 = 1; + mapObject->offScreen = 1; } if ((s16)y >= 0xB0 || y2 < -0x10) { - mapObject->mapobj_bit_14 = 1; + mapObject->offScreen = 1; } } #else @@ -8208,7 +8207,7 @@ _080635C0:\n\ void UpdateMapObjSpriteVisibility(struct MapObject *mapObject, struct Sprite *sprite) { sprite->invisible = 0; - if (mapObject->mapobj_bit_13 || mapObject->mapobj_bit_14) + if (mapObject->invisible || mapObject->offScreen) { sprite->invisible = 1; } @@ -8219,14 +8218,14 @@ static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Spr static void DoTracksGroundEffect_BikeTireTracks( struct MapObject *mapObj, struct Sprite *sprite, u8); void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite); -void sub_8063E94(struct MapObject *mapObj, struct Sprite *sprite); -void sub_8063EE0(struct MapObject *mapObj, struct Sprite *sprite); -void sub_8063F2C(struct MapObject *mapObj, struct Sprite *sprite); +void GroundEffect_MoveOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite); +void GroundEffect_SpawnOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite); +void GroundEffect_MoveOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite); void GroundEffect_WaterReflection(struct MapObject *mapObj, struct Sprite *sprite); void GroundEffect_IceReflection(struct MapObject *mapObj, struct Sprite *sprite); void GroundEffect_FlowingWater(struct MapObject *mapObj, struct Sprite *sprite); -void sub_8063FA0(struct MapObject *mapObj, struct Sprite *sprite); -void sub_8063FCC(struct MapObject *mapObj, struct Sprite *sprite); +void GroundEffect_SandTracks(struct MapObject *mapObj, struct Sprite *sprite); +void GroundEffect_DeepSandTracks(struct MapObject *mapObj, struct Sprite *sprite); void GroundEffect_Ripple(struct MapObject *mapObj, struct Sprite *sprite); void GroundEffect_StepOnPuddle(struct MapObject *mapObj, struct Sprite *sprite); void GroundEffect_SandPile(struct MapObject *mapObj, struct Sprite *sprite); @@ -8281,160 +8280,160 @@ static void GetAllGroundEffectFlags_OnFinishStep(struct MapObject *mapObj, u32 * void FieldObjectUpdateMetatileBehaviors(struct MapObject *mapObj) { - mapObj->mapobj_unk_1F = MapGridGetMetatileBehaviorAt(mapObj->coords3.x, mapObj->coords3.y); - mapObj->mapobj_unk_1E = MapGridGetMetatileBehaviorAt(mapObj->coords2.x, mapObj->coords2.y); + mapObj->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(mapObj->previousCoords.x, mapObj->previousCoords.y); + mapObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(mapObj->currentCoords.x, mapObj->currentCoords.y); } void GetGroundEffectFlags_Reflection(struct MapObject *mapObj, u32 *flags) { - u32 reflectionFlags[2] = { 0x00000020, 0x00000010 }; + u32 reflectionFlags[2] = { GROUND_EFFECT_FLAG_REFLECTION, GROUND_EFFECT_FLAG_ICE_REFLECTION }; u8 type = FieldObjectCheckForReflectiveSurface(mapObj); if (type) { - if (!mapObj->mapobj_bit_17) + if (!mapObj->hasReflection) { - mapObj->mapobj_bit_17 = 0; - mapObj->mapobj_bit_17 = 1; + mapObj->hasReflection = 0; + mapObj->hasReflection = 1; *flags |= reflectionFlags[type - 1]; } } else { - mapObj->mapobj_bit_17 = 0; + mapObj->hasReflection = 0; } } void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsTallGrass(mapObj->mapobj_unk_1E)) - *flags |= 0x1; + if (MetatileBehavior_IsTallGrass(mapObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN; } void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsTallGrass(mapObj->mapobj_unk_1E)) - *flags |= 0x2; + if (MetatileBehavior_IsTallGrass(mapObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE; } void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1E)) - *flags |= 0x4; + if (MetatileBehavior_IsLongGrass(mapObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN; } void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1E)) - *flags |= 0x8; + if (MetatileBehavior_IsLongGrass(mapObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE; } void GetGroundEffectFlags_Tracks(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1F)) + if (MetatileBehavior_IsDeepSand(mapObj->previousMetatileBehavior)) { - *flags |= 0x100; + *flags |= GROUND_EFFECT_FLAG_DEEP_SAND; } - else if (MetatileBehavior_IsSandOrDeepSand(mapObj->mapobj_unk_1F) - || MetatileBehavior_IsUnusedFootprintMetatile(mapObj->mapobj_unk_1F)) + else if (MetatileBehavior_IsSandOrDeepSand(mapObj->previousMetatileBehavior) + || MetatileBehavior_IsUnusedFootprintMetatile(mapObj->previousMetatileBehavior)) { - *flags |= 0x80; + *flags |= GROUND_EFFECT_FLAG_SAND; } } void GetGroundEffectFlags_SandPile(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1E) - && MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1F)) + if (MetatileBehavior_IsDeepSand(mapObj->currentMetatileBehavior) + && MetatileBehavior_IsDeepSand(mapObj->previousMetatileBehavior)) { - if (!mapObj->mapobj_bit_20) + if (!mapObj->inSandPile) { - mapObj->mapobj_bit_20 = 0; - mapObj->mapobj_bit_20 = 1; - *flags |= 0x800; + mapObj->inSandPile = 0; + mapObj->inSandPile = 1; + *flags |= GROUND_EFFECT_FLAG_SAND_PILE; } } else { - mapObj->mapobj_bit_20 = 0; + mapObj->inSandPile = 0; } } void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *mapObj, u32 *flags) { - if ((MetatileBehavior_IsShallowFlowingWater(mapObj->mapobj_unk_1E) - && MetatileBehavior_IsShallowFlowingWater(mapObj->mapobj_unk_1F)) - || (MetatileBehavior_IsPacifidlogLog(mapObj->mapobj_unk_1E) - && MetatileBehavior_IsPacifidlogLog(mapObj->mapobj_unk_1F))) + if ((MetatileBehavior_IsShallowFlowingWater(mapObj->currentMetatileBehavior) + && MetatileBehavior_IsShallowFlowingWater(mapObj->previousMetatileBehavior)) + || (MetatileBehavior_IsPacifidlogLog(mapObj->currentMetatileBehavior) + && MetatileBehavior_IsPacifidlogLog(mapObj->previousMetatileBehavior))) { - if (!mapObj->mapobj_bit_19) + if (!mapObj->inShallowFlowingWater) { - mapObj->mapobj_bit_19 = 0; - mapObj->mapobj_bit_19 = 1; - *flags |= 0x40; + mapObj->inShallowFlowingWater = 0; + mapObj->inShallowFlowingWater = 1; + *flags |= GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER; } } else { - mapObj->mapobj_bit_19 = 0; + mapObj->inShallowFlowingWater = 0; } } void GetGroundEffectFlags_Puddle(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsPuddle(mapObj->mapobj_unk_1E) - && MetatileBehavior_IsPuddle(mapObj->mapobj_unk_1F)) + if (MetatileBehavior_IsPuddle(mapObj->currentMetatileBehavior) + && MetatileBehavior_IsPuddle(mapObj->previousMetatileBehavior)) { - *flags |= 0x400; + *flags |= GROUND_EFFECT_FLAG_PUDDLE; } } void GetGroundEffectFlags_Ripple(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_HasRipples(mapObj->mapobj_unk_1E)) - *flags |= 0x200; + if (MetatileBehavior_HasRipples(mapObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_RIPPLES; } void GetGroundEffectFlags_ShortGrass(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsShortGrass(mapObj->mapobj_unk_1E) - && MetatileBehavior_IsShortGrass(mapObj->mapobj_unk_1F)) + if (MetatileBehavior_IsShortGrass(mapObj->currentMetatileBehavior) + && MetatileBehavior_IsShortGrass(mapObj->previousMetatileBehavior)) { - if (!mapObj->mapobj_bit_18) + if (!mapObj->inShortGrass) { - mapObj->mapobj_bit_18 = 0; - mapObj->mapobj_bit_18 = 1; - *flags |= 0x20000; + mapObj->inShortGrass = 0; + mapObj->inShortGrass = 1; + *flags |= GROUND_EFFECT_FLAG_SHORT_GRASS; } } else { - mapObj->mapobj_bit_18 = 0; + mapObj->inShortGrass = 0; } } void GetGroundEffectFlags_HotSprings(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsHotSprings(mapObj->mapobj_unk_1E) - && MetatileBehavior_IsHotSprings(mapObj->mapobj_unk_1F)) + if (MetatileBehavior_IsHotSprings(mapObj->currentMetatileBehavior) + && MetatileBehavior_IsHotSprings(mapObj->previousMetatileBehavior)) { - if (!mapObj->mapobj_bit_21) + if (!mapObj->inHotSprings) { - mapObj->mapobj_bit_21 = 0; - mapObj->mapobj_bit_21 = 1; - *flags |= 0x40000; + mapObj->inHotSprings = 0; + mapObj->inHotSprings = 1; + *flags |= GROUND_EFFECT_FLAG_HOT_SPRINGS; } } else { - mapObj->mapobj_bit_21 = 0; + mapObj->inHotSprings = 0; } } void GetGroundEffectFlags_Seaweed(struct MapObject *mapObj, u32 *flags) { - if (MetatileBehavior_IsSeaweed(mapObj->mapobj_unk_1E)) - *flags |= 0x80000; + if (MetatileBehavior_IsSeaweed(mapObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_SEAWEED; } void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags) @@ -8451,21 +8450,21 @@ void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags) }; static const u32 jumpLandingFlags[] = { - 0x00001000, // Landing in tall grass - 0x00002000, // Landing in long grass - 0x00004000, // Landing on puddle - 0x00008000, // Landing on surfable water or underwater - 0x00004000, // Landing on shallow flowing water - 0x00010000, // Landing on any other type of ground + GROUND_EFFECT_FLAG_LAND_IN_TALL_GRASS, + GROUND_EFFECT_FLAG_LAND_IN_LONG_GRASS, + GROUND_EFFECT_FLAG_LAND_IN_SHALLOW_WATER, + GROUND_EFFECT_FLAG_LAND_IN_DEEP_WATER, + GROUND_EFFECT_FLAG_LAND_IN_SHALLOW_WATER, + GROUND_EFFECT_FLAG_LAND_ON_NORMAL_GROUND, }; - if (mapObj->mapobj_bit_5 && !mapObj->mapobj_bit_25) + if (mapObj->landingJump && !mapObj->disableJumpLandingGroundEffect) { u8 i; - for (i = 0; i < 6; i++) + for (i = 0; i < ARRAY_COUNT(metatileFuncs); i++) { - if (metatileFuncs[i](mapObj->mapobj_unk_1E)) + if (metatileFuncs[i](mapObj->currentMetatileBehavior)) { *flags |= jumpLandingFlags[i]; return; @@ -8495,14 +8494,14 @@ u8 FieldObjectCheckForReflectiveSurface(struct MapObject *mapObj) for (i = 0, one = 1; i < height; i++) { - RETURN_REFLECTION_TYPE_AT(mapObj->coords2.x, mapObj->coords2.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->coords3.x, mapObj->coords3.y + one + i) + RETURN_REFLECTION_TYPE_AT(mapObj->currentCoords.x, mapObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(mapObj->previousCoords.x, mapObj->previousCoords.y + one + i) for (j = 1; j < width; j++) { - RETURN_REFLECTION_TYPE_AT(mapObj->coords2.x + j, mapObj->coords2.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->coords2.x - j, mapObj->coords2.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->coords3.x + j, mapObj->coords3.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->coords3.x - j, mapObj->coords3.y + one + i) + RETURN_REFLECTION_TYPE_AT(mapObj->currentCoords.x + j, mapObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(mapObj->currentCoords.x - j, mapObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(mapObj->previousCoords.x + j, mapObj->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(mapObj->previousCoords.x - j, mapObj->previousCoords.y + one + i) } } return 0; @@ -8548,18 +8547,18 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) void FieldObjectSetSpriteOamTableForLongGrass(struct MapObject *mapObj, struct Sprite *sprite) { - if (mapObj->mapobj_bit_4) + if (mapObj->disableCoveringGroundEffects) return; - if (!MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1E)) + if (!MetatileBehavior_IsLongGrass(mapObj->currentMetatileBehavior)) return; - if (!MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1F)) + if (!MetatileBehavior_IsLongGrass(mapObj->previousMetatileBehavior)) return; sprite->subspriteTableNum = 4; - if (ZCoordToPriority(mapObj->elevation) == 1) + if (ZCoordToPriority(mapObj->previousElevation) == 1) sprite->subspriteTableNum = 5; } @@ -8601,13 +8600,13 @@ static const u8 sFieldObjectPriorities_08376070[] = { void FieldObjectUpdateZCoordAndPriority(struct MapObject *mapObj, struct Sprite *sprite) { - if (mapObj->mapobj_bit_26) + if (mapObj->fixedPriority) return; FieldObjectUpdateZCoord(mapObj); - sprite->subspriteTableNum = sFieldObjectPriorities_08376070[mapObj->elevation]; - sprite->oam.priority = sFieldObjectPriorities_08376060[mapObj->elevation]; + sprite->subspriteTableNum = sFieldObjectPriorities_08376070[mapObj->previousElevation]; + sprite->oam.priority = sFieldObjectPriorities_08376060[mapObj->previousElevation]; } void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z) @@ -8623,16 +8622,16 @@ u8 ZCoordToPriority(u8 z) void FieldObjectUpdateZCoord(struct MapObject *mapObj) { - u8 z = MapGridGetZCoordAt(mapObj->coords2.x, mapObj->coords2.y); - u8 z2 = MapGridGetZCoordAt(mapObj->coords3.x, mapObj->coords3.y); + u8 z = MapGridGetZCoordAt(mapObj->currentCoords.x, mapObj->currentCoords.y); + u8 z2 = MapGridGetZCoordAt(mapObj->previousCoords.x, mapObj->previousCoords.y); if (z == 0xF || z2 == 0xF) return; - mapObj->mapobj_unk_0B_0 = z; + mapObj->currentElevation = z; if (z != 0 && z != 0xF) - mapObj->elevation = z; + mapObj->previousElevation = z; } void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) @@ -8647,10 +8646,10 @@ void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) void FieldObjectUpdateSubpriority(struct MapObject *mapObj, struct Sprite *sprite) { - if (mapObj->mapobj_bit_26) + if (mapObj->fixedPriority) return; - SetObjectSubpriorityByZCoord(mapObj->elevation, sprite, 1); + SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); } bool8 AreZCoordsCompatible(u8 a, u8 b) @@ -8666,9 +8665,9 @@ bool8 AreZCoordsCompatible(u8 a, u8 b) void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; @@ -8677,11 +8676,11 @@ void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *spri FieldEffectStart(FLDEFF_TALL_GRASS); } -void sub_8063E94(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_MoveOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; @@ -8690,11 +8689,11 @@ void sub_8063E94(struct MapObject *mapObj, struct Sprite *sprite) FieldEffectStart(FLDEFF_TALL_GRASS); } -void sub_8063EE0(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_SpawnOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; @@ -8703,11 +8702,11 @@ void sub_8063EE0(struct MapObject *mapObj, struct Sprite *sprite) FieldEffectStart(FLDEFF_LONG_GRASS); } -void sub_8063F2C(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_MoveOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; gFieldEffectArguments[5] = mapObj->mapGroup; @@ -8735,13 +8734,13 @@ static void (*const gUnknown_08376080[])(struct MapObject *mapObj, struct Sprite nullsub, DoTracksGroundEffect_Footprints, DoTracksGroundEffect_BikeTireTracks, }; -void sub_8063FA0(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_SandTracks(struct MapObject *mapObj, struct Sprite *sprite) { const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(mapObj->graphicsId); gUnknown_08376080[info->tracks](mapObj, sprite, 0); } -void sub_8063FCC(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_DeepSandTracks(struct MapObject *mapObj, struct Sprite *sprite) { const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(mapObj->graphicsId); gUnknown_08376080[info->tracks](mapObj, sprite, 1); @@ -8759,11 +8758,11 @@ static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Spr FLDEFF_DEEP_SAND_FOOTPRINTS }; - gFieldEffectArguments[0] = mapObj->coords3.x; - gFieldEffectArguments[1] = mapObj->coords3.y; + gFieldEffectArguments[0] = mapObj->previousCoords.x; + gFieldEffectArguments[1] = mapObj->previousCoords.y; gFieldEffectArguments[2] = 149; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = mapObj->mapobj_unk_18; + gFieldEffectArguments[4] = mapObj->facingDirection; FieldEffectStart(sandFootprints_FieldEffectData[a]); } @@ -8783,14 +8782,14 @@ static void DoTracksGroundEffect_BikeTireTracks( 6, 7, 3, 4, }; - if (mapObj->coords2.x != mapObj->coords3.x || mapObj->coords2.y != mapObj->coords3.y) + if (mapObj->currentCoords.x != mapObj->previousCoords.x || mapObj->currentCoords.y != mapObj->previousCoords.y) { - gFieldEffectArguments[0] = mapObj->coords3.x; - gFieldEffectArguments[1] = mapObj->coords3.y; + gFieldEffectArguments[0] = mapObj->previousCoords.x; + gFieldEffectArguments[1] = mapObj->previousCoords.y; gFieldEffectArguments[2] = 149; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = - bikeTireTracks_Transitions[mapObj->mapobj_unk_20][mapObj->mapobj_unk_18 - 5]; + bikeTireTracks_Transitions[mapObj->previousMovementDirection][mapObj->facingDirection - 5]; FieldEffectStart(FLDEFF_BIKE_TIRE_TRACKS); } } @@ -8814,14 +8813,14 @@ void GroundEffect_JumpOnTallGrass(struct MapObject *mapObj, struct Sprite *sprit { u8 spriteId; - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = 2; FieldEffectStart(FLDEFF_JUMP_TALL_GRASS); spriteId = sub_8126FF0( - mapObj->localId, mapObj->mapNum, mapObj->mapGroup, mapObj->coords2.x, mapObj->coords2.y); + mapObj->localId, mapObj->mapNum, mapObj->mapGroup, mapObj->currentCoords.x, mapObj->currentCoords.y); if (spriteId == MAX_SPRITES) GroundEffect_SpawnOnTallGrass(mapObj, sprite); @@ -8829,36 +8828,36 @@ void GroundEffect_JumpOnTallGrass(struct MapObject *mapObj, struct Sprite *sprit void GroundEffect_JumpOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = 2; FieldEffectStart(FLDEFF_JUMP_LONG_GRASS); } void GroundEffect_JumpOnShallowWater(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_JUMP_SMALL_SPLASH); } void GroundEffect_JumpOnWater(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_JUMP_BIG_SPLASH); } void GroundEffect_JumpLandingDust(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; - gFieldEffectArguments[2] = mapObj->elevation; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[2] = mapObj->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_DUST); } @@ -8875,21 +8874,21 @@ void GroundEffect_HotSprings(struct MapObject *mapObj, struct Sprite *sprite) void GroundEffect_Seaweed(struct MapObject *mapObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->coords2.x; - gFieldEffectArguments[1] = mapObj->coords2.y; + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; FieldEffectStart(FLDEFF_BUBBLES); } -static void (*const gUnknown_083760A0[])(struct MapObject *mapObj, struct Sprite *sprite) = { +static void (*const sGroundEffectFuncs[])(struct MapObject *mapObj, struct Sprite *sprite) = { GroundEffect_SpawnOnTallGrass, - sub_8063E94, - sub_8063EE0, - sub_8063F2C, + GroundEffect_MoveOnTallGrass, + GroundEffect_SpawnOnLongGrass, + GroundEffect_MoveOnLongGrass, GroundEffect_WaterReflection, GroundEffect_IceReflection, GroundEffect_FlowingWater, - sub_8063FA0, - sub_8063FCC, + GroundEffect_SandTracks, + GroundEffect_DeepSandTracks, GroundEffect_Ripple, GroundEffect_StepOnPuddle, GroundEffect_SandPile, @@ -8903,45 +8902,49 @@ static void (*const gUnknown_083760A0[])(struct MapObject *mapObj, struct Sprite GroundEffect_Seaweed }; -void sub_8064218(struct MapObject *mapObj, struct Sprite *sprite, u32 flags) +static void StartTriggeredGroundEffects(struct MapObject *mapObj, struct Sprite *sprite, u32 flags) { u8 i; - for (i = 0; i < ARRAY_COUNT(gUnknown_083760A0); i++, flags >>= 1) + for (i = 0; i < ARRAY_COUNT(sGroundEffectFuncs); i++, flags >>= 1) if (flags & 1) - gUnknown_083760A0[i](mapObj, sprite); + sGroundEffectFuncs[i](mapObj, sprite); } void filters_out_some_ground_effects(struct MapObject *mapObj, u32 *flags) { - if (mapObj->mapobj_bit_4) + if (mapObj->disableCoveringGroundEffects) { - mapObj->mapobj_bit_18 = 0; - mapObj->mapobj_bit_20 = 0; - mapObj->mapobj_bit_19 = 0; - mapObj->mapobj_bit_21 = 0; - *flags &= 0xFFF9F7BD; + mapObj->inShortGrass = 0; + mapObj->inSandPile = 0; + mapObj->inShallowFlowingWater = 0; + mapObj->inHotSprings = 0; + *flags &= ~(GROUND_EFFECT_FLAG_HOT_SPRINGS + | GROUND_EFFECT_FLAG_SHORT_GRASS + | GROUND_EFFECT_FLAG_SAND_PILE + | GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER + | GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE); } } void FilterOutStepOnPuddleGroundEffectIfJumping(struct MapObject *mapObj, u32 *flags) { - if (mapObj->mapobj_bit_5) - *flags &= 0xFFFFFBFF; + if (mapObj->landingJump) + *flags &= ~GROUND_EFFECT_FLAG_PUDDLE; } void DoGroundEffects_OnSpawn(struct MapObject *mapObj, struct Sprite *sprite) { u32 flags; - if (mapObj->mapobj_bit_2) + if (mapObj->triggerGroundEffectsOnMove) { flags = 0; FieldObjectUpdateZCoordAndPriority(mapObj, sprite); GetAllGroundEffectFlags_OnSpawn(mapObj, &flags); FieldObjectSetSpriteOamTableForLongGrass(mapObj, sprite); - sub_8064218(mapObj, sprite, flags); - mapObj->mapobj_bit_2 = 0; - mapObj->mapobj_bit_4 = 0; + StartTriggeredGroundEffects(mapObj, sprite, flags); + mapObj->triggerGroundEffectsOnMove = 0; + mapObj->disableCoveringGroundEffects = 0; } } @@ -8949,16 +8952,16 @@ void DoGroundEffects_OnBeginStep(struct MapObject *mapObj, struct Sprite *sprite { u32 flags; - if (mapObj->mapobj_bit_2) + if (mapObj->triggerGroundEffectsOnMove) { flags = 0; FieldObjectUpdateZCoordAndPriority(mapObj, sprite); GetAllGroundEffectFlags_OnBeginStep(mapObj, &flags); FieldObjectSetSpriteOamTableForLongGrass(mapObj, sprite); filters_out_some_ground_effects(mapObj, &flags); - sub_8064218(mapObj, sprite, flags); - mapObj->mapobj_bit_2 = 0; - mapObj->mapobj_bit_4 = 0; + StartTriggeredGroundEffects(mapObj, sprite, flags); + mapObj->triggerGroundEffectsOnMove = 0; + mapObj->disableCoveringGroundEffects = 0; } } @@ -8966,16 +8969,16 @@ void DoGroundEffects_OnFinishStep(struct MapObject *mapObj, struct Sprite *sprit { u32 flags; - if (mapObj->mapobj_bit_3) + if (mapObj->triggerGroundEffectsOnStop) { flags = 0; FieldObjectUpdateZCoordAndPriority(mapObj, sprite); GetAllGroundEffectFlags_OnFinishStep(mapObj, &flags); FieldObjectSetSpriteOamTableForLongGrass(mapObj, sprite); FilterOutStepOnPuddleGroundEffectIfJumping(mapObj, &flags); - sub_8064218(mapObj, sprite, flags); - mapObj->mapobj_bit_3 = 0; - mapObj->mapobj_bit_5 = 0; + StartTriggeredGroundEffects(mapObj, sprite, flags); + mapObj->triggerGroundEffectsOnStop = 0; + mapObj->landingJump = 0; } } @@ -9070,15 +9073,15 @@ const s8 *const gUnknown_083761D0[] = { bool8 FreezeMapObject(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6 || mapObject->mapobj_bit_8) + if (mapObject->specialAnimActive || mapObject->frozen) { return TRUE; } else { - mapObject->mapobj_bit_8 = 1; - mapObject->mapobj_bit_23 = gSprites[mapObject->spriteId].animPaused; - mapObject->mapobj_bit_24 = gSprites[mapObject->spriteId].affineAnimPaused; + mapObject->frozen = 1; + mapObject->spriteAnimPausedBackup = gSprites[mapObject->spriteId].animPaused; + mapObject->spriteAffineAnimPausedBackup = gSprites[mapObject->spriteId].affineAnimPaused; gSprites[mapObject->spriteId].animPaused = 1; gSprites[mapObject->spriteId].affineAnimPaused = 1; return FALSE; @@ -9103,11 +9106,11 @@ void FreezeMapObjectsExceptOne(u8 a1) void UnfreezeMapObject(struct MapObject *mapObject) { - if (mapObject->active && mapObject->mapobj_bit_8) + if (mapObject->active && mapObject->frozen) { - mapObject->mapobj_bit_8 = 0; - gSprites[mapObject->spriteId].animPaused = mapObject->mapobj_bit_23; - gSprites[mapObject->spriteId].affineAnimPaused = mapObject->mapobj_bit_24; + mapObject->frozen = 0; + gSprites[mapObject->spriteId].animPaused = mapObject->spriteAnimPausedBackup; + gSprites[mapObject->spriteId].affineAnimPaused = mapObject->spriteAffineAnimPausedBackup; } } @@ -9343,9 +9346,9 @@ u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) void DoShadowFieldEffect(struct MapObject *mapObject) { - if (!mapObject->mapobj_bit_22) + if (!mapObject->hasShadow) { - mapObject->mapobj_bit_22 = 1; + mapObject->hasShadow = 1; oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject); } } diff --git a/src/field_effect.c b/src/field_effect.c index 1617d8f51..51d1a1a0a 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1118,7 +1118,7 @@ void mapldr_08084390(void) Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(c3_080843F8, 0); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; if (gPlayerAvatar.flags & 0x08) { FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_WEST); @@ -1178,11 +1178,11 @@ bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0] playerObject = &gMapObjects[gPlayerAvatar.mapObjectId]; playerSprite = &gSprites[gPlayerAvatar.spriteId]; CameraObjectReset2(); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; FieldObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); task->data[4] = playerSprite->subspriteMode; - playerObject->mapobj_bit_26 = 1; + playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; playerSprite->subspriteMode = 2; task->data[0]++; @@ -1207,7 +1207,7 @@ bool8 sub_8086870(struct Task *task) // gUnknown_0839F2CC[2] sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); task->data[1] = 1; task->data[2] = 0; - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 0; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; PlaySE(SE_RU_HYUU); task->data[0]++; return FALSE; @@ -1232,15 +1232,15 @@ bool8 sub_80868E4(struct Task *task) if (task->data[3] == 0 && sprite->pos2.y >= -16) { task->data[3]++; - mapObject->mapobj_bit_26 = 0; + mapObject->fixedPriority = 0; sprite->subspriteMode = task->data[4]; - mapObject->mapobj_bit_2 = 1; + mapObject->triggerGroundEffectsOnMove = 1; } if (sprite->pos2.y >= 0) { PlaySE(SE_W070); - mapObject->mapobj_bit_3 = 1; - mapObject->mapobj_bit_5 = 1; + mapObject->triggerGroundEffectsOnStop = 1; + mapObject->landingJump = 1; sprite->pos2.y = 0; task->data[0]++; } @@ -1611,7 +1611,7 @@ bool8 sub_8087058(struct Task *task, struct MapObject *mapObject) { return FALSE; } - if (MetatileBehavior_IsWaterfall(mapObject->mapobj_unk_1E)) + if (MetatileBehavior_IsWaterfall(mapObject->currentMetatileBehavior)) { task->data[0] = 3; return TRUE; @@ -1663,7 +1663,7 @@ bool8 dive_3_unknown(struct Task *task) PlayerGetDestCoords(&mapPosition.x, &mapPosition.y); if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - dive_warp(&mapPosition, gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E); + dive_warp(&mapPosition, gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior); DestroyTask(FindTaskIdByFunc(Task_Dive)); FieldEffectActiveListRemove(FLDEFF_USE_DIVE); } @@ -1689,7 +1689,7 @@ bool8 sub_808722C(struct Task *task, struct MapObject *mapObject, struct Sprite CameraObjectReset2(); SetCameraPanningCallback(NULL); gPlayerAvatar.preventStep = TRUE; - mapObject->mapobj_bit_26 = 1; + mapObject->fixedPriority = 1; task->data[1] = 1; task->data[0]++; return TRUE; @@ -1712,8 +1712,8 @@ bool8 sub_8087298(struct Task *task, struct MapObject *mapObject, struct Sprite { sprite->pos2.y = 0; task->data[3] = 1; - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_LAVARIDGE_GYM_WARP); @@ -1754,7 +1754,7 @@ bool8 sub_80872E4(struct Task *task, struct MapObject *mapObject, struct Sprite if (task->data[5] == 0 && sprite->pos2.y < -0x10) { task->data[5]++; - mapObject->mapobj_bit_26 = 1; + mapObject->fixedPriority = 1; sprite->oam.priority = 1; sprite->subspriteMode = 2; } @@ -1806,7 +1806,7 @@ bool8 sub_80874CC(struct Task *task, struct MapObject *mapObject, struct Sprite CameraObjectReset2(); FreezeMapObjects(); gPlayerAvatar.preventStep = TRUE; - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; task->data[0]++; return FALSE; } @@ -1815,8 +1815,8 @@ bool8 sub_80874FC(struct Task *task, struct MapObject *mapObject, struct Sprite { if (IsWeatherNotFadingIn()) { - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1831,7 +1831,7 @@ bool8 sub_8087548(struct Task *task, struct MapObject *mapObject, struct Sprite if (sprite->animCmdIndex > 1) { task->data[0]++; - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; CameraObjectReset1(); PlaySE(SE_W091); FieldObjectSetSpecialAnim(mapObject, sub_80608A4(DIR_EAST)); @@ -1889,7 +1889,7 @@ bool8 sub_80876C8(struct Task *task, struct MapObject *mapObject, struct Sprite FreezeMapObjects(); CameraObjectReset2(); gPlayerAvatar.preventStep = TRUE; - mapObject->mapobj_bit_26 = 1; + mapObject->fixedPriority = 1; task->data[0]++; return FALSE; } @@ -1900,8 +1900,8 @@ bool8 sub_80876F8(struct Task *task, struct MapObject *mapObject, struct Sprite { if (task->data[1] > 3) { - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1909,7 +1909,7 @@ bool8 sub_80876F8(struct Task *task, struct MapObject *mapObject, struct Sprite } else { task->data[1]++; - FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } @@ -1920,7 +1920,7 @@ bool8 sub_8087774(struct Task *task, struct MapObject *mapObject, struct Sprite { if (gSprites[task->data[1]].animCmdIndex == 2) { - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; task->data[0]++; } return FALSE; @@ -2011,7 +2011,7 @@ void sub_8087914(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80878C4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->mapobj_unk_18])); + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2035,7 +2035,7 @@ void mapldr_080859D4(void) ScriptContext2_Enable(); FreezeMapObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; CreateTask(sub_8087A74, 0); } @@ -2065,20 +2065,20 @@ void sub_8087AC8(struct Task *task) } if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble()) { - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; ScriptContext2_Disable(); UnfreezeMapObjects(); DestroyTask(FindTaskIdByFunc(sub_8087A74)); return; } - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->mapobj_unk_18])); + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; } task->data[1] = task->data[2] >> 2; } - mapObject->mapobj_bit_13 ^= 1; + mapObject->invisible ^= 1; } static void ExecuteTeleportFieldEffectTask(u8); @@ -2120,11 +2120,11 @@ static void TeleportFieldEffectTask2(struct Task *task) struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); task->data[1] = 8; task->data[2]++; } - if (task->data[2] > 7 && task->data[15] == mapObject->mapobj_unk_18) + if (task->data[2] > 7 && task->data[15] == mapObject->facingDirection) { task->data[0]++; task->data[1] = 4; @@ -2142,7 +2142,7 @@ static void TeleportFieldEffectTask3(struct Task *task) if ((--task->data[1]) <= 0) { task->data[1] = 4; - FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); } sprite->pos1.y -= task->data[3]; task->data[4] += task->data[3]; @@ -2183,7 +2183,7 @@ static void mapldr_08085D88(void) ScriptContext2_Enable(); FreezeMapObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; CameraObjectReset2(); CreateTask(sub_8087E1C, 0); } @@ -2208,7 +2208,7 @@ void sub_8087E4C(struct Task *task) sprite = &gSprites[gPlayerAvatar.spriteId]; centerToCornerVecY = -(sprite->centerToCornerVecY << 1); sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 0; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; task->data[0]++; task->data[1] = 8; task->data[2] = 1; @@ -2228,7 +2228,7 @@ void sub_8087ED8(struct Task *task) if (task->data[13] == 0) { task->data[13]++; - mapObject->mapobj_bit_2 = 1; + mapObject->triggerGroundEffectsOnMove = 1; sprite->subspriteMode = task->data[14]; } } else @@ -2246,7 +2246,7 @@ void sub_8087ED8(struct Task *task) if ((--task->data[2]) == 0) { task->data[2] = 4; - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, unknown_0839F380[mapObject->facingDirection]); } if (sprite->pos2.y >= 0) { @@ -2263,9 +2263,9 @@ void sub_8087FDC(struct Task *task) struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if ((--task->data[1]) == 0) { - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, unknown_0839F380[mapObject->facingDirection]); task->data[1] = 8; - if ((++task->data[2]) > 4 && task->data[14] == mapObject->mapobj_unk_18) + if ((++task->data[2]) > 4 && task->data[14] == mapObject->facingDirection) { ScriptContext2_Disable(); CameraObjectReset1(); @@ -2825,7 +2825,7 @@ void sub_8088984(struct Task *task) gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(8); PlayerGetDestCoords(&task->data[1], &task->data[2]); - MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].placeholder18, &task->data[1], &task->data[2]); + MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].movementDirection, &task->data[1], &task->data[2]); task->data[0]++; } @@ -2861,11 +2861,11 @@ void sub_8088A78(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); FieldObjectClearAnimIfSpecialAnimFinished(mapObject); - FieldObjectSetSpecialAnim(mapObject, sub_80608D0(mapObject->placeholder18)); + FieldObjectSetSpecialAnim(mapObject, sub_80608D0(mapObject->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_SURF_BLOB); + mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); task->data[0]++; } } @@ -2878,8 +2878,8 @@ void sub_8088AF4(struct Task *task) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->placeholder18)); - sub_8127ED0(mapObject->mapobj_unk_1A, 1); + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->movementDirection)); + sub_8127ED0(mapObject->fieldEffectSpriteId, 1); UnfreezeMapObjects(); ScriptContext2_Disable(); FieldEffectActiveListRemove(FLDEFF_USE_SURF); @@ -2993,8 +2993,8 @@ void sub_8088D3C(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[15] & 0x08) { - sub_8127ED0(mapObject->mapobj_unk_1A, 2); - sub_8127EFC(mapObject->mapobj_unk_1A, 0); + sub_8127ED0(mapObject->fieldEffectSpriteId, 2); + sub_8127EFC(mapObject->fieldEffectSpriteId, 0); } task->data[1] = sub_8088F60(); task->data[0]++; @@ -3032,11 +3032,11 @@ void sub_8088E2C(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->mapobj_bit_12 = 1; + mapObject->inanimate = 1; FieldObjectSetSpecialAnim(mapObject, 0x48); if (task->data[15] & 0x08) { - DestroySprite(&gSprites[mapObject->mapobj_unk_1A]); + DestroySprite(&gSprites[mapObject->fieldEffectSpriteId]); } task->data[0]++; task->data[2] = 0; @@ -3050,8 +3050,8 @@ void sub_8088EB4(struct Task *task) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; FieldObjectClearAnimIfSpecialAnimActive(mapObject); - mapObject->mapobj_bit_12 = 0; - mapObject->mapobj_bit_22 = 0; + mapObject->inanimate = 0; + mapObject->hasShadow = 0; sub_8088FFC(task->data[1], mapObject->spriteId); CameraObjectReset2(); task->data[0]++; @@ -3268,13 +3268,13 @@ void sub_80892A0(struct Task *task) SetPlayerAvatarStateMask(0x01); if (task->data[15] & 0x08) { - sub_8127ED0(mapObject->mapobj_unk_1A, 0); + sub_8127ED0(mapObject->fieldEffectSpriteId, 0); } sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); CameraObjectReset2(); FieldObjectTurn(mapObject, DIR_WEST); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; task->data[1] = sub_8088F60(); sub_8088FC0(task->data[1]); sub_8088FFC(task->data[1], mapObject->spriteId); @@ -3337,8 +3337,8 @@ void sub_8089414(struct Task *task) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; sprite = &gSprites[mapObject->spriteId]; - mapObject->mapobj_bit_12 = 0; - sub_805C058(mapObject, mapObject->coords2.x, mapObject->coords2.y); + mapObject->inanimate = 0; + sub_805C058(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; @@ -3378,7 +3378,7 @@ void fishE(struct Task *task) if (task->data[15] & 0x08) { state = PLAYER_AVATAR_STATE_SURFING; - sub_8127ED0(mapObject->mapobj_unk_1A, 1); + sub_8127ED0(mapObject->fieldEffectSpriteId, 1); } sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); FieldObjectTurn(mapObject, DIR_SOUTH); diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index be7bcec27..ea3225564 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -62,7 +62,7 @@ static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite) u8 whichElement; u16 unk_8041e2c[] = {0x0c, 0x1c, 0x2c}; sprite->data[2] = 0; - if (!GetFieldObjectGraphicsInfo(mapObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(mapObject->mapobj_unk_1F)) || (whichElement = sub_8057450(mapObject->mapobj_unk_1E)))) + if (!GetFieldObjectGraphicsInfo(mapObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(mapObject->previousMetatileBehavior)) || (whichElement = sub_8057450(mapObject->currentMetatileBehavior)))) { sprite->data[2] = unk_8041e2c[whichElement - 1]; npc_pal_op_A(mapObject, sprite->oam.paletteNum); @@ -115,7 +115,7 @@ static void sub_81269E0(struct Sprite *sprite) mapObject = &gMapObjects[sprite->data[0]]; oldSprite = &gSprites[mapObject->spriteId]; - if (!mapObject->active || !mapObject->mapobj_bit_17 || mapObject->localId != sprite->data[1]) + if (!mapObject->active || !mapObject->hasReflection || mapObject->localId != sprite->data[1]) { sprite->inUse = FALSE; } @@ -239,7 +239,7 @@ void oamc_shadow(struct Sprite *sprite) sprite->oam.priority = linkedSprite->oam.priority; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = linkedSprite->pos1.y + sprite->data[3]; - if (!mapObject->active || !mapObject->mapobj_bit_22 || MetatileBehavior_IsPokeGrass(mapObject->mapobj_unk_1E) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->mapobj_unk_1E) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->mapobj_unk_1F) || MetatileBehavior_IsReflective(mapObject->mapobj_unk_1E) || MetatileBehavior_IsReflective(mapObject->mapobj_unk_1F)) + if (!mapObject->active || !mapObject->hasShadow || MetatileBehavior_IsPokeGrass(mapObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->previousMetatileBehavior) || MetatileBehavior_IsReflective(mapObject->currentMetatileBehavior) || MetatileBehavior_IsReflective(mapObject->previousMetatileBehavior)) { FieldEffectStop(sprite, FLDEFF_SHADOW); } @@ -304,7 +304,7 @@ void unc_grass_normal(struct Sprite *sprite) else { mapObject = &gMapObjects[mapObjectId]; - if ((mapObject->coords2.x != sprite->data[1] || mapObject->coords2.y != sprite->data[2]) && (mapObject->coords3.x != sprite->data[1] || mapObject->coords3.y != sprite->data[2])) + if ((mapObject->currentCoords.x != sprite->data[1] || mapObject->currentCoords.y != sprite->data[2]) && (mapObject->previousCoords.x != sprite->data[1] || mapObject->previousCoords.y != sprite->data[2])) { sprite->data[7] = TRUE; } @@ -413,7 +413,7 @@ void unc_grass_tall(struct Sprite *sprite) else { mapObject = &gMapObjects[mapObjectId]; - if ((mapObject->coords2.x != sprite->data[1] || mapObject->coords2.y != sprite->data[2]) && (mapObject->coords3.x != sprite->data[1] || mapObject->coords3.y != sprite->data[2])) + if ((mapObject->currentCoords.x != sprite->data[1] || mapObject->currentCoords.y != sprite->data[2]) && (mapObject->previousCoords.x != sprite->data[1] || mapObject->previousCoords.y != sprite->data[2])) { sprite->data[7] = TRUE; } @@ -472,7 +472,7 @@ void sub_8127334(struct Sprite *sprite) const struct MapObjectGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_18) + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inShortGrass) { FieldEffectStop(sprite, FLDEFF_SHORT_GRASS); } @@ -699,7 +699,7 @@ static void sub_81278D8(struct Sprite *sprite) struct Sprite *linkedSprite; struct MapObject *mapObject; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_19) + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inShallowFlowingWater) { FieldEffectStop(sprite, FLDEFF_FEET_IN_FLOWING_WATER); } @@ -711,10 +711,10 @@ static void sub_81278D8(struct Sprite *sprite) sprite->pos1.y = linkedSprite->pos1.y; sprite->subpriority = linkedSprite->subpriority; sub_806487C(sprite, FALSE); - if (mapObject->coords2.x != sprite->data[3] || mapObject->coords2.y != sprite->data[4]) + if (mapObject->currentCoords.x != sprite->data[3] || mapObject->currentCoords.y != sprite->data[4]) { - sprite->data[3] = mapObject->coords2.x; - sprite->data[4] = mapObject->coords2.y; + sprite->data[3] = mapObject->currentCoords.x; + sprite->data[4] = mapObject->currentCoords.y; if (!sprite->invisible) { PlaySE(SE_MIZU); @@ -769,7 +769,7 @@ void sub_8127A7C(struct Sprite *sprite) const struct MapObjectGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_21) + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inHotSprings) { FieldEffectStop(sprite, FLDEFF_HOT_SPRINGS_WATER); } @@ -914,7 +914,7 @@ static void sub_8127DD0(struct Sprite *sprite) sprite->animPaused = FALSE; MapGridSetMetatileIdAt(sprite->data[1], sprite->data[2], sprite->data[3]); CurrentMapDrawMetatileAt(sprite->data[1], sprite->data[2]); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_2 = TRUE; + gMapObjects[gPlayerAvatar.mapObjectId].triggerGroundEffectsOnMove = TRUE; sprite->data[0] = 2; } @@ -997,7 +997,7 @@ static void sub_8127FD4(struct MapObject *mapObject, struct Sprite *sprite) u8 unk_8041E54[] = {0, 0, 1, 2, 3}; if (sub_8127F64(sprite) == 0) { - StartSpriteAnimIfDifferent(sprite, unk_8041E54[mapObject->placeholder18]); + StartSpriteAnimIfDifferent(sprite, unk_8041E54[mapObject->movementDirection]); } } @@ -1008,8 +1008,8 @@ static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) s16 y; u8 i; - x = mapObject->coords2.x; - y = mapObject->coords2.y; + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; if (sprite->pos2.y == 0 && (x != sprite->data[6] || y != sprite->data[7])) { sprite->data[5] = sprite->pos2.y; @@ -1217,7 +1217,7 @@ void sub_81282E0(struct Sprite *sprite) s16 x; s16 y; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].mapobj_bit_20) + if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inSandPile) { FieldEffectStop(sprite, FLDEFF_SAND_PILE); } @@ -1338,7 +1338,7 @@ void sub_81285AC(struct Sprite *sprite) { FieldEffectStop(sprite, sprite->data[1]); } - // else { + graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId]; sprite->invisible = linkedSprite->invisible; @@ -1358,14 +1358,13 @@ void sub_81285AC(struct Sprite *sprite) { FieldEffectStop(sprite, sprite->data[1]); } - // } } void sub_812869C(struct MapObject *mapObject) { - if (mapObject->mapobj_unk_21 == 1) + if (mapObject->directionSequenceIndex == 1) { - gSprites[mapObject->mapobj_unk_1A].data[0] ++; + gSprites[mapObject->fieldEffectSpriteId].data[0] ++; } } @@ -1373,18 +1372,18 @@ bool8 sub_81286C4(struct MapObject *mapObject) { struct Sprite *sprite; - if (mapObject->mapobj_unk_21 == 2) + if (mapObject->directionSequenceIndex == 2) { return TRUE; } - if (mapObject->mapobj_unk_21 == 0) + if (mapObject->directionSequenceIndex == 0) { return TRUE; } - sprite = &gSprites[mapObject->mapobj_unk_1A]; + sprite = &gSprites[mapObject->fieldEffectSpriteId]; if (sprite->data[7]) { - mapObject->mapobj_unk_21 = 2; + mapObject->directionSequenceIndex = 2; sprite->data[0] ++; return TRUE; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 29f20dfa0..b17816f6d 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -123,7 +123,7 @@ static void (*const gUnknown_0830FC14[])(struct MapObject *) = nullsub_49, nullsub_49, }; -static bool8 (*const gUnknown_0830FC34[])(u8) = +static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) = { MetatileBehavior_IsSouthArrowWarp, MetatileBehavior_IsNorthArrowWarp, @@ -171,7 +171,7 @@ static const u8 gUnknown_0830FC64[2][5][2] = {MAP_OBJ_GFX_MAY_UNDERWATER, 16}, } }; -static bool8 (*const gUnknown_0830FC78[])(u8) = //Duplicate of gUnknown_0830FC34 +static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks { MetatileBehavior_IsSouthArrowWarp, MetatileBehavior_IsNorthArrowWarp, @@ -226,7 +226,7 @@ static bool8 sub_8058854(struct MapObject *playerMapObj, u8 direction) { u8 specialAnim = FieldObjectGetSpecialAnim(playerMapObj); - if (specialAnim > 24 && specialAnim < 29 && direction != DIR_NONE && playerMapObj->placeholder18 != direction) + if (specialAnim > 24 && specialAnim < 29 && direction != DIR_NONE && playerMapObj->movementDirection != direction) { FieldObjectClearAnim(playerMapObj); return FALSE; @@ -239,11 +239,11 @@ static bool8 sub_8058854(struct MapObject *playerMapObj, u8 direction) return FALSE; } -static void npc_clear_strange_bits(struct MapObject *a) +static void npc_clear_strange_bits(struct MapObject *mapObj) { - a->mapobj_bit_12 = 0; - a->mapobj_bit_10 = 0; - a->mapobj_bit_9 = 0; + mapObj->inanimate = 0; + mapObj->disableAnim = 0; + mapObj->facingDirectionLocked = 0; gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_DASH; } @@ -265,7 +265,7 @@ static void PlayerAllowForcedMovementIfMovingSameDirection(void) static bool8 TryDoMetatileBehaviorForcedMovement(void) { #if DEBUG - if (gUnknown_020297ED != 0 && (gMain.heldKeys & 0x100)) + if (gUnknown_020297ED != 0 && (gMain.heldKeys & R_BUTTON)) return 0; #endif return gUnknown_0830FBA0[GetForcedMovementByMetatileBehavior()](); @@ -277,7 +277,7 @@ static u8 GetForcedMovementByMetatileBehavior(void) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_5)) { - u8 r5 = gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E; + u8 r5 = gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior; for (i = 0; i < 18; i++) { @@ -294,9 +294,9 @@ bool8 ForcedMovement_None(void) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - playerMapObj->mapobj_bit_9 = 0; - playerMapObj->mapobj_bit_11 = 1; - FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); + playerMapObj->facingDirectionLocked = 0; + playerMapObj->enableAnim = 1; + FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_6; } return FALSE; @@ -336,8 +336,8 @@ static u8 DoForcedMovementInCurrentDirection(void (*a)(u8)) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - playerMapObj->mapobj_bit_10 = 1; - return DoForcedMovement(playerMapObj->placeholder18, a); + playerMapObj->disableAnim = 1; + return DoForcedMovement(playerMapObj->movementDirection, a); } bool8 ForcedMovement_Slip(void) @@ -347,71 +347,71 @@ bool8 ForcedMovement_Slip(void) bool8 sub_8058AAC(void) { - return DoForcedMovement(1, PlayerGoSpeed1); + return DoForcedMovement(DIR_SOUTH, PlayerGoSpeed1); } bool8 sub_8058AC4(void) { - return DoForcedMovement(2, PlayerGoSpeed1); + return DoForcedMovement(DIR_NORTH, PlayerGoSpeed1); } bool8 sub_8058ADC(void) { - return DoForcedMovement(3, PlayerGoSpeed1); + return DoForcedMovement(DIR_WEST, PlayerGoSpeed1); } bool8 sub_8058AF4(void) { - return DoForcedMovement(4, PlayerGoSpeed1); + return DoForcedMovement(DIR_EAST, PlayerGoSpeed1); } bool8 sub_8058B0C(void) { - return DoForcedMovement(1, npc_use_some_d2s); + return DoForcedMovement(DIR_SOUTH, npc_use_some_d2s); } bool8 sub_8058B24(void) { - return DoForcedMovement(2, npc_use_some_d2s); + return DoForcedMovement(DIR_NORTH, npc_use_some_d2s); } bool8 sub_8058B3C(void) { - return DoForcedMovement(3, npc_use_some_d2s); + return DoForcedMovement(DIR_WEST, npc_use_some_d2s); } bool8 sub_8058B54(void) { - return DoForcedMovement(4, npc_use_some_d2s); + return DoForcedMovement(DIR_EAST, npc_use_some_d2s); } static u8 ForcedMovement_Slide(u8 direction, void (*b)(u8)) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - playerMapObj->mapobj_bit_10 = 1; - playerMapObj->mapobj_bit_9 = 1; + playerMapObj->disableAnim = 1; + playerMapObj->facingDirectionLocked = 1; return DoForcedMovement(direction, b); } bool8 ForcedMovement_SlideSouth(void) { - return ForcedMovement_Slide(1, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_SOUTH, PlayerGoSpeed2); } bool8 ForcedMovement_SlideNorth(void) { - return ForcedMovement_Slide(2, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_NORTH, PlayerGoSpeed2); } bool8 ForcedMovement_SlideWest(void) { - return ForcedMovement_Slide(3, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_WEST, PlayerGoSpeed2); } bool8 ForcedMovement_SlideEast(void) { - return ForcedMovement_Slide(4, PlayerGoSpeed2); + return ForcedMovement_Slide(DIR_EAST, PlayerGoSpeed2); } bool8 ForcedMovement_MatJump(void) @@ -430,10 +430,10 @@ bool8 ForcedMovement_MuddySlope(void) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (playerMapObj->placeholder18 != 2 || GetPlayerSpeed() <= 3) + if (playerMapObj->movementDirection != DIR_NORTH || GetPlayerSpeed() <= 3) { Bike_UpdateBikeCounterSpeed(0); - playerMapObj->mapobj_bit_9 = 1; + playerMapObj->facingDirectionLocked = 1; return DoForcedMovement(1, PlayerGoSpeed2); } else @@ -500,8 +500,8 @@ void sub_8058D0C(u8 direction, u16 heldKeys) PlayerGoSpeed2(direction); return; } - if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_4) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH) - && IsRunningDisallowed(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E) == 0) + if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_UNDERWATER) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH) + && IsRunningDisallowed(gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior) == 0) { sub_805940C(direction); gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_DASH; @@ -518,8 +518,8 @@ static u8 CheckForPlayerAvatarCollision(u8 direction) s16 x, y; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - x = playerMapObj->coords2.x; - y = playerMapObj->coords2.y; + x = playerMapObj->currentCoords.x; + y = playerMapObj->currentCoords.y; MoveCoords(direction, &x, &y); return CheckForFieldObjectCollision(playerMapObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); } @@ -581,8 +581,8 @@ static u8 sub_8058F6C(s16 a, s16 b, u8 c) { if (gMapObjects[mapObjectId].graphicsId == 0x57) { - a = gMapObjects[mapObjectId].coords2.x; - b = gMapObjects[mapObjectId].coords2.y; + a = gMapObjects[mapObjectId].currentCoords.x; + b = gMapObjects[mapObjectId].currentCoords.y; MoveCoords(c, &a, &b); if (npc_block_way(&gMapObjects[mapObjectId], a, b, c) == 0 && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(a, b)) == 0) @@ -642,58 +642,58 @@ static void DoPlayerAvatarTransition(void) } } -void nullsub_49(struct MapObject *a) +void nullsub_49(struct MapObject *mapObj) { } -void PlayerAvatarTransition_Normal(struct MapObject *a) +void PlayerAvatarTransition_Normal(struct MapObject *mapObj) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - FieldObjectTurn(a, a->placeholder18); - SetPlayerAvatarStateMask(1); + sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); + FieldObjectTurn(mapObj, mapObj->movementDirection); + SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT); } -void PlayerAvatarTransition_MachBike(struct MapObject *a) +void PlayerAvatarTransition_MachBike(struct MapObject *mapObj) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); - FieldObjectTurn(a, a->placeholder18); - SetPlayerAvatarStateMask(2); + sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); + FieldObjectTurn(mapObj, mapObj->movementDirection); + SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE); BikeClearState(0, 0); } -void PlayerAvatarTransition_AcroBike(struct MapObject *a) +void PlayerAvatarTransition_AcroBike(struct MapObject *mapObj) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); - FieldObjectTurn(a, a->placeholder18); - SetPlayerAvatarStateMask(4); + sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); + FieldObjectTurn(mapObj, mapObj->movementDirection); + SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ACRO_BIKE); BikeClearState(0, 0); Bike_HandleBumpySlopeJump(); } -void PlayerAvatarTransition_Surfing(struct MapObject *a) +void PlayerAvatarTransition_Surfing(struct MapObject *mapObj) { u8 unk; - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); - FieldObjectTurn(a, a->placeholder18); - SetPlayerAvatarStateMask(8); - gFieldEffectArguments[0] = a->coords2.x; - gFieldEffectArguments[1] = a->coords2.y; + sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); + FieldObjectTurn(mapObj, mapObj->movementDirection); + SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); + gFieldEffectArguments[0] = mapObj->currentCoords.x; + gFieldEffectArguments[1] = mapObj->currentCoords.y; gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; unk = FieldEffectStart(FLDEFF_SURF_BLOB); - a->mapobj_unk_1A = unk; + mapObj->fieldEffectSpriteId = unk; sub_8127ED0(unk, 1); } -void PlayerAvatarTransition_Underwater(struct MapObject *a) +void PlayerAvatarTransition_Underwater(struct MapObject *mapObj) { - sub_805B980(a, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); - FieldObjectTurn(a, a->placeholder18); - SetPlayerAvatarStateMask(16); - a->mapobj_unk_1A = sub_8128124(a->spriteId); + sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); + FieldObjectTurn(mapObj, mapObj->movementDirection); + SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_UNDERWATER); + mapObj->fieldEffectSpriteId = sub_8128124(mapObj->spriteId); } -void sub_80591F4(struct MapObject *a) +void sub_80591F4(struct MapObject *mapObj) { gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_5; } @@ -718,7 +718,7 @@ void sub_8059204(void) static bool8 player_is_anim_in_certain_ranges(void) { - u8 unk = gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C; + u8 unk = gMapObjects[gPlayerAvatar.mapObjectId].animId; if (unk < 4 || (unk >= 16 && unk < 0x15) @@ -750,12 +750,12 @@ static bool8 PlayerCheckIfAnimFinishedOrInactive(void) static void player_set_x22(u8 a) { - gMapObjects[gPlayerAvatar.mapObjectId].animId = a; + gMapObjects[gPlayerAvatar.mapObjectId].playerAnimId = a; } u8 player_get_x22(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].animId; + return gMapObjects[gPlayerAvatar.mapObjectId].playerAnimId; } static void sub_8059348(u8 a) @@ -833,7 +833,7 @@ void sub_80594C0(void) if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING) { if (player_should_look_direction_be_enforced_upon_movement()) - sub_8059348(GetFaceDirectionAnimId(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_18)); + sub_8059348(GetFaceDirectionAnimId(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection)); } } @@ -907,9 +907,9 @@ void sub_8059630(u8 a) static void PlayCollisionSoundIfNotFacingWarp(u8 a) { s16 x, y; - u8 unk = gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E; + u8 metatileBehavior = gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior; - if (!gUnknown_0830FC34[a - 1](unk)) + if (!sArrowWarpMetatileBehaviorChecks[a - 1](metatileBehavior)) { if (a == 2) { @@ -924,30 +924,30 @@ static void PlayCollisionSoundIfNotFacingWarp(u8 a) void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y) { - *x = gMapObjects[gPlayerAvatar.mapObjectId].coords2.x; - *y = gMapObjects[gPlayerAvatar.mapObjectId].coords2.y; + *x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x; + *y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; MoveCoords(player_get_direction_lower_nybble(), x, y); } void PlayerGetDestCoords(s16 *x, s16 *y) { - *x = gMapObjects[gPlayerAvatar.mapObjectId].coords2.x; - *y = gMapObjects[gPlayerAvatar.mapObjectId].coords2.y; + *x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x; + *y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; } u8 player_get_direction_lower_nybble(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_18; + return gMapObjects[gPlayerAvatar.mapObjectId].facingDirection; } u8 player_get_direction_upper_nybble(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].placeholder18; + return gMapObjects[gPlayerAvatar.mapObjectId].movementDirection; } u8 PlayerGetZCoord(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].elevation; + return gMapObjects[gPlayerAvatar.mapObjectId].previousElevation; } void unref_sub_8059790(s16 a, s16 b) @@ -980,7 +980,7 @@ void sub_80597F4(void) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; npc_clear_strange_bits(playerMapObj); - FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); + FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) { Bike_HandleBumpySlopeJump(); @@ -1067,11 +1067,11 @@ bool8 IsPlayerSurfingNorth(void) bool8 IsPlayerFacingSurfableFishableWater(void) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - s16 x = playerMapObj->coords2.x; - s16 y = playerMapObj->coords2.y; + s16 x = playerMapObj->currentCoords.x; + s16 y = playerMapObj->currentCoords.y; - MoveCoords(playerMapObj->mapobj_unk_18, &x, &y); - if (npc_block_way(playerMapObj, x, y, playerMapObj->mapobj_unk_18) == 3 && PlayerGetZCoord() == 3 + MoveCoords(playerMapObj->facingDirection, &x, &y); + if (npc_block_way(playerMapObj, x, y, playerMapObj->facingDirection) == 3 && PlayerGetZCoord() == 3 && MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y))) return TRUE; else @@ -1083,10 +1083,10 @@ void ClearPlayerAvatarInfo(void) memset(&gPlayerAvatar, 0, sizeof(struct PlayerAvatar)); } -void SetPlayerAvatarStateMask(u8 a) +void SetPlayerAvatarStateMask(u8 flags) { - gPlayerAvatar.flags &= 0xE0; - gPlayerAvatar.flags |= a; + gPlayerAvatar.flags &= (PLAYER_AVATAR_FLAG_DASH | PLAYER_AVATAR_FLAG_6 | PLAYER_AVATAR_FLAG_5); + gPlayerAvatar.flags |= flags; } static u8 GetPlayerAvatarStateTransitionByGraphicsId(u8 a, u8 gender) @@ -1142,8 +1142,8 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) playerMapObjTemplate.flagId = 0; mapObjectId = SpawnSpecialFieldObject(&playerMapObjTemplate); mapObject = &gMapObjects[mapObjectId]; - mapObject->mapobj_bit_16 = 1; - mapObject->mapobj_unk_1B = sub_8126B54(); + mapObject->isPlayer = 1; + mapObject->warpArrowSpriteId = sub_8126B54(); FieldObjectTurn(mapObject, direction); ClearPlayerAvatarInfo(); gPlayerAvatar.runningState = NOT_MOVING; @@ -1151,14 +1151,14 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) gPlayerAvatar.mapObjectId = mapObjectId; gPlayerAvatar.spriteId = mapObject->spriteId; gPlayerAvatar.gender = gender; - SetPlayerAvatarStateMask(0x21); + SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT); } void sub_8059B88(u8 a) { - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = a; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = a; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - gSprites[gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1A].invisible = a; + gSprites[gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId].invisible = a; } void sub_8059BF4(void) @@ -1186,25 +1186,25 @@ void sub_8059D08(u8 direction) StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], FieldObjectDirectionToImageAnimId(direction)); } -static void sub_8059D60(struct MapObject *a) +static void sub_8059D60(struct MapObject *mapObject) { s16 x; s16 y; - u8 r6; - u8 r8 = a->mapobj_unk_1E; + u8 direction; + u8 metatileBehavior = mapObject->currentMetatileBehavior; - for (x = 0, r6 = 1; x < 4; x++, r6++) + for (x = 0, direction = DIR_SOUTH; x < 4; x++, direction++) { - if (gUnknown_0830FC78[x](r8) && r6 == a->placeholder18) + if (sArrowWarpMetatileBehaviorChecks2[x](metatileBehavior) && direction == mapObject->movementDirection) { - x = a->coords2.x; - y = a->coords2.y; - MoveCoords(r6, &x, &y); - sub_8126BC4(a->mapobj_unk_1B, r6, x, y); + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; + MoveCoords(direction, &x, &y); + sub_8126BC4(mapObject->warpArrowSpriteId, direction, x, y); return; } } - objid_set_invisible(a->mapobj_unk_1B); + objid_set_invisible(mapObject->warpArrowSpriteId); } /* Strength */ @@ -1245,9 +1245,9 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c) FieldObjectClearAnimIfSpecialAnimFinished(c); FieldObjectSetSpecialAnim(b, GetStepInPlaceDelay16AnimId((u8)task->data[2])); FieldObjectSetSpecialAnim(c, GetSimpleGoAnimId((u8)task->data[2])); - gFieldEffectArguments[0] = c->coords2.x; - gFieldEffectArguments[1] = c->coords2.y; - gFieldEffectArguments[2] = c->elevation; + gFieldEffectArguments[0] = c->currentCoords.x; + gFieldEffectArguments[1] = c->currentCoords.y; + gFieldEffectArguments[2] = c->previousElevation; gFieldEffectArguments[3] = gSprites[c->spriteId].oam.priority; FieldEffectStart(FLDEFF_DUST); PlaySE(SE_W070); @@ -1292,7 +1292,7 @@ u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObje if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) { PlaySE(SE_DANSA); - FieldObjectSetSpecialAnim(mapObject, sub_806084C(mapObject->mapobj_unk_18)); + FieldObjectSetSpecialAnim(mapObject, sub_806084C(mapObject->facingDirection)); task->data[1]++; if (task->data[1] > 1) { @@ -1324,7 +1324,7 @@ static void sub_805A08C(u8 taskId) u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject) { task->data[0]++; - task->data[1] = mapObject->placeholder18; + task->data[1] = mapObject->movementDirection; gPlayerAvatar.preventStep = TRUE; ScriptContext2_Enable(); PlaySE(SE_TK_WARPIN); @@ -1339,7 +1339,7 @@ u8 sub_805A100(struct Task *task, struct MapObject *mapObject) { u8 direction; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(direction = directions[mapObject->placeholder18 - 1])); + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(direction = directions[mapObject->movementDirection - 1])); if (direction == (u8)task->data[1]) task->data[2]++; task->data[0]++; @@ -1402,7 +1402,7 @@ static void taskFF_0805D1D4(u8 taskId) if (!FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) return; } - sub_8127ED0(playerMapObj->mapobj_unk_1A, 2); + sub_8127ED0(playerMapObj->fieldEffectSpriteId, 2); FieldObjectSetSpecialAnim(playerMapObj, sub_80608D0((u8)gTasks[taskId].data[0])); gTasks[taskId].func = sub_805A2D0; } @@ -1414,10 +1414,10 @@ static void sub_805A2D0(u8 taskId) if (FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) { sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - FieldObjectSetSpecialAnim(playerMapObj, GetFaceDirectionAnimId(playerMapObj->mapobj_unk_18)); + FieldObjectSetSpecialAnim(playerMapObj, GetFaceDirectionAnimId(playerMapObj->facingDirection)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - DestroySprite(&gSprites[playerMapObj->mapobj_unk_1A]); + DestroySprite(&gSprites[playerMapObj->fieldEffectSpriteId]); DestroyTask(taskId); } } @@ -1496,8 +1496,8 @@ u8 Fishing2(struct Task *task) task->tPlayerGfxId = gMapObjects[gPlayerAvatar.mapObjectId].graphicsId; playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; FieldObjectClearAnimIfSpecialAnimActive(playerMapObj); - playerMapObj->mapobj_bit_11 = 1; - sub_8059C3C(playerMapObj->mapobj_unk_18); + playerMapObj->enableAnim = 1; + sub_8059C3C(playerMapObj->facingDirection); task->tStep++; return 0; } @@ -1652,9 +1652,9 @@ u8 Fishing11(struct Task *task) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; sub_805B980(playerMapObj, task->tPlayerGfxId); - FieldObjectTurn(playerMapObj, playerMapObj->placeholder18); + FieldObjectTurn(playerMapObj, playerMapObj->movementDirection); if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1A, 0, 0); + sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId, 0, 0); gSprites[gPlayerAvatar.spriteId].pos2.x = 0; gSprites[gPlayerAvatar.spriteId].pos2.y = 0; Menu_EraseScreen(); @@ -1711,9 +1711,9 @@ u8 Fishing15(struct Task *task) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; sub_805B980(playerMapObj, task->tPlayerGfxId); - FieldObjectTurn(playerMapObj, playerMapObj->placeholder18); + FieldObjectTurn(playerMapObj, playerMapObj->movementDirection); if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1A, 0, 0); + sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId, 0, 0); gSprites[gPlayerAvatar.spriteId].pos2.x = 0; gSprites[gPlayerAvatar.spriteId].pos2.y = 0; task->tStep++; @@ -1771,7 +1771,7 @@ static void sub_805A954(void) if (animType == 10 || animType == 11) playerSprite->pos2.y = 8; if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1A, 1, playerSprite->pos2.y); + sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId, 1, playerSprite->pos2.y); } #if DEBUG @@ -1787,8 +1787,8 @@ u8 debug_sub_805F2B0(u8 a) u8 debug_sub_805F2DC(u8 a) { if (a == 0) - PlayerFaceDirection(gMapObjects[gPlayerAvatar.mapObjectId].placeholder18); - else if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_15 && !CanCameraMoveInDirection(a)) + PlayerFaceDirection(gMapObjects[gPlayerAvatar.mapObjectId].movementDirection); + else if (gMapObjects[gPlayerAvatar.mapObjectId].trackedByCamera && !CanCameraMoveInDirection(a)) PlayerOnBikeCollide(a); else PlayerGoSpeed4(a); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 2010ebcf4..c710547d3 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -365,7 +365,7 @@ void sub_80C78A0(void) void sub_80C791C(void) { sub_80C78A0(); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = TRUE; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = TRUE; pal_fill_black(); CreateTask(Task_HandlePorthole, 80); ScriptContext2_Enable(); diff --git a/src/field_specials.c b/src/field_specials.c index 4eeb23dd4..4bb9ad801 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1759,7 +1759,7 @@ void GlassWorkshopUpdateScrollIndicators(u8 newPos, u8 maxItems) void SpawnCameraDummy(void) { u8 mapObjectId = SpawnSpecialFieldObjectParametrized(7, 8, 0x7f, gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7, 3); - gMapObjects[mapObjectId].mapobj_bit_13 = 1; + gMapObjects[mapObjectId].invisible = 1; CameraObjectSetFollowedObjectId(gMapObjects[mapObjectId].spriteId); } diff --git a/src/fldeff_decoration.c b/src/fldeff_decoration.c index 467e7bca4..8295a2fe0 100644 --- a/src/fldeff_decoration.c +++ b/src/fldeff_decoration.c @@ -236,8 +236,8 @@ void SpriteCB_YellowCave4Sparkle(struct Sprite *sprite) void DoYellowCave4Sparkle(void) { - s16 x = gMapObjects[gPlayerAvatar.mapObjectId].coords2.x; - s16 y = gMapObjects[gPlayerAvatar.mapObjectId].coords2.y; + s16 x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x; + s16 y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; u8 spriteId; sub_8060470(&x, &y, 8, 4); diff --git a/src/item_use.c b/src/item_use.c index 97ef83ddc..9638588fe 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -220,7 +220,7 @@ bool32 CanFish(void) if (MetatileBehavior_IsWaterfall(tileBehavior)) return FALSE; - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4)) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER)) return FALSE; if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c index 3bd25dbdf..bac306cd8 100644 --- a/src/map_obj_lock.c +++ b/src/map_obj_lock.c @@ -52,7 +52,7 @@ void sub_8064D38(u8 taskId) sub_80594C0(); task->data[0] = 1; } - if (!task->data[1] && !gMapObjects[gSelectedMapObject].mapobj_bit_1) + if (!task->data[1] && !gMapObjects[gSelectedMapObject].regularAnimActive) { FreezeMapObject(&gMapObjects[gSelectedMapObject]); task->data[1] = 1; @@ -79,7 +79,7 @@ void LockSelectedMapObject(void) u8 taskId; FreezeMapObjectsExceptOne(gSelectedMapObject); taskId = CreateTask(sub_8064D38, 80); - if (!gMapObjects[gSelectedMapObject].mapobj_bit_1) + if (!gMapObjects[gSelectedMapObject].regularAnimActive) { FreezeMapObject(&gMapObjects[gSelectedMapObject]); gTasks[taskId].data[1] = 1; diff --git a/src/overworld.c b/src/overworld.c index 8b2dfb74d..98bb43add 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -671,7 +671,7 @@ void walkrun_find_lowest_active_bit_in_bitfield(void) gUnknown_02029810.player_field_0 = 4; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) gUnknown_02029810.player_field_0 = 8; - else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_4)) + else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER)) gUnknown_02029810.player_field_0 = 16; else gUnknown_02029810.player_field_0 = 1; @@ -1854,7 +1854,7 @@ void sub_8054E20(void) void sub_8054E34(void) { - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_15 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].trackedByCamera = 1; InitCameraUpdateCallback(gPlayerAvatar.spriteId); } @@ -2505,7 +2505,7 @@ void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) linkPlayerMapObj->mode = 0; mapObj->active = 1; - mapObj->mapobj_bit_1 = a4; + mapObj->regularAnimActive = a4; mapObj->range.as_byte = 2; mapObj->spriteId = 64; @@ -2514,12 +2514,12 @@ void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) void InitLinkPlayerMapObjectPos(struct MapObject *mapObj, s16 x, s16 y) { - mapObj->coords2.x = x; - mapObj->coords2.y = y; - mapObj->coords3.x = x; - mapObj->coords3.y = y; - sub_80603CC(x, y, &mapObj->coords1.x, &mapObj->coords1.y); - mapObj->coords1.x += 8; + mapObj->currentCoords.x = x; + mapObj->currentCoords.y = y; + mapObj->previousCoords.x = x; + mapObj->previousCoords.y = y; + sub_80603CC(x, y, &mapObj->initialCoords.x, &mapObj->initialCoords.y); + mapObj->initialCoords.x += 8; FieldObjectUpdateZCoord(mapObj); } @@ -2555,8 +2555,8 @@ void sub_8055B08(u8 linkPlayerId, u16 *x, u16 *y) { u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; struct MapObject *mapObj = &gMapObjects[mapObjId]; - *x = mapObj->coords2.x; - *y = mapObj->coords2.y; + *x = mapObj->currentCoords.x; + *y = mapObj->currentCoords.y; } u8 sub_8055B30(u8 linkPlayerId) @@ -2570,14 +2570,14 @@ u8 sub_8055B50(u8 linkPlayerId) { u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; struct MapObject *mapObj = &gMapObjects[mapObjId]; - return mapObj->mapobj_unk_0B_0; + return mapObj->currentElevation; } s32 unref_sub_8055B74(u8 linkPlayerId) { u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; struct MapObject *mapObj = &gMapObjects[mapObjId]; - return 16 - (s8)mapObj->mapobj_unk_21; + return 16 - (s8)mapObj->directionSequenceIndex; } u8 GetLinkPlayerIdAt(s16 x, s16 y) @@ -2589,7 +2589,7 @@ u8 GetLinkPlayerIdAt(s16 x, s16 y) && (gLinkPlayerMapObjects[i].mode == 0 || gLinkPlayerMapObjects[i].mode == 2)) { struct MapObject *mapObj = &gMapObjects[gLinkPlayerMapObjects[i].mapObjId]; - if (mapObj->coords2.x == x && mapObj->coords2.y == y) + if (mapObj->currentCoords.x == x && mapObj->currentCoords.y == y) return i; } } @@ -2605,7 +2605,7 @@ void sub_8055BFC(u8 linkPlayerId, u8 a2) if (linkPlayerMapObj->active) { if (a2 > 10) - mapObj->mapobj_bit_2 = 1; + mapObj->triggerGroundEffectsOnMove = 1; else gUnknown_082166D8[gUnknown_082166A0[linkPlayerMapObj->mode](linkPlayerMapObj, mapObj, a2)](linkPlayerMapObj, mapObj); } @@ -2644,7 +2644,7 @@ static u8 sub_8055CB0(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapOb } else { - mapObj->mapobj_unk_21 = 16; + mapObj->directionSequenceIndex = 16; npc_coords_shift(mapObj, x, y); FieldObjectUpdateZCoord(mapObj); return 1; @@ -2664,10 +2664,10 @@ static void sub_8055D30(struct LinkPlayerMapObject *linkPlayerMapObj, struct Map static void sub_8055D38(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj) { - mapObj->mapobj_unk_21--; + mapObj->directionSequenceIndex--; linkPlayerMapObj->mode = 1; - MoveCoords(mapObj->range.as_byte, &mapObj->coords1.x, &mapObj->coords1.y); - if (!mapObj->mapobj_unk_21) + MoveCoords(mapObj->range.as_byte, &mapObj->initialCoords.x, &mapObj->initialCoords.y); + if (!mapObj->directionSequenceIndex) { npc_coords_shift_still(mapObj); linkPlayerMapObj->mode = 2; @@ -2701,8 +2701,8 @@ u8 LinkPlayerDetectCollision(u8 selfMapObjId, u8 a2, s16 x, s16 y) { if (i != selfMapObjId) { - if ((gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y) - || (gMapObjects[i].coords3.x == x && gMapObjects[i].coords3.y == y)) + if ((gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) + || (gMapObjects[i].previousCoords.x == x && gMapObjects[i].previousCoords.y == y)) { return 1; } @@ -2720,12 +2720,12 @@ void CreateLinkPlayerSprite(u8 linkPlayerId) if (linkPlayerMapObj->active) { - u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, mapObj->mapobj_bit_1); + u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, mapObj->regularAnimActive); mapObj->spriteId = AddPseudoFieldObject(val, SpriteCB_LinkPlayer, 0, 0, 0); sprite = &gSprites[mapObj->spriteId]; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = linkPlayerId; - mapObj->mapobj_bit_2 = 0; + mapObj->triggerGroundEffectsOnMove = 0; } } @@ -2733,16 +2733,16 @@ void SpriteCB_LinkPlayer(struct Sprite *sprite) { struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[sprite->data[0]]; struct MapObject *mapObj = &gMapObjects[linkPlayerMapObj->mapObjId]; - sprite->pos1.x = mapObj->coords1.x; - sprite->pos1.y = mapObj->coords1.y; - SetObjectSubpriorityByZCoord(mapObj->elevation, sprite, 1); - sprite->oam.priority = ZCoordToPriority(mapObj->elevation); + sprite->pos1.x = mapObj->initialCoords.x; + sprite->pos1.y = mapObj->initialCoords.y; + SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); + sprite->oam.priority = ZCoordToPriority(mapObj->previousElevation); if (!linkPlayerMapObj->mode) StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObj->range.as_byte)); else StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(mapObj->range.as_byte)); sub_806487C(sprite, 0); - if (mapObj->mapobj_bit_2) + if (mapObj->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); sprite->data[7]++; diff --git a/src/shop.c b/src/shop.c index 14878c0a0..62c8c9a87 100644 --- a/src/shop.c +++ b/src/shop.c @@ -459,13 +459,13 @@ static void Shop_LoadViewportObjects(void) gMartViewportObjects[r8][MAP_OBJ_ID] = mapObjId; gMartViewportObjects[r8][X_COORD] = x; gMartViewportObjects[r8][Y_COORD] = y; - if (gMapObjects[mapObjId].mapobj_unk_18 == 1) + if (gMapObjects[mapObjId].facingDirection == DIR_SOUTH) gMartViewportObjects[r8][ANIM_NUM] = 0; - if (gMapObjects[mapObjId].mapobj_unk_18 == 2) + if (gMapObjects[mapObjId].facingDirection == DIR_NORTH) gMartViewportObjects[r8][ANIM_NUM] = 1; - if (gMapObjects[mapObjId].mapobj_unk_18 == 3) + if (gMapObjects[mapObjId].facingDirection == DIR_WEST) gMartViewportObjects[r8][ANIM_NUM] = 2; - if (gMapObjects[mapObjId].mapobj_unk_18 == 4) + if (gMapObjects[mapObjId].facingDirection == DIR_EAST) gMartViewportObjects[r8][ANIM_NUM] = 3; r8++; } diff --git a/src/trainer_see.c b/src/trainer_see.c index f79d6b9e4..2501d2c7f 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -84,8 +84,8 @@ static bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) PlayerGetDestCoords(&x, &y); if (trainerObj->trainerType == 1) // can only see in one direction { - approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->mapobj_unk_18 - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); - return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->mapobj_unk_18); + approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->facingDirection - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); + return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->facingDirection); } else // can see in all directions { @@ -102,10 +102,10 @@ static bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) // Returns how far south the player is from trainer. 0 if out of trainer's sight. static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { - if (trainerObj->coords2.x == x - && y > trainerObj->coords2.y - && y <= trainerObj->coords2.y + range) - return (y - trainerObj->coords2.y); + if (trainerObj->currentCoords.x == x + && y > trainerObj->currentCoords.y + && y <= trainerObj->currentCoords.y + range) + return (y - trainerObj->currentCoords.y); else return 0; } @@ -113,10 +113,10 @@ static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 rang // Returns how far north the player is from trainer. 0 if out of trainer's sight. static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { - if (trainerObj->coords2.x == x - && y < trainerObj->coords2.y - && y >= trainerObj->coords2.y - range) - return (trainerObj->coords2.y - y); + if (trainerObj->currentCoords.x == x + && y < trainerObj->currentCoords.y + && y >= trainerObj->currentCoords.y - range) + return (trainerObj->currentCoords.y - y); else return 0; } @@ -124,10 +124,10 @@ static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 rang // Returns how far west the player is from trainer. 0 if out of trainer's sight. static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { - if (trainerObj->coords2.y == y - && x < trainerObj->coords2.x - && x >= trainerObj->coords2.x - range) - return (trainerObj->coords2.x - x); + if (trainerObj->currentCoords.y == y + && x < trainerObj->currentCoords.x + && x >= trainerObj->currentCoords.x - range) + return (trainerObj->currentCoords.x - x); else return 0; } @@ -135,10 +135,10 @@ static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range // Returns how far east the player is from trainer. 0 if out of trainer's sight. static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { - if (trainerObj->coords2.y == y - && x > trainerObj->coords2.x - && x <= trainerObj->coords2.x + range) - return (x - trainerObj->coords2.x); + if (trainerObj->currentCoords.y == y + && x > trainerObj->currentCoords.x + && x <= trainerObj->currentCoords.x + range) + return (x - trainerObj->currentCoords.x); else return 0; } @@ -160,8 +160,8 @@ static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 a if (approachDistance == 0) return FALSE; - x = trainerObj->coords2.x; - y = trainerObj->coords2.y; + x = trainerObj->currentCoords.x; + y = trainerObj->currentCoords.y; for (i = 0; i <= approachDistance - 1; i++, MoveCoords(direction, &x, &y)) { @@ -265,7 +265,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18); + direction = GetFaceDirectionAnimId(trainerObj->facingDirection); FieldObjectSetSpecialAnim(trainerObj, direction); task->data[0]++; return TRUE; @@ -294,7 +294,7 @@ static bool8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainer { if (task->data[3]) { - FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->mapobj_unk_18)); + FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); task->data[3]--; } else @@ -313,8 +313,8 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) return FALSE; - npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->mapobj_unk_18)); - sub_805C774(trainerObj, npc_running_behaviour_by_direction(trainerObj->mapobj_unk_18)); + npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); + sub_805C774(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); sub_805C754(trainerObj); playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; @@ -322,7 +322,7 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer return FALSE; sub_80597E8(); - FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->mapobj_unk_18))); + FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection))); task->data[0]++; return FALSE; } @@ -371,8 +371,8 @@ static bool8 sub_80845FC(u8 taskId, struct Task *task, struct MapObject *trainer { if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(trainerObj)) { - gFieldEffectArguments[0] = trainerObj->coords2.x; - gFieldEffectArguments[1] = trainerObj->coords2.y; + gFieldEffectArguments[0] = trainerObj->currentCoords.x; + gFieldEffectArguments[1] = trainerObj->currentCoords.y; gFieldEffectArguments[2] = gSprites[trainerObj->spriteId].subpriority - 1; gFieldEffectArguments[3] = 2; task->data[4] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -387,13 +387,13 @@ static bool8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainer if (gSprites[task->data[4]].animCmdIndex == 2) { - trainerObj->mapobj_bit_26 = 0; - trainerObj->mapobj_bit_2 = 1; + trainerObj->fixedPriority = 0; + trainerObj->triggerGroundEffectsOnMove = 1; sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; FieldObjectClearAnimIfSpecialAnimFinished(trainerObj); - FieldObjectSetSpecialAnim(trainerObj, sub_806084C(trainerObj->mapobj_unk_18)); + FieldObjectSetSpecialAnim(trainerObj, sub_806084C(trainerObj->facingDirection)); task->data[0]++; } return FALSE; @@ -430,12 +430,14 @@ void sub_80846E4(u8 taskId) gTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj); if (task->data[0] == 3 && !FieldEffectActiveListContains(49)) { - npc_set_running_behaviour_etc(mapObj, npc_running_behaviour_by_direction(mapObj->mapobj_unk_18)); - sub_805C774(mapObj, npc_running_behaviour_by_direction(mapObj->mapobj_unk_18)); + npc_set_running_behaviour_etc(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); + sub_805C774(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); DestroyTask(taskId); } else - mapObj->mapobj_bit_7 = 0; + { + mapObj->specialAnimFinished = 0; + } } void sub_8084794(struct MapObject *var) -- cgit v1.2.3 From 4d92810ad64d6b01701de7f4796467c402542420 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 24 May 2018 08:49:42 -0500 Subject: Rename regularAnim and specialAnim to singleMovement and heldMovement --- src/berry.c | 2 +- src/data/field_map_obj/anim_func_ptrs.h | 8 +- src/event_object_movement.c | 436 ++++++++++++++++---------------- src/field_effect.c | 70 ++--- src/field_fadetransition.c | 12 +- src/field_player_avatar.c | 91 ++++--- src/fldeff_berrytree.c | 10 +- src/item_use.c | 8 +- src/map_obj_lock.c | 12 +- src/overworld.c | 8 +- src/rom6.c | 8 +- src/scrcmd.c | 6 +- src/script_movement.c | 6 +- src/trainer_see.c | 46 ++-- 14 files changed, 361 insertions(+), 362 deletions(-) (limited to 'src') diff --git a/src/berry.c b/src/berry.c index 8829407da..5a0e39580 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1543,7 +1543,7 @@ void ResetBerryTreeSparkleFlags(void) bottom = top + 8; for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.mapObjects); i++) { - if (gMapObjects[i].active && gMapObjects[i].animPattern == 12) // is the object an active berry tree? + if (gMapObjects[i].active && gMapObjects[i].movementType == 12) // is the object an active berry tree? { cam_left = gMapObjects[i].currentCoords.x; cam_top = gMapObjects[i].currentCoords.y; diff --git a/src/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h index 1d1fac71e..22bb6794b 100644 --- a/src/data/field_map_obj/anim_func_ptrs.h +++ b/src/data/field_map_obj/anim_func_ptrs.h @@ -548,10 +548,10 @@ u8 (*const Unknown_8375FF0[])(struct MapObject *, struct Sprite *); u8 (*const Unknown_8375FFC[])(struct MapObject *, struct Sprite *); u8 (*const *const gUnknown_08375778[])(struct MapObject *, struct Sprite *) = { - Unknown_83759A0, - Unknown_83759A8, - Unknown_83759B0, - Unknown_83759B8, + Unknown_83759A0, // face south + Unknown_83759A8, // face north + Unknown_83759B0, // face west + Unknown_83759B8, // face east Unknown_83759D4, Unknown_83759E0, Unknown_83759EC, diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 78ed41d77..168db72c5 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1495,10 +1495,11 @@ const u32 gFieldEffectPic_Sparkle_1[] = INCBIN_U32("graphics/field_effect_object const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/field_effect_objects/palettes/03.gbapal"); const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pics/bird.4bpp"); -void (*const gUnknown_0836DA88[])(struct Sprite *) = +// movement type callbacks +static void (*const sMovementTypeCallbacks[])(struct Sprite *) = { - sub_805C884, - sub_805CDE8, + MovementType_None, // MOVEMENT_TYPE_NONE + sub_805CDE8, // MOVEMENT_TYPE_LOOK_AROUND sub_805C8AC, sub_805CF28, sub_805CF28, @@ -1573,7 +1574,7 @@ void (*const gUnknown_0836DA88[])(struct Sprite *) = sub_805FC00, sub_805FC00, sub_805FC00, - sub_805FC70 + sub_805FC70, }; const u8 gUnknown_0836DBBC[] = {0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; @@ -1918,7 +1919,7 @@ void npc_clear_ids_and_state(struct MapObject *mapObj) mapObj->localId = 0xFF; mapObj->mapNum = 0xFF; mapObj->mapGroup = 0xFF; - mapObj->animId = 0xFF; + mapObj->movementActionId = 0xFF; } void npcs_clear_ids_and_state(void) @@ -2024,33 +2025,34 @@ u8 GetFieldObjectIdByLocalId(u8 localId) return 16; } -u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 c) +u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapNum, u8 mapGroup) { struct MapObject *mapObj; u8 var; - s16 r3; - s16 r2; + s16 initialX; + s16 initialY; - if (GetAvailableFieldObjectSlot(template->localId, b, c, &var) != 0) + if (GetAvailableFieldObjectSlot(template->localId, mapNum, mapGroup, &var) != 0) return 16; + mapObj = (void *)&gMapObjects[var]; npc_clear_ids_and_state((struct MapObject *)mapObj); - r3 = template->x + 7; - r2 = template->y + 7; + initialX = template->x + 7; + initialY = template->y + 7; mapObj->active = TRUE; mapObj->triggerGroundEffectsOnMove = TRUE; mapObj->graphicsId = template->graphicsId; - mapObj->animPattern = template->movementType; + mapObj->movementType = template->movementType; mapObj->localId = template->localId; - mapObj->mapNum = b; + mapObj->mapNum = mapNum; asm("":::"r6"); - mapObj->mapGroup = c; - mapObj->initialCoords.x = r3; - mapObj->initialCoords.y = r2; - mapObj->currentCoords.x = r3; - mapObj->currentCoords.y = r2; - mapObj->previousCoords.x = r3; - mapObj->previousCoords.y = r2; + mapObj->mapGroup = mapGroup; + mapObj->initialCoords.x = initialX; + mapObj->initialCoords.y = initialY; + mapObj->currentCoords.x = initialX; + mapObj->currentCoords.y = initialY; + mapObj->previousCoords.x = initialX; + mapObj->previousCoords.y = initialY; mapObj->currentElevation = template->elevation; mapObj->previousElevation = template->elevation; mapObj->range.as_nybbles.x = template->unkA_0; @@ -2061,7 +2063,7 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 FieldObjectSetDirection((struct MapObject *)mapObj, mapObj->previousMovementDirection); asm("":::"r5","r6"); FieldObjectHandleDynamicGraphicsId((struct MapObject *)mapObj); - if (gUnknown_0836DBBC[mapObj->animPattern] != 0) + if (gUnknown_0836DBBC[mapObj->movementType] != 0) { if (mapObj->range.as_nybbles.x == 0) mapObj->range.as_nybbles.x++; @@ -2087,7 +2089,7 @@ u8 sub_805ADDC(u8 localId) struct MapObjectTemplate *template = &gSaveBlock1.mapObjectTemplates[i]; if (template->localId == localId && !FlagGet(template->flagId)) - return InitFieldObjectStateFromTemplate(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + return TryInitFieldObjectStateFromTemplate(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } return 16; } @@ -2152,7 +2154,7 @@ void npc_hide_all_but_player(void) } } -u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, u8 c, u8 d, s16 e, s16 f) +u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, u8 mapNum, u8 mapGroup, s16 e, s16 f) { u8 mapObjectId; u8 spriteId; @@ -2160,7 +2162,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * struct MapObject *mapObject; struct Sprite *sprite; - mapObjectId = InitFieldObjectStateFromTemplate(mapObjTemplate, c, d); + mapObjectId = TryInitFieldObjectStateFromTemplate(mapObjTemplate, mapNum, mapGroup); if (mapObjectId == 16) return 16; @@ -2170,7 +2172,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * npc_load_two_palettes__no_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); else if (gfxInfo->paletteSlot == 10) npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); - if (mapObject->animPattern == 0x4C) + if (mapObject->movementType == 0x4C) mapObject->invisible = TRUE; #ifdef NONMATCHING @@ -2179,7 +2181,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * *(u16 *)&sprTemplate->paletteTag = 0xFFFF; #endif spriteId = CreateSprite(sprTemplate, 0, 0, 0); - if (spriteId == 64) + if (spriteId == MAX_SPRITES) { #if DEBUG gUnknown_Debug_03004BC0--; @@ -2205,7 +2207,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * return mapObjectId; } -u8 SpawnFieldObject(struct MapObjectTemplate *mapObjTemplate, u8 b, u8 c, s16 d, s16 e) +u8 TrySpawnFieldObject(struct MapObjectTemplate *mapObjTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) { struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables = NULL; @@ -2217,7 +2219,7 @@ u8 SpawnFieldObject(struct MapObjectTemplate *mapObjTemplate, u8 b, u8 c, s16 d, MakeObjectTemplateFromFieldObjectTemplate(mapObjTemplate, &spriteTemplate, &subspriteTables); spriteFrameImage.size = gfxInfo->size; spriteTemplate.images = &spriteFrameImage; - mapObjectId = sub_805AFCC(mapObjTemplate, &spriteTemplate, b, c, d, e); + mapObjectId = sub_805AFCC(mapObjTemplate, &spriteTemplate, mapNum, mapGroup, cameraDeltaX, cameraDeltaY); if (mapObjectId == 16) return 16; gSprites[gMapObjects[mapObjectId].spriteId].images = gfxInfo->images; @@ -2232,7 +2234,7 @@ u8 SpawnSpecialFieldObject(struct MapObjectTemplate *mapObjTemplate) s16 y; GetFieldObjectMovingCameraOffset(&x, &y); - return SpawnFieldObject(mapObjTemplate, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); + return TrySpawnFieldObject(mapObjTemplate, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); } u8 SpawnSpecialFieldObjectParametrized(u8 a, u8 b, u8 c, s16 d, s16 e, u8 f) @@ -2265,7 +2267,7 @@ u8 show_sprite(u8 a, u8 b, u8 c) if (r5 == NULL) return 16; GetFieldObjectMovingCameraOffset(&x, &y); - return SpawnFieldObject(r5, b, c, x, y); + return TrySpawnFieldObject(r5, b, c, x, y); } void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) @@ -2284,7 +2286,7 @@ void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callba void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, gUnknown_0836DA88[callbackIndex], sprTemplate, subspriteTables); + MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], sprTemplate, subspriteTables); } void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) @@ -2357,7 +2359,7 @@ u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) return spriteId; } -void sub_805B55C(s16 a, s16 b) +void TrySpawnFieldObjects(s16 cameraDeltaX, s16 cameraDeltaY) { u8 i; @@ -2377,7 +2379,7 @@ void sub_805B55C(s16 a, s16 b) if (r10 <= bar && spC >= bar && r9 <= foo && sp8 >= foo && !FlagGet(template->flagId)) - SpawnFieldObject(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, a, b); + TrySpawnFieldObject(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, cameraDeltaX, cameraDeltaY); } } } @@ -2472,7 +2474,7 @@ void sub_805B75C(u8 a, s16 b, s16 c) subspriteTables = NULL; gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); sp18.size = gfxInfo->size; - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->animPattern, &sp0, &subspriteTables); + MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->movementType, &sp0, &subspriteTables); sp0.images = &sp18; *(u16 *)&sp0.paletteTag = 0xFFFF; if (gfxInfo->paletteSlot == 0) @@ -2491,7 +2493,7 @@ void sub_805B75C(u8 a, s16 b, s16 c) sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->images = gfxInfo->images; - if (mapObject->animPattern == 11) + if (mapObject->movementType == 11) { SetPlayerAvatarFieldObjectIdAndObjectId(a, spriteId); mapObject->warpArrowSpriteId = sub_8126B54(); @@ -2502,7 +2504,7 @@ void sub_805B75C(u8 a, s16 b, s16 c) sprite->coordOffsetEnabled = TRUE; sprite->data[0] = a; mapObject->spriteId = spriteId; - if (!mapObject->inanimate && mapObject->animPattern != 11) + if (!mapObject->inanimate && mapObject->movementType != 11) StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); sub_805B914(mapObject); SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); @@ -2511,7 +2513,7 @@ void sub_805B75C(u8 a, s16 b, s16 c) void sub_805B914(struct MapObject *mapObject) { - mapObject->regularAnimActive = FALSE; + mapObject->singleMovementActive = FALSE; mapObject->triggerGroundEffectsOnMove = TRUE; mapObject->hasShadow = FALSE; mapObject->hasReflection = FALSE; @@ -2519,7 +2521,7 @@ void sub_805B914(struct MapObject *mapObject) mapObject->inShallowFlowingWater = FALSE; mapObject->inSandPile = FALSE; mapObject->inHotSprings = FALSE; - FieldObjectClearAnim(mapObject); + FieldObjectClearHeldMovement(mapObject); } void SetPlayerAvatarFieldObjectIdAndObjectId(u8 mapObjectId, u8 spriteId) @@ -2890,10 +2892,10 @@ bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) return TRUE; } -void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y) +void UpdateFieldObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) { UpdateFieldObjectCoordsForCameraUpdate(); - sub_805B55C(x, y); + TrySpawnFieldObjects(cameraDeltaX, cameraDeltaY); RemoveFieldObjectsOutsideView(); } @@ -3187,7 +3189,7 @@ u16 npc_paltag_by_palslot(u8 a) return 0x11FF; } -fieldmap_object_null_cb(sub_805C884, sub_805C8A8); +fieldmap_object_empty_callback(MovementType_None, MovementType_None_Callback); fieldmap_object_cb(sub_805C8AC, sub_805C8D0, gUnknown_08375224); u8 sub_805C8F0(struct MapObject *mapObject, struct Sprite *sprite) @@ -3197,21 +3199,21 @@ u8 sub_805C8F0(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -extern void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); +extern void FieldObjectSetSingleMovement(struct MapObject *, struct Sprite *, u8); u8 sub_805C904(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -extern u8 FieldObjectExecRegularAnim(struct MapObject *, struct Sprite *); +extern u8 FieldObjectExecSingleMovementAction(struct MapObject *, struct Sprite *); void sub_8064820(struct Sprite *, s16); u8 sub_805C930(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) == 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) { return 0; } @@ -3251,17 +3253,17 @@ u8 sub_805C98C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805C9D8(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); - mapObject->regularAnimActive = 1; + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } u8 sub_805CA08(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -3515,17 +3517,17 @@ u8 sub_805CE2C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805CE40(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805CE6C(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -3567,14 +3569,14 @@ u8 sub_805CF6C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805CF80(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805CFAC(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) == 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) { return 0; } @@ -3610,17 +3612,17 @@ u8 sub_805D008(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D054(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); - mapObject->regularAnimActive = 1; + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } u8 sub_805D084(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -3637,14 +3639,14 @@ u8 sub_805D0F0(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D104(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805D130(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) == 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) { return 0; } @@ -3680,17 +3682,17 @@ u8 sub_805D18C(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D1D8(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); - mapObject->regularAnimActive = 1; + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } u8 sub_805D208(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -3701,14 +3703,14 @@ fieldmap_object_cb(sub_805D230, sub_805D254, gUnknown_083752C4); u8 sub_805D274(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } u8 sub_805D2A0(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite) != 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { sprite->data[1] = 2; return 1; @@ -3718,7 +3720,7 @@ u8 sub_805D2A0(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D2C0(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; return 0; } @@ -3770,14 +3772,14 @@ u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sp return 1; } get_berry_tree_graphics(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, 0x39); + FieldObjectSetSingleMovement(mapObject, sprite, 0x39); sprite->data[1] = 1; return 1; } u8 sub_805D3EC(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sprite->data[1] = 0; return 1; @@ -3787,7 +3789,7 @@ u8 sub_805D3EC(struct MapObject *mapObject, struct Sprite *sprite) u8 do_berry_tree_growth_sparkle_2(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->regularAnimActive = 1; + mapObject->singleMovementActive = 1; sprite->data[1] = 3; sprite->data[2] = 0; sprite->data[7] |= 2; @@ -3839,17 +3841,17 @@ u8 sub_805D538(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D54C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805D578(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -3891,17 +3893,17 @@ u8 sub_805D678(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D68C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805D6B8(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -3943,17 +3945,17 @@ u8 sub_805D7B8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D7CC(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805D7F8(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -3995,17 +3997,17 @@ u8 sub_805D8F8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805D90C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805D938(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -4047,17 +4049,17 @@ u8 sub_805DA38(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DA4C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805DA78(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -4099,17 +4101,17 @@ u8 sub_805DB78(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DB8C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805DBB8(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -4151,17 +4153,17 @@ u8 sub_805DCB8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DCCC(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805DCF8(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -4203,17 +4205,17 @@ u8 sub_805DDF8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DE0C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805DE38(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -4255,17 +4257,17 @@ u8 sub_805DF38(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805DF4C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805DF78(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -4307,17 +4309,17 @@ u8 sub_805E078(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805E08C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } u8 sub_805E0B8(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; @@ -4353,14 +4355,14 @@ fieldmap_object_cb(sub_805E174, sub_805E198, gUnknown_083753CC); u8 sub_805E1B8(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } u8 sub_805E1E4(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, 0x30); sprite->data[1] = 2; @@ -4397,14 +4399,14 @@ fieldmap_object_cb(sub_805E278, sub_803E29C, gUnknown_083753E4); u8 sub_805E2BC(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } u8 sub_805E2E8(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sub_8064820(sprite, 0x30); sprite->data[1] = 2; @@ -4448,7 +4450,7 @@ u8 sub_805E3C0(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805E3D4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; - direction = gUnknown_0836DC09[mapObject->animPattern]; + direction = gUnknown_0836DC09[mapObject->movementType]; if (mapObject->directionSequenceIndex != 0) { direction = GetOppositeDirection(direction); @@ -4480,17 +4482,17 @@ u8 sub_805E40C(struct MapObject *mapObject, struct Sprite *sprite) { goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); } - FieldObjectSetRegularAnim(mapObject, sprite, goSpeed0AnimId); - mapObject->regularAnimActive = 1; + FieldObjectSetSingleMovement(mapObject, sprite, goSpeed0AnimId); + mapObject->singleMovementActive = 1; sprite->data[1] = 3; return 1; } u8 sub_805E4C4(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -4525,17 +4527,17 @@ u8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct { goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); } - FieldObjectSetRegularAnim(mapObject, sprite, goSpeed0AnimId); - mapObject->regularAnimActive = 1; + FieldObjectSetSingleMovement(mapObject, sprite, goSpeed0AnimId); + mapObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } u8 sub_805E5B4(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -4870,7 +4872,7 @@ u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].animId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } @@ -4879,9 +4881,9 @@ u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -4894,8 +4896,8 @@ bool8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, boo bool8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, a2))); - mapObject->regularAnimActive = 1; + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, a2))); + mapObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } @@ -4907,14 +4909,14 @@ bool8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, boo s16 y; direction = a2; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->regularAnimActive = 1; + mapObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } @@ -4926,14 +4928,14 @@ bool8 sub_805F4F0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_8060744(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, sub_8060744(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->regularAnimActive = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4945,14 +4947,14 @@ bool8 sub_805F5A8(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_806079C(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, sub_806079C(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->regularAnimActive = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4964,14 +4966,14 @@ bool8 sub_805F660(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_80607C8(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, sub_80607C8(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->regularAnimActive = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4981,9 +4983,9 @@ bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 pl u32 direction; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); - FieldObjectSetRegularAnim(mapObject, sprite, sub_806084C(direction)); - mapObject->regularAnimActive = TRUE; + direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + FieldObjectSetSingleMovement(mapObject, sprite, sub_806084C(direction)); + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -4995,14 +4997,14 @@ bool8 sub_805F760(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_80608A4(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, sub_80608A4(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->regularAnimActive = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -5014,16 +5016,16 @@ bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->animPattern], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; sub_8060320(direction, &x, &y, 2, 2); - FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetJumpLedgeAnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->regularAnimActive = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -5032,7 +5034,7 @@ fieldmap_object_cb(sub_805F8E0, sub_805F904, gUnknown_083755C0); u8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].animId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } @@ -5102,7 +5104,7 @@ u8 sub_805FAF8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805FB04(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sprite->data[1] = 0; } @@ -5114,7 +5116,7 @@ fieldmap_object_cb(sub_805FB20, sub_805FB44, gUnknown_083755D0); u8 sub_805FB64(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5124,7 +5126,7 @@ fieldmap_object_cb(sub_805FB90, sub_805FBB4, gUnknown_083755D8); u8 sub_805FBD4(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5134,7 +5136,7 @@ fieldmap_object_cb(sub_805FC00, sub_805FC24, gUnknown_083755E0); u8 sub_805FC44(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5144,7 +5146,7 @@ fieldmap_object_cb(sub_805FC70, sub_805FC94, gUnknown_083755E8); u8 sub_805FCB4(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); mapObject->invisible = 1; sprite->data[1] = 1; return 1; @@ -5152,7 +5154,7 @@ u8 sub_805FCB4(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805FCE8(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { sprite->data[1] = 2; return 1; @@ -5162,7 +5164,7 @@ u8 sub_805FCE8(struct MapObject *mapObject, struct Sprite *sprite) u8 sub_805FD08(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->regularAnimActive = 0; + mapObject->singleMovementActive = 0; return 0; } @@ -5170,10 +5172,10 @@ void sub_805FC70(struct Sprite *sprite); void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->regularAnimActive = 0; - mapObject->specialAnimActive = 0; - mapObject->specialAnimFinished = 0; - mapObject->animId = 0xff; + mapObject->singleMovementActive = 0; + mapObject->heldMovementActive = 0; + mapObject->heldMovementFinished = 0; + mapObject->movementActionId = 0xff; sprite->data[1] = 0; } @@ -5300,12 +5302,12 @@ u8 sub_805FE90(s16 a0, s16 a1, s16 a2, s16 a3) } } -void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern) +void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType) { - mapObject->animPattern = animPattern; + mapObject->movementType = movementType; mapObject->directionSequenceIndex = 0; - mapObject->playerAnimId = 0; - gSprites[mapObject->spriteId].callback = gUnknown_0836DA88[animPattern]; + mapObject->playerMovementActionId = 0; + gSprites[mapObject->spriteId].callback = sMovementTypeCallbacks[movementType]; gSprites[mapObject->spriteId].data[1] = 0; } @@ -5536,85 +5538,82 @@ void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 direction, s16 * MoveCoords(newDirn, x, y); } -bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject) +bool8 FieldObjectIsMovementOverridden(struct MapObject *mapObject) { - if (mapObject->regularAnimActive || mapObject->specialAnimActive) - { + if (mapObject->singleMovementActive || mapObject->heldMovementActive) return TRUE; - } + return FALSE; } -bool8 FieldObjectIsSpecialAnimActive(struct MapObject *mapObject) +bool8 FieldObjectIsHeldMovementActive(struct MapObject *mapObject) { - if (mapObject->specialAnimActive && mapObject->animId != 0xff) + if (mapObject->heldMovementActive && mapObject->movementActionId != 0xff) { return TRUE; } return FALSE; } -bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) +bool8 FieldObjectSetHeldMovement(struct MapObject *mapObject, u8 movementActionId) { - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)) - { + if (FieldObjectIsMovementOverridden(mapObject)) return TRUE; - } + UnfreezeMapObject(mapObject); - mapObject->animId = specialAnimId; - mapObject->specialAnimActive = 1; - mapObject->specialAnimFinished = 0; + mapObject->movementActionId = movementActionId; + mapObject->heldMovementActive = 1; + mapObject->heldMovementFinished = 0; gSprites[mapObject->spriteId].data[2] = 0; return FALSE; } -void FieldObjectForceSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) +void FieldObjectForceSetHeldMovement(struct MapObject *mapObject, u8 movementActionId) { - FieldObjectClearAnimIfSpecialAnimActive(mapObject); - FieldObjectSetSpecialAnim(mapObject, specialAnimId); + FieldObjectClearHeldMovementIfActive(mapObject); + FieldObjectSetHeldMovement(mapObject, movementActionId); } -void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) +void FieldObjectClearHeldMovementIfActive(struct MapObject *mapObject) { - if (mapObject->specialAnimActive) + if (mapObject->heldMovementActive) { - FieldObjectClearAnim(mapObject); + FieldObjectClearHeldMovement(mapObject); } } -void FieldObjectClearAnim(struct MapObject *mapObject) +void FieldObjectClearHeldMovement(struct MapObject *mapObject) { - mapObject->animId = 0xFF; - mapObject->specialAnimActive = 0; - mapObject->specialAnimFinished = 0; + mapObject->movementActionId = 0xFF; + mapObject->heldMovementActive = 0; + mapObject->heldMovementFinished = 0; gSprites[mapObject->spriteId].data[1] = 0; gSprites[mapObject->spriteId].data[2] = 0; } -bool8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject) +bool8 FieldObjectCheckHeldMovementStatus(struct MapObject *mapObject) { - if (mapObject->specialAnimActive) - return mapObject->specialAnimFinished; + if (mapObject->heldMovementActive) + return mapObject->heldMovementFinished; + return 0x10; } -bool8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *mapObject) +bool8 FieldObjectClearHeldMovementIfFinished(struct MapObject *mapObject) { - u8 specialAnimStatus; - specialAnimStatus = FieldObjectCheckIfSpecialAnimFinishedOrInactive(mapObject); - if (specialAnimStatus != 0 && specialAnimStatus != 0x10) - { - FieldObjectClearAnimIfSpecialAnimActive(mapObject); - } - return specialAnimStatus; + u8 heldMovementStatus; + heldMovementStatus = FieldObjectCheckHeldMovementStatus(mapObject); + if (heldMovementStatus != 0 && heldMovementStatus != 0x10) + FieldObjectClearHeldMovementIfActive(mapObject); + + return heldMovementStatus; } -u8 FieldObjectGetSpecialAnim(struct MapObject *mapObject) +u8 FieldObjectGetHeldMovementActionId(struct MapObject *mapObject) { - if (mapObject->specialAnimActive) - { - return mapObject->animId; - } + if (mapObject->heldMovementActive) + return mapObject->movementActionId; + return 0xFF; } @@ -5623,16 +5622,16 @@ extern void DoGroundEffects_OnBeginStep(struct MapObject *mapObject, struct Spri extern void DoGroundEffects_OnFinishStep(struct MapObject *mapObject, struct Sprite *sprite); void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite); void sub_80634A0(struct MapObject *mapObject, struct Sprite *sprite); -void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite); +void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprite *sprite); void FieldObjectUpdateSubpriority(struct MapObject *mapObject, struct Sprite *sprite); void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback)(struct MapObject *, struct Sprite *)) { DoGroundEffects_OnSpawn(mapObject, sprite); sub_80634A0(mapObject, sprite); - if (FieldObjectIsSpecialAnimActive(mapObject)) + if (FieldObjectIsHeldMovementActive(mapObject)) { - FieldObjectExecSpecialAnim(mapObject, sprite); + FieldObjectExecHeldMovementAction(mapObject, sprite); } else if (!mapObject->frozen) { @@ -5677,7 +5676,7 @@ dirn_to_anim(GetStepInPlaceDelay4AnimId, gUnknown_08375718) u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) { - return FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); + return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); } u8 sub_80609D8(u8 index) @@ -5819,28 +5818,29 @@ u32 state_to_direction(u8 a0, u32 a1, u32 a2) return gUnknown_08375767[a0 - 1][zffuOffset - 1]; } -void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) +void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_08375778[mapObject->animId][sprite->data[2]](mapObject, sprite)) + if (gUnknown_08375778[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { - mapObject->specialAnimFinished = 1; + mapObject->heldMovementFinished = 1; } } -bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_08375778[mapObject->animId][sprite->data[2]](mapObject, sprite)) + if (gUnknown_08375778[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { - mapObject->animId = 0xFF; + mapObject->movementActionId = 0xFF; sprite->data[2] = 0; return 1; } + return 0; } -void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) +void FieldObjectSetSingleMovement(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) { - mapObject->animId = animId; + mapObject->movementActionId = animId; sprite->data[2] = 0; } @@ -7176,7 +7176,7 @@ bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80625B0(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, gUnknown_0836DC09[mapObject->animPattern]); + an_look_any(mapObject, sprite, gUnknown_0836DC09[mapObject->movementType]); return TRUE; } @@ -7256,12 +7256,12 @@ bool8 sub_8062704(struct MapObject *, struct Sprite *); bool8 sub_80626C0(struct MapObject *mapObject, struct Sprite *sprite) { - if (mapObject->animPattern == 0x3F) + if (mapObject->movementType == 0x3F) { sub_8084794(mapObject); return FALSE; } - else if (mapObject->animPattern != 0x39 && mapObject->animPattern != 0x3A) + else if (mapObject->movementType != 0x39 && mapObject->movementType != 0x3A) { sprite->data[2] = 2; return TRUE; @@ -9073,7 +9073,7 @@ const s8 *const gUnknown_083761D0[] = { bool8 FreezeMapObject(struct MapObject *mapObject) { - if (mapObject->specialAnimActive || mapObject->frozen) + if (mapObject->heldMovementActive || mapObject->frozen) { return TRUE; } @@ -9174,9 +9174,9 @@ bool8 obj_npc_ministep(struct Sprite *sprite) return TRUE; } -void sub_806467C(struct Sprite *sprite, u8 a2) +void sub_806467C(struct Sprite *sprite, u8 direction) { - sprite->data[3] = a2; + sprite->data[3] = direction; sprite->data[4] = 0; sprite->data[5] = 0; } diff --git a/src/field_effect.c b/src/field_effect.c index 51d1a1a0a..bb18c870f 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1180,7 +1180,7 @@ bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0] CameraObjectReset2(); gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; - FieldObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; @@ -1328,9 +1328,9 @@ bool8 sub_8086AC0(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) { - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); task->data[0]++; task->data[2] = 0; task->data[3] = 0; @@ -1447,7 +1447,7 @@ bool8 sub_8086CF4(struct Task *task) u8 behavior; CameraObjectReset2(); mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(DIR_EAST)); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(DIR_EAST)); PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); task->data[0]++; @@ -1541,11 +1541,11 @@ bool8 sub_8086ED4(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { CameraObjectReset1(); ScriptContext2_Disable(); - FieldObjectSetSpecialAnim(mapObject, GetGoSpeed0AnimId(DIR_EAST)); + FieldObjectSetHeldMovement(mapObject, GetGoSpeed0AnimId(DIR_EAST)); DestroyTask(FindTaskIdByFunc(sub_8086CBC)); } return FALSE; @@ -1578,9 +1578,9 @@ bool8 sub_8086FB0(struct Task *task, struct MapObject *mapObject) bool8 waterfall_1_do_anim_probably(struct Task *task, struct MapObject *mapObject) { ScriptContext2_Enable(); - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)) + if (!FieldObjectIsMovementOverridden(mapObject)) { - FieldObjectClearAnimIfSpecialAnimFinished(mapObject); + FieldObjectClearHeldMovementIfFinished(mapObject); gFieldEffectArguments[0] = task->data[1]; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); task->data[0]++; @@ -1600,14 +1600,14 @@ bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct MapObject bool8 sub_8087030(struct Task *task, struct MapObject *mapObject) { - FieldObjectSetSpecialAnim(mapObject, GetSimpleGoAnimId(DIR_NORTH)); + FieldObjectSetHeldMovement(mapObject, GetSimpleGoAnimId(DIR_NORTH)); task->data[0]++; return FALSE; } bool8 sub_8087058(struct Task *task, struct MapObject *mapObject) { - if (!FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (!FieldObjectClearHeldMovementIfFinished(mapObject)) { return FALSE; } @@ -1834,14 +1834,14 @@ bool8 sub_8087548(struct Task *task, struct MapObject *mapObject, struct Sprite mapObject->invisible = 0; CameraObjectReset1(); PlaySE(SE_W091); - FieldObjectSetSpecialAnim(mapObject, sub_80608A4(DIR_EAST)); + FieldObjectSetHeldMovement(mapObject, sub_80608A4(DIR_EAST)); } return FALSE; } bool8 sub_808759C(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); @@ -1896,7 +1896,7 @@ bool8 sub_80876C8(struct Task *task, struct MapObject *mapObject, struct Sprite bool8 sub_80876F8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { if (task->data[1] > 3) { @@ -1909,7 +1909,7 @@ bool8 sub_80876F8(struct Task *task, struct MapObject *mapObject, struct Sprite } else { task->data[1]++; - FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); + FieldObjectSetHeldMovement(mapObject, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } @@ -1999,7 +1999,7 @@ void sub_8087914(struct Task *task) fade_8080918(); } mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) { if (task->data[14] == 0 && !gPaletteFade.active && sub_8054034() == TRUE) { @@ -2011,7 +2011,7 @@ void sub_8087914(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80878C4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2059,7 +2059,7 @@ void sub_8087AC8(struct Task *task) struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) && !FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectIsMovementOverridden(mapObject) && !FieldObjectClearHeldMovementIfFinished(mapObject)) { return; } @@ -2071,7 +2071,7 @@ void sub_8087AC8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_8087A74)); return; } - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; @@ -2833,10 +2833,10 @@ void sub_80889E4(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) { sub_8059BF4(); - FieldObjectSetSpecialAnim(mapObject, 0x39); + FieldObjectSetHeldMovement(mapObject, 0x39); task->data[0]++; } } @@ -2845,7 +2845,7 @@ void sub_8088A30(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(mapObject)) + if (FieldObjectCheckHeldMovementStatus(mapObject)) { gFieldEffectArguments[0] = task->data[15] | 0x80000000; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); @@ -2860,8 +2860,8 @@ void sub_8088A78(struct Task *task) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); - FieldObjectClearAnimIfSpecialAnimFinished(mapObject); - FieldObjectSetSpecialAnim(mapObject, sub_80608D0(mapObject->movementDirection)); + FieldObjectClearHeldMovementIfFinished(mapObject); + FieldObjectSetHeldMovement(mapObject, sub_80608D0(mapObject->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; @@ -2874,11 +2874,11 @@ void sub_8088AF4(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->movementDirection)); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(mapObject->movementDirection)); sub_8127ED0(mapObject->fieldEffectSpriteId, 1); UnfreezeMapObjects(); ScriptContext2_Disable(); @@ -2962,13 +2962,13 @@ void sub_8088CA0(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) { task->data[15] = gPlayerAvatar.flags; gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(1); sub_8059BF4(); - FieldObjectSetSpecialAnim(mapObject, 0x39); + FieldObjectSetHeldMovement(mapObject, 0x39); task->data[0]++; } } @@ -2977,7 +2977,7 @@ void sub_8088CF8(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { task->data[0]++; gFieldEffectArguments[0] = task->data[1]; @@ -3008,7 +3008,7 @@ void sub_8088D94(struct Task *task) task->data[0]++; task->data[2] = 16; SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], 0x02); + FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], 0x02); } } @@ -3016,7 +3016,7 @@ void sub_8088DD8(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if ((task->data[2] == 0 || (--task->data[2]) == 0) && FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if ((task->data[2] == 0 || (--task->data[2]) == 0) && FieldObjectClearHeldMovementIfFinished(mapObject)) { task->data[0]++; PlaySE(SE_W019); @@ -3033,7 +3033,7 @@ void sub_8088E2C(struct Task *task) sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); mapObject->inanimate = 1; - FieldObjectSetSpecialAnim(mapObject, 0x48); + FieldObjectSetHeldMovement(mapObject, 0x48); if (task->data[15] & 0x08) { DestroySprite(&gSprites[mapObject->fieldEffectSpriteId]); @@ -3049,7 +3049,7 @@ void sub_8088EB4(struct Task *task) if ((++task->data[2]) >= 10) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectClearAnimIfSpecialAnimActive(mapObject); + FieldObjectClearHeldMovementIfActive(mapObject); mapObject->inanimate = 0; mapObject->hasShadow = 0; sub_8088FFC(task->data[1], mapObject->spriteId); @@ -3259,7 +3259,7 @@ void sub_80892A0(struct Task *task) { struct MapObject *mapObject; mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) { task->data[0]++; task->data[2] = 17; @@ -3343,14 +3343,14 @@ void sub_8089414(struct Task *task) sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; sub_8059BF4(); - FieldObjectSetSpecialAnim(mapObject, 0x39); + FieldObjectSetHeldMovement(mapObject, 0x39); task->data[0]++; } } void sub_808948C(struct Task *task) { - if (FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gPlayerAvatar.mapObjectId])) + if (FieldObjectClearHeldMovementIfFinished(&gMapObjects[gPlayerAvatar.mapObjectId])) { task->data[0]++; sub_8089230(task->data[1]); diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 4a4122641..669b6b531 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -231,7 +231,7 @@ void sub_8080B9C(u8 taskId) u8 mapObjId; sub_8080958(1); mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetSpecialAnim(&gMapObjects[mapObjId], 8); + FieldObjectSetHeldMovement(&gMapObjects[mapObjId], 8); task->data[0] = 2; } break; @@ -241,7 +241,7 @@ void sub_8080B9C(u8 taskId) u8 mapObjId; task->data[1] = FieldAnimateDoorClose(*x, *y); mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId]); task->data[0] = 3; } break; @@ -279,7 +279,7 @@ void task_map_chg_seq_0807E20C(u8 taskId) u8 mapObjId; sub_8080958(1); mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetSpecialAnim(&gMapObjects[mapObjId], GetGoSpeed0AnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetGoSpeed0AnimId(player_get_direction_lower_nybble())); task->data[0] = 2; } break; @@ -571,9 +571,9 @@ void sub_808115C(u8 taskId) { u8 mapObjId; mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimActive(&gMapObjects[mapObjId]); + FieldObjectClearHeldMovementIfActive(&gMapObjects[mapObjId]); mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetSpecialAnim(&gMapObjects[mapObjId], 9); + FieldObjectSetHeldMovement(&gMapObjects[mapObjId], 9); task->data[0] = 2; } break; @@ -583,7 +583,7 @@ void sub_808115C(u8 taskId) u8 mapObjId; task->data[1] = FieldAnimateDoorClose(*x, *y - 1); mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId]); sub_8080958(0); task->data[0] = 3; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index b17816f6d..f4f53c0a9 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -196,7 +196,7 @@ static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) = sub_805A1B8, }; -fieldmap_object_null_cb(sub_80587B4, sub_80587D8); +fieldmap_object_empty_callback(sub_80587B4, sub_80587D8); void player_step(u8 direction, u16 newKeys, u16 heldKeys) { @@ -221,14 +221,13 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) static bool8 sub_8058854(struct MapObject *playerMapObj, u8 direction) { - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerMapObj) - && !FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) + if (FieldObjectIsMovementOverridden(playerMapObj) + && !FieldObjectClearHeldMovementIfFinished(playerMapObj)) { - u8 specialAnim = FieldObjectGetSpecialAnim(playerMapObj); - - if (specialAnim > 24 && specialAnim < 29 && direction != DIR_NONE && playerMapObj->movementDirection != direction) + u8 heldMovementActionId = FieldObjectGetHeldMovementActionId(playerMapObj); + if (heldMovementActionId > 24 && heldMovementActionId < 29 && direction != DIR_NONE && playerMapObj->movementDirection != direction) { - FieldObjectClearAnim(playerMapObj); + FieldObjectClearHeldMovement(playerMapObj); return FALSE; } else @@ -718,7 +717,7 @@ void sub_8059204(void) static bool8 player_is_anim_in_certain_ranges(void) { - u8 unk = gMapObjects[gPlayerAvatar.mapObjectId].animId; + u8 unk = gMapObjects[gPlayerAvatar.mapObjectId].movementActionId; if (unk < 4 || (unk >= 16 && unk < 0x15) @@ -740,35 +739,35 @@ static bool8 sub_80592A4(void) static bool8 PlayerIsAnimActive(void) { - return FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gMapObjects[gPlayerAvatar.mapObjectId]); + return FieldObjectIsMovementOverridden(&gMapObjects[gPlayerAvatar.mapObjectId]); } static bool8 PlayerCheckIfAnimFinishedOrInactive(void) { - return FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[gPlayerAvatar.mapObjectId]); + return FieldObjectCheckHeldMovementStatus(&gMapObjects[gPlayerAvatar.mapObjectId]); } static void player_set_x22(u8 a) { - gMapObjects[gPlayerAvatar.mapObjectId].playerAnimId = a; + gMapObjects[gPlayerAvatar.mapObjectId].playerMovementActionId = a; } u8 player_get_x22(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].playerAnimId; + return gMapObjects[gPlayerAvatar.mapObjectId].playerMovementActionId; } static void sub_8059348(u8 a) { - FieldObjectForceSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], a); + FieldObjectForceSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], a); } -void PlayerSetAnimId(u8 animId, u8 b) +void PlayerSetAnimId(u8 movementActionId, u8 b) { if (!PlayerIsAnimActive()) { player_set_x22(b); - FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], animId); + FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], movementActionId); } } @@ -1228,7 +1227,7 @@ static void sub_8059E2C(u8 taskId) ; } -u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c) +u8 sub_8059E84(struct Task *task, struct MapObject *playerObject, struct MapObject *strengthObject) { ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; @@ -1236,19 +1235,19 @@ u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c) return 0; } -u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c) +u8 sub_8059EA4(struct Task *task, struct MapObject *playerObject, struct MapObject *strengthObject) { - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(b) - && !FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(c)) + if (!FieldObjectIsMovementOverridden(playerObject) + && !FieldObjectIsMovementOverridden(strengthObject)) { - FieldObjectClearAnimIfSpecialAnimFinished(b); - FieldObjectClearAnimIfSpecialAnimFinished(c); - FieldObjectSetSpecialAnim(b, GetStepInPlaceDelay16AnimId((u8)task->data[2])); - FieldObjectSetSpecialAnim(c, GetSimpleGoAnimId((u8)task->data[2])); - gFieldEffectArguments[0] = c->currentCoords.x; - gFieldEffectArguments[1] = c->currentCoords.y; - gFieldEffectArguments[2] = c->previousElevation; - gFieldEffectArguments[3] = gSprites[c->spriteId].oam.priority; + FieldObjectClearHeldMovementIfFinished(playerObject); + FieldObjectClearHeldMovementIfFinished(strengthObject); + FieldObjectSetHeldMovement(playerObject, GetStepInPlaceDelay16AnimId((u8)task->data[2])); + FieldObjectSetHeldMovement(strengthObject, GetSimpleGoAnimId((u8)task->data[2])); + gFieldEffectArguments[0] = strengthObject->currentCoords.x; + gFieldEffectArguments[1] = strengthObject->currentCoords.y; + gFieldEffectArguments[2] = strengthObject->previousElevation; + gFieldEffectArguments[3] = gSprites[strengthObject->spriteId].oam.priority; FieldEffectStart(FLDEFF_DUST); PlaySE(SE_W070); task->data[0]++; @@ -1256,13 +1255,13 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c) return 0; } -u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c) +u8 sub_8059F40(struct Task *task, struct MapObject *playerObject, struct MapObject *strengthObject) { - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(b) - && FieldObjectCheckIfSpecialAnimFinishedOrInactive(c)) + if (FieldObjectCheckHeldMovementStatus(playerObject) + && FieldObjectCheckHeldMovementStatus(strengthObject)) { - FieldObjectClearAnimIfSpecialAnimFinished(b); - FieldObjectClearAnimIfSpecialAnimFinished(c); + FieldObjectClearHeldMovementIfFinished(playerObject); + FieldObjectClearHeldMovementIfFinished(strengthObject); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroyTask(FindTaskIdByFunc(sub_8059E2C)); @@ -1289,10 +1288,10 @@ static void DoPlayerAvatarSecretBaseMatJump(u8 taskId) u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObject) { gPlayerAvatar.preventStep = TRUE; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { PlaySE(SE_DANSA); - FieldObjectSetSpecialAnim(mapObject, sub_806084C(mapObject->facingDirection)); + FieldObjectSetHeldMovement(mapObject, sub_806084C(mapObject->facingDirection)); task->data[1]++; if (task->data[1] > 1) { @@ -1335,11 +1334,11 @@ u8 sub_805A100(struct Task *task, struct MapObject *mapObject) { u8 directions[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { u8 direction; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(direction = directions[mapObject->movementDirection - 1])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(direction = directions[mapObject->movementDirection - 1])); if (direction == (u8)task->data[1]) task->data[2]++; task->data[0]++; @@ -1353,9 +1352,9 @@ u8 sub_805A178(struct Task *task, struct MapObject *mapObject) { const u8 arr[] = {16, 16, 17, 18, 19}; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { - FieldObjectSetSpecialAnim(mapObject, arr[task->data[2]]); + FieldObjectSetHeldMovement(mapObject, arr[task->data[2]]); task->data[0] = 1; } return 0; @@ -1363,9 +1362,9 @@ u8 sub_805A178(struct Task *task, struct MapObject *mapObject) u8 sub_805A1B8(struct Task *task, struct MapObject *mapObject) { - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (FieldObjectClearHeldMovementIfFinished(mapObject)) { - FieldObjectSetSpecialAnim(mapObject, GetSimpleGoAnimId(GetOppositeDirection(task->data[1]))); + FieldObjectSetHeldMovement(mapObject, GetSimpleGoAnimId(GetOppositeDirection(task->data[1]))); ScriptContext2_Disable(); gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(sub_805A08C)); @@ -1397,13 +1396,13 @@ static void taskFF_0805D1D4(u8 taskId) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerMapObj)) + if (FieldObjectIsMovementOverridden(playerMapObj)) { - if (!FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) + if (!FieldObjectClearHeldMovementIfFinished(playerMapObj)) return; } sub_8127ED0(playerMapObj->fieldEffectSpriteId, 2); - FieldObjectSetSpecialAnim(playerMapObj, sub_80608D0((u8)gTasks[taskId].data[0])); + FieldObjectSetHeldMovement(playerMapObj, sub_80608D0((u8)gTasks[taskId].data[0])); gTasks[taskId].func = sub_805A2D0; } @@ -1411,10 +1410,10 @@ static void sub_805A2D0(u8 taskId) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) + if (FieldObjectClearHeldMovementIfFinished(playerMapObj)) { sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - FieldObjectSetSpecialAnim(playerMapObj, GetFaceDirectionAnimId(playerMapObj->facingDirection)); + FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionAnimId(playerMapObj->facingDirection)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroySprite(&gSprites[playerMapObj->fieldEffectSpriteId]); @@ -1495,7 +1494,7 @@ u8 Fishing2(struct Task *task) task->tMinRoundsRequired = arr1[task->tFishingRod] + (Random() % arr2[task->tFishingRod]); task->tPlayerGfxId = gMapObjects[gPlayerAvatar.mapObjectId].graphicsId; playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectClearAnimIfSpecialAnimActive(playerMapObj); + FieldObjectClearHeldMovementIfActive(playerMapObj); playerMapObj->enableAnim = 1; sub_8059C3C(playerMapObj->facingDirection); task->tStep++; diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c index fa4a7e76b..1f0990a5e 100644 --- a/src/fldeff_berrytree.c +++ b/src/fldeff_berrytree.c @@ -16,11 +16,11 @@ static void Task_WateringBerryTreeAnim_0(u8 taskId) static void Task_WateringBerryTreeAnim_1(u8 taskId) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerMapObj) - || FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) + if (!FieldObjectIsMovementOverridden(playerMapObj) + || FieldObjectClearHeldMovementIfFinished(playerMapObj)) { sub_8059D08(player_get_direction_lower_nybble()); - FieldObjectSetSpecialAnim(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); gTasks[taskId].func = Task_WateringBerryTreeAnim_2; } } @@ -28,13 +28,13 @@ static void Task_WateringBerryTreeAnim_1(u8 taskId) static void Task_WateringBerryTreeAnim_2(u8 taskId) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(playerMapObj)) + if (FieldObjectClearHeldMovementIfFinished(playerMapObj)) { s16 value = gTasks[taskId].data[1]++; if (value < 10) { - FieldObjectSetSpecialAnim(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); } else { diff --git a/src/item_use.c b/src/item_use.c index 9638588fe..5ec703bd2 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -688,15 +688,15 @@ u8 GetPlayerDirectionTowardsHiddenItem(s16 itemX, s16 itemY) void SetPlayerDirectionTowardsItem(u8 direction) { - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - FieldObjectClearAnim(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + FieldObjectClearHeldMovement(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); UnfreezeMapObject(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); PlayerTurnInPlace(direction); } void DisplayItemRespondingMessageAndExitItemfinder(u8 taskId) { - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) + if (FieldObjectCheckHeldMovementStatus(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gOtherText_ItemfinderResponding, ExitItemfinder, 0); } @@ -704,7 +704,7 @@ void RotatePlayerAndExitItemfinder(u8 taskId) { s16 *data = gTasks[taskId].data; - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE + if (FieldObjectCheckHeldMovementStatus(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE || data[2] == FALSE) { SetPlayerDirectionTowardsItem(gItemFinderDirections[data[5]]); diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c index bac306cd8..7b3b9b3e6 100644 --- a/src/map_obj_lock.c +++ b/src/map_obj_lock.c @@ -52,7 +52,7 @@ void sub_8064D38(u8 taskId) sub_80594C0(); task->data[0] = 1; } - if (!task->data[1] && !gMapObjects[gSelectedMapObject].regularAnimActive) + if (!task->data[1] && !gMapObjects[gSelectedMapObject].singleMovementActive) { FreezeMapObject(&gMapObjects[gSelectedMapObject]); task->data[1] = 1; @@ -79,7 +79,7 @@ void LockSelectedMapObject(void) u8 taskId; FreezeMapObjectsExceptOne(gSelectedMapObject); taskId = CreateTask(sub_8064D38, 80); - if (!gMapObjects[gSelectedMapObject].regularAnimActive) + if (!gMapObjects[gSelectedMapObject].singleMovementActive) { FreezeMapObject(&gMapObjects[gSelectedMapObject]); gTasks[taskId].data[1] = 1; @@ -89,7 +89,7 @@ void LockSelectedMapObject(void) void sub_8064E2C(void) { u8 objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); sub_80A2178(); UnfreezeMapObjects(); } @@ -99,9 +99,9 @@ void unref_sub_8064E5C(void) u8 objectId; if (gMapObjects[gSelectedMapObject].active) - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedMapObject]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[gSelectedMapObject]); objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); sub_80A2178(); UnfreezeMapObjects(); } @@ -113,5 +113,5 @@ void sub_8064EAC(void) void sub_8064ED4(void) { - FieldObjectClearAnimIfSpecialAnimActive(&gMapObjects[gSelectedMapObject]); + FieldObjectClearHeldMovementIfActive(&gMapObjects[gSelectedMapObject]); } diff --git a/src/overworld.c b/src/overworld.c index 98bb43add..f5624cd70 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1825,7 +1825,7 @@ void sub_8054D90(void) gUnknown_0300489C = 0; gUnknown_03004898 = 0; sub_805AA98(); - sub_805B55C(0, 0); + TrySpawnFieldObjects(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -1841,7 +1841,7 @@ void mli4_mapscripts_and_other(void) InitPlayerAvatar(x, y, player->player_field_1, gSaveBlock2.playerGender); SetPlayerAvatarTransitionFlags(player->player_field_0); player_avatar_init_params_reset(); - sub_805B55C(0, 0); + TrySpawnFieldObjects(0, 0); ResetBerryTreeSparkleFlags(); mapheader_run_first_tag4_script_list_match(); } @@ -2505,7 +2505,7 @@ void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) linkPlayerMapObj->mode = 0; mapObj->active = 1; - mapObj->regularAnimActive = a4; + mapObj->singleMovementActive = a4; mapObj->range.as_byte = 2; mapObj->spriteId = 64; @@ -2720,7 +2720,7 @@ void CreateLinkPlayerSprite(u8 linkPlayerId) if (linkPlayerMapObj->active) { - u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, mapObj->regularAnimActive); + u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, mapObj->singleMovementActive); mapObj->spriteId = AddPseudoFieldObject(val, SpriteCB_LinkPlayer, 0, 0, 0); sprite = &gSprites[mapObj->spriteId]; sprite->coordOffsetEnabled = TRUE; diff --git a/src/rom6.c b/src/rom6.c index 24c2de6d2..ca1e4b250 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -63,8 +63,8 @@ static void task08_080C9820(u8 taskId) ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; mapObjId = gPlayerAvatar.mapObjectId; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gMapObjects[mapObjId]) - || FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId])) + if (!FieldObjectIsMovementOverridden(&gMapObjects[mapObjId]) + || FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId])) { if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) { @@ -74,7 +74,7 @@ static void task08_080C9820(u8 taskId) else { sub_8059BF4(); - FieldObjectSetSpecialAnim(&gMapObjects[mapObjId], 0x39); + FieldObjectSetHeldMovement(&gMapObjects[mapObjId], 0x39); gTasks[taskId].func = sub_810B3DC; } } @@ -82,7 +82,7 @@ static void task08_080C9820(u8 taskId) static void sub_810B3DC(u8 taskId) { - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[gPlayerAvatar.mapObjectId]) == TRUE) + if (FieldObjectCheckHeldMovementStatus(&gMapObjects[gPlayerAvatar.mapObjectId]) == TRUE) { FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); gTasks[taskId].func = sub_810B428; diff --git a/src/scrcmd.c b/src/scrcmd.c index 29c1f982e..674912c16 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1205,7 +1205,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) HideFieldMessageBox(); objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); sub_80A2178(); UnfreezeMapObjects(); return FALSE; @@ -1217,9 +1217,9 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) HideFieldMessageBox(); if (gMapObjects[gSelectedMapObject].active) - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedMapObject]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[gSelectedMapObject]); objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); + FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); sub_80A2178(); UnfreezeMapObjects(); return FALSE; diff --git a/src/script_movement.c b/src/script_movement.c index 653dffcbf..ed1289a66 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -206,8 +206,8 @@ static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, const u8 *d) { u8 var; - if (FieldObjectIsSpecialAnimActive(&gMapObjects[mapObjId]) - && !FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[mapObjId])) + if (FieldObjectIsHeldMovementActive(&gMapObjects[mapObjId]) + && !FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId])) return; var = *d; @@ -218,7 +218,7 @@ static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, const u8 *d) } else { - if (!FieldObjectSetSpecialAnim(&gMapObjects[mapObjId], var)) + if (!FieldObjectSetHeldMovement(&gMapObjects[mapObjId], var)) { d++; npc_obj_offscreen_culling_and_flag_update(b, d); diff --git a/src/trainer_see.c b/src/trainer_see.c index 2501d2c7f..a4811ecd5 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -266,7 +266,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); direction = GetFaceDirectionAnimId(trainerObj->facingDirection); - FieldObjectSetSpecialAnim(trainerObj, direction); + FieldObjectSetHeldMovement(trainerObj, direction); task->data[0]++; return TRUE; } @@ -280,9 +280,9 @@ static bool8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainer else { task->data[0]++; - if (trainerObj->animPattern == 57 || trainerObj->animPattern == 58) + if (trainerObj->movementType == 57 || trainerObj->movementType == 58) task->data[0] = 6; - if (trainerObj->animPattern == 63) + if (trainerObj->movementType == 63) task->data[0] = 8; return TRUE; } @@ -290,16 +290,16 @@ static bool8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainer static bool8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if (!(FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)) || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (!(FieldObjectIsMovementOverridden(trainerObj)) || FieldObjectClearHeldMovementIfFinished(trainerObj)) { if (task->data[3]) { - FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); + FieldObjectSetHeldMovement(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); task->data[3]--; } else { - FieldObjectSetSpecialAnim(trainerObj, 0x3E); + FieldObjectSetHeldMovement(trainerObj, 0x3E); task->data[0]++; } } @@ -310,7 +310,7 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer { struct MapObject *playerObj; - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (FieldObjectIsMovementOverridden(trainerObj) && !FieldObjectClearHeldMovementIfFinished(trainerObj)) return FALSE; npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); @@ -318,11 +318,11 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer sub_805C754(trainerObj); playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(playerObj)) + if (FieldObjectIsMovementOverridden(playerObj) && !FieldObjectClearHeldMovementIfFinished(playerObj)) return FALSE; sub_80597E8(); - FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection))); + FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection))); task->data[0]++; return FALSE; } @@ -331,18 +331,18 @@ static bool8 sub_8084534(u8 taskId, struct Task *task, struct MapObject *trainer { struct MapObject *playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) - || FieldObjectClearAnimIfSpecialAnimFinished(playerObj)) + if (!FieldObjectIsMovementOverridden(playerObj) + || FieldObjectClearHeldMovementIfFinished(playerObj)) SwitchTaskToFollowupFunc(taskId); return FALSE; } static bool8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) - || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (!FieldObjectIsMovementOverridden(trainerObj) + || FieldObjectClearHeldMovementIfFinished(trainerObj)) { - FieldObjectSetSpecialAnim(trainerObj, 0x59); + FieldObjectSetHeldMovement(trainerObj, 0x59); task->data[0]++; } return FALSE; @@ -350,7 +350,7 @@ static bool8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainer static bool8 sub_80845AC(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if (FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (FieldObjectClearHeldMovementIfFinished(trainerObj)) task->data[0] = 3; return FALSE; @@ -358,10 +358,10 @@ static bool8 sub_80845AC(u8 taskId, struct Task *task, struct MapObject *trainer static bool8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) - || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (!FieldObjectIsMovementOverridden(trainerObj) + || FieldObjectClearHeldMovementIfFinished(trainerObj)) { - FieldObjectSetSpecialAnim(trainerObj, 0x3E); + FieldObjectSetHeldMovement(trainerObj, 0x3E); task->data[0]++; } return FALSE; @@ -369,7 +369,7 @@ static bool8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainer static bool8 sub_80845FC(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(trainerObj)) + if (FieldObjectCheckHeldMovementStatus(trainerObj)) { gFieldEffectArguments[0] = trainerObj->currentCoords.x; gFieldEffectArguments[1] = trainerObj->currentCoords.y; @@ -392,8 +392,8 @@ static bool8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainer sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; - FieldObjectClearAnimIfSpecialAnimFinished(trainerObj); - FieldObjectSetSpecialAnim(trainerObj, sub_806084C(trainerObj->facingDirection)); + FieldObjectClearHeldMovementIfFinished(trainerObj); + FieldObjectSetHeldMovement(trainerObj, sub_806084C(trainerObj->facingDirection)); task->data[0]++; } return FALSE; @@ -424,7 +424,7 @@ void sub_80846E4(u8 taskId) LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&mapObj); if (!task->data[7]) { - FieldObjectClearAnim(mapObj); + FieldObjectClearHeldMovement(mapObj); task->data[7]++; } gTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj); @@ -436,7 +436,7 @@ void sub_80846E4(u8 taskId) } else { - mapObj->specialAnimFinished = 0; + mapObj->heldMovementFinished = 0; } } -- cgit v1.2.3 From bc97185452e4dd38a808afeac7b6c774d4ab1163 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 25 May 2018 09:30:24 -0500 Subject: Label all movement type functions and their callbacks --- src/bike.c | 14 +- .../field_map_obj/callback_subroutine_pointers.h | 563 +++++----- src/decoration.c | 2 +- src/event_object_movement.c | 1122 +++++++++++--------- src/field_camera.c | 2 +- src/field_control_avatar.c | 6 +- src/field_effect.c | 24 +- src/field_fadetransition.c | 2 +- src/field_player_avatar.c | 54 +- src/field_specials.c | 6 +- src/fldeff_berrytree.c | 6 +- src/fldeff_decoration.c | 4 +- src/fldeff_secretpower.c | 4 +- src/item_use.c | 2 +- src/overworld.c | 2 +- src/rom6.c | 2 +- src/scrcmd.c | 2 +- src/trainer_see.c | 8 +- 18 files changed, 989 insertions(+), 836 deletions(-) (limited to 'src') diff --git a/src/bike.c b/src/bike.c index 25419c6cf..66227e029 100644 --- a/src/bike.c +++ b/src/bike.c @@ -153,7 +153,7 @@ static void MovePlayerOnMachBike(u8 direction, u16 newKeys, u16 heldKeys) static u8 GetMachBikeTransition(u8 *dirTraveling) { // if the dir updated before this function, get the relevent new direction to check later. - u8 direction = player_get_direction_upper_nybble(); + u8 direction = GetPlayerMovementDirection(); // is the player standing still? if (*dirTraveling == 0) @@ -301,7 +301,7 @@ static u8 CheckMovementInputAcroBike(u8 *newDirection, u16 newKeys, u16 heldKeys static u8 AcroBikeHandleInputNormal(u8 *newDirection, u16 newKeys, u16 heldKeys) { - u8 direction = player_get_direction_upper_nybble(); + u8 direction = GetPlayerMovementDirection(); gPlayerAvatar.bikeFrameCounter = 0; if (*newDirection == DIR_NONE) @@ -354,7 +354,7 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys Bike_SetBikeStill(); return ACRO_TRANS_TURN_DIRECTION; } - direction = player_get_direction_upper_nybble(); + direction = GetPlayerMovementDirection(); if (*newDirection == AcroBike_GetJumpDirection()) { Bike_SetBikeStill(); // Bike_SetBikeStill sets speed to standing, but the next line immediately overrides it. could have just reset acroBikeState to 0 here instead of wasting a jump. @@ -383,7 +383,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 u8 direction; struct MapObject *playerMapObj; - direction = player_get_direction_upper_nybble(); + direction = GetPlayerMovementDirection(); playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; gPlayerAvatar.runningState = NOT_MOVING; @@ -430,7 +430,7 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey u8 direction; struct MapObject *playerMapObj; - direction = player_get_direction_upper_nybble(); + direction = GetPlayerMovementDirection(); playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; if (!(heldKeys & B_BUTTON)) { @@ -477,7 +477,7 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he u8 direction; struct MapObject *playerMapObj; - direction = player_get_direction_lower_nybble(); + direction = GetPlayerFacingDirection(); playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; if (!(heldKeys & B_BUTTON)) { @@ -1065,7 +1065,7 @@ void Bike_HandleBumpySlopeJump(void) if (MetatileBehavior_IsBumpySlope(tileBehavior)) { gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; - sub_8059C94(player_get_direction_upper_nybble()); + sub_8059C94(GetPlayerMovementDirection()); } } } diff --git a/src/data/field_map_obj/callback_subroutine_pointers.h b/src/data/field_map_obj/callback_subroutine_pointers.h index a324066b7..e9b648b88 100644 --- a/src/data/field_map_obj/callback_subroutine_pointers.h +++ b/src/data/field_map_obj/callback_subroutine_pointers.h @@ -6,17 +6,17 @@ #define POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H -u8 (*const gUnknown_08375224[])(struct MapObject *, struct Sprite *) = { - sub_805C8F0, - sub_805C904, - sub_805C930, - sub_805C96C, - sub_805C98C, - sub_805C9D8, - sub_805CA08 +u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderAround_Step0, + MovementType_WanderAround_Step1, + MovementType_WanderAround_Step2, + MovementType_WanderAround_Step3, + MovementType_WanderAround_Step4, + MovementType_WanderAround_Step5, + MovementType_WanderAround_Step6 }; -const u8 gUnknown_08375240[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; +const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { sub_805CAAC, @@ -32,411 +32,412 @@ u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { sub_805CD24 }; -u8 (*const gUnknown_08375270[])(struct MapObject *, struct Sprite *) = { - sub_805CE2C, - sub_805CE40, - sub_805CE6C, - sub_805CEB0, - sub_805CEE0 +u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = { + MovementType_LookAround_Step0, + MovementType_LookAround_Step1, + MovementType_LookAround_Step2, + MovementType_LookAround_Step3, + MovementType_LookAround_Step4, }; -u8 (*const gUnknown_08375284[])(struct MapObject *, struct Sprite *) = { - sub_805CF6C, - sub_805CF80, - sub_805CFAC, - sub_805CFE8, - sub_805D008, - sub_805D054, - sub_805D084 +u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderUpAndDown_Step0, + MovementType_WanderUpAndDown_Step1, + MovementType_WanderUpAndDown_Step2, + MovementType_WanderUpAndDown_Step3, + MovementType_WanderUpAndDown_Step4, + MovementType_WanderUpAndDown_Step5, + MovementType_WanderUpAndDown_Step6, }; -const u8 gUnknown_083752A0[] = {DIR_SOUTH, DIR_NORTH}; +const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_083752A4[])(struct MapObject *, struct Sprite *) = { - sub_805D0F0, - sub_805D104, - sub_805D130, - sub_805D16C, - sub_805D18C, - sub_805D1D8, - sub_805D208 +u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderLeftAndRight_Step0, + MovementType_WanderLeftAndRight_Step1, + MovementType_WanderLeftAndRight_Step2, + MovementType_WanderLeftAndRight_Step3, + MovementType_WanderLeftAndRight_Step4, + MovementType_WanderLeftAndRight_Step5, + MovementType_WanderLeftAndRight_Step6, }; -const u8 gUnknown_083752C0[] = {DIR_WEST, DIR_EAST}; +const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; -u8 (*const gUnknown_083752C4[])(struct MapObject *, struct Sprite *) = { - sub_805D274, - sub_805D2A0, - sub_805D2C0 +u8 (*const gMovementTypeFuncs_FaceDirection[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDirection_Step0, + MovementType_FaceDirection_Step1, + MovementType_FaceDirection_Step2, }; -u8 (*const gUnknown_083752D0[])(struct MapObject *, struct Sprite *) = { - do_berry_tree_growth_sparkle_1, - sub_805D3EC, - do_berry_tree_growth_sparkle_2, - sub_805D458, - sub_805D4A8 +u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct MapObject *, struct Sprite *) = { + MovementType_BerryTreeGrowth_Step0, + MovementType_BerryTreeGrowth_Step1, + MovementType_BerryTreeGrowth_Step2, + MovementType_BerryTreeGrowth_Step3, + MovementType_BerryTreeGrowth_Step4, }; -u8 (*const gUnknown_083752E4[])(struct MapObject *, struct Sprite *) = { - sub_805D538, - sub_805D54C, - sub_805D578, - sub_805D5BC, - sub_805D5EC +u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndUp_Step0, + MovementType_FaceDownAndUp_Step1, + MovementType_FaceDownAndUp_Step2, + MovementType_FaceDownAndUp_Step3, + MovementType_FaceDownAndUp_Step4, }; -u8 (*const gUnknown_083752F8[])(struct MapObject *, struct Sprite *) = { - sub_805D678, - sub_805D68C, - sub_805D6B8, - sub_805D6FC, - sub_805D72C +u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceLeftAndRight_Step0, + MovementType_FaceLeftAndRight_Step1, + MovementType_FaceLeftAndRight_Step2, + MovementType_FaceLeftAndRight_Step3, + MovementType_FaceLeftAndRight_Step4, }; -u8 (*const gUnknown_0837530C[])(struct MapObject *, struct Sprite *) = { - sub_805D7B8, - sub_805D7CC, - sub_805D7F8, - sub_805D83C, - sub_805D86C +u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpAndLeft_Step0, + MovementType_FaceUpAndLeft_Step1, + MovementType_FaceUpAndLeft_Step2, + MovementType_FaceUpAndLeft_Step3, + MovementType_FaceUpAndLeft_Step4, }; -const u8 gUnknown_08375320[] = {DIR_NORTH, DIR_WEST}; +const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_08375324[])(struct MapObject *, struct Sprite *) = { - sub_805D8F8, - sub_805D90C, - sub_805D938, - sub_805D97C, - sub_805D9AC +u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpAndRight_Step0, + MovementType_FaceUpAndRight_Step1, + MovementType_FaceUpAndRight_Step2, + MovementType_FaceUpAndRight_Step3, + MovementType_FaceUpAndRight_Step4, }; -const u8 gUnknown_08375338[] = {DIR_NORTH, DIR_EAST}; +const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0837533C[])(struct MapObject *, struct Sprite *) = { - sub_805DA38, - sub_805DA4C, - sub_805DA78, - sub_805DABC, - sub_805DAEC +u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndLeft_Step0, + MovementType_FaceDownAndLeft_Step1, + MovementType_FaceDownAndLeft_Step2, + MovementType_FaceDownAndLeft_Step3, + MovementType_FaceDownAndLeft_Step4, }; -const u8 gUnknown_08375350[] = {DIR_SOUTH, DIR_WEST}; +const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_08375354[])(struct MapObject *, struct Sprite *) = { - sub_805DB78, - sub_805DB8C, - sub_805DBB8, - sub_805DBFC, - sub_805DC2C +u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndRight_Step0, + MovementType_FaceDownAndRight_Step1, + MovementType_FaceDownAndRight_Step2, + MovementType_FaceDownAndRight_Step3, + MovementType_FaceDownAndRight_Step4, }; -const u8 gUnknown_08375368[] = {DIR_SOUTH, DIR_EAST}; +const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_0837536C[])(struct MapObject *, struct Sprite *) = { - sub_805DCB8, - sub_805DCCC, - sub_805DCF8, - sub_805DD3C, - sub_805DD6C +u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownUpAndLeft_Step0, + MovementType_FaceDownUpAndLeft_Step1, + MovementType_FaceDownUpAndLeft_Step2, + MovementType_FaceDownUpAndLeft_Step3, + MovementType_FaceDownUpAndLeft_Step4, }; -const u8 gUnknown_08375380[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; +const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_08375384[])(struct MapObject *, struct Sprite *) = { - sub_805DDF8, - sub_805DE0C, - sub_805DE38, - sub_805DE7C, - sub_805DEAC +u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownUpAndRight_Step0, + MovementType_FaceDownUpAndRight_Step1, + MovementType_FaceDownUpAndRight_Step2, + MovementType_FaceDownUpAndRight_Step3, + MovementType_FaceDownUpAndRight_Step4, }; -const u8 gUnknown_08375398[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; +const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0837539C[])(struct MapObject *, struct Sprite *) = { - sub_805DF38, - sub_805DF4C, - sub_805DF78, - sub_805DFBC, - sub_805DFEC +u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpLeftAndRight_Step0, + MovementType_FaceUpLeftAndRight_Step1, + MovementType_FaceUpLeftAndRight_Step2, + MovementType_FaceUpLeftAndRight_Step3, + MovementType_FaceUpLeftAndRight_Step4, }; -const u8 gUnknown_083753B0[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; +const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_083753B4[])(struct MapObject *, struct Sprite *) = { - sub_805E078, - sub_805E08C, - sub_805E0B8, - sub_805E0FC, - sub_805E12C +u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownLeftAndRight_Step0, + MovementType_FaceDownLeftAndRight_Step1, + MovementType_FaceDownLeftAndRight_Step2, + MovementType_FaceDownLeftAndRight_Step3, + MovementType_FaceDownLeftAndRight_Step4, }; -const u8 gUnknown_083753C8[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; +const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; -u8 (*const gUnknown_083753CC[])(struct MapObject *, struct Sprite *) = { - sub_805E1B8, - sub_805E1E4, - sub_805E208, - sub_805E234 +u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct MapObject *, struct Sprite *) = { + MovementType_RotateCounterclockwise_Step0, + MovementType_RotateCounterclockwise_Step1, + MovementType_RotateCounterclockwise_Step2, + MovementType_RotateCounterclockwise_Step3, }; -const u8 gUnknown_083753DC[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; +const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_083753E4[])(struct MapObject *, struct Sprite *) = { - sub_805E2BC, - sub_805E2E8, - sub_805E30C, - sub_805E338 +u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct MapObject *, struct Sprite *) = { + MovementType_RotateClockwise_Step0, + MovementType_RotateClockwise_Step1, + MovementType_RotateClockwise_Step2, + MovementType_RotateClockwise_Step3, }; -const u8 gUnknown_083753F4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; +const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_083753FC[])(struct MapObject *, struct Sprite *) = { - sub_805E3C0, - sub_805E3D4, - sub_805E40C, - sub_805E4C4 +u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkBackAndForth_Step0, + MovementType_WalkBackAndForth_Step1, + MovementType_WalkBackAndForth_Step2, + MovementType_WalkBackAndForth_Step3, }; -u8 (*const gUnknown_0837540C[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E620, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightLeftDown_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375418[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; +const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_0837541C[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E6AC, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftDownUp_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375428[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0837542C[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E738, - sub_805E5B4 +const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpRightLeft_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375438[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; +const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; -u8 (*const gUnknown_0837543C[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E7C4, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownUpRight_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375448[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; +const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0837544C[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E850, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftRightDown_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375458[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; +const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0837545C[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E8DC, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightDownUp_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375468[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; +const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0837546C[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E968, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpLeftRight_Step1, + MovementType_WalkSequence_Step2 }; -u8 (*const gUnknown_08375478[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805E9F4, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownUpLeft_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375484[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; +const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_08375488[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EA80, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpDownRight_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375494[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; +const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_08375498[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EB0C, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownRightLeft_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_083754A4[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; +const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; -u8 (*const gUnknown_083754A8[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EB98, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftUpDown_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_083754B4[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; +const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_083754B8[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EC24, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightLeftUp_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_083754C4[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; +const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; -u8 (*const gUnknown_083754C8[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805ECB0, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpDownLeft_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_083754D4[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; +const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_083754D8[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805ED3C, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownLeftRight_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_083754E4[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; +const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; -u8 (*const gUnknown_083754E8[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EDC8, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightUpDown_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_083754F4[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; +const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_083754F8[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EE54, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftRightUp_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375504[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; +const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_08375508[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EEE0, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftDownRight_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375514[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; +const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_08375518[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EF6C, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightUpLeft_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375524[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; +const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_08375528[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805EFF8, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownRightUp_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375534[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; +const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_08375538[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805F084, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpLeftDown_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375544[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; +const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_08375548[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805F110, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightDownLeft_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375554[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; +const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_08375558[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805F19C, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftUpRight_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375564[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; +const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_08375568[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805F228, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpRightDown_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375574[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; +const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_08375578[])(struct MapObject *, struct Sprite *) = { - sub_805E4EC, - sub_805F2B4, - sub_805E5B4 +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownLeftUp_Step1, + MovementType_WalkSequence_Step2 }; -const u8 gUnknown_08375584[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; +const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; -u8 (*const gUnknown_08375588[])(struct MapObject *, struct Sprite *) = { - mss_npc_reset_oampriv3_1_unk2_unk3, - sub_805F364, - sub_805F3C4 +u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct MapObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayer_Step1, + MovementType_CopyPlayer_Step2 }; -u8 (*const gUnknown_08375594[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { - sub_805F3EC, - sub_805F3F0, - sub_805F438, - sub_805F4F0, - sub_805F5A8, - sub_805F660, +u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { + CopyablePlayerMovement_None, + CopyablePlayerMovement_FaceDirection, + CopyablePlayerMovement_GoSpeed0, + CopyablePlayerMovement_GoSpeed1, + CopyablePlayerMovement_GoSpeed2, + CopyablePlayerMovement_GoSpeed3, cph_IM_DIFFERENT, - sub_805F760, - oac_hopping, - sub_805F3EC, - sub_805F3EC + CopyablePlayerMovement_GoSpeed4, + CopyablePlayerMovement_Jump, + CopyablePlayerMovement_None, + CopyablePlayerMovement_None }; -u8 (*const gUnknown_083755C0[])(struct MapObject *, struct Sprite *) = { - mss_npc_reset_oampriv3_1_unk2_unk3, - mss_08062EA4, - sub_805F3C4 +u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct MapObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayerInGrass_Step1, + MovementType_CopyPlayer_Step2 }; -u8 (*const gUnknown_083755CC[])(struct MapObject *, struct Sprite *) = { - sub_805FAF8 +u8 (*const gMovementTypeFuncs_Hidden[])(struct MapObject *, struct Sprite *) = { + MovementType_Hidden_Step0 }; -u8 (*const gUnknown_083755D0[])(struct MapObject *, struct Sprite *) = { - sub_805FB64, - sub_805FB04 +u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkInPlace_Step0, + MovementType_WalkInPlace_Step1 }; -u8 (*const gUnknown_083755D8[])(struct MapObject *, struct Sprite *) = { - sub_805FBD4, - sub_805FB04 +u8 (*const gMovementTypeFuncs_JogInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_JogInPlace_Step0, + MovementType_WalkInPlace_Step1 }; -u8 (*const gUnknown_083755E0[])(struct MapObject *, struct Sprite *) = { - sub_805FC44, - sub_805FB04 +u8 (*const gMovementTypeFuncs_RunInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_RunInPlace_Step0, + MovementType_WalkInPlace_Step1 }; -u8 (*const gUnknown_083755E8[])(struct MapObject *, struct Sprite *) = { - sub_805FCB4, - sub_805FCE8, - sub_805FD08 +u8 (*const gMovementTypeFuncs_Invisible[])(struct MapObject *, struct Sprite *) = { + MovementType_Invisible_Step0, + MovementType_Invisible_Step1, + MovementType_Invisible_Step2 }; #endif //POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H diff --git a/src/decoration.c b/src/decoration.c index b00a51ef0..c3e651a0c 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -3760,7 +3760,7 @@ bool8 sub_8100D38(u8 taskId) void SetUpPuttingAwayDecorationPlayerAvatar(void) { - player_get_direction_lower_nybble(); + GetPlayerFacingDirection(); Menu_EraseWindowRect(0, 0, 29, 19); gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data[0]; sub_81016C8(); diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 168db72c5..3d80bb9f3 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1498,87 +1498,244 @@ const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pic // movement type callbacks static void (*const sMovementTypeCallbacks[])(struct Sprite *) = { - MovementType_None, // MOVEMENT_TYPE_NONE - sub_805CDE8, // MOVEMENT_TYPE_LOOK_AROUND - sub_805C8AC, - sub_805CF28, - sub_805CF28, - sub_805D0AC, - sub_805D0AC, - sub_805D230, - sub_805D230, - sub_805D230, - sub_805D230, - sub_80587B4, - FieldObjectCB_BerryTree, - sub_805D4F4, - sub_805D634, - sub_805D774, - sub_805D8B4, - sub_805D9F4, - sub_805DB34, - sub_805DC74, - sub_805DDB4, - sub_805DEF4, - sub_805E034, - sub_805E174, - sub_805E278, - sub_805E37C, - sub_805E37C, - sub_805E37C, - sub_805E37C, - sub_805E5DC, - sub_805E668, - sub_805E6F4, - sub_805E780, - sub_805E80C, - sub_805E898, - sub_805E924, - sub_805E9B0, - sub_805EA3C, - sub_805EAC8, - sub_805EB54, - sub_805EBE0, - sub_805EC6C, - sub_805ECF8, - sub_805ED84, - sub_805EE10, - sub_805EE9C, - sub_805EF28, - sub_805EFB4, - sub_805F040, - sub_805F0CC, - sub_805F158, - sub_805F1E4, - sub_805F270, - sub_805F2FC, - sub_805F2FC, - sub_805F2FC, - sub_805F2FC, - FieldObjectCB_TreeDisguise, - FieldObjectCB_MountainDisguise, - sub_805F8E0, - sub_805F8E0, - sub_805F8E0, - sub_805F8E0, - FieldObjectCB_Hidden1, - sub_805FB20, - sub_805FB20, - sub_805FB20, - sub_805FB20, - sub_805FB90, - sub_805FB90, - sub_805FB90, - sub_805FB90, - sub_805FC00, - sub_805FC00, - sub_805FC00, - sub_805FC00, - sub_805FC70, + MovementType_None, // MOVEMENT_TYPE_NONE + MovementType_LookAround, // MOVEMENT_TYPE_LOOK_AROUND + MovementType_WanderAround, // MOVEMENT_TYPE_WANDER_AROUND + MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN + MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP + MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT + MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_UP + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT + MovementType_None2, // MOVEMENT_TYPE_NONE_2 + MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH + MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP + MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT + MovementType_FaceUpAndLeft, // MOVEMENT_TYPE_FACE_UP_AND_LEFT + MovementType_FaceUpAndRight, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT + MovementType_FaceDownAndLeft, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT + MovementType_FaceDownAndRight, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + MovementType_FaceDownUpAndLeft, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT + MovementType_FaceDownUpAndRight, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT + MovementType_FaceUpLeftAndRight, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT + MovementType_FaceDownLeftAndRight, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT + MovementType_RotateCounterclockwise, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE + MovementType_RotateClockwise, // MOVEMENT_TYPE_ROTATE_CLOCKWISE + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_UP_AND_DOWN + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_DOWN_AND_UP + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT + MovementType_WalkSequenceUpRightLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN + MovementType_WalkSequenceRightLeftDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP + MovementType_WalkSequenceDownUpRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT + MovementType_WalkSequenceLeftDownUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT + MovementType_WalkSequenceUpLeftRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN + MovementType_WalkSequenceLeftRightDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP + MovementType_WalkSequenceDownUpLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT + MovementType_WalkSequenceRightDownUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT + MovementType_WalkSequenceLeftUpDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT + MovementType_WalkSequenceUpDownRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT + MovementType_WalkSequenceRightLeftUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN + MovementType_WalkSequenceDownRightLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP + MovementType_WalkSequenceRightUpDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT + MovementType_WalkSequenceUpDownLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT + MovementType_WalkSequenceLeftRightUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN + MovementType_WalkSequenceDownLeftRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP + MovementType_WalkSequenceUpLeftDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT + MovementType_WalkSequenceDownRightUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT + MovementType_WalkSequenceLeftDownRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP + MovementType_WalkSequenceRightUpLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN + MovementType_WalkSequenceUpRightDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT + MovementType_WalkSequenceDownLeftUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + MovementType_WalkSequenceLeftUpRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + MovementType_WalkSequenceRightDownLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE + MovementType_TreeDisguise, // MOVEMENT_TYPE_TREE_DISGUISE + MovementType_MountainDisguise, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS + MovementType_Hidden, // MOVEMENT_TYPE_HIDDEN + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_UP + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_UP + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_UP + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT + MovementType_Invisible, // MOVEMENT_TYPE_INVISIBLE }; -const u8 gUnknown_0836DBBC[] = {0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -const u8 gUnknown_0836DC09[] = {DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; +const u8 gRangedMovementTypes[] = { + 0, // MOVEMENT_TYPE_NONE + 0, // MOVEMENT_TYPE_LOOK_AROUND + 1, // MOVEMENT_TYPE_WANDER_AROUND + 1, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN + 1, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP + 1, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT + 1, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_UP + 0, // MOVEMENT_TYPE_FACE_DOWN + 0, // MOVEMENT_TYPE_FACE_LEFT + 0, // MOVEMENT_TYPE_FACE_RIGHT + 0, // MOVEMENT_TYPE_NONE_2 + 0, // MOVEMENT_TYPE_BERRY_TREE_GROWTH + 0, // MOVEMENT_TYPE_FACE_DOWN_AND_UP + 0, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_UP_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT + 0, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE + 0, // MOVEMENT_TYPE_ROTATE_CLOCKWISE + 1, // MOVEMENT_TYPE_WALK_UP_AND_DOWN + 1, // MOVEMENT_TYPE_WALK_DOWN_AND_UP + 1, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT + 1, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP + 1, // MOVEMENT_TYPE_COPY_PLAYER + 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE + 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE + 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE + 0, // MOVEMENT_TYPE_TREE_DISGUISE + 0, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE + 1, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS + 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS + 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS + 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS + 0, // MOVEMENT_TYPE_HIDDEN + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_UP + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_UP + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_UP + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT + 0, // MOVEMENT_TYPE_INVISIBLE +}; + +const u8 gInitialMovementTypeFacingDirections[] = { + DIR_SOUTH, // MOVEMENT_TYPE_NONE + DIR_SOUTH, // MOVEMENT_TYPE_LOOK_AROUND + DIR_SOUTH, // MOVEMENT_TYPE_WANDER_AROUND + DIR_NORTH, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP + DIR_WEST, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT + DIR_EAST, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN + DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_FACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_NONE_2 + DIR_SOUTH, // MOVEMENT_TYPE_BERRY_TREE_GROWTH + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_UP + DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_LEFT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE + DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_CLOCKWISE + DIR_NORTH, // MOVEMENT_TYPE_WALK_UP_AND_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_DOWN_AND_UP + DIR_WEST, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT + DIR_EAST, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP + DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER + DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE + DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE + DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE + DIR_SOUTH, // MOVEMENT_TYPE_TREE_DISGUISE + DIR_SOUTH, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE + DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS + DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS + DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS + DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS + DIR_SOUTH, // MOVEMENT_TYPE_HIDDEN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN + DIR_NORTH, // MOVEMENT_TYPE_WALK_IN_PLACE_UP + DIR_WEST, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN + DIR_NORTH, // MOVEMENT_TYPE_JOG_IN_PLACE_UP + DIR_WEST, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN + DIR_NORTH, // MOVEMENT_TYPE_RUN_IN_PLACE_UP + DIR_WEST, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_INVISIBLE +}; #include "data/field_map_obj/map_object_graphics_info_pointers.h" #include "data/field_map_obj/field_effect_object_template_pointers.h" @@ -1795,9 +1952,9 @@ const u16 *const gUnknown_0837399C[] = { #include "data/field_map_obj/berry_tree_graphics_tables.h" #include "data/field_map_obj/field_effect_objects.h" -const s16 gUnknown_0837520C[] = {0x20, 0x40, 0x60, 0x80}; -const s16 gUnknown_08375204[] = {0x20, 0x40, 0x80, 0xc0}; -const s16 gUnknown_0837521C[] = {0x20, 0x30, 0x40, 0x50}; +const s16 gMovementDelaysMedium[] = {32, 64, 96, 128}; +const s16 gMovementDelaysLong[] = {32, 64, 128, 192}; +const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; #include "data/field_map_obj/callback_subroutine_pointers.h" @@ -2059,11 +2216,11 @@ u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 ma mapObj->range.as_nybbles.y = template->unkA_4; mapObj->trainerType = template->unkC; mapObj->trainerRange_berryTreeId = template->unkE; - mapObj->previousMovementDirection = gUnknown_0836DC09[template->movementType]; + mapObj->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; FieldObjectSetDirection((struct MapObject *)mapObj, mapObj->previousMovementDirection); asm("":::"r5","r6"); FieldObjectHandleDynamicGraphicsId((struct MapObject *)mapObj); - if (gUnknown_0836DBBC[mapObj->movementType] != 0) + if (gRangedMovementTypes[mapObj->movementType] != 0) { if (mapObj->range.as_nybbles.x == 0) mapObj->range.as_nybbles.x++; @@ -3190,9 +3347,9 @@ u16 npc_paltag_by_palslot(u8 a) } fieldmap_object_empty_callback(MovementType_None, MovementType_None_Callback); -fieldmap_object_cb(sub_805C8AC, sub_805C8D0, gUnknown_08375224); +fieldmap_object_cb(MovementType_WanderAround, MovementType_WanderAround_Callback, gMovementTypeFuncs_WanderAround); -u8 sub_805C8F0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; @@ -3201,32 +3358,32 @@ u8 sub_805C8F0(struct MapObject *mapObject, struct Sprite *sprite) extern void FieldObjectSetSingleMovement(struct MapObject *, struct Sprite *, u8); -u8 sub_805C904(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } extern u8 FieldObjectExecSingleMovementAction(struct MapObject *, struct Sprite *); -void sub_8064820(struct Sprite *, s16); +static void SetMovementDelay(struct Sprite *, s16); -u8 sub_805C930(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) { return 0; } - sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; return 1; } -extern u8 sub_8064824(struct Sprite *); +static u8 WaitForMovementDelay(struct Sprite *); -u8 sub_805C96C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) != 0) + if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; return 1; @@ -3234,32 +3391,32 @@ u8 sub_805C96C(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -extern u8 sub_805FF20(struct MapObject *, u8); +extern u8 GetCollisionInDirection(struct MapObject *, u8); -u8 sub_805C98C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gUnknown_08375240, 4); + memcpy(directions, gStandardDirections, 4); direction = directions[Random() & 3]; FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 5; - if (sub_805FF20(mapObject, direction) != 0) + if (GetCollisionInDirection(mapObject, direction) != 0) { sprite->data[1] = 1; } return 1; } -u8 sub_805C9D8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step5(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection)); mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } -u8 sub_805CA08(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step6(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { @@ -3506,36 +3663,36 @@ u8 sub_805CD60(struct MapObject *mapObject, u8 a1) return gUnknown_08375244[a1](x, y, x2, y2); } -fieldmap_object_cb(sub_805CDE8, sub_805CE0c, gUnknown_08375270); +fieldmap_object_cb(MovementType_LookAround, MovementType_LookAround_Callback, gMovementTypeFuncs_LookAround); -u8 sub_805CE2C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805CE40(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805CE6C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step2(struct MapObject *mapObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) + if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805CEB0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -3543,51 +3700,50 @@ u8 sub_805CEB0(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805CEE0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gUnknown_08375240, 4); + memcpy(directions, gStandardDirections, 4); direction = sub_805CD60(mapObject, 0); if (direction == 0) - { direction = directions[Random() & 3]; - } + FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(sub_805CF28, sub_805CF4C, gUnknown_08375284); +fieldmap_object_cb(MovementType_WanderUpAndDown, MovementType_WanderUpAndDown_Callback, gMovementTypeFuncs_WanderUpAndDown); -u8 sub_805CF6C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805CF80(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805CFAC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) { return 0; } - sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; return 1; } -u8 sub_805CFE8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) != 0) + if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; return 1; @@ -3595,30 +3751,30 @@ u8 sub_805CFE8(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D008(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_083752A0, 2); + memcpy(directions, gUpAndDownDirections, 2); direction = directions[Random() & 1]; FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 5; - if (sub_805FF20(mapObject, direction) != 0) + if (GetCollisionInDirection(mapObject, direction) != 0) { sprite->data[1] = 1; } return 1; } -u8 sub_805D054(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step5(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection)); mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } -u8 sub_805D084(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step6(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { @@ -3628,36 +3784,36 @@ u8 sub_805D084(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -fieldmap_object_cb(sub_805D0AC, sub_805D0D0, gUnknown_083752A4); +fieldmap_object_cb(MovementType_WanderLeftAndRight, MovementType_WanderLeftAndRight_Callback, gMovementTypeFuncs_WanderLeftAndRight); -u8 sub_805D0F0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805D104(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805D130(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) { return 0; } - sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; return 1; } -u8 sub_805D16C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) != 0) + if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; return 1; @@ -3665,30 +3821,30 @@ u8 sub_805D16C(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D18C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_083752C0, 2); + memcpy(directions, gLeftAndRightDirections, 2); direction = directions[Random() & 1]; FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 5; - if (sub_805FF20(mapObject, direction) != 0) + if (GetCollisionInDirection(mapObject, direction) != 0) { sprite->data[1] = 1; } return 1; } -u8 sub_805D1D8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step5(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection)); mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } -u8 sub_805D208(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step6(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { @@ -3698,17 +3854,17 @@ u8 sub_805D208(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -fieldmap_object_cb(sub_805D230, sub_805D254, gUnknown_083752C4); +fieldmap_object_cb(MovementType_FaceDirection, MovementType_FaceDirection_Callback, gMovementTypeFuncs_FaceDirection); -u8 sub_805D274(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } -u8 sub_805D2A0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDirection_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) { @@ -3718,15 +3874,15 @@ u8 sub_805D2A0(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D2C0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDirection_Step2(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->singleMovementActive = 0; return 0; } -u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite); +u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite); -void FieldObjectCB_BerryTree(struct Sprite *sprite) +void MovementType_BerryTreeGrowth(struct Sprite *sprite) { struct MapObject *mapObject; mapObject = &gMapObjects[sprite->data[0]]; @@ -3735,15 +3891,15 @@ void FieldObjectCB_BerryTree(struct Sprite *sprite) get_berry_tree_graphics(mapObject, sprite); sprite->data[7] |= 1; } - meta_step(mapObject, sprite, sub_805D314); + meta_step(mapObject, sprite, MovementType_BerryTreeGrowth_Callback); } -u8 sub_805D314(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite) { - return gUnknown_083752D0[sprite->data[1]](mapObject, sprite); + return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](mapObject, sprite); } -u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step0(struct MapObject *mapObject, struct Sprite *sprite) { u8 berryTreeStage; npc_reset(mapObject, sprite); @@ -3777,7 +3933,7 @@ u8 do_berry_tree_growth_sparkle_1(struct MapObject *mapObject, struct Sprite *sp return 1; } -u8 sub_805D3EC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { @@ -3787,7 +3943,7 @@ u8 sub_805D3EC(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 do_berry_tree_growth_sparkle_2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step2(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->singleMovementActive = 1; sprite->data[1] = 3; @@ -3801,7 +3957,7 @@ u8 do_berry_tree_growth_sparkle_2(struct MapObject *mapObject, struct Sprite *sp return 1; } -u8 sub_805D458(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step3(struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[2]++; mapObject->invisible = ((sprite->data[2] & 0x2) >> 1); @@ -3816,7 +3972,7 @@ u8 sub_805D458(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D4A8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step4(struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[2]++; mapObject->invisible = ((sprite->data[2] & 0x2) >> 1); @@ -3830,36 +3986,36 @@ u8 sub_805D4A8(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -fieldmap_object_cb(sub_805D4F4, sub_805D518, gUnknown_083752E4); +fieldmap_object_cb(MovementType_FaceDownAndUp, MovementType_FaceDownAndUp_Callback, gMovementTypeFuncs_FaceDownAndUp); -u8 sub_805D538(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805D54C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805D578(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805D5BC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -3867,11 +4023,11 @@ u8 sub_805D5BC(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D5EC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_083752A0, 2); + memcpy(directions, gUpAndDownDirections, 2); direction = sub_805CD60(mapObject, 1); if (direction == 0) { @@ -3882,36 +4038,36 @@ u8 sub_805D5EC(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805D634, sub_805D658, gUnknown_083752F8); +fieldmap_object_cb(MovementType_FaceLeftAndRight, MovementType_FaceLeftAndRight_Callback, gMovementTypeFuncs_FaceLeftAndRight); -u8 sub_805D678(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805D68C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805D6B8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837520C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805D6FC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -3919,11 +4075,11 @@ u8 sub_805D6FC(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D72C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_083752C0, 2); + memcpy(directions, gLeftAndRightDirections, 2); direction = sub_805CD60(mapObject, 2); if (direction == 0) { @@ -3934,36 +4090,36 @@ u8 sub_805D72C(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805D774, sub_805D798, gUnknown_0837530C); +fieldmap_object_cb(MovementType_FaceUpAndLeft, MovementType_FaceUpAndLeft_Callback, gMovementTypeFuncs_FaceUpAndLeft); -u8 sub_805D7B8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805D7CC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805D7F8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805D83C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -3971,11 +4127,11 @@ u8 sub_805D83C(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D86C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_08375320, 2); + memcpy(directions, gUpAndLeftDirections, 2); direction = sub_805CD60(mapObject, 3); if (direction == 0) { @@ -3986,36 +4142,36 @@ u8 sub_805D86C(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805D8B4, sub_805D8D8, gUnknown_08375324); +fieldmap_object_cb(MovementType_FaceUpAndRight, MovementType_FaceUpAndRight_Callback, gMovementTypeFuncs_FaceUpAndRight); -u8 sub_805D8F8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805D90C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805D938(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805D97C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -4023,11 +4179,11 @@ u8 sub_805D97C(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805D9AC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_08375338, 2); + memcpy(directions, gUpAndRightDirections, 2); direction = sub_805CD60(mapObject, 4); if (direction == 0) { @@ -4038,36 +4194,36 @@ u8 sub_805D9AC(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805D9F4, sub_805DA18, gUnknown_0837533C); +fieldmap_object_cb(MovementType_FaceDownAndLeft, MovementType_FaceDownAndLeft_Callback, gMovementTypeFuncs_FaceDownAndLeft); -u8 sub_805DA38(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805DA4C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805DA78(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805DABC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -4075,11 +4231,11 @@ u8 sub_805DABC(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805DAEC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_08375350, 2); + memcpy(directions, gDownAndLeftDirections, 2); direction = sub_805CD60(mapObject, 5); if (direction == 0) { @@ -4090,36 +4246,36 @@ u8 sub_805DAEC(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805DB34, sub_805DB58, gUnknown_08375354); +fieldmap_object_cb(MovementType_FaceDownAndRight, MovementType_FaceDownAndRight_Callback, gMovementTypeFuncs_FaceDownAndRight); -u8 sub_805DB78(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805DB8C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805DBB8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805DBFC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -4127,11 +4283,11 @@ u8 sub_805DBFC(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805DC2C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; - memcpy(directions, gUnknown_08375368, 2); + memcpy(directions, gDownAndRightDirections, 2); direction = sub_805CD60(mapObject, 6); if (direction == 0) { @@ -4142,36 +4298,36 @@ u8 sub_805DC2C(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805DC74, sub_805DC98, gUnknown_0837536C); +fieldmap_object_cb(MovementType_FaceDownUpAndLeft, MovementType_FaceDownUpAndLeft_Callback, gMovementTypeFuncs_FaceDownUpAndLeft); -u8 sub_805DCB8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805DCCC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805DCF8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805DD3C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -4179,11 +4335,11 @@ u8 sub_805DD3C(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805DD6C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gUnknown_08375380, 4); + memcpy(directions, gDownUpAndLeftDirections, 4); direction = sub_805CD60(mapObject, 7); if (direction == 0) { @@ -4194,36 +4350,36 @@ u8 sub_805DD6C(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805DDB4, sub_805DDD8, gUnknown_08375384); +fieldmap_object_cb(MovementType_FaceDownUpAndRight, MovementType_FaceDownUpAndRight_Callback, gMovementTypeFuncs_FaceDownUpAndRight); -u8 sub_805DDF8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805DE0C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805DE38(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805DE7C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -4231,11 +4387,11 @@ u8 sub_805DE7C(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805DEAC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gUnknown_08375398, 4); + memcpy(directions, gDownUpAndRightDirections, 4); direction = sub_805CD60(mapObject, 8); if (direction == 0) { @@ -4246,36 +4402,36 @@ u8 sub_805DEAC(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805DEF4, sub_805DF18, gUnknown_0837539C); +fieldmap_object_cb(MovementType_FaceUpLeftAndRight, MovementType_FaceUpLeftAndRight_Callback, gMovementTypeFuncs_FaceUpLeftAndRight); -u8 sub_805DF38(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805DF4C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805DF78(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805DFBC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -4283,11 +4439,11 @@ u8 sub_805DFBC(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805DFEC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gUnknown_083753B0, 4); + memcpy(directions, gUpLeftAndRightDirections, 4); direction = sub_805CD60(mapObject, 9); if (direction == 0) { @@ -4298,36 +4454,36 @@ u8 sub_805DFEC(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805E034, sub_805E058, gUnknown_083753B4); +fieldmap_object_cb(MovementType_FaceDownLeftAndRight, MovementType_FaceDownLeftAndRight_Callback, gMovementTypeFuncs_FaceDownLeftAndRight); -u8 sub_805E078(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805E08C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 sub_805E0B8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, gUnknown_0837521C[Random() & 3]); + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); mapObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 sub_805E0FC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 4; return 1; @@ -4335,11 +4491,11 @@ u8 sub_805E0FC(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805E12C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; - memcpy(directions, gUnknown_083753C8, 4); + memcpy(directions, gDownLeftAndRightDirections, 4); direction = sub_805CD60(mapObject, 10); if (direction == 0) { @@ -4350,40 +4506,40 @@ u8 sub_805E12C(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805E174, sub_805E198, gUnknown_083753CC); +fieldmap_object_cb(MovementType_RotateCounterclockwise, MovementType_RotateCounterclockwise_Callback, gMovementTypeFuncs_RotateCounterclockwise); -u8 sub_805E1B8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } -u8 sub_805E1E4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, 0x30); + SetMovementDelay(sprite, 48); sprite->data[1] = 2; } return 0; } -u8 sub_805E208(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step2(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 3; } return 0; } -u8 sub_805E234(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step3(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[5]; - memcpy(directions, gUnknown_083753DC, 5); + memcpy(directions, gCounterclockwiseDirections, 5); direction = sub_805CD60(mapObject, 0); if (direction == 0) { @@ -4394,40 +4550,40 @@ u8 sub_805E234(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805E278, sub_803E29C, gUnknown_083753E4); +fieldmap_object_cb(MovementType_RotateClockwise, MovementType_RotateClockwise_Callback, gMovementTypeFuncs_RotateClockwise); -u8 sub_805E2BC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } -u8 sub_805E2E8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { - sub_8064820(sprite, 0x30); + SetMovementDelay(sprite, 0x30); sprite->data[1] = 2; } return 0; } -u8 sub_805E30C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step2(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064824(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { sprite->data[1] = 3; } return 0; } -u8 sub_805E338(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step3(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[5]; - memcpy(directions, gUnknown_083753F4, 5); + memcpy(directions, gClockwiseDirections, 5); direction = sub_805CD60(mapObject, 0); if (direction == 0) { @@ -4438,19 +4594,19 @@ u8 sub_805E338(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805E37C, sub_805E3A0, gUnknown_083753FC); +fieldmap_object_cb(MovementType_WalkBackAndForth, MovementType_WalkBackAndForth_Callback, gMovementTypeFuncs_WalkBackAndForth); -u8 sub_805E3C0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 sub_805E3D4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; - direction = gUnknown_0836DC09[mapObject->movementType]; + direction = gInitialMovementTypeFacingDirections[mapObject->movementType]; if (mapObject->directionSequenceIndex != 0) { direction = GetOppositeDirection(direction); @@ -4460,35 +4616,35 @@ u8 sub_805E3D4(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -u8 sub_805E40C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step2(struct MapObject *mapObject, struct Sprite *sprite) { - u8 v0; - u8 goSpeed0AnimId; + u8 collisionState; + u8 movementActionId; if (mapObject->directionSequenceIndex && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 0; FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); } - v0 = sub_805FF20(mapObject, mapObject->movementDirection); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); - if (v0 == 1) + collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); + movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + if (collisionState == 1) { - mapObject->directionSequenceIndex ++; + mapObject->directionSequenceIndex++; FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); - v0 = sub_805FF20(mapObject, mapObject->movementDirection); + movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); } - if (v0 != 0) + if (collisionState != 0) { - goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); + movementActionId = GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection); } - FieldObjectSetSingleMovement(mapObject, sprite, goSpeed0AnimId); + FieldObjectSetSingleMovement(mapObject, sprite, movementActionId); mapObject->singleMovementActive = 1; sprite->data[1] = 3; return 1; } -u8 sub_805E4C4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step3(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { @@ -4498,42 +4654,42 @@ u8 sub_805E4C4(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805E4EC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequence_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); sprite->data[1] = 1; return 1; } -u8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *directionSequence) +u8 MoveNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *directionSequence) { - u8 v0; - u8 goSpeed0AnimId; + u8 collisionState; + u8 movementActionId; if (mapObject->directionSequenceIndex == 3 && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 0; } FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); - v0 = sub_805FF20(mapObject, mapObject->movementDirection); - if (v0 == 1) + movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); + if (collisionState == 1) { mapObject->directionSequenceIndex++; FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); - goSpeed0AnimId = GetGoSpeed0AnimId(mapObject->movementDirection); - v0 = sub_805FF20(mapObject, mapObject->movementDirection); + movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); } - if (v0 != 0) + if (collisionState != 0) { - goSpeed0AnimId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); + movementActionId = GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection); } - FieldObjectSetSingleMovement(mapObject, sprite, goSpeed0AnimId); + FieldObjectSetSingleMovement(mapObject, sprite, movementActionId); mapObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } -u8 sub_805E5B4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequence_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { @@ -4543,343 +4699,341 @@ u8 sub_805E5B4(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -fieldmap_object_cb(sub_805E5DC, sub_805E600, gUnknown_0837540C); +fieldmap_object_cb(MovementType_WalkSequenceUpRightLeftDown, MovementType_WalkSequenceUpRightLeftDown_Callback, gMovementTypeFuncs_WalkSequenceUpRightLeftDown); -u8 sub_805E620(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375418, 4); + memcpy(directions, gUpRightLeftDownDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805E668, sub_805E68C, gUnknown_0837541C); +fieldmap_object_cb(MovementType_WalkSequenceRightLeftDownUp, MovementType_WalkSequenceRightLeftDownUp_Callback, gMovementTypeFuncs_WalkSequenceRightLeftDownUp); -u8 sub_805E6AC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375428, 4); + memcpy(directions, gRightLeftDownUpDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805E6F4, sub_805E718, gUnknown_0837542C); +fieldmap_object_cb(MovementType_WalkSequenceDownUpRightLeft, MovementType_WalkSequenceDownUpRightLeft_Callback, gMovementTypeFuncs_WalkSequenceDownUpRightLeft); -u8 sub_805E738(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375438, 4); + memcpy(directions, gDownUpRightLeftDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805E780, sub_805E7A4, gUnknown_0837543C); +fieldmap_object_cb(MovementType_WalkSequenceLeftDownUpRight, MovementType_WalkSequenceLeftDownUpRight_Callback, gMovementTypeFuncs_WalkSequenceLeftDownUpRight); -u8 sub_805E7C4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375448, 4); + memcpy(directions, gLeftDownUpRightDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } +fieldmap_object_cb(MovementType_WalkSequenceUpLeftRightDown, MovementType_WalkSequenceUpLeftRightDown_Callback, gMovementTypeFuncs_WalkSequenceUpLeftRightDown); - -fieldmap_object_cb(sub_805E80C, sub_805E830, gUnknown_0837544C); - -u8 sub_805E850(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375458, 4); + memcpy(directions, gUpLeftRightDownDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805E898, sub_805E8BC, gUnknown_0837545C); +fieldmap_object_cb(MovementType_WalkSequenceLeftRightDownUp, MovementType_WalkSequenceLeftRightDownUp_Callback, gMovementTypeFuncs_WalkSequenceLeftRightDownUp); -u8 sub_805E8DC(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375468, 4); + memcpy(directions, gLeftRightDownUpDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805E924, sub_805E948, gUnknown_0837546C); +fieldmap_object_cb(MovementType_WalkSequenceDownUpLeftRight, MovementType_WalkSequenceDownUpLeftRight_Callback, gMovementTypeFuncs_WalkSequenceDownUpLeftRight); -u8 sub_805E968(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375240, 4); + memcpy(directions, gStandardDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805E9B0, sub_805E9D4, gUnknown_08375478); +fieldmap_object_cb(MovementType_WalkSequenceRightDownUpLeft, MovementType_WalkSequenceRightDownUpLeft_Callback, gMovementTypeFuncs_WalkSequenceRightDownUpLeft); -u8 sub_805E9F4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375484, 4); + memcpy(directions, gRightDownUpLeftDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EA3C, sub_805EA60, gUnknown_08375488); +fieldmap_object_cb(MovementType_WalkSequenceLeftUpDownRight, MovementType_WalkSequenceLeftUpDownRight_Callback, gMovementTypeFuncs_WalkSequenceLeftUpDownRight); -u8 sub_805EA80(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375494, 4); + memcpy(directions, gLeftUpDownRightDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EAC8, sub_805EAEC, gUnknown_08375498); +fieldmap_object_cb(MovementType_WalkSequenceUpDownRightLeft, MovementType_WalkSequenceUpDownRightLeft_Callback, gMovementTypeFuncs_WalkSequenceUpDownRightLeft); -u8 sub_805EB0C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_083754A4, 4); + memcpy(directions, gUpDownRightLeftDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EB54, sub_805EB78, gUnknown_083754A8); +fieldmap_object_cb(MovementType_WalkSequenceRightLeftUpDown, MovementType_WalkSequenceRightLeftUpDown_Callback, gMovementTypeFuncs_WalkSequenceRightLeftUpDown); -u8 sub_805EB98(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_083754B4, 4); + memcpy(directions, gRightLeftUpDownDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EBE0, sub_805EC04, gUnknown_083754B8); +fieldmap_object_cb(MovementType_WalkSequenceDownRightLeftUp, MovementType_WalkSequenceDownRightLeftUp_Callback, gMovementTypeFuncs_WalkSequenceDownRightLeftUp); -u8 sub_805EC24(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_083754C4, 4); + memcpy(directions, gDownRightLeftUpDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EC6C, sub_805EC90, gUnknown_083754C8); +fieldmap_object_cb(MovementType_WalkSequenceRightUpDownLeft, MovementType_WalkSequenceRightUpDownLeft_Callback, gMovementTypeFuncs_WalkSequenceRightUpDownLeft); -u8 sub_805ECB0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_083754D4, 4); + memcpy(directions, gRightUpDownLeftDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805ECF8, sub_805ED1C, gUnknown_083754D8); +fieldmap_object_cb(MovementType_WalkSequenceUpDownLeftRight, MovementType_WalkSequenceUpDownLeftRight_Callback, gMovementTypeFuncs_WalkSequenceUpDownLeftRight); -u8 sub_805ED3C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_083754E4, 4); + memcpy(directions, gUpDownLeftRightDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805ED84, sub_805EDA8, gUnknown_083754E8); +fieldmap_object_cb(MovementType_WalkSequenceLeftRightUpDown, MovementType_WalkSequenceLeftRightUpDown_Callback, gMovementTypeFuncs_WalkSequenceLeftRightUpDown); -u8 sub_805EDC8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_083754F4, 4); + memcpy(directions, gLeftRightUpDownDirections, 4); if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 2; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EE10, sub_805EE34, gUnknown_083754F8); +fieldmap_object_cb(MovementType_WalkSequenceDownLeftRightUp, MovementType_WalkSequenceDownLeftRightUp_Callback, gMovementTypeFuncs_WalkSequenceDownLeftRightUp); -u8 sub_805EE54(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375504, 4); + memcpy(directions, gDownLeftRightUpDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EE9C, sub_805EEC0, gUnknown_08375508); +fieldmap_object_cb(MovementType_WalkSequenceUpLeftDownRight, MovementType_WalkSequenceUpLeftDownRight_Callback, gMovementTypeFuncs_WalkSequenceUpLeftDownRight); -u8 sub_805EEE0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375514, 4); + memcpy(directions, gUpLeftDownRightDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EF28, sub_805EF4C, gUnknown_08375518); +fieldmap_object_cb(MovementType_WalkSequenceDownRightUpLeft, MovementType_WalkSequenceDownRightUpLeft_Callback, gMovementTypeFuncs_WalkSequenceDownRightUpLeft); -u8 sub_805EF6C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375524, 4); + memcpy(directions, gDownRightUpLeftDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805EFB4, sub_805EFD8, gUnknown_08375528); +fieldmap_object_cb(MovementType_WalkSequenceLeftDownRightUp, MovementType_WalkSequenceLeftDownRightUp_Callback, gMovementTypeFuncs_WalkSequenceLeftDownRightUp); -u8 sub_805EFF8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375534, 4); + memcpy(directions, gLeftDownRightUpDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805F040, sub_805F064, gUnknown_08375538); +fieldmap_object_cb(MovementType_WalkSequenceRightUpLeftDown, MovementType_WalkSequenceRightUpLeftDown_Callback, gMovementTypeFuncs_WalkSequenceRightUpLeftDown); -u8 sub_805F084(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375544, 4); + memcpy(directions, gRightUpLeftDownDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805F0CC, sub_805F0F0, gUnknown_08375548); +fieldmap_object_cb(MovementType_WalkSequenceUpRightDownLeft, MovementType_WalkSequenceUpRightDownLeft_Callback, gMovementTypeFuncs_WalkSequenceUpRightDownLeft); -u8 sub_805F110(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375554, 4); + memcpy(directions, gUpRightDownLeftDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805F158, sub_805F17C, gUnknown_08375558); +fieldmap_object_cb(MovementType_WalkSequenceDownLeftUpRight, MovementType_WalkSequenceDownLeftUpRight_Callback, gMovementTypeFuncs_WalkSequenceDownLeftUpRight); -u8 sub_805F19C(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375564, 4); + memcpy(directions, gDownLeftUpRightDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805F1E4, sub_805F208, gUnknown_08375568); +fieldmap_object_cb(MovementType_WalkSequenceLeftUpRightDown, MovementType_WalkSequenceLeftUpRightDown_Callback, gMovementTypeFuncs_WalkSequenceLeftUpRightDown); -u8 sub_805F228(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375574, 4); + memcpy(directions, gLeftUpRightDownDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(sub_805F270, sub_805F294, gUnknown_08375578); +fieldmap_object_cb(MovementType_WalkSequenceRightDownLeftUp, MovementType_WalkSequenceRightDownLeftUp_Callback, gMovementTypeFuncs_WalkSequenceRightDownLeftUp); -u8 sub_805F2B4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { u8 directions[4]; - memcpy(directions, gUnknown_08375584, 4); + memcpy(directions, gRightDownLeftUpDirections, 4); if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) { mapObject->directionSequenceIndex = 3; } - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(mapObject, sprite, directions); }; -fieldmap_object_cb(sub_805F2FC, sub_805F320, gUnknown_08375588); +fieldmap_object_cb(MovementType_CopyPlayer, MovementType_CopyPlayer_Callback, gMovementTypeFuncs_CopyPlayer); -u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); if (mapObject->directionSequenceIndex == 0) { - mapObject->directionSequenceIndex = player_get_direction_lower_nybble(); + mapObject->directionSequenceIndex = GetPlayerFacingDirection(); } sprite->data[1] = 1; return 1; } -u8 sub_805F364(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayer_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } - return gUnknown_08375594[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), NULL); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](mapObject, sprite, GetPlayerMovementDirection(), NULL); } -u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayer_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { @@ -4889,161 +5043,161 @@ u8 sub_805F3C4(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -bool8 sub_805F3EC(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) +bool8 CopyablePlayerMovement_None(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { return 0; } -bool8 sub_805F3F0(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) +bool8 CopyablePlayerMovement_FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, a2))); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); mapObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } -bool8 sub_805F438(struct MapObject *mapObject, struct Sprite *sprite, u8 a2, bool8 a3(u8)) +bool8 CopyablePlayerMovement_GoSpeed0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; - direction = a2; - direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = playerDirection; + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0AnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (a3 != NULL && !a3(MapGridGetMetatileBehaviorAt(x, y)))) + FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(direction)); + if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); } mapObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } -bool8 sub_805F4F0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed1(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetSingleMovement(mapObject, sprite, sub_8060744(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_805F5A8(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed2(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetSingleMovement(mapObject, sprite, sub_806079C(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_805F660(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed3(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetSingleMovement(mapObject, sprite, sub_80607C8(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectSetSingleMovement(mapObject, sprite, sub_806084C(direction)); mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_805F760(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetSingleMovement(mapObject, sprite, sub_80608A4(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_Jump(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_0836DC09[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; sub_8060320(direction, &x, &y, 2, 2); FieldObjectSetSingleMovement(mapObject, sprite, GetJumpLedgeAnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -fieldmap_object_cb(sub_805F8E0, sub_805F904, gUnknown_083755C0); +fieldmap_object_cb(MovementType_CopyPlayerInGrass, sub_805F904, gMovementTypeFuncs_CopyPlayerInGrass); -u8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayerInGrass_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } - return gUnknown_08375594[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), MetatileBehavior_IsPokeGrass); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](mapObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); } -u8 sub_805F9F8(struct MapObject *, struct Sprite *); +static u8 MovementType_Disguise_Callback(struct MapObject *, struct Sprite *); -void FieldObjectCB_TreeDisguise(struct Sprite *sprite) +void MovementType_TreeDisguise(struct Sprite *sprite) { struct MapObject *mapObject; mapObject = &gMapObjects[sprite->data[0]]; @@ -5054,16 +5208,16 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite) mapObject->directionSequenceIndex = 1; sprite->data[7] ++; } - meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805F9F8); + meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -u8 sub_805F9F8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Disguise_Callback(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); return 0; } -void FieldObjectCB_MountainDisguise(struct Sprite *sprite) +void MovementType_MountainDisguise(struct Sprite *sprite) { struct MapObject *mapObject; mapObject = &gMapObjects[sprite->data[0]]; @@ -5074,12 +5228,12 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite) mapObject->directionSequenceIndex = 1; sprite->data[7] ++; } - meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805F9F8); + meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -u8 sub_805FAD8(struct MapObject *mapObject, struct Sprite *sprite); +u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite); -void FieldObjectCB_Hidden1(struct Sprite *sprite) +void MovementType_Hidden(struct Sprite *sprite) { if (sprite->data[7] == 0) { @@ -5088,21 +5242,21 @@ void FieldObjectCB_Hidden1(struct Sprite *sprite) sprite->oam.priority = 3; sprite->data[7] ++; } - meta_step(&gMapObjects[sprite->data[0]], sprite, sub_805FAD8); + meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); } -u8 sub_805FAD8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite) { - return gUnknown_083755CC[sprite->data[1]](mapObject, sprite); + return gMovementTypeFuncs_Hidden[sprite->data[1]](mapObject, sprite); } -u8 sub_805FAF8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Hidden_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); return 0; } -u8 sub_805FB04(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { @@ -5111,19 +5265,19 @@ u8 sub_805FB04(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -fieldmap_object_cb(sub_805FB20, sub_805FB44, gUnknown_083755D0); +fieldmap_object_cb(MovementType_WalkInPlace, MovementType_WalkInPlace_Callback, gMovementTypeFuncs_WalkInPlace); -u8 sub_805FB64(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(sub_805FB90, sub_805FBB4, gUnknown_083755D8); +fieldmap_object_cb(MovementType_JogInPlace, MovementType_JogInPlace_Callback, gMovementTypeFuncs_JogInPlace); -u8 sub_805FBD4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_JogInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection)); @@ -5131,9 +5285,9 @@ u8 sub_805FBD4(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805FC00, sub_805FC24, gUnknown_083755E0); +fieldmap_object_cb(MovementType_RunInPlace, MovementType_RunInPlace_Callback, gMovementTypeFuncs_RunInPlace); -u8 sub_805FC44(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RunInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); @@ -5141,18 +5295,18 @@ u8 sub_805FC44(struct MapObject *mapObject, struct Sprite *sprite) return 1; } -fieldmap_object_cb(sub_805FC70, sub_805FC94, gUnknown_083755E8); +fieldmap_object_cb(MovementType_Invisible, MovementType_Invisible_Callback, gMovementTypeFuncs_Invisible); -u8 sub_805FCB4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Invisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); mapObject->invisible = 1; sprite->data[1] = 1; return 1; } -u8 sub_805FCE8(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Invisible_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite)) { @@ -5162,14 +5316,12 @@ u8 sub_805FCE8(struct MapObject *mapObject, struct Sprite *sprite) return 0; } -u8 sub_805FD08(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Invisible_Step2(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->singleMovementActive = 0; return 0; } -void sub_805FC70(struct Sprite *sprite); - void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->singleMovementActive = 0; @@ -5306,7 +5458,7 @@ void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType) { mapObject->movementType = movementType; mapObject->directionSequenceIndex = 0; - mapObject->playerMovementActionId = 0; + mapObject->playerCopyableMovement = 0; gSprites[mapObject->spriteId].callback = sMovementTypeCallbacks[movementType]; gSprites[mapObject->spriteId].data[1] = 0; } @@ -5316,21 +5468,21 @@ u8 npc_running_behaviour_by_direction(u8 direction) return gUnknown_0837567B[direction]; } -u8 sub_805FF20(struct MapObject *mapObject, u8 direction) +u8 GetCollisionInDirection(struct MapObject *mapObject, u8 direction) { s16 x; s16 y; x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; MoveCoords(direction, &x, &y); - return npc_block_way(mapObject, x, y, direction); + return GetCollisionAtCoords(mapObject, x, y, direction); } bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y); static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s16 y); bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction); -u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) +u8 GetCollisionAtCoords(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) { u8 direction; direction = dirn; @@ -5656,9 +5808,9 @@ u8 name(u32 idx)\ return animIds[direction];\ } -dirn_to_anim(GetFaceDirectionAnimId, gUnknown_083756C8) +dirn_to_anim(GetFaceDirectionMovementActionId, gUnknown_083756C8) dirn_to_anim(GetSimpleGoAnimId, gUnknown_083756CD) -dirn_to_anim(GetGoSpeed0AnimId, gUnknown_083756D2) +dirn_to_anim(GetGoSpeed0MovementActionId, gUnknown_083756D2) dirn_to_anim(sub_8060744, gUnknown_083756D7) dirn_to_anim(d2s_08064034, gUnknown_083756DC) dirn_to_anim(sub_806079C, gUnknown_083756E1) @@ -5670,13 +5822,13 @@ dirn_to_anim(sub_8060878, gUnknown_083756FA) dirn_to_anim(sub_80608A4, gUnknown_083756FF) dirn_to_anim(sub_80608D0, gUnknown_08375704) dirn_to_anim(GetStepInPlaceDelay32AnimId, gUnknown_08375709) -dirn_to_anim(GetStepInPlaceDelay16AnimId, gUnknown_0837570E) +dirn_to_anim(GetStepInPlaceDelay16MovementActionId, gUnknown_0837570E) dirn_to_anim(GetStepInPlaceDelay8AnimId, gUnknown_08375713) dirn_to_anim(GetStepInPlaceDelay4AnimId, gUnknown_08375718) u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) { - return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); + return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(GetOppositeDirection(direction))); } u8 sub_80609D8(u8 index) @@ -7176,7 +7328,7 @@ bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80625B0(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, gUnknown_0836DC09[mapObject->movementType]); + an_look_any(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]); return TRUE; } @@ -7295,7 +7447,7 @@ bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8064864(sprite)) { - sub_8064820(sprite, 0x20); + SetMovementDelay(sprite, 0x20); sprite->data[2] = 2; } return FALSE; @@ -7304,7 +7456,7 @@ bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8062764(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->invisible ^= 1; - if (sub_8064824(sprite)) + if (WaitForMovementDelay(sprite)) { mapObject->invisible = 1; sprite->data[2] = 3; @@ -7323,7 +7475,7 @@ bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8064864(sprite)) { - sub_8064820(sprite, 0x20); + SetMovementDelay(sprite, 0x20); sprite->data[2] = 2; } return FALSE; @@ -7332,7 +7484,7 @@ bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80627E0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->invisible ^= 1; - if (sub_8064824(sprite)) + if (WaitForMovementDelay(sprite)) { mapObject->invisible = 1; sprite->data[2] = 3; @@ -9260,12 +9412,12 @@ u8 sub_806478C(struct Sprite *sprite) return v2; } -void sub_8064820(struct Sprite *sprite, s16 a2) +static void SetMovementDelay(struct Sprite *sprite, s16 a2) { sprite->data[3] = a2; } -bool8 sub_8064824(struct Sprite *sprite) +static bool8 WaitForMovementDelay(struct Sprite *sprite) { sprite->data[3]--; diff --git a/src/field_camera.c b/src/field_camera.c index 8384ad8d1..e360a4ad6 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -473,7 +473,7 @@ static void CameraPanningCB_PanAhead(void) gUnknown_0300059C = 0; } - var = player_get_direction_upper_nybble(); + var = GetPlayerMovementDirection(); if (var == 2) { if (gUnknown_0300059A > -8) diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 918ab0e21..f090cf5ca 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -197,7 +197,7 @@ int sub_8068024(struct FieldInput *input) u8 r6; u16 r4; - r6 = player_get_direction_lower_nybble(); + r6 = GetPlayerFacingDirection(); player_get_pos_to_and_height(&position); r4 = MapGridGetMetatileBehaviorAt(position.x, position.y); #if DEBUG @@ -916,7 +916,7 @@ u8 *GetFieldObjectScriptPointerPlayerFacing(void) u8 r4; struct MapPosition position; - r4 = player_get_direction_upper_nybble(); + r4 = GetPlayerMovementDirection(); player_get_next_pos_and_height(&position); return sub_8068364(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), r4); } @@ -925,7 +925,7 @@ int SetCableClubWarp(void) { struct MapPosition position; - player_get_direction_upper_nybble(); //unnecessary + GetPlayerMovementDirection(); //unnecessary player_get_pos_to_and_height(&position); MapGridGetMetatileBehaviorAt(position.x, position.y); //unnecessary sub_8068C30(&gMapHeader, map_warp_check_packed(&gMapHeader, &position), &position); diff --git a/src/field_effect.c b/src/field_effect.c index bb18c870f..6eb425389 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1180,7 +1180,7 @@ bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0] CameraObjectReset2(); gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; - FieldObjectSetHeldMovement(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(playerObject, GetFaceDirectionMovementActionId(GetPlayerFacingDirection())); task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; @@ -1330,7 +1330,7 @@ bool8 sub_8086AC0(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) { - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(GetPlayerFacingDirection())); task->data[0]++; task->data[2] = 0; task->data[3] = 0; @@ -1447,7 +1447,7 @@ bool8 sub_8086CF4(struct Task *task) u8 behavior; CameraObjectReset2(); mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(DIR_EAST)); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(DIR_EAST)); PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); task->data[0]++; @@ -1545,7 +1545,7 @@ bool8 sub_8086ED4(struct Task *task) { CameraObjectReset1(); ScriptContext2_Disable(); - FieldObjectSetHeldMovement(mapObject, GetGoSpeed0AnimId(DIR_EAST)); + FieldObjectSetHeldMovement(mapObject, GetGoSpeed0MovementActionId(DIR_EAST)); DestroyTask(FindTaskIdByFunc(sub_8086CBC)); } return FALSE; @@ -1986,7 +1986,7 @@ void sub_80878F4(struct Task *task) { task->data[0]++; task->data[14] = 64; - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); } void sub_8087914(struct Task *task) @@ -2011,7 +2011,7 @@ void sub_8087914(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80878C4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2049,7 +2049,7 @@ void sub_8087AA4(struct Task *task) if (IsWeatherNotFadingIn()) { task->data[0]++; - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); } } @@ -2063,7 +2063,7 @@ void sub_8087AC8(struct Task *task) { return; } - if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble()) + if (task->data[2] >= 32 && task->data[15] == GetPlayerFacingDirection()) { mapObject->invisible = 0; ScriptContext2_Disable(); @@ -2071,7 +2071,7 @@ void sub_8087AC8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_8087A74)); return; } - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(unknown_0839F380[mapObject->facingDirection])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; @@ -2110,7 +2110,7 @@ static void TeleportFieldEffectTask1(struct Task *task) ScriptContext2_Enable(); FreezeMapObjects(); CameraObjectReset2(); - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); task->data[0]++; } @@ -2213,7 +2213,7 @@ void sub_8087E4C(struct Task *task) task->data[1] = 8; task->data[2] = 1; task->data[14] = sprite->subspriteMode; - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); PlaySE(SE_TK_WARPIN); } } @@ -2878,7 +2878,7 @@ void sub_8088AF4(struct Task *task) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(mapObject->movementDirection)); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(mapObject->movementDirection)); sub_8127ED0(mapObject->fieldEffectSpriteId, 1); UnfreezeMapObjects(); ScriptContext2_Disable(); diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 669b6b531..a6c399756 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -279,7 +279,7 @@ void task_map_chg_seq_0807E20C(u8 taskId) u8 mapObjId; sub_8080958(1); mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetGoSpeed0AnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetGoSpeed0MovementActionId(GetPlayerFacingDirection())); task->data[0] = 2; } break; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index f4f53c0a9..2e13347f6 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -196,7 +196,7 @@ static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) = sub_805A1B8, }; -fieldmap_object_empty_callback(sub_80587B4, sub_80587D8); +fieldmap_object_empty_callback(MovementType_None2, MovementType_None2_Callback); void player_step(u8 direction, u16 newKeys, u16 heldKeys) { @@ -457,7 +457,7 @@ static u8 CheckMovementInputNotOnBike(u8 direction) gPlayerAvatar.runningState = NOT_MOVING; return 0; } - else if (direction != player_get_direction_upper_nybble() && gPlayerAvatar.runningState != MOVING) + else if (direction != GetPlayerMovementDirection() && gPlayerAvatar.runningState != MOVING) { gPlayerAvatar.runningState = TURN_DIRECTION; return 1; @@ -471,7 +471,7 @@ static u8 CheckMovementInputNotOnBike(u8 direction) void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys) { - PlayerFaceDirection(player_get_direction_lower_nybble()); + PlayerFaceDirection(GetPlayerFacingDirection()); } void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys) @@ -527,7 +527,7 @@ u8 CheckForFieldObjectCollision(struct MapObject *a, s16 x, s16 y, u8 direction, { u8 collision; - collision = npc_block_way(a, x, y, direction); + collision = GetCollisionAtCoords(a, x, y, direction); if (collision == 3 && sub_8058EF0(x, y, direction)) return 5; if (ShouldJumpLedge(x, y, direction)) @@ -583,7 +583,7 @@ static u8 sub_8058F6C(s16 a, s16 b, u8 c) a = gMapObjects[mapObjectId].currentCoords.x; b = gMapObjects[mapObjectId].currentCoords.y; MoveCoords(c, &a, &b); - if (npc_block_way(&gMapObjects[mapObjectId], a, b, c) == 0 + if (GetCollisionAtCoords(&gMapObjects[mapObjectId], a, b, c) == 0 && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(a, b)) == 0) { StartStrengthAnim(mapObjectId, c); @@ -747,14 +747,14 @@ static bool8 PlayerCheckIfAnimFinishedOrInactive(void) return FieldObjectCheckHeldMovementStatus(&gMapObjects[gPlayerAvatar.mapObjectId]); } -static void player_set_x22(u8 a) +static void PlayerSetCopyableMovement(u8 a) { - gMapObjects[gPlayerAvatar.mapObjectId].playerMovementActionId = a; + gMapObjects[gPlayerAvatar.mapObjectId].playerCopyableMovement = a; } -u8 player_get_x22(void) +u8 PlayerGetCopyableMovement(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].playerMovementActionId; + return gMapObjects[gPlayerAvatar.mapObjectId].playerCopyableMovement; } static void sub_8059348(u8 a) @@ -762,11 +762,11 @@ static void sub_8059348(u8 a) FieldObjectForceSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], a); } -void PlayerSetAnimId(u8 movementActionId, u8 b) +void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement) { if (!PlayerIsAnimActive()) { - player_set_x22(b); + PlayerSetCopyableMovement(copyableMovement); FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], movementActionId); } } @@ -774,7 +774,7 @@ void PlayerSetAnimId(u8 movementActionId, u8 b) // normal speed (1 speed) void PlayerGoSpeed1(u8 a) { - PlayerSetAnimId(GetGoSpeed0AnimId(a), 2); + PlayerSetAnimId(GetGoSpeed0MovementActionId(a), 2); } // fast speed (2 speed) @@ -802,7 +802,7 @@ void sub_805940C(u8 a) void PlayerOnBikeCollide(u8 a) { PlayCollisionSoundIfNotFacingWarp(a); - PlayerSetAnimId(GetStepInPlaceDelay16AnimId(a), 2); + PlayerSetAnimId(GetStepInPlaceDelay16MovementActionId(a), 2); } static void PlayerNotOnBikeCollide(u8 a) @@ -813,7 +813,7 @@ static void PlayerNotOnBikeCollide(u8 a) void PlayerFaceDirection(u8 direction) { - PlayerSetAnimId(GetFaceDirectionAnimId(direction), 1); + PlayerSetAnimId(GetFaceDirectionMovementActionId(direction), 1); } void PlayerTurnInPlace(u8 direction) @@ -832,7 +832,7 @@ void sub_80594C0(void) if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING) { if (player_should_look_direction_be_enforced_upon_movement()) - sub_8059348(GetFaceDirectionAnimId(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection)); + sub_8059348(GetFaceDirectionMovementActionId(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection)); } } @@ -925,7 +925,7 @@ void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y) { *x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x; *y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; - MoveCoords(player_get_direction_lower_nybble(), x, y); + MoveCoords(GetPlayerFacingDirection(), x, y); } void PlayerGetDestCoords(s16 *x, s16 *y) @@ -934,12 +934,12 @@ void PlayerGetDestCoords(s16 *x, s16 *y) *y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; } -u8 player_get_direction_lower_nybble(void) +u8 GetPlayerFacingDirection(void) { return gMapObjects[gPlayerAvatar.mapObjectId].facingDirection; } -u8 player_get_direction_upper_nybble(void) +u8 GetPlayerMovementDirection(void) { return gMapObjects[gPlayerAvatar.mapObjectId].movementDirection; } @@ -1057,7 +1057,7 @@ bool8 PartyHasMonWithSurf(void) bool8 IsPlayerSurfingNorth(void) { - if (player_get_direction_upper_nybble() == DIR_NORTH && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) + if (GetPlayerMovementDirection() == DIR_NORTH && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) return TRUE; else return FALSE; @@ -1070,7 +1070,7 @@ bool8 IsPlayerFacingSurfableFishableWater(void) s16 y = playerMapObj->currentCoords.y; MoveCoords(playerMapObj->facingDirection, &x, &y); - if (npc_block_way(playerMapObj, x, y, playerMapObj->facingDirection) == 3 && PlayerGetZCoord() == 3 + if (GetCollisionAtCoords(playerMapObj, x, y, playerMapObj->facingDirection) == 3 && PlayerGetZCoord() == 3 && MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y))) return TRUE; else @@ -1242,7 +1242,7 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *playerObject, struct MapObje { FieldObjectClearHeldMovementIfFinished(playerObject); FieldObjectClearHeldMovementIfFinished(strengthObject); - FieldObjectSetHeldMovement(playerObject, GetStepInPlaceDelay16AnimId((u8)task->data[2])); + FieldObjectSetHeldMovement(playerObject, GetStepInPlaceDelay16MovementActionId((u8)task->data[2])); FieldObjectSetHeldMovement(strengthObject, GetSimpleGoAnimId((u8)task->data[2])); gFieldEffectArguments[0] = strengthObject->currentCoords.x; gFieldEffectArguments[1] = strengthObject->currentCoords.y; @@ -1338,7 +1338,7 @@ u8 sub_805A100(struct Task *task, struct MapObject *mapObject) { u8 direction; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionAnimId(direction = directions[mapObject->movementDirection - 1])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(direction = directions[mapObject->movementDirection - 1])); if (direction == (u8)task->data[1]) task->data[2]++; task->data[0]++; @@ -1413,7 +1413,7 @@ static void sub_805A2D0(u8 taskId) if (FieldObjectClearHeldMovementIfFinished(playerMapObj)) { sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionAnimId(playerMapObj->facingDirection)); + FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionMovementActionId(playerMapObj->facingDirection)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroySprite(&gSprites[playerMapObj->fieldEffectSpriteId]); @@ -1574,7 +1574,7 @@ u8 Fishing6(struct Task *task) if (!DoesCurrentMapHaveFishingMons() || (Random() & 1)) task->tStep = FISHING_NO_BITE; else - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FE08(player_get_direction_lower_nybble())); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FE08(GetPlayerFacingDirection())); return 1; } @@ -1677,7 +1677,7 @@ u8 Fishing11(struct Task *task) u8 Fishing12(struct Task *task) { sub_805A954(); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(player_get_direction_lower_nybble())); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(GetPlayerFacingDirection())); MenuPrintMessageDefaultCoords(gOtherText_NotEvenANibble); task->tStep = FISHING_SHOW_RESULT; return 1; @@ -1687,7 +1687,7 @@ u8 Fishing12(struct Task *task) u8 Fishing13(struct Task *task) { sub_805A954(); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(player_get_direction_lower_nybble())); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(GetPlayerFacingDirection())); MenuPrintMessageDefaultCoords(gOtherText_ItGotAway); task->tStep++; return 1; @@ -1762,7 +1762,7 @@ static void sub_805A954(void) if (animType == 1 || animType == 2 || animType == 3) { playerSprite->pos2.x = 8; - if (player_get_direction_lower_nybble() == 3) + if (GetPlayerFacingDirection() == 3) playerSprite->pos2.x = -8; } if (animType == 5) diff --git a/src/field_specials.c b/src/field_specials.c index 4bb9ad801..63b3b3e05 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -330,7 +330,7 @@ void SpawnBerryBlenderLinkPlayerSprites(void) u8 i; myLinkPlayerNumber = sub_8008218(); - playerDirectionLowerNybble = player_get_direction_lower_nybble(); + playerDirectionLowerNybble = GetPlayerFacingDirection(); switch (playerDirectionLowerNybble) { case DIR_WEST: @@ -795,7 +795,7 @@ static void PCTurnOffEffect_0(struct Task *task) if (task->data[3] == 6) { task->data[3] = 0; - playerDirectionLowerNybble = player_get_direction_lower_nybble(); + playerDirectionLowerNybble = GetPlayerFacingDirection(); switch (playerDirectionLowerNybble) { case DIR_NORTH: @@ -868,7 +868,7 @@ static void PCTurnOffEffect(void) s8 dx = 0; s8 dy = 0; u16 tileId = 0; - u8 playerDirectionLowerNybble = player_get_direction_lower_nybble(); + u8 playerDirectionLowerNybble = GetPlayerFacingDirection(); switch (playerDirectionLowerNybble) { case DIR_NORTH: diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c index 1f0990a5e..4571cc4c4 100644 --- a/src/fldeff_berrytree.c +++ b/src/fldeff_berrytree.c @@ -19,8 +19,8 @@ static void Task_WateringBerryTreeAnim_1(u8 taskId) if (!FieldObjectIsMovementOverridden(playerMapObj) || FieldObjectClearHeldMovementIfFinished(playerMapObj)) { - sub_8059D08(player_get_direction_lower_nybble()); - FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); + sub_8059D08(GetPlayerFacingDirection()); + FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16MovementActionId(GetPlayerFacingDirection())); gTasks[taskId].func = Task_WateringBerryTreeAnim_2; } } @@ -34,7 +34,7 @@ static void Task_WateringBerryTreeAnim_2(u8 taskId) if (value < 10) { - FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16AnimId(player_get_direction_lower_nybble())); + FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16MovementActionId(GetPlayerFacingDirection())); } else { diff --git a/src/fldeff_decoration.c b/src/fldeff_decoration.c index 8295a2fe0..18178d07c 100644 --- a/src/fldeff_decoration.c +++ b/src/fldeff_decoration.c @@ -164,7 +164,7 @@ static void sub_80C6A14(u8 taskId) void sub_80C6A54(s16 x, s16 y) { - u8 dir = player_get_direction_lower_nybble(); + u8 dir = GetPlayerFacingDirection(); if (dir == DIR_SOUTH) { sub_80C69C4(x, y); @@ -261,7 +261,7 @@ bool8 FldEff_SandPillar(void) gFieldEffectArguments[5] = x; gFieldEffectArguments[6] = y; - switch (player_get_direction_lower_nybble()) + switch (GetPlayerFacingDirection()) { case DIR_SOUTH: CreateSprite( diff --git a/src/fldeff_secretpower.c b/src/fldeff_secretpower.c index e58a1e82f..fd8791cb8 100644 --- a/src/fldeff_secretpower.c +++ b/src/fldeff_secretpower.c @@ -252,7 +252,7 @@ void Debug_SetUpFieldMove_SecretPower(void) CheckPlayerHasSecretBase(); - if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH) + if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH) { ScriptContext2_Disable(); return; @@ -291,7 +291,7 @@ bool8 SetUpFieldMove_SecretPower(void) u8 behavior; CheckPlayerHasSecretBase(); - if (gSpecialVar_Result == 1 || player_get_direction_lower_nybble() != DIR_NORTH) + if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH) return FALSE; GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); diff --git a/src/item_use.c b/src/item_use.c index 5ec703bd2..d62a7ae10 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -290,7 +290,7 @@ void RunItemfinderResults(u8 taskId) } else // player is above hidden item. { - playerDir = player_get_direction_lower_nybble(); + playerDir = GetPlayerFacingDirection(); // rotate player clockwise depending on current direction. for (i = 0; i < 4; i++) diff --git a/src/overworld.c b/src/overworld.c index f5624cd70..806a3a4d2 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -663,7 +663,7 @@ void player_avatar_init_params_reset(void) void walkrun_find_lowest_active_bit_in_bitfield(void) { - gUnknown_02029810.player_field_1 = player_get_direction_lower_nybble(); + gUnknown_02029810.player_field_1 = GetPlayerFacingDirection(); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE)) gUnknown_02029810.player_field_0 = 2; diff --git a/src/rom6.c b/src/rom6.c index ca1e4b250..c5c77fd39 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -93,7 +93,7 @@ static void sub_810B428(u8 taskId) { if (!FieldEffectActiveListContains(6)) { - gFieldEffectArguments[1] = player_get_direction_lower_nybble(); + gFieldEffectArguments[1] = GetPlayerFacingDirection(); if (gFieldEffectArguments[1] == 1) gFieldEffectArguments[2] = 0; if (gFieldEffectArguments[1] == 2) diff --git a/src/scrcmd.c b/src/scrcmd.c index 674912c16..9422f8cb6 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1118,7 +1118,7 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) if (gMapObjects[gSelectedMapObject].active) { FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject], - player_get_direction_lower_nybble()); + GetPlayerFacingDirection()); } return FALSE; } diff --git a/src/trainer_see.c b/src/trainer_see.c index a4811ecd5..e4d24347f 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -176,7 +176,7 @@ static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 a trainerObj->range.as_nybbles.x = 0; trainerObj->range.as_nybbles.y = 0; - collision = npc_block_way((struct MapObject *)trainerObj, x, y, direction); + collision = GetCollisionAtCoords((struct MapObject *)trainerObj, x, y, direction); trainerObj->range.as_nybbles.x = unk19_temp; trainerObj->range.as_nybbles.y = unk19b_temp; @@ -265,7 +265,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - direction = GetFaceDirectionAnimId(trainerObj->facingDirection); + direction = GetFaceDirectionMovementActionId(trainerObj->facingDirection); FieldObjectSetHeldMovement(trainerObj, direction); task->data[0]++; return TRUE; @@ -294,7 +294,7 @@ static bool8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainer { if (task->data[3]) { - FieldObjectSetHeldMovement(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); + FieldObjectSetHeldMovement(trainerObj, GetGoSpeed0MovementActionId(trainerObj->facingDirection)); task->data[3]--; } else @@ -322,7 +322,7 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer return FALSE; sub_80597E8(); - FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection))); + FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionMovementActionId(GetOppositeDirection(trainerObj->facingDirection))); task->data[0]++; return FALSE; } -- cgit v1.2.3 From e435d62f0a496652482c89d7fd696ecc08d22a15 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 25 May 2018 11:07:55 -0500 Subject: Define movement type constants --- src/berry.c | 2 +- src/event_object_movement.c | 56 ++++++++++++++++++++++----------------------- src/field_player_avatar.c | 8 +++---- src/field_specials.c | 11 ++++++--- src/trainer_see.c | 4 ++-- 5 files changed, 43 insertions(+), 38 deletions(-) (limited to 'src') diff --git a/src/berry.c b/src/berry.c index 5a0e39580..e3b56657b 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1543,7 +1543,7 @@ void ResetBerryTreeSparkleFlags(void) bottom = top + 8; for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.mapObjects); i++) { - if (gMapObjects[i].active && gMapObjects[i].movementType == 12) // is the object an active berry tree? + if (gMapObjects[i].active && gMapObjects[i].movementType == MOVEMENT_TYPE_BERRY_TREE_GROWTH) { cam_left = gMapObjects[i].currentCoords.x; cam_top = gMapObjects[i].currentCoords.y; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 3d80bb9f3..35cfcbd0f 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1509,7 +1509,7 @@ static void (*const sMovementTypeCallbacks[])(struct Sprite *) = MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT - MovementType_None2, // MOVEMENT_TYPE_NONE_2 + MovementType_Player, // MOVEMENT_TYPE_PLAYER MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT @@ -1589,7 +1589,7 @@ const u8 gRangedMovementTypes[] = { 0, // MOVEMENT_TYPE_FACE_DOWN 0, // MOVEMENT_TYPE_FACE_LEFT 0, // MOVEMENT_TYPE_FACE_RIGHT - 0, // MOVEMENT_TYPE_NONE_2 + 0, // MOVEMENT_TYPE_PLAYER 0, // MOVEMENT_TYPE_BERRY_TREE_GROWTH 0, // MOVEMENT_TYPE_FACE_DOWN_AND_UP 0, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT @@ -1669,7 +1669,7 @@ const u8 gInitialMovementTypeFacingDirections[] = { DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT DIR_EAST, // MOVEMENT_TYPE_FACE_RIGHT - DIR_SOUTH, // MOVEMENT_TYPE_NONE_2 + DIR_SOUTH, // MOVEMENT_TYPE_PLAYER DIR_SOUTH, // MOVEMENT_TYPE_BERRY_TREE_GROWTH DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_UP DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT @@ -2212,8 +2212,8 @@ u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 ma mapObj->previousCoords.y = initialY; mapObj->currentElevation = template->elevation; mapObj->previousElevation = template->elevation; - mapObj->range.as_nybbles.x = template->unkA_0; - mapObj->range.as_nybbles.y = template->unkA_4; + mapObj->range.as_nybbles.x = template->movementRangeX; + mapObj->range.as_nybbles.y = template->movementRangeY; mapObj->trainerType = template->unkC; mapObj->trainerRange_berryTreeId = template->unkE; mapObj->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; @@ -2329,7 +2329,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * npc_load_two_palettes__no_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); else if (gfxInfo->paletteSlot == 10) npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); - if (mapObject->movementType == 0x4C) + if (mapObject->movementType == MOVEMENT_TYPE_INVISIBLE) mapObject->invisible = TRUE; #ifdef NONMATCHING @@ -2394,21 +2394,21 @@ u8 SpawnSpecialFieldObject(struct MapObjectTemplate *mapObjTemplate) return TrySpawnFieldObject(mapObjTemplate, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); } -u8 SpawnSpecialFieldObjectParametrized(u8 a, u8 b, u8 c, s16 d, s16 e, u8 f) +u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementType, u8 localId, s16 x, s16 y, u8 elevation) { struct MapObjectTemplate mapObjTemplate; - d -= 7; - e -= 7; - mapObjTemplate.localId = c; - mapObjTemplate.graphicsId = a; + x -= 7; + y -= 7; + mapObjTemplate.localId = localId; + mapObjTemplate.graphicsId = graphicsId; mapObjTemplate.unk2 = 0; - mapObjTemplate.x = d; - mapObjTemplate.y = e; - mapObjTemplate.elevation = f; - mapObjTemplate.movementType = b; - mapObjTemplate.unkA_0 = 0; - mapObjTemplate.unkA_4 = 0; + mapObjTemplate.x = x; + mapObjTemplate.y = y; + mapObjTemplate.elevation = elevation; + mapObjTemplate.movementType = movementType; + mapObjTemplate.movementRangeX = 0; + mapObjTemplate.movementRangeY = 0; mapObjTemplate.unkC = 0; mapObjTemplate.unkE = 0; return SpawnSpecialFieldObject(&mapObjTemplate); @@ -2441,9 +2441,9 @@ void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callba *subspriteTables = gfxInfo->subspriteTables; } -void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 movementType, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], sprTemplate, subspriteTables); + MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[movementType], sprTemplate, subspriteTables); } void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) @@ -2609,7 +2609,7 @@ void sub_805B710(u16 a, u16 b) extern void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8); extern void sub_805B914(struct MapObject *); -void sub_805B75C(u8 a, s16 b, s16 c) +void sub_805B75C(u8 mapObjectId, s16 b, s16 c) { struct SpriteTemplate sp0; struct SpriteFrameImage sp18; @@ -2621,12 +2621,12 @@ void sub_805B75C(u8 a, s16 b, s16 c) #define i spriteId for (i = 0; i < 4; i++) { - if (gLinkPlayerMapObjects[i].active && a == gLinkPlayerMapObjects[i].mapObjId) + if (gLinkPlayerMapObjects[i].active && mapObjectId == gLinkPlayerMapObjects[i].mapObjId) return; } #undef i - mapObject = &gMapObjects[a]; + mapObject = &gMapObjects[mapObjectId]; asm("":::"r5"); subspriteTables = NULL; gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); @@ -2650,18 +2650,18 @@ void sub_805B75C(u8 a, s16 b, s16 c) sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->images = gfxInfo->images; - if (mapObject->movementType == 11) + if (mapObject->movementType == MOVEMENT_TYPE_PLAYER) { - SetPlayerAvatarFieldObjectIdAndObjectId(a, spriteId); + SetPlayerAvatarFieldObjectIdAndObjectId(mapObjectId, spriteId); mapObject->warpArrowSpriteId = sub_8126B54(); } if (subspriteTables != NULL) SetSubspriteTables(sprite, subspriteTables); sprite->oam.paletteNum = gfxInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = a; + sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; - if (!mapObject->inanimate && mapObject->movementType != 11) + if (!mapObject->inanimate && mapObject->movementType != MOVEMENT_TYPE_PLAYER) StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); sub_805B914(mapObject); SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); @@ -7408,12 +7408,12 @@ bool8 sub_8062704(struct MapObject *, struct Sprite *); bool8 sub_80626C0(struct MapObject *mapObject, struct Sprite *sprite) { - if (mapObject->movementType == 0x3F) + if (mapObject->movementType == MOVEMENT_TYPE_HIDDEN) { sub_8084794(mapObject); return FALSE; } - else if (mapObject->movementType != 0x39 && mapObject->movementType != 0x3A) + else if (mapObject->movementType != MOVEMENT_TYPE_TREE_DISGUISE && mapObject->movementType != MOVEMENT_TYPE_MOUNTAIN_DISGUISE) { sprite->data[2] = 2; return TRUE; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 2e13347f6..a5bed6bec 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -196,7 +196,7 @@ static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) = sub_805A1B8, }; -fieldmap_object_empty_callback(MovementType_None2, MovementType_None2_Callback); +fieldmap_object_empty_callback(MovementType_Player, MovementType_Player_Callback); void player_step(u8 direction, u16 newKeys, u16 heldKeys) { @@ -1132,9 +1132,9 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) playerMapObjTemplate.x = x - 7; playerMapObjTemplate.y = y - 7; playerMapObjTemplate.elevation = 0; - playerMapObjTemplate.movementType = 11; - playerMapObjTemplate.unkA_0 = 0; - playerMapObjTemplate.unkA_4 = 0; + playerMapObjTemplate.movementType = MOVEMENT_TYPE_PLAYER; + playerMapObjTemplate.movementRangeX = 0; + playerMapObjTemplate.movementRangeY = 0; playerMapObjTemplate.unkC = 0; playerMapObjTemplate.unkE = 0; playerMapObjTemplate.script = NULL; diff --git a/src/field_specials.c b/src/field_specials.c index 63b3b3e05..95613d86e 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -317,7 +317,12 @@ void SpawnBerryBlenderLinkPlayerSprites(void) u8 j = 0; s16 x = 0; s16 y = 0; - u8 unknown_083F8358[] = {7, 9, 8, 10}; + u8 facingDirectionMovementTypes[] = { + MOVEMENT_TYPE_FACE_UP, + MOVEMENT_TYPE_FACE_LEFT, + MOVEMENT_TYPE_FACE_DOWN, + MOVEMENT_TYPE_FACE_RIGHT, + }; s8 unknown_083F835C[][2] = { { 0, 1}, { 1, 0}, @@ -357,7 +362,7 @@ void SpawnBerryBlenderLinkPlayerSprites(void) if (myLinkPlayerNumber != i) { rivalAvatarGraphicsId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gLinkPlayers[i].gender); - SpawnSpecialFieldObjectParametrized(rivalAvatarGraphicsId, unknown_083F8358[j], 0xf0 - i, unknown_083F835C[j][0] + x + 7, unknown_083F835C[j][1] + y + 7, 0); + SpawnSpecialFieldObjectParametrized(rivalAvatarGraphicsId, facingDirectionMovementTypes[j], 0xf0 - i, unknown_083F835C[j][0] + x + 7, unknown_083F835C[j][1] + y + 7, 0); j++; if (j == 4) { @@ -1758,7 +1763,7 @@ void GlassWorkshopUpdateScrollIndicators(u8 newPos, u8 maxItems) void SpawnCameraDummy(void) { - u8 mapObjectId = SpawnSpecialFieldObjectParametrized(7, 8, 0x7f, gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7, 3); + u8 mapObjectId = SpawnSpecialFieldObjectParametrized(7, MOVEMENT_TYPE_FACE_DOWN, 0x7f, gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7, 3); gMapObjects[mapObjectId].invisible = 1; CameraObjectSetFollowedObjectId(gMapObjects[mapObjectId].spriteId); } diff --git a/src/trainer_see.c b/src/trainer_see.c index e4d24347f..e786c582f 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -280,9 +280,9 @@ static bool8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainer else { task->data[0]++; - if (trainerObj->movementType == 57 || trainerObj->movementType == 58) + if (trainerObj->movementType == MOVEMENT_TYPE_TREE_DISGUISE || trainerObj->movementType == MOVEMENT_TYPE_MOUNTAIN_DISGUISE) task->data[0] = 6; - if (trainerObj->movementType == 63) + if (trainerObj->movementType == MOVEMENT_TYPE_HIDDEN) task->data[0] = 8; return TRUE; } -- cgit v1.2.3 From b99b9860d54b8413595b16e495d74e998f098584 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 27 May 2018 09:29:45 -0500 Subject: Start labeling movement actions --- src/data/field_map_obj/anim_func_ptrs.h | 1141 ++++++++++++++----------------- src/event_object_movement.c | 840 +++++++++++++---------- src/field_effect.c | 18 +- src/field_effect_helpers.c | 26 +- src/field_fadetransition.c | 2 +- src/field_player_avatar.c | 34 +- src/field_special_scene.c | 4 +- src/fldeff_berrytree.c | 4 +- src/overworld.c | 6 +- src/scrcmd.c | 4 +- src/trainer_see.c | 6 +- 11 files changed, 1047 insertions(+), 1038 deletions(-) (limited to 'src') diff --git a/src/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h index 22bb6794b..c024295c3 100644 --- a/src/data/field_map_obj/anim_func_ptrs.h +++ b/src/data/field_map_obj/anim_func_ptrs.h @@ -5,458 +5,331 @@ #ifndef POKERUBY_ANIM_FUNC_PTRS_H #define POKERUBY_ANIM_FUNC_PTRS_H -u8 sub_8060CE0(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8060CF0(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8060D00(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8060D10(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8060F3C(struct MapObject *, struct Sprite *); -u8 sub_8060F5C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8060F7C(struct MapObject *, struct Sprite *); -u8 sub_8060F9C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8060FBC(struct MapObject *, struct Sprite *); -u8 sub_8060FDC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8060FFC(struct MapObject *, struct Sprite *); -u8 sub_806101C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_806103C(struct MapObject *, struct Sprite *); -u8 sub_806105C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_806107C(struct MapObject *, struct Sprite *); -u8 sub_806109C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80610BC(struct MapObject *, struct Sprite *); -u8 sub_80610DC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80610FC(struct MapObject *, struct Sprite *); -u8 sub_806111C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80613A8(struct MapObject *, struct Sprite *); -u8 sub_80613D4(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061400(struct MapObject *, struct Sprite *); -u8 sub_806142C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061458(struct MapObject *, struct Sprite *); -u8 sub_8061484(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80614B0(struct MapObject *, struct Sprite *); -u8 sub_80614DC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_806152C(struct MapObject *, struct Sprite *); -u8 sub_8061510(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); -u8 sub_806154C(struct MapObject *, struct Sprite *); -u8 sub_8061510(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); -u8 sub_806156C(struct MapObject *, struct Sprite *); -u8 sub_8061510(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); -u8 sub_806158C(struct MapObject *, struct Sprite *); -u8 sub_8061510(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); -u8 sub_80615AC(struct MapObject *, struct Sprite *); -u8 sub_8061510(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); -u8 sub_80615CC(struct MapObject *, struct Sprite *); -u8 sub_80615EC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_806160C(struct MapObject *, struct Sprite *); -u8 sub_806162C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_806164C(struct MapObject *, struct Sprite *); -u8 sub_806166C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_806168C(struct MapObject *, struct Sprite *); -u8 sub_80616AC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061778(struct MapObject *, struct Sprite *); -u8 sub_806173C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80617B0(struct MapObject *, struct Sprite *); -u8 sub_806173C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80617E8(struct MapObject *, struct Sprite *); -u8 sub_806173C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061820(struct MapObject *, struct Sprite *); -u8 sub_806173C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061858(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061890(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80618C8(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061900(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061938(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061970(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80619A8(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_80619E0(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061A18(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061A50(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061A88(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061AC0(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061AF8(struct MapObject *, struct Sprite *); -u8 sub_8061B18(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061B38(struct MapObject *, struct Sprite *); -u8 sub_8061B58(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061B78(struct MapObject *, struct Sprite *); -u8 sub_8061B98(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061BB8(struct MapObject *, struct Sprite *); -u8 sub_8061BD8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061BF8(struct MapObject *, struct Sprite *); -u8 sub_8061C18(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061C38(struct MapObject *, struct Sprite *); -u8 sub_8061C58(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061C78(struct MapObject *, struct Sprite *); -u8 sub_8061C98(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); -u8 sub_8061CB8(struct MapObject *, struct Sprite *); -u8 sub_8061CD8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PauseSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay1_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay2_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay4_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay8_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay16_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); u8 sub_8061CF8(struct MapObject *, struct Sprite *); u8 sub_8061D18(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8061D38(struct MapObject *, struct Sprite *); u8 sub_8061D58(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8061D78(struct MapObject *, struct Sprite *); u8 sub_8061D98(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8061DB8(struct MapObject *, struct Sprite *); u8 sub_8061DD8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 do_run_south_anim(struct MapObject *, struct Sprite *); u8 sub_8061E18(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 do_run_north_anim(struct MapObject *, struct Sprite *); u8 sub_8061E58(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 do_run_west_anim(struct MapObject *, struct Sprite *); u8 sub_8061E98(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 do_run_east_anim(struct MapObject *, struct Sprite *); u8 sub_8061ED8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8061F24(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8061F90(struct MapObject *, struct Sprite *); u8 sub_8061FB0(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8061FD8(struct MapObject *, struct Sprite *); u8 sub_8061FF8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062020(struct MapObject *, struct Sprite *); u8 sub_8062040(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062068(struct MapObject *, struct Sprite *); u8 sub_8062088(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80620B0(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_806210C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062170(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062180(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062190(struct MapObject *, struct Sprite *); u8 sub_80621BC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80621E8(struct MapObject *, struct Sprite *); u8 sub_8062214(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062240(struct MapObject *, struct Sprite *); u8 sub_806226C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062298(struct MapObject *, struct Sprite *); u8 sub_80622C4(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80622F0(struct MapObject *, struct Sprite *); u8 sub_806231C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062348(struct MapObject *, struct Sprite *); u8 sub_8062374(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80623A0(struct MapObject *, struct Sprite *); u8 sub_80623CC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80623F8(struct MapObject *, struct Sprite *); u8 sub_8062424(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062450(struct MapObject *, struct Sprite *); u8 sub_806247C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80624A8(struct MapObject *, struct Sprite *); u8 sub_80624D4(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062500(struct MapObject *, struct Sprite *); u8 sub_806252C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062558(struct MapObject *, struct Sprite *); u8 sub_8062584(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80625B0(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80625C8(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80625D8(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_80625E8(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_80625F8(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_8062608(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_8062634(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_8062644(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 do_exclamation_mark_bubble_1(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 do_exclamation_mark_bubble_2(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 do_heart_bubble(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_80626C0(struct MapObject *, struct Sprite *); u8 sub_8062704(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_8062724(struct MapObject *, struct Sprite *); u8 sub_8062740(struct MapObject *, struct Sprite *); u8 sub_8062764(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_80627A0(struct MapObject *, struct Sprite *); u8 sub_80627BC(struct MapObject *, struct Sprite *); u8 sub_80627E0(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_806281C(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_806282C(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_806283C(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_806286C(struct MapObject *, struct Sprite *); -u8 sub_8063470(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 sub_806289C(struct MapObject *, struct Sprite *); u8 sub_80628D0(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80628FC(struct MapObject *, struct Sprite *); u8 sub_8062930(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_806299C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80629AC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80629BC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80629CC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80629DC(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062A00(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062A24(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062A48(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062A6C(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062A90(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062AB4(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062AD8(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062AFC(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062B20(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062B44(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062B68(struct MapObject *, struct Sprite *); u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062BD0(struct MapObject *, struct Sprite *); u8 sub_8062BFC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062C28(struct MapObject *, struct Sprite *); u8 sub_8062C54(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062C80(struct MapObject *, struct Sprite *); u8 sub_8062CAC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062CD8(struct MapObject *, struct Sprite *); u8 sub_8062D04(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062D30(struct MapObject *, struct Sprite *); u8 sub_8062D5C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062D88(struct MapObject *, struct Sprite *); u8 sub_8062DB4(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062DE0(struct MapObject *, struct Sprite *); u8 sub_8062E0C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062E38(struct MapObject *, struct Sprite *); u8 sub_8062E64(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062E90(struct MapObject *, struct Sprite *); u8 sub_8062EBC(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062EE8(struct MapObject *, struct Sprite *); u8 sub_8062F14(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062F40(struct MapObject *, struct Sprite *); u8 sub_8062F6C(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062F98(struct MapObject *, struct Sprite *); u8 sub_8062FC4(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8062FF0(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 sub_8063028(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 sub_8063060(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 sub_8063098(struct MapObject *, struct Sprite *); -u8 sub_8061714(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 sub_8063108(struct MapObject *, struct Sprite *); u8 sub_8063128(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8063148(struct MapObject *, struct Sprite *); u8 sub_8063168(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8063188(struct MapObject *, struct Sprite *); u8 sub_80631A8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80631C8(struct MapObject *, struct Sprite *); u8 sub_80631E8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8063238(struct MapObject *, struct Sprite *); u8 sub_8063258(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8063278(struct MapObject *, struct Sprite *); u8 sub_8063298(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80632B8(struct MapObject *, struct Sprite *); u8 sub_80632D8(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80632F8(struct MapObject *, struct Sprite *); u8 sub_8063318(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8063370(struct MapObject *, struct Sprite *); u8 sub_8063390(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80633B0(struct MapObject *, struct Sprite *); u8 sub_80633D0(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_80633F0(struct MapObject *, struct Sprite *); u8 sub_8063410(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); u8 sub_8063430(struct MapObject *, struct Sprite *); u8 sub_8063450(struct MapObject *, struct Sprite *); -u8 sub_8063474(struct MapObject *, struct Sprite *); - -u8 (*const Unknown_83759A0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_83759A8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_83759B0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_83759B8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_83759D4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_83759E0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_83759EC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_83759F8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A04[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A10[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A1C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A28[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A40[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A4C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A58[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A64[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A70[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A7C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A88[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375A94[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375AA0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375AAC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375AB8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375AC4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375AD0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375ADC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375AE8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375AF4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B00[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B0C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B18[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B24[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B30[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B3C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B48[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B54[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B60[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B6C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B78[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B84[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B90[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375B9C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BA8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BB4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BC0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BCC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BD8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BE4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BF0[])(struct MapObject *, struct Sprite *); + +u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *); u8 (*const Unknown_8375BFC[])(struct MapObject *, struct Sprite *); u8 (*const Unknown_8375C08[])(struct MapObject *, struct Sprite *); u8 (*const Unknown_8375C14[])(struct MapObject *, struct Sprite *); @@ -547,56 +420,56 @@ u8 (*const Unknown_8375FE4[])(struct MapObject *, struct Sprite *); u8 (*const Unknown_8375FF0[])(struct MapObject *, struct Sprite *); u8 (*const Unknown_8375FFC[])(struct MapObject *, struct Sprite *); -u8 (*const *const gUnknown_08375778[])(struct MapObject *, struct Sprite *) = { - Unknown_83759A0, // face south - Unknown_83759A8, // face north - Unknown_83759B0, // face west - Unknown_83759B8, // face east - Unknown_83759D4, - Unknown_83759E0, - Unknown_83759EC, - Unknown_83759F8, - Unknown_8375A04, - Unknown_8375A10, - Unknown_8375A1C, - Unknown_8375A28, - Unknown_8375A40, - Unknown_8375A4C, - Unknown_8375A58, - Unknown_8375A64, - Unknown_8375A70, - Unknown_8375A7C, - Unknown_8375A88, - Unknown_8375A94, - Unknown_8375AA0, - Unknown_8375AAC, - Unknown_8375AB8, - Unknown_8375AC4, - Unknown_8375AD0, - Unknown_8375ADC, - Unknown_8375AE8, - Unknown_8375AF4, - Unknown_8375B00, - Unknown_8375B0C, - Unknown_8375B18, - Unknown_8375B24, - Unknown_8375B30, - Unknown_8375B3C, - Unknown_8375B48, - Unknown_8375B54, - Unknown_8375B60, - Unknown_8375B6C, - Unknown_8375B78, - Unknown_8375B84, - Unknown_8375B90, - Unknown_8375B9C, - Unknown_8375BA8, - Unknown_8375BB4, - Unknown_8375BC0, - Unknown_8375BCC, - Unknown_8375BD8, - Unknown_8375BE4, - Unknown_8375BF0, +u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { + gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN + gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP + gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT + gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT + gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_DOWN_SLOW + gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_UP_SLOW + gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_LEFT_SLOW + gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_RIGHT_SLOW + gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_DOWN_NORMAL + gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_UP_NORMAL + gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_LEFT_NORMAL + gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_RIGHT_NORMAL + gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN + gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP + gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT + gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT + gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 + gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 + gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 + gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 + gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 + gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN + gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP + gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT + gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN + gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP + gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT + gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT + gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN + gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP + gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT + gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT + gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN + gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP + gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT + gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN + gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP + gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT + gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT + gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN + gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP + gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT + gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT + gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN + gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP + gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT + gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT Unknown_8375BFC, Unknown_8375C08, Unknown_8375C14, @@ -689,831 +562,831 @@ u8 (*const *const gUnknown_08375778[])(struct MapObject *, struct Sprite *) = { }; -u8 (*const Unknown_83759A0[])(struct MapObject *, struct Sprite *) = { - sub_8060CE0, - sub_8063474 +u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceDown_Step0, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_83759A8[])(struct MapObject *, struct Sprite *) = { - sub_8060CF0, - sub_8063474 +u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceUp_Step0, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_83759B0[])(struct MapObject *, struct Sprite *) = { - sub_8060D00, - sub_8063474 +u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceLeft_Step0, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_83759B8[])(struct MapObject *, struct Sprite *) = { - sub_8060D10, - sub_8063474 +u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceRight_Step0, + MovementAction_PauseSpriteAnim }; u8 (*const gUnknown_083759C0[])(u8) = { - get_go_image_anim_num, - get_go_fast_image_anim_num, - get_go_fast_image_anim_num, - get_go_faster_image_anim_num, - sub_805FD78 + GetWalkSlowMovementAction_Extended, + GetWalkNormalMovementAction_Extended, + GetWalkNormalMovementAction_Extended, + GetJump2MovementAction_Extended, + GetDelayMovementAction_Extended }; -u8 (*const Unknown_83759D4[])(struct MapObject *, struct Sprite *) = { - sub_8060F3C, - sub_8060F5C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowDown_Step0, + MovementAction_WalkSlowDown_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_83759E0[])(struct MapObject *, struct Sprite *) = { - sub_8060F7C, - sub_8060F9C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowUp_Step0, + MovementAction_WalkSlowUp_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_83759EC[])(struct MapObject *, struct Sprite *) = { - sub_8060FBC, - sub_8060FDC, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowLeft_Step0, + MovementAction_WalkSlowLeft_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_83759F8[])(struct MapObject *, struct Sprite *) = { - sub_8060FFC, - sub_806101C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowRight_Step0, + MovementAction_WalkSlowRight_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A04[])(struct MapObject *, struct Sprite *) = { - sub_806103C, - sub_806105C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalDown_Step0, + MovementAction_WalkNormalDown_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A10[])(struct MapObject *, struct Sprite *) = { - sub_806107C, - sub_806109C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalUp_Step0, + MovementAction_WalkNormalUp_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A1C[])(struct MapObject *, struct Sprite *) = { - sub_80610BC, - sub_80610DC, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalLeft_Step0, + MovementAction_WalkNormalLeft_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A28[])(struct MapObject *, struct Sprite *) = { - sub_80610FC, - sub_806111C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalRight_Step0, + MovementAction_WalkNormalRight_Step1, + MovementAction_PauseSpriteAnim }; const s16 gUnknown_08375A34[] = {0, 1, 1}; const s16 gUnknown_08375A3A[] = {0, 0, 1}; -u8 (*const Unknown_8375A40[])(struct MapObject *, struct Sprite *) = { - sub_80613A8, - sub_80613D4, - sub_8063474 +u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Down_Step0, + MovementAction_Jump2Down_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A4C[])(struct MapObject *, struct Sprite *) = { - sub_8061400, - sub_806142C, - sub_8063474 +u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Up_Step0, + MovementAction_Jump2Up_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A58[])(struct MapObject *, struct Sprite *) = { - sub_8061458, - sub_8061484, - sub_8063474 +u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Left_Step0, + MovementAction_Jump2Left_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A64[])(struct MapObject *, struct Sprite *) = { - sub_80614B0, - sub_80614DC, - sub_8063474 +u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Right_Step0, + MovementAction_Jump2Right_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375A70[])(struct MapObject *, struct Sprite *) = { - sub_806152C, - sub_8061510, - sub_8063470 +u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay1_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish }; -u8 (*const Unknown_8375A7C[])(struct MapObject *, struct Sprite *) = { - sub_806154C, - sub_8061510, - sub_8063470 +u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay2_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish }; -u8 (*const Unknown_8375A88[])(struct MapObject *, struct Sprite *) = { - sub_806156C, - sub_8061510, - sub_8063470 +u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay4_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish }; -u8 (*const Unknown_8375A94[])(struct MapObject *, struct Sprite *) = { - sub_806158C, - sub_8061510, - sub_8063470 +u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay8_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish }; -u8 (*const Unknown_8375AA0[])(struct MapObject *, struct Sprite *) = { - sub_80615AC, - sub_8061510, - sub_8063470 +u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay16_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish }; -u8 (*const Unknown_8375AAC[])(struct MapObject *, struct Sprite *) = { - sub_80615CC, - sub_80615EC, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastDown_Step0, + MovementAction_WalkFastDown_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375AB8[])(struct MapObject *, struct Sprite *) = { - sub_806160C, - sub_806162C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastUp_Step0, + MovementAction_WalkFastUp_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375AC4[])(struct MapObject *, struct Sprite *) = { - sub_806164C, - sub_806166C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastLeft_Step0, + MovementAction_WalkFastLeft_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375AD0[])(struct MapObject *, struct Sprite *) = { - sub_806168C, - sub_80616AC, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastRight_Step0, + MovementAction_WalkFastRight_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375ADC[])(struct MapObject *, struct Sprite *) = { - sub_8061778, - sub_806173C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowDown_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375AE8[])(struct MapObject *, struct Sprite *) = { - sub_80617B0, - sub_806173C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowUp_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375AF4[])(struct MapObject *, struct Sprite *) = { - sub_80617E8, - sub_806173C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowLeft_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B00[])(struct MapObject *, struct Sprite *) = { - sub_8061820, - sub_806173C, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowRight_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B0C[])(struct MapObject *, struct Sprite *) = { - sub_8061858, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B18[])(struct MapObject *, struct Sprite *) = { - sub_8061890, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B24[])(struct MapObject *, struct Sprite *) = { - sub_80618C8, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B30[])(struct MapObject *, struct Sprite *) = { - sub_8061900, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B3C[])(struct MapObject *, struct Sprite *) = { - sub_8061938, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B48[])(struct MapObject *, struct Sprite *) = { - sub_8061970, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B54[])(struct MapObject *, struct Sprite *) = { - sub_80619A8, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B60[])(struct MapObject *, struct Sprite *) = { - sub_80619E0, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B6C[])(struct MapObject *, struct Sprite *) = { - sub_8061A18, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B78[])(struct MapObject *, struct Sprite *) = { - sub_8061A50, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B84[])(struct MapObject *, struct Sprite *) = { - sub_8061A88, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B90[])(struct MapObject *, struct Sprite *) = { - sub_8061AC0, - sub_8061714, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375B9C[])(struct MapObject *, struct Sprite *) = { - sub_8061AF8, - sub_8061B18, - sub_8063474 +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentDown_Step0, + MovementAction_RideWaterCurrentDown_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BA8[])(struct MapObject *, struct Sprite *) = { - sub_8061B38, - sub_8061B58, - sub_8063474 +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentUp_Step0, + MovementAction_RideWaterCurrentUp_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BB4[])(struct MapObject *, struct Sprite *) = { - sub_8061B78, - sub_8061B98, - sub_8063474 +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentLeft_Step0, + MovementAction_RideWaterCurrentLeft_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BC0[])(struct MapObject *, struct Sprite *) = { - sub_8061BB8, - sub_8061BD8, - sub_8063474 +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentRight_Step0, + MovementAction_RideWaterCurrentRight_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BCC[])(struct MapObject *, struct Sprite *) = { - sub_8061BF8, - sub_8061C18, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestDown_Step0, + MovementAction_WalkFastestDown_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BD8[])(struct MapObject *, struct Sprite *) = { - sub_8061C38, - sub_8061C58, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestUp_Step0, + MovementAction_WalkFastestUp_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BE4[])(struct MapObject *, struct Sprite *) = { - sub_8061C78, - sub_8061C98, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestLeft_Step0, + MovementAction_WalkFastestLeft_Step1, + MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BF0[])(struct MapObject *, struct Sprite *) = { - sub_8061CB8, - sub_8061CD8, - sub_8063474 +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestRight_Step0, + MovementAction_WalkFastestRight_Step1, + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375BFC[])(struct MapObject *, struct Sprite *) = { sub_8061CF8, sub_8061D18, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C08[])(struct MapObject *, struct Sprite *) = { sub_8061D38, sub_8061D58, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C14[])(struct MapObject *, struct Sprite *) = { sub_8061D78, sub_8061D98, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C20[])(struct MapObject *, struct Sprite *) = { sub_8061DB8, sub_8061DD8, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C2C[])(struct MapObject *, struct Sprite *) = { do_run_south_anim, sub_8061E18, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C38[])(struct MapObject *, struct Sprite *) = { do_run_north_anim, sub_8061E58, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C44[])(struct MapObject *, struct Sprite *) = { do_run_west_anim, sub_8061E98, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C50[])(struct MapObject *, struct Sprite *) = { do_run_east_anim, sub_8061ED8, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C5C[])(struct MapObject *, struct Sprite *) = { sub_8061F24, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C68[])(struct MapObject *, struct Sprite *) = { sub_8061F90, sub_8061FB0, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C74[])(struct MapObject *, struct Sprite *) = { sub_8061FD8, sub_8061FF8, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C80[])(struct MapObject *, struct Sprite *) = { sub_8062020, sub_8062040, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C8C[])(struct MapObject *, struct Sprite *) = { sub_8062068, sub_8062088, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C98[])(struct MapObject *, struct Sprite *) = { sub_80620B0, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CA0[])(struct MapObject *, struct Sprite *) = { sub_806210C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CA8[])(struct MapObject *, struct Sprite *) = { sub_8062170, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CB0[])(struct MapObject *, struct Sprite *) = { sub_8062180, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CB8[])(struct MapObject *, struct Sprite *) = { sub_8062190, sub_80621BC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CC4[])(struct MapObject *, struct Sprite *) = { sub_80621E8, sub_8062214, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CD0[])(struct MapObject *, struct Sprite *) = { sub_8062240, sub_806226C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CDC[])(struct MapObject *, struct Sprite *) = { sub_8062298, sub_80622C4, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CE8[])(struct MapObject *, struct Sprite *) = { sub_80622F0, sub_806231C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375CF4[])(struct MapObject *, struct Sprite *) = { sub_8062348, sub_8062374, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D00[])(struct MapObject *, struct Sprite *) = { sub_80623A0, sub_80623CC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D0C[])(struct MapObject *, struct Sprite *) = { sub_80623F8, sub_8062424, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D18[])(struct MapObject *, struct Sprite *) = { sub_8062450, sub_806247C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D24[])(struct MapObject *, struct Sprite *) = { sub_80624A8, sub_80624D4, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D30[])(struct MapObject *, struct Sprite *) = { sub_8062500, sub_806252C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D3C[])(struct MapObject *, struct Sprite *) = { sub_8062558, sub_8062584, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D48[])(struct MapObject *, struct Sprite *) = { sub_80625B0, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D50[])(struct MapObject *, struct Sprite *) = { sub_80625C8, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375D5C[])(struct MapObject *, struct Sprite *) = { sub_80625D8, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D64[])(struct MapObject *, struct Sprite *) = { sub_80625E8, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D6C[])(struct MapObject *, struct Sprite *) = { sub_80625F8, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D74[])(struct MapObject *, struct Sprite *) = { sub_8062608, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D7C[])(struct MapObject *, struct Sprite *) = { sub_8062634, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D84[])(struct MapObject *, struct Sprite *) = { sub_8062644, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D8C[])(struct MapObject *, struct Sprite *) = { do_exclamation_mark_bubble_1, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D94[])(struct MapObject *, struct Sprite *) = { do_exclamation_mark_bubble_2, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375D9C[])(struct MapObject *, struct Sprite *) = { do_heart_bubble, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DA4[])(struct MapObject *, struct Sprite *) = { sub_80626C0, sub_8062704, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DB0[])(struct MapObject *, struct Sprite *) = { sub_8062724, sub_8062740, sub_8062764, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DC0[])(struct MapObject *, struct Sprite *) = { sub_80627A0, sub_80627BC, sub_80627E0, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DD0[])(struct MapObject *, struct Sprite *) = { sub_806281C, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DD8[])(struct MapObject *, struct Sprite *) = { sub_806282C, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DE0[])(struct MapObject *, struct Sprite *) = { sub_806283C, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DE8[])(struct MapObject *, struct Sprite *) = { sub_806286C, - sub_8063470 + MovementAction_Finish }; u8 (*const Unknown_8375DF0[])(struct MapObject *, struct Sprite *) = { sub_806289C, sub_80628D0, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375DFC[])(struct MapObject *, struct Sprite *) = { sub_80628FC, sub_8062930, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E08[])(struct MapObject *, struct Sprite *) = { sub_806299C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E10[])(struct MapObject *, struct Sprite *) = { sub_80629AC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E18[])(struct MapObject *, struct Sprite *) = { sub_80629BC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E20[])(struct MapObject *, struct Sprite *) = { sub_80629CC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E28[])(struct MapObject *, struct Sprite *) = { sub_80629DC, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E34[])(struct MapObject *, struct Sprite *) = { sub_8062A00, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E40[])(struct MapObject *, struct Sprite *) = { sub_8062A24, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E4C[])(struct MapObject *, struct Sprite *) = { sub_8062A48, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E58[])(struct MapObject *, struct Sprite *) = { sub_8062A6C, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E64[])(struct MapObject *, struct Sprite *) = { sub_8062A90, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E70[])(struct MapObject *, struct Sprite *) = { sub_8062AB4, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375E7C[])(struct MapObject *, struct Sprite *) = { sub_8062AD8, sub_8061F3C, - sub_8063474, + MovementAction_PauseSpriteAnim, sub_8062AFC, sub_8061F3C, - sub_8063474, + MovementAction_PauseSpriteAnim, sub_8062B20, sub_8061F3C, - sub_8063474, + MovementAction_PauseSpriteAnim, sub_8062B44, sub_8061F3C, - sub_8063474, + MovementAction_PauseSpriteAnim, sub_8062B68, sub_8061F3C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375EB8[])(struct MapObject *, struct Sprite *) = { sub_8062BD0, sub_8062BFC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375EC4[])(struct MapObject *, struct Sprite *) = { sub_8062C28, sub_8062C54, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375ED0[])(struct MapObject *, struct Sprite *) = { sub_8062C80, sub_8062CAC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375EDC[])(struct MapObject *, struct Sprite *) = { sub_8062CD8, sub_8062D04, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375EE8[])(struct MapObject *, struct Sprite *) = { sub_8062D30, sub_8062D5C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375EF4[])(struct MapObject *, struct Sprite *) = { sub_8062D88, sub_8062DB4, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F00[])(struct MapObject *, struct Sprite *) = { sub_8062DE0, sub_8062E0C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F0C[])(struct MapObject *, struct Sprite *) = { sub_8062E38, sub_8062E64, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F18[])(struct MapObject *, struct Sprite *) = { sub_8062E90, sub_8062EBC, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F24[])(struct MapObject *, struct Sprite *) = { sub_8062EE8, sub_8062F14, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F30[])(struct MapObject *, struct Sprite *) = { sub_8062F40, sub_8062F6C, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F3C[])(struct MapObject *, struct Sprite *) = { sub_8062F98, sub_8062FC4, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F48[])(struct MapObject *, struct Sprite *) = { sub_8062FF0, - sub_8061714, - sub_8063474 + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F54[])(struct MapObject *, struct Sprite *) = { sub_8063028, - sub_8061714, - sub_8063474 + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F60[])(struct MapObject *, struct Sprite *) = { sub_8063060, - sub_8061714, - sub_8063474 + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F6C[])(struct MapObject *, struct Sprite *) = { sub_8063098, - sub_8061714, - sub_8063474 + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F78[])(struct MapObject *, struct Sprite *) = { sub_8063108, sub_8063128, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F84[])(struct MapObject *, struct Sprite *) = { sub_8063148, sub_8063168, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F90[])(struct MapObject *, struct Sprite *) = { sub_8063188, sub_80631A8, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375F9C[])(struct MapObject *, struct Sprite *) = { sub_80631C8, sub_80631E8, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FA8[])(struct MapObject *, struct Sprite *) = { sub_8063238, sub_8063258, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FB4[])(struct MapObject *, struct Sprite *) = { sub_8063278, sub_8063298, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FC0[])(struct MapObject *, struct Sprite *) = { sub_80632B8, sub_80632D8, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FCC[])(struct MapObject *, struct Sprite *) = { sub_80632F8, sub_8063318, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FD8[])(struct MapObject *, struct Sprite *) = { sub_8063370, sub_8063390, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FE4[])(struct MapObject *, struct Sprite *) = { sub_80633B0, sub_80633D0, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FF0[])(struct MapObject *, struct Sprite *) = { sub_80633F0, sub_8063410, - sub_8063474 + MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375FFC[])(struct MapObject *, struct Sprite *) = { sub_8063430, sub_8063450, - sub_8063474 + MovementAction_PauseSpriteAnim }; #endif //POKERUBY_ANIM_FUNC_PTRS_H diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 35cfcbd0f..8613f1f03 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1958,13 +1958,73 @@ const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; #include "data/field_map_obj/callback_subroutine_pointers.h" -const u8 gUnknown_083755F4[] = {0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01}; -const u8 gUnknown_083755FD[] = {0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05}; -const u8 gUnknown_08375606[] = {0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09}; -const u8 gUnknown_0837560F[] = {0x0C, 0x0C, 0x0D, 0x0E, 0x0F, 0x0C, 0x0C, 0x0D, 0x0D}; -const u8 gUnknown_08375618[] = {0x10, 0x10, 0x11, 0x12, 0x13, 0x10, 0x10, 0x11, 0x11}; -const u8 gUnknown_08375621[] = {0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15}; -const u8 gUnknown_0837562A[] = {0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15}; +const u8 gFaceDirectionMovementActions_Extended[] = { + MOVEMENT_ACTION_FACE_DOWN, // DIR_NONE + MOVEMENT_ACTION_FACE_DOWN, // DIR_SOUTH + MOVEMENT_ACTION_FACE_UP, // DIR_NORTH + MOVEMENT_ACTION_FACE_LEFT, // DIR_WEST + MOVEMENT_ACTION_FACE_RIGHT, // DIR_EAST + MOVEMENT_ACTION_FACE_DOWN, // DIR_SOUTHWEST + MOVEMENT_ACTION_FACE_DOWN, // DIR_SOUTHEAST + MOVEMENT_ACTION_FACE_UP, // DIR_NORTHWEST + MOVEMENT_ACTION_FACE_UP, // DIR_NORTHEAST +}; +const u8 gWalkSlowMovementActions_Extended[] = { + MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_NONE + MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_SOUTH + MOVEMENT_ACTION_WALK_SLOW_UP, // DIR_NORTH + MOVEMENT_ACTION_WALK_SLOW_LEFT, // DIR_WEST + MOVEMENT_ACTION_WALK_SLOW_RIGHT, // DIR_EAST + MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_SOUTHWEST + MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_SOUTHEAST + MOVEMENT_ACTION_WALK_SLOW_UP, // DIR_NORTHWEST + MOVEMENT_ACTION_WALK_SLOW_UP, // DIR_NORTHEAST +}; +const u8 gWalkNormalMovementActions_Extended[] = { + MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_NONE + MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_SOUTH + MOVEMENT_ACTION_WALK_NORMAL_UP, // DIR_NORTH + MOVEMENT_ACTION_WALK_NORMAL_LEFT, // DIR_WEST + MOVEMENT_ACTION_WALK_NORMAL_RIGHT, // DIR_EAST + MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_SOUTHWEST + MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_SOUTHEAST + MOVEMENT_ACTION_WALK_NORMAL_UP, // DIR_NORTHWEST + MOVEMENT_ACTION_WALK_NORMAL_UP, // DIR_NORTHEAST +}; +const u8 gJump2MovementActions_Extended[] = { + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_UP, + MOVEMENT_ACTION_JUMP_2_LEFT, + MOVEMENT_ACTION_JUMP_2_RIGHT, + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_UP, + MOVEMENT_ACTION_JUMP_2_UP, +}; +const u8 gDelayMovementActions_Extended[] = { // TODO: why would delays be mapped to directions? + MOVEMENT_ACTION_DELAY_1, + MOVEMENT_ACTION_DELAY_1, + MOVEMENT_ACTION_DELAY_2, + MOVEMENT_ACTION_DELAY_4, + MOVEMENT_ACTION_DELAY_8, + MOVEMENT_ACTION_DELAY_1, + MOVEMENT_ACTION_DELAY_1, + MOVEMENT_ACTION_DELAY_2, + MOVEMENT_ACTION_DELAY_2, +}; +const u8 gWalkFastMovementActions_Extended[] = { // TODO: this is broken. It appears like an additional Delay movement type was added late into development, which shifted these arrays off, but they were hardcoded. + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_UP, + MOVEMENT_ACTION_WALK_FAST_LEFT, + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_DELAY_16, + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_DOWN, +}; +const u8 gWalkFastMovementActions_Extended2[] = {0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15}; const u8 gUnknown_08375633[] = {0x18, 0x18, 0x19, 0x1A, 0x1B, 0x18, 0x18, 0x19, 0x19}; const u8 gUnknown_0837563C[] = {0x1C, 0x1C, 0x1D, 0x1E, 0x1F, 0x1C, 0x1C, 0x1D, 0x1D}; const u8 gUnknown_08375645[] = {0x20, 0x20, 0x21, 0x22, 0x23, 0x20, 0x20, 0x21, 0x21}; @@ -1975,21 +2035,21 @@ const u8 gUnknown_08375669[] = {0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, const u8 gUnknown_08375672[] = {0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15}; const u8 gUnknown_0837567B[] = {0x08, 0x08, 0x07, 0x09, 0x0A, 0x08, 0x08, 0x07, 0x07}; -bool8 (*const gUnknown_08375684[])(u8) = { +bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = { MetatileBehavior_IsSouthBlocked, MetatileBehavior_IsNorthBlocked, MetatileBehavior_IsWestBlocked, MetatileBehavior_IsEastBlocked }; -bool8 (*const gUnknown_08375694[])(u8) = { +bool8 (*const gDirectionBlockedMetatileFuncs[])(u8) = { MetatileBehavior_IsNorthBlocked, MetatileBehavior_IsSouthBlocked, MetatileBehavior_IsEastBlocked, MetatileBehavior_IsWestBlocked }; -const struct Coords16 gDirectionToVector[] = { +const struct Coords16 gDirectionToVectors[] = { { 0, 0}, { 0, 1}, { 0, -1}, @@ -2001,23 +2061,89 @@ const struct Coords16 gDirectionToVector[] = { { 1, -1} }; -const u8 gUnknown_083756C8[] = {0x00, 0x00, 0x01, 0x02, 0x03}; -const u8 gUnknown_083756CD[] = {0x04, 0x04, 0x05, 0x06, 0x07}; -const u8 gUnknown_083756D2[] = {0x08, 0x08, 0x09, 0x0A, 0x0B}; -const u8 gUnknown_083756D7[] = {0x15, 0x15, 0x16, 0x17, 0x18}; -const u8 gUnknown_083756DC[] = {0x29, 0x29, 0x2A, 0x2B, 0x2C}; -const u8 gUnknown_083756E1[] = {0x2D, 0x2D, 0x2E, 0x2F, 0x30}; +const u8 gFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_FACE_DOWN, + MOVEMENT_ACTION_FACE_DOWN, + MOVEMENT_ACTION_FACE_UP, + MOVEMENT_ACTION_FACE_LEFT, + MOVEMENT_ACTION_FACE_RIGHT, +}; +const u8 gWalkSlowMovementActions[] = { + MOVEMENT_ACTION_WALK_SLOW_DOWN, + MOVEMENT_ACTION_WALK_SLOW_DOWN, + MOVEMENT_ACTION_WALK_SLOW_UP, + MOVEMENT_ACTION_WALK_SLOW_LEFT, + MOVEMENT_ACTION_WALK_SLOW_RIGHT, +}; +const u8 gWalkNormalMovementActions[] = { + MOVEMENT_ACTION_WALK_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_NORMAL_UP, + MOVEMENT_ACTION_WALK_NORMAL_LEFT, + MOVEMENT_ACTION_WALK_NORMAL_RIGHT, +}; +const u8 gWalkFastMovementActions[] = { + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_UP, + MOVEMENT_ACTION_WALK_FAST_LEFT, + MOVEMENT_ACTION_WALK_FAST_RIGHT, +}; +const u8 gRideWaterCurrentMovementActions[] = { + MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, +}; +const u8 gWalkFastestMovementActions[] = { + MOVEMENT_ACTION_WALK_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_FASTEST_UP, + MOVEMENT_ACTION_WALK_FASTEST_LEFT, + MOVEMENT_ACTION_WALK_FASTEST_RIGHT, +}; const u8 gUnknown_083756E6[] = {0x31, 0x31, 0x32, 0x33, 0x34}; const u8 gUnknown_083756EB[] = {0x35, 0x35, 0x36, 0x37, 0x38}; -const u8 gUnknown_083756F0[] = {0x0C, 0x0C, 0x0D, 0x0E, 0x0F}; +const u8 gJump2MovementActions[] = { + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_UP, + MOVEMENT_ACTION_JUMP_2_LEFT, + MOVEMENT_ACTION_JUMP_2_RIGHT, +}; const u8 gUnknown_083756F5[] = {0x46, 0x46, 0x47, 0x48, 0x49}; const u8 gUnknown_083756FA[] = {0x4B, 0x4B, 0x4A, 0x4D, 0x4C}; const u8 gUnknown_083756FF[] = {0x42, 0x42, 0x43, 0x44, 0x45}; const u8 gUnknown_08375704[] = {0x3A, 0x3A, 0x3B, 0x3C, 0x3D}; -const u8 gUnknown_08375709[] = {0x19, 0x19, 0x1A, 0x1B, 0x1C}; -const u8 gUnknown_0837570E[] = {0x1D, 0x1D, 0x1E, 0x1F, 0x20}; -const u8 gUnknown_08375713[] = {0x21, 0x21, 0x22, 0x23, 0x24}; -const u8 gUnknown_08375718[] = {0x25, 0x25, 0x26, 0x27, 0x28}; +const u8 gWalkInPlaceSlowMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, +}; +const u8 gWalkInPlaceNormalMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, +}; +const u8 gWalkInPlaceFastMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, +}; +const u8 gWalkInPlaceFastestMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT, +}; const u8 gUnknown_0837571D[] = {0x62, 0x62, 0x63, 0x64, 0x65}; const u8 gUnknown_08375722[] = {0x66, 0x66, 0x67, 0x68, 0x69}; const u8 gUnknown_08375727[] = {0x6A, 0x6A, 0x6B, 0x6C, 0x6D}; @@ -2029,7 +2155,16 @@ const u8 gUnknown_08375740[] = {0x7E, 0x7E, 0x7F, 0x80, 0x81}; const u8 gUnknown_08375745[] = {0x82, 0x82, 0x83, 0x84, 0x85}; const u8 gUnknown_0837574A[] = {0x86, 0x86, 0x87, 0x88, 0x89}; -const u8 gUnknown_0837574F[] = {2, 1, 4, 3, 8, 7, 6, 5}; +const u8 gOppositeDirections[] = { + DIR_NORTH, + DIR_SOUTH, + DIR_EAST, + DIR_WEST, + DIR_NORTHEAST, + DIR_NORTHWEST, + DIR_SOUTHEAST, + DIR_SOUTHWEST +}; const u8 gUnknown_08375757[][4] = { {2, 1, 4, 3}, @@ -2358,7 +2493,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * mapObject->spriteId = spriteId; mapObject->inanimate = gfxInfo->inanimate; if (!mapObject->inanimate) - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); + StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(mapObject->facingDirection)); SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); sub_80634D0(mapObject, sprite); return mapObjectId; @@ -2469,7 +2604,7 @@ u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x return spriteId; } -extern void sub_8064970(struct Sprite *); +extern void UpdateFieldSpriteSubpriorityAndVisibility(struct Sprite *); extern void sub_8060470(s16 *, s16 *, s16, s16); void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); @@ -2481,7 +2616,7 @@ u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) u8 spriteId; gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sub_8064970, &spriteTemplate, &subspriteTables); + MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, UpdateFieldSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables); #ifdef NONMATCHING spriteTemplate.paletteTag = 0xFFFF; #else @@ -2511,7 +2646,7 @@ u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) } InitObjectPriorityByZCoord(sprite, elevation); SetObjectSubpriorityByZCoord(elevation, sprite, 1); - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(direction)); + StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(direction)); } return spriteId; } @@ -2662,7 +2797,7 @@ void sub_805B75C(u8 mapObjectId, s16 b, s16 c) sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; if (!mapObject->inanimate && mapObject->movementType != MOVEMENT_TYPE_PLAYER) - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); + StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(mapObject->facingDirection)); sub_805B914(mapObject); SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); } @@ -2730,7 +2865,7 @@ void FieldObjectTurn(struct MapObject *mapObject, u8 direction) FieldObjectSetDirection(mapObject, direction); if (!mapObject->inanimate) { - StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); + StartSpriteAnim(&gSprites[mapObject->spriteId], GetFaceDirectionMovementAction_Extended(mapObject->facingDirection)); SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); } } @@ -3360,7 +3495,7 @@ extern void FieldObjectSetSingleMovement(struct MapObject *, struct Sprite *, u8 u8 MovementType_WanderAround_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3410,7 +3545,7 @@ u8 MovementType_WanderAround_Step4(struct MapObject *mapObject, struct Sprite *s u8 MovementType_WanderAround_Step5(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(mapObject->movementDirection)); mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; @@ -3674,7 +3809,7 @@ u8 MovementType_LookAround_Step0(struct MapObject *mapObject, struct Sprite *spr u8 MovementType_LookAround_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3706,7 +3841,7 @@ u8 MovementType_LookAround_Step4(struct MapObject *mapObject, struct Sprite *spr u8 directions[4]; memcpy(directions, gStandardDirections, 4); direction = sub_805CD60(mapObject, 0); - if (direction == 0) + if (direction == DIR_NONE) direction = directions[Random() & 3]; FieldObjectSetDirection(mapObject, direction); @@ -3725,7 +3860,7 @@ u8 MovementType_WanderUpAndDown_Step0(struct MapObject *mapObject, struct Sprite u8 MovementType_WanderUpAndDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3768,7 +3903,7 @@ u8 MovementType_WanderUpAndDown_Step4(struct MapObject *mapObject, struct Sprite u8 MovementType_WanderUpAndDown_Step5(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(mapObject->movementDirection)); mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; @@ -3795,7 +3930,7 @@ u8 MovementType_WanderLeftAndRight_Step0(struct MapObject *mapObject, struct Spr u8 MovementType_WanderLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -3838,7 +3973,7 @@ u8 MovementType_WanderLeftAndRight_Step4(struct MapObject *mapObject, struct Spr u8 MovementType_WanderLeftAndRight_Step5(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(mapObject->movementDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(mapObject->movementDirection)); mapObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; @@ -3859,7 +3994,7 @@ fieldmap_object_cb(MovementType_FaceDirection, MovementType_FaceDirection_Callba u8 MovementType_FaceDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -3997,7 +4132,7 @@ u8 MovementType_FaceDownAndUp_Step0(struct MapObject *mapObject, struct Sprite * u8 MovementType_FaceDownAndUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4029,7 +4164,7 @@ u8 MovementType_FaceDownAndUp_Step4(struct MapObject *mapObject, struct Sprite * u8 directions[2]; memcpy(directions, gUpAndDownDirections, 2); direction = sub_805CD60(mapObject, 1); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 1]; } @@ -4049,7 +4184,7 @@ u8 MovementType_FaceLeftAndRight_Step0(struct MapObject *mapObject, struct Sprit u8 MovementType_FaceLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4081,7 +4216,7 @@ u8 MovementType_FaceLeftAndRight_Step4(struct MapObject *mapObject, struct Sprit u8 directions[2]; memcpy(directions, gLeftAndRightDirections, 2); direction = sub_805CD60(mapObject, 2); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 1]; } @@ -4101,7 +4236,7 @@ u8 MovementType_FaceUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite * u8 MovementType_FaceUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4133,7 +4268,7 @@ u8 MovementType_FaceUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite * u8 directions[2]; memcpy(directions, gUpAndLeftDirections, 2); direction = sub_805CD60(mapObject, 3); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 1]; } @@ -4153,7 +4288,7 @@ u8 MovementType_FaceUpAndRight_Step0(struct MapObject *mapObject, struct Sprite u8 MovementType_FaceUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4185,7 +4320,7 @@ u8 MovementType_FaceUpAndRight_Step4(struct MapObject *mapObject, struct Sprite u8 directions[2]; memcpy(directions, gUpAndRightDirections, 2); direction = sub_805CD60(mapObject, 4); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 1]; } @@ -4205,7 +4340,7 @@ u8 MovementType_FaceDownAndLeft_Step0(struct MapObject *mapObject, struct Sprite u8 MovementType_FaceDownAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4237,7 +4372,7 @@ u8 MovementType_FaceDownAndLeft_Step4(struct MapObject *mapObject, struct Sprite u8 directions[2]; memcpy(directions, gDownAndLeftDirections, 2); direction = sub_805CD60(mapObject, 5); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 1]; } @@ -4257,7 +4392,7 @@ u8 MovementType_FaceDownAndRight_Step0(struct MapObject *mapObject, struct Sprit u8 MovementType_FaceDownAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4289,7 +4424,7 @@ u8 MovementType_FaceDownAndRight_Step4(struct MapObject *mapObject, struct Sprit u8 directions[2]; memcpy(directions, gDownAndRightDirections, 2); direction = sub_805CD60(mapObject, 6); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 1]; } @@ -4309,7 +4444,7 @@ u8 MovementType_FaceDownUpAndLeft_Step0(struct MapObject *mapObject, struct Spri u8 MovementType_FaceDownUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4341,7 +4476,7 @@ u8 MovementType_FaceDownUpAndLeft_Step4(struct MapObject *mapObject, struct Spri u8 directions[4]; memcpy(directions, gDownUpAndLeftDirections, 4); direction = sub_805CD60(mapObject, 7); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 3]; } @@ -4361,7 +4496,7 @@ u8 MovementType_FaceDownUpAndRight_Step0(struct MapObject *mapObject, struct Spr u8 MovementType_FaceDownUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4393,7 +4528,7 @@ u8 MovementType_FaceDownUpAndRight_Step4(struct MapObject *mapObject, struct Spr u8 directions[4]; memcpy(directions, gDownUpAndRightDirections, 4); direction = sub_805CD60(mapObject, 8); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 3]; } @@ -4413,7 +4548,7 @@ u8 MovementType_FaceUpLeftAndRight_Step0(struct MapObject *mapObject, struct Spr u8 MovementType_FaceUpLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4445,7 +4580,7 @@ u8 MovementType_FaceUpLeftAndRight_Step4(struct MapObject *mapObject, struct Spr u8 directions[4]; memcpy(directions, gUpLeftAndRightDirections, 4); direction = sub_805CD60(mapObject, 9); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 3]; } @@ -4465,7 +4600,7 @@ u8 MovementType_FaceDownLeftAndRight_Step0(struct MapObject *mapObject, struct S u8 MovementType_FaceDownLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 2; return 1; } @@ -4497,7 +4632,7 @@ u8 MovementType_FaceDownLeftAndRight_Step4(struct MapObject *mapObject, struct S u8 directions[4]; memcpy(directions, gDownLeftAndRightDirections, 4); direction = sub_805CD60(mapObject, 10); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[Random() & 3]; } @@ -4511,7 +4646,7 @@ fieldmap_object_cb(MovementType_RotateCounterclockwise, MovementType_RotateCount u8 MovementType_RotateCounterclockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -4541,7 +4676,7 @@ u8 MovementType_RotateCounterclockwise_Step3(struct MapObject *mapObject, struct u8 directions[5]; memcpy(directions, gCounterclockwiseDirections, 5); direction = sub_805CD60(mapObject, 0); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[mapObject->facingDirection]; } @@ -4555,7 +4690,7 @@ fieldmap_object_cb(MovementType_RotateClockwise, MovementType_RotateClockwise_Ca u8 MovementType_RotateClockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -4585,7 +4720,7 @@ u8 MovementType_RotateClockwise_Step3(struct MapObject *mapObject, struct Sprite u8 directions[5]; memcpy(directions, gClockwiseDirections, 5); direction = sub_805CD60(mapObject, 0); - if (direction == 0) + if (direction == DIR_NONE) { direction = directions[mapObject->facingDirection]; } @@ -4626,17 +4761,17 @@ u8 MovementType_WalkBackAndForth_Step2(struct MapObject *mapObject, struct Sprit FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); } collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); - movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); if (collisionState == 1) { mapObject->directionSequenceIndex++; FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); } if (collisionState != 0) { - movementActionId = GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(mapObject->facingDirection); } FieldObjectSetSingleMovement(mapObject, sprite, movementActionId); mapObject->singleMovementActive = 1; @@ -4670,18 +4805,18 @@ u8 MoveNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprit mapObject->directionSequenceIndex = 0; } FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); - movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); if (collisionState == 1) { mapObject->directionSequenceIndex++; FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); - movementActionId = GetGoSpeed0MovementActionId(mapObject->movementDirection); + movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); } if (collisionState != 0) { - movementActionId = GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(mapObject->facingDirection); } FieldObjectSetSingleMovement(mapObject, sprite, movementActionId); mapObject->singleMovementActive = 1; @@ -5050,7 +5185,7 @@ bool8 CopyablePlayerMovement_None(struct MapObject *mapObject, struct Sprite *sp bool8 CopyablePlayerMovement_FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); mapObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; @@ -5065,10 +5200,10 @@ bool8 CopyablePlayerMovement_GoSpeed0(struct MapObject *mapObject, struct Sprite direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, GetGoSpeed0MovementActionId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); } mapObject->singleMovementActive = 1; sprite->data[1] = 2; @@ -5084,10 +5219,10 @@ bool8 CopyablePlayerMovement_GoSpeed1(struct MapObject *mapObject, struct Sprite direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, sub_8060744(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkFastMovementAction(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; @@ -5103,10 +5238,10 @@ bool8 CopyablePlayerMovement_GoSpeed2(struct MapObject *mapObject, struct Sprite direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, sub_806079C(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkFastestMovementAction(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; @@ -5125,7 +5260,7 @@ bool8 CopyablePlayerMovement_GoSpeed3(struct MapObject *mapObject, struct Sprite FieldObjectSetSingleMovement(mapObject, sprite, sub_80607C8(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; @@ -5156,7 +5291,7 @@ bool8 CopyablePlayerMovement_GoSpeed4(struct MapObject *mapObject, struct Sprite FieldObjectSetSingleMovement(mapObject, sprite, sub_80608A4(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; @@ -5174,10 +5309,10 @@ bool8 CopyablePlayerMovement_Jump(struct MapObject *mapObject, struct Sprite *sp x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; sub_8060320(direction, &x, &y, 2, 2); - FieldObjectSetSingleMovement(mapObject, sprite, GetJumpLedgeAnimId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetJump2MovementAction(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); } mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; @@ -5270,7 +5405,7 @@ fieldmap_object_cb(MovementType_WalkInPlace, MovementType_WalkInPlace_Callback, u8 MovementType_WalkInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay16MovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceNormalMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5280,7 +5415,7 @@ fieldmap_object_cb(MovementType_JogInPlace, MovementType_JogInPlace_Callback, gM u8 MovementType_JogInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceFastMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5290,7 +5425,7 @@ fieldmap_object_cb(MovementType_RunInPlace, MovementType_RunInPlace_Callback, gM u8 MovementType_RunInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceFastestMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } @@ -5300,7 +5435,7 @@ fieldmap_object_cb(MovementType_Invisible, MovementType_Invisible_Callback, gMov u8 MovementType_Invisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementActionId(mapObject->facingDirection)); + FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); mapObject->invisible = 1; sprite->data[1] = 1; return 1; @@ -5331,39 +5466,39 @@ void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) sprite->data[1] = 0; } -u8 FieldObjectDirectionToImageAnimId(u8 direction) +u8 GetFaceDirectionMovementAction_Extended(u8 direction) { - return gUnknown_083755F4[direction]; + return gFaceDirectionMovementActions_Extended[direction]; } -u8 get_go_image_anim_num(u8 direction) +u8 GetWalkSlowMovementAction_Extended(u8 direction) { - return gUnknown_083755FD[direction]; + return gWalkSlowMovementActions_Extended[direction]; } -u8 get_go_fast_image_anim_num(u8 direction) +u8 GetWalkNormalMovementAction_Extended(u8 direction) { - return gUnknown_08375606[direction]; + return gWalkNormalMovementActions_Extended[direction]; } -u8 get_go_faster_image_anim_num(u8 direction) +u8 GetJump2MovementAction_Extended(u8 direction) { - return gUnknown_0837560F[direction]; + return gJump2MovementActions_Extended[direction]; } -u8 sub_805FD78(u8 direction) +u8 GetDelayMovementAction_Extended(u8 direction) { - return gUnknown_08375618[direction]; + return gDelayMovementActions_Extended[direction]; } -u8 sub_805FD88(u8 direction) +u8 GetWalkFastMovementAction_Extended(u8 direction) { - return gUnknown_08375621[direction]; + return gWalkFastMovementActions_Extended[direction]; } -u8 sub_805FD98(u8 direction) +u8 GetWalkFastMovementAction_Extended2(u8 direction) { - return gUnknown_0837562A[direction]; + return gWalkFastMovementActions_Extended2[direction]; } u8 unref_sub_805FDA8(u8 direction) @@ -5406,11 +5541,11 @@ u8 get_run_image_anim_num(u8 direction) return gUnknown_08375672[direction]; } -void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) { if (!mapObject->inanimate) { - sprite->animNum = animNum; + sprite->animNum = movementActionId; if (sprite->animCmdIndex == 1) { sprite->animCmdIndex = 2; @@ -5422,12 +5557,12 @@ void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) } } -void sub_805FE64(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +void sub_805FE64(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) { u8 animCmdIndex; if (!mapObject->inanimate) { - sprite->animNum = animNum; + sprite->animNum = movementActionId; animCmdIndex = 3; if (sprite->animCmdIndex < 2) { @@ -5538,7 +5673,8 @@ bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { - if (gUnknown_08375684[direction - 1](mapObject->currentMetatileBehavior) || gUnknown_08375694[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) + if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](mapObject->currentMetatileBehavior) + || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return 1; } @@ -5586,14 +5722,14 @@ void sub_8060288(u8 localId, u8 mapNum, u8 mapGroup) void MoveCoords(u8 direction, s16 *x, s16 *y) { - *x += gDirectionToVector[direction].x; - *y += gDirectionToVector[direction].y; + *x += gDirectionToVectors[direction].x; + *y += gDirectionToVectors[direction].y; } void unref_sub_80602F8(u8 direction, s16 *x, s16 *y) { - *x += gDirectionToVector[direction].x << 4; - *y += gDirectionToVector[direction].y << 4; + *x += gDirectionToVectors[direction].x << 4; + *y += gDirectionToVectors[direction].y << 4; } void sub_8060320(u32 dirn, s16 *x, s16 *y, s16 deltaX, s16 deltaY) @@ -5601,19 +5737,19 @@ void sub_8060320(u32 dirn, s16 *x, s16 *y, s16 deltaX, s16 deltaY) u8 direction = dirn; s16 dx2 = deltaX; s16 dy2 = deltaY; - if (gDirectionToVector[direction].x > 0) + if (gDirectionToVectors[direction].x > 0) { *x += dx2; } - if (gDirectionToVector[direction].x < 0) + if (gDirectionToVectors[direction].x < 0) { *x -= dx2; } - if (gDirectionToVector[direction].y > 0) + if (gDirectionToVectors[direction].y > 0) { *y += dy2; } - if (gDirectionToVector[direction].y < 0) + if (gDirectionToVectors[direction].y < 0) { *y -= dy2; } @@ -5808,27 +5944,27 @@ u8 name(u32 idx)\ return animIds[direction];\ } -dirn_to_anim(GetFaceDirectionMovementActionId, gUnknown_083756C8) -dirn_to_anim(GetSimpleGoAnimId, gUnknown_083756CD) -dirn_to_anim(GetGoSpeed0MovementActionId, gUnknown_083756D2) -dirn_to_anim(sub_8060744, gUnknown_083756D7) -dirn_to_anim(d2s_08064034, gUnknown_083756DC) -dirn_to_anim(sub_806079C, gUnknown_083756E1) +dirn_to_anim(GetFaceDirectionMovementAction, gFaceDirectionMovementActions) +dirn_to_anim(GetWalkSlowMovementAction, gWalkSlowMovementActions) +dirn_to_anim(GetWalkNormalMovementAction, gWalkNormalMovementActions) +dirn_to_anim(GetWalkFastMovementAction, gWalkFastMovementActions) +dirn_to_anim(GetRideWaterCurrentMovementAction, gRideWaterCurrentMovementActions) +dirn_to_anim(GetWalkFastestMovementAction, gWalkFastestMovementActions) dirn_to_anim(sub_80607C8, gUnknown_083756E6) dirn_to_anim(sub_80607F4, gUnknown_083756EB) -dirn_to_anim(GetJumpLedgeAnimId, gUnknown_083756F0) +dirn_to_anim(GetJump2MovementAction, gJump2MovementActions) dirn_to_anim(sub_806084C, gUnknown_083756F5) dirn_to_anim(sub_8060878, gUnknown_083756FA) dirn_to_anim(sub_80608A4, gUnknown_083756FF) dirn_to_anim(sub_80608D0, gUnknown_08375704) -dirn_to_anim(GetStepInPlaceDelay32AnimId, gUnknown_08375709) -dirn_to_anim(GetStepInPlaceDelay16MovementActionId, gUnknown_0837570E) -dirn_to_anim(GetStepInPlaceDelay8AnimId, gUnknown_08375713) -dirn_to_anim(GetStepInPlaceDelay4AnimId, gUnknown_08375718) +dirn_to_anim(GetWalkInPlaceSlowMovementAction, gWalkInPlaceSlowMovementActions) +dirn_to_anim(GetWalkInPlaceNormalMovementAction, gWalkInPlaceNormalMovementActions) +dirn_to_anim(GetWalkInPlaceFastMovementAction, gWalkInPlaceFastMovementActions) +dirn_to_anim(GetWalkInPlaceFastestMovementAction, gWalkInPlaceFastestMovementActions) u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) { - return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(GetOppositeDirection(direction))); + return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); } u8 sub_80609D8(u8 index) @@ -5943,13 +6079,13 @@ u8 sub_8060B64(u8 index) u8 GetOppositeDirection(u8 direction) { - u8 directions[8]; - memcpy(directions, gUnknown_0837574F, 8); - if (direction == 0 || direction > 8) + u8 oppositeDirections[8]; + memcpy(oppositeDirections, gOppositeDirections, 8); + if (direction == DIR_NONE || direction > 8) { return direction; } - return directions[direction - 1]; + return oppositeDirections[direction - 1]; } u32 zffu_offset_calc(u8 a0, u8 a1) @@ -5972,7 +6108,7 @@ u32 state_to_direction(u8 a0, u32 a1, u32 a2) void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_08375778[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) + if (gMovementActionFuncs[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { mapObject->heldMovementFinished = 1; } @@ -5980,7 +6116,7 @@ void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprit bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_08375778[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) + if (gMovementActionFuncs[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { mapObject->movementActionId = 0xFF; sprite->data[2] = 0; @@ -5990,42 +6126,42 @@ bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, struct Sp return 0; } -void FieldObjectSetSingleMovement(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) +void FieldObjectSetSingleMovement(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) { - mapObject->movementActionId = animId; + mapObject->movementActionId = movementActionId; sprite->data[2] = 0; } -void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { FieldObjectSetDirection(mapObject, direction); npc_coords_shift_still(mapObject); - sub_805FE64(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); + sub_805FE64(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); sprite->animPaused = 1; sprite->data[2] = 1; } -u8 sub_8060CE0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_SOUTH); + FaceDirection(mapObject, sprite, DIR_SOUTH); return 1; } -u8 sub_8060CF0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_NORTH); + FaceDirection(mapObject, sprite, DIR_NORTH); return 1; } -u8 sub_8060D00(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_WEST); + FaceDirection(mapObject, sprite, DIR_WEST); return 1; } -u8 sub_8060D10(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_EAST); + FaceDirection(mapObject, sprite, DIR_EAST); return 1; } @@ -6092,7 +6228,7 @@ void sub_8060E68(struct MapObject *mapObject, struct Sprite *sprite, u8 directio void sub_8060ED8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_8060E68(mapObject, sprite, direction); - sub_805FE28(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); + sub_805FE28(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); } bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) @@ -6107,15 +6243,15 @@ bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8060F5C(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8060F3C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8060ED8(mapObject, sprite, DIR_SOUTH); - return sub_8060F5C(mapObject, sprite); + return MovementAction_WalkSlowDown_Step1(mapObject, sprite); } -bool8 sub_8060F5C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (an_walk_any_2(mapObject, sprite)) { @@ -6125,15 +6261,15 @@ bool8 sub_8060F5C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8060F9C(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8060F7C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8060ED8(mapObject, sprite, DIR_NORTH); - return sub_8060F9C(mapObject, sprite); + return MovementAction_WalkSlowUp_Step1(mapObject, sprite); } -bool8 sub_8060F9C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (an_walk_any_2(mapObject, sprite)) { @@ -6143,15 +6279,15 @@ bool8 sub_8060F9C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8060FDC(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8060FBC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8060ED8(mapObject, sprite, DIR_WEST); - return sub_8060FDC(mapObject, sprite); + return MovementAction_WalkSlowLeft_Step1(mapObject, sprite); } -bool8 sub_8060FDC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (an_walk_any_2(mapObject, sprite)) { @@ -6161,15 +6297,15 @@ bool8 sub_8060FDC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806101C(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8060FFC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8060ED8(mapObject, sprite, DIR_EAST); - return sub_806101C(mapObject, sprite); + return MovementAction_WalkSlowRight_Step1(mapObject, sprite); } -bool8 sub_806101C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (an_walk_any_2(mapObject, sprite)) { @@ -6179,15 +6315,15 @@ bool8 sub_806101C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806105C(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_806103C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_SOUTH, 0); - return sub_806105C(mapObject, sprite); + return MovementAction_WalkNormalDown_Step1(mapObject, sprite); } -bool8 sub_806105C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6197,15 +6333,15 @@ bool8 sub_806105C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806109C(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_806107C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_NORTH, 0); - return sub_806109C(mapObject, sprite); + return MovementAction_WalkNormalUp_Step1(mapObject, sprite); } -bool8 sub_806109C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6215,15 +6351,15 @@ bool8 sub_806109C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80610DC(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80610BC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_WEST, 0); - return sub_80610DC(mapObject, sprite); + return MovementAction_WalkNormalLeft_Step1(mapObject, sprite); } -bool8 sub_80610DC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6233,15 +6369,15 @@ bool8 sub_80610DC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806111C(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80610FC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_EAST, 0); - return sub_806111C(mapObject, sprite); + return MovementAction_WalkNormalRight_Step1(mapObject, sprite); } -bool8 sub_806111C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6272,7 +6408,7 @@ void sub_806113C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a4, u8 a5) { sub_806113C(mapObject, sprite, direction, a4, a5); - sub_805FE28(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); + sub_805FE28(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); DoShadowFieldEffect(mapObject); } @@ -6344,22 +6480,22 @@ bool8 sub_8061358(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - sub_805FE64(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); + sub_805FE64(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); return FALSE; } -bool8 sub_80613D4(struct MapObject *, struct Sprite *); -bool8 sub_806142C(struct MapObject *, struct Sprite *); -bool8 sub_8061484(struct MapObject *, struct Sprite *); -bool8 sub_80614DC(struct MapObject *, struct Sprite *); +bool8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80613A8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Down_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 2, 0); - return sub_80613D4(mapObject, sprite); + return MovementAction_Jump2Down_Step1(mapObject, sprite); } -bool8 sub_80613D4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Down_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -6370,13 +6506,13 @@ bool8 sub_80613D4(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061400(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Up_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_NORTH, 2, 0); - return sub_806142C(mapObject, sprite); + return MovementAction_Jump2Up_Step1(mapObject, sprite); } -bool8 sub_806142C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Up_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -6387,13 +6523,13 @@ bool8 sub_806142C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061458(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Left_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_WEST, 2, 0); - return sub_8061484(mapObject, sprite); + return MovementAction_Jump2Left_Step1(mapObject, sprite); } -bool8 sub_8061484(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Left_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -6404,13 +6540,13 @@ bool8 sub_8061484(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80614B0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Right_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_EAST, 2, 0); - return sub_80614DC(mapObject, sprite); + return MovementAction_Jump2Right_Step1(mapObject, sprite); } -bool8 sub_80614DC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Right_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -6427,7 +6563,7 @@ void sub_8061508(struct Sprite *sprite, u16 duration) sprite->data[3] = duration; } -bool8 sub_8061510(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay_Step1(struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[3]--; if (!sprite->data[3]) @@ -6438,48 +6574,48 @@ bool8 sub_8061510(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806152C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay1_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061508(sprite, 1); - return sub_8061510(mapObject, sprite); + return MovementAction_Delay_Step1(mapObject, sprite); } -bool8 sub_806154C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay2_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061508(sprite, 2); - return sub_8061510(mapObject, sprite); + return MovementAction_Delay_Step1(mapObject, sprite); } -bool8 sub_806156C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay4_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061508(sprite, 4); - return sub_8061510(mapObject, sprite); + return MovementAction_Delay_Step1(mapObject, sprite); } -bool8 sub_806158C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay8_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061508(sprite, 8); - return sub_8061510(mapObject, sprite); + return MovementAction_Delay_Step1(mapObject, sprite); } -bool8 sub_80615AC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay16_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061508(sprite, 16); - return sub_8061510(mapObject, sprite); + return MovementAction_Delay_Step1(mapObject, sprite); } -bool8 sub_80615EC(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_806162C(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_806166C(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_80616AC(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_80615CC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_SOUTH, 1); - return sub_80615EC(mapObject, sprite); + return MovementAction_WalkFastDown_Step1(mapObject, sprite); } -bool8 sub_80615EC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6488,13 +6624,13 @@ bool8 sub_80615EC(struct MapObject *mapObject, struct Sprite *sprite) } return FALSE; } -bool8 sub_806160C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_NORTH, 1); - return sub_806162C(mapObject, sprite); + return MovementAction_WalkFastUp_Step1(mapObject, sprite); } -bool8 sub_806162C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6503,13 +6639,13 @@ bool8 sub_806162C(struct MapObject *mapObject, struct Sprite *sprite) } return FALSE; } -bool8 sub_806164C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_WEST, 1); - return sub_806166C(mapObject, sprite); + return MovementAction_WalkFastLeft_Step1(mapObject, sprite); } -bool8 sub_806166C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6518,13 +6654,13 @@ bool8 sub_806166C(struct MapObject *mapObject, struct Sprite *sprite) } return FALSE; } -bool8 sub_806168C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_EAST, 1); - return sub_80616AC(mapObject, sprite); + return MovementAction_WalkFastRight_Step1(mapObject, sprite); } -bool8 sub_80616AC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6534,16 +6670,16 @@ bool8 sub_80616AC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -void sub_80616CC(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animId, u16 duration) +void sub_80616CC(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 movementAction, u16 duration) { FieldObjectSetDirection(mapObject, direction); - sub_805FE28(mapObject, sprite, animId); + sub_805FE28(mapObject, sprite, movementAction); sprite->animPaused = 0; sprite->data[2] = 1; sprite->data[3] = duration; } -bool8 sub_8061714(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[3]--; if (sprite->data[3] == 0) @@ -6555,120 +6691,120 @@ bool8 sub_8061714(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806173C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sprite->data[3] & 1) { sprite->animDelayCounter++; } - return sub_8061714(mapObject, sprite); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061778(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, get_go_image_anim_num(DIR_SOUTH), 32); - return sub_806173C(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetWalkSlowMovementAction_Extended(DIR_SOUTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } -bool8 sub_80617B0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, get_go_image_anim_num(DIR_NORTH), 32); - return sub_806173C(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetWalkSlowMovementAction_Extended(DIR_NORTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } -bool8 sub_80617E8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, get_go_image_anim_num(DIR_WEST), 32); - return sub_806173C(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_WEST, GetWalkSlowMovementAction_Extended(DIR_WEST), 32); + return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } -bool8 sub_8061820(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, get_go_image_anim_num(DIR_EAST), 32); - return sub_806173C(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_EAST, GetWalkSlowMovementAction_Extended(DIR_EAST), 32); + return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } -bool8 sub_8061858(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, get_go_image_anim_num(DIR_SOUTH), 16); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetWalkSlowMovementAction_Extended(DIR_SOUTH), 16); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061890(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, get_go_image_anim_num(DIR_NORTH), 16); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetWalkSlowMovementAction_Extended(DIR_NORTH), 16); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_80618C8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, get_go_image_anim_num(DIR_WEST), 16); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_WEST, GetWalkSlowMovementAction_Extended(DIR_WEST), 16); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061900(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, get_go_image_anim_num(DIR_EAST), 16); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_EAST, GetWalkSlowMovementAction_Extended(DIR_EAST), 16); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061938(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, get_go_fast_image_anim_num(DIR_SOUTH), 8); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetWalkNormalMovementAction_Extended(DIR_SOUTH), 8); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061970(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, get_go_fast_image_anim_num(DIR_NORTH), 8); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetWalkNormalMovementAction_Extended(DIR_NORTH), 8); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_80619A8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, get_go_fast_image_anim_num(DIR_WEST), 8); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_WEST, GetWalkNormalMovementAction_Extended(DIR_WEST), 8); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_80619E0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, get_go_fast_image_anim_num(DIR_EAST), 8); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_EAST, GetWalkNormalMovementAction_Extended(DIR_EAST), 8); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061A18(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, get_go_faster_image_anim_num(DIR_SOUTH), 4); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetJump2MovementAction_Extended(DIR_SOUTH), 4); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061A50(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, get_go_faster_image_anim_num(DIR_NORTH), 4); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetJump2MovementAction_Extended(DIR_NORTH), 4); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061A88(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, get_go_faster_image_anim_num(DIR_WEST), 4); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_WEST, GetJump2MovementAction_Extended(DIR_WEST), 4); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061AC0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, get_go_faster_image_anim_num(DIR_EAST), 4); - return sub_8061714(mapObject, sprite); + sub_80616CC(mapObject, sprite, DIR_EAST, GetJump2MovementAction_Extended(DIR_EAST), 4); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8061B18(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061AF8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_SOUTH, 2); - return sub_8061B18(mapObject, sprite); + return MovementAction_RideWaterCurrentDown_Step1(mapObject, sprite); } -bool8 sub_8061B18(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6679,15 +6815,15 @@ bool8 sub_8061B18(struct MapObject *mapObject, struct Sprite *sprite) } -bool8 sub_8061B58(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061B38(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_NORTH, 2); - return sub_8061B58(mapObject, sprite); + return MovementAction_RideWaterCurrentUp_Step1(mapObject, sprite); } -bool8 sub_8061B58(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6698,15 +6834,15 @@ bool8 sub_8061B58(struct MapObject *mapObject, struct Sprite *sprite) } -bool8 sub_8061B98(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061B78(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_WEST, 2); - return sub_8061B98(mapObject, sprite); + return MovementAction_RideWaterCurrentLeft_Step1(mapObject, sprite); } -bool8 sub_8061B98(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6717,15 +6853,15 @@ bool8 sub_8061B98(struct MapObject *mapObject, struct Sprite *sprite) } -bool8 sub_8061BD8(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061BB8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_EAST, 2); - return sub_8061BD8(mapObject, sprite); + return MovementAction_RideWaterCurrentRight_Step1(mapObject, sprite); } -bool8 sub_8061BD8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6735,15 +6871,15 @@ bool8 sub_8061BD8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061C18(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061BF8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_SOUTH, 3); - return sub_8061C18(mapObject, sprite); + return MovementAction_WalkFastestDown_Step1(mapObject, sprite); } -bool8 sub_8061C18(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6753,15 +6889,15 @@ bool8 sub_8061C18(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061C58(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061C38(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_NORTH, 3); - return sub_8061C58(mapObject, sprite); + return MovementAction_WalkFastestUp_Step1(mapObject, sprite); } -bool8 sub_8061C58(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6772,15 +6908,15 @@ bool8 sub_8061C58(struct MapObject *mapObject, struct Sprite *sprite) } -bool8 sub_8061C98(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061C78(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_WEST, 3); - return sub_8061C98(mapObject, sprite); + return MovementAction_WalkFastestLeft_Step1(mapObject, sprite); } -bool8 sub_8061C98(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6791,15 +6927,15 @@ bool8 sub_8061C98(struct MapObject *mapObject, struct Sprite *sprite) } -bool8 sub_8061CD8(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061CB8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_EAST, 3); - return sub_8061CD8(mapObject, sprite); + return MovementAction_WalkFastestRight_Step1(mapObject, sprite); } -bool8 sub_8061CD8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6968,11 +7104,11 @@ bool8 sub_8061F24(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8064864(struct Sprite *); +bool8 SpriteAnimEnded(struct Sprite *); bool8 sub_8061F3C(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064864(sprite)) + if (SpriteAnimEnded(sprite)) { sprite->data[2] = 2; return TRUE; @@ -6983,7 +7119,7 @@ bool8 sub_8061F3C(struct MapObject *mapObject, struct Sprite *sprite) void sub_8061F5C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_806113C(mapObject, sprite, direction, 1, 0); - StartSpriteAnim(sprite, sub_805FD88(direction)); + StartSpriteAnim(sprite, GetWalkFastMovementAction_Extended(direction)); } bool8 sub_8061FB0(struct MapObject *, struct Sprite *); @@ -7067,7 +7203,7 @@ bool8 sub_80620B0(struct MapObject *mapObject, struct Sprite *sprite) u8 objectId; if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), &objectId)) { - an_look_any(mapObject, sprite, sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y)); + FaceDirection(mapObject, sprite, sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y)); } sprite->data[2] = 1; return TRUE; @@ -7078,7 +7214,7 @@ bool8 sub_806210C(struct MapObject *mapObject, struct Sprite *sprite) u8 objectId; if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), &objectId)) { - an_look_any(mapObject, sprite, GetOppositeDirection(sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y))); + FaceDirection(mapObject, sprite, GetOppositeDirection(sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y))); } sprite->data[2] = 1; return TRUE; @@ -7328,7 +7464,7 @@ bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80625B0(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]); + FaceDirection(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]); return TRUE; } @@ -7445,7 +7581,7 @@ bool8 sub_8062724(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064864(sprite)) + if (SpriteAnimEnded(sprite)) { SetMovementDelay(sprite, 0x20); sprite->data[2] = 2; @@ -7473,7 +7609,7 @@ bool8 sub_80627A0(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite) { - if (sub_8064864(sprite)) + if (SpriteAnimEnded(sprite)) { SetMovementDelay(sprite, 0x20); sprite->data[2] = 2; @@ -7600,25 +7736,25 @@ bool8 sub_80629CC(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80629DC(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, sub_805FD98(DIR_SOUTH)); + npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, GetWalkFastMovementAction_Extended2(DIR_SOUTH)); return FALSE; } bool8 sub_8062A00(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_NORTH, sub_805FD98(DIR_NORTH)); + npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_NORTH, GetWalkFastMovementAction_Extended2(DIR_NORTH)); return FALSE; } bool8 sub_8062A24(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_WEST, sub_805FD98(DIR_WEST)); + npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_WEST, GetWalkFastMovementAction_Extended2(DIR_WEST)); return FALSE; } bool8 sub_8062A48(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_EAST, sub_805FD98(DIR_EAST)); + npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_EAST, GetWalkFastMovementAction_Extended2(DIR_EAST)); return FALSE; } @@ -7673,7 +7809,7 @@ bool8 sub_8062B68(struct MapObject *mapObject, struct Sprite *sprite) void sub_8062B8C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3, u8 a4) { sub_806113C(mapObject, sprite, direction, a3, a4); - StartSpriteAnimIfDifferent(sprite, sub_805FD98(direction)); + StartSpriteAnimIfDifferent(sprite, GetWalkFastMovementAction_Extended2(direction)); DoShadowFieldEffect(mapObject); } @@ -7908,31 +8044,31 @@ bool8 sub_8062FC4(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8062FF0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_SOUTH, sub_805FDD8(DIR_SOUTH), 8); - return sub_8061714(mapObject, sprite); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 sub_8063028(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_NORTH, sub_805FDD8(DIR_NORTH), 8); - return sub_8061714(mapObject, sprite); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 sub_8063060(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_WEST, sub_805FDD8(DIR_WEST), 8); - return sub_8061714(mapObject, sprite); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 sub_8063098(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_EAST, sub_805FDD8(DIR_EAST), 8); - return sub_8061714(mapObject, sprite); + return MovementAction_WalkInPlace_Step1(mapObject, sprite); } void sub_80630D0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { sub_8060D20(mapObject, sprite, direction, a3); - StartSpriteAnim(sprite, sub_805FD98(mapObject->facingDirection)); + StartSpriteAnim(sprite, GetWalkFastMovementAction_Extended2(mapObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -8165,12 +8301,12 @@ bool8 sub_8063450(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8063470(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Finish(struct MapObject *mapObject, struct Sprite *sprite) { return TRUE; } -bool8 sub_8063474(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PauseSpriteAnim(struct MapObject *mapObject, struct Sprite *sprite) { sprite->animPaused = 1; return TRUE; @@ -8879,7 +9015,7 @@ void GroundEffect_IceReflection(struct MapObject *mapObj, struct Sprite *sprite) void GroundEffect_FlowingWater(struct MapObject *mapObj, struct Sprite *sprite) { - oe_exec_and_other_stuff(FLDEFF_FEET_IN_FLOWING_WATER, mapObj); + StartFieldEffectForMapObject(FLDEFF_FEET_IN_FLOWING_WATER, mapObj); } static void (*const gUnknown_08376080[])(struct MapObject *mapObj, struct Sprite *sprite, u8 a) = { @@ -8906,8 +9042,8 @@ static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Spr { // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) u16 sandFootprints_FieldEffectData[2] = { - FLDEFF_SAND_FOOTPRINTS, - FLDEFF_DEEP_SAND_FOOTPRINTS + FLDEFF_SAND_FOOTPRINTS, + FLDEFF_DEEP_SAND_FOOTPRINTS }; gFieldEffectArguments[0] = mapObj->previousCoords.x; @@ -8953,12 +9089,12 @@ void GroundEffect_Ripple(struct MapObject *mapObj, struct Sprite *sprite) void GroundEffect_StepOnPuddle(struct MapObject *mapObj, struct Sprite *sprite) { - oe_exec_and_other_stuff(FLDEFF_SPLASH, mapObj); + StartFieldEffectForMapObject(FLDEFF_SPLASH, mapObj); } void GroundEffect_SandPile(struct MapObject *mapObj, struct Sprite *sprite) { - oe_exec_and_other_stuff(FLDEFF_SAND_PILE, mapObj); + StartFieldEffectForMapObject(FLDEFF_SAND_PILE, mapObj); } void GroundEffect_JumpOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) @@ -9016,12 +9152,12 @@ void GroundEffect_JumpLandingDust(struct MapObject *mapObj, struct Sprite *sprit void GroundEffect_ShortGrass(struct MapObject *mapObj, struct Sprite *sprite) { - oe_exec_and_other_stuff(FLDEFF_SHORT_GRASS, mapObj); + StartFieldEffectForMapObject(FLDEFF_SHORT_GRASS, mapObj); } void GroundEffect_HotSprings(struct MapObject *mapObj, struct Sprite *sprite) { - oe_exec_and_other_stuff(FLDEFF_HOT_SPRINGS_WATER, mapObj); + StartFieldEffectForMapObject(FLDEFF_HOT_SPRINGS_WATER, mapObj); } void GroundEffect_Seaweed(struct MapObject *mapObj, struct Sprite *sprite) @@ -9276,37 +9412,37 @@ void UnfreezeMapObjects(void) void Step1(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += gDirectionToVector[dir].x; - sprite->pos1.y += gDirectionToVector[dir].y; + sprite->pos1.x += gDirectionToVectors[dir].x; + sprite->pos1.y += gDirectionToVectors[dir].y; } void Step2(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 2 * (u16) gDirectionToVector[dir].x; - sprite->pos1.y += 2 * (u16) gDirectionToVector[dir].y; + sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y; } void Step3(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 2 * (u16) gDirectionToVector[dir].x + (u16) gDirectionToVector[dir].x; - sprite->pos1.y += 2 * (u16) gDirectionToVector[dir].y + (u16) gDirectionToVector[dir].y; + sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x + (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y + (u16) gDirectionToVectors[dir].y; } void Step4(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 4 * (u16) gDirectionToVector[dir].x; - sprite->pos1.y += 4 * (u16) gDirectionToVector[dir].y; + sprite->pos1.x += 4 * (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 4 * (u16) gDirectionToVectors[dir].y; } void Step8(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += 8 * (u16) gDirectionToVector[dir].x; - sprite->pos1.y += 8 * (u16) gDirectionToVector[dir].y; + sprite->pos1.x += 8 * (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 8 * (u16) gDirectionToVectors[dir].y; } -void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) +void oamt_npc_ministep_reset(struct Sprite *sprite, u8 direction, u8 a3) { - sprite->data[3] = a2; + sprite->data[3] = direction; sprite->data[4] = a3; sprite->data[5] = 0; } @@ -9412,9 +9548,9 @@ u8 sub_806478C(struct Sprite *sprite) return v2; } -static void SetMovementDelay(struct Sprite *sprite, s16 a2) +static void SetMovementDelay(struct Sprite *sprite, s16 delay) { - sprite->data[3] = a2; + sprite->data[3] = delay; } static bool8 WaitForMovementDelay(struct Sprite *sprite) @@ -9434,7 +9570,7 @@ void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3) SeekSpriteAnim(sprite, a3); } -bool8 sub_8064864(struct Sprite *sprite) +bool8 SpriteAnimEnded(struct Sprite *sprite) { if (sprite->animEnded) return TRUE; @@ -9442,7 +9578,7 @@ bool8 sub_8064864(struct Sprite *sprite) return FALSE; } -void sub_806487C(struct Sprite *sprite, bool8 invisible) +void UpdateFieldSpriteVisibility(struct Sprite *sprite, bool8 invisible) { u16 x, y; s16 x2, y2; @@ -9469,28 +9605,28 @@ void sub_806487C(struct Sprite *sprite, bool8 invisible) sprite->invisible = 1; } -void sub_8064970(struct Sprite *sprite) +void UpdateFieldSpriteSubpriorityAndVisibility(struct Sprite *sprite) { SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1); - sub_806487C(sprite, 0); + UpdateFieldSpriteVisibility(sprite, 0); } -void sub_8064990(u8 a1, u8 dir) +void TurnMapObject(u8 mapObjectId, u8 direction) { u8 i; for (i = 0; i < MAX_SPRITES; i++) { struct Sprite *sprite = &gSprites[i]; - if (sprite->inUse && sprite->callback == sub_8064970 && (u8)sprite->data[0] == a1) + if (sprite->inUse && sprite->callback == UpdateFieldSpriteSubpriorityAndVisibility && (u8)sprite->data[0] == mapObjectId) { - u8 animNum = FieldObjectDirectionToImageAnimId(dir); + u8 animNum = GetFaceDirectionMovementAction_Extended(direction); StartSpriteAnim(sprite, animNum); break; } } } -u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) +u32 StartFieldEffectForMapObject(u8 fieldEffectId, struct MapObject *mapObject) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); return FieldEffectStart(fieldEffectId); @@ -9501,7 +9637,7 @@ void DoShadowFieldEffect(struct MapObject *mapObject) if (!mapObject->hasShadow) { mapObject->hasShadow = 1; - oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject); + StartFieldEffectForMapObject(FLDEFF_SHADOW, mapObject); } } diff --git a/src/field_effect.c b/src/field_effect.c index 6eb425389..02b42c6f7 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1180,7 +1180,7 @@ bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0] CameraObjectReset2(); gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; - FieldObjectSetHeldMovement(playerObject, GetFaceDirectionMovementActionId(GetPlayerFacingDirection())); + FieldObjectSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; @@ -1330,7 +1330,7 @@ bool8 sub_8086AC0(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) { - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(GetPlayerFacingDirection())); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[0]++; task->data[2] = 0; task->data[3] = 0; @@ -1447,7 +1447,7 @@ bool8 sub_8086CF4(struct Task *task) u8 behavior; CameraObjectReset2(); mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(DIR_EAST)); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(DIR_EAST)); PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); task->data[0]++; @@ -1545,7 +1545,7 @@ bool8 sub_8086ED4(struct Task *task) { CameraObjectReset1(); ScriptContext2_Disable(); - FieldObjectSetHeldMovement(mapObject, GetGoSpeed0MovementActionId(DIR_EAST)); + FieldObjectSetHeldMovement(mapObject, GetWalkNormalMovementAction(DIR_EAST)); DestroyTask(FindTaskIdByFunc(sub_8086CBC)); } return FALSE; @@ -1600,7 +1600,7 @@ bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct MapObject bool8 sub_8087030(struct Task *task, struct MapObject *mapObject) { - FieldObjectSetHeldMovement(mapObject, GetSimpleGoAnimId(DIR_NORTH)); + FieldObjectSetHeldMovement(mapObject, GetWalkSlowMovementAction(DIR_NORTH)); task->data[0]++; return FALSE; } @@ -1909,7 +1909,7 @@ bool8 sub_80876F8(struct Task *task, struct MapObject *mapObject, struct Sprite } else { task->data[1]++; - FieldObjectSetHeldMovement(mapObject, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); + FieldObjectSetHeldMovement(mapObject, GetWalkInPlaceFastestMovementAction(mapObject->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } @@ -2011,7 +2011,7 @@ void sub_8087914(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80878C4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(unknown_0839F380[mapObject->facingDirection])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2071,7 +2071,7 @@ void sub_8087AC8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_8087A74)); return; } - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(unknown_0839F380[mapObject->facingDirection])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(unknown_0839F380[mapObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; @@ -2878,7 +2878,7 @@ void sub_8088AF4(struct Task *task) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(mapObject->movementDirection)); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(mapObject->movementDirection)); sub_8127ED0(mapObject->fieldEffectSpriteId, 1); UnfreezeMapObjects(); ScriptContext2_Disable(); diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index ea3225564..26e43eb28 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -313,7 +313,7 @@ void unc_grass_normal(struct Sprite *sprite) { metatileBehavior = 4; } - sub_806487C(sprite, 0); + UpdateFieldSpriteVisibility(sprite, 0); sub_812882C(sprite, sprite->data[0], metatileBehavior); } } @@ -417,7 +417,7 @@ void unc_grass_tall(struct Sprite *sprite) { sprite->data[7] = TRUE; } - sub_806487C(sprite, 0); + UpdateFieldSpriteVisibility(sprite, 0); sub_812882C(sprite, sprite->data[0], 0); } } @@ -496,7 +496,7 @@ void sub_8127334(struct Sprite *sprite) sprite->pos2.y = (graphicsInfo->height >> 1) - 8; sprite->subpriority = linkedSprite->subpriority - 1; sprite->oam.priority = linkedSprite->oam.priority; - sub_806487C(sprite, linkedSprite->invisible); + UpdateFieldSpriteVisibility(sprite, linkedSprite->invisible); } } @@ -570,14 +570,14 @@ static void sub_81275A0(struct Sprite *sprite) { sprite->data[0] = 1; } - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); } static void sub_81275C4(struct Sprite *sprite) { sprite->invisible ^= 1; sprite->data[1] ++; - sub_806487C(sprite, sprite->invisible); + UpdateFieldSpriteVisibility(sprite, sprite->invisible); if (sprite->data[1] > 56) { FieldEffectStop(sprite, sprite->data[7]); @@ -624,7 +624,7 @@ void sub_81276B4(struct Sprite *sprite) { sprite->pos1.x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x; sprite->pos1.y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y; - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); } } @@ -710,7 +710,7 @@ static void sub_81278D8(struct Sprite *sprite) sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = linkedSprite->pos1.y; sprite->subpriority = linkedSprite->subpriority; - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); if (mapObject->currentCoords.x != sprite->data[3] || mapObject->currentCoords.y != sprite->data[4]) { sprite->data[3] = mapObject->currentCoords.x; @@ -780,7 +780,7 @@ void sub_8127A7C(struct Sprite *sprite) sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8; sprite->subpriority = linkedSprite->subpriority - 1; - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); } } @@ -920,7 +920,7 @@ static void sub_8127DD0(struct Sprite *sprite) static void sub_8127E30(struct Sprite *sprite) { - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); if (sprite->animEnded) { FieldEffectStop(sprite, FLDEFF_ASH); @@ -1237,7 +1237,7 @@ void sub_81282E0(struct Sprite *sprite) sprite->pos1.x = x; sprite->pos1.y = y; sprite->subpriority = gSprites[gMapObjects[mapObjectId].spriteId].subpriority; - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); } } @@ -1262,7 +1262,7 @@ void sub_8128410(struct Sprite *sprite) sprite->data[0] += 0x80; sprite->data[0] &= 0x100; sprite->pos1.y -= sprite->data[0] >> 8; - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); if (sprite->invisible || sprite->animEnded) { FieldEffectStop(sprite, FLDEFF_BUBBLES); @@ -1434,7 +1434,7 @@ void sub_81287C4(struct Sprite *sprite) } else { - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); SetObjectSubpriorityByZCoord(sprite->data[0], sprite, 0); } } @@ -1447,7 +1447,7 @@ void sub_8128800(struct Sprite *sprite) } else { - sub_806487C(sprite, FALSE); + UpdateFieldSpriteVisibility(sprite, FALSE); } } diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index a6c399756..653971a50 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -279,7 +279,7 @@ void task_map_chg_seq_0807E20C(u8 taskId) u8 mapObjId; sub_8080958(1); mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetGoSpeed0MovementActionId(GetPlayerFacingDirection())); + FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); task->data[0] = 2; } break; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index a5bed6bec..521a5f80b 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -774,24 +774,24 @@ void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement) // normal speed (1 speed) void PlayerGoSpeed1(u8 a) { - PlayerSetAnimId(GetGoSpeed0MovementActionId(a), 2); + PlayerSetAnimId(GetWalkNormalMovementAction(a), 2); } // fast speed (2 speed) void PlayerGoSpeed2(u8 a) { - PlayerSetAnimId(sub_8060744(a), 2); + PlayerSetAnimId(GetWalkFastMovementAction(a), 2); } void npc_use_some_d2s(u8 a) { - PlayerSetAnimId(d2s_08064034(a), 2); + PlayerSetAnimId(GetRideWaterCurrentMovementAction(a), 2); } // fastest speed (4 speed) void PlayerGoSpeed4(u8 a) { - PlayerSetAnimId(sub_806079C(a), 2); + PlayerSetAnimId(GetWalkFastestMovementAction(a), 2); } void sub_805940C(u8 a) @@ -802,29 +802,29 @@ void sub_805940C(u8 a) void PlayerOnBikeCollide(u8 a) { PlayCollisionSoundIfNotFacingWarp(a); - PlayerSetAnimId(GetStepInPlaceDelay16MovementActionId(a), 2); + PlayerSetAnimId(GetWalkInPlaceNormalMovementAction(a), 2); } static void PlayerNotOnBikeCollide(u8 a) { PlayCollisionSoundIfNotFacingWarp(a); - PlayerSetAnimId(GetStepInPlaceDelay32AnimId(a), 2); + PlayerSetAnimId(GetWalkInPlaceSlowMovementAction(a), 2); } void PlayerFaceDirection(u8 direction) { - PlayerSetAnimId(GetFaceDirectionMovementActionId(direction), 1); + PlayerSetAnimId(GetFaceDirectionMovementAction(direction), 1); } void PlayerTurnInPlace(u8 direction) { - PlayerSetAnimId(GetStepInPlaceDelay8AnimId(direction), 1); + PlayerSetAnimId(GetWalkInPlaceFastMovementAction(direction), 1); } void PlayerJumpLedge(u8 direction) { PlaySE(SE_DANSA); - PlayerSetAnimId(GetJumpLedgeAnimId(direction), 8); + PlayerSetAnimId(GetJump2MovementAction(direction), 8); } void sub_80594C0(void) @@ -832,7 +832,7 @@ void sub_80594C0(void) if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING) { if (player_should_look_direction_be_enforced_upon_movement()) - sub_8059348(GetFaceDirectionMovementActionId(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection)); + sub_8059348(GetFaceDirectionMovementAction(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection)); } } @@ -1175,14 +1175,14 @@ void sub_8059C3C(u8 a) void sub_8059C94(u8 direction) { sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FD98(direction)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetWalkFastMovementAction_Extended2(direction)); SeekSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 1); } void sub_8059D08(u8 direction) { sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], FieldObjectDirectionToImageAnimId(direction)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFaceDirectionMovementAction_Extended(direction)); } static void sub_8059D60(struct MapObject *mapObject) @@ -1242,8 +1242,8 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *playerObject, struct MapObje { FieldObjectClearHeldMovementIfFinished(playerObject); FieldObjectClearHeldMovementIfFinished(strengthObject); - FieldObjectSetHeldMovement(playerObject, GetStepInPlaceDelay16MovementActionId((u8)task->data[2])); - FieldObjectSetHeldMovement(strengthObject, GetSimpleGoAnimId((u8)task->data[2])); + FieldObjectSetHeldMovement(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2])); + FieldObjectSetHeldMovement(strengthObject, GetWalkSlowMovementAction((u8)task->data[2])); gFieldEffectArguments[0] = strengthObject->currentCoords.x; gFieldEffectArguments[1] = strengthObject->currentCoords.y; gFieldEffectArguments[2] = strengthObject->previousElevation; @@ -1338,7 +1338,7 @@ u8 sub_805A100(struct Task *task, struct MapObject *mapObject) { u8 direction; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementActionId(direction = directions[mapObject->movementDirection - 1])); + FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(direction = directions[mapObject->movementDirection - 1])); if (direction == (u8)task->data[1]) task->data[2]++; task->data[0]++; @@ -1364,7 +1364,7 @@ u8 sub_805A1B8(struct Task *task, struct MapObject *mapObject) { if (FieldObjectClearHeldMovementIfFinished(mapObject)) { - FieldObjectSetHeldMovement(mapObject, GetSimpleGoAnimId(GetOppositeDirection(task->data[1]))); + FieldObjectSetHeldMovement(mapObject, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1]))); ScriptContext2_Disable(); gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(sub_805A08C)); @@ -1413,7 +1413,7 @@ static void sub_805A2D0(u8 taskId) if (FieldObjectClearHeldMovementIfFinished(playerMapObj)) { sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionMovementActionId(playerMapObj->facingDirection)); + FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionMovementAction(playerMapObj->facingDirection)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroySprite(&gSprites[playerMapObj->fieldEffectSpriteId]); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index c710547d3..05abfc54d 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -354,11 +354,11 @@ void sub_80C78A0(void) if (VarGet(VAR_PORTHOLE_STATE) == 2) { - StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(4)); + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionMovementAction_Extended(4)); } else { - StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(3)); + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionMovementAction_Extended(3)); } } diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c index 4571cc4c4..7b7a454b3 100644 --- a/src/fldeff_berrytree.c +++ b/src/fldeff_berrytree.c @@ -20,7 +20,7 @@ static void Task_WateringBerryTreeAnim_1(u8 taskId) || FieldObjectClearHeldMovementIfFinished(playerMapObj)) { sub_8059D08(GetPlayerFacingDirection()); - FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16MovementActionId(GetPlayerFacingDirection())); + FieldObjectSetHeldMovement(playerMapObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); gTasks[taskId].func = Task_WateringBerryTreeAnim_2; } } @@ -34,7 +34,7 @@ static void Task_WateringBerryTreeAnim_2(u8 taskId) if (value < 10) { - FieldObjectSetHeldMovement(playerMapObj, GetStepInPlaceDelay16MovementActionId(GetPlayerFacingDirection())); + FieldObjectSetHeldMovement(playerMapObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); } else { diff --git a/src/overworld.c b/src/overworld.c index 806a3a4d2..850bea867 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2738,10 +2738,10 @@ void SpriteCB_LinkPlayer(struct Sprite *sprite) SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); sprite->oam.priority = ZCoordToPriority(mapObj->previousElevation); if (!linkPlayerMapObj->mode) - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObj->range.as_byte)); + StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(mapObj->range.as_byte)); else - StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(mapObj->range.as_byte)); - sub_806487C(sprite, 0); + StartSpriteAnimIfDifferent(sprite, GetWalkSlowMovementAction_Extended(mapObj->range.as_byte)); + UpdateFieldSpriteVisibility(sprite, 0); if (mapObj->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); diff --git a/src/scrcmd.c b/src/scrcmd.c index 9422f8cb6..d382c66c3 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1156,10 +1156,10 @@ bool8 ScrCmd_createvobject(struct ScriptContext *ctx) bool8 ScrCmd_turnvobject(struct ScriptContext *ctx) { - u8 v1 = ScriptReadByte(ctx); + u8 mapObjectId = ScriptReadByte(ctx); u8 direction = ScriptReadByte(ctx); - sub_8064990(v1, direction); + TurnMapObject(mapObjectId, direction); return FALSE; } diff --git a/src/trainer_see.c b/src/trainer_see.c index e786c582f..ff074d7b7 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -265,7 +265,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - direction = GetFaceDirectionMovementActionId(trainerObj->facingDirection); + direction = GetFaceDirectionMovementAction(trainerObj->facingDirection); FieldObjectSetHeldMovement(trainerObj, direction); task->data[0]++; return TRUE; @@ -294,7 +294,7 @@ static bool8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainer { if (task->data[3]) { - FieldObjectSetHeldMovement(trainerObj, GetGoSpeed0MovementActionId(trainerObj->facingDirection)); + FieldObjectSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); task->data[3]--; } else @@ -322,7 +322,7 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer return FALSE; sub_80597E8(); - FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionMovementActionId(GetOppositeDirection(trainerObj->facingDirection))); + FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); task->data[0]++; return FALSE; } -- cgit v1.2.3 From d31520c3b5ff140034fe2e355bdd869182489d72 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 29 May 2018 07:48:26 -0500 Subject: Finish labeling all movement actions --- src/data/field_map_obj/anim_func_ptrs.h | 1157 ++++++++++---------- .../field_map_obj/callback_subroutine_pointers.h | 2 +- src/event_object_movement.c | 632 ++++++----- src/field_effect.c | 2 +- src/field_effect_helpers.c | 4 +- src/field_player_avatar.c | 8 +- src/rom6.c | 2 +- src/trainer_see.c | 18 +- 8 files changed, 928 insertions(+), 897 deletions(-) (limited to 'src') diff --git a/src/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h index c024295c3..36ffed251 100644 --- a/src/data/field_map_obj/anim_func_ptrs.h +++ b/src/data/field_map_obj/anim_func_ptrs.h @@ -98,188 +98,188 @@ u8 MovementAction_WalkFastestLeft_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkFastestRight_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); -u8 sub_8061CF8(struct MapObject *, struct Sprite *); -u8 sub_8061D18(struct MapObject *, struct Sprite *); -u8 sub_8061D38(struct MapObject *, struct Sprite *); -u8 sub_8061D58(struct MapObject *, struct Sprite *); -u8 sub_8061D78(struct MapObject *, struct Sprite *); -u8 sub_8061D98(struct MapObject *, struct Sprite *); -u8 sub_8061DB8(struct MapObject *, struct Sprite *); -u8 sub_8061DD8(struct MapObject *, struct Sprite *); -u8 do_run_south_anim(struct MapObject *, struct Sprite *); -u8 sub_8061E18(struct MapObject *, struct Sprite *); -u8 do_run_north_anim(struct MapObject *, struct Sprite *); -u8 sub_8061E58(struct MapObject *, struct Sprite *); -u8 do_run_west_anim(struct MapObject *, struct Sprite *); -u8 sub_8061E98(struct MapObject *, struct Sprite *); -u8 do_run_east_anim(struct MapObject *, struct Sprite *); -u8 sub_8061ED8(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); u8 sub_8061F24(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8061F90(struct MapObject *, struct Sprite *); -u8 sub_8061FB0(struct MapObject *, struct Sprite *); -u8 sub_8061FD8(struct MapObject *, struct Sprite *); -u8 sub_8061FF8(struct MapObject *, struct Sprite *); -u8 sub_8062020(struct MapObject *, struct Sprite *); -u8 sub_8062040(struct MapObject *, struct Sprite *); -u8 sub_8062068(struct MapObject *, struct Sprite *); -u8 sub_8062088(struct MapObject *, struct Sprite *); -u8 sub_80620B0(struct MapObject *, struct Sprite *); -u8 sub_806210C(struct MapObject *, struct Sprite *); -u8 sub_8062170(struct MapObject *, struct Sprite *); -u8 sub_8062180(struct MapObject *, struct Sprite *); -u8 sub_8062190(struct MapObject *, struct Sprite *); -u8 sub_80621BC(struct MapObject *, struct Sprite *); -u8 sub_80621E8(struct MapObject *, struct Sprite *); -u8 sub_8062214(struct MapObject *, struct Sprite *); -u8 sub_8062240(struct MapObject *, struct Sprite *); -u8 sub_806226C(struct MapObject *, struct Sprite *); -u8 sub_8062298(struct MapObject *, struct Sprite *); -u8 sub_80622C4(struct MapObject *, struct Sprite *); -u8 sub_80622F0(struct MapObject *, struct Sprite *); -u8 sub_806231C(struct MapObject *, struct Sprite *); -u8 sub_8062348(struct MapObject *, struct Sprite *); -u8 sub_8062374(struct MapObject *, struct Sprite *); -u8 sub_80623A0(struct MapObject *, struct Sprite *); -u8 sub_80623CC(struct MapObject *, struct Sprite *); -u8 sub_80623F8(struct MapObject *, struct Sprite *); -u8 sub_8062424(struct MapObject *, struct Sprite *); -u8 sub_8062450(struct MapObject *, struct Sprite *); -u8 sub_806247C(struct MapObject *, struct Sprite *); -u8 sub_80624A8(struct MapObject *, struct Sprite *); -u8 sub_80624D4(struct MapObject *, struct Sprite *); -u8 sub_8062500(struct MapObject *, struct Sprite *); -u8 sub_806252C(struct MapObject *, struct Sprite *); -u8 sub_8062558(struct MapObject *, struct Sprite *); -u8 sub_8062584(struct MapObject *, struct Sprite *); -u8 sub_80625B0(struct MapObject *, struct Sprite *); -u8 sub_80625C8(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_80625D8(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_FacePlayer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_LockFacingDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_80625E8(struct MapObject *, struct Sprite *); +u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_80625F8(struct MapObject *, struct Sprite *); +u8 MovementAction_DisableAnimation_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_8062608(struct MapObject *, struct Sprite *); +u8 MovementAction_RestoreAnimation_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_8062634(struct MapObject *, struct Sprite *); +u8 MovementAction_SetInvisible_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_8062644(struct MapObject *, struct Sprite *); +u8 MovementAction_SetVisible_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 do_exclamation_mark_bubble_1(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 do_exclamation_mark_bubble_2(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 do_heart_bubble(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteHeart_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_80626C0(struct MapObject *, struct Sprite *); -u8 sub_8062704(struct MapObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_8062724(struct MapObject *, struct Sprite *); -u8 sub_8062740(struct MapObject *, struct Sprite *); -u8 sub_8062764(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step2(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_80627A0(struct MapObject *, struct Sprite *); -u8 sub_80627BC(struct MapObject *, struct Sprite *); -u8 sub_80627E0(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step2(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_806281C(struct MapObject *, struct Sprite *); +u8 MovementAction_SetFixedPriority_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_806282C(struct MapObject *, struct Sprite *); +u8 MovementAction_ClearFixedPriority_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_806283C(struct MapObject *, struct Sprite *); +u8 MovementAction_InitAffineAnim_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_806286C(struct MapObject *, struct Sprite *); +u8 MovementAction_ClearAffineAnim_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 sub_806289C(struct MapObject *, struct Sprite *); -u8 sub_80628D0(struct MapObject *, struct Sprite *); -u8 sub_80628FC(struct MapObject *, struct Sprite *); -u8 sub_8062930(struct MapObject *, struct Sprite *); -u8 sub_806299C(struct MapObject *, struct Sprite *); -u8 sub_80629AC(struct MapObject *, struct Sprite *); -u8 sub_80629BC(struct MapObject *, struct Sprite *); -u8 sub_80629CC(struct MapObject *, struct Sprite *); -u8 sub_80629DC(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062A00(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062A24(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062A48(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062A6C(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062A90(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062AB4(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062AD8(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 sub_8062AFC(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 sub_8062B20(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 sub_8062B44(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 sub_8062B68(struct MapObject *, struct Sprite *); -u8 sub_8061F3C(struct MapObject *, struct Sprite *); -u8 sub_8062BD0(struct MapObject *, struct Sprite *); -u8 sub_8062BFC(struct MapObject *, struct Sprite *); -u8 sub_8062C28(struct MapObject *, struct Sprite *); -u8 sub_8062C54(struct MapObject *, struct Sprite *); -u8 sub_8062C80(struct MapObject *, struct Sprite *); -u8 sub_8062CAC(struct MapObject *, struct Sprite *); -u8 sub_8062CD8(struct MapObject *, struct Sprite *); -u8 sub_8062D04(struct MapObject *, struct Sprite *); -u8 sub_8062D30(struct MapObject *, struct Sprite *); -u8 sub_8062D5C(struct MapObject *, struct Sprite *); -u8 sub_8062D88(struct MapObject *, struct Sprite *); -u8 sub_8062DB4(struct MapObject *, struct Sprite *); -u8 sub_8062DE0(struct MapObject *, struct Sprite *); -u8 sub_8062E0C(struct MapObject *, struct Sprite *); -u8 sub_8062E38(struct MapObject *, struct Sprite *); -u8 sub_8062E64(struct MapObject *, struct Sprite *); -u8 sub_8062E90(struct MapObject *, struct Sprite *); -u8 sub_8062EBC(struct MapObject *, struct Sprite *); -u8 sub_8062EE8(struct MapObject *, struct Sprite *); -u8 sub_8062F14(struct MapObject *, struct Sprite *); -u8 sub_8062F40(struct MapObject *, struct Sprite *); -u8 sub_8062F6C(struct MapObject *, struct Sprite *); -u8 sub_8062F98(struct MapObject *, struct Sprite *); -u8 sub_8062FC4(struct MapObject *, struct Sprite *); -u8 sub_8062FF0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 sub_8063028(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 sub_8063060(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 sub_8063098(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 sub_8063108(struct MapObject *, struct Sprite *); -u8 sub_8063128(struct MapObject *, struct Sprite *); -u8 sub_8063148(struct MapObject *, struct Sprite *); -u8 sub_8063168(struct MapObject *, struct Sprite *); -u8 sub_8063188(struct MapObject *, struct Sprite *); -u8 sub_80631A8(struct MapObject *, struct Sprite *); -u8 sub_80631C8(struct MapObject *, struct Sprite *); -u8 sub_80631E8(struct MapObject *, struct Sprite *); -u8 sub_8063238(struct MapObject *, struct Sprite *); -u8 sub_8063258(struct MapObject *, struct Sprite *); -u8 sub_8063278(struct MapObject *, struct Sprite *); -u8 sub_8063298(struct MapObject *, struct Sprite *); -u8 sub_80632B8(struct MapObject *, struct Sprite *); -u8 sub_80632D8(struct MapObject *, struct Sprite *); -u8 sub_80632F8(struct MapObject *, struct Sprite *); -u8 sub_8063318(struct MapObject *, struct Sprite *); -u8 sub_8063370(struct MapObject *, struct Sprite *); -u8 sub_8063390(struct MapObject *, struct Sprite *); -u8 sub_80633B0(struct MapObject *, struct Sprite *); -u8 sub_80633D0(struct MapObject *, struct Sprite *); -u8 sub_80633F0(struct MapObject *, struct Sprite *); -u8 sub_8063410(struct MapObject *, struct Sprite *); -u8 sub_8063430(struct MapObject *, struct Sprite *); -u8 sub_8063450(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroBumpMoveRight_Step1(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); @@ -330,95 +330,95 @@ u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sp u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375BFC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C08[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C14[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C20[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C2C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C38[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C44[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C50[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *); u8 (*const Unknown_8375C5C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C68[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C74[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C80[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C8C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C98[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CA0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CA8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CB0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CB8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CC4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CD0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CDC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CE8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375CF4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D00[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D0C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D18[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D24[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D30[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D3C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D48[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D50[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D5C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D64[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D6C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D74[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D7C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D84[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D8C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D94[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375D9C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DA4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DB0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DC0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DD0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DD8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DE0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DE8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DF0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375DFC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E08[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E10[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E18[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E20[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E28[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E34[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E40[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E4C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E58[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E64[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E70[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375E7C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375EB8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375EC4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375ED0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375EDC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375EE8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375EF4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F00[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F0C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F18[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F24[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F30[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F3C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F48[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F54[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F60[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F6C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F78[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F84[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F90[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375F9C[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FA8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FB4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FC0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FCC[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FD8[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FE4[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FF0[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375FFC[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroBumpMoveRight[])(struct MapObject *, struct Sprite *); u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN @@ -470,95 +470,95 @@ u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT - Unknown_8375BFC, - Unknown_8375C08, - Unknown_8375C14, - Unknown_8375C20, - Unknown_8375C2C, - Unknown_8375C38, - Unknown_8375C44, - Unknown_8375C50, + gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN + gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP + gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT + gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT + gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN + gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP + gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT + gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT Unknown_8375C5C, - Unknown_8375C68, - Unknown_8375C74, - Unknown_8375C80, - Unknown_8375C8C, - Unknown_8375C98, - Unknown_8375CA0, - Unknown_8375CA8, - Unknown_8375CB0, - Unknown_8375CB8, - Unknown_8375CC4, - Unknown_8375CD0, - Unknown_8375CDC, - Unknown_8375CE8, - Unknown_8375CF4, - Unknown_8375D00, - Unknown_8375D0C, - Unknown_8375D18, - Unknown_8375D24, - Unknown_8375D30, - Unknown_8375D3C, - Unknown_8375D48, - Unknown_8375D50, - Unknown_8375D5C, - Unknown_8375D64, - Unknown_8375D6C, - Unknown_8375D74, - Unknown_8375D7C, - Unknown_8375D84, - Unknown_8375D8C, - Unknown_8375D94, - Unknown_8375D9C, - Unknown_8375DA4, - Unknown_8375DB0, - Unknown_8375DC0, - Unknown_8375DD0, - Unknown_8375DD8, - Unknown_8375DE0, - Unknown_8375DE8, - Unknown_8375DF0, - Unknown_8375DFC, - Unknown_8375E08, - Unknown_8375E10, - Unknown_8375E18, - Unknown_8375E20, - Unknown_8375E28, - Unknown_8375E34, - Unknown_8375E40, - Unknown_8375E4C, - Unknown_8375E58, - Unknown_8375E64, - Unknown_8375E70, - Unknown_8375E7C, - Unknown_8375EB8, - Unknown_8375EC4, - Unknown_8375ED0, - Unknown_8375EDC, - Unknown_8375EE8, - Unknown_8375EF4, - Unknown_8375F00, - Unknown_8375F0C, - Unknown_8375F18, - Unknown_8375F24, - Unknown_8375F30, - Unknown_8375F3C, - Unknown_8375F48, - Unknown_8375F54, - Unknown_8375F60, - Unknown_8375F6C, - Unknown_8375F78, - Unknown_8375F84, - Unknown_8375F90, - Unknown_8375F9C, - Unknown_8375FA8, - Unknown_8375FB4, - Unknown_8375FC0, - Unknown_8375FCC, - Unknown_8375FD8, - Unknown_8375FE4, - Unknown_8375FF0, - Unknown_8375FFC + gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN + gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP + gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT + gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT + gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER + gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER + gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION + gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION + gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN + gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP + gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT + gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT + gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN + gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP + gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT + gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT + gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP + gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN + gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT + gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT + gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION + gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN + gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION + gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION + gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE + gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE + gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK + gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK + gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART + gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER + gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK + gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE + gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY + gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY + gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM + gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM + gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 + gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 + gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP + gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN + gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP + gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT + gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT + gMovementActionFuncs_AcroBumpFaceDown, // MOVEMENT_ACTION_ACRO_BUMP_FACE_DOWN + gMovementActionFuncs_AcroBumpFaceUp, // MOVEMENT_ACTION_ACRO_BUMP_FACE_UP + gMovementActionFuncs_AcroBumpFaceLeft, // MOVEMENT_ACTION_ACRO_BUMP_FACE_LEFT + gMovementActionFuncs_AcroBumpFaceRight, // MOVEMENT_ACTION_ACRO_BUMP_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN + gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP + gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT + gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN + gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP + gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT + gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT + gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN + gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP + gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT + gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT + gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN + gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP + gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT + gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT + gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroBumpMoveDown, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_DOWN + gMovementActionFuncs_AcroBumpMoveUp, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_UP + gMovementActionFuncs_AcroBumpMoveLeft, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_LEFT + gMovementActionFuncs_AcroBumpMoveRight, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_RIGHT }; @@ -863,529 +863,530 @@ u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct S MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375BFC[])(struct MapObject *, struct Sprite *) = { - sub_8061CF8, - sub_8061D18, +u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideDown_Step0, + MovementAction_SlideDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C08[])(struct MapObject *, struct Sprite *) = { - sub_8061D38, - sub_8061D58, +u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideUp_Step0, + MovementAction_SlideUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C14[])(struct MapObject *, struct Sprite *) = { - sub_8061D78, - sub_8061D98, +u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideLeft_Step0, + MovementAction_SlideLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C20[])(struct MapObject *, struct Sprite *) = { - sub_8061DB8, - sub_8061DD8, +u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideRight_Step0, + MovementAction_SlideRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C2C[])(struct MapObject *, struct Sprite *) = { - do_run_south_anim, - sub_8061E18, +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunDown_Step0, + MovementAction_PlayerRunDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C38[])(struct MapObject *, struct Sprite *) = { - do_run_north_anim, - sub_8061E58, +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunUp_Step0, + MovementAction_PlayerRunUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C44[])(struct MapObject *, struct Sprite *) = { - do_run_west_anim, - sub_8061E98, +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunLeft_Step0, + MovementAction_PlayerRunLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C50[])(struct MapObject *, struct Sprite *) = { - do_run_east_anim, - sub_8061ED8, +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunRight_Step0, + MovementAction_PlayerRunRight_Step1, MovementAction_PauseSpriteAnim }; u8 (*const Unknown_8375C5C[])(struct MapObject *, struct Sprite *) = { sub_8061F24, - sub_8061F3C, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C68[])(struct MapObject *, struct Sprite *) = { - sub_8061F90, - sub_8061FB0, +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialDown_Step0, + MovementAction_JumpSpecialDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C74[])(struct MapObject *, struct Sprite *) = { - sub_8061FD8, - sub_8061FF8, +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialUp_Step0, + MovementAction_JumpSpecialUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C80[])(struct MapObject *, struct Sprite *) = { - sub_8062020, - sub_8062040, +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialLeft_Step0, + MovementAction_JumpSpecialLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C8C[])(struct MapObject *, struct Sprite *) = { - sub_8062068, - sub_8062088, +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialRight_Step0, + MovementAction_JumpSpecialRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C98[])(struct MapObject *, struct Sprite *) = { - sub_80620B0, +u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *) = { + MovementAction_FacePlayer_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CA0[])(struct MapObject *, struct Sprite *) = { - sub_806210C, +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceAwayPlayer_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CA8[])(struct MapObject *, struct Sprite *) = { - sub_8062170, +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_LockFacingDirection_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CB0[])(struct MapObject *, struct Sprite *) = { - sub_8062180, +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnlockFacingDirection_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CB8[])(struct MapObject *, struct Sprite *) = { - sub_8062190, - sub_80621BC, +u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpDown_Step0, + MovementAction_JumpDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CC4[])(struct MapObject *, struct Sprite *) = { - sub_80621E8, - sub_8062214, +u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpUp_Step0, + MovementAction_JumpUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CD0[])(struct MapObject *, struct Sprite *) = { - sub_8062240, - sub_806226C, +u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpLeft_Step0, + MovementAction_JumpLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CDC[])(struct MapObject *, struct Sprite *) = { - sub_8062298, - sub_80622C4, +u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpRight_Step0, + MovementAction_JumpRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CE8[])(struct MapObject *, struct Sprite *) = { - sub_80622F0, - sub_806231C, +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDown_Step0, + MovementAction_JumpInPlaceDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375CF4[])(struct MapObject *, struct Sprite *) = { - sub_8062348, - sub_8062374, +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUp_Step0, + MovementAction_JumpInPlaceUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D00[])(struct MapObject *, struct Sprite *) = { - sub_80623A0, - sub_80623CC, +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeft_Step0, + MovementAction_JumpInPlaceLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D0C[])(struct MapObject *, struct Sprite *) = { - sub_80623F8, - sub_8062424, +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRight_Step0, + MovementAction_JumpInPlaceRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D18[])(struct MapObject *, struct Sprite *) = { - sub_8062450, - sub_806247C, +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDownUp_Step0, + MovementAction_JumpInPlaceDownUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D24[])(struct MapObject *, struct Sprite *) = { - sub_80624A8, - sub_80624D4, +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUpDown_Step0, + MovementAction_JumpInPlaceUpDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D30[])(struct MapObject *, struct Sprite *) = { - sub_8062500, - sub_806252C, +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeftRight_Step0, + MovementAction_JumpInPlaceLeftRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D3C[])(struct MapObject *, struct Sprite *) = { - sub_8062558, - sub_8062584, +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRightLeft_Step0, + MovementAction_JumpInPlaceRightLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D48[])(struct MapObject *, struct Sprite *) = { - sub_80625B0, +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceOriginalDirection_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D50[])(struct MapObject *, struct Sprite *) = { - sub_80625C8, - sub_8061F3C, +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_NurseJoyBowDown_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375D5C[])(struct MapObject *, struct Sprite *) = { - sub_80625D8, +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { + MovementAction_EnableJumpLandingGroundEffect_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D64[])(struct MapObject *, struct Sprite *) = { - sub_80625E8, +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { + MovementAction_DisableJumpLandingGroundEffect_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D6C[])(struct MapObject *, struct Sprite *) = { - sub_80625F8, +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *) = { + MovementAction_DisableAnimation_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D74[])(struct MapObject *, struct Sprite *) = { - sub_8062608, +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *) = { + MovementAction_RestoreAnimation_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D7C[])(struct MapObject *, struct Sprite *) = { - sub_8062634, +u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetInvisible_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D84[])(struct MapObject *, struct Sprite *) = { - sub_8062644, +u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetVisible_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D8C[])(struct MapObject *, struct Sprite *) = { - do_exclamation_mark_bubble_1, +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteExclamationMark_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D94[])(struct MapObject *, struct Sprite *) = { - do_exclamation_mark_bubble_2, +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteQuestionMark_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375D9C[])(struct MapObject *, struct Sprite *) = { - do_heart_bubble, +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteHeart_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375DA4[])(struct MapObject *, struct Sprite *) = { - sub_80626C0, - sub_8062704, +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *) = { + MovementAction_RevealTrainer_Step0, + MovementAction_RevealTrainer_Step1, MovementAction_Finish }; -u8 (*const Unknown_8375DB0[])(struct MapObject *, struct Sprite *) = { - sub_8062724, - sub_8062740, - sub_8062764, +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *) = { + MovementAction_RockSmashBreak_Step0, + MovementAction_RockSmashBreak_Step1, + MovementAction_RockSmashBreak_Step2, MovementAction_Finish }; -u8 (*const Unknown_8375DC0[])(struct MapObject *, struct Sprite *) = { - sub_80627A0, - sub_80627BC, - sub_80627E0, +u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *) = { + MovementAction_CutTree_Step0, + MovementAction_CutTree_Step1, + MovementAction_CutTree_Step2, MovementAction_Finish }; -u8 (*const Unknown_8375DD0[])(struct MapObject *, struct Sprite *) = { - sub_806281C, +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetFixedPriority_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375DD8[])(struct MapObject *, struct Sprite *) = { - sub_806282C, +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *) = { + MovementAction_ClearFixedPriority_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375DE0[])(struct MapObject *, struct Sprite *) = { - sub_806283C, +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *) = { + MovementAction_InitAffineAnim_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375DE8[])(struct MapObject *, struct Sprite *) = { - sub_806286C, +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *) = { + MovementAction_ClearAffineAnim_Step0, MovementAction_Finish }; -u8 (*const Unknown_8375DF0[])(struct MapObject *, struct Sprite *) = { - sub_806289C, - sub_80628D0, +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkDownAffine0_Step0, + MovementAction_WalkDownAffine0_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375DFC[])(struct MapObject *, struct Sprite *) = { - sub_80628FC, - sub_8062930, +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkDownAffine1_Step0, + MovementAction_WalkDownAffine1_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E08[])(struct MapObject *, struct Sprite *) = { - sub_806299C, +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceDown_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E10[])(struct MapObject *, struct Sprite *) = { - sub_80629AC, +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceUp_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E18[])(struct MapObject *, struct Sprite *) = { - sub_80629BC, +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceLeft_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E20[])(struct MapObject *, struct Sprite *) = { - sub_80629CC, +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceRight_Step0, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E28[])(struct MapObject *, struct Sprite *) = { - sub_80629DC, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieDown_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E34[])(struct MapObject *, struct Sprite *) = { - sub_8062A00, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieUp_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E40[])(struct MapObject *, struct Sprite *) = { - sub_8062A24, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieLeft_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E4C[])(struct MapObject *, struct Sprite *) = { - sub_8062A48, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieRight_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E58[])(struct MapObject *, struct Sprite *) = { - sub_8062A6C, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroBumpFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpFaceDown_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E64[])(struct MapObject *, struct Sprite *) = { - sub_8062A90, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroBumpFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpFaceUp_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E70[])(struct MapObject *, struct Sprite *) = { - sub_8062AB4, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroBumpFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpFaceLeft_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375E7C[])(struct MapObject *, struct Sprite *) = { - sub_8062AD8, - sub_8061F3C, +u8 (*const gMovementActionFuncs_AcroBumpFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpFaceRight_Step0, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, + // The rest in this array are unreachable acro-bike-related actions sub_8062AFC, - sub_8061F3C, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, sub_8062B20, - sub_8061F3C, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, sub_8062B44, - sub_8061F3C, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, sub_8062B68, - sub_8061F3C, + MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375EB8[])(struct MapObject *, struct Sprite *) = { - sub_8062BD0, - sub_8062BFC, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceDown_Step0, + MovementAction_AcroWheelieHopFaceDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375EC4[])(struct MapObject *, struct Sprite *) = { - sub_8062C28, - sub_8062C54, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceUp_Step0, + MovementAction_AcroWheelieHopFaceUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375ED0[])(struct MapObject *, struct Sprite *) = { - sub_8062C80, - sub_8062CAC, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceLeft_Step0, + MovementAction_AcroWheelieHopFaceLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375EDC[])(struct MapObject *, struct Sprite *) = { - sub_8062CD8, - sub_8062D04, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceRight_Step0, + MovementAction_AcroWheelieHopFaceRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375EE8[])(struct MapObject *, struct Sprite *) = { - sub_8062D30, - sub_8062D5C, +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopDown_Step0, + MovementAction_AcroWheelieHopDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375EF4[])(struct MapObject *, struct Sprite *) = { - sub_8062D88, - sub_8062DB4, +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopUp_Step0, + MovementAction_AcroWheelieHopUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F00[])(struct MapObject *, struct Sprite *) = { - sub_8062DE0, - sub_8062E0C, +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopLeft_Step0, + MovementAction_AcroWheelieHopLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F0C[])(struct MapObject *, struct Sprite *) = { - sub_8062E38, - sub_8062E64, +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopRight_Step0, + MovementAction_AcroWheelieHopRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F18[])(struct MapObject *, struct Sprite *) = { - sub_8062E90, - sub_8062EBC, +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpDown_Step0, + MovementAction_AcroWheelieJumpDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F24[])(struct MapObject *, struct Sprite *) = { - sub_8062EE8, - sub_8062F14, +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpUp_Step0, + MovementAction_AcroWheelieJumpUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F30[])(struct MapObject *, struct Sprite *) = { - sub_8062F40, - sub_8062F6C, +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpLeft_Step0, + MovementAction_AcroWheelieJumpLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F3C[])(struct MapObject *, struct Sprite *) = { - sub_8062F98, - sub_8062FC4, +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpRight_Step0, + MovementAction_AcroWheelieJumpRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F48[])(struct MapObject *, struct Sprite *) = { - sub_8062FF0, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceDown_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F54[])(struct MapObject *, struct Sprite *) = { - sub_8063028, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceUp_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F60[])(struct MapObject *, struct Sprite *) = { - sub_8063060, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceLeft_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F6C[])(struct MapObject *, struct Sprite *) = { - sub_8063098, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceRight_Step0, MovementAction_WalkInPlace_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F78[])(struct MapObject *, struct Sprite *) = { - sub_8063108, - sub_8063128, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveDown_Step0, + MovementAction_AcroPopWheelieMoveDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F84[])(struct MapObject *, struct Sprite *) = { - sub_8063148, - sub_8063168, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveUp_Step0, + MovementAction_AcroPopWheelieMoveUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F90[])(struct MapObject *, struct Sprite *) = { - sub_8063188, - sub_80631A8, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveLeft_Step0, + MovementAction_AcroPopWheelieMoveLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375F9C[])(struct MapObject *, struct Sprite *) = { - sub_80631C8, - sub_80631E8, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveRight_Step0, + MovementAction_AcroPopWheelieMoveRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FA8[])(struct MapObject *, struct Sprite *) = { - sub_8063238, - sub_8063258, +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveDown_Step0, + MovementAction_AcroWheelieMoveDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FB4[])(struct MapObject *, struct Sprite *) = { - sub_8063278, - sub_8063298, +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveUp_Step0, + MovementAction_AcroWheelieMoveUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FC0[])(struct MapObject *, struct Sprite *) = { - sub_80632B8, - sub_80632D8, +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveLeft_Step0, + MovementAction_AcroWheelieMoveLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FCC[])(struct MapObject *, struct Sprite *) = { - sub_80632F8, - sub_8063318, +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveRight_Step0, + MovementAction_AcroWheelieMoveRight_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FD8[])(struct MapObject *, struct Sprite *) = { - sub_8063370, - sub_8063390, +u8 (*const gMovementActionFuncs_AcroBumpMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpMoveDown_Step0, + MovementAction_AcroBumpMoveDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FE4[])(struct MapObject *, struct Sprite *) = { - sub_80633B0, - sub_80633D0, +u8 (*const gMovementActionFuncs_AcroBumpMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpMoveUp_Step0, + MovementAction_AcroBumpMoveUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FF0[])(struct MapObject *, struct Sprite *) = { - sub_80633F0, - sub_8063410, +u8 (*const gMovementActionFuncs_AcroBumpMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpMoveLeft_Step0, + MovementAction_AcroBumpMoveLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375FFC[])(struct MapObject *, struct Sprite *) = { - sub_8063430, - sub_8063450, +u8 (*const gMovementActionFuncs_AcroBumpMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroBumpMoveRight_Step0, + MovementAction_AcroBumpMoveRight_Step1, MovementAction_PauseSpriteAnim }; diff --git a/src/data/field_map_obj/callback_subroutine_pointers.h b/src/data/field_map_obj/callback_subroutine_pointers.h index e9b648b88..04bbb2479 100644 --- a/src/data/field_map_obj/callback_subroutine_pointers.h +++ b/src/data/field_map_obj/callback_subroutine_pointers.h @@ -401,7 +401,7 @@ u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, CopyablePlayerMovement_GoSpeed0, CopyablePlayerMovement_GoSpeed1, CopyablePlayerMovement_GoSpeed2, - CopyablePlayerMovement_GoSpeed3, + CopyablePlayerMovement_Slide, cph_IM_DIFFERENT, CopyablePlayerMovement_GoSpeed4, CopyablePlayerMovement_Jump, diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 8613f1f03..85714e1c2 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2103,8 +2103,20 @@ const u8 gWalkFastestMovementActions[] = { MOVEMENT_ACTION_WALK_FASTEST_LEFT, MOVEMENT_ACTION_WALK_FASTEST_RIGHT, }; -const u8 gUnknown_083756E6[] = {0x31, 0x31, 0x32, 0x33, 0x34}; -const u8 gUnknown_083756EB[] = {0x35, 0x35, 0x36, 0x37, 0x38}; +const u8 gSlideMovementActions[] = { + MOVEMENT_ACTION_SLIDE_DOWN, + MOVEMENT_ACTION_SLIDE_DOWN, + MOVEMENT_ACTION_SLIDE_UP, + MOVEMENT_ACTION_SLIDE_LEFT, + MOVEMENT_ACTION_SLIDE_RIGHT, +}; +const u8 gPlayerRunMovementActions[] = { + MOVEMENT_ACTION_PLAYER_RUN_DOWN, + MOVEMENT_ACTION_PLAYER_RUN_DOWN, + MOVEMENT_ACTION_PLAYER_RUN_UP, + MOVEMENT_ACTION_PLAYER_RUN_LEFT, + MOVEMENT_ACTION_PLAYER_RUN_RIGHT, +}; const u8 gJump2MovementActions[] = { MOVEMENT_ACTION_JUMP_2_DOWN, MOVEMENT_ACTION_JUMP_2_DOWN, @@ -2112,10 +2124,34 @@ const u8 gJump2MovementActions[] = { MOVEMENT_ACTION_JUMP_2_LEFT, MOVEMENT_ACTION_JUMP_2_RIGHT, }; -const u8 gUnknown_083756F5[] = {0x46, 0x46, 0x47, 0x48, 0x49}; -const u8 gUnknown_083756FA[] = {0x4B, 0x4B, 0x4A, 0x4D, 0x4C}; -const u8 gUnknown_083756FF[] = {0x42, 0x42, 0x43, 0x44, 0x45}; -const u8 gUnknown_08375704[] = {0x3A, 0x3A, 0x3B, 0x3C, 0x3D}; +const u8 gJumpInPlaceMovementActions[] = { + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_UP, + MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT, + MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT, +}; +const u8 gJumpInPlaceTurnAroundMovementActions[] = { + MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP, + MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT, + MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT, +}; +const u8 gJumpMovementActions[] = { + MOVEMENT_ACITON_JUMP_DOWN, + MOVEMENT_ACITON_JUMP_DOWN, + MOVEMENT_ACITON_JUMP_UP, + MOVEMENT_ACITON_JUMP_LEFT, + MOVEMENT_ACITON_JUMP_RIGHT, +}; +const u8 gJumpSpecialMovementActions[] = { + MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, + MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, + MOVEMENT_ACTION_JUMP_SPECIAL_UP, + MOVEMENT_ACTION_JUMP_SPECIAL_LEFT, + MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT, +}; const u8 gWalkInPlaceSlowMovementActions[] = { MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, @@ -5248,7 +5284,7 @@ bool8 CopyablePlayerMovement_GoSpeed2(struct MapObject *mapObject, struct Sprite return TRUE; } -bool8 CopyablePlayerMovement_GoSpeed3(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_Slide(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; @@ -5257,7 +5293,7 @@ bool8 CopyablePlayerMovement_GoSpeed3(struct MapObject *mapObject, struct Sprite direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, sub_80607C8(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetSlideMovementAction(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); @@ -5273,7 +5309,7 @@ bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 pl direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectSetSingleMovement(mapObject, sprite, sub_806084C(direction)); + FieldObjectSetSingleMovement(mapObject, sprite, GetJumpInPlaceMovementAction(direction)); mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; @@ -5572,21 +5608,15 @@ void sub_805FE64(struct MapObject *mapObject, struct Sprite *sprite, u8 movement } } -u8 sub_805FE90(s16 a0, s16 a1, s16 a2, s16 a3) +static u8 GetDirectionToFace(s16 x1, s16 y1, s16 x2, s16 y2) { - if (a0 > a2) - { + if (x1 > x2) return DIR_WEST; - } else if (a0 < a2) - { + if (x1 < x2) return DIR_EAST; - } else if (a1 > a3) - { + if (y1 > y2) return DIR_NORTH; - } else - { - return DIR_SOUTH; - } + return DIR_SOUTH; } void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType) @@ -5950,13 +5980,13 @@ dirn_to_anim(GetWalkNormalMovementAction, gWalkNormalMovementActions) dirn_to_anim(GetWalkFastMovementAction, gWalkFastMovementActions) dirn_to_anim(GetRideWaterCurrentMovementAction, gRideWaterCurrentMovementActions) dirn_to_anim(GetWalkFastestMovementAction, gWalkFastestMovementActions) -dirn_to_anim(sub_80607C8, gUnknown_083756E6) -dirn_to_anim(sub_80607F4, gUnknown_083756EB) +dirn_to_anim(GetSlideMovementAction, gSlideMovementActions) +dirn_to_anim(GetPlayerRunMovementAction, gPlayerRunMovementActions) dirn_to_anim(GetJump2MovementAction, gJump2MovementActions) -dirn_to_anim(sub_806084C, gUnknown_083756F5) -dirn_to_anim(sub_8060878, gUnknown_083756FA) -dirn_to_anim(sub_80608A4, gUnknown_083756FF) -dirn_to_anim(sub_80608D0, gUnknown_08375704) +dirn_to_anim(GetJumpInPlaceMovementAction, gJumpInPlaceMovementActions) +dirn_to_anim(GetJumpInPlaceTurnAroundMovementAction, gJumpInPlaceTurnAroundMovementActions) +dirn_to_anim(sub_80608A4, gJumpMovementActions) +dirn_to_anim(GetJumpSpecialMovementAction, gJumpSpecialMovementActions) dirn_to_anim(GetWalkInPlaceSlowMovementAction, gWalkInPlaceSlowMovementActions) dirn_to_anim(GetWalkInPlaceNormalMovementAction, gWalkInPlaceNormalMovementActions) dirn_to_anim(GetWalkInPlaceFastMovementAction, gWalkInPlaceFastMovementActions) @@ -6945,15 +6975,15 @@ bool8 MovementAction_WalkFastestRight_Step1(struct MapObject *mapObject, struct return FALSE; } -bool8 sub_8061D18(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061CF8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_SOUTH, 4); - return sub_8061D18(mapObject, sprite); + return MovementAction_SlideDown_Step1(mapObject, sprite); } -bool8 sub_8061D18(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6963,15 +6993,15 @@ bool8 sub_8061D18(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061D58(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061D38(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_NORTH, 4); - return sub_8061D58(mapObject, sprite); + return MovementAction_SlideUp_Step1(mapObject, sprite); } -bool8 sub_8061D58(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -6982,15 +7012,15 @@ bool8 sub_8061D58(struct MapObject *mapObject, struct Sprite *sprite) } -bool8 sub_8061D98(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061D78(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_WEST, 4); - return sub_8061D98(mapObject, sprite); + return MovementAction_SlideLeft_Step1(mapObject, sprite); } -bool8 sub_8061D98(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -7001,15 +7031,15 @@ bool8 sub_8061D98(struct MapObject *mapObject, struct Sprite *sprite) } -bool8 sub_8061DD8(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061DB8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_go_anim(mapObject, sprite, DIR_EAST, 4); - return sub_8061DD8(mapObject, sprite); + return MovementAction_SlideRight_Step1(mapObject, sprite); } -bool8 sub_8061DD8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -7019,15 +7049,15 @@ bool8 sub_8061DD8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061E18(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); -bool8 do_run_south_anim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_run_anim(mapObject, sprite, DIR_SOUTH); - return sub_8061E18(mapObject, sprite); + return MovementAction_PlayerRunDown_Step1(mapObject, sprite); } -bool8 sub_8061E18(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -7037,15 +7067,15 @@ bool8 sub_8061E18(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061E58(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); -bool8 do_run_north_anim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_run_anim(mapObject, sprite, DIR_NORTH); - return sub_8061E58(mapObject, sprite); + return MovementAction_PlayerRunUp_Step1(mapObject, sprite); } -bool8 sub_8061E58(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -7055,15 +7085,15 @@ bool8 sub_8061E58(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061E98(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); -bool8 do_run_west_anim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_run_anim(mapObject, sprite, DIR_WEST); - return sub_8061E98(mapObject, sprite); + return MovementAction_PlayerRunLeft_Step1(mapObject, sprite); } -bool8 sub_8061E98(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -7073,15 +7103,15 @@ bool8 sub_8061E98(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061ED8(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); -bool8 do_run_east_anim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { do_run_anim(mapObject, sprite, DIR_EAST); - return sub_8061ED8(mapObject, sprite); + return MovementAction_PlayerRunRight_Step1(mapObject, sprite); } -bool8 sub_8061ED8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -7091,22 +7121,22 @@ bool8 sub_8061ED8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum) +void StartSpriteAnimInDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum) { - obj_anim_image_set_and_seek(sprite, animNum, 0); + SetAndStartSpriteAnim(sprite, animNum, 0); FieldObjectSetDirection(mapObject, direction); sprite->data[2] = 1; } bool8 sub_8061F24(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->movementDirection, sprite->animNum); + StartSpriteAnimInDirection(mapObject, sprite, mapObject->movementDirection, sprite->animNum); return FALSE; } bool8 SpriteAnimEnded(struct Sprite *); -bool8 sub_8061F3C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WaitSpriteAnim(struct MapObject *mapObject, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -7122,15 +7152,15 @@ void sub_8061F5C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio StartSpriteAnim(sprite, GetWalkFastMovementAction_Extended(direction)); } -bool8 sub_8061FB0(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061F90(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061F5C(mapObject, sprite, DIR_SOUTH); - return sub_8061FB0(mapObject, sprite); + return MovementAction_JumpSpecialDown_Step1(mapObject, sprite); } -bool8 sub_8061FB0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061340(mapObject, sprite)) { @@ -7141,15 +7171,15 @@ bool8 sub_8061FB0(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8061FF8(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8061FD8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061F5C(mapObject, sprite, DIR_NORTH); - return sub_8061FF8(mapObject, sprite); + return MovementAction_JumpSpecialUp_Step1(mapObject, sprite); } -bool8 sub_8061FF8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061340(mapObject, sprite)) { @@ -7160,15 +7190,15 @@ bool8 sub_8061FF8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062040(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062020(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061F5C(mapObject, sprite, DIR_WEST); - return sub_8062040(mapObject, sprite); + return MovementAction_JumpSpecialLeft_Step1(mapObject, sprite); } -bool8 sub_8062040(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061340(mapObject, sprite)) { @@ -7179,15 +7209,15 @@ bool8 sub_8062040(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062088(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062068(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8061F5C(mapObject, sprite, DIR_EAST); - return sub_8062088(mapObject, sprite); + return MovementAction_JumpSpecialRight_Step1(mapObject, sprite); } -bool8 sub_8062088(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061340(mapObject, sprite)) { @@ -7198,51 +7228,51 @@ bool8 sub_8062088(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80620B0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_FacePlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - u8 objectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), &objectId)) + u8 playerObjectId; + if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) { - FaceDirection(mapObject, sprite, sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y)); + FaceDirection(mapObject, sprite, GetDirectionToFace(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[playerObjectId].currentCoords.x, gMapObjects[playerObjectId].currentCoords.y)); } sprite->data[2] = 1; return TRUE; } -bool8 sub_806210C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - u8 objectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, MAP_GROUP(PETALBURG_CITY), MAP_NUM(PETALBURG_CITY), &objectId)) + u8 playerObjectId; + if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) { - FaceDirection(mapObject, sprite, GetOppositeDirection(sub_805FE90(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[objectId].currentCoords.x, gMapObjects[objectId].currentCoords.y))); + FaceDirection(mapObject, sprite, GetOppositeDirection(GetDirectionToFace(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[playerObjectId].currentCoords.x, gMapObjects[playerObjectId].currentCoords.y))); } sprite->data[2] = 1; return TRUE; } -bool8 sub_8062170(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_LockFacingDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->facingDirectionLocked = 1; sprite->data[2] = 1; return TRUE; } -bool8 sub_8062180(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->facingDirectionLocked = 0; sprite->data[2] = 1; return TRUE; } -bool8 sub_80621BC(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_8062190(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 1, 2); - return sub_80621BC(mapObject, sprite); + return MovementAction_JumpDown_Step1(mapObject, sprite); } -bool8 sub_80621BC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7253,15 +7283,15 @@ bool8 sub_80621BC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062214(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_80621E8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_NORTH, 1, 2); - return sub_8062214(mapObject, sprite); + return MovementAction_JumpUp_Step1(mapObject, sprite); } -bool8 sub_8062214(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7272,15 +7302,15 @@ bool8 sub_8062214(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806226C(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_8062240(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_WEST, 1, 2); - return sub_806226C(mapObject, sprite); + return MovementAction_JumpLeft_Step1(mapObject, sprite); } -bool8 sub_806226C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7291,15 +7321,15 @@ bool8 sub_806226C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80622C4(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_8062298(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_EAST, 1, 2); - return sub_80622C4(mapObject, sprite); + return MovementAction_JumpRight_Step1(mapObject, sprite); } -bool8 sub_80622C4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7310,15 +7340,15 @@ bool8 sub_80622C4(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806231C(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_80622F0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 0, 0); - return sub_806231C(mapObject, sprite); + return MovementAction_JumpInPlaceDown_Step1(mapObject, sprite); } -bool8 sub_806231C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7329,15 +7359,15 @@ bool8 sub_806231C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062374(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_8062348(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_NORTH, 0, 0); - return sub_8062374(mapObject, sprite); + return MovementAction_JumpInPlaceUp_Step1(mapObject, sprite); } -bool8 sub_8062374(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7348,15 +7378,15 @@ bool8 sub_8062374(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80623CC(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_80623A0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_WEST, 0, 0); - return sub_80623CC(mapObject, sprite); + return MovementAction_JumpInPlaceLeft_Step1(mapObject, sprite); } -bool8 sub_80623CC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7367,15 +7397,15 @@ bool8 sub_80623CC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062424(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_80623F8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_EAST, 0, 0); - return sub_8062424(mapObject, sprite); + return MovementAction_JumpInPlaceRight_Step1(mapObject, sprite); } -bool8 sub_8062424(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7386,15 +7416,15 @@ bool8 sub_8062424(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806247C(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_8062450(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 0, 2); - return sub_806247C(mapObject, sprite); + return MovementAction_JumpInPlaceDownUp_Step1(mapObject, sprite); } -bool8 sub_806247C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { @@ -7405,15 +7435,15 @@ bool8 sub_806247C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80624D4(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_80624A8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_NORTH, 0, 2); - return sub_80624D4(mapObject, sprite); + return MovementAction_JumpInPlaceUpDown_Step1(mapObject, sprite); } -bool8 sub_80624D4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { @@ -7424,15 +7454,15 @@ bool8 sub_80624D4(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806252C(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_8062500(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_WEST, 0, 2); - return sub_806252C(mapObject, sprite); + return MovementAction_JumpInPlaceLeftRight_Step1(mapObject, sprite); } -bool8 sub_806252C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { @@ -7443,15 +7473,15 @@ bool8 sub_806252C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 sub_8062558(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { maybe_shadow_1(mapObject, sprite, DIR_EAST, 0, 2); - return sub_8062584(mapObject, sprite); + return MovementAction_JumpInPlaceRightLeft_Step1(mapObject, sprite); } -bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061358(mapObject, sprite)) { @@ -7462,77 +7492,77 @@ bool8 sub_8062584(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80625B0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) { FaceDirection(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]); return TRUE; } -bool8 sub_80625C8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, 0x14); + StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, 0x14); return FALSE; } -bool8 sub_80625D8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->disableJumpLandingGroundEffect = 0; sprite->data[2] = 1; return TRUE; } -bool8 sub_80625E8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->disableJumpLandingGroundEffect = 1; sprite->data[2] = 1; return TRUE; } -bool8 sub_80625F8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_DisableAnimation_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->inanimate = 1; sprite->data[2] = 1; return TRUE; } -bool8 sub_8062608(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RestoreAnimation_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; sprite->data[2] = 1; return TRUE; } -bool8 sub_8062634(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SetInvisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->invisible = 1; sprite->data[2] = 1; return TRUE; } -bool8 sub_8062644(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SetVisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->invisible = 0; sprite->data[2] = 1; return TRUE; } -bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); sprite->data[2] = 1; return TRUE; } -bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); + FieldEffectStart(FLDEFF_QUESTION_MARK_ICON); sprite->data[2] = 1; return TRUE; } -bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EmoteHeart_Step0(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_HEART_ICON); @@ -7540,9 +7570,9 @@ bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) return TRUE; } -bool8 sub_8062704(struct MapObject *, struct Sprite *); +bool8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80626C0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RevealTrainer_Step0(struct MapObject *mapObject, struct Sprite *sprite) { if (mapObject->movementType == MOVEMENT_TYPE_HIDDEN) { @@ -7558,11 +7588,11 @@ bool8 sub_80626C0(struct MapObject *mapObject, struct Sprite *sprite) { sub_812869C(mapObject); sprite->data[2] = 1; - return sub_8062704(mapObject, sprite); + return MovementAction_RevealTrainer_Step1(mapObject, sprite); } } -bool8 sub_8062704(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RevealTrainer_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_81286C4(mapObject)) { @@ -7572,14 +7602,14 @@ bool8 sub_8062704(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062724(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - obj_anim_image_set_and_seek(sprite, 1, 0); + SetAndStartSpriteAnim(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -7589,7 +7619,7 @@ bool8 sub_8062740(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062764(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step2(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->invisible ^= 1; if (WaitForMovementDelay(sprite)) @@ -7600,14 +7630,14 @@ bool8 sub_8062764(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80627A0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - obj_anim_image_set_and_seek(sprite, 1, 0); + SetAndStartSpriteAnim(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -7617,7 +7647,7 @@ bool8 sub_80627BC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80627E0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step2(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->invisible ^= 1; if (WaitForMovementDelay(sprite)) @@ -7628,48 +7658,48 @@ bool8 sub_80627E0(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_806281C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SetFixedPriority_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->fixedPriority = 1; sprite->data[2] = 1; return TRUE; } -bool8 sub_806282C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_ClearFixedPriority_Step0(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->fixedPriority = 0; sprite->data[2] = 1; return TRUE; } -bool8 sub_806283C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_InitAffineAnim_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sprite->oam.affineMode = 3; + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; InitSpriteAffineAnim(sprite); sprite->affineAnimPaused = 1; sprite->subspriteMode = 0; return TRUE; } -bool8 sub_806286C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_ClearAffineAnim_Step0(struct MapObject *mapObject, struct Sprite *sprite) { FreeOamMatrix(sprite->oam.matrixNum); - sprite->oam.affineMode = 0; + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); return TRUE; } -bool8 sub_80628D0(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); -bool8 sub_806289C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine0_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8060ED8(mapObject, sprite, DIR_SOUTH); sprite->affineAnimPaused = 0; StartSpriteAffineAnimIfDifferent(sprite, 0); - return sub_80628D0(mapObject, sprite); + return MovementAction_WalkDownAffine0_Step1(mapObject, sprite); } -bool8 sub_80628D0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine0_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (an_walk_any_2(mapObject, sprite)) { @@ -7680,17 +7710,17 @@ bool8 sub_80628D0(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062930(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80628FC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine1_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8060ED8(mapObject, sprite, DIR_SOUTH); sprite->affineAnimPaused = 0; ChangeSpriteAffineAnimIfDifferent(sprite, 1); - return sub_8062930(mapObject, sprite); + return MovementAction_WalkDownAffine1_Step1(mapObject, sprite); } -bool8 sub_8062930(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine1_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (an_walk_any_2(mapObject, sprite)) { @@ -7710,99 +7740,99 @@ void sub_806295C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio sprite->data[2] = 1; } -bool8 sub_806299C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_806295C(mapObject, sprite, DIR_SOUTH); return TRUE; } -bool8 sub_80629AC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_806295C(mapObject, sprite, DIR_NORTH); return TRUE; } -bool8 sub_80629BC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_806295C(mapObject, sprite, DIR_WEST); return TRUE; } -bool8 sub_80629CC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_806295C(mapObject, sprite, DIR_EAST); return TRUE; } -bool8 sub_80629DC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, GetWalkFastMovementAction_Extended2(DIR_SOUTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetWalkFastMovementAction_Extended2(DIR_SOUTH)); return FALSE; } -bool8 sub_8062A00(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_NORTH, GetWalkFastMovementAction_Extended2(DIR_NORTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetWalkFastMovementAction_Extended2(DIR_NORTH)); return FALSE; } -bool8 sub_8062A24(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_WEST, GetWalkFastMovementAction_Extended2(DIR_WEST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetWalkFastMovementAction_Extended2(DIR_WEST)); return FALSE; } -bool8 sub_8062A48(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_EAST, GetWalkFastMovementAction_Extended2(DIR_EAST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetWalkFastMovementAction_Extended2(DIR_EAST)); return FALSE; } -bool8 sub_8062A6C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, sub_805FDB8(DIR_SOUTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, sub_805FDB8(DIR_SOUTH)); return FALSE; } -bool8 sub_8062A90(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_NORTH, sub_805FDB8(DIR_NORTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, sub_805FDB8(DIR_NORTH)); return FALSE; } -bool8 sub_8062AB4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_WEST, sub_805FDB8(DIR_WEST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, sub_805FDB8(DIR_WEST)); return FALSE; } -bool8 sub_8062AD8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_EAST, sub_805FDB8(DIR_EAST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, sub_805FDB8(DIR_EAST)); return FALSE; } bool8 sub_8062AFC(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, sub_805FDC8(DIR_SOUTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, sub_805FDC8(DIR_SOUTH)); return FALSE; } bool8 sub_8062B20(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_NORTH, sub_805FDC8(DIR_NORTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, sub_805FDC8(DIR_NORTH)); return FALSE; } bool8 sub_8062B44(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_WEST, sub_805FDC8(DIR_WEST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, sub_805FDC8(DIR_WEST)); return FALSE; } bool8 sub_8062B68(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_EAST, sub_805FDC8(DIR_EAST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, sub_805FDC8(DIR_EAST)); return FALSE; } @@ -7813,15 +7843,15 @@ void sub_8062B8C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio DoShadowFieldEffect(mapObject); } -bool8 sub_8062BFC(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062BD0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_SOUTH, 0, 1); - return sub_8062BFC(mapObject, sprite); + return MovementAction_AcroWheelieHopFaceDown_Step1(mapObject, sprite); } -bool8 sub_8062BFC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7832,15 +7862,15 @@ bool8 sub_8062BFC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062C54(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062C28(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_NORTH, 0, 1); - return sub_8062C54(mapObject, sprite); + return MovementAction_AcroWheelieHopFaceUp_Step1(mapObject, sprite); } -bool8 sub_8062C54(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7851,15 +7881,15 @@ bool8 sub_8062C54(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062CAC(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062C80(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_WEST, 0, 1); - return sub_8062CAC(mapObject, sprite); + return MovementAction_AcroWheelieHopFaceLeft_Step1(mapObject, sprite); } -bool8 sub_8062CAC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7870,15 +7900,15 @@ bool8 sub_8062CAC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062D04(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062CD8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_EAST, 0, 1); - return sub_8062D04(mapObject, sprite); + return MovementAction_AcroWheelieHopFaceRight_Step1(mapObject, sprite); } -bool8 sub_8062D04(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7889,15 +7919,15 @@ bool8 sub_8062D04(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062D5C(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062D30(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_SOUTH, 1, 1); - return sub_8062D5C(mapObject, sprite); + return MovementAction_AcroWheelieHopDown_Step1(mapObject, sprite); } -bool8 sub_8062D5C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7908,15 +7938,15 @@ bool8 sub_8062D5C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062DB4(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062D88(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_NORTH, 1, 1); - return sub_8062DB4(mapObject, sprite); + return MovementAction_AcroWheelieHopUp_Step1(mapObject, sprite); } -bool8 sub_8062DB4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7927,15 +7957,15 @@ bool8 sub_8062DB4(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062E0C(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062DE0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_WEST, 1, 1); - return sub_8062E0C(mapObject, sprite); + return MovementAction_AcroWheelieHopLeft_Step1(mapObject, sprite); } -bool8 sub_8062E0C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7946,15 +7976,15 @@ bool8 sub_8062E0C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062E64(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062E38(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_EAST, 1, 1); - return sub_8062E64(mapObject, sprite); + return MovementAction_AcroWheelieHopRight_Step1(mapObject, sprite); } -bool8 sub_8062E64(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7965,15 +7995,15 @@ bool8 sub_8062E64(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062EBC(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062E90(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_SOUTH, 2, 0); - return sub_8062EBC(mapObject, sprite); + return MovementAction_AcroWheelieJumpDown_Step1(mapObject, sprite); } -bool8 sub_8062EBC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -7984,15 +8014,15 @@ bool8 sub_8062EBC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062F14(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062EE8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_NORTH, 2, 0); - return sub_8062F14(mapObject, sprite); + return MovementAction_AcroWheelieJumpUp_Step1(mapObject, sprite); } -bool8 sub_8062F14(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -8003,15 +8033,15 @@ bool8 sub_8062F14(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062F6C(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062F40(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_WEST, 2, 0); - return sub_8062F6C(mapObject, sprite); + return MovementAction_AcroWheelieJumpLeft_Step1(mapObject, sprite); } -bool8 sub_8062F6C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -8022,15 +8052,15 @@ bool8 sub_8062F6C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062FC4(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8062F98(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8062B8C(mapObject, sprite, DIR_EAST, 2, 0); - return sub_8062FC4(mapObject, sprite); + return MovementAction_AcroWheelieJumpRight_Step1(mapObject, sprite); } -bool8 sub_8062FC4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_8061328(mapObject, sprite)) { @@ -8041,25 +8071,25 @@ bool8 sub_8062FC4(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8062FF0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_SOUTH, sub_805FDD8(DIR_SOUTH), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8063028(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_NORTH, sub_805FDD8(DIR_NORTH), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8063060(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_WEST, sub_805FDD8(DIR_WEST), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } -bool8 sub_8063098(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80616CC(mapObject, sprite, DIR_EAST, sub_805FDD8(DIR_EAST), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); @@ -8072,15 +8102,15 @@ void sub_80630D0(struct MapObject *mapObject, struct Sprite *sprite, u8 directio SeekSpriteAnim(sprite, 0); } -bool8 sub_8063128(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8063108(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80630D0(mapObject, sprite, DIR_SOUTH, 1); - return sub_8063128(mapObject, sprite); + return MovementAction_AcroPopWheelieMoveDown_Step1(mapObject, sprite); } -bool8 sub_8063128(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8090,15 +8120,15 @@ bool8 sub_8063128(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8063168(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8063148(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80630D0(mapObject, sprite, DIR_NORTH, 1); - return sub_8063168(mapObject, sprite); + return MovementAction_AcroPopWheelieMoveUp_Step1(mapObject, sprite); } -bool8 sub_8063168(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8108,15 +8138,15 @@ bool8 sub_8063168(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80631A8(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8063188(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80630D0(mapObject, sprite, DIR_WEST, 1); - return sub_80631A8(mapObject, sprite); + return MovementAction_AcroPopWheelieMoveLeft_Step1(mapObject, sprite); } -bool8 sub_80631A8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8126,15 +8156,15 @@ bool8 sub_80631A8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80631E8(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80631C8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_80630D0(mapObject, sprite, DIR_EAST, 1); - return sub_80631E8(mapObject, sprite); + return MovementAction_AcroPopWheelieMoveRight_Step1(mapObject, sprite); } -bool8 sub_80631E8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8150,15 +8180,15 @@ void sub_8063208(struct MapObject *mapObject, struct Sprite *sprite, u8 directio sub_805FE28(mapObject, sprite, sub_805FDD8(mapObject->facingDirection)); } -bool8 sub_8063258(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8063238(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063208(mapObject, sprite, DIR_SOUTH, 1); - return sub_8063258(mapObject, sprite); + return MovementAction_AcroWheelieMoveDown_Step1(mapObject, sprite); } -bool8 sub_8063258(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8168,15 +8198,15 @@ bool8 sub_8063258(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8063298(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8063278(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063208(mapObject, sprite, DIR_NORTH, 1); - return sub_8063298(mapObject, sprite); + return MovementAction_AcroWheelieMoveUp_Step1(mapObject, sprite); } -bool8 sub_8063298(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8186,15 +8216,15 @@ bool8 sub_8063298(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80632D8(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80632B8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063208(mapObject, sprite, DIR_WEST, 1); - return sub_80632D8(mapObject, sprite); + return MovementAction_AcroWheelieMoveLeft_Step1(mapObject, sprite); } -bool8 sub_80632D8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8204,15 +8234,15 @@ bool8 sub_80632D8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8063318(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80632F8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063208(mapObject, sprite, DIR_EAST, 1); - return sub_8063318(mapObject, sprite); + return MovementAction_AcroWheelieMoveRight_Step1(mapObject, sprite); } -bool8 sub_8063318(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8229,15 +8259,15 @@ void sub_8063338(struct MapObject *mapObject, struct Sprite *sprite, u8 directio SeekSpriteAnim(sprite, 0); } -bool8 sub_8063390(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroBumpMoveDown_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8063370(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_SOUTH, 1); - return sub_8063390(mapObject, sprite); + return MovementAction_AcroBumpMoveDown_Step1(mapObject, sprite); } -bool8 sub_8063390(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8247,15 +8277,15 @@ bool8 sub_8063390(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80633D0(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroBumpMoveUp_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80633B0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_NORTH, 1); - return sub_80633D0(mapObject, sprite); + return MovementAction_AcroBumpMoveUp_Step1(mapObject, sprite); } -bool8 sub_80633D0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8265,15 +8295,15 @@ bool8 sub_80633D0(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8063410(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroBumpMoveLeft_Step1(struct MapObject *, struct Sprite *); -bool8 sub_80633F0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_WEST, 1); - return sub_8063410(mapObject, sprite); + return MovementAction_AcroBumpMoveLeft_Step1(mapObject, sprite); } -bool8 sub_8063410(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8283,15 +8313,15 @@ bool8 sub_8063410(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8063450(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroBumpMoveRight_Step1(struct MapObject *, struct Sprite *); -bool8 sub_8063430(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_EAST, 1); - return sub_8063450(mapObject, sprite); + return MovementAction_AcroBumpMoveRight_Step1(mapObject, sprite); } -bool8 sub_8063450(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroBumpMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -9563,7 +9593,7 @@ static bool8 WaitForMovementDelay(struct Sprite *sprite) return FALSE; } -void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3) +void SetAndStartSpriteAnim(struct Sprite *sprite, u8 a2, u8 a3) { sprite->animNum = a2; sprite->animPaused = 0 ; diff --git a/src/field_effect.c b/src/field_effect.c index 02b42c6f7..bf8324d9a 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2861,7 +2861,7 @@ void sub_8088A78(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); FieldObjectClearHeldMovementIfFinished(mapObject); - FieldObjectSetHeldMovement(mapObject, sub_80608D0(mapObject->movementDirection)); + FieldObjectSetHeldMovement(mapObject, GetJumpSpecialMovementAction(mapObject->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 26e43eb28..df9e5a47e 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1364,7 +1364,7 @@ void sub_812869C(struct MapObject *mapObject) { if (mapObject->directionSequenceIndex == 1) { - gSprites[mapObject->fieldEffectSpriteId].data[0] ++; + gSprites[mapObject->fieldEffectSpriteId].data[0]++; } } @@ -1384,7 +1384,7 @@ bool8 sub_81286C4(struct MapObject *mapObject) if (sprite->data[7]) { mapObject->directionSequenceIndex = 2; - sprite->data[0] ++; + sprite->data[0]++; return TRUE; } return FALSE; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 521a5f80b..39dce3fdb 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -796,7 +796,7 @@ void PlayerGoSpeed4(u8 a) void sub_805940C(u8 a) { - PlayerSetAnimId(sub_80607F4(a), 2); + PlayerSetAnimId(GetPlayerRunMovementAction(a), 2); } void PlayerOnBikeCollide(u8 a) @@ -879,7 +879,7 @@ void PlayerLedgeHoppingWheelie(u8 a) void PlayerAcroTurnJump(u8 direction) { PlaySE(SE_JITE_PYOKO); - PlayerSetAnimId(sub_8060878(direction), 1); + PlayerSetAnimId(GetJumpInPlaceTurnAroundMovementAction(direction), 1); } void sub_80595DC(u8 direction) @@ -1291,7 +1291,7 @@ u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObje if (FieldObjectClearHeldMovementIfFinished(mapObject)) { PlaySE(SE_DANSA); - FieldObjectSetHeldMovement(mapObject, sub_806084C(mapObject->facingDirection)); + FieldObjectSetHeldMovement(mapObject, GetJumpInPlaceMovementAction(mapObject->facingDirection)); task->data[1]++; if (task->data[1] > 1) { @@ -1402,7 +1402,7 @@ static void taskFF_0805D1D4(u8 taskId) return; } sub_8127ED0(playerMapObj->fieldEffectSpriteId, 2); - FieldObjectSetHeldMovement(playerMapObj, sub_80608D0((u8)gTasks[taskId].data[0])); + FieldObjectSetHeldMovement(playerMapObj, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0])); gTasks[taskId].func = sub_805A2D0; } diff --git a/src/rom6.c b/src/rom6.c index c5c77fd39..3a31f3145 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -91,7 +91,7 @@ static void sub_810B3DC(u8 taskId) static void sub_810B428(u8 taskId) { - if (!FieldEffectActiveListContains(6)) + if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { gFieldEffectArguments[1] = GetPlayerFacingDirection(); if (gFieldEffectArguments[1] == 1) diff --git a/src/trainer_see.c b/src/trainer_see.c index ff074d7b7..9d98d067b 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -264,7 +264,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer u8 direction; FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); direction = GetFaceDirectionMovementAction(trainerObj->facingDirection); FieldObjectSetHeldMovement(trainerObj, direction); task->data[0]++; @@ -273,7 +273,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer static bool8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if (FieldEffectActiveListContains(0)) + if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) { return FALSE; } @@ -342,7 +342,7 @@ static bool8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainer if (!FieldObjectIsMovementOverridden(trainerObj) || FieldObjectClearHeldMovementIfFinished(trainerObj)) { - FieldObjectSetHeldMovement(trainerObj, 0x59); + FieldObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER); task->data[0]++; } return FALSE; @@ -361,7 +361,7 @@ static bool8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainer if (!FieldObjectIsMovementOverridden(trainerObj) || FieldObjectClearHeldMovementIfFinished(trainerObj)) { - FieldObjectSetHeldMovement(trainerObj, 0x3E); + FieldObjectSetHeldMovement(trainerObj, MOVEMENT_ACITON_FACE_PLAYER); task->data[0]++; } return FALSE; @@ -393,7 +393,7 @@ static bool8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainer sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; FieldObjectClearHeldMovementIfFinished(trainerObj); - FieldObjectSetHeldMovement(trainerObj, sub_806084C(trainerObj->facingDirection)); + FieldObjectSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); task->data[0]++; } return FALSE; @@ -401,7 +401,7 @@ static bool8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainer static bool8 sub_80846C8(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if (!FieldEffectActiveListContains(49)) + if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) task->data[0] = 3; return FALSE; @@ -428,7 +428,7 @@ void sub_80846E4(u8 taskId) task->data[7]++; } gTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj); - if (task->data[0] == 3 && !FieldEffectActiveListContains(49)) + if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { npc_set_running_behaviour_etc(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); sub_805C774(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); @@ -493,7 +493,7 @@ static const struct SpriteTemplate gSpriteTemplate_839B528 = { 0xffff, 4100, &gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4F0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably }; -u8 FldEff_ExclamationMarkIcon1(void) +u8 FldEff_ExclamationMarkIcon(void) { u8 spriteId = CreateSpriteAtEnd(&gSpriteTemplate_839B510, 0, 0, 0x53); @@ -503,7 +503,7 @@ u8 FldEff_ExclamationMarkIcon1(void) return 0; } -u8 FldEff_ExclamationMarkIcon2(void) +u8 FldEff_QuestionMarkIcon(void) { u8 spriteId = CreateSpriteAtEnd(&gSpriteTemplate_839B510, 0, 0, 0x52); -- cgit v1.2.3 From e9d1d07cfb458ece0ad4b9c3acc0240aa98455f2 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 29 May 2018 17:52:42 -0500 Subject: Properly label object movement anim nums --- src/battle/battle_setup.c | 2 +- src/data/field_map_obj/anim_func_ptrs.h | 195 ++++----- src/event_object_movement.c | 685 ++++++++++++++++++++------------ src/field_player_avatar.c | 46 +-- src/field_special_scene.c | 4 +- src/overworld.c | 4 +- src/trainer_see.c | 8 +- 7 files changed, 534 insertions(+), 410 deletions(-) (limited to 'src') diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index 9e03b5d2d..fbc448616 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -1045,7 +1045,7 @@ void sub_8082524(void) { struct MapObject *mapObject = &gMapObjects[gSelectedMapObject]; - npc_set_running_behaviour_etc(mapObject, npc_running_behaviour_by_direction(mapObject->facingDirection)); + SetTrainerMovementType(mapObject, GetTrainerFacingDirectionMovementType(mapObject->facingDirection)); } u8 ScrSpecial_GetTrainerBattleMode(void) diff --git a/src/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h index 36ffed251..e1c295bb8 100644 --- a/src/data/field_map_obj/anim_func_ptrs.h +++ b/src/data/field_map_obj/anim_func_ptrs.h @@ -1,7 +1,3 @@ -// - -// - #ifndef POKERUBY_ANIM_FUNC_PTRS_H #define POKERUBY_ANIM_FUNC_PTRS_H @@ -38,13 +34,9 @@ u8 MovementAction_Delay1_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_Delay_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_Delay2_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_Delay4_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_Delay8_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_Delay16_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_WalkFastDown_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkFastDown_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkFastUp_Step0(struct MapObject *, struct Sprite *); @@ -61,27 +53,16 @@ u8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *, struct Sprite * u8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *, struct Sprite *); @@ -114,7 +95,7 @@ u8 MovementAction_PlayerRunLeft_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_PlayerRunRight_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); -u8 sub_8061F24(struct MapObject *, struct Sprite *); +u8 MovementAction_StartAnimInDirection_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 MovementAction_JumpSpecialDown_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); @@ -154,44 +135,27 @@ u8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *, struct Sprite * u8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_DisableAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_RestoreAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_SetInvisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_SetVisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_EmoteHeart_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_RevealTrainer_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_RockSmashBreak_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_RockSmashBreak_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_RockSmashBreak_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_CutTree_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_CutTree_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_CutTree_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_SetFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_ClearFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_InitAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_ClearAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); u8 MovementAction_WalkDownAffine0_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_WalkDownAffine1_Step0(struct MapObject *, struct Sprite *); @@ -201,29 +165,17 @@ u8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); u8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 sub_8062AFC(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 sub_8062B20(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 sub_8062B44(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 sub_8062B68(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *, struct Sprite *); @@ -272,14 +224,14 @@ u8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *) u8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); u8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); u8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroBumpMoveRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); @@ -338,7 +290,7 @@ u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Spri u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *); -u8 (*const Unknown_8375C5C[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *); @@ -387,10 +339,10 @@ u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *); @@ -415,10 +367,10 @@ u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struc u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroBumpMoveRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *); u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN @@ -478,7 +430,7 @@ u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT - Unknown_8375C5C, + gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT @@ -527,10 +479,10 @@ u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT - gMovementActionFuncs_AcroBumpFaceDown, // MOVEMENT_ACTION_ACRO_BUMP_FACE_DOWN - gMovementActionFuncs_AcroBumpFaceUp, // MOVEMENT_ACTION_ACRO_BUMP_FACE_UP - gMovementActionFuncs_AcroBumpFaceLeft, // MOVEMENT_ACTION_ACRO_BUMP_FACE_LEFT - gMovementActionFuncs_AcroBumpFaceRight, // MOVEMENT_ACTION_ACRO_BUMP_FACE_RIGHT + gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP + gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT @@ -555,10 +507,10 @@ u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT - gMovementActionFuncs_AcroBumpMoveDown, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_DOWN - gMovementActionFuncs_AcroBumpMoveUp, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_UP - gMovementActionFuncs_AcroBumpMoveLeft, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_LEFT - gMovementActionFuncs_AcroBumpMoveRight, // MOVEMENT_ACTION_ACRO_BUMP_MOVE_RIGHT + gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT }; @@ -583,11 +535,11 @@ u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite * }; u8 (*const gUnknown_083759C0[])(u8) = { - GetWalkSlowMovementAction_Extended, - GetWalkNormalMovementAction_Extended, - GetWalkNormalMovementAction_Extended, - GetJump2MovementAction_Extended, - GetDelayMovementAction_Extended + GetMoveDirectionAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFasterAnimNum, + GetMoveDirectionFastestAnimNum }; u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *) = { @@ -911,8 +863,8 @@ u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Spr MovementAction_PauseSpriteAnim }; -u8 (*const Unknown_8375C5C[])(struct MapObject *, struct Sprite *) = { - sub_8061F24, +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_StartAnimInDirection_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; @@ -1185,41 +1137,52 @@ u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struc MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpFaceDown_Step0, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceDown_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpFaceUp_Step0, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceUp_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpFaceLeft_Step0, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceLeft_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpFaceRight_Step0, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceRight_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, - // The rest in this array are unreachable acro-bike-related actions - sub_8062AFC, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionDown_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, - sub_8062B20, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionUp_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, - sub_8062B44, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionLeft_Step0, MovementAction_WaitSpriteAnim, MovementAction_PauseSpriteAnim, - sub_8062B68, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionRight_Step0, MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim + MovementAction_PauseSpriteAnim, }; u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *) = { @@ -1366,27 +1329,27 @@ u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, stru MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpMoveDown_Step0, - MovementAction_AcroBumpMoveDown_Step1, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveDown_Step0, + MovementAction_AcroEndWheelieMoveDown_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpMoveUp_Step0, - MovementAction_AcroBumpMoveUp_Step1, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveUp_Step0, + MovementAction_AcroEndWheelieMoveUp_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpMoveLeft_Step0, - MovementAction_AcroBumpMoveLeft_Step1, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveLeft_Step0, + MovementAction_AcroEndWheelieMoveLeft_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_AcroBumpMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroBumpMoveRight_Step0, - MovementAction_AcroBumpMoveRight_Step1, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveRight_Step0, + MovementAction_AcroEndWheelieMoveRight_Step1, MovementAction_PauseSpriteAnim }; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 85714e1c2..93f6248e6 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1958,82 +1958,183 @@ const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; #include "data/field_map_obj/callback_subroutine_pointers.h" -const u8 gFaceDirectionMovementActions_Extended[] = { - MOVEMENT_ACTION_FACE_DOWN, // DIR_NONE - MOVEMENT_ACTION_FACE_DOWN, // DIR_SOUTH - MOVEMENT_ACTION_FACE_UP, // DIR_NORTH - MOVEMENT_ACTION_FACE_LEFT, // DIR_WEST - MOVEMENT_ACTION_FACE_RIGHT, // DIR_EAST - MOVEMENT_ACTION_FACE_DOWN, // DIR_SOUTHWEST - MOVEMENT_ACTION_FACE_DOWN, // DIR_SOUTHEAST - MOVEMENT_ACTION_FACE_UP, // DIR_NORTHWEST - MOVEMENT_ACTION_FACE_UP, // DIR_NORTHEAST +const u8 gFaceDirectionAnimNums[] = { + 0, // DIR_NONE + 0, // DIR_SOUTH + 1, // DIR_NORTH + 2, // DIR_WEST + 3, // DIR_EAST + 0, // DIR_SOUTHWEST + 0, // DIR_SOUTHEAST + 1, // DIR_NORTHWEST + 1, // DIR_NORTHEAST }; -const u8 gWalkSlowMovementActions_Extended[] = { - MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_NONE - MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_SOUTH - MOVEMENT_ACTION_WALK_SLOW_UP, // DIR_NORTH - MOVEMENT_ACTION_WALK_SLOW_LEFT, // DIR_WEST - MOVEMENT_ACTION_WALK_SLOW_RIGHT, // DIR_EAST - MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_SOUTHWEST - MOVEMENT_ACTION_WALK_SLOW_DOWN, // DIR_SOUTHEAST - MOVEMENT_ACTION_WALK_SLOW_UP, // DIR_NORTHWEST - MOVEMENT_ACTION_WALK_SLOW_UP, // DIR_NORTHEAST +const u8 gMoveDirectionAnimNums[] = { + 4, // DIR_NONE + 4, // DIR_SOUTH + 5, // DIR_NORTH + 6, // DIR_WEST + 7, // DIR_EAST + 4, // DIR_SOUTHWEST + 4, // DIR_SOUTHEAST + 5, // DIR_NORTHWEST + 5, // DIR_NORTHEAST }; -const u8 gWalkNormalMovementActions_Extended[] = { - MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_NONE - MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_SOUTH - MOVEMENT_ACTION_WALK_NORMAL_UP, // DIR_NORTH - MOVEMENT_ACTION_WALK_NORMAL_LEFT, // DIR_WEST - MOVEMENT_ACTION_WALK_NORMAL_RIGHT, // DIR_EAST - MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_SOUTHWEST - MOVEMENT_ACTION_WALK_NORMAL_DOWN, // DIR_SOUTHEAST - MOVEMENT_ACTION_WALK_NORMAL_UP, // DIR_NORTHWEST - MOVEMENT_ACTION_WALK_NORMAL_UP, // DIR_NORTHEAST +const u8 gMoveDirectionFastAnimNums[] = { + 8, // DIR_NONE + 8, // DIR_SOUTH + 9, // DIR_NORTH + 10, // DIR_WEST + 11, // DIR_EAST + 8, // DIR_SOUTHWEST + 8, // DIR_SOUTHEAST + 9, // DIR_NORTHWEST + 9, // DIR_NORTHEAST }; -const u8 gJump2MovementActions_Extended[] = { - MOVEMENT_ACTION_JUMP_2_DOWN, - MOVEMENT_ACTION_JUMP_2_DOWN, - MOVEMENT_ACTION_JUMP_2_UP, - MOVEMENT_ACTION_JUMP_2_LEFT, - MOVEMENT_ACTION_JUMP_2_RIGHT, - MOVEMENT_ACTION_JUMP_2_DOWN, - MOVEMENT_ACTION_JUMP_2_DOWN, - MOVEMENT_ACTION_JUMP_2_UP, - MOVEMENT_ACTION_JUMP_2_UP, +const u8 gMoveDirectionFasterAnimNums[] = { + 12, // DIR_NONE + 12, // DIR_SOUTH + 13, // DIR_NORTH + 14, // DIR_WEST + 15, // DIR_EAST + 12, // DIR_SOUTHWEST + 12, // DIR_SOUTHEAST + 13, // DIR_NORTHWEST + 13, // DIR_NORTHEAST }; -const u8 gDelayMovementActions_Extended[] = { // TODO: why would delays be mapped to directions? - MOVEMENT_ACTION_DELAY_1, - MOVEMENT_ACTION_DELAY_1, - MOVEMENT_ACTION_DELAY_2, - MOVEMENT_ACTION_DELAY_4, - MOVEMENT_ACTION_DELAY_8, - MOVEMENT_ACTION_DELAY_1, - MOVEMENT_ACTION_DELAY_1, - MOVEMENT_ACTION_DELAY_2, - MOVEMENT_ACTION_DELAY_2, +const u8 gMoveDirectionFastestAnimNums[] = { + 16, // DIR_NONE + 16, // DIR_SOUTH + 17, // DIR_NORTH + 18, // DIR_WEST + 19, // DIR_EAST + 16, // DIR_SOUTHWEST + 16, // DIR_SOUTHEAST + 17, // DIR_NORTHWEST + 17, // DIR_NORTHEAST }; -const u8 gWalkFastMovementActions_Extended[] = { // TODO: this is broken. It appears like an additional Delay movement type was added late into development, which shifted these arrays off, but they were hardcoded. - MOVEMENT_ACTION_DELAY_16, - MOVEMENT_ACTION_DELAY_16, - MOVEMENT_ACTION_WALK_FAST_DOWN, - MOVEMENT_ACTION_WALK_FAST_UP, - MOVEMENT_ACTION_WALK_FAST_LEFT, - MOVEMENT_ACTION_DELAY_16, - MOVEMENT_ACTION_DELAY_16, - MOVEMENT_ACTION_WALK_FAST_DOWN, - MOVEMENT_ACTION_WALK_FAST_DOWN, +const u8 gJumpSpecialDirectionAnimNums[] = { // used for jumping onto surf mon + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST +}; +const u8 gAcroWheelieDirectionAnimNums[] = { + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST +}; +const u8 gUnrefAnimNums_08375633[] = { + 24, // DIR_NONE + 24, // DIR_SOUTH + 25, // DIR_NORTH + 26, // DIR_WEST + 27, // DIR_EAST + 24, // DIR_SOUTHWEST + 24, // DIR_SOUTHEAST + 25, // DIR_NORTHWEST + 25, // DIR_NORTHEAST +}; +const u8 gAcroEndWheelieDirectionAnimNums[] = { + 28, // DIR_NONE + 28, // DIR_SOUTH + 29, // DIR_NORTH + 30, // DIR_WEST + 31, // DIR_EAST + 28, // DIR_SOUTHWEST + 28, // DIR_SOUTHEAST + 29, // DIR_NORTHWEST + 29, // DIR_NORTHEAST +}; +const u8 gAcroUnusedActionDirectionAnimNums[] = { + 32, // DIR_NONE + 32, // DIR_SOUTH + 33, // DIR_NORTH + 34, // DIR_WEST + 35, // DIR_EAST + 32, // DIR_SOUTHWEST + 32, // DIR_SOUTHEAST + 33, // DIR_NORTHWEST + 33, // DIR_NORTHEAST +}; +const u8 gAcroWheeliePedalDirectionAnimNums[] = { + 36, // DIR_NONE + 36, // DIR_SOUTH + 37, // DIR_NORTH + 38, // DIR_WEST + 39, // DIR_EAST + 36, // DIR_SOUTHWEST + 36, // DIR_SOUTHEAST + 37, // DIR_NORTHWEST + 37, // DIR_NORTHEAST +}; +const u8 gFishingDirectionAnimNums[] = { + 0, // DIR_NONE + 0, // DIR_SOUTH + 1, // DIR_NORTH + 2, // DIR_WEST + 3, // DIR_EAST + 0, // DIR_SOUTHWEST + 0, // DIR_SOUTHEAST + 1, // DIR_NORTHWEST + 1, // DIR_NORTHEAST +}; +const u8 gFishingNoCatchDirectionAnimNums[] = { + 4, // DIR_NONE + 4, // DIR_SOUTH + 5, // DIR_NORTH + 6, // DIR_WEST + 7, // DIR_EAST + 4, // DIR_SOUTHWEST + 4, // DIR_SOUTHEAST + 5, // DIR_NORTHWEST + 5, // DIR_NORTHEAST +}; +const u8 gFishingBiteDirectionAnimNums[] = { + 8, // DIR_NONE + 8, // DIR_SOUTH + 9, // DIR_NORTH + 10, // DIR_WEST + 11, // DIR_EAST + 8, // DIR_SOUTHWEST + 8, // DIR_SOUTHEAST + 9, // DIR_NORTHWEST + 9, // DIR_NORTHEAST +}; +const u8 gRunningDirectionAnimNums[] = { + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST +}; + +const u8 gTrainerFacingDirectionMovementTypes[] = { + MOVEMENT_TYPE_FACE_DOWN, // DIR_NONE + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTH + MOVEMENT_TYPE_FACE_UP, // DIR_NORTH + MOVEMENT_TYPE_FACE_LEFT, // DIR_WEST + MOVEMENT_TYPE_FACE_RIGHT, // DIR_EAST + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHWEST + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHEAST + MOVEMENT_TYPE_FACE_UP, // DIR_NORTHWEST + MOVEMENT_TYPE_FACE_UP, // DIR_NORTHEAST }; -const u8 gWalkFastMovementActions_Extended2[] = {0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15}; -const u8 gUnknown_08375633[] = {0x18, 0x18, 0x19, 0x1A, 0x1B, 0x18, 0x18, 0x19, 0x19}; -const u8 gUnknown_0837563C[] = {0x1C, 0x1C, 0x1D, 0x1E, 0x1F, 0x1C, 0x1C, 0x1D, 0x1D}; -const u8 gUnknown_08375645[] = {0x20, 0x20, 0x21, 0x22, 0x23, 0x20, 0x20, 0x21, 0x21}; -const u8 gUnknown_0837564E[] = {0x24, 0x24, 0x25, 0x26, 0x27, 0x24, 0x24, 0x25, 0x25}; -const u8 gUnknown_08375657[] = {0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01}; -const u8 gUnknown_08375660[] = {0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05}; -const u8 gUnknown_08375669[] = {0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09}; -const u8 gUnknown_08375672[] = {0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15}; -const u8 gUnknown_0837567B[] = {0x08, 0x08, 0x07, 0x09, 0x0A, 0x08, 0x08, 0x07, 0x07}; bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = { MetatileBehavior_IsSouthBlocked, @@ -2180,16 +2281,76 @@ const u8 gWalkInPlaceFastestMovementActions[] = { MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT, MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT, }; -const u8 gUnknown_0837571D[] = {0x62, 0x62, 0x63, 0x64, 0x65}; -const u8 gUnknown_08375722[] = {0x66, 0x66, 0x67, 0x68, 0x69}; -const u8 gUnknown_08375727[] = {0x6A, 0x6A, 0x6B, 0x6C, 0x6D}; -const u8 gUnknown_0837572C[] = {0x6E, 0x6E, 0x6F, 0x70, 0x71}; -const u8 gUnknown_08375731[] = {0x72, 0x72, 0x73, 0x74, 0x75}; -const u8 gUnknown_08375736[] = {0x76, 0x76, 0x77, 0x78, 0x79}; -const u8 gUnknown_0837573B[] = {0x7A, 0x7A, 0x7B, 0x7C, 0x7D}; -const u8 gUnknown_08375740[] = {0x7E, 0x7E, 0x7F, 0x80, 0x81}; -const u8 gUnknown_08375745[] = {0x82, 0x82, 0x83, 0x84, 0x85}; -const u8 gUnknown_0837574A[] = {0x86, 0x86, 0x87, 0x88, 0x89}; +const u8 gAcroWheelieFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, +}; +const u8 gAcroPopWheelieFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, +}; +const u8 gAcroEndWheelieFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, +}; +const u8 gAcroWheelieHopFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, +}; +const u8 gAcroWheelieHopDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, +}; +const u8 gAcroWheelieJumpDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, +}; +const u8 gAcroWheelieInPlaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, +}; +const u8 gAcroPopWheelieMoveDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, +}; +const u8 gAcroWheelieMoveDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, +}; +const u8 gAcroEndWheelieMoveDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, +}; const u8 gOppositeDirections[] = { DIR_NORTH, @@ -2529,7 +2690,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * mapObject->spriteId = spriteId; mapObject->inanimate = gfxInfo->inanimate; if (!mapObject->inanimate) - StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(mapObject->facingDirection)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(mapObject->facingDirection)); SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); sub_80634D0(mapObject, sprite); return mapObjectId; @@ -2682,7 +2843,7 @@ u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) } InitObjectPriorityByZCoord(sprite, elevation); SetObjectSubpriorityByZCoord(elevation, sprite, 1); - StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(direction)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(direction)); } return spriteId; } @@ -2833,7 +2994,7 @@ void sub_805B75C(u8 mapObjectId, s16 b, s16 c) sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; if (!mapObject->inanimate && mapObject->movementType != MOVEMENT_TYPE_PLAYER) - StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(mapObject->facingDirection)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(mapObject->facingDirection)); sub_805B914(mapObject); SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); } @@ -2901,7 +3062,7 @@ void FieldObjectTurn(struct MapObject *mapObject, u8 direction) FieldObjectSetDirection(mapObject, direction); if (!mapObject->inanimate) { - StartSpriteAnim(&gSprites[mapObject->spriteId], GetFaceDirectionMovementAction_Extended(mapObject->facingDirection)); + StartSpriteAnim(&gSprites[mapObject->spriteId], GetFaceDirectionAnimNum(mapObject->facingDirection)); SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); } } @@ -4099,7 +4260,7 @@ u8 MovementType_BerryTreeGrowth_Step0(struct MapObject *mapObject, struct Sprite return 1; } get_berry_tree_graphics(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, 0x39); + FieldObjectSetSingleMovement(mapObject, sprite, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); sprite->data[1] = 1; return 1; } @@ -5502,86 +5663,86 @@ void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) sprite->data[1] = 0; } -u8 GetFaceDirectionMovementAction_Extended(u8 direction) +u8 GetFaceDirectionAnimNum(u8 direction) { - return gFaceDirectionMovementActions_Extended[direction]; + return gFaceDirectionAnimNums[direction]; } -u8 GetWalkSlowMovementAction_Extended(u8 direction) +u8 GetMoveDirectionAnimNum(u8 direction) { - return gWalkSlowMovementActions_Extended[direction]; + return gMoveDirectionAnimNums[direction]; } -u8 GetWalkNormalMovementAction_Extended(u8 direction) +u8 GetMoveDirectionFastAnimNum(u8 direction) { - return gWalkNormalMovementActions_Extended[direction]; + return gMoveDirectionFastAnimNums[direction]; } -u8 GetJump2MovementAction_Extended(u8 direction) +u8 GetMoveDirectionFasterAnimNum(u8 direction) { - return gJump2MovementActions_Extended[direction]; + return gMoveDirectionFasterAnimNums[direction]; } -u8 GetDelayMovementAction_Extended(u8 direction) +u8 GetMoveDirectionFastestAnimNum(u8 direction) { - return gDelayMovementActions_Extended[direction]; + return gMoveDirectionFastestAnimNums[direction]; } -u8 GetWalkFastMovementAction_Extended(u8 direction) +u8 GetJumpSpecialDirectionAnimNum(u8 direction) { - return gWalkFastMovementActions_Extended[direction]; + return gJumpSpecialDirectionAnimNums[direction]; } -u8 GetWalkFastMovementAction_Extended2(u8 direction) +u8 GetAcroWheelieDirectionAnimNum(u8 direction) { - return gWalkFastMovementActions_Extended2[direction]; + return gAcroWheelieDirectionAnimNums[direction]; } -u8 unref_sub_805FDA8(u8 direction) +u8 Unref_GetAnimNums_08375633(u8 direction) { - return gUnknown_08375633[direction]; + return gUnrefAnimNums_08375633[direction]; } -u8 sub_805FDB8(u8 direction) +u8 GetAcroEndWheelieDirectionAnimNum(u8 direction) { - return gUnknown_0837563C[direction]; + return gAcroEndWheelieDirectionAnimNums[direction]; } -u8 sub_805FDC8(u8 direction) +u8 GetAcroUnusedActionDirectionAnimNum(u8 direction) { - return gUnknown_08375645[direction]; + return gAcroUnusedActionDirectionAnimNums[direction]; } -u8 sub_805FDD8(u8 direction) +u8 GetAcroWheeliePedalDirectionAnimNum(u8 direction) { - return gUnknown_0837564E[direction]; + return gAcroWheeliePedalDirectionAnimNums[direction]; } -u8 sub_805FDE8(u8 direction) +u8 GetFishingDirectionAnimNum(u8 direction) { - return gUnknown_08375657[direction]; + return gFishingDirectionAnimNums[direction]; } -u8 sub_805FDF8(u8 direction) +u8 GetFishingNoCatchDirectionAnimNum(u8 direction) { - return gUnknown_08375660[direction]; + return gFishingNoCatchDirectionAnimNums[direction]; } -u8 sub_805FE08(u8 direction) +u8 GetFishingBiteDirectionAnimNum(u8 direction) { - return gUnknown_08375669[direction]; + return gFishingBiteDirectionAnimNums[direction]; } -u8 get_run_image_anim_num(u8 direction) +u8 GetRunningDirectionAnimNum(u8 direction) { - return gUnknown_08375672[direction]; + return gRunningDirectionAnimNums[direction]; } -void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) +void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) { if (!mapObject->inanimate) { - sprite->animNum = movementActionId; + sprite->animNum = animNum; if (sprite->animCmdIndex == 1) { sprite->animCmdIndex = 2; @@ -5593,12 +5754,12 @@ void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 movement } } -void sub_805FE64(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) +void sub_805FE64(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) { u8 animCmdIndex; if (!mapObject->inanimate) { - sprite->animNum = movementActionId; + sprite->animNum = animNum; animCmdIndex = 3; if (sprite->animCmdIndex < 2) { @@ -5619,7 +5780,7 @@ static u8 GetDirectionToFace(s16 x1, s16 y1, s16 x2, s16 y2) return DIR_SOUTH; } -void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType) +void SetTrainerMovementType(struct MapObject *mapObject, u8 movementType) { mapObject->movementType = movementType; mapObject->directionSequenceIndex = 0; @@ -5628,9 +5789,9 @@ void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType) gSprites[mapObject->spriteId].data[1] = 0; } -u8 npc_running_behaviour_by_direction(u8 direction) +u8 GetTrainerFacingDirectionMovementType(u8 direction) { - return gUnknown_0837567B[direction]; + return gTrainerFacingDirectionMovementTypes[direction]; } u8 GetCollisionInDirection(struct MapObject *mapObject, u8 direction) @@ -5997,114 +6158,114 @@ u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); } -u8 sub_80609D8(u8 index) +u8 GetAcroWheelieFaceDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_0837571D, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroWheelieFaceDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060A04(u8 index) +u8 GetAcroPopWheelieFaceDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_08375722, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroPopWheelieFaceDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060A30(u8 index) +u8 GetAcroEndWheelieFaceDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_08375727, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroEndWheelieFaceDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060A5C(u8 index) +u8 GetAcroWheelieHopFaceDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_0837572C, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroWheelieHopFaceDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060A88(u8 index) +u8 GetAcroWheelieHopDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_08375731, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroWheelieHopDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060AB4(u8 index) +u8 GetAcroWheelieJumpDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_08375736, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroWheelieJumpDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060AE0(u8 index) +u8 GetAcroWheelieInPlaceDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_0837573B, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroWheelieInPlaceDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060B0C(u8 index) +u8 GetAcroPopWheelieMoveDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_08375740, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroPopWheelieMoveDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060B38(u8 index) +u8 GetAcroWheelieMoveDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_08375745, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroWheelieMoveDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } -u8 sub_8060B64(u8 index) +u8 GetAcroEndWheelieMoveDirectionMovementAction(u8 direction) { - u8 directions[5]; - memcpy(directions, gUnknown_0837574A, 5); - if (index >= 5) + u8 movementActions[5]; + memcpy(movementActions, gAcroEndWheelieMoveDirectionMovementActions, 5); + if (direction >= 5) { - index = 0; + direction = 0; } - return directions[index]; + return movementActions[direction]; } u8 GetOppositeDirection(u8 direction) @@ -6166,7 +6327,7 @@ void FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 direct { FieldObjectSetDirection(mapObject, direction); npc_coords_shift_still(mapObject); - sub_805FE64(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); + sub_805FE64(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); sprite->animPaused = 1; sprite->data[2] = 1; } @@ -6220,10 +6381,10 @@ void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction sub_805FE28(mapObject, sprite, functions[a3](mapObject->facingDirection)); } -void do_run_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void StartRunningAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_8060D20(mapObject, sprite, direction, 1); - sub_805FE28(mapObject, sprite, get_run_image_anim_num(mapObject->facingDirection)); + sub_805FE28(mapObject, sprite, GetRunningDirectionAnimNum(mapObject->facingDirection)); } bool8 obj_npc_ministep(struct Sprite *); @@ -6258,7 +6419,7 @@ void sub_8060E68(struct MapObject *mapObject, struct Sprite *sprite, u8 directio void sub_8060ED8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_8060E68(mapObject, sprite, direction); - sub_805FE28(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); + sub_805FE28(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); } bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) @@ -6438,7 +6599,7 @@ void sub_806113C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a4, u8 a5) { sub_806113C(mapObject, sprite, direction, a4, a5); - sub_805FE28(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); + sub_805FE28(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); DoShadowFieldEffect(mapObject); } @@ -6510,7 +6671,7 @@ bool8 sub_8061358(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - sub_805FE64(mapObject, sprite, GetWalkSlowMovementAction_Extended(mapObject->facingDirection)); + sub_805FE64(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); return FALSE; } @@ -6700,10 +6861,10 @@ bool8 MovementAction_WalkFastRight_Step1(struct MapObject *mapObject, struct Spr return FALSE; } -void sub_80616CC(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 movementAction, u16 duration) +void sub_80616CC(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) { FieldObjectSetDirection(mapObject, direction); - sub_805FE28(mapObject, sprite, movementAction); + sub_805FE28(mapObject, sprite, animNum); sprite->animPaused = 0; sprite->data[2] = 1; sprite->data[3] = duration; @@ -6732,97 +6893,97 @@ bool8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *mapObject, struct S bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetWalkSlowMovementAction_Extended(DIR_SOUTH), 32); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetWalkSlowMovementAction_Extended(DIR_NORTH), 32); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetWalkSlowMovementAction_Extended(DIR_WEST), 32); + sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetWalkSlowMovementAction_Extended(DIR_EAST), 32); + sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetWalkSlowMovementAction_Extended(DIR_SOUTH), 16); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetWalkSlowMovementAction_Extended(DIR_NORTH), 16); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetWalkSlowMovementAction_Extended(DIR_WEST), 16); + sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetWalkSlowMovementAction_Extended(DIR_EAST), 16); + sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetWalkNormalMovementAction_Extended(DIR_SOUTH), 8); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetWalkNormalMovementAction_Extended(DIR_NORTH), 8); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetWalkNormalMovementAction_Extended(DIR_WEST), 8); + sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetWalkNormalMovementAction_Extended(DIR_EAST), 8); + sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetJump2MovementAction_Extended(DIR_SOUTH), 4); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetJump2MovementAction_Extended(DIR_NORTH), 4); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetJump2MovementAction_Extended(DIR_WEST), 4); + sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetJump2MovementAction_Extended(DIR_EAST), 4); + sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } @@ -7053,7 +7214,7 @@ bool8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); bool8 MovementAction_PlayerRunDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - do_run_anim(mapObject, sprite, DIR_SOUTH); + StartRunningAnim(mapObject, sprite, DIR_SOUTH); return MovementAction_PlayerRunDown_Step1(mapObject, sprite); } @@ -7071,7 +7232,7 @@ bool8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); bool8 MovementAction_PlayerRunUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - do_run_anim(mapObject, sprite, DIR_NORTH); + StartRunningAnim(mapObject, sprite, DIR_NORTH); return MovementAction_PlayerRunUp_Step1(mapObject, sprite); } @@ -7089,7 +7250,7 @@ bool8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); bool8 MovementAction_PlayerRunLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - do_run_anim(mapObject, sprite, DIR_WEST); + StartRunningAnim(mapObject, sprite, DIR_WEST); return MovementAction_PlayerRunLeft_Step1(mapObject, sprite); } @@ -7107,7 +7268,7 @@ bool8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); bool8 MovementAction_PlayerRunRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - do_run_anim(mapObject, sprite, DIR_EAST); + StartRunningAnim(mapObject, sprite, DIR_EAST); return MovementAction_PlayerRunRight_Step1(mapObject, sprite); } @@ -7128,7 +7289,7 @@ void StartSpriteAnimInDirection(struct MapObject *mapObject, struct Sprite *spri sprite->data[2] = 1; } -bool8 sub_8061F24(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_StartAnimInDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) { StartSpriteAnimInDirection(mapObject, sprite, mapObject->movementDirection, sprite->animNum); return FALSE; @@ -7149,7 +7310,7 @@ bool8 MovementAction_WaitSpriteAnim(struct MapObject *mapObject, struct Sprite * void sub_8061F5C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_806113C(mapObject, sprite, direction, 1, 0); - StartSpriteAnim(sprite, GetWalkFastMovementAction_Extended(direction)); + StartSpriteAnim(sprite, GetJumpSpecialDirectionAnimNum(direction)); } bool8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); @@ -7735,7 +7896,7 @@ void sub_806295C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio { FieldObjectSetDirection(mapObject, direction); npc_coords_shift_still(mapObject); - sub_805FE64(mapObject, sprite, sub_805FDD8(direction)); + sub_805FE64(mapObject, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); sprite->animPaused = 1; sprite->data[2] = 1; } @@ -7766,80 +7927,80 @@ bool8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *mapObject, str bool8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetWalkFastMovementAction_Extended2(DIR_SOUTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetAcroWheelieDirectionAnimNum(DIR_SOUTH)); return FALSE; } bool8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetWalkFastMovementAction_Extended2(DIR_NORTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetAcroWheelieDirectionAnimNum(DIR_NORTH)); return FALSE; } bool8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetWalkFastMovementAction_Extended2(DIR_WEST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetAcroWheelieDirectionAnimNum(DIR_WEST)); return FALSE; } bool8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetWalkFastMovementAction_Extended2(DIR_EAST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetAcroWheelieDirectionAnimNum(DIR_EAST)); return FALSE; } -bool8 MovementAction_AcroBumpFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, sub_805FDB8(DIR_SOUTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetAcroEndWheelieDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 MovementAction_AcroBumpFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, sub_805FDB8(DIR_NORTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetAcroEndWheelieDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 MovementAction_AcroBumpFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, sub_805FDB8(DIR_WEST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetAcroEndWheelieDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 MovementAction_AcroBumpFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, sub_805FDB8(DIR_EAST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetAcroEndWheelieDirectionAnimNum(DIR_EAST)); return FALSE; } -bool8 sub_8062AFC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, sub_805FDC8(DIR_SOUTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetAcroUnusedActionDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 sub_8062B20(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, sub_805FDC8(DIR_NORTH)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetAcroUnusedActionDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 sub_8062B44(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, sub_805FDC8(DIR_WEST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetAcroUnusedActionDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 sub_8062B68(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, sub_805FDC8(DIR_EAST)); + StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetAcroUnusedActionDirectionAnimNum(DIR_EAST)); return FALSE; } void sub_8062B8C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3, u8 a4) { sub_806113C(mapObject, sprite, direction, a3, a4); - StartSpriteAnimIfDifferent(sprite, GetWalkFastMovementAction_Extended2(direction)); + StartSpriteAnimIfDifferent(sprite, GetAcroWheelieDirectionAnimNum(direction)); DoShadowFieldEffect(mapObject); } @@ -8073,32 +8234,32 @@ bool8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *mapObject, str bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, sub_805FDD8(DIR_SOUTH), 8); + sub_80616CC(mapObject, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, sub_805FDD8(DIR_NORTH), 8); + sub_80616CC(mapObject, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, sub_805FDD8(DIR_WEST), 8); + sub_80616CC(mapObject, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, sub_805FDD8(DIR_EAST), 8); + sub_80616CC(mapObject, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); return MovementAction_WalkInPlace_Step1(mapObject, sprite); } void sub_80630D0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { sub_8060D20(mapObject, sprite, direction, a3); - StartSpriteAnim(sprite, GetWalkFastMovementAction_Extended2(mapObject->facingDirection)); + StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(mapObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -8177,7 +8338,7 @@ bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *mapObject, void sub_8063208(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { sub_8060D20(mapObject, sprite, direction, a3); - sub_805FE28(mapObject, sprite, sub_805FDD8(mapObject->facingDirection)); + sub_805FE28(mapObject, sprite, GetAcroWheeliePedalDirectionAnimNum(mapObject->facingDirection)); } bool8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); @@ -8255,19 +8416,19 @@ bool8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *mapObject, str void sub_8063338(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) { sub_8060D20(mapObject, sprite, direction, a3); - StartSpriteAnim(sprite, sub_805FDB8(mapObject->facingDirection)); + StartSpriteAnim(sprite, GetAcroEndWheelieDirectionAnimNum(mapObject->facingDirection)); SeekSpriteAnim(sprite, 0); } -bool8 MovementAction_AcroBumpMoveDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -bool8 MovementAction_AcroBumpMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_SOUTH, 1); - return MovementAction_AcroBumpMoveDown_Step1(mapObject, sprite); + return MovementAction_AcroEndWheelieMoveDown_Step1(mapObject, sprite); } -bool8 MovementAction_AcroBumpMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8277,15 +8438,15 @@ bool8 MovementAction_AcroBumpMoveDown_Step1(struct MapObject *mapObject, struct return FALSE; } -bool8 MovementAction_AcroBumpMoveUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -bool8 MovementAction_AcroBumpMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_NORTH, 1); - return MovementAction_AcroBumpMoveUp_Step1(mapObject, sprite); + return MovementAction_AcroEndWheelieMoveUp_Step1(mapObject, sprite); } -bool8 MovementAction_AcroBumpMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8295,15 +8456,15 @@ bool8 MovementAction_AcroBumpMoveUp_Step1(struct MapObject *mapObject, struct Sp return FALSE; } -bool8 MovementAction_AcroBumpMoveLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -bool8 MovementAction_AcroBumpMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_WEST, 1); - return MovementAction_AcroBumpMoveLeft_Step1(mapObject, sprite); + return MovementAction_AcroEndWheelieMoveLeft_Step1(mapObject, sprite); } -bool8 MovementAction_AcroBumpMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -8313,15 +8474,15 @@ bool8 MovementAction_AcroBumpMoveLeft_Step1(struct MapObject *mapObject, struct return FALSE; } -bool8 MovementAction_AcroBumpMoveRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -bool8 MovementAction_AcroBumpMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { sub_8063338(mapObject, sprite, DIR_EAST, 1); - return MovementAction_AcroBumpMoveRight_Step1(mapObject, sprite); + return MovementAction_AcroEndWheelieMoveRight_Step1(mapObject, sprite); } -bool8 MovementAction_AcroBumpMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) { @@ -9593,11 +9754,11 @@ static bool8 WaitForMovementDelay(struct Sprite *sprite) return FALSE; } -void SetAndStartSpriteAnim(struct Sprite *sprite, u8 a2, u8 a3) +void SetAndStartSpriteAnim(struct Sprite *sprite, u8 animNum, u8 animCmdIndex) { - sprite->animNum = a2; - sprite->animPaused = 0 ; - SeekSpriteAnim(sprite, a3); + sprite->animNum = animNum; + sprite->animPaused = 0; + SeekSpriteAnim(sprite, animCmdIndex); } bool8 SpriteAnimEnded(struct Sprite *sprite) @@ -9649,7 +9810,7 @@ void TurnMapObject(u8 mapObjectId, u8 direction) struct Sprite *sprite = &gSprites[i]; if (sprite->inUse && sprite->callback == UpdateFieldSpriteSubpriorityAndVisibility && (u8)sprite->data[0] == mapObjectId) { - u8 animNum = GetFaceDirectionMovementAction_Extended(direction); + u8 animNum = GetFaceDirectionAnimNum(direction); StartSpriteAnim(sprite, animNum); break; } diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 39dce3fdb..0a4696a33 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -837,42 +837,42 @@ void sub_80594C0(void) } // wheelie idle -void PlayerIdleWheelie(u8 a) +void PlayerIdleWheelie(u8 direction) { - PlayerSetAnimId(sub_80609D8(a), 1); + PlayerSetAnimId(GetAcroWheelieFaceDirectionMovementAction(direction), 1); } // normal to wheelie -void PlayerStartWheelie(u8 a) +void PlayerStartWheelie(u8 direction) { - PlayerSetAnimId(sub_8060A04(a), 1); + PlayerSetAnimId(GetAcroPopWheelieFaceDirectionMovementAction(direction), 1); } // wheelie to normal -void PlayerEndWheelie(u8 a) +void PlayerEndWheelie(u8 direction) { - PlayerSetAnimId(sub_8060A30(a), 1); + PlayerSetAnimId(GetAcroEndWheelieFaceDirectionMovementAction(direction), 1); } // wheelie hopping standing void PlayerStandingHoppingWheelie(u8 a) { PlaySE(SE_JITE_PYOKO); - PlayerSetAnimId(sub_8060A5C(a), 1); + PlayerSetAnimId(GetAcroWheelieHopFaceDirectionMovementAction(a), 1); } // wheelie hopping moving void PlayerMovingHoppingWheelie(u8 a) { PlaySE(SE_JITE_PYOKO); - PlayerSetAnimId(sub_8060A88(a), 2); + PlayerSetAnimId(GetAcroWheelieHopDirectionMovementAction(a), 2); } // wheelie hopping ledge void PlayerLedgeHoppingWheelie(u8 a) { PlaySE(SE_JITE_PYOKO); - PlayerSetAnimId(sub_8060AB4(a), 8); + PlayerSetAnimId(GetAcroWheelieJumpDirectionMovementAction(a), 8); } // acro turn jump @@ -885,22 +885,22 @@ void PlayerAcroTurnJump(u8 direction) void sub_80595DC(u8 direction) { PlaySE(SE_WALL_HIT); - PlayerSetAnimId(sub_8060AE0(direction), 2); + PlayerSetAnimId(GetAcroWheelieInPlaceDirectionMovementAction(direction), 2); } -void sub_8059600(u8 a) +void sub_8059600(u8 direction) { - PlayerSetAnimId(sub_8060B0C(a), 2); + PlayerSetAnimId(GetAcroPopWheelieMoveDirectionMovementAction(direction), 2); } -void sub_8059618(u8 a) +void sub_8059618(u8 direction) { - PlayerSetAnimId(sub_8060B38(a), 2); + PlayerSetAnimId(GetAcroWheelieMoveDirectionMovementAction(direction), 2); } -void sub_8059630(u8 a) +void sub_8059630(u8 direction) { - PlayerSetAnimId(sub_8060B64(a), 2); + PlayerSetAnimId(GetAcroEndWheelieMoveDirectionMovementAction(direction), 2); } static void PlayCollisionSoundIfNotFacingWarp(u8 a) @@ -1166,23 +1166,23 @@ void sub_8059BF4(void) StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0); } -void sub_8059C3C(u8 a) +void sub_8059C3C(u8 direction) { sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDE8(a)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingDirectionAnimNum(direction)); } void sub_8059C94(u8 direction) { sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetWalkFastMovementAction_Extended2(direction)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetAcroWheelieDirectionAnimNum(direction)); SeekSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 1); } void sub_8059D08(u8 direction) { sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFaceDirectionMovementAction_Extended(direction)); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFaceDirectionAnimNum(direction)); } static void sub_8059D60(struct MapObject *mapObject) @@ -1574,7 +1574,7 @@ u8 Fishing6(struct Task *task) if (!DoesCurrentMapHaveFishingMons() || (Random() & 1)) task->tStep = FISHING_NO_BITE; else - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FE08(GetPlayerFacingDirection())); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingBiteDirectionAnimNum(GetPlayerFacingDirection())); return 1; } @@ -1677,7 +1677,7 @@ u8 Fishing11(struct Task *task) u8 Fishing12(struct Task *task) { sub_805A954(); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(GetPlayerFacingDirection())); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); MenuPrintMessageDefaultCoords(gOtherText_NotEvenANibble); task->tStep = FISHING_SHOW_RESULT; return 1; @@ -1687,7 +1687,7 @@ u8 Fishing12(struct Task *task) u8 Fishing13(struct Task *task) { sub_805A954(); - StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], sub_805FDF8(GetPlayerFacingDirection())); + StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingNoCatchDirectionAnimNum(GetPlayerFacingDirection())); MenuPrintMessageDefaultCoords(gOtherText_ItGotAway); task->tStep++; return 1; diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 05abfc54d..1d1ee53fb 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -354,11 +354,11 @@ void sub_80C78A0(void) if (VarGet(VAR_PORTHOLE_STATE) == 2) { - StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionMovementAction_Extended(4)); + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4)); } else { - StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionMovementAction_Extended(3)); + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(3)); } } diff --git a/src/overworld.c b/src/overworld.c index 850bea867..54bdf0c6d 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2738,9 +2738,9 @@ void SpriteCB_LinkPlayer(struct Sprite *sprite) SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); sprite->oam.priority = ZCoordToPriority(mapObj->previousElevation); if (!linkPlayerMapObj->mode) - StartSpriteAnim(sprite, GetFaceDirectionMovementAction_Extended(mapObj->range.as_byte)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(mapObj->range.as_byte)); else - StartSpriteAnimIfDifferent(sprite, GetWalkSlowMovementAction_Extended(mapObj->range.as_byte)); + StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(mapObj->range.as_byte)); UpdateFieldSpriteVisibility(sprite, 0); if (mapObj->triggerGroundEffectsOnMove) { diff --git a/src/trainer_see.c b/src/trainer_see.c index 9d98d067b..65c281ca1 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -313,8 +313,8 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer if (FieldObjectIsMovementOverridden(trainerObj) && !FieldObjectClearHeldMovementIfFinished(trainerObj)) return FALSE; - npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); - sub_805C774(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); + SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + sub_805C774(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); sub_805C754(trainerObj); playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; @@ -430,8 +430,8 @@ void sub_80846E4(u8 taskId) gTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj); if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { - npc_set_running_behaviour_etc(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); - sub_805C774(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); + SetTrainerMovementType(mapObj, GetTrainerFacingDirectionMovementType(mapObj->facingDirection)); + sub_805C774(mapObj, GetTrainerFacingDirectionMovementType(mapObj->facingDirection)); DestroyTask(taskId); } else -- cgit v1.2.3 From b921b268c1962eb139a73608437c1c7501ca5ae6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 29 May 2018 17:52:57 -0500 Subject: Rename movement_type and movement_action func table filenames --- src/data/field_map_obj/anim_func_ptrs.h | 1356 -------------------- .../field_map_obj/callback_subroutine_pointers.h | 443 ------- .../field_map_obj/movement_action_func_tables.h | 1356 ++++++++++++++++++++ src/data/field_map_obj/movement_type_func_tables.h | 438 +++++++ src/event_object_movement.c | 4 +- 5 files changed, 1796 insertions(+), 1801 deletions(-) delete mode 100644 src/data/field_map_obj/anim_func_ptrs.h delete mode 100644 src/data/field_map_obj/callback_subroutine_pointers.h create mode 100644 src/data/field_map_obj/movement_action_func_tables.h create mode 100644 src/data/field_map_obj/movement_type_func_tables.h (limited to 'src') diff --git a/src/data/field_map_obj/anim_func_ptrs.h b/src/data/field_map_obj/anim_func_ptrs.h deleted file mode 100644 index e1c295bb8..000000000 --- a/src/data/field_map_obj/anim_func_ptrs.h +++ /dev/null @@ -1,1356 +0,0 @@ -#ifndef POKERUBY_ANIM_FUNC_PTRS_H -#define POKERUBY_ANIM_FUNC_PTRS_H - -u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PauseSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay1_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay2_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay4_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay8_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay16_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_StartAnimInDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_FacePlayer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_LockFacingDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_DisableAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RestoreAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SetInvisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SetVisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteHeart_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_SetFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_ClearFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_InitAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_ClearAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); - -u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *); - -u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { - gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN - gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP - gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT - gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT - gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_DOWN_SLOW - gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_UP_SLOW - gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_LEFT_SLOW - gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_RIGHT_SLOW - gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_DOWN_NORMAL - gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_UP_NORMAL - gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_LEFT_NORMAL - gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_RIGHT_NORMAL - gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN - gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP - gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT - gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT - gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 - gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 - gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 - gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 - gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 - gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN - gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP - gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT - gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT - gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN - gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP - gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT - gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT - gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN - gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP - gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT - gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT - gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN - gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP - gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT - gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT - gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN - gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP - gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT - gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT - gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN - gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP - gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT - gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT - gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN - gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP - gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT - gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT - gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN - gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP - gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT - gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT - gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN - gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP - gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT - gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT - gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION - gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN - gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP - gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT - gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT - gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER - gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER - gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION - gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION - gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN - gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP - gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT - gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT - gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN - gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP - gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT - gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT - gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP - gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN - gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT - gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT - gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION - gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN - gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT - gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT - gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION - gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION - gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE - gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE - gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK - gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK - gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART - gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER - gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK - gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE - gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY - gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY - gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM - gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM - gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 - gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 - gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN - gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP - gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT - gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT - gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN - gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP - gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT - gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT - gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN - gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP - gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT - gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT - gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN - gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP - gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT - gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT - gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN - gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP - gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT - gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT - gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN - gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP - gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT - gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT - gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN - gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP - gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT - gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT - gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT - gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT - gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT -}; - - -u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceDown_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceUp_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceLeft_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceRight_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gUnknown_083759C0[])(u8) = { - GetMoveDirectionAnimNum, - GetMoveDirectionFastAnimNum, - GetMoveDirectionFastAnimNum, - GetMoveDirectionFasterAnimNum, - GetMoveDirectionFastestAnimNum -}; - -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowDown_Step0, - MovementAction_WalkSlowDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowUp_Step0, - MovementAction_WalkSlowUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowLeft_Step0, - MovementAction_WalkSlowLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowRight_Step0, - MovementAction_WalkSlowRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalDown_Step0, - MovementAction_WalkNormalDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalUp_Step0, - MovementAction_WalkNormalUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalLeft_Step0, - MovementAction_WalkNormalLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalRight_Step0, - MovementAction_WalkNormalRight_Step1, - MovementAction_PauseSpriteAnim -}; - -const s16 gUnknown_08375A34[] = {0, 1, 1}; -const s16 gUnknown_08375A3A[] = {0, 0, 1}; - -u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Down_Step0, - MovementAction_Jump2Down_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Up_Step0, - MovementAction_Jump2Up_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Left_Step0, - MovementAction_Jump2Left_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Right_Step0, - MovementAction_Jump2Right_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay1_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay2_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay4_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay8_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay16_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastDown_Step0, - MovementAction_WalkFastDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastUp_Step0, - MovementAction_WalkFastUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastLeft_Step0, - MovementAction_WalkFastLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastRight_Step0, - MovementAction_WalkFastRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowDown_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowUp_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowLeft_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowRight_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentDown_Step0, - MovementAction_RideWaterCurrentDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentUp_Step0, - MovementAction_RideWaterCurrentUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentLeft_Step0, - MovementAction_RideWaterCurrentLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentRight_Step0, - MovementAction_RideWaterCurrentRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestDown_Step0, - MovementAction_WalkFastestDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestUp_Step0, - MovementAction_WalkFastestUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestLeft_Step0, - MovementAction_WalkFastestLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestRight_Step0, - MovementAction_WalkFastestRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideDown_Step0, - MovementAction_SlideDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideUp_Step0, - MovementAction_SlideUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideLeft_Step0, - MovementAction_SlideLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideRight_Step0, - MovementAction_SlideRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunDown_Step0, - MovementAction_PlayerRunDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunUp_Step0, - MovementAction_PlayerRunUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunLeft_Step0, - MovementAction_PlayerRunLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunRight_Step0, - MovementAction_PlayerRunRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_StartAnimInDirection_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialDown_Step0, - MovementAction_JumpSpecialDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialUp_Step0, - MovementAction_JumpSpecialUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialLeft_Step0, - MovementAction_JumpSpecialLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialRight_Step0, - MovementAction_JumpSpecialRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *) = { - MovementAction_FacePlayer_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceAwayPlayer_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_LockFacingDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnlockFacingDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpDown_Step0, - MovementAction_JumpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpUp_Step0, - MovementAction_JumpUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpLeft_Step0, - MovementAction_JumpLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpRight_Step0, - MovementAction_JumpRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceDown_Step0, - MovementAction_JumpInPlaceDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceUp_Step0, - MovementAction_JumpInPlaceUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceLeft_Step0, - MovementAction_JumpInPlaceLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceRight_Step0, - MovementAction_JumpInPlaceRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceDownUp_Step0, - MovementAction_JumpInPlaceDownUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceUpDown_Step0, - MovementAction_JumpInPlaceUpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceLeftRight_Step0, - MovementAction_JumpInPlaceLeftRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceRightLeft_Step0, - MovementAction_JumpInPlaceRightLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceOriginalDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_NurseJoyBowDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { - MovementAction_EnableJumpLandingGroundEffect_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { - MovementAction_DisableJumpLandingGroundEffect_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *) = { - MovementAction_DisableAnimation_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *) = { - MovementAction_RestoreAnimation_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetInvisible_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetVisible_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteExclamationMark_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteQuestionMark_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteHeart_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *) = { - MovementAction_RevealTrainer_Step0, - MovementAction_RevealTrainer_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *) = { - MovementAction_RockSmashBreak_Step0, - MovementAction_RockSmashBreak_Step1, - MovementAction_RockSmashBreak_Step2, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *) = { - MovementAction_CutTree_Step0, - MovementAction_CutTree_Step1, - MovementAction_CutTree_Step2, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetFixedPriority_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *) = { - MovementAction_ClearFixedPriority_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *) = { - MovementAction_InitAffineAnim_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *) = { - MovementAction_ClearAffineAnim_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkDownAffine0_Step0, - MovementAction_WalkDownAffine0_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkDownAffine1_Step0, - MovementAction_WalkDownAffine1_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceDown_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceUp_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceLeft_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceRight_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceDown_Step0, - MovementAction_AcroWheelieHopFaceDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceUp_Step0, - MovementAction_AcroWheelieHopFaceUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceLeft_Step0, - MovementAction_AcroWheelieHopFaceLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceRight_Step0, - MovementAction_AcroWheelieHopFaceRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopDown_Step0, - MovementAction_AcroWheelieHopDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopUp_Step0, - MovementAction_AcroWheelieHopUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopLeft_Step0, - MovementAction_AcroWheelieHopLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopRight_Step0, - MovementAction_AcroWheelieHopRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpDown_Step0, - MovementAction_AcroWheelieJumpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpUp_Step0, - MovementAction_AcroWheelieJumpUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpLeft_Step0, - MovementAction_AcroWheelieJumpLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpRight_Step0, - MovementAction_AcroWheelieJumpRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveDown_Step0, - MovementAction_AcroPopWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveUp_Step0, - MovementAction_AcroPopWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveLeft_Step0, - MovementAction_AcroPopWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveRight_Step0, - MovementAction_AcroPopWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveDown_Step0, - MovementAction_AcroWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveUp_Step0, - MovementAction_AcroWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveLeft_Step0, - MovementAction_AcroWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveRight_Step0, - MovementAction_AcroWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveDown_Step0, - MovementAction_AcroEndWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveUp_Step0, - MovementAction_AcroEndWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveLeft_Step0, - MovementAction_AcroEndWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveRight_Step0, - MovementAction_AcroEndWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -#endif //POKERUBY_ANIM_FUNC_PTRS_H diff --git a/src/data/field_map_obj/callback_subroutine_pointers.h b/src/data/field_map_obj/callback_subroutine_pointers.h deleted file mode 100644 index 04bbb2479..000000000 --- a/src/data/field_map_obj/callback_subroutine_pointers.h +++ /dev/null @@ -1,443 +0,0 @@ -// - -// - -#ifndef POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H -#define POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H - - -u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderAround_Step0, - MovementType_WanderAround_Step1, - MovementType_WanderAround_Step2, - MovementType_WanderAround_Step3, - MovementType_WanderAround_Step4, - MovementType_WanderAround_Step5, - MovementType_WanderAround_Step6 -}; - -const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; - -u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { - sub_805CAAC, - sub_805CADC, - sub_805CAEC, - sub_805CB00, - sub_805CB5C, - sub_805CBB8, - sub_805CC14, - sub_805CC70, - sub_805CCAC, - sub_805CCE8, - sub_805CD24 -}; - -u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = { - MovementType_LookAround_Step0, - MovementType_LookAround_Step1, - MovementType_LookAround_Step2, - MovementType_LookAround_Step3, - MovementType_LookAround_Step4, -}; - -u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderUpAndDown_Step0, - MovementType_WanderUpAndDown_Step1, - MovementType_WanderUpAndDown_Step2, - MovementType_WanderUpAndDown_Step3, - MovementType_WanderUpAndDown_Step4, - MovementType_WanderUpAndDown_Step5, - MovementType_WanderUpAndDown_Step6, -}; - -const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderLeftAndRight_Step0, - MovementType_WanderLeftAndRight_Step1, - MovementType_WanderLeftAndRight_Step2, - MovementType_WanderLeftAndRight_Step3, - MovementType_WanderLeftAndRight_Step4, - MovementType_WanderLeftAndRight_Step5, - MovementType_WanderLeftAndRight_Step6, -}; - -const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDirection[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDirection_Step0, - MovementType_FaceDirection_Step1, - MovementType_FaceDirection_Step2, -}; - -u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct MapObject *, struct Sprite *) = { - MovementType_BerryTreeGrowth_Step0, - MovementType_BerryTreeGrowth_Step1, - MovementType_BerryTreeGrowth_Step2, - MovementType_BerryTreeGrowth_Step3, - MovementType_BerryTreeGrowth_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndUp_Step0, - MovementType_FaceDownAndUp_Step1, - MovementType_FaceDownAndUp_Step2, - MovementType_FaceDownAndUp_Step3, - MovementType_FaceDownAndUp_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceLeftAndRight_Step0, - MovementType_FaceLeftAndRight_Step1, - MovementType_FaceLeftAndRight_Step2, - MovementType_FaceLeftAndRight_Step3, - MovementType_FaceLeftAndRight_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpAndLeft_Step0, - MovementType_FaceUpAndLeft_Step1, - MovementType_FaceUpAndLeft_Step2, - MovementType_FaceUpAndLeft_Step3, - MovementType_FaceUpAndLeft_Step4, -}; - -const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpAndRight_Step0, - MovementType_FaceUpAndRight_Step1, - MovementType_FaceUpAndRight_Step2, - MovementType_FaceUpAndRight_Step3, - MovementType_FaceUpAndRight_Step4, -}; - -const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndLeft_Step0, - MovementType_FaceDownAndLeft_Step1, - MovementType_FaceDownAndLeft_Step2, - MovementType_FaceDownAndLeft_Step3, - MovementType_FaceDownAndLeft_Step4, -}; - -const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndRight_Step0, - MovementType_FaceDownAndRight_Step1, - MovementType_FaceDownAndRight_Step2, - MovementType_FaceDownAndRight_Step3, - MovementType_FaceDownAndRight_Step4, -}; - -const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownUpAndLeft_Step0, - MovementType_FaceDownUpAndLeft_Step1, - MovementType_FaceDownUpAndLeft_Step2, - MovementType_FaceDownUpAndLeft_Step3, - MovementType_FaceDownUpAndLeft_Step4, -}; - -const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownUpAndRight_Step0, - MovementType_FaceDownUpAndRight_Step1, - MovementType_FaceDownUpAndRight_Step2, - MovementType_FaceDownUpAndRight_Step3, - MovementType_FaceDownUpAndRight_Step4, -}; - -const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpLeftAndRight_Step0, - MovementType_FaceUpLeftAndRight_Step1, - MovementType_FaceUpLeftAndRight_Step2, - MovementType_FaceUpLeftAndRight_Step3, - MovementType_FaceUpLeftAndRight_Step4, -}; - -const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownLeftAndRight_Step0, - MovementType_FaceDownLeftAndRight_Step1, - MovementType_FaceDownLeftAndRight_Step2, - MovementType_FaceDownLeftAndRight_Step3, - MovementType_FaceDownLeftAndRight_Step4, -}; - -const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct MapObject *, struct Sprite *) = { - MovementType_RotateCounterclockwise_Step0, - MovementType_RotateCounterclockwise_Step1, - MovementType_RotateCounterclockwise_Step2, - MovementType_RotateCounterclockwise_Step3, -}; - -const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct MapObject *, struct Sprite *) = { - MovementType_RotateClockwise_Step0, - MovementType_RotateClockwise_Step1, - MovementType_RotateClockwise_Step2, - MovementType_RotateClockwise_Step3, -}; - -const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkBackAndForth_Step0, - MovementType_WalkBackAndForth_Step1, - MovementType_WalkBackAndForth_Step2, - MovementType_WalkBackAndForth_Step3, -}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpRightLeftDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightLeftDownUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownUpRightLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftDownUpRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpLeftRightDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftRightDownUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownUpLeftRight_Step1, - MovementType_WalkSequence_Step2 -}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightDownUpLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftUpDownRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpDownRightLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightLeftUpDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownRightLeftUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightUpDownLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpDownLeftRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftRightUpDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownLeftRightUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpLeftDownRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownRightUpLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftDownRightUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightUpLeftDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpRightDownLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownLeftUpRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftUpRightDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightDownLeftUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct MapObject *, struct Sprite *) = { - MovementType_CopyPlayer_Step0, - MovementType_CopyPlayer_Step1, - MovementType_CopyPlayer_Step2 -}; - -u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { - CopyablePlayerMovement_None, - CopyablePlayerMovement_FaceDirection, - CopyablePlayerMovement_GoSpeed0, - CopyablePlayerMovement_GoSpeed1, - CopyablePlayerMovement_GoSpeed2, - CopyablePlayerMovement_Slide, - cph_IM_DIFFERENT, - CopyablePlayerMovement_GoSpeed4, - CopyablePlayerMovement_Jump, - CopyablePlayerMovement_None, - CopyablePlayerMovement_None -}; - -u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct MapObject *, struct Sprite *) = { - MovementType_CopyPlayer_Step0, - MovementType_CopyPlayerInGrass_Step1, - MovementType_CopyPlayer_Step2 -}; - -u8 (*const gMovementTypeFuncs_Hidden[])(struct MapObject *, struct Sprite *) = { - MovementType_Hidden_Step0 -}; - -u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_JogInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_JogInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_RunInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_RunInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_Invisible[])(struct MapObject *, struct Sprite *) = { - MovementType_Invisible_Step0, - MovementType_Invisible_Step1, - MovementType_Invisible_Step2 -}; - -#endif //POKERUBY_CALLBACK_SUBROUTINE_POINTERS_H diff --git a/src/data/field_map_obj/movement_action_func_tables.h b/src/data/field_map_obj/movement_action_func_tables.h new file mode 100644 index 000000000..ea10e0b6d --- /dev/null +++ b/src/data/field_map_obj/movement_action_func_tables.h @@ -0,0 +1,1356 @@ +#ifndef POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H +#define POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H + +u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PauseSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay1_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_Finish(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay2_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay4_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay8_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_Delay16_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_StartAnimInDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_FacePlayer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_LockFacingDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_DisableAnimation_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RestoreAnimation_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SetInvisible_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_SetVisible_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_EmoteHeart_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step2(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_CutTree_Step2(struct MapObject *, struct Sprite *); +u8 MovementAction_SetFixedPriority_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_ClearFixedPriority_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_InitAffineAnim_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_ClearAffineAnim_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); + +u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *); + +u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { + gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN + gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP + gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT + gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT + gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_DOWN_SLOW + gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_UP_SLOW + gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_LEFT_SLOW + gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_RIGHT_SLOW + gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_DOWN_NORMAL + gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_UP_NORMAL + gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_LEFT_NORMAL + gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_RIGHT_NORMAL + gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN + gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP + gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT + gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT + gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 + gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 + gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 + gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 + gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 + gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN + gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP + gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT + gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN + gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP + gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT + gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT + gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN + gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP + gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT + gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT + gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN + gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP + gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT + gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN + gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP + gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT + gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT + gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN + gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP + gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT + gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT + gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN + gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP + gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT + gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT + gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN + gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP + gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT + gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT + gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN + gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP + gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT + gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT + gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION + gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN + gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP + gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT + gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT + gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER + gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER + gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION + gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION + gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN + gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP + gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT + gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT + gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN + gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP + gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT + gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT + gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP + gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN + gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT + gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT + gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION + gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN + gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION + gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION + gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE + gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE + gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK + gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK + gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART + gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER + gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK + gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE + gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY + gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY + gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM + gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM + gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 + gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 + gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP + gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN + gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP + gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT + gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT + gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP + gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN + gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP + gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT + gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN + gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP + gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT + gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT + gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN + gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP + gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT + gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT + gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN + gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP + gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT + gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT + gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT +}; + + +u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceDown_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceUp_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceLeft_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceRight_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gUnknown_083759C0[])(u8) = { + GetMoveDirectionAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFasterAnimNum, + GetMoveDirectionFastestAnimNum +}; + +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowDown_Step0, + MovementAction_WalkSlowDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowUp_Step0, + MovementAction_WalkSlowUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowLeft_Step0, + MovementAction_WalkSlowLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkSlowRight_Step0, + MovementAction_WalkSlowRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalDown_Step0, + MovementAction_WalkNormalDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalUp_Step0, + MovementAction_WalkNormalUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalLeft_Step0, + MovementAction_WalkNormalLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkNormalRight_Step0, + MovementAction_WalkNormalRight_Step1, + MovementAction_PauseSpriteAnim +}; + +const s16 gUnknown_08375A34[] = {0, 1, 1}; +const s16 gUnknown_08375A3A[] = {0, 0, 1}; + +u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Down_Step0, + MovementAction_Jump2Down_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Up_Step0, + MovementAction_Jump2Up_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Left_Step0, + MovementAction_Jump2Left_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *) = { + MovementAction_Jump2Right_Step0, + MovementAction_Jump2Right_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay1_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay2_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay4_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay8_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *) = { + MovementAction_Delay16_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastDown_Step0, + MovementAction_WalkFastDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastUp_Step0, + MovementAction_WalkFastUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastLeft_Step0, + MovementAction_WalkFastLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastRight_Step0, + MovementAction_WalkFastRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowDown_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowUp_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowLeft_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowRight_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentDown_Step0, + MovementAction_RideWaterCurrentDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentUp_Step0, + MovementAction_RideWaterCurrentUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentLeft_Step0, + MovementAction_RideWaterCurrentLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentRight_Step0, + MovementAction_RideWaterCurrentRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestDown_Step0, + MovementAction_WalkFastestDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestUp_Step0, + MovementAction_WalkFastestUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestLeft_Step0, + MovementAction_WalkFastestLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkFastestRight_Step0, + MovementAction_WalkFastestRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideDown_Step0, + MovementAction_SlideDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideUp_Step0, + MovementAction_SlideUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideLeft_Step0, + MovementAction_SlideLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_SlideRight_Step0, + MovementAction_SlideRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunDown_Step0, + MovementAction_PlayerRunDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunUp_Step0, + MovementAction_PlayerRunUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunLeft_Step0, + MovementAction_PlayerRunLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_PlayerRunRight_Step0, + MovementAction_PlayerRunRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_StartAnimInDirection_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialDown_Step0, + MovementAction_JumpSpecialDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialUp_Step0, + MovementAction_JumpSpecialUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialLeft_Step0, + MovementAction_JumpSpecialLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpSpecialRight_Step0, + MovementAction_JumpSpecialRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *) = { + MovementAction_FacePlayer_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceAwayPlayer_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_LockFacingDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnlockFacingDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpDown_Step0, + MovementAction_JumpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpUp_Step0, + MovementAction_JumpUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpLeft_Step0, + MovementAction_JumpLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpRight_Step0, + MovementAction_JumpRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDown_Step0, + MovementAction_JumpInPlaceDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUp_Step0, + MovementAction_JumpInPlaceUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeft_Step0, + MovementAction_JumpInPlaceLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRight_Step0, + MovementAction_JumpInPlaceRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDownUp_Step0, + MovementAction_JumpInPlaceDownUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUpDown_Step0, + MovementAction_JumpInPlaceUpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeftRight_Step0, + MovementAction_JumpInPlaceLeftRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRightLeft_Step0, + MovementAction_JumpInPlaceRightLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *) = { + MovementAction_FaceOriginalDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_NurseJoyBowDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { + MovementAction_EnableJumpLandingGroundEffect_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { + MovementAction_DisableJumpLandingGroundEffect_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *) = { + MovementAction_DisableAnimation_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *) = { + MovementAction_RestoreAnimation_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetInvisible_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetVisible_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteExclamationMark_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteQuestionMark_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *) = { + MovementAction_EmoteHeart_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *) = { + MovementAction_RevealTrainer_Step0, + MovementAction_RevealTrainer_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *) = { + MovementAction_RockSmashBreak_Step0, + MovementAction_RockSmashBreak_Step1, + MovementAction_RockSmashBreak_Step2, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *) = { + MovementAction_CutTree_Step0, + MovementAction_CutTree_Step1, + MovementAction_CutTree_Step2, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *) = { + MovementAction_SetFixedPriority_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *) = { + MovementAction_ClearFixedPriority_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *) = { + MovementAction_InitAffineAnim_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *) = { + MovementAction_ClearAffineAnim_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkDownAffine0_Step0, + MovementAction_WalkDownAffine0_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *) = { + MovementAction_WalkDownAffine1_Step0, + MovementAction_WalkDownAffine1_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceDown_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceUp_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceLeft_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceRight_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceDown_Step0, + MovementAction_AcroWheelieHopFaceDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceUp_Step0, + MovementAction_AcroWheelieHopFaceUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceLeft_Step0, + MovementAction_AcroWheelieHopFaceLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceRight_Step0, + MovementAction_AcroWheelieHopFaceRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopDown_Step0, + MovementAction_AcroWheelieHopDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopUp_Step0, + MovementAction_AcroWheelieHopUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopLeft_Step0, + MovementAction_AcroWheelieHopLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopRight_Step0, + MovementAction_AcroWheelieHopRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpDown_Step0, + MovementAction_AcroWheelieJumpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpUp_Step0, + MovementAction_AcroWheelieJumpUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpLeft_Step0, + MovementAction_AcroWheelieJumpLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpRight_Step0, + MovementAction_AcroWheelieJumpRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveDown_Step0, + MovementAction_AcroPopWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveUp_Step0, + MovementAction_AcroPopWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveLeft_Step0, + MovementAction_AcroPopWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveRight_Step0, + MovementAction_AcroPopWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveDown_Step0, + MovementAction_AcroWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveUp_Step0, + MovementAction_AcroWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveLeft_Step0, + MovementAction_AcroWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveRight_Step0, + MovementAction_AcroWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveDown_Step0, + MovementAction_AcroEndWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveUp_Step0, + MovementAction_AcroEndWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveLeft_Step0, + MovementAction_AcroEndWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveRight_Step0, + MovementAction_AcroEndWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +#endif //POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H diff --git a/src/data/field_map_obj/movement_type_func_tables.h b/src/data/field_map_obj/movement_type_func_tables.h new file mode 100644 index 000000000..00b05c8f6 --- /dev/null +++ b/src/data/field_map_obj/movement_type_func_tables.h @@ -0,0 +1,438 @@ +#ifndef POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H +#define POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H + +u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderAround_Step0, + MovementType_WanderAround_Step1, + MovementType_WanderAround_Step2, + MovementType_WanderAround_Step3, + MovementType_WanderAround_Step4, + MovementType_WanderAround_Step5, + MovementType_WanderAround_Step6 +}; + +const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { + sub_805CAAC, + sub_805CADC, + sub_805CAEC, + sub_805CB00, + sub_805CB5C, + sub_805CBB8, + sub_805CC14, + sub_805CC70, + sub_805CCAC, + sub_805CCE8, + sub_805CD24 +}; + +u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = { + MovementType_LookAround_Step0, + MovementType_LookAround_Step1, + MovementType_LookAround_Step2, + MovementType_LookAround_Step3, + MovementType_LookAround_Step4, +}; + +u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderUpAndDown_Step0, + MovementType_WanderUpAndDown_Step1, + MovementType_WanderUpAndDown_Step2, + MovementType_WanderUpAndDown_Step3, + MovementType_WanderUpAndDown_Step4, + MovementType_WanderUpAndDown_Step5, + MovementType_WanderUpAndDown_Step6, +}; + +const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WanderLeftAndRight_Step0, + MovementType_WanderLeftAndRight_Step1, + MovementType_WanderLeftAndRight_Step2, + MovementType_WanderLeftAndRight_Step3, + MovementType_WanderLeftAndRight_Step4, + MovementType_WanderLeftAndRight_Step5, + MovementType_WanderLeftAndRight_Step6, +}; + +const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDirection[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDirection_Step0, + MovementType_FaceDirection_Step1, + MovementType_FaceDirection_Step2, +}; + +u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct MapObject *, struct Sprite *) = { + MovementType_BerryTreeGrowth_Step0, + MovementType_BerryTreeGrowth_Step1, + MovementType_BerryTreeGrowth_Step2, + MovementType_BerryTreeGrowth_Step3, + MovementType_BerryTreeGrowth_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndUp_Step0, + MovementType_FaceDownAndUp_Step1, + MovementType_FaceDownAndUp_Step2, + MovementType_FaceDownAndUp_Step3, + MovementType_FaceDownAndUp_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceLeftAndRight_Step0, + MovementType_FaceLeftAndRight_Step1, + MovementType_FaceLeftAndRight_Step2, + MovementType_FaceLeftAndRight_Step3, + MovementType_FaceLeftAndRight_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpAndLeft_Step0, + MovementType_FaceUpAndLeft_Step1, + MovementType_FaceUpAndLeft_Step2, + MovementType_FaceUpAndLeft_Step3, + MovementType_FaceUpAndLeft_Step4, +}; + +const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpAndRight_Step0, + MovementType_FaceUpAndRight_Step1, + MovementType_FaceUpAndRight_Step2, + MovementType_FaceUpAndRight_Step3, + MovementType_FaceUpAndRight_Step4, +}; + +const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndLeft_Step0, + MovementType_FaceDownAndLeft_Step1, + MovementType_FaceDownAndLeft_Step2, + MovementType_FaceDownAndLeft_Step3, + MovementType_FaceDownAndLeft_Step4, +}; + +const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownAndRight_Step0, + MovementType_FaceDownAndRight_Step1, + MovementType_FaceDownAndRight_Step2, + MovementType_FaceDownAndRight_Step3, + MovementType_FaceDownAndRight_Step4, +}; + +const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownUpAndLeft_Step0, + MovementType_FaceDownUpAndLeft_Step1, + MovementType_FaceDownUpAndLeft_Step2, + MovementType_FaceDownUpAndLeft_Step3, + MovementType_FaceDownUpAndLeft_Step4, +}; + +const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownUpAndRight_Step0, + MovementType_FaceDownUpAndRight_Step1, + MovementType_FaceDownUpAndRight_Step2, + MovementType_FaceDownUpAndRight_Step3, + MovementType_FaceDownUpAndRight_Step4, +}; + +const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceUpLeftAndRight_Step0, + MovementType_FaceUpLeftAndRight_Step1, + MovementType_FaceUpLeftAndRight_Step2, + MovementType_FaceUpLeftAndRight_Step3, + MovementType_FaceUpLeftAndRight_Step4, +}; + +const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct MapObject *, struct Sprite *) = { + MovementType_FaceDownLeftAndRight_Step0, + MovementType_FaceDownLeftAndRight_Step1, + MovementType_FaceDownLeftAndRight_Step2, + MovementType_FaceDownLeftAndRight_Step3, + MovementType_FaceDownLeftAndRight_Step4, +}; + +const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct MapObject *, struct Sprite *) = { + MovementType_RotateCounterclockwise_Step0, + MovementType_RotateCounterclockwise_Step1, + MovementType_RotateCounterclockwise_Step2, + MovementType_RotateCounterclockwise_Step3, +}; + +const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct MapObject *, struct Sprite *) = { + MovementType_RotateClockwise_Step0, + MovementType_RotateClockwise_Step1, + MovementType_RotateClockwise_Step2, + MovementType_RotateClockwise_Step3, +}; + +const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkBackAndForth_Step0, + MovementType_WalkBackAndForth_Step1, + MovementType_WalkBackAndForth_Step2, + MovementType_WalkBackAndForth_Step3, +}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightLeftDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftDownUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpRightLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownUpRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftRightDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightDownUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpLeftRight_Step1, + MovementType_WalkSequence_Step2 +}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownUpLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpDownRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownRightLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftUpDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightLeftUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpDownLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownLeftRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightUpDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftRightUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftDownRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightUpLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownRightUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpLeftDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightDownLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftUpRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpRightDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownLeftUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct MapObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayer_Step1, + MovementType_CopyPlayer_Step2 +}; + +u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { + CopyablePlayerMovement_None, + CopyablePlayerMovement_FaceDirection, + CopyablePlayerMovement_GoSpeed0, + CopyablePlayerMovement_GoSpeed1, + CopyablePlayerMovement_GoSpeed2, + CopyablePlayerMovement_Slide, + cph_IM_DIFFERENT, + CopyablePlayerMovement_GoSpeed4, + CopyablePlayerMovement_Jump, + CopyablePlayerMovement_None, + CopyablePlayerMovement_None +}; + +u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct MapObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayerInGrass_Step1, + MovementType_CopyPlayer_Step2 +}; + +u8 (*const gMovementTypeFuncs_Hidden[])(struct MapObject *, struct Sprite *) = { + MovementType_Hidden_Step0 +}; + +u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_WalkInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_JogInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_JogInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_RunInPlace[])(struct MapObject *, struct Sprite *) = { + MovementType_RunInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_Invisible[])(struct MapObject *, struct Sprite *) = { + MovementType_Invisible_Step0, + MovementType_Invisible_Step1, + MovementType_Invisible_Step2 +}; + +#endif //POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 93f6248e6..17329e792 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1956,7 +1956,7 @@ const s16 gMovementDelaysMedium[] = {32, 64, 96, 128}; const s16 gMovementDelaysLong[] = {32, 64, 128, 192}; const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; -#include "data/field_map_obj/callback_subroutine_pointers.h" +#include "data/field_map_obj/movement_type_func_tables.h" const u8 gFaceDirectionAnimNums[] = { 0, // DIR_NONE @@ -2377,7 +2377,7 @@ const u8 gUnknown_08375767[][4] = { {3, 4, 2, 1} }; -#include "data/field_map_obj/anim_func_ptrs.h" +#include "data/field_map_obj/movement_action_func_tables.h" // text -- cgit v1.2.3 From aa8299821dca148ecfd5d6bfb77641043e01da5c Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 29 May 2018 17:53:10 -0500 Subject: More event object movement cleanup --- src/bike.c | 2 +- .../field_map_obj/field_effect_object_graphics.h | 149 + src/data/field_map_obj/map_object_graphics.h | 1319 ++++++++ src/data/field_map_obj/movement_type_func_tables.h | 24 +- src/decoration.c | 2 +- src/event_object_movement.c | 3146 +++++--------------- src/field_camera.c | 4 +- src/field_effect.c | 2 +- src/field_player_avatar.c | 10 +- src/field_specials.c | 4 +- src/overworld.c | 16 +- src/scrcmd.c | 2 +- src/secret_base.c | 2 +- src/trainer_see.c | 8 +- 14 files changed, 2257 insertions(+), 2433 deletions(-) create mode 100755 src/data/field_map_obj/field_effect_object_graphics.h create mode 100755 src/data/field_map_obj/map_object_graphics.h (limited to 'src') diff --git a/src/bike.c b/src/bike.c index 66227e029..1e010095b 100644 --- a/src/bike.c +++ b/src/bike.c @@ -532,7 +532,7 @@ static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; playerMapObj->facingDirectionLocked = 0; - FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); + SetFieldObjectDirection(playerMapObj, playerMapObj->facingDirection); gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); } diff --git a/src/data/field_map_obj/field_effect_object_graphics.h b/src/data/field_map_obj/field_effect_object_graphics.h new file mode 100755 index 000000000..36850a4ec --- /dev/null +++ b/src/data/field_map_obj/field_effect_object_graphics.h @@ -0,0 +1,149 @@ +#ifndef POKERUBY_FIELD_EFFECT_OBJECT_GFX_H +#define POKERUBY_FIELD_EFFECT_OBJECT_GFX_H + +const u32 gFieldEffectPic_ShadowSmall[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_small.4bpp"); +const u32 gFieldEffectPic_ShadowMedium[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_medium.4bpp"); +const u32 gFieldEffectPic_ShadowLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_large.4bpp"); +const u32 gFieldEffectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_extra_large.4bpp"); +const u32 filler_8368A08[0x48] = {}; +const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/field_effect_objects/pics/cut_grass.4bpp"); +const u32 FieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/field_effect_objects/pics/cut_grass.4bpp"); +const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/field_effect_objects/palettes/06.gbapal"); +const u32 gFieldEffectPic_Ripple_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/0.4bpp"); +const u32 gFieldEffectPic_Ripple_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/1.4bpp"); +const u32 gFieldEffectPic_Ripple_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/2.4bpp"); +const u32 gFieldEffectPic_Ripple_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/3.4bpp"); +const u32 gFieldEffectPic_Ripple_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/4.4bpp"); +const u32 gFieldEffectPic_Ash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/0.4bpp"); +const u32 gFieldEffectPic_Ash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/1.4bpp"); +const u32 gFieldEffectPic_Ash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/2.4bpp"); +const u32 gFieldEffectPic_Ash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/3.4bpp"); +const u32 gFieldEffectPic_Ash_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/4.4bpp"); +const u32 gFieldEffectPic_Arrow_0[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/0.4bpp"); +const u32 gFieldEffectPic_Arrow_1[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/1.4bpp"); +const u32 gFieldEffectPic_Arrow_2[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/2.4bpp"); +const u32 gFieldEffectPic_Arrow_3[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/3.4bpp"); +const u32 gFieldEffectPic_Arrow_4[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/4.4bpp"); +const u32 gFieldEffectPic_Arrow_5[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/5.4bpp"); +const u32 gFieldEffectPic_Arrow_6[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/6.4bpp"); +const u32 gFieldEffectPic_Arrow_7[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/7.4bpp"); +const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/field_effect_objects/palettes/00.gbapal"); +const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effect_objects/palettes/01.gbapal"); +const u32 gFieldEffectPic_Dust_0[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/0.4bpp"); +const u32 gFieldEffectPic_Dust_1[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/1.4bpp"); +const u32 gFieldEffectPic_Dust_2[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/2.4bpp"); +const u32 unknown_8369588[] = INCBIN_U32("graphics/field_effect_objects/unknown.bin"); +const u32 gFieldEffectPic_JumpTallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/0.4bpp"); +const u32 gFieldEffectPic_JumpTallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/1.4bpp"); +const u32 gFieldEffectPic_JumpTallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/2.4bpp"); +const u32 gFieldEffectPic_JumpTallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/3.4bpp"); +const u32 UnusedGrass0[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/0.4bpp"); +const u32 UnusedGrass1[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/1.4bpp"); +const u32 UnusedGrass2[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/2.4bpp"); +const u32 UnusedGrass3[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/3.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/0.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/1.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/2.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/3.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/4.4bpp"); +const u32 UnusedGrassLong[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/unused.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_5[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/5.4bpp"); +const u32 gFieldEffectPic_Unknown17_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/0.4bpp"); +const u32 gFieldEffectPic_Unknown17_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/1.4bpp"); +const u32 gFieldEffectPic_Unknown17_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/2.4bpp"); +const u32 gFieldEffectPic_Unknown17_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/3.4bpp"); +const u32 gFieldEffectPic_Unknown17_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/4.4bpp"); +const u32 gFieldEffectPic_Unknown17_5[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/5.4bpp"); +const u32 gFieldEffectPic_Unknown17_6[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/6.4bpp"); +const u32 gFieldEffectPic_Unknown17_7[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/7.4bpp"); +const u32 gFieldEffectPic_Unknown18_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/0.4bpp"); +const u32 gFieldEffectPic_Unknown18_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/1.4bpp"); +const u32 gFieldEffectPic_Unknown18_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/2.4bpp"); +const u32 gFieldEffectPic_Unknown18_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/3.4bpp"); +const u32 gFieldEffectPic_LongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/0.4bpp"); +const u32 gFieldEffectPic_LongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/1.4bpp"); +const u32 gFieldEffectPic_LongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/2.4bpp"); +const u32 gFieldEffectPic_LongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/3.4bpp"); +const u32 gFieldEffectPic_TallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/0.4bpp"); +const u32 gFieldEffectPic_TallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/1.4bpp"); +const u32 gFieldEffectPic_TallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/2.4bpp"); +const u32 gFieldEffectPic_TallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/3.4bpp"); +const u32 gFieldEffectPic_TallGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/4.4bpp"); +const u32 gFieldEffectPic_ShortGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/0.4bpp"); +const u32 gFieldEffectPic_ShortGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/1.4bpp"); +const u32 gFieldEffectPic_SandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/0.4bpp"); +const u32 gFieldEffectPic_SandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/1.4bpp"); +const u32 gFieldEffectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/0.4bpp"); +const u32 gFieldEffectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/1.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/0.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/1.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/2.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/3.4bpp"); +const u32 gFieldEffectPic_Unknown19_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/0.4bpp"); +const u32 gFieldEffectPic_Unknown19_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/1.4bpp"); +const u32 gFieldEffectPic_Unknown19_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/2.4bpp"); +const u32 gFieldEffectPic_Unknown19_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/3.4bpp"); +const u32 gFieldEffectPic_SandPile_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/0.4bpp"); +const u32 gFieldEffectPic_SandPile_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/1.4bpp"); +const u32 gFieldEffectPic_SandPile_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/2.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/0.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/1.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/2.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/3.4bpp"); +const u32 gFieldEffectPic_Splash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/0.4bpp"); +const u32 gFieldEffectPic_Splash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/1.4bpp"); +const u32 gFieldEffectPic_JumpSmallSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/0.4bpp"); +const u32 gFieldEffectPic_JumpSmallSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/1.4bpp"); +const u32 gFieldEffectPic_JumpSmallSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/2.4bpp"); +const u32 gFieldEffectPic_Unknown20_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/0.4bpp"); +const u32 gFieldEffectPic_Unknown20_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/1.4bpp"); +const u32 gFieldEffectPic_Unknown20_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/2.4bpp"); +const u32 gFieldEffectPic_Unknown20_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/3.4bpp"); +const u32 gFieldEffectPic_Unknown20_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/4.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/0.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/1.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/2.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/3.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/4.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/5.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/6.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/0.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/1.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/2.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/3.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/4.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/5.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/6.4bpp"); +const u32 gFieldEffectPic_SandDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/0.4bpp"); +const u32 gFieldEffectPic_SandDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/1.4bpp"); +const u32 gFieldEffectPic_SandDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/2.4bpp"); +const u32 gFieldEffectPic_SandDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/3.4bpp"); +const u32 gFieldEffectPic_SandDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/4.4bpp"); +const u32 gFieldEffectPic_SandDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/5.4bpp"); +const u32 gFieldEffectPic_SandDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/6.4bpp"); +const u32 gFieldEffectPic_HotSpringsWater[] = INCBIN_U32("graphics/field_effect_objects/pics/hot_springs_water.4bpp"); +const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/field_effect_objects/palettes/02.gbapal"); +const u32 gFieldEffectPic_PopOutOfAsh_0[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/0.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_1[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/1.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_2[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/2.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_3[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/3.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_4[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/4.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_0[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/0.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_1[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/1.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_2[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/2.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_3[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/3.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_4[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/4.4bpp"); +const u32 gFieldEffectPic_Bubbles_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/0.4bpp"); +const u32 gFieldEffectPic_Bubbles_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/1.4bpp"); +const u32 gFieldEffectPic_Bubbles_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/2.4bpp"); +const u32 gFieldEffectPic_Bubbles_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/3.4bpp"); +const u32 gFieldEffectPic_Bubbles_4[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/4.4bpp"); +const u32 gFieldEffectPic_Bubbles_5[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/5.4bpp"); +const u32 gFieldEffectPic_Bubbles_6[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/6.4bpp"); +const u32 gFieldEffectPic_Bubbles_7[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/7.4bpp"); +const u32 gFieldEffectPic_Sparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/0.4bpp"); +const u32 gFieldEffectPic_Sparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/1.4bpp"); +const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/field_effect_objects/palettes/03.gbapal"); +const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pics/bird.4bpp"); + +#endif // POKERUBY_FIELD_EFFECT_OBJECT_GFX_H diff --git a/src/data/field_map_obj/map_object_graphics.h b/src/data/field_map_obj/map_object_graphics.h new file mode 100755 index 000000000..e3eabc224 --- /dev/null +++ b/src/data/field_map_obj/map_object_graphics.h @@ -0,0 +1,1319 @@ +#ifndef POKERUBY_MAP_OBJECT_GFX_H +#define POKERUBY_MAP_OBJECT_GFX_H + +const u32 gMapObjectPic_BrendanNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/00.4bpp"); +const u32 gMapObjectPic_BrendanNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/01.4bpp"); +const u32 gMapObjectPic_BrendanNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/02.4bpp"); +const u32 gMapObjectPic_BrendanNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/03.4bpp"); +const u32 gMapObjectPic_BrendanNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/04.4bpp"); +const u32 gMapObjectPic_BrendanNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/05.4bpp"); +const u32 gMapObjectPic_BrendanNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/06.4bpp"); +const u32 gMapObjectPic_BrendanNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/07.4bpp"); +const u32 gMapObjectPic_BrendanNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/08.4bpp"); +const u32 gMapObjectPic_BrendanNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/09.4bpp"); +const u32 gMapObjectPic_BrendanNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/10.4bpp"); +const u32 gMapObjectPic_BrendanNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/11.4bpp"); +const u32 gMapObjectPic_BrendanNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/12.4bpp"); +const u32 gMapObjectPic_BrendanNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/13.4bpp"); +const u32 gMapObjectPic_BrendanNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/14.4bpp"); +const u32 gMapObjectPic_BrendanNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/15.4bpp"); +const u32 gMapObjectPic_BrendanNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/16.4bpp"); +const u32 gMapObjectPic_BrendanNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/17.4bpp"); +const u16 gMapObjectPalette8[] = INCBIN_U16("graphics/map_objects/palettes/08.gbapal"); +const u16 NullPalette_8310F68[16] = {}; +const u16 NullPalette_8310F88[16] = {}; +const u16 NullPalette_8310FA8[16] = {}; +const u16 NullPalette_8310FC8[16] = {}; +const u16 NullPalette_8310FE8[16] = {}; +const u16 NullPalette_8311008[16] = {}; +const u16 NullPalette_8311028[16] = {}; +const u16 NullPalette_8311048[16] = {}; +const u16 NullPalette_8311068[16] = {}; +const u16 NullPalette_8311088[16] = {}; +const u16 NullPalette_83110A8[16] = {}; +const u16 NullPalette_83110C8[16] = {}; +const u16 NullPalette_83110E8[16] = {}; +const u16 NullPalette_8311108[16] = {}; +const u16 NullPalette_8311128[16] = {}; +const u16 gMapObjectPalette9[] = INCBIN_U16("graphics/map_objects/palettes/09.gbapal"); +const u16 gMapObjectPalette10[] = INCBIN_U16("graphics/map_objects/palettes/10.gbapal"); +const u32 gMapObjectPic_BrendanFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/0.4bpp"); +const u32 gMapObjectPic_BrendanFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/1.4bpp"); +const u32 gMapObjectPic_BrendanFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/2.4bpp"); +const u32 gMapObjectPic_BrendanFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/3.4bpp"); +const u32 gMapObjectPic_BrendanFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/4.4bpp"); +const u32 gMapObjectPic_BrendanSurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/0.4bpp"); +const u32 gMapObjectPic_BrendanSurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/3.4bpp"); +const u32 gMapObjectPic_BrendanSurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/1.4bpp"); +const u32 gMapObjectPic_BrendanSurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/4.4bpp"); +const u32 gMapObjectPic_BrendanSurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/2.4bpp"); +const u32 gMapObjectPic_BrendanSurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/5.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/0.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/1.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/2.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/3.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/4.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/5.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/6.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/7.4bpp"); +const u32 gMapObjectPic_BrendanMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/8.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/00.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/01.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/02.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/03.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/04.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/05.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/06.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/07.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/08.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/09.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/10.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/11.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/12.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/13.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/14.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/15.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/16.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/17.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/18.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/19.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/20.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/21.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/22.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/23.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/24.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/25.4bpp"); +const u32 gMapObjectPic_BrendanAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/26.4bpp"); +const u32 gMapObjectPic_BrendanFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/00.4bpp"); +const u32 gMapObjectPic_BrendanFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/01.4bpp"); +const u32 gMapObjectPic_BrendanFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/02.4bpp"); +const u32 gMapObjectPic_BrendanFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/03.4bpp"); +const u32 gMapObjectPic_BrendanFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/04.4bpp"); +const u32 gMapObjectPic_BrendanFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/05.4bpp"); +const u32 gMapObjectPic_BrendanFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/06.4bpp"); +const u32 gMapObjectPic_BrendanFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/07.4bpp"); +const u32 gMapObjectPic_BrendanFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/08.4bpp"); +const u32 gMapObjectPic_BrendanFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/09.4bpp"); +const u32 gMapObjectPic_BrendanFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/10.4bpp"); +const u32 gMapObjectPic_BrendanFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/11.4bpp"); +const u32 gMapObjectPic_BrendanWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/0.4bpp"); +const u32 gMapObjectPic_BrendanWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/3.4bpp"); +const u32 gMapObjectPic_BrendanWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/1.4bpp"); +const u32 gMapObjectPic_BrendanWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/4.4bpp"); +const u32 gMapObjectPic_BrendanWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/2.4bpp"); +const u32 gMapObjectPic_BrendanWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/5.4bpp"); +const u32 gMapObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/decorating.4bpp"); +const u32 gMapObjectPic_MayDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/may/decorating.4bpp"); +const u32 gMapObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/0.4bpp"); +const u32 gMapObjectPic_BrendanUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/1.4bpp"); +const u32 gMapObjectPic_BrendanUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/2.4bpp"); +const u32 gMapObjectPic_BrendanUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/3.4bpp"); +const u32 gMapObjectPic_MayUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/0.4bpp"); +const u32 gMapObjectPic_MayUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/1.4bpp"); +const u32 gMapObjectPic_MayUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/2.4bpp"); +const u32 gMapObjectPic_MayUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/3.4bpp"); +const u16 gMapObjectPalette11[] = INCBIN_U16("graphics/map_objects/palettes/11.gbapal"); +const u32 gMapObjectPic_MayNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/00.4bpp"); +const u32 gMapObjectPic_MayNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/01.4bpp"); +const u32 gMapObjectPic_MayNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/02.4bpp"); +const u32 gMapObjectPic_MayNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/03.4bpp"); +const u32 gMapObjectPic_MayNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/04.4bpp"); +const u32 gMapObjectPic_MayNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/05.4bpp"); +const u32 gMapObjectPic_MayNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/06.4bpp"); +const u32 gMapObjectPic_MayNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/07.4bpp"); +const u32 gMapObjectPic_MayNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/08.4bpp"); +const u32 gMapObjectPic_MayNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/09.4bpp"); +const u32 gMapObjectPic_MayNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/10.4bpp"); +const u32 gMapObjectPic_MayNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/11.4bpp"); +const u32 gMapObjectPic_MayNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/12.4bpp"); +const u32 gMapObjectPic_MayNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/13.4bpp"); +const u32 gMapObjectPic_MayNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/14.4bpp"); +const u32 gMapObjectPic_MayNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/15.4bpp"); +const u32 gMapObjectPic_MayNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/16.4bpp"); +const u32 gMapObjectPic_MayNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/17.4bpp"); +const u16 gMapObjectPalette17[] = INCBIN_U16("graphics/map_objects/palettes/17.gbapal"); +const u16 gMapObjectPalette18[] = INCBIN_U16("graphics/map_objects/palettes/18.gbapal"); +const u16 NullPalette_831B7E8[16] = {}; +const u16 NullPalette_831B808[16] = {}; +const u16 NullPalette_831B828[16] = {}; +const u16 NullPalette_831B848[16] = {}; +const u16 NullPalette_831B868[16] = {}; +const u16 NullPalette_831B888[16] = {}; +const u16 NullPalette_831B8A8[16] = {}; +const u16 NullPalette_831B8C8[16] = {}; +const u16 NullPalette_831B8E8[16] = {}; +const u16 NullPalette_831B908[16] = {}; +const u16 NullPalette_831B928[16] = {}; +const u16 NullPalette_831B948[16] = {}; +const u16 NullPalette_831B968[16] = {}; +const u16 NullPalette_831B988[16] = {}; +const u32 gMapObjectPic_MayMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/0.4bpp"); +const u32 gMapObjectPic_MayMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/1.4bpp"); +const u32 gMapObjectPic_MayMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/2.4bpp"); +const u32 gMapObjectPic_MayMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/3.4bpp"); +const u32 gMapObjectPic_MayMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/4.4bpp"); +const u32 gMapObjectPic_MayMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/5.4bpp"); +const u32 gMapObjectPic_MayMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/6.4bpp"); +const u32 gMapObjectPic_MayMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/7.4bpp"); +const u32 gMapObjectPic_MayMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/8.4bpp"); +const u32 gMapObjectPic_MayAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/00.4bpp"); +const u32 gMapObjectPic_MayAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/01.4bpp"); +const u32 gMapObjectPic_MayAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/02.4bpp"); +const u32 gMapObjectPic_MayAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/03.4bpp"); +const u32 gMapObjectPic_MayAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/04.4bpp"); +const u32 gMapObjectPic_MayAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/05.4bpp"); +const u32 gMapObjectPic_MayAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/06.4bpp"); +const u32 gMapObjectPic_MayAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/07.4bpp"); +const u32 gMapObjectPic_MayAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/08.4bpp"); +const u32 gMapObjectPic_MayAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/09.4bpp"); +const u32 gMapObjectPic_MayAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/10.4bpp"); +const u32 gMapObjectPic_MayAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/11.4bpp"); +const u32 gMapObjectPic_MayAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/12.4bpp"); +const u32 gMapObjectPic_MayAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/13.4bpp"); +const u32 gMapObjectPic_MayAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/14.4bpp"); +const u32 gMapObjectPic_MayAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/15.4bpp"); +const u32 gMapObjectPic_MayAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/16.4bpp"); +const u32 gMapObjectPic_MayAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/17.4bpp"); +const u32 gMapObjectPic_MayAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/18.4bpp"); +const u32 gMapObjectPic_MayAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/19.4bpp"); +const u32 gMapObjectPic_MayAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/20.4bpp"); +const u32 gMapObjectPic_MayAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/21.4bpp"); +const u32 gMapObjectPic_MayAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/22.4bpp"); +const u32 gMapObjectPic_MayAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/23.4bpp"); +const u32 gMapObjectPic_MayAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/24.4bpp"); +const u32 gMapObjectPic_MayAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/25.4bpp"); +const u32 gMapObjectPic_MayAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/26.4bpp"); +const u32 gMapObjectPic_MaySurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/0.4bpp"); +const u32 gMapObjectPic_MaySurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/3.4bpp"); +const u32 gMapObjectPic_MaySurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/1.4bpp"); +const u32 gMapObjectPic_MaySurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/4.4bpp"); +const u32 gMapObjectPic_MaySurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/2.4bpp"); +const u32 gMapObjectPic_MaySurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/5.4bpp"); +const u32 gMapObjectPic_MayFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/0.4bpp"); +const u32 gMapObjectPic_MayFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/1.4bpp"); +const u32 gMapObjectPic_MayFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/2.4bpp"); +const u32 gMapObjectPic_MayFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/3.4bpp"); +const u32 gMapObjectPic_MayFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/4.4bpp"); +const u32 gMapObjectPic_MayFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/00.4bpp"); +const u32 gMapObjectPic_MayFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/01.4bpp"); +const u32 gMapObjectPic_MayFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/02.4bpp"); +const u32 gMapObjectPic_MayFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/03.4bpp"); +const u32 gMapObjectPic_MayFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/04.4bpp"); +const u32 gMapObjectPic_MayFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/05.4bpp"); +const u32 gMapObjectPic_MayFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/06.4bpp"); +const u32 gMapObjectPic_MayFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/07.4bpp"); +const u32 gMapObjectPic_MayFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/08.4bpp"); +const u32 gMapObjectPic_MayFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/09.4bpp"); +const u32 gMapObjectPic_MayFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/10.4bpp"); +const u32 gMapObjectPic_MayFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/11.4bpp"); +const u32 gMapObjectPic_MayWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/0.4bpp"); +const u32 gMapObjectPic_MayWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/3.4bpp"); +const u32 gMapObjectPic_MayWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/1.4bpp"); +const u32 gMapObjectPic_MayWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/4.4bpp"); +const u32 gMapObjectPic_MayWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/2.4bpp"); +const u32 gMapObjectPic_MayWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/5.4bpp"); +const u16 gMapObjectPalette0[] = INCBIN_U16("graphics/map_objects/palettes/00.gbapal"); +const u16 gMapObjectPalette1[] = INCBIN_U16("graphics/map_objects/palettes/01.gbapal"); +const u16 gMapObjectPalette2[] = INCBIN_U16("graphics/map_objects/palettes/02.gbapal"); +const u16 gMapObjectPalette3[] = INCBIN_U16("graphics/map_objects/palettes/03.gbapal"); +const u16 gMapObjectPalette4[] = INCBIN_U16("graphics/map_objects/palettes/04.gbapal"); +const u16 gMapObjectPalette5[] = INCBIN_U16("graphics/map_objects/palettes/05.gbapal"); +const u16 gMapObjectPalette6[] = INCBIN_U16("graphics/map_objects/palettes/06.gbapal"); +const u16 gMapObjectPalette7[] = INCBIN_U16("graphics/map_objects/palettes/07.gbapal"); +const u32 gMapObjectPic_LittleBoy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/0.4bpp"); +const u32 gMapObjectPic_LittleBoy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/1.4bpp"); +const u32 gMapObjectPic_LittleBoy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/2.4bpp"); +const u32 gMapObjectPic_LittleBoy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/3.4bpp"); +const u32 gMapObjectPic_LittleBoy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/4.4bpp"); +const u32 gMapObjectPic_LittleBoy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/5.4bpp"); +const u32 gMapObjectPic_LittleBoy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/6.4bpp"); +const u32 gMapObjectPic_LittleBoy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/7.4bpp"); +const u32 gMapObjectPic_LittleBoy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/8.4bpp"); +const u32 gMapObjectPic_LittleGirl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/0.4bpp"); +const u32 gMapObjectPic_LittleGirl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/1.4bpp"); +const u32 gMapObjectPic_LittleGirl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/2.4bpp"); +const u32 gMapObjectPic_LittleGirl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/3.4bpp"); +const u32 gMapObjectPic_LittleGirl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/4.4bpp"); +const u32 gMapObjectPic_LittleGirl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/5.4bpp"); +const u32 gMapObjectPic_LittleGirl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/6.4bpp"); +const u32 gMapObjectPic_LittleGirl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/7.4bpp"); +const u32 gMapObjectPic_LittleGirl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/8.4bpp"); +const u32 gMapObjectPic_Boy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/0.4bpp"); +const u32 gMapObjectPic_Boy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/1.4bpp"); +const u32 gMapObjectPic_Boy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/2.4bpp"); +const u32 gMapObjectPic_Boy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/3.4bpp"); +const u32 gMapObjectPic_Boy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/4.4bpp"); +const u32 gMapObjectPic_Boy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/5.4bpp"); +const u32 gMapObjectPic_Boy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/6.4bpp"); +const u32 gMapObjectPic_Boy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/7.4bpp"); +const u32 gMapObjectPic_Boy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/8.4bpp"); +const u32 gMapObjectPic_Girl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/0.4bpp"); +const u32 gMapObjectPic_Girl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/1.4bpp"); +const u32 gMapObjectPic_Girl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/2.4bpp"); +const u32 gMapObjectPic_Girl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/3.4bpp"); +const u32 gMapObjectPic_Girl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/4.4bpp"); +const u32 gMapObjectPic_Girl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/5.4bpp"); +const u32 gMapObjectPic_Girl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/6.4bpp"); +const u32 gMapObjectPic_Girl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/7.4bpp"); +const u32 gMapObjectPic_Girl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/8.4bpp"); +const u32 gMapObjectPic_Boy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/0.4bpp"); +const u32 gMapObjectPic_Boy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/1.4bpp"); +const u32 gMapObjectPic_Boy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/2.4bpp"); +const u32 gMapObjectPic_Boy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/3.4bpp"); +const u32 gMapObjectPic_Boy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/4.4bpp"); +const u32 gMapObjectPic_Boy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/5.4bpp"); +const u32 gMapObjectPic_Boy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/6.4bpp"); +const u32 gMapObjectPic_Boy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/7.4bpp"); +const u32 gMapObjectPic_Boy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/8.4bpp"); +const u32 gMapObjectPic_Girl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/0.4bpp"); +const u32 gMapObjectPic_Girl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/1.4bpp"); +const u32 gMapObjectPic_Girl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/2.4bpp"); +const u32 gMapObjectPic_Girl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/3.4bpp"); +const u32 gMapObjectPic_Girl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/4.4bpp"); +const u32 gMapObjectPic_Girl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/5.4bpp"); +const u32 gMapObjectPic_Girl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/6.4bpp"); +const u32 gMapObjectPic_Girl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/7.4bpp"); +const u32 gMapObjectPic_Girl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/8.4bpp"); +const u32 gMapObjectPic_LittleBoy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/0.4bpp"); +const u32 gMapObjectPic_LittleBoy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/1.4bpp"); +const u32 gMapObjectPic_LittleBoy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/2.4bpp"); +const u32 gMapObjectPic_LittleBoy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/3.4bpp"); +const u32 gMapObjectPic_LittleBoy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/4.4bpp"); +const u32 gMapObjectPic_LittleBoy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/5.4bpp"); +const u32 gMapObjectPic_LittleBoy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/6.4bpp"); +const u32 gMapObjectPic_LittleBoy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/7.4bpp"); +const u32 gMapObjectPic_LittleBoy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/8.4bpp"); +const u32 gMapObjectPic_LittleGirl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/0.4bpp"); +const u32 gMapObjectPic_LittleGirl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/1.4bpp"); +const u32 gMapObjectPic_LittleGirl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/2.4bpp"); +const u32 gMapObjectPic_LittleGirl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/3.4bpp"); +const u32 gMapObjectPic_LittleGirl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/4.4bpp"); +const u32 gMapObjectPic_LittleGirl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/5.4bpp"); +const u32 gMapObjectPic_LittleGirl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/6.4bpp"); +const u32 gMapObjectPic_LittleGirl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/7.4bpp"); +const u32 gMapObjectPic_LittleGirl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/8.4bpp"); +const u32 gMapObjectPic_Boy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/0.4bpp"); +const u32 gMapObjectPic_Boy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/1.4bpp"); +const u32 gMapObjectPic_Boy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/2.4bpp"); +const u32 gMapObjectPic_Boy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/3.4bpp"); +const u32 gMapObjectPic_Boy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/4.4bpp"); +const u32 gMapObjectPic_Boy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/5.4bpp"); +const u32 gMapObjectPic_Boy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/6.4bpp"); +const u32 gMapObjectPic_Boy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/7.4bpp"); +const u32 gMapObjectPic_Boy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/8.4bpp"); +const u32 gMapObjectPic_Girl3_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/0.4bpp"); +const u32 gMapObjectPic_Girl3_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/1.4bpp"); +const u32 gMapObjectPic_Girl3_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/2.4bpp"); +const u32 gMapObjectPic_Girl3_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/3.4bpp"); +const u32 gMapObjectPic_Girl3_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/4.4bpp"); +const u32 gMapObjectPic_Girl3_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/5.4bpp"); +const u32 gMapObjectPic_Girl3_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/6.4bpp"); +const u32 gMapObjectPic_Girl3_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/7.4bpp"); +const u32 gMapObjectPic_Girl3_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/8.4bpp"); +const u32 gMapObjectPic_Boy4_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/0.4bpp"); +const u32 gMapObjectPic_Boy4_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/1.4bpp"); +const u32 gMapObjectPic_Boy4_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/2.4bpp"); +const u32 gMapObjectPic_Boy4_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/3.4bpp"); +const u32 gMapObjectPic_Boy4_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/4.4bpp"); +const u32 gMapObjectPic_Boy4_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/5.4bpp"); +const u32 gMapObjectPic_Boy4_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/6.4bpp"); +const u32 gMapObjectPic_Boy4_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/7.4bpp"); +const u32 gMapObjectPic_Boy4_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/8.4bpp"); +const u32 gMapObjectPic_Woman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/0.4bpp"); +const u32 gMapObjectPic_Woman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/1.4bpp"); +const u32 gMapObjectPic_Woman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/2.4bpp"); +const u32 gMapObjectPic_Woman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/3.4bpp"); +const u32 gMapObjectPic_Woman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/4.4bpp"); +const u32 gMapObjectPic_Woman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/5.4bpp"); +const u32 gMapObjectPic_Woman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/6.4bpp"); +const u32 gMapObjectPic_Woman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/7.4bpp"); +const u32 gMapObjectPic_Woman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/8.4bpp"); +const u32 gMapObjectPic_FatMan_0[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/0.4bpp"); +const u32 gMapObjectPic_FatMan_1[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/1.4bpp"); +const u32 gMapObjectPic_FatMan_2[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/2.4bpp"); +const u32 gMapObjectPic_FatMan_3[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/3.4bpp"); +const u32 gMapObjectPic_FatMan_4[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/4.4bpp"); +const u32 gMapObjectPic_FatMan_5[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/5.4bpp"); +const u32 gMapObjectPic_FatMan_6[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/6.4bpp"); +const u32 gMapObjectPic_FatMan_7[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/7.4bpp"); +const u32 gMapObjectPic_FatMan_8[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/8.4bpp"); +const u32 gMapObjectPic_Woman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/0.4bpp"); +const u32 gMapObjectPic_Woman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/1.4bpp"); +const u32 gMapObjectPic_Woman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/2.4bpp"); +const u32 gMapObjectPic_Woman2_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/3.4bpp"); +const u32 gMapObjectPic_Woman2_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/4.4bpp"); +const u32 gMapObjectPic_Woman2_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/5.4bpp"); +const u32 gMapObjectPic_Woman2_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/6.4bpp"); +const u32 gMapObjectPic_Woman2_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/7.4bpp"); +const u32 gMapObjectPic_Woman2_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/8.4bpp"); +const u32 gMapObjectPic_Man1_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/0.4bpp"); +const u32 gMapObjectPic_Man1_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/1.4bpp"); +const u32 gMapObjectPic_Man1_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/2.4bpp"); +const u32 gMapObjectPic_Man1_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/3.4bpp"); +const u32 gMapObjectPic_Man1_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/4.4bpp"); +const u32 gMapObjectPic_Man1_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/5.4bpp"); +const u32 gMapObjectPic_Man1_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/6.4bpp"); +const u32 gMapObjectPic_Man1_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/7.4bpp"); +const u32 gMapObjectPic_Man1_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/8.4bpp"); +const u32 gMapObjectPic_Woman3_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/0.4bpp"); +const u32 gMapObjectPic_Woman3_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/1.4bpp"); +const u32 gMapObjectPic_Woman3_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/2.4bpp"); +const u32 gMapObjectPic_Woman3_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/3.4bpp"); +const u32 gMapObjectPic_Woman3_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/4.4bpp"); +const u32 gMapObjectPic_Woman3_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/5.4bpp"); +const u32 gMapObjectPic_Woman3_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/6.4bpp"); +const u32 gMapObjectPic_Woman3_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/7.4bpp"); +const u32 gMapObjectPic_Woman3_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/8.4bpp"); +const u32 gMapObjectPic_OldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/0.4bpp"); +const u32 gMapObjectPic_OldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/1.4bpp"); +const u32 gMapObjectPic_OldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/2.4bpp"); +const u32 gMapObjectPic_OldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/3.4bpp"); +const u32 gMapObjectPic_OldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/4.4bpp"); +const u32 gMapObjectPic_OldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/5.4bpp"); +const u32 gMapObjectPic_OldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/6.4bpp"); +const u32 gMapObjectPic_OldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/7.4bpp"); +const u32 gMapObjectPic_OldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/8.4bpp"); +const u32 gMapObjectPic_OldWoman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/0.4bpp"); +const u32 gMapObjectPic_OldWoman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/1.4bpp"); +const u32 gMapObjectPic_OldWoman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/2.4bpp"); +const u32 gMapObjectPic_OldWoman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/3.4bpp"); +const u32 gMapObjectPic_OldWoman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/4.4bpp"); +const u32 gMapObjectPic_OldWoman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/5.4bpp"); +const u32 gMapObjectPic_OldWoman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/6.4bpp"); +const u32 gMapObjectPic_OldWoman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/7.4bpp"); +const u32 gMapObjectPic_OldWoman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/8.4bpp"); +const u32 gMapObjectPic_Man2_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/0.4bpp"); +const u32 gMapObjectPic_Man2_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/1.4bpp"); +const u32 gMapObjectPic_Man2_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/2.4bpp"); +const u32 gMapObjectPic_Man2_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/3.4bpp"); +const u32 gMapObjectPic_Man2_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/4.4bpp"); +const u32 gMapObjectPic_Man2_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/5.4bpp"); +const u32 gMapObjectPic_Man2_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/6.4bpp"); +const u32 gMapObjectPic_Man2_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/7.4bpp"); +const u32 gMapObjectPic_Man2_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/8.4bpp"); +const u32 gMapObjectPic_Woman4_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/0.4bpp"); +const u32 gMapObjectPic_Woman4_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/1.4bpp"); +const u32 gMapObjectPic_Woman4_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/2.4bpp"); +const u32 gMapObjectPic_Woman4_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/3.4bpp"); +const u32 gMapObjectPic_Woman4_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/4.4bpp"); +const u32 gMapObjectPic_Woman4_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/5.4bpp"); +const u32 gMapObjectPic_Woman4_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/6.4bpp"); +const u32 gMapObjectPic_Woman4_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/7.4bpp"); +const u32 gMapObjectPic_Woman4_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/8.4bpp"); +const u32 gMapObjectPic_Man3_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/0.4bpp"); +const u32 gMapObjectPic_Man3_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/1.4bpp"); +const u32 gMapObjectPic_Man3_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/2.4bpp"); +const u32 gMapObjectPic_Man3_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/3.4bpp"); +const u32 gMapObjectPic_Man3_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/4.4bpp"); +const u32 gMapObjectPic_Man3_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/5.4bpp"); +const u32 gMapObjectPic_Man3_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/6.4bpp"); +const u32 gMapObjectPic_Man3_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/7.4bpp"); +const u32 gMapObjectPic_Man3_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/8.4bpp"); +const u32 gMapObjectPic_Woman5_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/0.4bpp"); +const u32 gMapObjectPic_Woman5_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/1.4bpp"); +const u32 gMapObjectPic_Woman5_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/2.4bpp"); +const u32 gMapObjectPic_Woman5_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/3.4bpp"); +const u32 gMapObjectPic_Woman5_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/4.4bpp"); +const u32 gMapObjectPic_Woman5_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/5.4bpp"); +const u32 gMapObjectPic_Woman5_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/6.4bpp"); +const u32 gMapObjectPic_Woman5_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/7.4bpp"); +const u32 gMapObjectPic_Woman5_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/8.4bpp"); +const u32 gMapObjectPic_Cook_0[] = INCBIN_U32("graphics/map_objects/pics/people/cook/0.4bpp"); +const u32 gMapObjectPic_Cook_1[] = INCBIN_U32("graphics/map_objects/pics/people/cook/1.4bpp"); +const u32 gMapObjectPic_Cook_2[] = INCBIN_U32("graphics/map_objects/pics/people/cook/2.4bpp"); +const u32 gMapObjectPic_Woman6_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/0.4bpp"); +const u32 gMapObjectPic_Woman6_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/1.4bpp"); +const u32 gMapObjectPic_Woman6_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/2.4bpp"); +const u32 gMapObjectPic_Woman6_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/3.4bpp"); +const u32 gMapObjectPic_Woman6_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/4.4bpp"); +const u32 gMapObjectPic_Woman6_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/5.4bpp"); +const u32 gMapObjectPic_Woman6_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/6.4bpp"); +const u32 gMapObjectPic_Woman6_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/7.4bpp"); +const u32 gMapObjectPic_Woman6_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/8.4bpp"); +const u32 gMapObjectPic_OldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/0.4bpp"); +const u32 gMapObjectPic_OldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/1.4bpp"); +const u32 gMapObjectPic_OldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/2.4bpp"); +const u32 gMapObjectPic_OldWoman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/0.4bpp"); +const u32 gMapObjectPic_OldWoman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/1.4bpp"); +const u32 gMapObjectPic_OldWoman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/2.4bpp"); +const u32 gMapObjectPic_Camper_0[] = INCBIN_U32("graphics/map_objects/pics/people/camper/0.4bpp"); +const u32 gMapObjectPic_Camper_1[] = INCBIN_U32("graphics/map_objects/pics/people/camper/1.4bpp"); +const u32 gMapObjectPic_Camper_2[] = INCBIN_U32("graphics/map_objects/pics/people/camper/2.4bpp"); +const u32 gMapObjectPic_Camper_3[] = INCBIN_U32("graphics/map_objects/pics/people/camper/3.4bpp"); +const u32 gMapObjectPic_Camper_4[] = INCBIN_U32("graphics/map_objects/pics/people/camper/4.4bpp"); +const u32 gMapObjectPic_Camper_5[] = INCBIN_U32("graphics/map_objects/pics/people/camper/5.4bpp"); +const u32 gMapObjectPic_Camper_6[] = INCBIN_U32("graphics/map_objects/pics/people/camper/6.4bpp"); +const u32 gMapObjectPic_Camper_7[] = INCBIN_U32("graphics/map_objects/pics/people/camper/7.4bpp"); +const u32 gMapObjectPic_Camper_8[] = INCBIN_U32("graphics/map_objects/pics/people/camper/8.4bpp"); +const u32 gMapObjectPic_Picnicker_0[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/0.4bpp"); +const u32 gMapObjectPic_Picnicker_1[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/1.4bpp"); +const u32 gMapObjectPic_Picnicker_2[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/2.4bpp"); +const u32 gMapObjectPic_Picnicker_3[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/3.4bpp"); +const u32 gMapObjectPic_Picnicker_4[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/4.4bpp"); +const u32 gMapObjectPic_Picnicker_5[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/5.4bpp"); +const u32 gMapObjectPic_Picnicker_6[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/6.4bpp"); +const u32 gMapObjectPic_Picnicker_7[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/7.4bpp"); +const u32 gMapObjectPic_Picnicker_8[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/8.4bpp"); +const u32 gMapObjectPic_Man4_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/0.4bpp"); +const u32 gMapObjectPic_Man4_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/1.4bpp"); +const u32 gMapObjectPic_Man4_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/2.4bpp"); +const u32 gMapObjectPic_Man4_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/3.4bpp"); +const u32 gMapObjectPic_Man4_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/4.4bpp"); +const u32 gMapObjectPic_Man4_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/5.4bpp"); +const u32 gMapObjectPic_Man4_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/6.4bpp"); +const u32 gMapObjectPic_Man4_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/7.4bpp"); +const u32 gMapObjectPic_Man4_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/8.4bpp"); +const u32 gMapObjectPic_Woman7_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/0.4bpp"); +const u32 gMapObjectPic_Woman7_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/1.4bpp"); +const u32 gMapObjectPic_Woman7_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/2.4bpp"); +const u32 gMapObjectPic_Woman7_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/3.4bpp"); +const u32 gMapObjectPic_Woman7_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/4.4bpp"); +const u32 gMapObjectPic_Woman7_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/5.4bpp"); +const u32 gMapObjectPic_Woman7_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/6.4bpp"); +const u32 gMapObjectPic_Woman7_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/7.4bpp"); +const u32 gMapObjectPic_Woman7_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/8.4bpp"); +const u32 gMapObjectPic_Youngster_0[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/0.4bpp"); +const u32 gMapObjectPic_Youngster_1[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/1.4bpp"); +const u32 gMapObjectPic_Youngster_2[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/2.4bpp"); +const u32 gMapObjectPic_Youngster_3[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/3.4bpp"); +const u32 gMapObjectPic_Youngster_4[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/4.4bpp"); +const u32 gMapObjectPic_Youngster_5[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/5.4bpp"); +const u32 gMapObjectPic_Youngster_6[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/6.4bpp"); +const u32 gMapObjectPic_Youngster_7[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/7.4bpp"); +const u32 gMapObjectPic_Youngster_8[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/8.4bpp"); +const u32 gMapObjectPic_BugCatcher_0[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/0.4bpp"); +const u32 gMapObjectPic_BugCatcher_1[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/1.4bpp"); +const u32 gMapObjectPic_BugCatcher_2[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/2.4bpp"); +const u32 gMapObjectPic_BugCatcher_3[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/3.4bpp"); +const u32 gMapObjectPic_BugCatcher_4[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/4.4bpp"); +const u32 gMapObjectPic_BugCatcher_5[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/5.4bpp"); +const u32 gMapObjectPic_BugCatcher_6[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/6.4bpp"); +const u32 gMapObjectPic_BugCatcher_7[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/7.4bpp"); +const u32 gMapObjectPic_BugCatcher_8[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/8.4bpp"); +const u32 gMapObjectPic_PsychicM_0[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/0.4bpp"); +const u32 gMapObjectPic_PsychicM_1[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/1.4bpp"); +const u32 gMapObjectPic_PsychicM_2[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/2.4bpp"); +const u32 gMapObjectPic_PsychicM_3[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/3.4bpp"); +const u32 gMapObjectPic_PsychicM_4[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/4.4bpp"); +const u32 gMapObjectPic_PsychicM_5[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/5.4bpp"); +const u32 gMapObjectPic_PsychicM_6[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/6.4bpp"); +const u32 gMapObjectPic_PsychicM_7[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/7.4bpp"); +const u32 gMapObjectPic_PsychicM_8[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/8.4bpp"); +const u32 gMapObjectPic_SchoolKidM_0[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/0.4bpp"); +const u32 gMapObjectPic_SchoolKidM_1[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/1.4bpp"); +const u32 gMapObjectPic_SchoolKidM_2[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/2.4bpp"); +const u32 gMapObjectPic_SchoolKidM_3[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/3.4bpp"); +const u32 gMapObjectPic_SchoolKidM_4[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/4.4bpp"); +const u32 gMapObjectPic_SchoolKidM_5[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/5.4bpp"); +const u32 gMapObjectPic_SchoolKidM_6[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/6.4bpp"); +const u32 gMapObjectPic_SchoolKidM_7[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/7.4bpp"); +const u32 gMapObjectPic_SchoolKidM_8[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/8.4bpp"); +const u32 gMapObjectPic_Maniac_0[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/0.4bpp"); +const u32 gMapObjectPic_Maniac_1[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/1.4bpp"); +const u32 gMapObjectPic_Maniac_2[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/2.4bpp"); +const u32 gMapObjectPic_Maniac_3[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/3.4bpp"); +const u32 gMapObjectPic_Maniac_4[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/4.4bpp"); +const u32 gMapObjectPic_Maniac_5[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/5.4bpp"); +const u32 gMapObjectPic_Maniac_6[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/6.4bpp"); +const u32 gMapObjectPic_Maniac_7[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/7.4bpp"); +const u32 gMapObjectPic_Maniac_8[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/8.4bpp"); +const u32 gMapObjectPic_HexManiac_0[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/0.4bpp"); +const u32 gMapObjectPic_HexManiac_1[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/1.4bpp"); +const u32 gMapObjectPic_HexManiac_2[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/2.4bpp"); +const u32 gMapObjectPic_HexManiac_3[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/3.4bpp"); +const u32 gMapObjectPic_HexManiac_4[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/4.4bpp"); +const u32 gMapObjectPic_HexManiac_5[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/5.4bpp"); +const u32 gMapObjectPic_HexManiac_6[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/6.4bpp"); +const u32 gMapObjectPic_HexManiac_7[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/7.4bpp"); +const u32 gMapObjectPic_HexManiac_8[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/8.4bpp"); +const u32 gMapObjectPic_Woman8_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/0.4bpp"); +const u32 gMapObjectPic_Woman8_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/1.4bpp"); +const u32 gMapObjectPic_Woman8_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/2.4bpp"); +const u32 gMapObjectPic_Woman8_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/3.4bpp"); +const u32 gMapObjectPic_Woman8_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/4.4bpp"); +const u32 gMapObjectPic_Woman8_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/5.4bpp"); +const u32 gMapObjectPic_Woman8_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/6.4bpp"); +const u32 gMapObjectPic_Woman8_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/7.4bpp"); +const u32 gMapObjectPic_Woman8_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/8.4bpp"); +const u32 gMapObjectPic_SwimmerM_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/0.4bpp"); +const u32 gMapObjectPic_SwimmerM_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/1.4bpp"); +const u32 gMapObjectPic_SwimmerM_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/2.4bpp"); +const u32 gMapObjectPic_SwimmerM_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/3.4bpp"); +const u32 gMapObjectPic_SwimmerM_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/4.4bpp"); +const u32 gMapObjectPic_SwimmerM_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/5.4bpp"); +const u32 gMapObjectPic_SwimmerM_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/6.4bpp"); +const u32 gMapObjectPic_SwimmerM_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/7.4bpp"); +const u32 gMapObjectPic_SwimmerM_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/8.4bpp"); +const u32 gMapObjectPic_SwimmerF_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/0.4bpp"); +const u32 gMapObjectPic_SwimmerF_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/1.4bpp"); +const u32 gMapObjectPic_SwimmerF_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/2.4bpp"); +const u32 gMapObjectPic_SwimmerF_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/3.4bpp"); +const u32 gMapObjectPic_SwimmerF_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/4.4bpp"); +const u32 gMapObjectPic_SwimmerF_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/5.4bpp"); +const u32 gMapObjectPic_SwimmerF_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/6.4bpp"); +const u32 gMapObjectPic_SwimmerF_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/7.4bpp"); +const u32 gMapObjectPic_SwimmerF_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/8.4bpp"); +const u32 gMapObjectPic_BlackBelt_0[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/0.4bpp"); +const u32 gMapObjectPic_BlackBelt_1[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/1.4bpp"); +const u32 gMapObjectPic_BlackBelt_2[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/2.4bpp"); +const u32 gMapObjectPic_BlackBelt_3[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/3.4bpp"); +const u32 gMapObjectPic_BlackBelt_4[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/4.4bpp"); +const u32 gMapObjectPic_BlackBelt_5[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/5.4bpp"); +const u32 gMapObjectPic_BlackBelt_6[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/6.4bpp"); +const u32 gMapObjectPic_BlackBelt_7[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/7.4bpp"); +const u32 gMapObjectPic_BlackBelt_8[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/8.4bpp"); +const u32 gMapObjectPic_Beauty_0[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/0.4bpp"); +const u32 gMapObjectPic_Beauty_1[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/1.4bpp"); +const u32 gMapObjectPic_Beauty_2[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/2.4bpp"); +const u32 gMapObjectPic_Beauty_3[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/3.4bpp"); +const u32 gMapObjectPic_Beauty_4[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/4.4bpp"); +const u32 gMapObjectPic_Beauty_5[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/5.4bpp"); +const u32 gMapObjectPic_Beauty_6[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/6.4bpp"); +const u32 gMapObjectPic_Beauty_7[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/7.4bpp"); +const u32 gMapObjectPic_Beauty_8[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/8.4bpp"); +const u32 gMapObjectPic_Scientist1_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/0.4bpp"); +const u32 gMapObjectPic_Scientist1_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/1.4bpp"); +const u32 gMapObjectPic_Scientist1_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/2.4bpp"); +const u32 gMapObjectPic_Scientist1_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/3.4bpp"); +const u32 gMapObjectPic_Scientist1_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/4.4bpp"); +const u32 gMapObjectPic_Scientist1_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/5.4bpp"); +const u32 gMapObjectPic_Scientist1_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/6.4bpp"); +const u32 gMapObjectPic_Scientist1_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/7.4bpp"); +const u32 gMapObjectPic_Scientist1_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/8.4bpp"); +const u32 gMapObjectPic_Lass_0[] = INCBIN_U32("graphics/map_objects/pics/people/lass/0.4bpp"); +const u32 gMapObjectPic_Lass_1[] = INCBIN_U32("graphics/map_objects/pics/people/lass/1.4bpp"); +const u32 gMapObjectPic_Lass_2[] = INCBIN_U32("graphics/map_objects/pics/people/lass/2.4bpp"); +const u32 gMapObjectPic_Lass_3[] = INCBIN_U32("graphics/map_objects/pics/people/lass/3.4bpp"); +const u32 gMapObjectPic_Lass_4[] = INCBIN_U32("graphics/map_objects/pics/people/lass/4.4bpp"); +const u32 gMapObjectPic_Lass_5[] = INCBIN_U32("graphics/map_objects/pics/people/lass/5.4bpp"); +const u32 gMapObjectPic_Lass_6[] = INCBIN_U32("graphics/map_objects/pics/people/lass/6.4bpp"); +const u32 gMapObjectPic_Lass_7[] = INCBIN_U32("graphics/map_objects/pics/people/lass/7.4bpp"); +const u32 gMapObjectPic_Lass_8[] = INCBIN_U32("graphics/map_objects/pics/people/lass/8.4bpp"); +const u32 gMapObjectPic_Gentleman_0[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/0.4bpp"); +const u32 gMapObjectPic_Gentleman_1[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/1.4bpp"); +const u32 gMapObjectPic_Gentleman_2[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/2.4bpp"); +const u32 gMapObjectPic_Gentleman_3[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/3.4bpp"); +const u32 gMapObjectPic_Gentleman_4[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/4.4bpp"); +const u32 gMapObjectPic_Gentleman_5[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/5.4bpp"); +const u32 gMapObjectPic_Gentleman_6[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/6.4bpp"); +const u32 gMapObjectPic_Gentleman_7[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/7.4bpp"); +const u32 gMapObjectPic_Gentleman_8[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/8.4bpp"); +const u32 gMapObjectPic_Sailor_0[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/0.4bpp"); +const u32 gMapObjectPic_Sailor_1[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/1.4bpp"); +const u32 gMapObjectPic_Sailor_2[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/2.4bpp"); +const u32 gMapObjectPic_Sailor_3[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/3.4bpp"); +const u32 gMapObjectPic_Sailor_4[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/4.4bpp"); +const u32 gMapObjectPic_Sailor_5[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/5.4bpp"); +const u32 gMapObjectPic_Sailor_6[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/6.4bpp"); +const u32 gMapObjectPic_Sailor_7[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/7.4bpp"); +const u32 gMapObjectPic_Sailor_8[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/8.4bpp"); +const u32 gMapObjectPic_Fisherman_0[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/0.4bpp"); +const u32 gMapObjectPic_Fisherman_1[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/1.4bpp"); +const u32 gMapObjectPic_Fisherman_2[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/2.4bpp"); +const u32 gMapObjectPic_Fisherman_3[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/3.4bpp"); +const u32 gMapObjectPic_Fisherman_4[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/4.4bpp"); +const u32 gMapObjectPic_Fisherman_5[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/5.4bpp"); +const u32 gMapObjectPic_Fisherman_6[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/6.4bpp"); +const u32 gMapObjectPic_Fisherman_7[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/7.4bpp"); +const u32 gMapObjectPic_Fisherman_8[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/8.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/0.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/1.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/2.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/3.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/4.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/5.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/6.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/7.4bpp"); +const u32 gMapObjectPic_RunningTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/8.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/0.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/1.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/2.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/3.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/4.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/5.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/6.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/7.4bpp"); +const u32 gMapObjectPic_RunningTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/8.4bpp"); +const u32 gMapObjectPic_TuberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/0.4bpp"); +const u32 gMapObjectPic_TuberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/1.4bpp"); +const u32 gMapObjectPic_TuberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/2.4bpp"); +const u32 gMapObjectPic_TuberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/3.4bpp"); +const u32 gMapObjectPic_TuberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/4.4bpp"); +const u32 gMapObjectPic_TuberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/5.4bpp"); +const u32 gMapObjectPic_TuberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/6.4bpp"); +const u32 gMapObjectPic_TuberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/7.4bpp"); +const u32 gMapObjectPic_TuberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/8.4bpp"); +const u32 gMapObjectPic_TuberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/0.4bpp"); +const u32 gMapObjectPic_TuberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/1.4bpp"); +const u32 gMapObjectPic_TuberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/2.4bpp"); +const u32 gMapObjectPic_TuberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/3.4bpp"); +const u32 gMapObjectPic_TuberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/4.4bpp"); +const u32 gMapObjectPic_TuberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/5.4bpp"); +const u32 gMapObjectPic_TuberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/6.4bpp"); +const u32 gMapObjectPic_TuberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/7.4bpp"); +const u32 gMapObjectPic_TuberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/8.4bpp"); +const u32 gMapObjectPic_Hiker_0[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/0.4bpp"); +const u32 gMapObjectPic_Hiker_1[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/1.4bpp"); +const u32 gMapObjectPic_Hiker_2[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/2.4bpp"); +const u32 gMapObjectPic_Hiker_3[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/3.4bpp"); +const u32 gMapObjectPic_Hiker_4[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/4.4bpp"); +const u32 gMapObjectPic_Hiker_5[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/5.4bpp"); +const u32 gMapObjectPic_Hiker_6[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/6.4bpp"); +const u32 gMapObjectPic_Hiker_7[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/7.4bpp"); +const u32 gMapObjectPic_Hiker_8[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/8.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/0.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/1.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/2.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/3.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/4.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/5.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/6.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/7.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/8.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/0.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/1.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/2.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/3.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/4.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/5.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/6.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/7.4bpp"); +const u32 gMapObjectPic_CyclingTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/8.4bpp"); +const u32 gMapObjectPic_Man5_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/0.4bpp"); +const u32 gMapObjectPic_Man5_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/1.4bpp"); +const u32 gMapObjectPic_Man5_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/2.4bpp"); +const u32 gMapObjectPic_Man5_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/3.4bpp"); +const u32 gMapObjectPic_Man5_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/4.4bpp"); +const u32 gMapObjectPic_Man5_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/5.4bpp"); +const u32 gMapObjectPic_Man5_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/6.4bpp"); +const u32 gMapObjectPic_Man5_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/7.4bpp"); +const u32 gMapObjectPic_Man5_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/8.4bpp"); +const u32 gMapObjectPic_Man6_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/0.4bpp"); +const u32 gMapObjectPic_Man6_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/1.4bpp"); +const u32 gMapObjectPic_Man6_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/2.4bpp"); +const u32 gMapObjectPic_Man6_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/3.4bpp"); +const u32 gMapObjectPic_Man6_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/4.4bpp"); +const u32 gMapObjectPic_Man6_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/5.4bpp"); +const u32 gMapObjectPic_Man6_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/6.4bpp"); +const u32 gMapObjectPic_Man6_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/7.4bpp"); +const u32 gMapObjectPic_Man6_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/8.4bpp"); +const u32 gMapObjectPic_Nurse_0[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/0.4bpp"); +const u32 gMapObjectPic_Nurse_1[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/1.4bpp"); +const u32 gMapObjectPic_Nurse_2[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/2.4bpp"); +const u32 gMapObjectPic_Nurse_3[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/3.4bpp"); +const u32 gMapObjectPic_Nurse_4[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/4.4bpp"); +const u32 gMapObjectPic_Nurse_5[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/5.4bpp"); +const u32 gMapObjectPic_Nurse_6[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/6.4bpp"); +const u32 gMapObjectPic_Nurse_7[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/7.4bpp"); +const u32 gMapObjectPic_Nurse_8[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/8.4bpp"); +const u32 gMapObjectPic_Nurse_9[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/9.4bpp"); +const u32 gMapObjectPic_ItemBall[] = INCBIN_U32("graphics/map_objects/pics/misc/item_ball.4bpp"); +const u32 gMapObjectPic_ProfBirch_0[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/0.4bpp"); +const u32 gMapObjectPic_ProfBirch_1[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/1.4bpp"); +const u32 gMapObjectPic_ProfBirch_2[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/2.4bpp"); +const u32 gMapObjectPic_ProfBirch_3[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/3.4bpp"); +const u32 gMapObjectPic_ProfBirch_4[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/4.4bpp"); +const u32 gMapObjectPic_ProfBirch_5[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/5.4bpp"); +const u32 gMapObjectPic_ProfBirch_6[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/6.4bpp"); +const u32 gMapObjectPic_ProfBirch_7[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/7.4bpp"); +const u32 gMapObjectPic_ProfBirch_8[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/8.4bpp"); +const u32 gMapObjectPic_ReporterM_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/0.4bpp"); +const u32 gMapObjectPic_ReporterM_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/1.4bpp"); +const u32 gMapObjectPic_ReporterM_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/2.4bpp"); +const u32 gMapObjectPic_ReporterM_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/3.4bpp"); +const u32 gMapObjectPic_ReporterM_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/4.4bpp"); +const u32 gMapObjectPic_ReporterM_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/5.4bpp"); +const u32 gMapObjectPic_ReporterM_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/6.4bpp"); +const u32 gMapObjectPic_ReporterM_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/7.4bpp"); +const u32 gMapObjectPic_ReporterM_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/8.4bpp"); +const u32 gMapObjectPic_ReporterF_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/0.4bpp"); +const u32 gMapObjectPic_ReporterF_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/1.4bpp"); +const u32 gMapObjectPic_ReporterF_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/2.4bpp"); +const u32 gMapObjectPic_ReporterF_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/3.4bpp"); +const u32 gMapObjectPic_ReporterF_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/4.4bpp"); +const u32 gMapObjectPic_ReporterF_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/5.4bpp"); +const u32 gMapObjectPic_ReporterF_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/6.4bpp"); +const u32 gMapObjectPic_ReporterF_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/7.4bpp"); +const u32 gMapObjectPic_ReporterF_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/8.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/0.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/1.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/2.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/3.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/4.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/5.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/6.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/7.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/8.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/0.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/1.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/2.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/3.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/4.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/5.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/6.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/7.4bpp"); +const u32 gMapObjectPic_MauvilleOldMan2_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/8.4bpp"); +const u32 gMapObjectPic_MartEmployee_0[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/0.4bpp"); +const u32 gMapObjectPic_MartEmployee_1[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/1.4bpp"); +const u32 gMapObjectPic_MartEmployee_2[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/2.4bpp"); +const u32 gMapObjectPic_MartEmployee_3[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/3.4bpp"); +const u32 gMapObjectPic_MartEmployee_4[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/4.4bpp"); +const u32 gMapObjectPic_MartEmployee_5[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/5.4bpp"); +const u32 gMapObjectPic_MartEmployee_6[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/6.4bpp"); +const u32 gMapObjectPic_MartEmployee_7[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/7.4bpp"); +const u32 gMapObjectPic_MartEmployee_8[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/8.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/0.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/1.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/2.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/3.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/4.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/5.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/6.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/7.4bpp"); +const u32 gMapObjectPic_RooftopSaleWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/8.4bpp"); +const u32 gMapObjectPic_Teala_0[] = INCBIN_U32("graphics/map_objects/pics/people/teala/0.4bpp"); +const u32 gMapObjectPic_Teala_1[] = INCBIN_U32("graphics/map_objects/pics/people/teala/1.4bpp"); +const u32 gMapObjectPic_Teala_2[] = INCBIN_U32("graphics/map_objects/pics/people/teala/2.4bpp"); +const u32 gMapObjectPic_Teala_3[] = INCBIN_U32("graphics/map_objects/pics/people/teala/3.4bpp"); +const u32 gMapObjectPic_Teala_4[] = INCBIN_U32("graphics/map_objects/pics/people/teala/4.4bpp"); +const u32 gMapObjectPic_Teala_5[] = INCBIN_U32("graphics/map_objects/pics/people/teala/5.4bpp"); +const u32 gMapObjectPic_Teala_6[] = INCBIN_U32("graphics/map_objects/pics/people/teala/6.4bpp"); +const u32 gMapObjectPic_Teala_7[] = INCBIN_U32("graphics/map_objects/pics/people/teala/7.4bpp"); +const u32 gMapObjectPic_Teala_8[] = INCBIN_U32("graphics/map_objects/pics/people/teala/8.4bpp"); +const u32 gMapObjectPic_Artist_0[] = INCBIN_U32("graphics/map_objects/pics/people/artist/0.4bpp"); +const u32 gMapObjectPic_Artist_1[] = INCBIN_U32("graphics/map_objects/pics/people/artist/1.4bpp"); +const u32 gMapObjectPic_Artist_2[] = INCBIN_U32("graphics/map_objects/pics/people/artist/2.4bpp"); +const u32 gMapObjectPic_Artist_3[] = INCBIN_U32("graphics/map_objects/pics/people/artist/3.4bpp"); +const u32 gMapObjectPic_Artist_4[] = INCBIN_U32("graphics/map_objects/pics/people/artist/4.4bpp"); +const u32 gMapObjectPic_Artist_5[] = INCBIN_U32("graphics/map_objects/pics/people/artist/5.4bpp"); +const u32 gMapObjectPic_Artist_6[] = INCBIN_U32("graphics/map_objects/pics/people/artist/6.4bpp"); +const u32 gMapObjectPic_Artist_7[] = INCBIN_U32("graphics/map_objects/pics/people/artist/7.4bpp"); +const u32 gMapObjectPic_Artist_8[] = INCBIN_U32("graphics/map_objects/pics/people/artist/8.4bpp"); +const u32 gMapObjectPic_Cameraman_0[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/0.4bpp"); +const u32 gMapObjectPic_Cameraman_1[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/1.4bpp"); +const u32 gMapObjectPic_Cameraman_2[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/2.4bpp"); +const u32 gMapObjectPic_Cameraman_3[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/3.4bpp"); +const u32 gMapObjectPic_Cameraman_4[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/4.4bpp"); +const u32 gMapObjectPic_Cameraman_5[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/5.4bpp"); +const u32 gMapObjectPic_Cameraman_6[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/6.4bpp"); +const u32 gMapObjectPic_Cameraman_7[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/7.4bpp"); +const u32 gMapObjectPic_Cameraman_8[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/8.4bpp"); +const u32 gMapObjectPic_Scientist2_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/0.4bpp"); +const u32 gMapObjectPic_Scientist2_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/1.4bpp"); +const u32 gMapObjectPic_Scientist2_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/2.4bpp"); +const u32 gMapObjectPic_Scientist2_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/3.4bpp"); +const u32 gMapObjectPic_Scientist2_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/4.4bpp"); +const u32 gMapObjectPic_Scientist2_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/5.4bpp"); +const u32 gMapObjectPic_Scientist2_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/6.4bpp"); +const u32 gMapObjectPic_Scientist2_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/7.4bpp"); +const u32 gMapObjectPic_Scientist2_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/8.4bpp"); +const u32 gMapObjectPic_Man7_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/0.4bpp"); +const u32 gMapObjectPic_Man7_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/1.4bpp"); +const u32 gMapObjectPic_Man7_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/2.4bpp"); +const u32 gMapObjectPic_Man7_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/3.4bpp"); +const u32 gMapObjectPic_Man7_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/4.4bpp"); +const u32 gMapObjectPic_Man7_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/5.4bpp"); +const u32 gMapObjectPic_Man7_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/6.4bpp"); +const u32 gMapObjectPic_Man7_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/7.4bpp"); +const u32 gMapObjectPic_Man7_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/8.4bpp"); +const u32 gMapObjectPic_AquaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/0.4bpp"); +const u32 gMapObjectPic_AquaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/1.4bpp"); +const u32 gMapObjectPic_AquaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/2.4bpp"); +const u32 gMapObjectPic_AquaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/3.4bpp"); +const u32 gMapObjectPic_AquaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/4.4bpp"); +const u32 gMapObjectPic_AquaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/5.4bpp"); +const u32 gMapObjectPic_AquaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/6.4bpp"); +const u32 gMapObjectPic_AquaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/7.4bpp"); +const u32 gMapObjectPic_AquaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/8.4bpp"); +const u32 gMapObjectPic_AquaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/0.4bpp"); +const u32 gMapObjectPic_AquaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/1.4bpp"); +const u32 gMapObjectPic_AquaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/2.4bpp"); +const u32 gMapObjectPic_AquaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/3.4bpp"); +const u32 gMapObjectPic_AquaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/4.4bpp"); +const u32 gMapObjectPic_AquaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/5.4bpp"); +const u32 gMapObjectPic_AquaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/6.4bpp"); +const u32 gMapObjectPic_AquaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/7.4bpp"); +const u32 gMapObjectPic_AquaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/8.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/0.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/1.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/2.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/3.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/4.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/5.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/6.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/7.4bpp"); +const u32 gMapObjectPic_MagmaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/8.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/0.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/1.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/2.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/3.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/4.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/5.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/6.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/7.4bpp"); +const u32 gMapObjectPic_MagmaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/8.4bpp"); +const u32 gMapObjectPic_Sidney_0[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/0.4bpp"); +const u32 gMapObjectPic_Sidney_1[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/1.4bpp"); +const u32 gMapObjectPic_Sidney_2[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/2.4bpp"); +const u32 gMapObjectPic_Phoebe_0[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/0.4bpp"); +const u32 gMapObjectPic_Phoebe_1[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/1.4bpp"); +const u32 gMapObjectPic_Phoebe_2[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/2.4bpp"); +const u32 gMapObjectPic_Glacia_0[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/0.4bpp"); +const u32 gMapObjectPic_Glacia_1[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/1.4bpp"); +const u32 gMapObjectPic_Glacia_2[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/2.4bpp"); +const u32 gMapObjectPic_Drake_0[] = INCBIN_U32("graphics/map_objects/pics/people/drake/0.4bpp"); +const u32 gMapObjectPic_Drake_1[] = INCBIN_U32("graphics/map_objects/pics/people/drake/1.4bpp"); +const u32 gMapObjectPic_Drake_2[] = INCBIN_U32("graphics/map_objects/pics/people/drake/2.4bpp"); +const u32 gMapObjectPic_Roxanne_0[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/0.4bpp"); +const u32 gMapObjectPic_Roxanne_1[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/1.4bpp"); +const u32 gMapObjectPic_Roxanne_2[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/2.4bpp"); +const u32 gMapObjectPic_Brawly_0[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/0.4bpp"); +const u32 gMapObjectPic_Brawly_1[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/1.4bpp"); +const u32 gMapObjectPic_Brawly_2[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/2.4bpp"); +const u32 gMapObjectPic_Wattson_0[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/0.4bpp"); +const u32 gMapObjectPic_Wattson_1[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/1.4bpp"); +const u32 gMapObjectPic_Wattson_2[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/2.4bpp"); +const u32 gMapObjectPic_Flannery_0[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/0.4bpp"); +const u32 gMapObjectPic_Flannery_1[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/1.4bpp"); +const u32 gMapObjectPic_Flannery_2[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/2.4bpp"); +const u32 gMapObjectPic_Norman_0[] = INCBIN_U32("graphics/map_objects/pics/people/norman/0.4bpp"); +const u32 gMapObjectPic_Norman_1[] = INCBIN_U32("graphics/map_objects/pics/people/norman/1.4bpp"); +const u32 gMapObjectPic_Norman_2[] = INCBIN_U32("graphics/map_objects/pics/people/norman/2.4bpp"); +const u32 gMapObjectPic_Norman_3[] = INCBIN_U32("graphics/map_objects/pics/people/norman/3.4bpp"); +const u32 gMapObjectPic_Norman_4[] = INCBIN_U32("graphics/map_objects/pics/people/norman/4.4bpp"); +const u32 gMapObjectPic_Norman_5[] = INCBIN_U32("graphics/map_objects/pics/people/norman/5.4bpp"); +const u32 gMapObjectPic_Norman_6[] = INCBIN_U32("graphics/map_objects/pics/people/norman/6.4bpp"); +const u32 gMapObjectPic_Norman_7[] = INCBIN_U32("graphics/map_objects/pics/people/norman/7.4bpp"); +const u32 gMapObjectPic_Norman_8[] = INCBIN_U32("graphics/map_objects/pics/people/norman/8.4bpp"); +const u32 gMapObjectPic_Winona_0[] = INCBIN_U32("graphics/map_objects/pics/people/winona/0.4bpp"); +const u32 gMapObjectPic_Winona_1[] = INCBIN_U32("graphics/map_objects/pics/people/winona/1.4bpp"); +const u32 gMapObjectPic_Winona_2[] = INCBIN_U32("graphics/map_objects/pics/people/winona/2.4bpp"); +const u32 gMapObjectPic_Liza_0[] = INCBIN_U32("graphics/map_objects/pics/people/liza/0.4bpp"); +const u32 gMapObjectPic_Liza_1[] = INCBIN_U32("graphics/map_objects/pics/people/liza/1.4bpp"); +const u32 gMapObjectPic_Liza_2[] = INCBIN_U32("graphics/map_objects/pics/people/liza/2.4bpp"); +const u32 gMapObjectPic_Tate_0[] = INCBIN_U32("graphics/map_objects/pics/people/tate/0.4bpp"); +const u32 gMapObjectPic_Tate_1[] = INCBIN_U32("graphics/map_objects/pics/people/tate/1.4bpp"); +const u32 gMapObjectPic_Tate_2[] = INCBIN_U32("graphics/map_objects/pics/people/tate/2.4bpp"); +const u32 gMapObjectPic_Wallace_0[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/0.4bpp"); +const u32 gMapObjectPic_Wallace_1[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/1.4bpp"); +const u32 gMapObjectPic_Wallace_2[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/2.4bpp"); +const u32 gMapObjectPic_Wallace_3[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/3.4bpp"); +const u32 gMapObjectPic_Wallace_4[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/4.4bpp"); +const u32 gMapObjectPic_Wallace_5[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/5.4bpp"); +const u32 gMapObjectPic_Wallace_6[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/6.4bpp"); +const u32 gMapObjectPic_Wallace_7[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/7.4bpp"); +const u32 gMapObjectPic_Wallace_8[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/8.4bpp"); +const u32 gMapObjectPic_Steven_0[] = INCBIN_U32("graphics/map_objects/pics/people/steven/0.4bpp"); +const u32 gMapObjectPic_Steven_1[] = INCBIN_U32("graphics/map_objects/pics/people/steven/1.4bpp"); +const u32 gMapObjectPic_Steven_2[] = INCBIN_U32("graphics/map_objects/pics/people/steven/2.4bpp"); +const u32 gMapObjectPic_Steven_3[] = INCBIN_U32("graphics/map_objects/pics/people/steven/3.4bpp"); +const u32 gMapObjectPic_Steven_4[] = INCBIN_U32("graphics/map_objects/pics/people/steven/4.4bpp"); +const u32 gMapObjectPic_Steven_5[] = INCBIN_U32("graphics/map_objects/pics/people/steven/5.4bpp"); +const u32 gMapObjectPic_Steven_6[] = INCBIN_U32("graphics/map_objects/pics/people/steven/6.4bpp"); +const u32 gMapObjectPic_Steven_7[] = INCBIN_U32("graphics/map_objects/pics/people/steven/7.4bpp"); +const u32 gMapObjectPic_Steven_8[] = INCBIN_U32("graphics/map_objects/pics/people/steven/8.4bpp"); +const u32 gMapObjectPic_Wally_0[] = INCBIN_U32("graphics/map_objects/pics/people/wally/0.4bpp"); +const u32 gMapObjectPic_Wally_1[] = INCBIN_U32("graphics/map_objects/pics/people/wally/1.4bpp"); +const u32 gMapObjectPic_Wally_2[] = INCBIN_U32("graphics/map_objects/pics/people/wally/2.4bpp"); +const u32 gMapObjectPic_Wally_3[] = INCBIN_U32("graphics/map_objects/pics/people/wally/3.4bpp"); +const u32 gMapObjectPic_Wally_4[] = INCBIN_U32("graphics/map_objects/pics/people/wally/4.4bpp"); +const u32 gMapObjectPic_Wally_5[] = INCBIN_U32("graphics/map_objects/pics/people/wally/5.4bpp"); +const u32 gMapObjectPic_Wally_6[] = INCBIN_U32("graphics/map_objects/pics/people/wally/6.4bpp"); +const u32 gMapObjectPic_Wally_7[] = INCBIN_U32("graphics/map_objects/pics/people/wally/7.4bpp"); +const u32 gMapObjectPic_Wally_8[] = INCBIN_U32("graphics/map_objects/pics/people/wally/8.4bpp"); +const u32 gMapObjectPic_LittleBoy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/0.4bpp"); +const u32 gMapObjectPic_LittleBoy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/1.4bpp"); +const u32 gMapObjectPic_LittleBoy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/2.4bpp"); +const u32 gMapObjectPic_LittleBoy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/3.4bpp"); +const u32 gMapObjectPic_LittleBoy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/4.4bpp"); +const u32 gMapObjectPic_LittleBoy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/5.4bpp"); +const u32 gMapObjectPic_LittleBoy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/6.4bpp"); +const u32 gMapObjectPic_LittleBoy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/7.4bpp"); +const u32 gMapObjectPic_LittleBoy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/8.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/0.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/1.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/2.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/3.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/4.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/5.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/6.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/7.4bpp"); +const u32 gMapObjectPic_HotSpringsOldWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/8.4bpp"); +const u32 gMapObjectPic_LatiasLatios_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/0.4bpp"); +const u32 gMapObjectPic_LatiasLatios_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/1.4bpp"); +const u32 gMapObjectPic_LatiasLatios_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/2.4bpp"); +const u32 gMapObjectPic_Boy5_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/0.4bpp"); +const u32 gMapObjectPic_Boy5_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/1.4bpp"); +const u32 gMapObjectPic_Boy5_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/2.4bpp"); +const u32 gMapObjectPic_ContestJudge_0[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/0.4bpp"); +const u32 gMapObjectPic_ContestJudge_1[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/1.4bpp"); +const u32 gMapObjectPic_ContestJudge_2[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/2.4bpp"); +const u32 gMapObjectPic_ContestJudge_3[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/3.4bpp"); +const u32 gMapObjectPic_ContestJudge_4[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/4.4bpp"); +const u32 gMapObjectPic_ContestJudge_5[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/5.4bpp"); +const u32 gMapObjectPic_ContestJudge_6[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/6.4bpp"); +const u32 gMapObjectPic_ContestJudge_7[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/7.4bpp"); +const u32 gMapObjectPic_ContestJudge_8[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/8.4bpp"); +const u32 gMapObjectPic_Archie_0[] = INCBIN_U32("graphics/map_objects/pics/people/archie/0.4bpp"); +const u32 gMapObjectPic_Archie_1[] = INCBIN_U32("graphics/map_objects/pics/people/archie/1.4bpp"); +const u32 gMapObjectPic_Archie_2[] = INCBIN_U32("graphics/map_objects/pics/people/archie/2.4bpp"); +const u32 gMapObjectPic_Archie_3[] = INCBIN_U32("graphics/map_objects/pics/people/archie/3.4bpp"); +const u32 gMapObjectPic_Archie_4[] = INCBIN_U32("graphics/map_objects/pics/people/archie/4.4bpp"); +const u32 gMapObjectPic_Archie_5[] = INCBIN_U32("graphics/map_objects/pics/people/archie/5.4bpp"); +const u32 gMapObjectPic_Archie_6[] = INCBIN_U32("graphics/map_objects/pics/people/archie/6.4bpp"); +const u32 gMapObjectPic_Archie_7[] = INCBIN_U32("graphics/map_objects/pics/people/archie/7.4bpp"); +const u32 gMapObjectPic_Archie_8[] = INCBIN_U32("graphics/map_objects/pics/people/archie/8.4bpp"); +const u32 gMapObjectPic_Maxie_0[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/0.4bpp"); +const u32 gMapObjectPic_Maxie_1[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/1.4bpp"); +const u32 gMapObjectPic_Maxie_2[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/2.4bpp"); +const u32 gMapObjectPic_Maxie_3[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/3.4bpp"); +const u32 gMapObjectPic_Maxie_4[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/4.4bpp"); +const u32 gMapObjectPic_Maxie_5[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/5.4bpp"); +const u32 gMapObjectPic_Maxie_6[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/6.4bpp"); +const u32 gMapObjectPic_Maxie_7[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/7.4bpp"); +const u32 gMapObjectPic_Maxie_8[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/8.4bpp"); +const u32 gMapObjectPic_Kyogre_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre/0.4bpp"); +const u32 gMapObjectPic_Kyogre_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre/1.4bpp"); +const u32 gMapObjectPic_Groudon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon/0.4bpp"); +const u32 gMapObjectPic_Groudon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon/1.4bpp"); +const u32 gMapObjectPic_Regi[] = INCBIN_U32("graphics/map_objects/pics/pokemon/regi.4bpp"); +const u32 gMapObjectPic_Skitty_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/0.4bpp"); +const u32 gMapObjectPic_Skitty_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/1.4bpp"); +const u32 gMapObjectPic_Skitty_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/2.4bpp"); +const u32 gMapObjectPic_Kecleon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/0.4bpp"); +const u32 gMapObjectPic_Kecleon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/1.4bpp"); +const u32 gMapObjectPic_Kecleon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/2.4bpp"); +const u32 gMapObjectPic_Rayquaza_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/0.4bpp"); +const u32 gMapObjectPic_Rayquaza_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/1.4bpp"); +const u32 gMapObjectPic_Zigzagoon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/0.4bpp"); +const u32 gMapObjectPic_Zigzagoon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/1.4bpp"); +const u32 gMapObjectPic_Zigzagoon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/2.4bpp"); +const u32 gMapObjectPic_Pikachu_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/0.4bpp"); +const u32 gMapObjectPic_Pikachu_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/1.4bpp"); +const u32 gMapObjectPic_Pikachu_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/2.4bpp"); +const u32 gMapObjectPic_Azumarill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/0.4bpp"); +const u32 gMapObjectPic_Azumarill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/1.4bpp"); +const u32 gMapObjectPic_Azumarill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/2.4bpp"); +const u32 gMapObjectPic_Wingull_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/0.4bpp"); +const u32 gMapObjectPic_Wingull_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/3.4bpp"); +const u32 gMapObjectPic_Wingull_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/1.4bpp"); +const u32 gMapObjectPic_Wingull_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/4.4bpp"); +const u32 gMapObjectPic_Wingull_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/2.4bpp"); +const u32 gMapObjectPic_Wingull_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/5.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/0.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/1.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/2.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/3.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/4.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/5.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/6.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/7.4bpp"); +const u32 gMapObjectPic_TuberMSwimming_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/8.4bpp"); +const u32 gMapObjectPic_Azurill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/0.4bpp"); +const u32 gMapObjectPic_Azurill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/1.4bpp"); +const u32 gMapObjectPic_Azurill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/2.4bpp"); +const u32 gMapObjectPic_Mom_0[] = INCBIN_U32("graphics/map_objects/pics/people/mom/0.4bpp"); +const u32 gMapObjectPic_Mom_1[] = INCBIN_U32("graphics/map_objects/pics/people/mom/1.4bpp"); +const u32 gMapObjectPic_Mom_2[] = INCBIN_U32("graphics/map_objects/pics/people/mom/2.4bpp"); +const u32 gMapObjectPic_Mom_3[] = INCBIN_U32("graphics/map_objects/pics/people/mom/3.4bpp"); +const u32 gMapObjectPic_Mom_4[] = INCBIN_U32("graphics/map_objects/pics/people/mom/4.4bpp"); +const u32 gMapObjectPic_Mom_5[] = INCBIN_U32("graphics/map_objects/pics/people/mom/5.4bpp"); +const u32 gMapObjectPic_Mom_6[] = INCBIN_U32("graphics/map_objects/pics/people/mom/6.4bpp"); +const u32 gMapObjectPic_Mom_7[] = INCBIN_U32("graphics/map_objects/pics/people/mom/7.4bpp"); +const u32 gMapObjectPic_Mom_8[] = INCBIN_U32("graphics/map_objects/pics/people/mom/8.4bpp"); +const u16 gMapObjectPalette22[] = INCBIN_U16("graphics/map_objects/palettes/22.gbapal"); +const u16 gMapObjectPalette23[] = INCBIN_U16("graphics/map_objects/palettes/23.gbapal"); +const u16 gMapObjectPalette24[] = INCBIN_U16("graphics/map_objects/palettes/24.gbapal"); +const u16 gMapObjectPalette25[] = INCBIN_U16("graphics/map_objects/palettes/25.gbapal"); +const u32 gMapObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_natu_doll.4bpp"); +const u32 gMapObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_magnemite_doll.4bpp"); +const u32 gMapObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_squirtle_doll.4bpp"); +const u32 gMapObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_wooper_doll.4bpp"); +const u32 gMapObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_pikachu_doll.4bpp"); +const u32 gMapObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_porygon2_doll.4bpp"); +const u32 gMapObjectPic_PichuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pichu_doll.4bpp"); +const u32 gMapObjectPic_PikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pikachu_doll.4bpp"); +const u32 gMapObjectPic_MarillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/marill_doll.4bpp"); +const u32 gMapObjectPic_TogepiDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/togepi_doll.4bpp"); +const u32 gMapObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/cyndaquil_doll.4bpp"); +const u32 gMapObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/chikorita_doll.4bpp"); +const u32 gMapObjectPic_TotodileDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/totodile_doll.4bpp"); +const u32 gMapObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/jigglypuff_doll.4bpp"); +const u32 gMapObjectPic_MeowthDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/meowth_doll.4bpp"); +const u32 gMapObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/clefairy_doll.4bpp"); +const u32 gMapObjectPic_DittoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/ditto_doll.4bpp"); +const u32 gMapObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/smoochum_doll.4bpp"); +const u32 gMapObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/treecko_doll.4bpp"); +const u32 gMapObjectPic_TorchicDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/torchic_doll.4bpp"); +const u32 gMapObjectPic_MudkipDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/mudkip_doll.4bpp"); +const u32 gMapObjectPic_DuskullDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/duskull_doll.4bpp"); +const u32 gMapObjectPic_WynautDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/wynaut_doll.4bpp"); +const u32 gMapObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/baltoy_doll.4bpp"); +const u32 gMapObjectPic_KecleonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/kecleon_doll.4bpp"); +const u32 gMapObjectPic_AzurillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/azurill_doll.4bpp"); +const u32 gMapObjectPic_SkittyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/skitty_doll.4bpp"); +const u32 gMapObjectPic_SwabluDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/swablu_doll.4bpp"); +const u32 gMapObjectPic_GulpinDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/gulpin_doll.4bpp"); +const u32 gMapObjectPic_LotadDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/lotad_doll.4bpp"); +const u32 gMapObjectPic_SeedotDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/seedot_doll.4bpp"); +const u32 gMapObjectPic_PikaCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/pika_cushion.4bpp"); +const u32 gMapObjectPic_RoundCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/round_cushion.4bpp"); +const u32 gMapObjectPic_KissCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/kiss_cushion.4bpp"); +const u32 gMapObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/zigzag_cushion.4bpp"); +const u32 gMapObjectPic_SpinCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/spin_cushion.4bpp"); +const u32 gMapObjectPic_DiamondCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/diamond_cushion.4bpp"); +const u32 gMapObjectPic_BallCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/ball_cushion.4bpp"); +const u32 gMapObjectPic_GrassCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/grass_cushion.4bpp"); +const u32 gMapObjectPic_FireCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/fire_cushion.4bpp"); +const u32 gMapObjectPic_WaterCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/water_cushion.4bpp"); +const u32 gMapObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_snorlax_doll.4bpp"); +const u32 gMapObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_rhydon_doll.4bpp"); +const u32 gMapObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_lapras_doll.4bpp"); +const u32 gMapObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_venusaur_doll.4bpp"); +const u32 gMapObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_charizard_doll.4bpp"); +const u32 gMapObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_blastoise_doll.4bpp"); +const u32 gMapObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_wailmer_doll.4bpp"); +const u32 gMapObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regirock_doll.4bpp"); +const u32 gMapObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regice_doll.4bpp"); +const u32 gMapObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_registeel_doll.4bpp"); +const u32 gMapObjectPic_CuttableTree_0[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/0.4bpp"); +const u32 gMapObjectPic_CuttableTree_1[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/1.4bpp"); +const u32 gMapObjectPic_CuttableTree_2[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/2.4bpp"); +const u32 gMapObjectPic_CuttableTree_3[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/3.4bpp"); +const u32 gMapObjectPic_BreakableRock_0[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/0.4bpp"); +const u32 gMapObjectPic_BreakableRock_1[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/1.4bpp"); +const u32 gMapObjectPic_BreakableRock_2[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/2.4bpp"); +const u32 gMapObjectPic_BreakableRock_3[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/3.4bpp"); +const u32 gMapObjectPic_PushableBoulder[] = INCBIN_U32("graphics/map_objects/pics/misc/pushable_boulder.4bpp"); +const u32 gMapObjectPic_MrBrineysBoat_0[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/0.4bpp"); +const u32 gMapObjectPic_MrBrineysBoat_1[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/1.4bpp"); +const u32 gMapObjectPic_MrBrineysBoat_2[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/2.4bpp"); +const u32 gMapObjectPic_Fossil[] = INCBIN_U32("graphics/map_objects/pics/misc/fossil.4bpp"); +const u32 gMapObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/map_objects/pics/misc/submarine_shadow.4bpp"); +const u16 gMapObjectPalette26[] = INCBIN_U16("graphics/map_objects/palettes/26.gbapal"); +const u32 gMapObjectPic_Truck[] = INCBIN_U32("graphics/map_objects/pics/misc/truck.4bpp"); +const u16 gMapObjectPalette14[] = INCBIN_U16("graphics/map_objects/palettes/14.gbapal"); +const u32 gMapObjectPic_MachokeCarryingBox_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/0.4bpp"); +const u32 gMapObjectPic_MachokeCarryingBox_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/1.4bpp"); +const u32 gMapObjectPic_MachokeCarryingBox_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/2.4bpp"); +const u32 gMapObjectPic_MachokeFacingAway_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_facing_away/0.4bpp"); +const u32 gMapObjectPic_MachokeFacingAway_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_facing_away/1.4bpp"); +const u16 gMapObjectPalette15[] = INCBIN_U16("graphics/map_objects/palettes/15.gbapal"); +const u32 gMapObjectPic_BirchsBag[] = INCBIN_U32("graphics/map_objects/pics/misc/birchs_bag.4bpp"); +const u32 gMapObjectPic_Poochyena_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/0.4bpp"); +const u32 gMapObjectPic_Poochyena_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/1.4bpp"); +const u32 gMapObjectPic_Poochyena_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/2.4bpp"); +const u32 gMapObjectPic_Poochyena_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/3.4bpp"); +const u32 gMapObjectPic_Poochyena_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/4.4bpp"); +const u32 gMapObjectPic_Poochyena_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/5.4bpp"); +const u32 gMapObjectPic_Poochyena_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/6.4bpp"); +const u32 gMapObjectPic_Poochyena_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/7.4bpp"); +const u32 gMapObjectPic_Poochyena_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/8.4bpp"); +const u16 gMapObjectPalette16[] = INCBIN_U16("graphics/map_objects/palettes/16.gbapal"); +const u32 gMapObjectPic_CableCar[] = INCBIN_U32("graphics/map_objects/pics/misc/cable_car.4bpp"); +const u16 gMapObjectPalette20[] = INCBIN_U16("graphics/map_objects/palettes/20.gbapal"); +const u32 gMapObjectPic_SSTidal[] = INCBIN_U32("graphics/map_objects/pics/misc/ss_tidal.4bpp"); +const u16 gMapObjectPalette21[] = INCBIN_U16("graphics/map_objects/palettes/21.gbapal"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/0.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/1.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/2.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/3.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/4.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/5.4bpp"); +const u32 gMapObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/dirt_pile.4bpp"); +const u32 gMapObjectPic_BerryTreeSprout_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/0.4bpp"); +const u32 gMapObjectPic_BerryTreeSprout_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/1.4bpp"); +const u32 gMapObjectPic_PechaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/0.4bpp"); +const u32 gMapObjectPic_PechaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/1.4bpp"); +const u32 gMapObjectPic_PechaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/2.4bpp"); +const u32 gMapObjectPic_PechaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/3.4bpp"); +const u32 gMapObjectPic_PechaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/4.4bpp"); +const u32 gMapObjectPic_PechaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/5.4bpp"); +const u32 gMapObjectPic_KelpsyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/0.4bpp"); +const u32 gMapObjectPic_KelpsyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/1.4bpp"); +const u32 gMapObjectPic_KelpsyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/2.4bpp"); +const u32 gMapObjectPic_KelpsyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/3.4bpp"); +const u32 gMapObjectPic_KelpsyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/4.4bpp"); +const u32 gMapObjectPic_KelpsyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/5.4bpp"); +const u32 gMapObjectPic_WepearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/0.4bpp"); +const u32 gMapObjectPic_WepearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/1.4bpp"); +const u32 gMapObjectPic_WepearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/2.4bpp"); +const u32 gMapObjectPic_WepearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/3.4bpp"); +const u32 gMapObjectPic_WepearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/4.4bpp"); +const u32 gMapObjectPic_WepearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/5.4bpp"); +const u32 gMapObjectPic_IapapaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/0.4bpp"); +const u32 gMapObjectPic_IapapaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/1.4bpp"); +const u32 gMapObjectPic_IapapaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/2.4bpp"); +const u32 gMapObjectPic_IapapaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/3.4bpp"); +const u32 gMapObjectPic_IapapaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/4.4bpp"); +const u32 gMapObjectPic_IapapaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/5.4bpp"); +const u32 gMapObjectPic_CheriBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/0.4bpp"); +const u32 gMapObjectPic_CheriBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/1.4bpp"); +const u32 gMapObjectPic_CheriBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/2.4bpp"); +const u32 gMapObjectPic_CheriBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/3.4bpp"); +const u32 gMapObjectPic_CheriBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/4.4bpp"); +const u32 gMapObjectPic_CheriBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/5.4bpp"); +const u32 gMapObjectPic_FigyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/0.4bpp"); +const u32 gMapObjectPic_FigyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/1.4bpp"); +const u32 gMapObjectPic_FigyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/2.4bpp"); +const u32 gMapObjectPic_FigyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/3.4bpp"); +const u32 gMapObjectPic_FigyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/4.4bpp"); +const u32 gMapObjectPic_FigyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/5.4bpp"); +const u32 gMapObjectPic_MagoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/0.4bpp"); +const u32 gMapObjectPic_MagoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/1.4bpp"); +const u32 gMapObjectPic_MagoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/2.4bpp"); +const u32 gMapObjectPic_MagoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/3.4bpp"); +const u32 gMapObjectPic_MagoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/4.4bpp"); +const u32 gMapObjectPic_MagoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/5.4bpp"); +const u32 gMapObjectPic_LumBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/0.4bpp"); +const u32 gMapObjectPic_LumBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/1.4bpp"); +const u32 gMapObjectPic_LumBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/2.4bpp"); +const u32 gMapObjectPic_LumBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/3.4bpp"); +const u32 gMapObjectPic_LumBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/4.4bpp"); +const u32 gMapObjectPic_LumBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/5.4bpp"); +const u32 gMapObjectPic_RazzBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/0.4bpp"); +const u32 gMapObjectPic_RazzBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/1.4bpp"); +const u32 gMapObjectPic_RazzBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/2.4bpp"); +const u32 gMapObjectPic_RazzBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/3.4bpp"); +const u32 gMapObjectPic_RazzBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/4.4bpp"); +const u32 gMapObjectPic_RazzBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/5.4bpp"); +const u32 gMapObjectPic_GrepaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/0.4bpp"); +const u32 gMapObjectPic_GrepaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/1.4bpp"); +const u32 gMapObjectPic_GrepaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/2.4bpp"); +const u32 gMapObjectPic_GrepaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/3.4bpp"); +const u32 gMapObjectPic_GrepaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/4.4bpp"); +const u32 gMapObjectPic_GrepaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/5.4bpp"); +const u32 gMapObjectPic_RabutaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/0.4bpp"); +const u32 gMapObjectPic_RabutaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/1.4bpp"); +const u32 gMapObjectPic_RabutaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/2.4bpp"); +const u32 gMapObjectPic_RabutaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/3.4bpp"); +const u32 gMapObjectPic_RabutaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/4.4bpp"); +const u32 gMapObjectPic_RabutaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/5.4bpp"); +const u32 gMapObjectPic_NomelBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/0.4bpp"); +const u32 gMapObjectPic_NomelBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/1.4bpp"); +const u32 gMapObjectPic_NomelBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/2.4bpp"); +const u32 gMapObjectPic_NomelBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/3.4bpp"); +const u32 gMapObjectPic_NomelBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/4.4bpp"); +const u32 gMapObjectPic_NomelBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/5.4bpp"); +const u32 gMapObjectPic_LeppaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/0.4bpp"); +const u32 gMapObjectPic_LeppaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/1.4bpp"); +const u32 gMapObjectPic_LeppaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/2.4bpp"); +const u32 gMapObjectPic_LeppaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/3.4bpp"); +const u32 gMapObjectPic_LeppaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/4.4bpp"); +const u32 gMapObjectPic_LeppaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/5.4bpp"); +const u32 gMapObjectPic_LiechiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/0.4bpp"); +const u32 gMapObjectPic_LiechiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/1.4bpp"); +const u32 gMapObjectPic_LiechiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/2.4bpp"); +const u32 gMapObjectPic_LiechiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/3.4bpp"); +const u32 gMapObjectPic_LiechiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/4.4bpp"); +const u32 gMapObjectPic_LiechiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/5.4bpp"); +const u32 gMapObjectPic_HondewBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/0.4bpp"); +const u32 gMapObjectPic_HondewBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/1.4bpp"); +const u32 gMapObjectPic_HondewBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/2.4bpp"); +const u32 gMapObjectPic_HondewBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/3.4bpp"); +const u32 gMapObjectPic_HondewBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/4.4bpp"); +const u32 gMapObjectPic_HondewBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/5.4bpp"); +const u32 gMapObjectPic_AguavBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/0.4bpp"); +const u32 gMapObjectPic_AguavBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/1.4bpp"); +const u32 gMapObjectPic_AguavBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/2.4bpp"); +const u32 gMapObjectPic_AguavBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/3.4bpp"); +const u32 gMapObjectPic_AguavBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/4.4bpp"); +const u32 gMapObjectPic_AguavBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/5.4bpp"); +const u32 gMapObjectPic_WikiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/0.4bpp"); +const u32 gMapObjectPic_WikiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/1.4bpp"); +const u32 gMapObjectPic_WikiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/2.4bpp"); +const u32 gMapObjectPic_WikiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/3.4bpp"); +const u32 gMapObjectPic_WikiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/4.4bpp"); +const u32 gMapObjectPic_WikiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/5.4bpp"); +const u32 gMapObjectPic_PomegBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/0.4bpp"); +const u32 gMapObjectPic_PomegBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/1.4bpp"); +const u32 gMapObjectPic_PomegBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/2.4bpp"); +const u32 gMapObjectPic_PomegBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/3.4bpp"); +const u32 gMapObjectPic_PomegBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/4.4bpp"); +const u32 gMapObjectPic_PomegBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/5.4bpp"); +const u32 gMapObjectPic_RawstBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/0.4bpp"); +const u32 gMapObjectPic_RawstBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/1.4bpp"); +const u32 gMapObjectPic_RawstBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/2.4bpp"); +const u32 gMapObjectPic_RawstBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/3.4bpp"); +const u32 gMapObjectPic_RawstBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/4.4bpp"); +const u32 gMapObjectPic_RawstBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/5.4bpp"); +const u32 gMapObjectPic_SpelonBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/0.4bpp"); +const u32 gMapObjectPic_SpelonBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/1.4bpp"); +const u32 gMapObjectPic_SpelonBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/2.4bpp"); +const u32 gMapObjectPic_SpelonBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/3.4bpp"); +const u32 gMapObjectPic_SpelonBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/4.4bpp"); +const u32 gMapObjectPic_SpelonBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/5.4bpp"); +const u32 gMapObjectPic_ChestoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/0.4bpp"); +const u32 gMapObjectPic_ChestoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/1.4bpp"); +const u32 gMapObjectPic_ChestoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/2.4bpp"); +const u32 gMapObjectPic_ChestoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/3.4bpp"); +const u32 gMapObjectPic_ChestoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/4.4bpp"); +const u32 gMapObjectPic_ChestoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/5.4bpp"); +const u32 gMapObjectPic_OranBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/0.4bpp"); +const u32 gMapObjectPic_OranBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/1.4bpp"); +const u32 gMapObjectPic_OranBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/2.4bpp"); +const u32 gMapObjectPic_OranBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/3.4bpp"); +const u32 gMapObjectPic_OranBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/4.4bpp"); +const u32 gMapObjectPic_OranBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/5.4bpp"); +const u32 gMapObjectPic_PersimBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/0.4bpp"); +const u32 gMapObjectPic_PersimBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/1.4bpp"); +const u32 gMapObjectPic_PersimBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/2.4bpp"); +const u32 gMapObjectPic_PersimBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/3.4bpp"); +const u32 gMapObjectPic_PersimBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/4.4bpp"); +const u32 gMapObjectPic_PersimBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/5.4bpp"); +const u32 gMapObjectPic_SitrusBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/0.4bpp"); +const u32 gMapObjectPic_SitrusBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/1.4bpp"); +const u32 gMapObjectPic_SitrusBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/2.4bpp"); +const u32 gMapObjectPic_SitrusBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/3.4bpp"); +const u32 gMapObjectPic_SitrusBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/4.4bpp"); +const u32 gMapObjectPic_SitrusBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/5.4bpp"); +const u32 gMapObjectPic_AspearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/0.4bpp"); +const u32 gMapObjectPic_AspearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/1.4bpp"); +const u32 gMapObjectPic_AspearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/2.4bpp"); +const u32 gMapObjectPic_AspearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/3.4bpp"); +const u32 gMapObjectPic_AspearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/4.4bpp"); +const u32 gMapObjectPic_AspearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/5.4bpp"); +const u32 gMapObjectPic_PamtreBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/0.4bpp"); +const u32 gMapObjectPic_PamtreBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/1.4bpp"); +const u32 gMapObjectPic_PamtreBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/2.4bpp"); +const u32 gMapObjectPic_PamtreBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/3.4bpp"); +const u32 gMapObjectPic_PamtreBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/4.4bpp"); +const u32 gMapObjectPic_PamtreBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/5.4bpp"); +const u32 gMapObjectPic_CornnBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/0.4bpp"); +const u32 gMapObjectPic_CornnBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/1.4bpp"); +const u32 gMapObjectPic_CornnBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/2.4bpp"); +const u32 gMapObjectPic_CornnBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/3.4bpp"); +const u32 gMapObjectPic_CornnBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/4.4bpp"); +const u32 gMapObjectPic_CornnBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/5.4bpp"); +const u32 gMapObjectPic_LansatBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/0.4bpp"); +const u32 gMapObjectPic_LansatBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/1.4bpp"); +const u32 gMapObjectPic_LansatBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/2.4bpp"); +const u32 gMapObjectPic_LansatBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/3.4bpp"); +const u32 gMapObjectPic_LansatBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/4.4bpp"); +const u32 gMapObjectPic_LansatBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/5.4bpp"); +const u32 gMapObjectPic_DurinBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/0.4bpp"); +const u32 gMapObjectPic_DurinBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/1.4bpp"); +const u32 gMapObjectPic_DurinBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/2.4bpp"); +const u32 gMapObjectPic_DurinBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/3.4bpp"); +const u32 gMapObjectPic_DurinBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/4.4bpp"); +const u32 gMapObjectPic_DurinBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/5.4bpp"); +const u32 gMapObjectPic_TamatoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/0.4bpp"); +const u32 gMapObjectPic_TamatoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/1.4bpp"); +const u32 gMapObjectPic_TamatoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/2.4bpp"); +const u32 gMapObjectPic_TamatoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/3.4bpp"); +const u32 gMapObjectPic_TamatoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/4.4bpp"); +const u32 gMapObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/5.4bpp"); +const u32 gFieldEffectPic_SurfBlob_0[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/0.4bpp"); +const u32 gFieldEffectPic_SurfBlob_1[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/1.4bpp"); +const u32 gFieldEffectPic_SurfBlob_2[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/2.4bpp"); +const u32 gMapObjectPic_QuintyPlump_0[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/0.4bpp"); +const u32 gMapObjectPic_QuintyPlump_1[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/1.4bpp"); +const u32 gMapObjectPic_QuintyPlump_2[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/2.4bpp"); +const u32 gMapObjectPic_QuintyPlump_3[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/3.4bpp"); +const u32 gMapObjectPic_QuintyPlump_4[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/4.4bpp"); +const u32 gMapObjectPic_QuintyPlump_5[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/5.4bpp"); +const u32 gMapObjectPic_QuintyPlump_6[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/6.4bpp"); +const u16 gMapObjectPalette12[] = INCBIN_U16("graphics/map_objects/palettes/12.gbapal"); +const u16 gMapObjectPalette13[] = INCBIN_U16("graphics/map_objects/palettes/13.gbapal"); + +#endif //POKERUBY_MAP_OBJECT_GFX_H diff --git a/src/data/field_map_obj/movement_type_func_tables.h b/src/data/field_map_obj/movement_type_func_tables.h index 00b05c8f6..b3e753b53 100644 --- a/src/data/field_map_obj/movement_type_func_tables.h +++ b/src/data/field_map_obj/movement_type_func_tables.h @@ -13,18 +13,18 @@ u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; -u8 (*const gUnknown_08375244[])(s16, s16, s16, s16) = { - sub_805CAAC, - sub_805CADC, - sub_805CAEC, - sub_805CB00, - sub_805CB5C, - sub_805CBB8, - sub_805CC14, - sub_805CC70, - sub_805CCAC, - sub_805CCE8, - sub_805CD24 +u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = { + GetVectorDirection, + GetLimitedVectorDirection_SouthNorth, + GetLimitedVectorDirection_WestEast, + GetLimitedVectorDirection_WestNorth, + GetLimitedVectorDirection_EastNorth, + GetLimitedVectorDirection_WestSouth, + GetLimitedVectorDirection_EastSouth, + GetLimitedVectorDirection_SouthNorthWest, + GetLimitedVectorDirection_SouthNorthEast, + GetLimitedVectorDirection_NorthWestEast, + GetLimitedVectorDirection_SouthWestEast }; u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = { diff --git a/src/decoration.c b/src/decoration.c index c3e651a0c..2d88501fe 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2209,7 +2209,7 @@ void sub_80FF474(void) gSpecialVar_0x8007 = gUnknown_020391A6; show_sprite(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); sub_805C0F8(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_805C78C(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + TryOverrideTemplateCoordsForMapObject(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); break; } } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 17329e792..05c8d6932 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -19,1481 +19,58 @@ // this file was known as evobjmv.c in Game Freak's original source -// rodata +static u8 MovementType_BerryTreeGrowth_Callback(struct MapObject*, struct Sprite*); +static u8 MovementType_Disguise_Callback(struct MapObject*, struct Sprite*); +static u8 MovementType_Hidden_Callback(struct MapObject*, struct Sprite*); +static bool8 IsCoordOutsideFieldObjectMovementRange(struct MapObject*, s16, s16); +static bool8 DoesObjectCollideWithObjectAt(struct MapObject*, s16, s16); +static bool8 IsMetatileDirectionallyImpassable(struct MapObject*, s16, s16, u8); +static void ClearMapObjectMovement(struct MapObject*, struct Sprite *sprite); +static void FieldObjectSetSingleMovement(struct MapObject*, struct Sprite*, u8); +static u8 FieldObjectExecSingleMovementAction(struct MapObject*, struct Sprite*); +static void SetMovementDelay(struct Sprite*, s16); +static u8 WaitForMovementDelay(struct Sprite*); +static u8 GetCollisionInDirection(struct MapObject*, u8); +static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); +static void DoGroundEffects_OnSpawn(struct MapObject*, struct Sprite*); +static void DoGroundEffects_OnBeginStep(struct MapObject*, struct Sprite*); +static void DoGroundEffects_OnFinishStep(struct MapObject*, struct Sprite*); +static void UpdateMapObjectSpriteAnimPause(struct MapObject*, struct Sprite*); +static void TryEnableMapObjectAnim(struct MapObject*, struct Sprite*); +static void FieldObjectExecHeldMovementAction(struct MapObject*, struct Sprite*); +static void FieldObjectUpdateSubpriority(struct MapObject*, struct Sprite*); +static void UpdateMapObjectVisibility(struct MapObject*, struct Sprite*); +static void UpdateMapObjectIsOffscreen(struct MapObject*, struct Sprite*); +static void UpdateMapObjSpriteVisibility(struct MapObject*, struct Sprite*); +static void nullsub(struct MapObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_Footprints(struct MapObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_BikeTireTracks(struct MapObject*, struct Sprite*, u8); +static u8 GetReflectionTypeByMetatileBehavior(u32); +static void Step1(struct Sprite *sprite, u8 direction); +static void Step2(struct Sprite *sprite, u8 direction); +static void Step3(struct Sprite *sprite, u8 direction); +static void Step4(struct Sprite *sprite, u8 direction); +static void Step8(struct Sprite *sprite, u8 direction); +static void oamt_npc_ministep_reset(struct Sprite*, u8, u8); +static void CameraObject_0(struct Sprite *); +static void CameraObject_1(struct Sprite *); +static void CameraObject_2(struct Sprite *); +static void ObjectCB_CameraObject(struct Sprite *sprite); +static bool8 MapObjectZCoordIsCompatible(struct MapObject*, u8); +static struct MapObjectTemplate *FindFieldObjectTemplateByLocalId(u8, struct MapObjectTemplate*, u8); const u8 gUnknown_0830FD14[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; -void ObjectCB_CameraObject(struct Sprite *sprite); -const struct SpriteTemplate gSpriteTemplate_830FD24 = {0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject}; +const struct SpriteTemplate gCameraSpriteTemplate = {0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject}; -void CameraObject_0(struct Sprite *); -void CameraObject_1(struct Sprite *); -void CameraObject_2(struct Sprite *); void (*const gCameraObjectFuncs[])(struct Sprite *) = { CameraObject_0, CameraObject_1, CameraObject_2, }; -const u32 gMapObjectPic_BrendanNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/00.4bpp"); -const u32 gMapObjectPic_BrendanNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/01.4bpp"); -const u32 gMapObjectPic_BrendanNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/02.4bpp"); -const u32 gMapObjectPic_BrendanNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/03.4bpp"); -const u32 gMapObjectPic_BrendanNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/04.4bpp"); -const u32 gMapObjectPic_BrendanNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/05.4bpp"); -const u32 gMapObjectPic_BrendanNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/06.4bpp"); -const u32 gMapObjectPic_BrendanNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/07.4bpp"); -const u32 gMapObjectPic_BrendanNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/08.4bpp"); -const u32 gMapObjectPic_BrendanNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/09.4bpp"); -const u32 gMapObjectPic_BrendanNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/10.4bpp"); -const u32 gMapObjectPic_BrendanNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/11.4bpp"); -const u32 gMapObjectPic_BrendanNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/12.4bpp"); -const u32 gMapObjectPic_BrendanNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/13.4bpp"); -const u32 gMapObjectPic_BrendanNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/14.4bpp"); -const u32 gMapObjectPic_BrendanNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/15.4bpp"); -const u32 gMapObjectPic_BrendanNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/16.4bpp"); -const u32 gMapObjectPic_BrendanNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/17.4bpp"); -const u16 gMapObjectPalette8[] = INCBIN_U16("graphics/map_objects/palettes/08.gbapal"); -const u16 NullPalette_8310F68[16] = {}; -const u16 NullPalette_8310F88[16] = {}; -const u16 NullPalette_8310FA8[16] = {}; -const u16 NullPalette_8310FC8[16] = {}; -const u16 NullPalette_8310FE8[16] = {}; -const u16 NullPalette_8311008[16] = {}; -const u16 NullPalette_8311028[16] = {}; -const u16 NullPalette_8311048[16] = {}; -const u16 NullPalette_8311068[16] = {}; -const u16 NullPalette_8311088[16] = {}; -const u16 NullPalette_83110A8[16] = {}; -const u16 NullPalette_83110C8[16] = {}; -const u16 NullPalette_83110E8[16] = {}; -const u16 NullPalette_8311108[16] = {}; -const u16 NullPalette_8311128[16] = {}; -const u16 gMapObjectPalette9[] = INCBIN_U16("graphics/map_objects/palettes/09.gbapal"); -const u16 gMapObjectPalette10[] = INCBIN_U16("graphics/map_objects/palettes/10.gbapal"); -const u32 gMapObjectPic_BrendanFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/0.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/1.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/2.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/3.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/4.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/0.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/3.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/1.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/4.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/2.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/5.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/0.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/1.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/2.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/3.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/4.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/5.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/6.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/7.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/8.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/00.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/01.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/02.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/03.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/04.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/05.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/06.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/07.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/08.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/09.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/10.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/11.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/12.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/13.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/14.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/15.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/16.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/17.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/18.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/19.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/20.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/21.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/22.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/23.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/24.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/25.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/26.4bpp"); -const u32 gMapObjectPic_BrendanFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/00.4bpp"); -const u32 gMapObjectPic_BrendanFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/01.4bpp"); -const u32 gMapObjectPic_BrendanFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/02.4bpp"); -const u32 gMapObjectPic_BrendanFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/03.4bpp"); -const u32 gMapObjectPic_BrendanFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/04.4bpp"); -const u32 gMapObjectPic_BrendanFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/05.4bpp"); -const u32 gMapObjectPic_BrendanFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/06.4bpp"); -const u32 gMapObjectPic_BrendanFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/07.4bpp"); -const u32 gMapObjectPic_BrendanFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/08.4bpp"); -const u32 gMapObjectPic_BrendanFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/09.4bpp"); -const u32 gMapObjectPic_BrendanFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/10.4bpp"); -const u32 gMapObjectPic_BrendanFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/11.4bpp"); -const u32 gMapObjectPic_BrendanWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/0.4bpp"); -const u32 gMapObjectPic_BrendanWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/3.4bpp"); -const u32 gMapObjectPic_BrendanWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/1.4bpp"); -const u32 gMapObjectPic_BrendanWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/4.4bpp"); -const u32 gMapObjectPic_BrendanWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/2.4bpp"); -const u32 gMapObjectPic_BrendanWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/5.4bpp"); -const u32 gMapObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/decorating.4bpp"); -const u32 gMapObjectPic_MayDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/may/decorating.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/0.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/1.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/2.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/3.4bpp"); -const u32 gMapObjectPic_MayUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/0.4bpp"); -const u32 gMapObjectPic_MayUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/1.4bpp"); -const u32 gMapObjectPic_MayUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/2.4bpp"); -const u32 gMapObjectPic_MayUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/3.4bpp"); -const u16 gMapObjectPalette11[] = INCBIN_U16("graphics/map_objects/palettes/11.gbapal"); -const u32 gMapObjectPic_MayNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/00.4bpp"); -const u32 gMapObjectPic_MayNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/01.4bpp"); -const u32 gMapObjectPic_MayNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/02.4bpp"); -const u32 gMapObjectPic_MayNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/03.4bpp"); -const u32 gMapObjectPic_MayNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/04.4bpp"); -const u32 gMapObjectPic_MayNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/05.4bpp"); -const u32 gMapObjectPic_MayNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/06.4bpp"); -const u32 gMapObjectPic_MayNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/07.4bpp"); -const u32 gMapObjectPic_MayNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/08.4bpp"); -const u32 gMapObjectPic_MayNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/09.4bpp"); -const u32 gMapObjectPic_MayNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/10.4bpp"); -const u32 gMapObjectPic_MayNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/11.4bpp"); -const u32 gMapObjectPic_MayNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/12.4bpp"); -const u32 gMapObjectPic_MayNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/13.4bpp"); -const u32 gMapObjectPic_MayNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/14.4bpp"); -const u32 gMapObjectPic_MayNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/15.4bpp"); -const u32 gMapObjectPic_MayNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/16.4bpp"); -const u32 gMapObjectPic_MayNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/17.4bpp"); -const u16 gMapObjectPalette17[] = INCBIN_U16("graphics/map_objects/palettes/17.gbapal"); -const u16 gMapObjectPalette18[] = INCBIN_U16("graphics/map_objects/palettes/18.gbapal"); -const u16 NullPalette_831B7E8[16] = {}; -const u16 NullPalette_831B808[16] = {}; -const u16 NullPalette_831B828[16] = {}; -const u16 NullPalette_831B848[16] = {}; -const u16 NullPalette_831B868[16] = {}; -const u16 NullPalette_831B888[16] = {}; -const u16 NullPalette_831B8A8[16] = {}; -const u16 NullPalette_831B8C8[16] = {}; -const u16 NullPalette_831B8E8[16] = {}; -const u16 NullPalette_831B908[16] = {}; -const u16 NullPalette_831B928[16] = {}; -const u16 NullPalette_831B948[16] = {}; -const u16 NullPalette_831B968[16] = {}; -const u16 NullPalette_831B988[16] = {}; -const u32 gMapObjectPic_MayMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/0.4bpp"); -const u32 gMapObjectPic_MayMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/1.4bpp"); -const u32 gMapObjectPic_MayMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/2.4bpp"); -const u32 gMapObjectPic_MayMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/3.4bpp"); -const u32 gMapObjectPic_MayMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/4.4bpp"); -const u32 gMapObjectPic_MayMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/5.4bpp"); -const u32 gMapObjectPic_MayMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/6.4bpp"); -const u32 gMapObjectPic_MayMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/7.4bpp"); -const u32 gMapObjectPic_MayMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/8.4bpp"); -const u32 gMapObjectPic_MayAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/00.4bpp"); -const u32 gMapObjectPic_MayAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/01.4bpp"); -const u32 gMapObjectPic_MayAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/02.4bpp"); -const u32 gMapObjectPic_MayAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/03.4bpp"); -const u32 gMapObjectPic_MayAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/04.4bpp"); -const u32 gMapObjectPic_MayAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/05.4bpp"); -const u32 gMapObjectPic_MayAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/06.4bpp"); -const u32 gMapObjectPic_MayAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/07.4bpp"); -const u32 gMapObjectPic_MayAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/08.4bpp"); -const u32 gMapObjectPic_MayAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/09.4bpp"); -const u32 gMapObjectPic_MayAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/10.4bpp"); -const u32 gMapObjectPic_MayAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/11.4bpp"); -const u32 gMapObjectPic_MayAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/12.4bpp"); -const u32 gMapObjectPic_MayAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/13.4bpp"); -const u32 gMapObjectPic_MayAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/14.4bpp"); -const u32 gMapObjectPic_MayAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/15.4bpp"); -const u32 gMapObjectPic_MayAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/16.4bpp"); -const u32 gMapObjectPic_MayAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/17.4bpp"); -const u32 gMapObjectPic_MayAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/18.4bpp"); -const u32 gMapObjectPic_MayAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/19.4bpp"); -const u32 gMapObjectPic_MayAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/20.4bpp"); -const u32 gMapObjectPic_MayAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/21.4bpp"); -const u32 gMapObjectPic_MayAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/22.4bpp"); -const u32 gMapObjectPic_MayAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/23.4bpp"); -const u32 gMapObjectPic_MayAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/24.4bpp"); -const u32 gMapObjectPic_MayAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/25.4bpp"); -const u32 gMapObjectPic_MayAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/26.4bpp"); -const u32 gMapObjectPic_MaySurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/0.4bpp"); -const u32 gMapObjectPic_MaySurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/3.4bpp"); -const u32 gMapObjectPic_MaySurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/1.4bpp"); -const u32 gMapObjectPic_MaySurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/4.4bpp"); -const u32 gMapObjectPic_MaySurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/2.4bpp"); -const u32 gMapObjectPic_MaySurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/5.4bpp"); -const u32 gMapObjectPic_MayFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/0.4bpp"); -const u32 gMapObjectPic_MayFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/1.4bpp"); -const u32 gMapObjectPic_MayFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/2.4bpp"); -const u32 gMapObjectPic_MayFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/3.4bpp"); -const u32 gMapObjectPic_MayFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/4.4bpp"); -const u32 gMapObjectPic_MayFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/00.4bpp"); -const u32 gMapObjectPic_MayFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/01.4bpp"); -const u32 gMapObjectPic_MayFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/02.4bpp"); -const u32 gMapObjectPic_MayFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/03.4bpp"); -const u32 gMapObjectPic_MayFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/04.4bpp"); -const u32 gMapObjectPic_MayFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/05.4bpp"); -const u32 gMapObjectPic_MayFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/06.4bpp"); -const u32 gMapObjectPic_MayFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/07.4bpp"); -const u32 gMapObjectPic_MayFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/08.4bpp"); -const u32 gMapObjectPic_MayFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/09.4bpp"); -const u32 gMapObjectPic_MayFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/10.4bpp"); -const u32 gMapObjectPic_MayFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/11.4bpp"); -const u32 gMapObjectPic_MayWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/0.4bpp"); -const u32 gMapObjectPic_MayWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/3.4bpp"); -const u32 gMapObjectPic_MayWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/1.4bpp"); -const u32 gMapObjectPic_MayWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/4.4bpp"); -const u32 gMapObjectPic_MayWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/2.4bpp"); -const u32 gMapObjectPic_MayWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/5.4bpp"); -const u16 gMapObjectPalette0[] = INCBIN_U16("graphics/map_objects/palettes/00.gbapal"); -const u16 gMapObjectPalette1[] = INCBIN_U16("graphics/map_objects/palettes/01.gbapal"); -const u16 gMapObjectPalette2[] = INCBIN_U16("graphics/map_objects/palettes/02.gbapal"); -const u16 gMapObjectPalette3[] = INCBIN_U16("graphics/map_objects/palettes/03.gbapal"); -const u16 gMapObjectPalette4[] = INCBIN_U16("graphics/map_objects/palettes/04.gbapal"); -const u16 gMapObjectPalette5[] = INCBIN_U16("graphics/map_objects/palettes/05.gbapal"); -const u16 gMapObjectPalette6[] = INCBIN_U16("graphics/map_objects/palettes/06.gbapal"); -const u16 gMapObjectPalette7[] = INCBIN_U16("graphics/map_objects/palettes/07.gbapal"); -const u32 gMapObjectPic_LittleBoy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/0.4bpp"); -const u32 gMapObjectPic_LittleBoy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/1.4bpp"); -const u32 gMapObjectPic_LittleBoy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/2.4bpp"); -const u32 gMapObjectPic_LittleBoy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/3.4bpp"); -const u32 gMapObjectPic_LittleBoy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/4.4bpp"); -const u32 gMapObjectPic_LittleBoy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/5.4bpp"); -const u32 gMapObjectPic_LittleBoy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/6.4bpp"); -const u32 gMapObjectPic_LittleBoy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/7.4bpp"); -const u32 gMapObjectPic_LittleBoy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/8.4bpp"); -const u32 gMapObjectPic_LittleGirl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/0.4bpp"); -const u32 gMapObjectPic_LittleGirl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/1.4bpp"); -const u32 gMapObjectPic_LittleGirl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/2.4bpp"); -const u32 gMapObjectPic_LittleGirl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/3.4bpp"); -const u32 gMapObjectPic_LittleGirl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/4.4bpp"); -const u32 gMapObjectPic_LittleGirl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/5.4bpp"); -const u32 gMapObjectPic_LittleGirl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/6.4bpp"); -const u32 gMapObjectPic_LittleGirl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/7.4bpp"); -const u32 gMapObjectPic_LittleGirl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/8.4bpp"); -const u32 gMapObjectPic_Boy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/0.4bpp"); -const u32 gMapObjectPic_Boy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/1.4bpp"); -const u32 gMapObjectPic_Boy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/2.4bpp"); -const u32 gMapObjectPic_Boy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/3.4bpp"); -const u32 gMapObjectPic_Boy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/4.4bpp"); -const u32 gMapObjectPic_Boy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/5.4bpp"); -const u32 gMapObjectPic_Boy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/6.4bpp"); -const u32 gMapObjectPic_Boy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/7.4bpp"); -const u32 gMapObjectPic_Boy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/8.4bpp"); -const u32 gMapObjectPic_Girl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/0.4bpp"); -const u32 gMapObjectPic_Girl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/1.4bpp"); -const u32 gMapObjectPic_Girl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/2.4bpp"); -const u32 gMapObjectPic_Girl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/3.4bpp"); -const u32 gMapObjectPic_Girl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/4.4bpp"); -const u32 gMapObjectPic_Girl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/5.4bpp"); -const u32 gMapObjectPic_Girl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/6.4bpp"); -const u32 gMapObjectPic_Girl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/7.4bpp"); -const u32 gMapObjectPic_Girl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/8.4bpp"); -const u32 gMapObjectPic_Boy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/0.4bpp"); -const u32 gMapObjectPic_Boy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/1.4bpp"); -const u32 gMapObjectPic_Boy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/2.4bpp"); -const u32 gMapObjectPic_Boy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/3.4bpp"); -const u32 gMapObjectPic_Boy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/4.4bpp"); -const u32 gMapObjectPic_Boy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/5.4bpp"); -const u32 gMapObjectPic_Boy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/6.4bpp"); -const u32 gMapObjectPic_Boy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/7.4bpp"); -const u32 gMapObjectPic_Boy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/8.4bpp"); -const u32 gMapObjectPic_Girl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/0.4bpp"); -const u32 gMapObjectPic_Girl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/1.4bpp"); -const u32 gMapObjectPic_Girl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/2.4bpp"); -const u32 gMapObjectPic_Girl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/3.4bpp"); -const u32 gMapObjectPic_Girl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/4.4bpp"); -const u32 gMapObjectPic_Girl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/5.4bpp"); -const u32 gMapObjectPic_Girl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/6.4bpp"); -const u32 gMapObjectPic_Girl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/7.4bpp"); -const u32 gMapObjectPic_Girl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/8.4bpp"); -const u32 gMapObjectPic_LittleBoy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/0.4bpp"); -const u32 gMapObjectPic_LittleBoy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/1.4bpp"); -const u32 gMapObjectPic_LittleBoy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/2.4bpp"); -const u32 gMapObjectPic_LittleBoy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/3.4bpp"); -const u32 gMapObjectPic_LittleBoy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/4.4bpp"); -const u32 gMapObjectPic_LittleBoy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/5.4bpp"); -const u32 gMapObjectPic_LittleBoy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/6.4bpp"); -const u32 gMapObjectPic_LittleBoy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/7.4bpp"); -const u32 gMapObjectPic_LittleBoy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/8.4bpp"); -const u32 gMapObjectPic_LittleGirl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/0.4bpp"); -const u32 gMapObjectPic_LittleGirl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/1.4bpp"); -const u32 gMapObjectPic_LittleGirl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/2.4bpp"); -const u32 gMapObjectPic_LittleGirl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/3.4bpp"); -const u32 gMapObjectPic_LittleGirl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/4.4bpp"); -const u32 gMapObjectPic_LittleGirl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/5.4bpp"); -const u32 gMapObjectPic_LittleGirl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/6.4bpp"); -const u32 gMapObjectPic_LittleGirl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/7.4bpp"); -const u32 gMapObjectPic_LittleGirl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/8.4bpp"); -const u32 gMapObjectPic_Boy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/0.4bpp"); -const u32 gMapObjectPic_Boy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/1.4bpp"); -const u32 gMapObjectPic_Boy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/2.4bpp"); -const u32 gMapObjectPic_Boy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/3.4bpp"); -const u32 gMapObjectPic_Boy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/4.4bpp"); -const u32 gMapObjectPic_Boy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/5.4bpp"); -const u32 gMapObjectPic_Boy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/6.4bpp"); -const u32 gMapObjectPic_Boy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/7.4bpp"); -const u32 gMapObjectPic_Boy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/8.4bpp"); -const u32 gMapObjectPic_Girl3_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/0.4bpp"); -const u32 gMapObjectPic_Girl3_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/1.4bpp"); -const u32 gMapObjectPic_Girl3_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/2.4bpp"); -const u32 gMapObjectPic_Girl3_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/3.4bpp"); -const u32 gMapObjectPic_Girl3_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/4.4bpp"); -const u32 gMapObjectPic_Girl3_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/5.4bpp"); -const u32 gMapObjectPic_Girl3_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/6.4bpp"); -const u32 gMapObjectPic_Girl3_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/7.4bpp"); -const u32 gMapObjectPic_Girl3_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/8.4bpp"); -const u32 gMapObjectPic_Boy4_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/0.4bpp"); -const u32 gMapObjectPic_Boy4_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/1.4bpp"); -const u32 gMapObjectPic_Boy4_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/2.4bpp"); -const u32 gMapObjectPic_Boy4_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/3.4bpp"); -const u32 gMapObjectPic_Boy4_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/4.4bpp"); -const u32 gMapObjectPic_Boy4_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/5.4bpp"); -const u32 gMapObjectPic_Boy4_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/6.4bpp"); -const u32 gMapObjectPic_Boy4_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/7.4bpp"); -const u32 gMapObjectPic_Boy4_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/8.4bpp"); -const u32 gMapObjectPic_Woman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/0.4bpp"); -const u32 gMapObjectPic_Woman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/1.4bpp"); -const u32 gMapObjectPic_Woman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/2.4bpp"); -const u32 gMapObjectPic_Woman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/3.4bpp"); -const u32 gMapObjectPic_Woman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/4.4bpp"); -const u32 gMapObjectPic_Woman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/5.4bpp"); -const u32 gMapObjectPic_Woman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/6.4bpp"); -const u32 gMapObjectPic_Woman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/7.4bpp"); -const u32 gMapObjectPic_Woman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/8.4bpp"); -const u32 gMapObjectPic_FatMan_0[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/0.4bpp"); -const u32 gMapObjectPic_FatMan_1[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/1.4bpp"); -const u32 gMapObjectPic_FatMan_2[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/2.4bpp"); -const u32 gMapObjectPic_FatMan_3[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/3.4bpp"); -const u32 gMapObjectPic_FatMan_4[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/4.4bpp"); -const u32 gMapObjectPic_FatMan_5[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/5.4bpp"); -const u32 gMapObjectPic_FatMan_6[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/6.4bpp"); -const u32 gMapObjectPic_FatMan_7[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/7.4bpp"); -const u32 gMapObjectPic_FatMan_8[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/8.4bpp"); -const u32 gMapObjectPic_Woman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/0.4bpp"); -const u32 gMapObjectPic_Woman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/1.4bpp"); -const u32 gMapObjectPic_Woman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/2.4bpp"); -const u32 gMapObjectPic_Woman2_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/3.4bpp"); -const u32 gMapObjectPic_Woman2_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/4.4bpp"); -const u32 gMapObjectPic_Woman2_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/5.4bpp"); -const u32 gMapObjectPic_Woman2_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/6.4bpp"); -const u32 gMapObjectPic_Woman2_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/7.4bpp"); -const u32 gMapObjectPic_Woman2_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/8.4bpp"); -const u32 gMapObjectPic_Man1_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/0.4bpp"); -const u32 gMapObjectPic_Man1_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/1.4bpp"); -const u32 gMapObjectPic_Man1_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/2.4bpp"); -const u32 gMapObjectPic_Man1_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/3.4bpp"); -const u32 gMapObjectPic_Man1_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/4.4bpp"); -const u32 gMapObjectPic_Man1_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/5.4bpp"); -const u32 gMapObjectPic_Man1_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/6.4bpp"); -const u32 gMapObjectPic_Man1_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/7.4bpp"); -const u32 gMapObjectPic_Man1_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/8.4bpp"); -const u32 gMapObjectPic_Woman3_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/0.4bpp"); -const u32 gMapObjectPic_Woman3_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/1.4bpp"); -const u32 gMapObjectPic_Woman3_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/2.4bpp"); -const u32 gMapObjectPic_Woman3_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/3.4bpp"); -const u32 gMapObjectPic_Woman3_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/4.4bpp"); -const u32 gMapObjectPic_Woman3_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/5.4bpp"); -const u32 gMapObjectPic_Woman3_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/6.4bpp"); -const u32 gMapObjectPic_Woman3_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/7.4bpp"); -const u32 gMapObjectPic_Woman3_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/8.4bpp"); -const u32 gMapObjectPic_OldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/0.4bpp"); -const u32 gMapObjectPic_OldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/1.4bpp"); -const u32 gMapObjectPic_OldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/2.4bpp"); -const u32 gMapObjectPic_OldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/3.4bpp"); -const u32 gMapObjectPic_OldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/4.4bpp"); -const u32 gMapObjectPic_OldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/5.4bpp"); -const u32 gMapObjectPic_OldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/6.4bpp"); -const u32 gMapObjectPic_OldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/7.4bpp"); -const u32 gMapObjectPic_OldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/8.4bpp"); -const u32 gMapObjectPic_OldWoman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/0.4bpp"); -const u32 gMapObjectPic_OldWoman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/1.4bpp"); -const u32 gMapObjectPic_OldWoman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/2.4bpp"); -const u32 gMapObjectPic_OldWoman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/3.4bpp"); -const u32 gMapObjectPic_OldWoman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/4.4bpp"); -const u32 gMapObjectPic_OldWoman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/5.4bpp"); -const u32 gMapObjectPic_OldWoman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/6.4bpp"); -const u32 gMapObjectPic_OldWoman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/7.4bpp"); -const u32 gMapObjectPic_OldWoman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/8.4bpp"); -const u32 gMapObjectPic_Man2_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/0.4bpp"); -const u32 gMapObjectPic_Man2_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/1.4bpp"); -const u32 gMapObjectPic_Man2_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/2.4bpp"); -const u32 gMapObjectPic_Man2_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/3.4bpp"); -const u32 gMapObjectPic_Man2_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/4.4bpp"); -const u32 gMapObjectPic_Man2_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/5.4bpp"); -const u32 gMapObjectPic_Man2_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/6.4bpp"); -const u32 gMapObjectPic_Man2_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/7.4bpp"); -const u32 gMapObjectPic_Man2_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/8.4bpp"); -const u32 gMapObjectPic_Woman4_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/0.4bpp"); -const u32 gMapObjectPic_Woman4_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/1.4bpp"); -const u32 gMapObjectPic_Woman4_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/2.4bpp"); -const u32 gMapObjectPic_Woman4_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/3.4bpp"); -const u32 gMapObjectPic_Woman4_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/4.4bpp"); -const u32 gMapObjectPic_Woman4_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/5.4bpp"); -const u32 gMapObjectPic_Woman4_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/6.4bpp"); -const u32 gMapObjectPic_Woman4_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/7.4bpp"); -const u32 gMapObjectPic_Woman4_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/8.4bpp"); -const u32 gMapObjectPic_Man3_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/0.4bpp"); -const u32 gMapObjectPic_Man3_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/1.4bpp"); -const u32 gMapObjectPic_Man3_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/2.4bpp"); -const u32 gMapObjectPic_Man3_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/3.4bpp"); -const u32 gMapObjectPic_Man3_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/4.4bpp"); -const u32 gMapObjectPic_Man3_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/5.4bpp"); -const u32 gMapObjectPic_Man3_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/6.4bpp"); -const u32 gMapObjectPic_Man3_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/7.4bpp"); -const u32 gMapObjectPic_Man3_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/8.4bpp"); -const u32 gMapObjectPic_Woman5_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/0.4bpp"); -const u32 gMapObjectPic_Woman5_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/1.4bpp"); -const u32 gMapObjectPic_Woman5_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/2.4bpp"); -const u32 gMapObjectPic_Woman5_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/3.4bpp"); -const u32 gMapObjectPic_Woman5_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/4.4bpp"); -const u32 gMapObjectPic_Woman5_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/5.4bpp"); -const u32 gMapObjectPic_Woman5_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/6.4bpp"); -const u32 gMapObjectPic_Woman5_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/7.4bpp"); -const u32 gMapObjectPic_Woman5_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/8.4bpp"); -const u32 gMapObjectPic_Cook_0[] = INCBIN_U32("graphics/map_objects/pics/people/cook/0.4bpp"); -const u32 gMapObjectPic_Cook_1[] = INCBIN_U32("graphics/map_objects/pics/people/cook/1.4bpp"); -const u32 gMapObjectPic_Cook_2[] = INCBIN_U32("graphics/map_objects/pics/people/cook/2.4bpp"); -const u32 gMapObjectPic_Woman6_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/0.4bpp"); -const u32 gMapObjectPic_Woman6_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/1.4bpp"); -const u32 gMapObjectPic_Woman6_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/2.4bpp"); -const u32 gMapObjectPic_Woman6_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/3.4bpp"); -const u32 gMapObjectPic_Woman6_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/4.4bpp"); -const u32 gMapObjectPic_Woman6_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/5.4bpp"); -const u32 gMapObjectPic_Woman6_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/6.4bpp"); -const u32 gMapObjectPic_Woman6_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/7.4bpp"); -const u32 gMapObjectPic_Woman6_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/8.4bpp"); -const u32 gMapObjectPic_OldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/0.4bpp"); -const u32 gMapObjectPic_OldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/1.4bpp"); -const u32 gMapObjectPic_OldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/2.4bpp"); -const u32 gMapObjectPic_OldWoman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/0.4bpp"); -const u32 gMapObjectPic_OldWoman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/1.4bpp"); -const u32 gMapObjectPic_OldWoman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/2.4bpp"); -const u32 gMapObjectPic_Camper_0[] = INCBIN_U32("graphics/map_objects/pics/people/camper/0.4bpp"); -const u32 gMapObjectPic_Camper_1[] = INCBIN_U32("graphics/map_objects/pics/people/camper/1.4bpp"); -const u32 gMapObjectPic_Camper_2[] = INCBIN_U32("graphics/map_objects/pics/people/camper/2.4bpp"); -const u32 gMapObjectPic_Camper_3[] = INCBIN_U32("graphics/map_objects/pics/people/camper/3.4bpp"); -const u32 gMapObjectPic_Camper_4[] = INCBIN_U32("graphics/map_objects/pics/people/camper/4.4bpp"); -const u32 gMapObjectPic_Camper_5[] = INCBIN_U32("graphics/map_objects/pics/people/camper/5.4bpp"); -const u32 gMapObjectPic_Camper_6[] = INCBIN_U32("graphics/map_objects/pics/people/camper/6.4bpp"); -const u32 gMapObjectPic_Camper_7[] = INCBIN_U32("graphics/map_objects/pics/people/camper/7.4bpp"); -const u32 gMapObjectPic_Camper_8[] = INCBIN_U32("graphics/map_objects/pics/people/camper/8.4bpp"); -const u32 gMapObjectPic_Picnicker_0[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/0.4bpp"); -const u32 gMapObjectPic_Picnicker_1[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/1.4bpp"); -const u32 gMapObjectPic_Picnicker_2[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/2.4bpp"); -const u32 gMapObjectPic_Picnicker_3[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/3.4bpp"); -const u32 gMapObjectPic_Picnicker_4[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/4.4bpp"); -const u32 gMapObjectPic_Picnicker_5[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/5.4bpp"); -const u32 gMapObjectPic_Picnicker_6[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/6.4bpp"); -const u32 gMapObjectPic_Picnicker_7[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/7.4bpp"); -const u32 gMapObjectPic_Picnicker_8[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/8.4bpp"); -const u32 gMapObjectPic_Man4_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/0.4bpp"); -const u32 gMapObjectPic_Man4_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/1.4bpp"); -const u32 gMapObjectPic_Man4_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/2.4bpp"); -const u32 gMapObjectPic_Man4_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/3.4bpp"); -const u32 gMapObjectPic_Man4_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/4.4bpp"); -const u32 gMapObjectPic_Man4_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/5.4bpp"); -const u32 gMapObjectPic_Man4_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/6.4bpp"); -const u32 gMapObjectPic_Man4_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/7.4bpp"); -const u32 gMapObjectPic_Man4_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/8.4bpp"); -const u32 gMapObjectPic_Woman7_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/0.4bpp"); -const u32 gMapObjectPic_Woman7_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/1.4bpp"); -const u32 gMapObjectPic_Woman7_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/2.4bpp"); -const u32 gMapObjectPic_Woman7_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/3.4bpp"); -const u32 gMapObjectPic_Woman7_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/4.4bpp"); -const u32 gMapObjectPic_Woman7_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/5.4bpp"); -const u32 gMapObjectPic_Woman7_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/6.4bpp"); -const u32 gMapObjectPic_Woman7_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/7.4bpp"); -const u32 gMapObjectPic_Woman7_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/8.4bpp"); -const u32 gMapObjectPic_Youngster_0[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/0.4bpp"); -const u32 gMapObjectPic_Youngster_1[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/1.4bpp"); -const u32 gMapObjectPic_Youngster_2[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/2.4bpp"); -const u32 gMapObjectPic_Youngster_3[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/3.4bpp"); -const u32 gMapObjectPic_Youngster_4[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/4.4bpp"); -const u32 gMapObjectPic_Youngster_5[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/5.4bpp"); -const u32 gMapObjectPic_Youngster_6[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/6.4bpp"); -const u32 gMapObjectPic_Youngster_7[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/7.4bpp"); -const u32 gMapObjectPic_Youngster_8[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/8.4bpp"); -const u32 gMapObjectPic_BugCatcher_0[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/0.4bpp"); -const u32 gMapObjectPic_BugCatcher_1[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/1.4bpp"); -const u32 gMapObjectPic_BugCatcher_2[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/2.4bpp"); -const u32 gMapObjectPic_BugCatcher_3[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/3.4bpp"); -const u32 gMapObjectPic_BugCatcher_4[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/4.4bpp"); -const u32 gMapObjectPic_BugCatcher_5[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/5.4bpp"); -const u32 gMapObjectPic_BugCatcher_6[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/6.4bpp"); -const u32 gMapObjectPic_BugCatcher_7[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/7.4bpp"); -const u32 gMapObjectPic_BugCatcher_8[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/8.4bpp"); -const u32 gMapObjectPic_PsychicM_0[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/0.4bpp"); -const u32 gMapObjectPic_PsychicM_1[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/1.4bpp"); -const u32 gMapObjectPic_PsychicM_2[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/2.4bpp"); -const u32 gMapObjectPic_PsychicM_3[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/3.4bpp"); -const u32 gMapObjectPic_PsychicM_4[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/4.4bpp"); -const u32 gMapObjectPic_PsychicM_5[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/5.4bpp"); -const u32 gMapObjectPic_PsychicM_6[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/6.4bpp"); -const u32 gMapObjectPic_PsychicM_7[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/7.4bpp"); -const u32 gMapObjectPic_PsychicM_8[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/8.4bpp"); -const u32 gMapObjectPic_SchoolKidM_0[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/0.4bpp"); -const u32 gMapObjectPic_SchoolKidM_1[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/1.4bpp"); -const u32 gMapObjectPic_SchoolKidM_2[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/2.4bpp"); -const u32 gMapObjectPic_SchoolKidM_3[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/3.4bpp"); -const u32 gMapObjectPic_SchoolKidM_4[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/4.4bpp"); -const u32 gMapObjectPic_SchoolKidM_5[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/5.4bpp"); -const u32 gMapObjectPic_SchoolKidM_6[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/6.4bpp"); -const u32 gMapObjectPic_SchoolKidM_7[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/7.4bpp"); -const u32 gMapObjectPic_SchoolKidM_8[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/8.4bpp"); -const u32 gMapObjectPic_Maniac_0[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/0.4bpp"); -const u32 gMapObjectPic_Maniac_1[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/1.4bpp"); -const u32 gMapObjectPic_Maniac_2[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/2.4bpp"); -const u32 gMapObjectPic_Maniac_3[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/3.4bpp"); -const u32 gMapObjectPic_Maniac_4[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/4.4bpp"); -const u32 gMapObjectPic_Maniac_5[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/5.4bpp"); -const u32 gMapObjectPic_Maniac_6[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/6.4bpp"); -const u32 gMapObjectPic_Maniac_7[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/7.4bpp"); -const u32 gMapObjectPic_Maniac_8[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/8.4bpp"); -const u32 gMapObjectPic_HexManiac_0[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/0.4bpp"); -const u32 gMapObjectPic_HexManiac_1[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/1.4bpp"); -const u32 gMapObjectPic_HexManiac_2[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/2.4bpp"); -const u32 gMapObjectPic_HexManiac_3[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/3.4bpp"); -const u32 gMapObjectPic_HexManiac_4[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/4.4bpp"); -const u32 gMapObjectPic_HexManiac_5[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/5.4bpp"); -const u32 gMapObjectPic_HexManiac_6[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/6.4bpp"); -const u32 gMapObjectPic_HexManiac_7[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/7.4bpp"); -const u32 gMapObjectPic_HexManiac_8[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/8.4bpp"); -const u32 gMapObjectPic_Woman8_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/0.4bpp"); -const u32 gMapObjectPic_Woman8_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/1.4bpp"); -const u32 gMapObjectPic_Woman8_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/2.4bpp"); -const u32 gMapObjectPic_Woman8_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/3.4bpp"); -const u32 gMapObjectPic_Woman8_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/4.4bpp"); -const u32 gMapObjectPic_Woman8_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/5.4bpp"); -const u32 gMapObjectPic_Woman8_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/6.4bpp"); -const u32 gMapObjectPic_Woman8_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/7.4bpp"); -const u32 gMapObjectPic_Woman8_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/8.4bpp"); -const u32 gMapObjectPic_SwimmerM_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/0.4bpp"); -const u32 gMapObjectPic_SwimmerM_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/1.4bpp"); -const u32 gMapObjectPic_SwimmerM_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/2.4bpp"); -const u32 gMapObjectPic_SwimmerM_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/3.4bpp"); -const u32 gMapObjectPic_SwimmerM_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/4.4bpp"); -const u32 gMapObjectPic_SwimmerM_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/5.4bpp"); -const u32 gMapObjectPic_SwimmerM_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/6.4bpp"); -const u32 gMapObjectPic_SwimmerM_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/7.4bpp"); -const u32 gMapObjectPic_SwimmerM_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/8.4bpp"); -const u32 gMapObjectPic_SwimmerF_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/0.4bpp"); -const u32 gMapObjectPic_SwimmerF_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/1.4bpp"); -const u32 gMapObjectPic_SwimmerF_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/2.4bpp"); -const u32 gMapObjectPic_SwimmerF_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/3.4bpp"); -const u32 gMapObjectPic_SwimmerF_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/4.4bpp"); -const u32 gMapObjectPic_SwimmerF_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/5.4bpp"); -const u32 gMapObjectPic_SwimmerF_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/6.4bpp"); -const u32 gMapObjectPic_SwimmerF_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/7.4bpp"); -const u32 gMapObjectPic_SwimmerF_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/8.4bpp"); -const u32 gMapObjectPic_BlackBelt_0[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/0.4bpp"); -const u32 gMapObjectPic_BlackBelt_1[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/1.4bpp"); -const u32 gMapObjectPic_BlackBelt_2[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/2.4bpp"); -const u32 gMapObjectPic_BlackBelt_3[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/3.4bpp"); -const u32 gMapObjectPic_BlackBelt_4[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/4.4bpp"); -const u32 gMapObjectPic_BlackBelt_5[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/5.4bpp"); -const u32 gMapObjectPic_BlackBelt_6[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/6.4bpp"); -const u32 gMapObjectPic_BlackBelt_7[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/7.4bpp"); -const u32 gMapObjectPic_BlackBelt_8[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/8.4bpp"); -const u32 gMapObjectPic_Beauty_0[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/0.4bpp"); -const u32 gMapObjectPic_Beauty_1[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/1.4bpp"); -const u32 gMapObjectPic_Beauty_2[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/2.4bpp"); -const u32 gMapObjectPic_Beauty_3[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/3.4bpp"); -const u32 gMapObjectPic_Beauty_4[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/4.4bpp"); -const u32 gMapObjectPic_Beauty_5[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/5.4bpp"); -const u32 gMapObjectPic_Beauty_6[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/6.4bpp"); -const u32 gMapObjectPic_Beauty_7[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/7.4bpp"); -const u32 gMapObjectPic_Beauty_8[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/8.4bpp"); -const u32 gMapObjectPic_Scientist1_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/0.4bpp"); -const u32 gMapObjectPic_Scientist1_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/1.4bpp"); -const u32 gMapObjectPic_Scientist1_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/2.4bpp"); -const u32 gMapObjectPic_Scientist1_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/3.4bpp"); -const u32 gMapObjectPic_Scientist1_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/4.4bpp"); -const u32 gMapObjectPic_Scientist1_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/5.4bpp"); -const u32 gMapObjectPic_Scientist1_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/6.4bpp"); -const u32 gMapObjectPic_Scientist1_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/7.4bpp"); -const u32 gMapObjectPic_Scientist1_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/8.4bpp"); -const u32 gMapObjectPic_Lass_0[] = INCBIN_U32("graphics/map_objects/pics/people/lass/0.4bpp"); -const u32 gMapObjectPic_Lass_1[] = INCBIN_U32("graphics/map_objects/pics/people/lass/1.4bpp"); -const u32 gMapObjectPic_Lass_2[] = INCBIN_U32("graphics/map_objects/pics/people/lass/2.4bpp"); -const u32 gMapObjectPic_Lass_3[] = INCBIN_U32("graphics/map_objects/pics/people/lass/3.4bpp"); -const u32 gMapObjectPic_Lass_4[] = INCBIN_U32("graphics/map_objects/pics/people/lass/4.4bpp"); -const u32 gMapObjectPic_Lass_5[] = INCBIN_U32("graphics/map_objects/pics/people/lass/5.4bpp"); -const u32 gMapObjectPic_Lass_6[] = INCBIN_U32("graphics/map_objects/pics/people/lass/6.4bpp"); -const u32 gMapObjectPic_Lass_7[] = INCBIN_U32("graphics/map_objects/pics/people/lass/7.4bpp"); -const u32 gMapObjectPic_Lass_8[] = INCBIN_U32("graphics/map_objects/pics/people/lass/8.4bpp"); -const u32 gMapObjectPic_Gentleman_0[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/0.4bpp"); -const u32 gMapObjectPic_Gentleman_1[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/1.4bpp"); -const u32 gMapObjectPic_Gentleman_2[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/2.4bpp"); -const u32 gMapObjectPic_Gentleman_3[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/3.4bpp"); -const u32 gMapObjectPic_Gentleman_4[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/4.4bpp"); -const u32 gMapObjectPic_Gentleman_5[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/5.4bpp"); -const u32 gMapObjectPic_Gentleman_6[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/6.4bpp"); -const u32 gMapObjectPic_Gentleman_7[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/7.4bpp"); -const u32 gMapObjectPic_Gentleman_8[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/8.4bpp"); -const u32 gMapObjectPic_Sailor_0[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/0.4bpp"); -const u32 gMapObjectPic_Sailor_1[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/1.4bpp"); -const u32 gMapObjectPic_Sailor_2[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/2.4bpp"); -const u32 gMapObjectPic_Sailor_3[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/3.4bpp"); -const u32 gMapObjectPic_Sailor_4[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/4.4bpp"); -const u32 gMapObjectPic_Sailor_5[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/5.4bpp"); -const u32 gMapObjectPic_Sailor_6[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/6.4bpp"); -const u32 gMapObjectPic_Sailor_7[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/7.4bpp"); -const u32 gMapObjectPic_Sailor_8[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/8.4bpp"); -const u32 gMapObjectPic_Fisherman_0[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/0.4bpp"); -const u32 gMapObjectPic_Fisherman_1[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/1.4bpp"); -const u32 gMapObjectPic_Fisherman_2[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/2.4bpp"); -const u32 gMapObjectPic_Fisherman_3[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/3.4bpp"); -const u32 gMapObjectPic_Fisherman_4[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/4.4bpp"); -const u32 gMapObjectPic_Fisherman_5[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/5.4bpp"); -const u32 gMapObjectPic_Fisherman_6[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/6.4bpp"); -const u32 gMapObjectPic_Fisherman_7[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/7.4bpp"); -const u32 gMapObjectPic_Fisherman_8[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/8.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/0.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/1.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/2.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/3.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/4.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/5.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/6.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/7.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/8.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/0.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/1.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/2.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/3.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/4.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/5.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/6.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/7.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/8.4bpp"); -const u32 gMapObjectPic_TuberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/0.4bpp"); -const u32 gMapObjectPic_TuberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/1.4bpp"); -const u32 gMapObjectPic_TuberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/2.4bpp"); -const u32 gMapObjectPic_TuberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/3.4bpp"); -const u32 gMapObjectPic_TuberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/4.4bpp"); -const u32 gMapObjectPic_TuberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/5.4bpp"); -const u32 gMapObjectPic_TuberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/6.4bpp"); -const u32 gMapObjectPic_TuberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/7.4bpp"); -const u32 gMapObjectPic_TuberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/8.4bpp"); -const u32 gMapObjectPic_TuberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/0.4bpp"); -const u32 gMapObjectPic_TuberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/1.4bpp"); -const u32 gMapObjectPic_TuberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/2.4bpp"); -const u32 gMapObjectPic_TuberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/3.4bpp"); -const u32 gMapObjectPic_TuberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/4.4bpp"); -const u32 gMapObjectPic_TuberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/5.4bpp"); -const u32 gMapObjectPic_TuberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/6.4bpp"); -const u32 gMapObjectPic_TuberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/7.4bpp"); -const u32 gMapObjectPic_TuberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/8.4bpp"); -const u32 gMapObjectPic_Hiker_0[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/0.4bpp"); -const u32 gMapObjectPic_Hiker_1[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/1.4bpp"); -const u32 gMapObjectPic_Hiker_2[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/2.4bpp"); -const u32 gMapObjectPic_Hiker_3[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/3.4bpp"); -const u32 gMapObjectPic_Hiker_4[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/4.4bpp"); -const u32 gMapObjectPic_Hiker_5[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/5.4bpp"); -const u32 gMapObjectPic_Hiker_6[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/6.4bpp"); -const u32 gMapObjectPic_Hiker_7[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/7.4bpp"); -const u32 gMapObjectPic_Hiker_8[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/8.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/0.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/1.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/2.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/3.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/4.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/5.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/6.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/7.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/8.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/0.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/1.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/2.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/3.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/4.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/5.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/6.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/7.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/8.4bpp"); -const u32 gMapObjectPic_Man5_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/0.4bpp"); -const u32 gMapObjectPic_Man5_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/1.4bpp"); -const u32 gMapObjectPic_Man5_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/2.4bpp"); -const u32 gMapObjectPic_Man5_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/3.4bpp"); -const u32 gMapObjectPic_Man5_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/4.4bpp"); -const u32 gMapObjectPic_Man5_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/5.4bpp"); -const u32 gMapObjectPic_Man5_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/6.4bpp"); -const u32 gMapObjectPic_Man5_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/7.4bpp"); -const u32 gMapObjectPic_Man5_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/8.4bpp"); -const u32 gMapObjectPic_Man6_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/0.4bpp"); -const u32 gMapObjectPic_Man6_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/1.4bpp"); -const u32 gMapObjectPic_Man6_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/2.4bpp"); -const u32 gMapObjectPic_Man6_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/3.4bpp"); -const u32 gMapObjectPic_Man6_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/4.4bpp"); -const u32 gMapObjectPic_Man6_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/5.4bpp"); -const u32 gMapObjectPic_Man6_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/6.4bpp"); -const u32 gMapObjectPic_Man6_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/7.4bpp"); -const u32 gMapObjectPic_Man6_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/8.4bpp"); -const u32 gMapObjectPic_Nurse_0[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/0.4bpp"); -const u32 gMapObjectPic_Nurse_1[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/1.4bpp"); -const u32 gMapObjectPic_Nurse_2[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/2.4bpp"); -const u32 gMapObjectPic_Nurse_3[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/3.4bpp"); -const u32 gMapObjectPic_Nurse_4[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/4.4bpp"); -const u32 gMapObjectPic_Nurse_5[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/5.4bpp"); -const u32 gMapObjectPic_Nurse_6[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/6.4bpp"); -const u32 gMapObjectPic_Nurse_7[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/7.4bpp"); -const u32 gMapObjectPic_Nurse_8[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/8.4bpp"); -const u32 gMapObjectPic_Nurse_9[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/9.4bpp"); -const u32 gMapObjectPic_ItemBall[] = INCBIN_U32("graphics/map_objects/pics/misc/item_ball.4bpp"); -const u32 gMapObjectPic_ProfBirch_0[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/0.4bpp"); -const u32 gMapObjectPic_ProfBirch_1[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/1.4bpp"); -const u32 gMapObjectPic_ProfBirch_2[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/2.4bpp"); -const u32 gMapObjectPic_ProfBirch_3[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/3.4bpp"); -const u32 gMapObjectPic_ProfBirch_4[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/4.4bpp"); -const u32 gMapObjectPic_ProfBirch_5[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/5.4bpp"); -const u32 gMapObjectPic_ProfBirch_6[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/6.4bpp"); -const u32 gMapObjectPic_ProfBirch_7[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/7.4bpp"); -const u32 gMapObjectPic_ProfBirch_8[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/8.4bpp"); -const u32 gMapObjectPic_ReporterM_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/0.4bpp"); -const u32 gMapObjectPic_ReporterM_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/1.4bpp"); -const u32 gMapObjectPic_ReporterM_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/2.4bpp"); -const u32 gMapObjectPic_ReporterM_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/3.4bpp"); -const u32 gMapObjectPic_ReporterM_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/4.4bpp"); -const u32 gMapObjectPic_ReporterM_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/5.4bpp"); -const u32 gMapObjectPic_ReporterM_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/6.4bpp"); -const u32 gMapObjectPic_ReporterM_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/7.4bpp"); -const u32 gMapObjectPic_ReporterM_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/8.4bpp"); -const u32 gMapObjectPic_ReporterF_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/0.4bpp"); -const u32 gMapObjectPic_ReporterF_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/1.4bpp"); -const u32 gMapObjectPic_ReporterF_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/2.4bpp"); -const u32 gMapObjectPic_ReporterF_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/3.4bpp"); -const u32 gMapObjectPic_ReporterF_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/4.4bpp"); -const u32 gMapObjectPic_ReporterF_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/5.4bpp"); -const u32 gMapObjectPic_ReporterF_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/6.4bpp"); -const u32 gMapObjectPic_ReporterF_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/7.4bpp"); -const u32 gMapObjectPic_ReporterF_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/8.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/0.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/1.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/2.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/3.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/4.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/5.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/6.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/7.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/8.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/0.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/1.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/2.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/3.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/4.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/5.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/6.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/7.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/8.4bpp"); -const u32 gMapObjectPic_MartEmployee_0[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/0.4bpp"); -const u32 gMapObjectPic_MartEmployee_1[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/1.4bpp"); -const u32 gMapObjectPic_MartEmployee_2[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/2.4bpp"); -const u32 gMapObjectPic_MartEmployee_3[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/3.4bpp"); -const u32 gMapObjectPic_MartEmployee_4[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/4.4bpp"); -const u32 gMapObjectPic_MartEmployee_5[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/5.4bpp"); -const u32 gMapObjectPic_MartEmployee_6[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/6.4bpp"); -const u32 gMapObjectPic_MartEmployee_7[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/7.4bpp"); -const u32 gMapObjectPic_MartEmployee_8[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/8.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/0.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/1.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/2.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/3.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/4.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/5.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/6.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/7.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/8.4bpp"); -const u32 gMapObjectPic_Teala_0[] = INCBIN_U32("graphics/map_objects/pics/people/teala/0.4bpp"); -const u32 gMapObjectPic_Teala_1[] = INCBIN_U32("graphics/map_objects/pics/people/teala/1.4bpp"); -const u32 gMapObjectPic_Teala_2[] = INCBIN_U32("graphics/map_objects/pics/people/teala/2.4bpp"); -const u32 gMapObjectPic_Teala_3[] = INCBIN_U32("graphics/map_objects/pics/people/teala/3.4bpp"); -const u32 gMapObjectPic_Teala_4[] = INCBIN_U32("graphics/map_objects/pics/people/teala/4.4bpp"); -const u32 gMapObjectPic_Teala_5[] = INCBIN_U32("graphics/map_objects/pics/people/teala/5.4bpp"); -const u32 gMapObjectPic_Teala_6[] = INCBIN_U32("graphics/map_objects/pics/people/teala/6.4bpp"); -const u32 gMapObjectPic_Teala_7[] = INCBIN_U32("graphics/map_objects/pics/people/teala/7.4bpp"); -const u32 gMapObjectPic_Teala_8[] = INCBIN_U32("graphics/map_objects/pics/people/teala/8.4bpp"); -const u32 gMapObjectPic_Artist_0[] = INCBIN_U32("graphics/map_objects/pics/people/artist/0.4bpp"); -const u32 gMapObjectPic_Artist_1[] = INCBIN_U32("graphics/map_objects/pics/people/artist/1.4bpp"); -const u32 gMapObjectPic_Artist_2[] = INCBIN_U32("graphics/map_objects/pics/people/artist/2.4bpp"); -const u32 gMapObjectPic_Artist_3[] = INCBIN_U32("graphics/map_objects/pics/people/artist/3.4bpp"); -const u32 gMapObjectPic_Artist_4[] = INCBIN_U32("graphics/map_objects/pics/people/artist/4.4bpp"); -const u32 gMapObjectPic_Artist_5[] = INCBIN_U32("graphics/map_objects/pics/people/artist/5.4bpp"); -const u32 gMapObjectPic_Artist_6[] = INCBIN_U32("graphics/map_objects/pics/people/artist/6.4bpp"); -const u32 gMapObjectPic_Artist_7[] = INCBIN_U32("graphics/map_objects/pics/people/artist/7.4bpp"); -const u32 gMapObjectPic_Artist_8[] = INCBIN_U32("graphics/map_objects/pics/people/artist/8.4bpp"); -const u32 gMapObjectPic_Cameraman_0[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/0.4bpp"); -const u32 gMapObjectPic_Cameraman_1[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/1.4bpp"); -const u32 gMapObjectPic_Cameraman_2[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/2.4bpp"); -const u32 gMapObjectPic_Cameraman_3[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/3.4bpp"); -const u32 gMapObjectPic_Cameraman_4[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/4.4bpp"); -const u32 gMapObjectPic_Cameraman_5[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/5.4bpp"); -const u32 gMapObjectPic_Cameraman_6[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/6.4bpp"); -const u32 gMapObjectPic_Cameraman_7[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/7.4bpp"); -const u32 gMapObjectPic_Cameraman_8[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/8.4bpp"); -const u32 gMapObjectPic_Scientist2_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/0.4bpp"); -const u32 gMapObjectPic_Scientist2_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/1.4bpp"); -const u32 gMapObjectPic_Scientist2_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/2.4bpp"); -const u32 gMapObjectPic_Scientist2_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/3.4bpp"); -const u32 gMapObjectPic_Scientist2_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/4.4bpp"); -const u32 gMapObjectPic_Scientist2_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/5.4bpp"); -const u32 gMapObjectPic_Scientist2_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/6.4bpp"); -const u32 gMapObjectPic_Scientist2_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/7.4bpp"); -const u32 gMapObjectPic_Scientist2_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/8.4bpp"); -const u32 gMapObjectPic_Man7_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/0.4bpp"); -const u32 gMapObjectPic_Man7_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/1.4bpp"); -const u32 gMapObjectPic_Man7_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/2.4bpp"); -const u32 gMapObjectPic_Man7_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/3.4bpp"); -const u32 gMapObjectPic_Man7_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/4.4bpp"); -const u32 gMapObjectPic_Man7_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/5.4bpp"); -const u32 gMapObjectPic_Man7_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/6.4bpp"); -const u32 gMapObjectPic_Man7_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/7.4bpp"); -const u32 gMapObjectPic_Man7_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/8.4bpp"); -const u32 gMapObjectPic_AquaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/0.4bpp"); -const u32 gMapObjectPic_AquaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/1.4bpp"); -const u32 gMapObjectPic_AquaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/2.4bpp"); -const u32 gMapObjectPic_AquaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/3.4bpp"); -const u32 gMapObjectPic_AquaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/4.4bpp"); -const u32 gMapObjectPic_AquaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/5.4bpp"); -const u32 gMapObjectPic_AquaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/6.4bpp"); -const u32 gMapObjectPic_AquaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/7.4bpp"); -const u32 gMapObjectPic_AquaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/8.4bpp"); -const u32 gMapObjectPic_AquaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/0.4bpp"); -const u32 gMapObjectPic_AquaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/1.4bpp"); -const u32 gMapObjectPic_AquaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/2.4bpp"); -const u32 gMapObjectPic_AquaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/3.4bpp"); -const u32 gMapObjectPic_AquaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/4.4bpp"); -const u32 gMapObjectPic_AquaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/5.4bpp"); -const u32 gMapObjectPic_AquaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/6.4bpp"); -const u32 gMapObjectPic_AquaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/7.4bpp"); -const u32 gMapObjectPic_AquaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/8.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/0.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/1.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/2.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/3.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/4.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/5.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/6.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/7.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/8.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/0.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/1.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/2.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/3.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/4.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/5.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/6.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/7.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/8.4bpp"); -const u32 gMapObjectPic_Sidney_0[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/0.4bpp"); -const u32 gMapObjectPic_Sidney_1[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/1.4bpp"); -const u32 gMapObjectPic_Sidney_2[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/2.4bpp"); -const u32 gMapObjectPic_Phoebe_0[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/0.4bpp"); -const u32 gMapObjectPic_Phoebe_1[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/1.4bpp"); -const u32 gMapObjectPic_Phoebe_2[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/2.4bpp"); -const u32 gMapObjectPic_Glacia_0[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/0.4bpp"); -const u32 gMapObjectPic_Glacia_1[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/1.4bpp"); -const u32 gMapObjectPic_Glacia_2[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/2.4bpp"); -const u32 gMapObjectPic_Drake_0[] = INCBIN_U32("graphics/map_objects/pics/people/drake/0.4bpp"); -const u32 gMapObjectPic_Drake_1[] = INCBIN_U32("graphics/map_objects/pics/people/drake/1.4bpp"); -const u32 gMapObjectPic_Drake_2[] = INCBIN_U32("graphics/map_objects/pics/people/drake/2.4bpp"); -const u32 gMapObjectPic_Roxanne_0[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/0.4bpp"); -const u32 gMapObjectPic_Roxanne_1[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/1.4bpp"); -const u32 gMapObjectPic_Roxanne_2[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/2.4bpp"); -const u32 gMapObjectPic_Brawly_0[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/0.4bpp"); -const u32 gMapObjectPic_Brawly_1[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/1.4bpp"); -const u32 gMapObjectPic_Brawly_2[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/2.4bpp"); -const u32 gMapObjectPic_Wattson_0[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/0.4bpp"); -const u32 gMapObjectPic_Wattson_1[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/1.4bpp"); -const u32 gMapObjectPic_Wattson_2[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/2.4bpp"); -const u32 gMapObjectPic_Flannery_0[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/0.4bpp"); -const u32 gMapObjectPic_Flannery_1[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/1.4bpp"); -const u32 gMapObjectPic_Flannery_2[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/2.4bpp"); -const u32 gMapObjectPic_Norman_0[] = INCBIN_U32("graphics/map_objects/pics/people/norman/0.4bpp"); -const u32 gMapObjectPic_Norman_1[] = INCBIN_U32("graphics/map_objects/pics/people/norman/1.4bpp"); -const u32 gMapObjectPic_Norman_2[] = INCBIN_U32("graphics/map_objects/pics/people/norman/2.4bpp"); -const u32 gMapObjectPic_Norman_3[] = INCBIN_U32("graphics/map_objects/pics/people/norman/3.4bpp"); -const u32 gMapObjectPic_Norman_4[] = INCBIN_U32("graphics/map_objects/pics/people/norman/4.4bpp"); -const u32 gMapObjectPic_Norman_5[] = INCBIN_U32("graphics/map_objects/pics/people/norman/5.4bpp"); -const u32 gMapObjectPic_Norman_6[] = INCBIN_U32("graphics/map_objects/pics/people/norman/6.4bpp"); -const u32 gMapObjectPic_Norman_7[] = INCBIN_U32("graphics/map_objects/pics/people/norman/7.4bpp"); -const u32 gMapObjectPic_Norman_8[] = INCBIN_U32("graphics/map_objects/pics/people/norman/8.4bpp"); -const u32 gMapObjectPic_Winona_0[] = INCBIN_U32("graphics/map_objects/pics/people/winona/0.4bpp"); -const u32 gMapObjectPic_Winona_1[] = INCBIN_U32("graphics/map_objects/pics/people/winona/1.4bpp"); -const u32 gMapObjectPic_Winona_2[] = INCBIN_U32("graphics/map_objects/pics/people/winona/2.4bpp"); -const u32 gMapObjectPic_Liza_0[] = INCBIN_U32("graphics/map_objects/pics/people/liza/0.4bpp"); -const u32 gMapObjectPic_Liza_1[] = INCBIN_U32("graphics/map_objects/pics/people/liza/1.4bpp"); -const u32 gMapObjectPic_Liza_2[] = INCBIN_U32("graphics/map_objects/pics/people/liza/2.4bpp"); -const u32 gMapObjectPic_Tate_0[] = INCBIN_U32("graphics/map_objects/pics/people/tate/0.4bpp"); -const u32 gMapObjectPic_Tate_1[] = INCBIN_U32("graphics/map_objects/pics/people/tate/1.4bpp"); -const u32 gMapObjectPic_Tate_2[] = INCBIN_U32("graphics/map_objects/pics/people/tate/2.4bpp"); -const u32 gMapObjectPic_Wallace_0[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/0.4bpp"); -const u32 gMapObjectPic_Wallace_1[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/1.4bpp"); -const u32 gMapObjectPic_Wallace_2[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/2.4bpp"); -const u32 gMapObjectPic_Wallace_3[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/3.4bpp"); -const u32 gMapObjectPic_Wallace_4[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/4.4bpp"); -const u32 gMapObjectPic_Wallace_5[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/5.4bpp"); -const u32 gMapObjectPic_Wallace_6[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/6.4bpp"); -const u32 gMapObjectPic_Wallace_7[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/7.4bpp"); -const u32 gMapObjectPic_Wallace_8[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/8.4bpp"); -const u32 gMapObjectPic_Steven_0[] = INCBIN_U32("graphics/map_objects/pics/people/steven/0.4bpp"); -const u32 gMapObjectPic_Steven_1[] = INCBIN_U32("graphics/map_objects/pics/people/steven/1.4bpp"); -const u32 gMapObjectPic_Steven_2[] = INCBIN_U32("graphics/map_objects/pics/people/steven/2.4bpp"); -const u32 gMapObjectPic_Steven_3[] = INCBIN_U32("graphics/map_objects/pics/people/steven/3.4bpp"); -const u32 gMapObjectPic_Steven_4[] = INCBIN_U32("graphics/map_objects/pics/people/steven/4.4bpp"); -const u32 gMapObjectPic_Steven_5[] = INCBIN_U32("graphics/map_objects/pics/people/steven/5.4bpp"); -const u32 gMapObjectPic_Steven_6[] = INCBIN_U32("graphics/map_objects/pics/people/steven/6.4bpp"); -const u32 gMapObjectPic_Steven_7[] = INCBIN_U32("graphics/map_objects/pics/people/steven/7.4bpp"); -const u32 gMapObjectPic_Steven_8[] = INCBIN_U32("graphics/map_objects/pics/people/steven/8.4bpp"); -const u32 gMapObjectPic_Wally_0[] = INCBIN_U32("graphics/map_objects/pics/people/wally/0.4bpp"); -const u32 gMapObjectPic_Wally_1[] = INCBIN_U32("graphics/map_objects/pics/people/wally/1.4bpp"); -const u32 gMapObjectPic_Wally_2[] = INCBIN_U32("graphics/map_objects/pics/people/wally/2.4bpp"); -const u32 gMapObjectPic_Wally_3[] = INCBIN_U32("graphics/map_objects/pics/people/wally/3.4bpp"); -const u32 gMapObjectPic_Wally_4[] = INCBIN_U32("graphics/map_objects/pics/people/wally/4.4bpp"); -const u32 gMapObjectPic_Wally_5[] = INCBIN_U32("graphics/map_objects/pics/people/wally/5.4bpp"); -const u32 gMapObjectPic_Wally_6[] = INCBIN_U32("graphics/map_objects/pics/people/wally/6.4bpp"); -const u32 gMapObjectPic_Wally_7[] = INCBIN_U32("graphics/map_objects/pics/people/wally/7.4bpp"); -const u32 gMapObjectPic_Wally_8[] = INCBIN_U32("graphics/map_objects/pics/people/wally/8.4bpp"); -const u32 gMapObjectPic_LittleBoy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/0.4bpp"); -const u32 gMapObjectPic_LittleBoy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/1.4bpp"); -const u32 gMapObjectPic_LittleBoy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/2.4bpp"); -const u32 gMapObjectPic_LittleBoy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/3.4bpp"); -const u32 gMapObjectPic_LittleBoy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/4.4bpp"); -const u32 gMapObjectPic_LittleBoy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/5.4bpp"); -const u32 gMapObjectPic_LittleBoy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/6.4bpp"); -const u32 gMapObjectPic_LittleBoy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/7.4bpp"); -const u32 gMapObjectPic_LittleBoy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/8.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/0.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/1.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/2.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/3.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/4.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/5.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/6.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/7.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/8.4bpp"); -const u32 gMapObjectPic_LatiasLatios_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/0.4bpp"); -const u32 gMapObjectPic_LatiasLatios_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/1.4bpp"); -const u32 gMapObjectPic_LatiasLatios_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/2.4bpp"); -const u32 gMapObjectPic_Boy5_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/0.4bpp"); -const u32 gMapObjectPic_Boy5_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/1.4bpp"); -const u32 gMapObjectPic_Boy5_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/2.4bpp"); -const u32 gMapObjectPic_ContestJudge_0[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/0.4bpp"); -const u32 gMapObjectPic_ContestJudge_1[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/1.4bpp"); -const u32 gMapObjectPic_ContestJudge_2[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/2.4bpp"); -const u32 gMapObjectPic_ContestJudge_3[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/3.4bpp"); -const u32 gMapObjectPic_ContestJudge_4[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/4.4bpp"); -const u32 gMapObjectPic_ContestJudge_5[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/5.4bpp"); -const u32 gMapObjectPic_ContestJudge_6[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/6.4bpp"); -const u32 gMapObjectPic_ContestJudge_7[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/7.4bpp"); -const u32 gMapObjectPic_ContestJudge_8[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/8.4bpp"); -const u32 gMapObjectPic_Archie_0[] = INCBIN_U32("graphics/map_objects/pics/people/archie/0.4bpp"); -const u32 gMapObjectPic_Archie_1[] = INCBIN_U32("graphics/map_objects/pics/people/archie/1.4bpp"); -const u32 gMapObjectPic_Archie_2[] = INCBIN_U32("graphics/map_objects/pics/people/archie/2.4bpp"); -const u32 gMapObjectPic_Archie_3[] = INCBIN_U32("graphics/map_objects/pics/people/archie/3.4bpp"); -const u32 gMapObjectPic_Archie_4[] = INCBIN_U32("graphics/map_objects/pics/people/archie/4.4bpp"); -const u32 gMapObjectPic_Archie_5[] = INCBIN_U32("graphics/map_objects/pics/people/archie/5.4bpp"); -const u32 gMapObjectPic_Archie_6[] = INCBIN_U32("graphics/map_objects/pics/people/archie/6.4bpp"); -const u32 gMapObjectPic_Archie_7[] = INCBIN_U32("graphics/map_objects/pics/people/archie/7.4bpp"); -const u32 gMapObjectPic_Archie_8[] = INCBIN_U32("graphics/map_objects/pics/people/archie/8.4bpp"); -const u32 gMapObjectPic_Maxie_0[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/0.4bpp"); -const u32 gMapObjectPic_Maxie_1[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/1.4bpp"); -const u32 gMapObjectPic_Maxie_2[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/2.4bpp"); -const u32 gMapObjectPic_Maxie_3[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/3.4bpp"); -const u32 gMapObjectPic_Maxie_4[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/4.4bpp"); -const u32 gMapObjectPic_Maxie_5[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/5.4bpp"); -const u32 gMapObjectPic_Maxie_6[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/6.4bpp"); -const u32 gMapObjectPic_Maxie_7[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/7.4bpp"); -const u32 gMapObjectPic_Maxie_8[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/8.4bpp"); -const u32 gMapObjectPic_Kyogre_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre/0.4bpp"); -const u32 gMapObjectPic_Kyogre_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre/1.4bpp"); -const u32 gMapObjectPic_Groudon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon/0.4bpp"); -const u32 gMapObjectPic_Groudon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon/1.4bpp"); -const u32 gMapObjectPic_Regi[] = INCBIN_U32("graphics/map_objects/pics/pokemon/regi.4bpp"); -const u32 gMapObjectPic_Skitty_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/0.4bpp"); -const u32 gMapObjectPic_Skitty_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/1.4bpp"); -const u32 gMapObjectPic_Skitty_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/2.4bpp"); -const u32 gMapObjectPic_Kecleon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/0.4bpp"); -const u32 gMapObjectPic_Kecleon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/1.4bpp"); -const u32 gMapObjectPic_Kecleon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/2.4bpp"); -const u32 gMapObjectPic_Rayquaza_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/0.4bpp"); -const u32 gMapObjectPic_Rayquaza_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/1.4bpp"); -const u32 gMapObjectPic_Zigzagoon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/0.4bpp"); -const u32 gMapObjectPic_Zigzagoon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/1.4bpp"); -const u32 gMapObjectPic_Zigzagoon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/2.4bpp"); -const u32 gMapObjectPic_Pikachu_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/0.4bpp"); -const u32 gMapObjectPic_Pikachu_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/1.4bpp"); -const u32 gMapObjectPic_Pikachu_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/2.4bpp"); -const u32 gMapObjectPic_Azumarill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/0.4bpp"); -const u32 gMapObjectPic_Azumarill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/1.4bpp"); -const u32 gMapObjectPic_Azumarill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/2.4bpp"); -const u32 gMapObjectPic_Wingull_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/0.4bpp"); -const u32 gMapObjectPic_Wingull_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/3.4bpp"); -const u32 gMapObjectPic_Wingull_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/1.4bpp"); -const u32 gMapObjectPic_Wingull_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/4.4bpp"); -const u32 gMapObjectPic_Wingull_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/2.4bpp"); -const u32 gMapObjectPic_Wingull_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/5.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/0.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/1.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/2.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/3.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/4.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/5.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/6.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/7.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/8.4bpp"); -const u32 gMapObjectPic_Azurill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/0.4bpp"); -const u32 gMapObjectPic_Azurill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/1.4bpp"); -const u32 gMapObjectPic_Azurill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/2.4bpp"); -const u32 gMapObjectPic_Mom_0[] = INCBIN_U32("graphics/map_objects/pics/people/mom/0.4bpp"); -const u32 gMapObjectPic_Mom_1[] = INCBIN_U32("graphics/map_objects/pics/people/mom/1.4bpp"); -const u32 gMapObjectPic_Mom_2[] = INCBIN_U32("graphics/map_objects/pics/people/mom/2.4bpp"); -const u32 gMapObjectPic_Mom_3[] = INCBIN_U32("graphics/map_objects/pics/people/mom/3.4bpp"); -const u32 gMapObjectPic_Mom_4[] = INCBIN_U32("graphics/map_objects/pics/people/mom/4.4bpp"); -const u32 gMapObjectPic_Mom_5[] = INCBIN_U32("graphics/map_objects/pics/people/mom/5.4bpp"); -const u32 gMapObjectPic_Mom_6[] = INCBIN_U32("graphics/map_objects/pics/people/mom/6.4bpp"); -const u32 gMapObjectPic_Mom_7[] = INCBIN_U32("graphics/map_objects/pics/people/mom/7.4bpp"); -const u32 gMapObjectPic_Mom_8[] = INCBIN_U32("graphics/map_objects/pics/people/mom/8.4bpp"); -const u16 gMapObjectPalette22[] = INCBIN_U16("graphics/map_objects/palettes/22.gbapal"); -const u16 gMapObjectPalette23[] = INCBIN_U16("graphics/map_objects/palettes/23.gbapal"); -const u16 gMapObjectPalette24[] = INCBIN_U16("graphics/map_objects/palettes/24.gbapal"); -const u16 gMapObjectPalette25[] = INCBIN_U16("graphics/map_objects/palettes/25.gbapal"); -const u32 gMapObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_natu_doll.4bpp"); -const u32 gMapObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_magnemite_doll.4bpp"); -const u32 gMapObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_squirtle_doll.4bpp"); -const u32 gMapObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_wooper_doll.4bpp"); -const u32 gMapObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_pikachu_doll.4bpp"); -const u32 gMapObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_porygon2_doll.4bpp"); -const u32 gMapObjectPic_PichuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pichu_doll.4bpp"); -const u32 gMapObjectPic_PikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pikachu_doll.4bpp"); -const u32 gMapObjectPic_MarillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/marill_doll.4bpp"); -const u32 gMapObjectPic_TogepiDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/togepi_doll.4bpp"); -const u32 gMapObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/cyndaquil_doll.4bpp"); -const u32 gMapObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/chikorita_doll.4bpp"); -const u32 gMapObjectPic_TotodileDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/totodile_doll.4bpp"); -const u32 gMapObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/jigglypuff_doll.4bpp"); -const u32 gMapObjectPic_MeowthDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/meowth_doll.4bpp"); -const u32 gMapObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/clefairy_doll.4bpp"); -const u32 gMapObjectPic_DittoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/ditto_doll.4bpp"); -const u32 gMapObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/smoochum_doll.4bpp"); -const u32 gMapObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/treecko_doll.4bpp"); -const u32 gMapObjectPic_TorchicDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/torchic_doll.4bpp"); -const u32 gMapObjectPic_MudkipDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/mudkip_doll.4bpp"); -const u32 gMapObjectPic_DuskullDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/duskull_doll.4bpp"); -const u32 gMapObjectPic_WynautDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/wynaut_doll.4bpp"); -const u32 gMapObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/baltoy_doll.4bpp"); -const u32 gMapObjectPic_KecleonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/kecleon_doll.4bpp"); -const u32 gMapObjectPic_AzurillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/azurill_doll.4bpp"); -const u32 gMapObjectPic_SkittyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/skitty_doll.4bpp"); -const u32 gMapObjectPic_SwabluDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/swablu_doll.4bpp"); -const u32 gMapObjectPic_GulpinDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/gulpin_doll.4bpp"); -const u32 gMapObjectPic_LotadDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/lotad_doll.4bpp"); -const u32 gMapObjectPic_SeedotDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/seedot_doll.4bpp"); -const u32 gMapObjectPic_PikaCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/pika_cushion.4bpp"); -const u32 gMapObjectPic_RoundCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/round_cushion.4bpp"); -const u32 gMapObjectPic_KissCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/kiss_cushion.4bpp"); -const u32 gMapObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/zigzag_cushion.4bpp"); -const u32 gMapObjectPic_SpinCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/spin_cushion.4bpp"); -const u32 gMapObjectPic_DiamondCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/diamond_cushion.4bpp"); -const u32 gMapObjectPic_BallCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/ball_cushion.4bpp"); -const u32 gMapObjectPic_GrassCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/grass_cushion.4bpp"); -const u32 gMapObjectPic_FireCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/fire_cushion.4bpp"); -const u32 gMapObjectPic_WaterCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/water_cushion.4bpp"); -const u32 gMapObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_snorlax_doll.4bpp"); -const u32 gMapObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_rhydon_doll.4bpp"); -const u32 gMapObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_lapras_doll.4bpp"); -const u32 gMapObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_venusaur_doll.4bpp"); -const u32 gMapObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_charizard_doll.4bpp"); -const u32 gMapObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_blastoise_doll.4bpp"); -const u32 gMapObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_wailmer_doll.4bpp"); -const u32 gMapObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regirock_doll.4bpp"); -const u32 gMapObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regice_doll.4bpp"); -const u32 gMapObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_registeel_doll.4bpp"); -const u32 gMapObjectPic_CuttableTree_0[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/0.4bpp"); -const u32 gMapObjectPic_CuttableTree_1[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/1.4bpp"); -const u32 gMapObjectPic_CuttableTree_2[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/2.4bpp"); -const u32 gMapObjectPic_CuttableTree_3[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/3.4bpp"); -const u32 gMapObjectPic_BreakableRock_0[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/0.4bpp"); -const u32 gMapObjectPic_BreakableRock_1[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/1.4bpp"); -const u32 gMapObjectPic_BreakableRock_2[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/2.4bpp"); -const u32 gMapObjectPic_BreakableRock_3[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/3.4bpp"); -const u32 gMapObjectPic_PushableBoulder[] = INCBIN_U32("graphics/map_objects/pics/misc/pushable_boulder.4bpp"); -const u32 gMapObjectPic_MrBrineysBoat_0[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/0.4bpp"); -const u32 gMapObjectPic_MrBrineysBoat_1[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/1.4bpp"); -const u32 gMapObjectPic_MrBrineysBoat_2[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/2.4bpp"); -const u32 gMapObjectPic_Fossil[] = INCBIN_U32("graphics/map_objects/pics/misc/fossil.4bpp"); -const u32 gMapObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/map_objects/pics/misc/submarine_shadow.4bpp"); -const u16 gMapObjectPalette26[] = INCBIN_U16("graphics/map_objects/palettes/26.gbapal"); -const u32 gMapObjectPic_Truck[] = INCBIN_U32("graphics/map_objects/pics/misc/truck.4bpp"); -const u16 gMapObjectPalette14[] = INCBIN_U16("graphics/map_objects/palettes/14.gbapal"); -const u32 gMapObjectPic_MachokeCarryingBox_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/0.4bpp"); -const u32 gMapObjectPic_MachokeCarryingBox_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/1.4bpp"); -const u32 gMapObjectPic_MachokeCarryingBox_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/2.4bpp"); -const u32 gMapObjectPic_MachokeFacingAway_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_facing_away/0.4bpp"); -const u32 gMapObjectPic_MachokeFacingAway_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_facing_away/1.4bpp"); -const u16 gMapObjectPalette15[] = INCBIN_U16("graphics/map_objects/palettes/15.gbapal"); -const u32 gMapObjectPic_BirchsBag[] = INCBIN_U32("graphics/map_objects/pics/misc/birchs_bag.4bpp"); -const u32 gMapObjectPic_Poochyena_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/0.4bpp"); -const u32 gMapObjectPic_Poochyena_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/1.4bpp"); -const u32 gMapObjectPic_Poochyena_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/2.4bpp"); -const u32 gMapObjectPic_Poochyena_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/3.4bpp"); -const u32 gMapObjectPic_Poochyena_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/4.4bpp"); -const u32 gMapObjectPic_Poochyena_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/5.4bpp"); -const u32 gMapObjectPic_Poochyena_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/6.4bpp"); -const u32 gMapObjectPic_Poochyena_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/7.4bpp"); -const u32 gMapObjectPic_Poochyena_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/8.4bpp"); -const u16 gMapObjectPalette16[] = INCBIN_U16("graphics/map_objects/palettes/16.gbapal"); -const u32 gMapObjectPic_CableCar[] = INCBIN_U32("graphics/map_objects/pics/misc/cable_car.4bpp"); -const u16 gMapObjectPalette20[] = INCBIN_U16("graphics/map_objects/palettes/20.gbapal"); -const u32 gMapObjectPic_SSTidal[] = INCBIN_U32("graphics/map_objects/pics/misc/ss_tidal.4bpp"); -const u16 gMapObjectPalette21[] = INCBIN_U16("graphics/map_objects/palettes/21.gbapal"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/0.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/1.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/2.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/3.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/4.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/5.4bpp"); -const u32 gMapObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/dirt_pile.4bpp"); -const u32 gMapObjectPic_BerryTreeSprout_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/0.4bpp"); -const u32 gMapObjectPic_BerryTreeSprout_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/1.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/0.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/1.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/2.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/3.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/4.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/5.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/0.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/1.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/2.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/3.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/4.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/5.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/0.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/1.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/2.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/3.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/4.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/5.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/0.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/1.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/2.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/3.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/4.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/5.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/0.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/1.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/2.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/3.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/4.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/5.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/0.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/1.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/2.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/3.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/4.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/5.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/0.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/1.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/2.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/3.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/4.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/5.4bpp"); -const u32 gMapObjectPic_LumBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/0.4bpp"); -const u32 gMapObjectPic_LumBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/1.4bpp"); -const u32 gMapObjectPic_LumBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/2.4bpp"); -const u32 gMapObjectPic_LumBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/3.4bpp"); -const u32 gMapObjectPic_LumBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/4.4bpp"); -const u32 gMapObjectPic_LumBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/5.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/0.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/1.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/2.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/3.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/4.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/5.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/0.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/1.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/2.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/3.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/4.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/5.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/0.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/1.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/2.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/3.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/4.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/5.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/0.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/1.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/2.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/3.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/4.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/5.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/0.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/1.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/2.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/3.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/4.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/5.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/0.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/1.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/2.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/3.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/4.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/5.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/0.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/1.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/2.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/3.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/4.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/5.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/0.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/1.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/2.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/3.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/4.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/5.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/0.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/1.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/2.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/3.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/4.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/5.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/0.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/1.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/2.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/3.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/4.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/5.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/0.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/1.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/2.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/3.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/4.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/5.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/0.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/1.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/2.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/3.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/4.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/5.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/0.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/1.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/2.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/3.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/4.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/5.4bpp"); -const u32 gMapObjectPic_OranBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/0.4bpp"); -const u32 gMapObjectPic_OranBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/1.4bpp"); -const u32 gMapObjectPic_OranBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/2.4bpp"); -const u32 gMapObjectPic_OranBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/3.4bpp"); -const u32 gMapObjectPic_OranBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/4.4bpp"); -const u32 gMapObjectPic_OranBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/5.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/0.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/1.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/2.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/3.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/4.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/5.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/0.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/1.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/2.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/3.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/4.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/5.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/0.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/1.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/2.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/3.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/4.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/5.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/0.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/1.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/2.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/3.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/4.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/5.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/0.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/1.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/2.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/3.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/4.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/5.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/0.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/1.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/2.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/3.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/4.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/5.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/0.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/1.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/2.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/3.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/4.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/5.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/0.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/1.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/2.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/3.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/4.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/5.4bpp"); -const u32 gFieldEffectPic_SurfBlob_0[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/0.4bpp"); -const u32 gFieldEffectPic_SurfBlob_1[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/1.4bpp"); -const u32 gFieldEffectPic_SurfBlob_2[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/2.4bpp"); -const u32 gMapObjectPic_QuintyPlump_0[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/0.4bpp"); -const u32 gMapObjectPic_QuintyPlump_1[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/1.4bpp"); -const u32 gMapObjectPic_QuintyPlump_2[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/2.4bpp"); -const u32 gMapObjectPic_QuintyPlump_3[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/3.4bpp"); -const u32 gMapObjectPic_QuintyPlump_4[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/4.4bpp"); -const u32 gMapObjectPic_QuintyPlump_5[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/5.4bpp"); -const u32 gMapObjectPic_QuintyPlump_6[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/6.4bpp"); -const u16 gMapObjectPalette12[] = INCBIN_U16("graphics/map_objects/palettes/12.gbapal"); -const u16 gMapObjectPalette13[] = INCBIN_U16("graphics/map_objects/palettes/13.gbapal"); - -const u32 gFieldEffectPic_ShadowSmall[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_small.4bpp"); -const u32 gFieldEffectPic_ShadowMedium[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_medium.4bpp"); -const u32 gFieldEffectPic_ShadowLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_large.4bpp"); -const u32 gFieldEffectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_extra_large.4bpp"); -const u32 filler_8368A08[0x48] = {}; -const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/field_effect_objects/pics/cut_grass.4bpp"); -const u32 FieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/field_effect_objects/pics/cut_grass.4bpp"); -const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/field_effect_objects/palettes/06.gbapal"); -const u32 gFieldEffectPic_Ripple_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/0.4bpp"); -const u32 gFieldEffectPic_Ripple_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/1.4bpp"); -const u32 gFieldEffectPic_Ripple_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/2.4bpp"); -const u32 gFieldEffectPic_Ripple_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/3.4bpp"); -const u32 gFieldEffectPic_Ripple_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/4.4bpp"); -const u32 gFieldEffectPic_Ash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/0.4bpp"); -const u32 gFieldEffectPic_Ash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/1.4bpp"); -const u32 gFieldEffectPic_Ash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/2.4bpp"); -const u32 gFieldEffectPic_Ash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/3.4bpp"); -const u32 gFieldEffectPic_Ash_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/4.4bpp"); -const u32 gFieldEffectPic_Arrow_0[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/0.4bpp"); -const u32 gFieldEffectPic_Arrow_1[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/1.4bpp"); -const u32 gFieldEffectPic_Arrow_2[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/2.4bpp"); -const u32 gFieldEffectPic_Arrow_3[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/3.4bpp"); -const u32 gFieldEffectPic_Arrow_4[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/4.4bpp"); -const u32 gFieldEffectPic_Arrow_5[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/5.4bpp"); -const u32 gFieldEffectPic_Arrow_6[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/6.4bpp"); -const u32 gFieldEffectPic_Arrow_7[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/7.4bpp"); -const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/field_effect_objects/palettes/00.gbapal"); -const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effect_objects/palettes/01.gbapal"); -const u32 gFieldEffectPic_Dust_0[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/0.4bpp"); -const u32 gFieldEffectPic_Dust_1[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/1.4bpp"); -const u32 gFieldEffectPic_Dust_2[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/2.4bpp"); -const u32 unknown_8369588[] = INCBIN_U32("graphics/field_effect_objects/unknown.bin"); -const u32 gFieldEffectPic_JumpTallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/0.4bpp"); -const u32 gFieldEffectPic_JumpTallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/1.4bpp"); -const u32 gFieldEffectPic_JumpTallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/2.4bpp"); -const u32 gFieldEffectPic_JumpTallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/3.4bpp"); -const u32 UnusedGrass0[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/0.4bpp"); -const u32 UnusedGrass1[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/1.4bpp"); -const u32 UnusedGrass2[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/2.4bpp"); -const u32 UnusedGrass3[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/3.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/0.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/1.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/2.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/3.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/4.4bpp"); -const u32 UnusedGrassLong[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/unused.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_5[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/5.4bpp"); -const u32 gFieldEffectPic_Unknown17_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/0.4bpp"); -const u32 gFieldEffectPic_Unknown17_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/1.4bpp"); -const u32 gFieldEffectPic_Unknown17_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/2.4bpp"); -const u32 gFieldEffectPic_Unknown17_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/3.4bpp"); -const u32 gFieldEffectPic_Unknown17_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/4.4bpp"); -const u32 gFieldEffectPic_Unknown17_5[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/5.4bpp"); -const u32 gFieldEffectPic_Unknown17_6[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/6.4bpp"); -const u32 gFieldEffectPic_Unknown17_7[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/7.4bpp"); -const u32 gFieldEffectPic_Unknown18_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/0.4bpp"); -const u32 gFieldEffectPic_Unknown18_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/1.4bpp"); -const u32 gFieldEffectPic_Unknown18_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/2.4bpp"); -const u32 gFieldEffectPic_Unknown18_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/3.4bpp"); -const u32 gFieldEffectPic_LongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/0.4bpp"); -const u32 gFieldEffectPic_LongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/1.4bpp"); -const u32 gFieldEffectPic_LongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/2.4bpp"); -const u32 gFieldEffectPic_LongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/3.4bpp"); -const u32 gFieldEffectPic_TallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/0.4bpp"); -const u32 gFieldEffectPic_TallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/1.4bpp"); -const u32 gFieldEffectPic_TallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/2.4bpp"); -const u32 gFieldEffectPic_TallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/3.4bpp"); -const u32 gFieldEffectPic_TallGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/4.4bpp"); -const u32 gFieldEffectPic_ShortGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/0.4bpp"); -const u32 gFieldEffectPic_ShortGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/1.4bpp"); -const u32 gFieldEffectPic_SandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/0.4bpp"); -const u32 gFieldEffectPic_SandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/1.4bpp"); -const u32 gFieldEffectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/0.4bpp"); -const u32 gFieldEffectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/1.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/0.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/1.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/2.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/3.4bpp"); -const u32 gFieldEffectPic_Unknown19_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/0.4bpp"); -const u32 gFieldEffectPic_Unknown19_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/1.4bpp"); -const u32 gFieldEffectPic_Unknown19_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/2.4bpp"); -const u32 gFieldEffectPic_Unknown19_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/3.4bpp"); -const u32 gFieldEffectPic_SandPile_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/0.4bpp"); -const u32 gFieldEffectPic_SandPile_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/1.4bpp"); -const u32 gFieldEffectPic_SandPile_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/2.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/0.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/1.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/2.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/3.4bpp"); -const u32 gFieldEffectPic_Splash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/0.4bpp"); -const u32 gFieldEffectPic_Splash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/1.4bpp"); -const u32 gFieldEffectPic_JumpSmallSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/0.4bpp"); -const u32 gFieldEffectPic_JumpSmallSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/1.4bpp"); -const u32 gFieldEffectPic_JumpSmallSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/2.4bpp"); -const u32 gFieldEffectPic_Unknown20_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/0.4bpp"); -const u32 gFieldEffectPic_Unknown20_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/1.4bpp"); -const u32 gFieldEffectPic_Unknown20_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/2.4bpp"); -const u32 gFieldEffectPic_Unknown20_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/3.4bpp"); -const u32 gFieldEffectPic_Unknown20_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/4.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/0.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/1.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/2.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/3.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/4.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/5.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/6.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/0.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/1.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/2.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/3.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/4.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/5.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/6.4bpp"); -const u32 gFieldEffectPic_SandDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/0.4bpp"); -const u32 gFieldEffectPic_SandDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/1.4bpp"); -const u32 gFieldEffectPic_SandDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/2.4bpp"); -const u32 gFieldEffectPic_SandDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/3.4bpp"); -const u32 gFieldEffectPic_SandDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/4.4bpp"); -const u32 gFieldEffectPic_SandDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/5.4bpp"); -const u32 gFieldEffectPic_SandDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/6.4bpp"); -const u32 gFieldEffectPic_HotSpringsWater[] = INCBIN_U32("graphics/field_effect_objects/pics/hot_springs_water.4bpp"); -const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/field_effect_objects/palettes/02.gbapal"); -const u32 gFieldEffectPic_PopOutOfAsh_0[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/0.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_1[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/1.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_2[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/2.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_3[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/3.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_4[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/4.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_0[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/0.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_1[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/1.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_2[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/2.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_3[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/3.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_4[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/4.4bpp"); -const u32 gFieldEffectPic_Bubbles_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/0.4bpp"); -const u32 gFieldEffectPic_Bubbles_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/1.4bpp"); -const u32 gFieldEffectPic_Bubbles_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/2.4bpp"); -const u32 gFieldEffectPic_Bubbles_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/3.4bpp"); -const u32 gFieldEffectPic_Bubbles_4[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/4.4bpp"); -const u32 gFieldEffectPic_Bubbles_5[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/5.4bpp"); -const u32 gFieldEffectPic_Bubbles_6[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/6.4bpp"); -const u32 gFieldEffectPic_Bubbles_7[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/7.4bpp"); -const u32 gFieldEffectPic_Sparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/0.4bpp"); -const u32 gFieldEffectPic_Sparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/1.4bpp"); -const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/field_effect_objects/palettes/03.gbapal"); -const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pics/bird.4bpp"); +#include "data/field_map_obj/map_object_graphics.h" +#include "data/field_map_obj/field_effect_object_graphics.h" // movement type callbacks static void (*const sMovementTypeCallbacks[])(struct Sprite *) = @@ -1992,148 +569,148 @@ const u8 gMoveDirectionFastAnimNums[] = { 9, // DIR_NORTHEAST }; const u8 gMoveDirectionFasterAnimNums[] = { - 12, // DIR_NONE - 12, // DIR_SOUTH - 13, // DIR_NORTH - 14, // DIR_WEST - 15, // DIR_EAST - 12, // DIR_SOUTHWEST - 12, // DIR_SOUTHEAST - 13, // DIR_NORTHWEST - 13, // DIR_NORTHEAST + 12, // DIR_NONE + 12, // DIR_SOUTH + 13, // DIR_NORTH + 14, // DIR_WEST + 15, // DIR_EAST + 12, // DIR_SOUTHWEST + 12, // DIR_SOUTHEAST + 13, // DIR_NORTHWEST + 13, // DIR_NORTHEAST }; const u8 gMoveDirectionFastestAnimNums[] = { - 16, // DIR_NONE - 16, // DIR_SOUTH - 17, // DIR_NORTH - 18, // DIR_WEST - 19, // DIR_EAST - 16, // DIR_SOUTHWEST - 16, // DIR_SOUTHEAST - 17, // DIR_NORTHWEST - 17, // DIR_NORTHEAST + 16, // DIR_NONE + 16, // DIR_SOUTH + 17, // DIR_NORTH + 18, // DIR_WEST + 19, // DIR_EAST + 16, // DIR_SOUTHWEST + 16, // DIR_SOUTHEAST + 17, // DIR_NORTHWEST + 17, // DIR_NORTHEAST }; const u8 gJumpSpecialDirectionAnimNums[] = { // used for jumping onto surf mon - 20, // DIR_NONE - 20, // DIR_SOUTH - 21, // DIR_NORTH - 22, // DIR_WEST - 23, // DIR_EAST - 20, // DIR_SOUTHWEST - 20, // DIR_SOUTHEAST - 21, // DIR_NORTHWEST - 21, // DIR_NORTHEAST + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST }; const u8 gAcroWheelieDirectionAnimNums[] = { - 20, // DIR_NONE - 20, // DIR_SOUTH - 21, // DIR_NORTH - 22, // DIR_WEST - 23, // DIR_EAST - 20, // DIR_SOUTHWEST - 20, // DIR_SOUTHEAST - 21, // DIR_NORTHWEST - 21, // DIR_NORTHEAST + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST }; const u8 gUnrefAnimNums_08375633[] = { - 24, // DIR_NONE - 24, // DIR_SOUTH - 25, // DIR_NORTH - 26, // DIR_WEST - 27, // DIR_EAST - 24, // DIR_SOUTHWEST - 24, // DIR_SOUTHEAST - 25, // DIR_NORTHWEST - 25, // DIR_NORTHEAST + 24, // DIR_NONE + 24, // DIR_SOUTH + 25, // DIR_NORTH + 26, // DIR_WEST + 27, // DIR_EAST + 24, // DIR_SOUTHWEST + 24, // DIR_SOUTHEAST + 25, // DIR_NORTHWEST + 25, // DIR_NORTHEAST }; const u8 gAcroEndWheelieDirectionAnimNums[] = { - 28, // DIR_NONE - 28, // DIR_SOUTH - 29, // DIR_NORTH - 30, // DIR_WEST - 31, // DIR_EAST - 28, // DIR_SOUTHWEST - 28, // DIR_SOUTHEAST - 29, // DIR_NORTHWEST - 29, // DIR_NORTHEAST + 28, // DIR_NONE + 28, // DIR_SOUTH + 29, // DIR_NORTH + 30, // DIR_WEST + 31, // DIR_EAST + 28, // DIR_SOUTHWEST + 28, // DIR_SOUTHEAST + 29, // DIR_NORTHWEST + 29, // DIR_NORTHEAST }; const u8 gAcroUnusedActionDirectionAnimNums[] = { - 32, // DIR_NONE - 32, // DIR_SOUTH - 33, // DIR_NORTH - 34, // DIR_WEST - 35, // DIR_EAST - 32, // DIR_SOUTHWEST - 32, // DIR_SOUTHEAST - 33, // DIR_NORTHWEST - 33, // DIR_NORTHEAST + 32, // DIR_NONE + 32, // DIR_SOUTH + 33, // DIR_NORTH + 34, // DIR_WEST + 35, // DIR_EAST + 32, // DIR_SOUTHWEST + 32, // DIR_SOUTHEAST + 33, // DIR_NORTHWEST + 33, // DIR_NORTHEAST }; const u8 gAcroWheeliePedalDirectionAnimNums[] = { - 36, // DIR_NONE - 36, // DIR_SOUTH - 37, // DIR_NORTH - 38, // DIR_WEST - 39, // DIR_EAST - 36, // DIR_SOUTHWEST - 36, // DIR_SOUTHEAST - 37, // DIR_NORTHWEST - 37, // DIR_NORTHEAST + 36, // DIR_NONE + 36, // DIR_SOUTH + 37, // DIR_NORTH + 38, // DIR_WEST + 39, // DIR_EAST + 36, // DIR_SOUTHWEST + 36, // DIR_SOUTHEAST + 37, // DIR_NORTHWEST + 37, // DIR_NORTHEAST }; const u8 gFishingDirectionAnimNums[] = { - 0, // DIR_NONE - 0, // DIR_SOUTH - 1, // DIR_NORTH - 2, // DIR_WEST - 3, // DIR_EAST - 0, // DIR_SOUTHWEST - 0, // DIR_SOUTHEAST - 1, // DIR_NORTHWEST - 1, // DIR_NORTHEAST + 0, // DIR_NONE + 0, // DIR_SOUTH + 1, // DIR_NORTH + 2, // DIR_WEST + 3, // DIR_EAST + 0, // DIR_SOUTHWEST + 0, // DIR_SOUTHEAST + 1, // DIR_NORTHWEST + 1, // DIR_NORTHEAST }; const u8 gFishingNoCatchDirectionAnimNums[] = { - 4, // DIR_NONE - 4, // DIR_SOUTH - 5, // DIR_NORTH - 6, // DIR_WEST - 7, // DIR_EAST - 4, // DIR_SOUTHWEST - 4, // DIR_SOUTHEAST - 5, // DIR_NORTHWEST - 5, // DIR_NORTHEAST + 4, // DIR_NONE + 4, // DIR_SOUTH + 5, // DIR_NORTH + 6, // DIR_WEST + 7, // DIR_EAST + 4, // DIR_SOUTHWEST + 4, // DIR_SOUTHEAST + 5, // DIR_NORTHWEST + 5, // DIR_NORTHEAST }; const u8 gFishingBiteDirectionAnimNums[] = { - 8, // DIR_NONE - 8, // DIR_SOUTH - 9, // DIR_NORTH - 10, // DIR_WEST - 11, // DIR_EAST - 8, // DIR_SOUTHWEST - 8, // DIR_SOUTHEAST - 9, // DIR_NORTHWEST - 9, // DIR_NORTHEAST + 8, // DIR_NONE + 8, // DIR_SOUTH + 9, // DIR_NORTH + 10, // DIR_WEST + 11, // DIR_EAST + 8, // DIR_SOUTHWEST + 8, // DIR_SOUTHEAST + 9, // DIR_NORTHWEST + 9, // DIR_NORTHEAST }; const u8 gRunningDirectionAnimNums[] = { - 20, // DIR_NONE - 20, // DIR_SOUTH - 21, // DIR_NORTH - 22, // DIR_WEST - 23, // DIR_EAST - 20, // DIR_SOUTHWEST - 20, // DIR_SOUTHEAST - 21, // DIR_NORTHWEST - 21, // DIR_NORTHEAST + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST }; const u8 gTrainerFacingDirectionMovementTypes[] = { - MOVEMENT_TYPE_FACE_DOWN, // DIR_NONE - MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTH - MOVEMENT_TYPE_FACE_UP, // DIR_NORTH - MOVEMENT_TYPE_FACE_LEFT, // DIR_WEST - MOVEMENT_TYPE_FACE_RIGHT, // DIR_EAST - MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHWEST - MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHEAST - MOVEMENT_TYPE_FACE_UP, // DIR_NORTHWEST - MOVEMENT_TYPE_FACE_UP, // DIR_NORTHEAST + MOVEMENT_TYPE_FACE_DOWN, // DIR_NONE + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTH + MOVEMENT_TYPE_FACE_UP, // DIR_NORTH + MOVEMENT_TYPE_FACE_LEFT, // DIR_WEST + MOVEMENT_TYPE_FACE_RIGHT, // DIR_EAST + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHWEST + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHEAST + MOVEMENT_TYPE_FACE_UP, // DIR_NORTHWEST + MOVEMENT_TYPE_FACE_UP, // DIR_NORTHEAST }; bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = { @@ -2184,172 +761,172 @@ const u8 gWalkNormalMovementActions[] = { MOVEMENT_ACTION_WALK_NORMAL_RIGHT, }; const u8 gWalkFastMovementActions[] = { - MOVEMENT_ACTION_WALK_FAST_DOWN, - MOVEMENT_ACTION_WALK_FAST_DOWN, - MOVEMENT_ACTION_WALK_FAST_UP, - MOVEMENT_ACTION_WALK_FAST_LEFT, - MOVEMENT_ACTION_WALK_FAST_RIGHT, + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_UP, + MOVEMENT_ACTION_WALK_FAST_LEFT, + MOVEMENT_ACTION_WALK_FAST_RIGHT, }; const u8 gRideWaterCurrentMovementActions[] = { - MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, - MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, }; const u8 gWalkFastestMovementActions[] = { - MOVEMENT_ACTION_WALK_FASTEST_DOWN, - MOVEMENT_ACTION_WALK_FASTEST_DOWN, - MOVEMENT_ACTION_WALK_FASTEST_UP, - MOVEMENT_ACTION_WALK_FASTEST_LEFT, - MOVEMENT_ACTION_WALK_FASTEST_RIGHT, + MOVEMENT_ACTION_WALK_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_FASTEST_UP, + MOVEMENT_ACTION_WALK_FASTEST_LEFT, + MOVEMENT_ACTION_WALK_FASTEST_RIGHT, }; const u8 gSlideMovementActions[] = { - MOVEMENT_ACTION_SLIDE_DOWN, - MOVEMENT_ACTION_SLIDE_DOWN, - MOVEMENT_ACTION_SLIDE_UP, - MOVEMENT_ACTION_SLIDE_LEFT, - MOVEMENT_ACTION_SLIDE_RIGHT, + MOVEMENT_ACTION_SLIDE_DOWN, + MOVEMENT_ACTION_SLIDE_DOWN, + MOVEMENT_ACTION_SLIDE_UP, + MOVEMENT_ACTION_SLIDE_LEFT, + MOVEMENT_ACTION_SLIDE_RIGHT, }; const u8 gPlayerRunMovementActions[] = { - MOVEMENT_ACTION_PLAYER_RUN_DOWN, - MOVEMENT_ACTION_PLAYER_RUN_DOWN, - MOVEMENT_ACTION_PLAYER_RUN_UP, - MOVEMENT_ACTION_PLAYER_RUN_LEFT, - MOVEMENT_ACTION_PLAYER_RUN_RIGHT, + MOVEMENT_ACTION_PLAYER_RUN_DOWN, + MOVEMENT_ACTION_PLAYER_RUN_DOWN, + MOVEMENT_ACTION_PLAYER_RUN_UP, + MOVEMENT_ACTION_PLAYER_RUN_LEFT, + MOVEMENT_ACTION_PLAYER_RUN_RIGHT, }; const u8 gJump2MovementActions[] = { - MOVEMENT_ACTION_JUMP_2_DOWN, - MOVEMENT_ACTION_JUMP_2_DOWN, - MOVEMENT_ACTION_JUMP_2_UP, - MOVEMENT_ACTION_JUMP_2_LEFT, - MOVEMENT_ACTION_JUMP_2_RIGHT, + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_UP, + MOVEMENT_ACTION_JUMP_2_LEFT, + MOVEMENT_ACTION_JUMP_2_RIGHT, }; const u8 gJumpInPlaceMovementActions[] = { - MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, - MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, - MOVEMENT_ACTION_JUMP_IN_PLACE_UP, - MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT, - MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT, + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_UP, + MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT, + MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT, }; const u8 gJumpInPlaceTurnAroundMovementActions[] = { - MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, - MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, - MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP, - MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT, - MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT, + MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP, + MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT, + MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT, }; const u8 gJumpMovementActions[] = { - MOVEMENT_ACITON_JUMP_DOWN, - MOVEMENT_ACITON_JUMP_DOWN, - MOVEMENT_ACITON_JUMP_UP, - MOVEMENT_ACITON_JUMP_LEFT, - MOVEMENT_ACITON_JUMP_RIGHT, + MOVEMENT_ACITON_JUMP_DOWN, + MOVEMENT_ACITON_JUMP_DOWN, + MOVEMENT_ACITON_JUMP_UP, + MOVEMENT_ACITON_JUMP_LEFT, + MOVEMENT_ACITON_JUMP_RIGHT, }; const u8 gJumpSpecialMovementActions[] = { - MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, - MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, - MOVEMENT_ACTION_JUMP_SPECIAL_UP, - MOVEMENT_ACTION_JUMP_SPECIAL_LEFT, - MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT, + MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, + MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, + MOVEMENT_ACTION_JUMP_SPECIAL_UP, + MOVEMENT_ACTION_JUMP_SPECIAL_LEFT, + MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT, }; const u8 gWalkInPlaceSlowMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, }; const u8 gWalkInPlaceNormalMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, }; const u8 gWalkInPlaceFastMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, }; const u8 gWalkInPlaceFastestMovementActions[] = { - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT, - MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT, }; const u8 gAcroWheelieFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, }; const u8 gAcroPopWheelieFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, }; const u8 gAcroEndWheelieFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, }; const u8 gAcroWheelieHopFaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, }; const u8 gAcroWheelieHopDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, }; const u8 gAcroWheelieJumpDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, }; const u8 gAcroWheelieInPlaceDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, }; const u8 gAcroPopWheelieMoveDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, }; const u8 gAcroWheelieMoveDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, }; const u8 gAcroEndWheelieMoveDirectionMovementActions[] = { - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, - MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, }; const u8 gOppositeDirections[] = { @@ -2379,30 +956,18 @@ const u8 gUnknown_08375767[][4] = { #include "data/field_map_obj/movement_action_func_tables.h" -// text - -extern void strange_npc_table_clear(void); -extern void ClearPlayerAvatarInfo(void); -extern void npc_load_two_palettes__no_record(u16, u8); -extern void npc_load_two_palettes__and_record(u16, u8); -extern void sub_8060388(s16, s16, s16 *, s16 *); -void sub_80634D0(struct MapObject *, struct Sprite *); -extern void pal_patch_for_npc(u16, u16); -extern void CameraObjectReset1(void); +static u8 gUnknown_030005A4; +static u16 gUnknown_030005A6; extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; extern u8 gReservedSpritePaletteCount; extern struct Camera gCamera; - -static u8 gUnknown_030005A4; -static u16 gUnknown_030005A6; - -struct MapObject gMapObjects[16]; +extern struct MapObject gMapObjects[16]; #if DEBUG u8 gUnknown_Debug_03004BC0; #endif -void npc_clear_ids_and_state(struct MapObject *mapObj) +static void ClearMapObject(struct MapObject *mapObj) { memset(mapObj, 0, sizeof(struct MapObject)); mapObj->localId = 0xFF; @@ -2411,53 +976,49 @@ void npc_clear_ids_and_state(struct MapObject *mapObj) mapObj->movementActionId = 0xFF; } -void npcs_clear_ids_and_state(void) +static void ClearAllMapObjects(void) { u8 i; for (i = 0; i < 16; i++) - npc_clear_ids_and_state(&gMapObjects[i]); + ClearMapObject(&gMapObjects[i]); #if DEBUG - gUnknown_Debug_03004BC0 = 0; + gUnknown_Debug_03004BC0 = 0; #endif } void sub_805AA98(void) { - strange_npc_table_clear(); - npcs_clear_ids_and_state(); + ClearLinkPlayerMapObjects(); + ClearAllMapObjects(); ClearPlayerAvatarInfo(); sub_805AAB0(); } void sub_805AAB0(void) { - u8 spriteId; - - spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); - + u8 spriteId = spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); gSprites[spriteId].oam.affineMode = 1; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 0); gSprites[spriteId].invisible = 1; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); - gSprites[spriteId].oam.affineMode = 1; InitSpriteAffineAnim(&gSprites[spriteId]); StartSpriteAffineAnim(&gSprites[spriteId], 1); gSprites[spriteId].invisible = 1; } -u8 sub_805AB54(void) +u8 GetFirstInactiveMapObjectId(void) { u8 i; - for (i = 0; i < 16; i++) { if (!gMapObjects[i].active) break; } + return i; } @@ -2481,51 +1042,51 @@ bool8 TryGetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 u8 GetFieldObjectIdByXY(s16 x, s16 y) { u8 i; - for (i = 0; i < 16; i++) { if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) break; } + return i; } u8 GetFieldObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroup) { u8 i; - for (i = 0; i < 16; i++) { if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) return i; } + return 16; } u8 GetFieldObjectIdByLocalId(u8 localId) { u8 i; - for (i = 0; i < 16; i++) { if (gMapObjects[i].active && gMapObjects[i].localId == localId) return i; } + return 16; } u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapNum, u8 mapGroup) { struct MapObject *mapObj; - u8 var; + u8 mapObjectId; s16 initialX; s16 initialY; - if (GetAvailableFieldObjectSlot(template->localId, mapNum, mapGroup, &var) != 0) + if (GetAvailableMapObjectId(template->localId, mapNum, mapGroup, &mapObjectId) != 0) return 16; - mapObj = (void *)&gMapObjects[var]; - npc_clear_ids_and_state((struct MapObject *)mapObj); + mapObj = (void *)&gMapObjects[mapObjectId]; + ClearMapObject((struct MapObject *)mapObj); initialX = template->x + 7; initialY = template->y + 7; mapObj->active = TRUE; @@ -2534,7 +1095,7 @@ u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 ma mapObj->movementType = template->movementType; mapObj->localId = template->localId; mapObj->mapNum = mapNum; - asm("":::"r6"); + asm("":::"r6"); mapObj->mapGroup = mapGroup; mapObj->initialCoords.x = initialX; mapObj->initialCoords.y = initialY; @@ -2546,58 +1107,62 @@ u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 ma mapObj->previousElevation = template->elevation; mapObj->range.as_nybbles.x = template->movementRangeX; mapObj->range.as_nybbles.y = template->movementRangeY; - mapObj->trainerType = template->unkC; - mapObj->trainerRange_berryTreeId = template->unkE; + mapObj->trainerType = template->trainerType; + mapObj->trainerRange_berryTreeId = template->trainerRange_berryTreeId; mapObj->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; - FieldObjectSetDirection((struct MapObject *)mapObj, mapObj->previousMovementDirection); + SetFieldObjectDirection((struct MapObject *)mapObj, mapObj->previousMovementDirection); asm("":::"r5","r6"); - FieldObjectHandleDynamicGraphicsId((struct MapObject *)mapObj); - if (gRangedMovementTypes[mapObj->movementType] != 0) + SetFieldObjectDynamicGraphicsId((struct MapObject *)mapObj); + + if (gRangedMovementTypes[mapObj->movementType]) { + // Ensure a ranged movement type has at least 1 tile of room to move. if (mapObj->range.as_nybbles.x == 0) mapObj->range.as_nybbles.x++; if (mapObj->range.as_nybbles.y == 0) mapObj->range.as_nybbles.y++; } + #if DEBUG - gUnknown_Debug_03004BC0++; + gUnknown_Debug_03004BC0++; #endif - return var; + return mapObjectId; } -u8 sub_805ADDC(u8 localId) +u8 TryInitLocalFieldObject(u8 localId) { - u8 objectCount; + u8 mapObjectCount; u8 i; if (gMapHeader.events == NULL) return 16; - objectCount = gMapHeader.events->mapObjectCount; - for (i = 0; i < objectCount; i++) + + mapObjectCount = gMapHeader.events->mapObjectCount; + for (i = 0; i < mapObjectCount; i++) { struct MapObjectTemplate *template = &gSaveBlock1.mapObjectTemplates[i]; - if (template->localId == localId && !FlagGet(template->flagId)) return TryInitFieldObjectStateFromTemplate(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } + return 16; } -u8 GetAvailableFieldObjectSlot(u16 a, u8 b, u8 c, u8 *d) +u8 GetAvailableMapObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *mapObjectId) { u8 i = 0; for (i = 0; i < 16 && gMapObjects[i].active; i++) { - if (gMapObjects[i].localId == a && gMapObjects[i].mapNum == b && gMapObjects[i].mapGroup == c) + if (gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) return 1; } if (i >= 16) return 1; - *d = i; + *mapObjectId = i; for (; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].localId == a && gMapObjects[i].mapNum == b && gMapObjects[i].mapGroup == c) + if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) return 1; } return 0; @@ -2608,7 +1173,7 @@ void RemoveFieldObject(struct MapObject *mapObject) mapObject->active = FALSE; RemoveFieldObjectInternal(mapObject); #if DEBUG - gUnknown_Debug_03004BC0--; + gUnknown_Debug_03004BC0--; #endif } @@ -2632,7 +1197,7 @@ void RemoveFieldObjectInternal(struct MapObject *mapObject) DestroySprite(&gSprites[mapObject->spriteId]); } -void npc_hide_all_but_player(void) +void RemoveAllMapObjectsExceptPlayer(void) { u8 i; @@ -2643,7 +1208,7 @@ void npc_hide_all_but_player(void) } } -u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, u8 mapNum, u8 mapGroup, s16 e, s16 f) +static u8 TrySetupMapObjectSprite(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) { u8 mapObjectId; u8 spriteId; @@ -2661,6 +1226,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * npc_load_two_palettes__no_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); else if (gfxInfo->paletteSlot == 10) npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + if (mapObject->movementType == MOVEMENT_TYPE_INVISIBLE) mapObject->invisible = TRUE; @@ -2679,7 +1245,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * return 16; } sprite = &gSprites[spriteId]; - sub_8060388(e + mapObject->currentCoords.x, f + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8060388(cameraDeltaX + mapObject->currentCoords.x, cameraDeltaY + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; @@ -2692,7 +1258,7 @@ u8 sub_805AFCC(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate * if (!mapObject->inanimate) StartSpriteAnim(sprite, GetFaceDirectionAnimNum(mapObject->facingDirection)); SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); - sub_80634D0(mapObject, sprite); + UpdateMapObjectVisibility(mapObject, sprite); return mapObjectId; } @@ -2708,7 +1274,7 @@ u8 TrySpawnFieldObject(struct MapObjectTemplate *mapObjTemplate, u8 mapNum, u8 m MakeObjectTemplateFromFieldObjectTemplate(mapObjTemplate, &spriteTemplate, &subspriteTables); spriteFrameImage.size = gfxInfo->size; spriteTemplate.images = &spriteFrameImage; - mapObjectId = sub_805AFCC(mapObjTemplate, &spriteTemplate, mapNum, mapGroup, cameraDeltaX, cameraDeltaY); + mapObjectId = TrySetupMapObjectSprite(mapObjTemplate, &spriteTemplate, mapNum, mapGroup, cameraDeltaX, cameraDeltaY); if (mapObjectId == 16) return 16; gSprites[gMapObjects[mapObjectId].spriteId].images = gfxInfo->images; @@ -2741,8 +1307,8 @@ u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementType, u8 localI mapObjTemplate.movementType = movementType; mapObjTemplate.movementRangeX = 0; mapObjTemplate.movementRangeY = 0; - mapObjTemplate.unkC = 0; - mapObjTemplate.unkE = 0; + mapObjTemplate.trainerType = 0; + mapObjTemplate.trainerRange_berryTreeId = 0; return SpawnSpecialFieldObject(&mapObjTemplate); } @@ -3059,7 +1625,7 @@ void unref_sub_805BA80(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) void FieldObjectTurn(struct MapObject *mapObject, u8 direction) { - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); if (!mapObject->inanimate) { StartSpriteAnim(&gSprites[mapObject->spriteId], GetFaceDirectionAnimNum(mapObject->facingDirection)); @@ -3112,7 +1678,7 @@ const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId) return gMapObjectGraphicsInfoPointers[graphicsId]; } -void FieldObjectHandleDynamicGraphicsId(struct MapObject *mapObject) +void SetFieldObjectDynamicGraphicsId(struct MapObject *mapObject) { if (mapObject->graphicsId > 0xEF) mapObject->graphicsId = VarGetFieldObjectGraphicsId(mapObject->graphicsId + 16); @@ -3217,12 +1783,12 @@ u8 sub_805BE58(const struct SpritePalette *palette) return LoadSpritePalette(palette); } -void pal_patch_for_npc(u16 a, u16 b) +void pal_patch_for_npc(u16 paletteTag, u16 paletteIndex) { - u8 var = b; - u8 paletteIndex = FindFieldObjectPaletteIndexByTag(a); + u8 index = paletteIndex; + u8 tagPaletteIndex = FindFieldObjectPaletteIndexByTag(paletteTag); - LoadPalette(gUnknown_0837377C[paletteIndex].data, var * 16 + 0x100, 0x20); + LoadPalette(gUnknown_0837377C[tagPaletteIndex].data, index * 16 + 0x100, 0x20); } void pal_patch_for_npc_range(const u16 *arr, u8 b, u8 c) @@ -3243,32 +1809,32 @@ u8 FindFieldObjectPaletteIndexByTag(u16 tag) return 0xFF; } -void npc_load_two_palettes__no_record(u16 a, u8 b) +void npc_load_two_palettes__no_record(u16 paletteTag, u8 paletteIndex) { u8 i; - pal_patch_for_npc(a, b); + pal_patch_for_npc(paletteTag, paletteIndex); for (i = 0; gUnknown_08373874[i].tag != 0x11FF; i++) { - if (gUnknown_08373874[i].tag == a) + if (gUnknown_08373874[i].tag == paletteTag) { - pal_patch_for_npc(gUnknown_08373874[i].data[gUnknown_030005A4], gUnknown_0830FD14[b]); + pal_patch_for_npc(gUnknown_08373874[i].data[gUnknown_030005A4], gUnknown_0830FD14[paletteIndex]); break; } } } -void npc_load_two_palettes__and_record(u16 a, u8 b) +void npc_load_two_palettes__and_record(u16 paletteTag, u8 paletteIndex) { u8 i; - gUnknown_030005A6 = a; - pal_patch_for_npc(a, b); + gUnknown_030005A6 = paletteTag; + pal_patch_for_npc(paletteTag, paletteIndex); for (i = 0; gUnknown_083738E4[i].tag != 0x11FF; i++) { - if (gUnknown_083738E4[i].tag == a) + if (gUnknown_083738E4[i].tag == paletteTag) { - pal_patch_for_npc(gUnknown_083738E4[i].data[gUnknown_030005A4], gUnknown_0830FD14[b]); + pal_patch_for_npc(gUnknown_083738E4[i].data[gUnknown_030005A4], gUnknown_0830FD14[paletteIndex]); break; } } @@ -3282,7 +1848,7 @@ void unref_sub_805C014(struct MapObject *mapObject, s16 x, s16 y) mapObject->currentCoords.y += y; } -void npc_coords_shift(struct MapObject *mapObject, s16 x, s16 y) +void ShiftMapObjectCoords(struct MapObject *mapObject, s16 x, s16 y) { mapObject->previousCoords.x = mapObject->currentCoords.x; mapObject->previousCoords.y = mapObject->currentCoords.y; @@ -3290,7 +1856,7 @@ void npc_coords_shift(struct MapObject *mapObject, s16 x, s16 y) mapObject->currentCoords.y = y; } -void npc_coords_set(struct MapObject *mapObject, s16 x, s16 y) +void SetMapObjectCoords(struct MapObject *mapObject, s16 x, s16 y) { mapObject->previousCoords.x = x; mapObject->previousCoords.y = y; @@ -3303,7 +1869,7 @@ void sub_805C058(struct MapObject *mapObject, s16 x, s16 y) struct Sprite *sprite = &gSprites[mapObject->spriteId]; const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - npc_coords_set(mapObject, x, y); + SetMapObjectCoords(mapObject, x, y); sub_80603CC(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); @@ -3326,9 +1892,9 @@ void sub_805C0F8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) } } -void npc_coords_shift_still(struct MapObject *mapObject) +void ShiftStillMapObjectCoords(struct MapObject *mapObject) { - npc_coords_shift(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); + ShiftMapObjectCoords(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); } void UpdateFieldObjectCoordsForCameraUpdate(void) @@ -3343,7 +1909,6 @@ void UpdateFieldObjectCoordsForCameraUpdate(void) deltaY = gCamera.y; for (i = 0; i < 16; i++) { - if (gMapObjects[i].active) { gMapObjects[i].initialCoords.x -= deltaX; @@ -3357,8 +1922,6 @@ void UpdateFieldObjectCoordsForCameraUpdate(void) } } -bool8 FieldObjectDoesZCoordMatch(struct MapObject *, u8); - u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) { u8 i; @@ -3366,13 +1929,13 @@ u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) for (i = 0; i < 16; i++) { if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y - && FieldObjectDoesZCoordMatch(&gMapObjects[i], z)) + && MapObjectZCoordIsCompatible(&gMapObjects[i], z)) return i; } return 16; } -bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) +static bool8 MapObjectZCoordIsCompatible(struct MapObject *mapObject, u8 z) { if (mapObject->currentElevation != 0 && z != 0 && mapObject->currentElevation != z) @@ -3381,7 +1944,7 @@ bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) return TRUE; } -void UpdateFieldObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) +void UpdateMapObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) { UpdateFieldObjectCoordsForCameraUpdate(); TrySpawnFieldObjects(cameraDeltaX, cameraDeltaY); @@ -3390,21 +1953,21 @@ void UpdateFieldObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) u8 AddCameraObject(u8 a) { - u8 spriteId = CreateSprite(&gSpriteTemplate_830FD24, 0, 0, 4); + u8 spriteId = CreateSprite(&gCameraSpriteTemplate, 0, 0, 4); gSprites[spriteId].invisible = TRUE; gSprites[spriteId].data[0] = a; return spriteId; } -void ObjectCB_CameraObject(struct Sprite *sprite) +static void ObjectCB_CameraObject(struct Sprite *sprite) { void (*cameraObjectFuncs[3])(struct Sprite *); - memcpy(cameraObjectFuncs, gCameraObjectFuncs, sizeof gCameraObjectFuncs); + memcpy(cameraObjectFuncs, gCameraObjectFuncs, sizeof(gCameraObjectFuncs)); cameraObjectFuncs[sprite->data[1]](sprite); } -void CameraObject_0(struct Sprite *sprite) +static void CameraObject_0(struct Sprite *sprite) { sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; @@ -3413,7 +1976,7 @@ void CameraObject_0(struct Sprite *sprite) CameraObject_1(sprite); } -void CameraObject_1(struct Sprite *sprite) +static void CameraObject_1(struct Sprite *sprite) { s16 x = gSprites[sprite->data[0]].pos1.x; s16 y = gSprites[sprite->data[0]].pos1.y; @@ -3424,7 +1987,7 @@ void CameraObject_1(struct Sprite *sprite) sprite->pos1.y = y; } -void CameraObject_2(struct Sprite *sprite) +static void CameraObject_2(struct Sprite *sprite) { sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; @@ -3436,7 +1999,7 @@ struct Sprite *FindCameraObject(void) { u8 i; - for (i = 0; i < 64; i++) + for (i = 0; i < MAX_SPRITES; i++) { if (gSprites[i].inUse && gSprites[i].callback == ObjectCB_CameraObject) return &gSprites[i]; @@ -3519,7 +2082,7 @@ u8 obj_unfreeze(struct Sprite *src, s16 x, s16 y, u8 subpriority) return 64; } -void FieldObjectSetDirection(struct MapObject *mapObject, u8 direction) +void SetFieldObjectDirection(struct MapObject *mapObject, u8 direction) { mapObject->previousMovementDirection = mapObject->facingDirection; if (!mapObject->facingDirectionLocked) @@ -3584,21 +2147,19 @@ u8 FieldObjectGetBerryTreeId(u8 mapObjectId) return gMapObjects[mapObjectId].trainerRange_berryTreeId; } -struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8, struct MapObjectTemplate *, u8); - struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { if (gSaveBlock1.location.mapNum == mapNum && gSaveBlock1.location.mapGroup == mapGroup) - return FindFieldObjectTemplateInArrayByLocalId(localId, gSaveBlock1.mapObjectTemplates, gMapHeader.events->mapObjectCount); + return FindFieldObjectTemplateByLocalId(localId, gSaveBlock1.mapObjectTemplates, gMapHeader.events->mapObjectCount); else { struct MapHeader *mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); - return FindFieldObjectTemplateInArrayByLocalId(localId, mapHeader->events->mapObjects, mapHeader->events->mapObjectCount); + return FindFieldObjectTemplateByLocalId(localId, mapHeader->events->mapObjects, mapHeader->events->mapObjectCount); } } -struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) +static struct MapObjectTemplate *FindFieldObjectTemplateByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) { u8 i; @@ -3610,7 +2171,7 @@ struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, st return NULL; } -struct MapObjectTemplate *sub_805C700(struct MapObject *mapObject) +static struct MapObjectTemplate *GetBaseTemplateForMapObject(struct MapObject *mapObject) { s32 i; @@ -3626,9 +2187,9 @@ struct MapObjectTemplate *sub_805C700(struct MapObject *mapObject) return NULL; } -void sub_805C754(struct MapObject *mapObject) +void OverrideTemplateCoordsForMapObject(struct MapObject *mapObject) { - struct MapObjectTemplate *template = sub_805C700(mapObject); + struct MapObjectTemplate *template = GetBaseTemplateForMapObject(mapObject); if (template != NULL) { @@ -3637,20 +2198,20 @@ void sub_805C754(struct MapObject *mapObject) } } -void sub_805C774(struct MapObject *mapObject, u8 movementType) +void OverrideMovementTypeForMapObject(struct MapObject *mapObject, u8 movementType) { - struct MapObjectTemplate *template = sub_805C700(mapObject); + struct MapObjectTemplate *template = GetBaseTemplateForMapObject(mapObject); if (template != NULL) template->movementType = movementType; } -void sub_805C78C(u8 localId, u8 mapNum, u8 mapGroup) +void TryOverrideTemplateCoordsForMapObject(u8 localId, u8 mapNum, u8 mapGroup) { u8 mapObjectId; if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - sub_805C754(&gMapObjects[mapObjectId]); + OverrideTemplateCoordsForMapObject(&gMapObjects[mapObjectId]); } void sub_805C7C4(u8 a) @@ -3678,18 +2239,16 @@ u16 npc_paltag_by_palslot(u8 a) return 0x11FF; } -fieldmap_object_empty_callback(MovementType_None, MovementType_None_Callback); -fieldmap_object_cb(MovementType_WanderAround, MovementType_WanderAround_Callback, gMovementTypeFuncs_WanderAround); +movement_type_empty_callback(MovementType_None); +movement_type_def(MovementType_WanderAround, gMovementTypeFuncs_WanderAround); u8 MovementType_WanderAround_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } -extern void FieldObjectSetSingleMovement(struct MapObject *, struct Sprite *, u8); - u8 MovementType_WanderAround_Step1(struct MapObject *mapObject, struct Sprite *sprite) { FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); @@ -3697,9 +2256,6 @@ u8 MovementType_WanderAround_Step1(struct MapObject *mapObject, struct Sprite *s return 1; } -extern u8 FieldObjectExecSingleMovementAction(struct MapObject *, struct Sprite *); -static void SetMovementDelay(struct Sprite *, s16); - u8 MovementType_WanderAround_Step2(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) @@ -3711,8 +2267,6 @@ u8 MovementType_WanderAround_Step2(struct MapObject *mapObject, struct Sprite *s return 1; } -static u8 WaitForMovementDelay(struct Sprite *); - u8 MovementType_WanderAround_Step3(struct MapObject *mapObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) @@ -3723,15 +2277,13 @@ u8 MovementType_WanderAround_Step3(struct MapObject *mapObject, struct Sprite *s return 0; } -extern u8 GetCollisionInDirection(struct MapObject *, u8); - u8 MovementType_WanderAround_Step4(struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gStandardDirections, 4); direction = directions[Random() & 3]; - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 5; if (GetCollisionInDirection(mapObject, direction) != 0) { @@ -3790,191 +2342,189 @@ u8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) return 1; } -u8 sub_805CAAC(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetVectorDirection(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - if (a2 > a3) + u8 direction; + if (xAbs > yAbs) { - dirn = DIR_EAST; - if (a0 < 0) + direction = DIR_EAST; + if (x < 0) { - dirn = DIR_WEST; + direction = DIR_WEST; } } else { - dirn = DIR_SOUTH; - if (a1 < 0) + direction = DIR_SOUTH; + if (y < 0) { - dirn = DIR_NORTH; + direction = DIR_NORTH; } } - return dirn; + return direction; } -u8 sub_805CADC(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_SouthNorth(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = DIR_SOUTH; - if (a1 < 0) + u8 direction; + direction = DIR_SOUTH; + if (y < 0) { - dirn = DIR_NORTH; + direction = DIR_NORTH; } - return dirn; + return direction; } -u8 sub_805CAEC(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_WestEast(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = DIR_EAST; - if (a0 < 0) + u8 direction; + direction = DIR_EAST; + if (x < 0) { - dirn = DIR_WEST; + direction = DIR_WEST; } - return dirn; + return direction; } -u8 sub_805CB00(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_WestNorth(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_SOUTH) + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_SOUTH) { - dirn = sub_805CAEC(a0, a1, a2, a3); - if (dirn == DIR_EAST) + direction = GetLimitedVectorDirection_WestEast(x, y, xAbs, yAbs); + if (direction == DIR_EAST) { - dirn = DIR_NORTH; + direction = DIR_NORTH; } } - else if (dirn == DIR_EAST) + else if (direction == DIR_EAST) { - dirn = sub_805CADC(a0, a1, a2, a3); - if (dirn == DIR_SOUTH) + direction = GetLimitedVectorDirection_SouthNorth(x, y, xAbs, yAbs); + if (direction == DIR_SOUTH) { - dirn = DIR_NORTH; + direction = DIR_NORTH; } } - return dirn; + return direction; } -u8 sub_805CB5C(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_EastNorth(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_SOUTH) + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_SOUTH) { - dirn = sub_805CAEC(a0, a1, a2, a3); - if (dirn == DIR_WEST) + direction = GetLimitedVectorDirection_WestEast(x, y, xAbs, yAbs); + if (direction == DIR_WEST) { - dirn = DIR_NORTH; + direction = DIR_NORTH; } } - else if (dirn == DIR_WEST) + else if (direction == DIR_WEST) { - dirn = sub_805CADC(a0, a1, a2, a3); - if (dirn == DIR_SOUTH) + direction = GetLimitedVectorDirection_SouthNorth(x, y, xAbs, yAbs); + if (direction == DIR_SOUTH) { - dirn = DIR_NORTH; + direction = DIR_NORTH; } } - return dirn; + return direction; } -u8 sub_805CBB8(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_WestSouth(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_NORTH) + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_NORTH) { - dirn = sub_805CAEC(a0, a1, a2, a3); - if (dirn == DIR_EAST) + direction = GetLimitedVectorDirection_WestEast(x, y, xAbs, yAbs); + if (direction == DIR_EAST) { - dirn = DIR_SOUTH; + direction = DIR_SOUTH; } } - else if (dirn == DIR_EAST) + else if (direction == DIR_EAST) { - dirn = sub_805CADC(a0, a1, a2, a3); - if (dirn == DIR_NORTH) + direction = GetLimitedVectorDirection_SouthNorth(x, y, xAbs, yAbs); + if (direction == DIR_NORTH) { - dirn = DIR_SOUTH; + direction = DIR_SOUTH; } } - return dirn; + return direction; } -u8 sub_805CC14(s16 a0, s16 a1, s16 a2, s16 a3) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_NORTH) +u8 GetLimitedVectorDirection_EastSouth(s16 x, s16 y, s16 xAbs, s16 yAbs) { + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_NORTH) { - dirn = sub_805CAEC(a0, a1, a2, a3); - if (dirn == DIR_WEST) + direction = GetLimitedVectorDirection_WestEast(x, y, xAbs, yAbs); + if (direction == DIR_WEST) { - dirn = DIR_SOUTH; + direction = DIR_SOUTH; } } - else if (dirn == DIR_WEST) + else if (direction == DIR_WEST) { - dirn = sub_805CADC(a0, a1, a2, a3); - if (dirn == DIR_NORTH) + direction = GetLimitedVectorDirection_SouthNorth(x, y, xAbs, yAbs); + if (direction == DIR_NORTH) { - dirn = DIR_SOUTH; + direction = DIR_SOUTH; } } - return dirn; + return direction; } -u8 sub_805CC70(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_SouthNorthWest(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_EAST) + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_EAST) { - dirn = sub_805CADC(a0, a1, a2, a3); + direction = GetLimitedVectorDirection_SouthNorth(x, y, xAbs, yAbs); } - return dirn; + return direction; } -u8 sub_805CCAC(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_SouthNorthEast(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_WEST) + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_WEST) { - dirn = sub_805CADC(a0, a1, a2, a3); + direction = GetLimitedVectorDirection_SouthNorth(x, y, xAbs, yAbs); } - return dirn; + return direction; } -u8 sub_805CCE8(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_NorthWestEast(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_SOUTH) + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_SOUTH) { - dirn = sub_805CAEC(a0, a1, a2, a3); + direction = GetLimitedVectorDirection_WestEast(x, y, xAbs, yAbs); } - return dirn; + return direction; } -u8 sub_805CD24(s16 a0, s16 a1, s16 a2, s16 a3) +u8 GetLimitedVectorDirection_SouthWestEast(s16 x, s16 y, s16 xAbs, s16 yAbs) { - u8 dirn; - dirn = sub_805CAAC(a0, a1, a2, a3); - if (dirn == DIR_NORTH) + u8 direction; + direction = GetVectorDirection(x, y, xAbs, yAbs); + if (direction == DIR_NORTH) { - dirn = sub_805CAEC(a0, a1, a2, a3); + direction = GetLimitedVectorDirection_WestEast(x, y, xAbs, yAbs); } - return dirn; + return direction; } -u8 sub_805CD60(struct MapObject *mapObject, u8 a1) +u8 TryGetTrainerEncounterDirection(struct MapObject *mapObject, u8 directionFuncIndex) { - s16 x; - s16 y; - s16 x2; - s16 y2; + s16 x, y; + s16 xAbs, yAbs; if (!FieldObjectIsTrainerAndCloseToPlayer(mapObject)) { return 0; @@ -3982,24 +2532,21 @@ u8 sub_805CD60(struct MapObject *mapObject, u8 a1) PlayerGetDestCoords(&x, &y); x -= mapObject->currentCoords.x; y -= mapObject->currentCoords.y; - x2 = x; - y2 = y; - if (x2 < 0) - { - x2 = -x2; - } - if (y2 < 0) - { - y2 = -y2; - } - return gUnknown_08375244[a1](x, y, x2, y2); + xAbs = x; + yAbs = y; + if (xAbs < 0) + xAbs = -xAbs; + if (yAbs < 0) + yAbs = -yAbs; + + return gGetVectorDirectionFuncs[directionFuncIndex](x, y, xAbs, yAbs); } -fieldmap_object_cb(MovementType_LookAround, MovementType_LookAround_Callback, gMovementTypeFuncs_LookAround); +movement_type_def(MovementType_LookAround, gMovementTypeFuncs_LookAround); u8 MovementType_LookAround_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4037,20 +2584,20 @@ u8 MovementType_LookAround_Step4(struct MapObject *mapObject, struct Sprite *spr u8 direction; u8 directions[4]; memcpy(directions, gStandardDirections, 4); - direction = sub_805CD60(mapObject, 0); + direction = TryGetTrainerEncounterDirection(mapObject, 0); if (direction == DIR_NONE) direction = directions[Random() & 3]; - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_WanderUpAndDown, MovementType_WanderUpAndDown_Callback, gMovementTypeFuncs_WanderUpAndDown); +movement_type_def(MovementType_WanderUpAndDown, gMovementTypeFuncs_WanderUpAndDown); u8 MovementType_WanderUpAndDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4089,7 +2636,7 @@ u8 MovementType_WanderUpAndDown_Step4(struct MapObject *mapObject, struct Sprite u8 directions[2]; memcpy(directions, gUpAndDownDirections, 2); direction = directions[Random() & 1]; - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 5; if (GetCollisionInDirection(mapObject, direction) != 0) { @@ -4116,11 +2663,11 @@ u8 MovementType_WanderUpAndDown_Step6(struct MapObject *mapObject, struct Sprite return 0; } -fieldmap_object_cb(MovementType_WanderLeftAndRight, MovementType_WanderLeftAndRight_Callback, gMovementTypeFuncs_WanderLeftAndRight); +movement_type_def(MovementType_WanderLeftAndRight, gMovementTypeFuncs_WanderLeftAndRight); u8 MovementType_WanderLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4159,7 +2706,7 @@ u8 MovementType_WanderLeftAndRight_Step4(struct MapObject *mapObject, struct Spr u8 directions[2]; memcpy(directions, gLeftAndRightDirections, 2); direction = directions[Random() & 1]; - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 5; if (GetCollisionInDirection(mapObject, direction) != 0) { @@ -4186,11 +2733,11 @@ u8 MovementType_WanderLeftAndRight_Step6(struct MapObject *mapObject, struct Spr return 0; } -fieldmap_object_cb(MovementType_FaceDirection, MovementType_FaceDirection_Callback, gMovementTypeFuncs_FaceDirection); +movement_type_def(MovementType_FaceDirection, gMovementTypeFuncs_FaceDirection); u8 MovementType_FaceDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; @@ -4212,8 +2759,6 @@ u8 MovementType_FaceDirection_Step2(struct MapObject *mapObject, struct Sprite * return 0; } -u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite); - void MovementType_BerryTreeGrowth(struct Sprite *sprite) { struct MapObject *mapObject; @@ -4226,7 +2771,7 @@ void MovementType_BerryTreeGrowth(struct Sprite *sprite) meta_step(mapObject, sprite, MovementType_BerryTreeGrowth_Callback); } -u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite) +static u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite) { return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](mapObject, sprite); } @@ -4234,7 +2779,7 @@ u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Spr u8 MovementType_BerryTreeGrowth_Step0(struct MapObject *mapObject, struct Sprite *sprite) { u8 berryTreeStage; - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); mapObject->invisible = 1; sprite->invisible = 1; berryTreeStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); @@ -4318,11 +2863,11 @@ u8 MovementType_BerryTreeGrowth_Step4(struct MapObject *mapObject, struct Sprite return 0; } -fieldmap_object_cb(MovementType_FaceDownAndUp, MovementType_FaceDownAndUp_Callback, gMovementTypeFuncs_FaceDownAndUp); +movement_type_def(MovementType_FaceDownAndUp, gMovementTypeFuncs_FaceDownAndUp); u8 MovementType_FaceDownAndUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4360,21 +2905,21 @@ u8 MovementType_FaceDownAndUp_Step4(struct MapObject *mapObject, struct Sprite * u8 direction; u8 directions[2]; memcpy(directions, gUpAndDownDirections, 2); - direction = sub_805CD60(mapObject, 1); + direction = TryGetTrainerEncounterDirection(mapObject, 1); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceLeftAndRight, MovementType_FaceLeftAndRight_Callback, gMovementTypeFuncs_FaceLeftAndRight); +movement_type_def(MovementType_FaceLeftAndRight, gMovementTypeFuncs_FaceLeftAndRight); u8 MovementType_FaceLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4412,21 +2957,21 @@ u8 MovementType_FaceLeftAndRight_Step4(struct MapObject *mapObject, struct Sprit u8 direction; u8 directions[2]; memcpy(directions, gLeftAndRightDirections, 2); - direction = sub_805CD60(mapObject, 2); + direction = TryGetTrainerEncounterDirection(mapObject, 2); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceUpAndLeft, MovementType_FaceUpAndLeft_Callback, gMovementTypeFuncs_FaceUpAndLeft); +movement_type_def(MovementType_FaceUpAndLeft, gMovementTypeFuncs_FaceUpAndLeft); u8 MovementType_FaceUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4464,21 +3009,21 @@ u8 MovementType_FaceUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite * u8 direction; u8 directions[2]; memcpy(directions, gUpAndLeftDirections, 2); - direction = sub_805CD60(mapObject, 3); + direction = TryGetTrainerEncounterDirection(mapObject, 3); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceUpAndRight, MovementType_FaceUpAndRight_Callback, gMovementTypeFuncs_FaceUpAndRight); +movement_type_def(MovementType_FaceUpAndRight, gMovementTypeFuncs_FaceUpAndRight); u8 MovementType_FaceUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4516,21 +3061,21 @@ u8 MovementType_FaceUpAndRight_Step4(struct MapObject *mapObject, struct Sprite u8 direction; u8 directions[2]; memcpy(directions, gUpAndRightDirections, 2); - direction = sub_805CD60(mapObject, 4); + direction = TryGetTrainerEncounterDirection(mapObject, 4); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceDownAndLeft, MovementType_FaceDownAndLeft_Callback, gMovementTypeFuncs_FaceDownAndLeft); +movement_type_def(MovementType_FaceDownAndLeft, gMovementTypeFuncs_FaceDownAndLeft); u8 MovementType_FaceDownAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4568,21 +3113,21 @@ u8 MovementType_FaceDownAndLeft_Step4(struct MapObject *mapObject, struct Sprite u8 direction; u8 directions[2]; memcpy(directions, gDownAndLeftDirections, 2); - direction = sub_805CD60(mapObject, 5); + direction = TryGetTrainerEncounterDirection(mapObject, 5); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceDownAndRight, MovementType_FaceDownAndRight_Callback, gMovementTypeFuncs_FaceDownAndRight); +movement_type_def(MovementType_FaceDownAndRight, gMovementTypeFuncs_FaceDownAndRight); u8 MovementType_FaceDownAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4620,21 +3165,21 @@ u8 MovementType_FaceDownAndRight_Step4(struct MapObject *mapObject, struct Sprit u8 direction; u8 directions[2]; memcpy(directions, gDownAndRightDirections, 2); - direction = sub_805CD60(mapObject, 6); + direction = TryGetTrainerEncounterDirection(mapObject, 6); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceDownUpAndLeft, MovementType_FaceDownUpAndLeft_Callback, gMovementTypeFuncs_FaceDownUpAndLeft); +movement_type_def(MovementType_FaceDownUpAndLeft, gMovementTypeFuncs_FaceDownUpAndLeft); u8 MovementType_FaceDownUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4672,21 +3217,21 @@ u8 MovementType_FaceDownUpAndLeft_Step4(struct MapObject *mapObject, struct Spri u8 direction; u8 directions[4]; memcpy(directions, gDownUpAndLeftDirections, 4); - direction = sub_805CD60(mapObject, 7); + direction = TryGetTrainerEncounterDirection(mapObject, 7); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceDownUpAndRight, MovementType_FaceDownUpAndRight_Callback, gMovementTypeFuncs_FaceDownUpAndRight); +movement_type_def(MovementType_FaceDownUpAndRight, gMovementTypeFuncs_FaceDownUpAndRight); u8 MovementType_FaceDownUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4724,21 +3269,21 @@ u8 MovementType_FaceDownUpAndRight_Step4(struct MapObject *mapObject, struct Spr u8 direction; u8 directions[4]; memcpy(directions, gDownUpAndRightDirections, 4); - direction = sub_805CD60(mapObject, 8); + direction = TryGetTrainerEncounterDirection(mapObject, 8); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceUpLeftAndRight, MovementType_FaceUpLeftAndRight_Callback, gMovementTypeFuncs_FaceUpLeftAndRight); +movement_type_def(MovementType_FaceUpLeftAndRight, gMovementTypeFuncs_FaceUpLeftAndRight); u8 MovementType_FaceUpLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4776,21 +3321,21 @@ u8 MovementType_FaceUpLeftAndRight_Step4(struct MapObject *mapObject, struct Spr u8 direction; u8 directions[4]; memcpy(directions, gUpLeftAndRightDirections, 4); - direction = sub_805CD60(mapObject, 9); + direction = TryGetTrainerEncounterDirection(mapObject, 9); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_FaceDownLeftAndRight, MovementType_FaceDownLeftAndRight_Callback, gMovementTypeFuncs_FaceDownLeftAndRight); +movement_type_def(MovementType_FaceDownLeftAndRight, gMovementTypeFuncs_FaceDownLeftAndRight); u8 MovementType_FaceDownLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4828,21 +3373,21 @@ u8 MovementType_FaceDownLeftAndRight_Step4(struct MapObject *mapObject, struct S u8 direction; u8 directions[4]; memcpy(directions, gDownLeftAndRightDirections, 4); - direction = sub_805CD60(mapObject, 10); + direction = TryGetTrainerEncounterDirection(mapObject, 10); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_RotateCounterclockwise, MovementType_RotateCounterclockwise_Callback, gMovementTypeFuncs_RotateCounterclockwise); +movement_type_def(MovementType_RotateCounterclockwise, gMovementTypeFuncs_RotateCounterclockwise); u8 MovementType_RotateCounterclockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; @@ -4872,21 +3417,21 @@ u8 MovementType_RotateCounterclockwise_Step3(struct MapObject *mapObject, struct u8 direction; u8 directions[5]; memcpy(directions, gCounterclockwiseDirections, 5); - direction = sub_805CD60(mapObject, 0); + direction = TryGetTrainerEncounterDirection(mapObject, 0); if (direction == DIR_NONE) { direction = directions[mapObject->facingDirection]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 0; return 1; } -fieldmap_object_cb(MovementType_RotateClockwise, MovementType_RotateClockwise_Callback, gMovementTypeFuncs_RotateClockwise); +movement_type_def(MovementType_RotateClockwise, gMovementTypeFuncs_RotateClockwise); u8 MovementType_RotateClockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; @@ -4916,21 +3461,21 @@ u8 MovementType_RotateClockwise_Step3(struct MapObject *mapObject, struct Sprite u8 direction; u8 directions[5]; memcpy(directions, gClockwiseDirections, 5); - direction = sub_805CD60(mapObject, 0); + direction = TryGetTrainerEncounterDirection(mapObject, 0); if (direction == DIR_NONE) { direction = directions[mapObject->facingDirection]; } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 0; return 1; } -fieldmap_object_cb(MovementType_WalkBackAndForth, MovementType_WalkBackAndForth_Callback, gMovementTypeFuncs_WalkBackAndForth); +movement_type_def(MovementType_WalkBackAndForth, gMovementTypeFuncs_WalkBackAndForth); u8 MovementType_WalkBackAndForth_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -4943,7 +3488,7 @@ u8 MovementType_WalkBackAndForth_Step1(struct MapObject *mapObject, struct Sprit { direction = GetOppositeDirection(direction); } - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[1] = 2; return 1; } @@ -4955,14 +3500,14 @@ u8 MovementType_WalkBackAndForth_Step2(struct MapObject *mapObject, struct Sprit if (mapObject->directionSequenceIndex && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) { mapObject->directionSequenceIndex = 0; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + SetFieldObjectDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); } collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); if (collisionState == 1) { mapObject->directionSequenceIndex++; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + SetFieldObjectDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); } @@ -4988,7 +3533,7 @@ u8 MovementType_WalkBackAndForth_Step3(struct MapObject *mapObject, struct Sprit u8 MovementType_WalkSequence_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); sprite->data[1] = 1; return 1; } @@ -5001,13 +3546,13 @@ u8 MoveNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprit { mapObject->directionSequenceIndex = 0; } - FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); + SetFieldObjectDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); if (collisionState == 1) { mapObject->directionSequenceIndex++; - FieldObjectSetDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); + SetFieldObjectDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); } @@ -5031,7 +3576,7 @@ u8 MovementType_WalkSequence_Step2(struct MapObject *mapObject, struct Sprite *s return 0; } -fieldmap_object_cb(MovementType_WalkSequenceUpRightLeftDown, MovementType_WalkSequenceUpRightLeftDown_Callback, gMovementTypeFuncs_WalkSequenceUpRightLeftDown); +movement_type_def(MovementType_WalkSequenceUpRightLeftDown, gMovementTypeFuncs_WalkSequenceUpRightLeftDown); u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5044,7 +3589,7 @@ u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceRightLeftDownUp, MovementType_WalkSequenceRightLeftDownUp_Callback, gMovementTypeFuncs_WalkSequenceRightLeftDownUp); +movement_type_def(MovementType_WalkSequenceRightLeftDownUp, gMovementTypeFuncs_WalkSequenceRightLeftDownUp); u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5057,7 +3602,7 @@ u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceDownUpRightLeft, MovementType_WalkSequenceDownUpRightLeft_Callback, gMovementTypeFuncs_WalkSequenceDownUpRightLeft); +movement_type_def(MovementType_WalkSequenceDownUpRightLeft, gMovementTypeFuncs_WalkSequenceDownUpRightLeft); u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5070,7 +3615,7 @@ u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceLeftDownUpRight, MovementType_WalkSequenceLeftDownUpRight_Callback, gMovementTypeFuncs_WalkSequenceLeftDownUpRight); +movement_type_def(MovementType_WalkSequenceLeftDownUpRight, gMovementTypeFuncs_WalkSequenceLeftDownUpRight); u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5083,7 +3628,7 @@ u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceUpLeftRightDown, MovementType_WalkSequenceUpLeftRightDown_Callback, gMovementTypeFuncs_WalkSequenceUpLeftRightDown); +movement_type_def(MovementType_WalkSequenceUpLeftRightDown, gMovementTypeFuncs_WalkSequenceUpLeftRightDown); u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5096,7 +3641,7 @@ u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceLeftRightDownUp, MovementType_WalkSequenceLeftRightDownUp_Callback, gMovementTypeFuncs_WalkSequenceLeftRightDownUp); +movement_type_def(MovementType_WalkSequenceLeftRightDownUp, gMovementTypeFuncs_WalkSequenceLeftRightDownUp); u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5109,7 +3654,7 @@ u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceDownUpLeftRight, MovementType_WalkSequenceDownUpLeftRight_Callback, gMovementTypeFuncs_WalkSequenceDownUpLeftRight); +movement_type_def(MovementType_WalkSequenceDownUpLeftRight, gMovementTypeFuncs_WalkSequenceDownUpLeftRight); u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5122,7 +3667,7 @@ u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceRightDownUpLeft, MovementType_WalkSequenceRightDownUpLeft_Callback, gMovementTypeFuncs_WalkSequenceRightDownUpLeft); +movement_type_def(MovementType_WalkSequenceRightDownUpLeft, gMovementTypeFuncs_WalkSequenceRightDownUpLeft); u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5135,7 +3680,7 @@ u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceLeftUpDownRight, MovementType_WalkSequenceLeftUpDownRight_Callback, gMovementTypeFuncs_WalkSequenceLeftUpDownRight); +movement_type_def(MovementType_WalkSequenceLeftUpDownRight, gMovementTypeFuncs_WalkSequenceLeftUpDownRight); u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5148,7 +3693,7 @@ u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceUpDownRightLeft, MovementType_WalkSequenceUpDownRightLeft_Callback, gMovementTypeFuncs_WalkSequenceUpDownRightLeft); +movement_type_def(MovementType_WalkSequenceUpDownRightLeft, gMovementTypeFuncs_WalkSequenceUpDownRightLeft); u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5161,7 +3706,7 @@ u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceRightLeftUpDown, MovementType_WalkSequenceRightLeftUpDown_Callback, gMovementTypeFuncs_WalkSequenceRightLeftUpDown); +movement_type_def(MovementType_WalkSequenceRightLeftUpDown, gMovementTypeFuncs_WalkSequenceRightLeftUpDown); u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5174,7 +3719,7 @@ u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceDownRightLeftUp, MovementType_WalkSequenceDownRightLeftUp_Callback, gMovementTypeFuncs_WalkSequenceDownRightLeftUp); +movement_type_def(MovementType_WalkSequenceDownRightLeftUp, gMovementTypeFuncs_WalkSequenceDownRightLeftUp); u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5187,7 +3732,7 @@ u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceRightUpDownLeft, MovementType_WalkSequenceRightUpDownLeft_Callback, gMovementTypeFuncs_WalkSequenceRightUpDownLeft); +movement_type_def(MovementType_WalkSequenceRightUpDownLeft, gMovementTypeFuncs_WalkSequenceRightUpDownLeft); u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5200,7 +3745,7 @@ u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceUpDownLeftRight, MovementType_WalkSequenceUpDownLeftRight_Callback, gMovementTypeFuncs_WalkSequenceUpDownLeftRight); +movement_type_def(MovementType_WalkSequenceUpDownLeftRight, gMovementTypeFuncs_WalkSequenceUpDownLeftRight); u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5213,7 +3758,7 @@ u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceLeftRightUpDown, MovementType_WalkSequenceLeftRightUpDown_Callback, gMovementTypeFuncs_WalkSequenceLeftRightUpDown); +movement_type_def(MovementType_WalkSequenceLeftRightUpDown, gMovementTypeFuncs_WalkSequenceLeftRightUpDown); u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5226,7 +3771,7 @@ u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceDownLeftRightUp, MovementType_WalkSequenceDownLeftRightUp_Callback, gMovementTypeFuncs_WalkSequenceDownLeftRightUp); +movement_type_def(MovementType_WalkSequenceDownLeftRightUp, gMovementTypeFuncs_WalkSequenceDownLeftRightUp); u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5239,7 +3784,7 @@ u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceUpLeftDownRight, MovementType_WalkSequenceUpLeftDownRight_Callback, gMovementTypeFuncs_WalkSequenceUpLeftDownRight); +movement_type_def(MovementType_WalkSequenceUpLeftDownRight, gMovementTypeFuncs_WalkSequenceUpLeftDownRight); u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5252,7 +3797,7 @@ u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceDownRightUpLeft, MovementType_WalkSequenceDownRightUpLeft_Callback, gMovementTypeFuncs_WalkSequenceDownRightUpLeft); +movement_type_def(MovementType_WalkSequenceDownRightUpLeft, gMovementTypeFuncs_WalkSequenceDownRightUpLeft); u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5265,7 +3810,7 @@ u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceLeftDownRightUp, MovementType_WalkSequenceLeftDownRightUp_Callback, gMovementTypeFuncs_WalkSequenceLeftDownRightUp); +movement_type_def(MovementType_WalkSequenceLeftDownRightUp, gMovementTypeFuncs_WalkSequenceLeftDownRightUp); u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5278,7 +3823,7 @@ u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceRightUpLeftDown, MovementType_WalkSequenceRightUpLeftDown_Callback, gMovementTypeFuncs_WalkSequenceRightUpLeftDown); +movement_type_def(MovementType_WalkSequenceRightUpLeftDown, gMovementTypeFuncs_WalkSequenceRightUpLeftDown); u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5291,7 +3836,7 @@ u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceUpRightDownLeft, MovementType_WalkSequenceUpRightDownLeft_Callback, gMovementTypeFuncs_WalkSequenceUpRightDownLeft); +movement_type_def(MovementType_WalkSequenceUpRightDownLeft, gMovementTypeFuncs_WalkSequenceUpRightDownLeft); u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5304,7 +3849,7 @@ u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceDownLeftUpRight, MovementType_WalkSequenceDownLeftUpRight_Callback, gMovementTypeFuncs_WalkSequenceDownLeftUpRight); +movement_type_def(MovementType_WalkSequenceDownLeftUpRight, gMovementTypeFuncs_WalkSequenceDownLeftUpRight); u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5317,7 +3862,7 @@ u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceLeftUpRightDown, MovementType_WalkSequenceLeftUpRightDown_Callback, gMovementTypeFuncs_WalkSequenceLeftUpRightDown); +movement_type_def(MovementType_WalkSequenceLeftUpRightDown, gMovementTypeFuncs_WalkSequenceLeftUpRightDown); u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5330,7 +3875,7 @@ u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); } -fieldmap_object_cb(MovementType_WalkSequenceRightDownLeftUp, MovementType_WalkSequenceRightDownLeftUp_Callback, gMovementTypeFuncs_WalkSequenceRightDownLeftUp); +movement_type_def(MovementType_WalkSequenceRightDownLeftUp, gMovementTypeFuncs_WalkSequenceRightDownLeftUp); u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5343,11 +3888,11 @@ u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct MapObject *mapObject, s return MoveNextDirectionInSequence(mapObject, sprite, directions); }; -fieldmap_object_cb(MovementType_CopyPlayer, MovementType_CopyPlayer_Callback, gMovementTypeFuncs_CopyPlayer); +movement_type_def(MovementType_CopyPlayer, gMovementTypeFuncs_CopyPlayer); u8 MovementType_CopyPlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); if (mapObject->directionSequenceIndex == 0) { mapObject->directionSequenceIndex = GetPlayerFacingDirection(); @@ -5505,7 +4050,7 @@ bool8 CopyablePlayerMovement_Jump(struct MapObject *mapObject, struct Sprite *sp direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; - sub_8060320(direction, &x, &y, 2, 2); + MoveCoordsInDirection(direction, &x, &y, 2, 2); FieldObjectSetSingleMovement(mapObject, sprite, GetJump2MovementAction(direction)); if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { @@ -5516,7 +4061,7 @@ bool8 CopyablePlayerMovement_Jump(struct MapObject *mapObject, struct Sprite *sp return TRUE; } -fieldmap_object_cb(MovementType_CopyPlayerInGrass, sub_805F904, gMovementTypeFuncs_CopyPlayerInGrass); +movement_type_def(MovementType_CopyPlayerInGrass, gMovementTypeFuncs_CopyPlayerInGrass); u8 MovementType_CopyPlayerInGrass_Step1(struct MapObject *mapObject, struct Sprite *sprite) { @@ -5527,8 +4072,6 @@ u8 MovementType_CopyPlayerInGrass_Step1(struct MapObject *mapObject, struct Spri return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](mapObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); } -static u8 MovementType_Disguise_Callback(struct MapObject *, struct Sprite *); - void MovementType_TreeDisguise(struct Sprite *sprite) { struct MapObject *mapObject; @@ -5543,9 +4086,9 @@ void MovementType_TreeDisguise(struct Sprite *sprite) meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -u8 MovementType_Disguise_Callback(struct MapObject *mapObject, struct Sprite *sprite) +static u8 MovementType_Disguise_Callback(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); return 0; } @@ -5563,8 +4106,6 @@ void MovementType_MountainDisguise(struct Sprite *sprite) meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite); - void MovementType_Hidden(struct Sprite *sprite) { if (sprite->data[7] == 0) @@ -5577,14 +4118,14 @@ void MovementType_Hidden(struct Sprite *sprite) meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); } -u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite) +static u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite) { return gMovementTypeFuncs_Hidden[sprite->data[1]](mapObject, sprite); } u8 MovementType_Hidden_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); return 0; } @@ -5597,41 +4138,41 @@ u8 MovementType_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprite *sp return 0; } -fieldmap_object_cb(MovementType_WalkInPlace, MovementType_WalkInPlace_Callback, gMovementTypeFuncs_WalkInPlace); +movement_type_def(MovementType_WalkInPlace, gMovementTypeFuncs_WalkInPlace); u8 MovementType_WalkInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceNormalMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_JogInPlace, MovementType_JogInPlace_Callback, gMovementTypeFuncs_JogInPlace); +movement_type_def(MovementType_JogInPlace, gMovementTypeFuncs_JogInPlace); u8 MovementType_JogInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceFastMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_RunInPlace, MovementType_RunInPlace_Callback, gMovementTypeFuncs_RunInPlace); +movement_type_def(MovementType_RunInPlace, gMovementTypeFuncs_RunInPlace); u8 MovementType_RunInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceFastestMovementAction(mapObject->facingDirection)); sprite->data[1] = 1; return 1; } -fieldmap_object_cb(MovementType_Invisible, MovementType_Invisible_Callback, gMovementTypeFuncs_Invisible); +movement_type_def(MovementType_Invisible, gMovementTypeFuncs_Invisible); u8 MovementType_Invisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + ClearMapObjectMovement(mapObject, sprite); FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); mapObject->invisible = 1; sprite->data[1] = 1; @@ -5654,7 +4195,7 @@ u8 MovementType_Invisible_Step2(struct MapObject *mapObject, struct Sprite *spri return 0; } -void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) +static void ClearMapObjectMovement(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->singleMovementActive = 0; mapObject->heldMovementActive = 0; @@ -5794,7 +4335,7 @@ u8 GetTrainerFacingDirectionMovementType(u8 direction) return gTrainerFacingDirectionMovementTypes[direction]; } -u8 GetCollisionInDirection(struct MapObject *mapObject, u8 direction) +static u8 GetCollisionInDirection(struct MapObject *mapObject, u8 direction) { s16 x; s16 y; @@ -5804,15 +4345,11 @@ u8 GetCollisionInDirection(struct MapObject *mapObject, u8 direction) return GetCollisionAtCoords(mapObject, x, y, direction); } -bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y); -static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s16 y); -bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction); - u8 GetCollisionAtCoords(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) { u8 direction; direction = dirn; - if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) + if (IsCoordOutsideFieldObjectMovementRange(mapObject, x, y)) return 1; else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) return 2; @@ -5825,11 +4362,11 @@ u8 GetCollisionAtCoords(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) return 0; } -u8 sub_8060024(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +u8 GetCollisionFlagsAtCoords(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { u8 flags = 0; - if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) + if (IsCoordOutsideFieldObjectMovementRange(mapObject, x, y)) flags |= 1; if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction))) flags |= 2; @@ -5840,7 +4377,7 @@ u8 sub_8060024(struct MapObject *mapObject, s16 x, s16 y, u8 direction) return flags; } -bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y) +static bool8 IsCoordOutsideFieldObjectMovementRange(struct MapObject *mapObject, s16 x, s16 y) { s16 minv; s16 maxv; @@ -5862,7 +4399,7 @@ bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, return FALSE; } -bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](mapObject->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) @@ -5890,7 +4427,6 @@ static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s return 0; } -// this function is only used in berry.c, but its unknown whether its intended context is the berry tree check or if its checking for the flickering. bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) { u8 mapObjectId; @@ -5917,33 +4453,25 @@ void MoveCoords(u8 direction, s16 *x, s16 *y) *y += gDirectionToVectors[direction].y; } -void unref_sub_80602F8(u8 direction, s16 *x, s16 *y) +void Unref_MovePixelCoords(u8 direction, s16 *x, s16 *y) { *x += gDirectionToVectors[direction].x << 4; *y += gDirectionToVectors[direction].y << 4; } -void sub_8060320(u32 dirn, s16 *x, s16 *y, s16 deltaX, s16 deltaY) +static void MoveCoordsInDirection(u32 dir, s16 *x, s16 *y, s16 deltaX, s16 deltaY) { - u8 direction = dirn; - s16 dx2 = deltaX; - s16 dy2 = deltaY; + u8 direction = dir; + s16 dx2 = (u16)deltaX; + s16 dy2 = (u16)deltaY; if (gDirectionToVectors[direction].x > 0) - { *x += dx2; - } if (gDirectionToVectors[direction].x < 0) - { *x -= dx2; - } if (gDirectionToVectors[direction].y > 0) - { *y += dy2; - } if (gDirectionToVectors[direction].y < 0) - { *y -= dy2; - } } void sub_8060388(s16 x1, s16 y1, s16 *x2, s16 *y2) @@ -6028,9 +4556,8 @@ bool8 FieldObjectIsMovementOverridden(struct MapObject *mapObject) bool8 FieldObjectIsHeldMovementActive(struct MapObject *mapObject) { if (mapObject->heldMovementActive && mapObject->movementActionId != 0xff) - { return TRUE; - } + return FALSE; } @@ -6056,9 +4583,7 @@ void FieldObjectForceSetHeldMovement(struct MapObject *mapObject, u8 movementAct void FieldObjectClearHeldMovementIfActive(struct MapObject *mapObject) { if (mapObject->heldMovementActive) - { FieldObjectClearHeldMovement(mapObject); - } } void FieldObjectClearHeldMovement(struct MapObject *mapObject) @@ -6075,14 +4600,14 @@ bool8 FieldObjectCheckHeldMovementStatus(struct MapObject *mapObject) if (mapObject->heldMovementActive) return mapObject->heldMovementFinished; - return 0x10; + return 16; } bool8 FieldObjectClearHeldMovementIfFinished(struct MapObject *mapObject) { u8 heldMovementStatus; heldMovementStatus = FieldObjectCheckHeldMovementStatus(mapObject); - if (heldMovementStatus != 0 && heldMovementStatus != 0x10) + if (heldMovementStatus != 0 && heldMovementStatus != 16) FieldObjectClearHeldMovementIfActive(mapObject); return heldMovementStatus; @@ -6096,18 +4621,10 @@ u8 FieldObjectGetHeldMovementActionId(struct MapObject *mapObject) return 0xFF; } -extern void DoGroundEffects_OnSpawn(struct MapObject *mapObject, struct Sprite *sprite); -extern void DoGroundEffects_OnBeginStep(struct MapObject *mapObject, struct Sprite *sprite); -extern void DoGroundEffects_OnFinishStep(struct MapObject *mapObject, struct Sprite *sprite); -void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite); -void sub_80634A0(struct MapObject *mapObject, struct Sprite *sprite); -void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprite *sprite); -void FieldObjectUpdateSubpriority(struct MapObject *mapObject, struct Sprite *sprite); - void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback)(struct MapObject *, struct Sprite *)) { DoGroundEffects_OnSpawn(mapObject, sprite); - sub_80634A0(mapObject, sprite); + TryEnableMapObjectAnim(mapObject, sprite); if (FieldObjectIsHeldMovementActive(mapObject)) { FieldObjectExecHeldMovementAction(mapObject, sprite); @@ -6119,8 +4636,8 @@ void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback DoGroundEffects_OnBeginStep(mapObject, sprite); DoGroundEffects_OnFinishStep(mapObject, sprite); - npc_obj_transfer_image_anim_pause_flag(mapObject, sprite); - sub_80634D0(mapObject, sprite); + UpdateMapObjectSpriteAnimPause(mapObject, sprite); + UpdateMapObjectVisibility(mapObject, sprite); FieldObjectUpdateSubpriority(mapObject, sprite); } @@ -6297,7 +4814,7 @@ u32 state_to_direction(u8 a0, u32 a1, u32 a2) return gUnknown_08375767[a0 - 1][zffuOffset - 1]; } -void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprite *sprite) +static void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprite *sprite) { if (gMovementActionFuncs[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { @@ -6305,7 +4822,7 @@ void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprit } } -bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, struct Sprite *sprite) +static bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, struct Sprite *sprite) { if (gMovementActionFuncs[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { @@ -6317,7 +4834,7 @@ bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, struct Sp return 0; } -void FieldObjectSetSingleMovement(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) +static void FieldObjectSetSingleMovement(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) { mapObject->movementActionId = movementActionId; sprite->data[2] = 0; @@ -6325,8 +4842,8 @@ void FieldObjectSetSingleMovement(struct MapObject *mapObject, struct Sprite *sp void FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { - FieldObjectSetDirection(mapObject, direction); - npc_coords_shift_still(mapObject); + SetFieldObjectDirection(mapObject, direction); + ShiftStillMapObjectCoords(mapObject); sub_805FE64(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); sprite->animPaused = 1; sprite->data[2] = 1; @@ -6362,9 +4879,9 @@ void sub_8060D20(struct MapObject *mapObject, struct Sprite *sprite, u8 directio s16 y; x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); MoveCoords(direction, &x, &y); - npc_coords_shift(mapObject, x, y); + ShiftMapObjectCoords(mapObject, x, y); oamt_npc_ministep_reset(sprite, direction, a3); sprite->animPaused = 0; mapObject->triggerGroundEffectsOnMove = 1; @@ -6393,7 +4910,7 @@ bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprit { if (obj_npc_ministep(sprite)) { - npc_coords_shift_still(mapObject); + ShiftStillMapObjectCoords(mapObject); mapObject->triggerGroundEffectsOnStop = 1; sprite->animPaused = 1; return 1; @@ -6407,9 +4924,9 @@ void sub_8060E68(struct MapObject *mapObject, struct Sprite *sprite, u8 directio s16 y; x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); MoveCoords(direction, &x, &y); - npc_coords_shift(mapObject, x, y); + ShiftMapObjectCoords(mapObject, x, y); sub_806467C(sprite, direction); sprite->animPaused = 0; mapObject->triggerGroundEffectsOnMove = 1; @@ -6426,7 +4943,7 @@ bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) { if (sub_806468C(sprite)) { - npc_coords_shift_still(mapObject); + ShiftStillMapObjectCoords(mapObject); mapObject->triggerGroundEffectsOnStop = 1; sprite->animPaused = 1; return TRUE; @@ -6586,9 +5103,9 @@ void sub_806113C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio memcpy(vSPp4, gUnknown_08375A34, sizeof gUnknown_08375A34); x = 0; y = 0; - FieldObjectSetDirection(mapObject, direction); - sub_8060320(direction, &x, &y, vSPp4[a4], vSPp4[a4]); - npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); + SetFieldObjectDirection(mapObject, direction); + MoveCoordsInDirection(direction, &x, &y, vSPp4[a4], vSPp4[a4]); + ShiftMapObjectCoords(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); sub_80646E4(sprite, direction, a4, a5); sprite->data[2] = 1; sprite->animPaused = 0; @@ -6615,13 +5132,13 @@ u8 sub_806123C(struct MapObject *mapObject, struct Sprite *sprite, u8 (*const ca { x = 0; y = 0; - sub_8060320(mapObject->movementDirection, &x, &y, vSPp4[sprite->data[4]], vSPp4[sprite->data[4]]); - npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); + MoveCoordsInDirection(mapObject->movementDirection, &x, &y, vSPp4[sprite->data[4]], vSPp4[sprite->data[4]]); + ShiftMapObjectCoords(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); mapObject->triggerGroundEffectsOnMove = 1; mapObject->disableCoveringGroundEffects = 1; } else if (retval == 0xff) { - npc_coords_shift_still(mapObject); + ShiftStillMapObjectCoords(mapObject); mapObject->triggerGroundEffectsOnStop = 1; mapObject->landingJump = 1; sprite->animPaused = 1; @@ -6670,7 +5187,7 @@ bool8 sub_8061358(struct MapObject *mapObject, struct Sprite *sprite) } return FALSE; } - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + SetFieldObjectDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); sub_805FE64(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); return FALSE; } @@ -6863,7 +5380,7 @@ bool8 MovementAction_WalkFastRight_Step1(struct MapObject *mapObject, struct Spr void sub_80616CC(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) { - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sub_805FE28(mapObject, sprite, animNum); sprite->animPaused = 0; sprite->data[2] = 1; @@ -7285,7 +5802,7 @@ bool8 MovementAction_PlayerRunRight_Step1(struct MapObject *mapObject, struct Sp void StartSpriteAnimInDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum) { SetAndStartSpriteAnim(sprite, animNum, 0); - FieldObjectSetDirection(mapObject, direction); + SetFieldObjectDirection(mapObject, direction); sprite->data[2] = 1; } @@ -7894,8 +6411,8 @@ bool8 MovementAction_WalkDownAffine1_Step1(struct MapObject *mapObject, struct S void sub_806295C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { - FieldObjectSetDirection(mapObject, direction); - npc_coords_shift_still(mapObject); + SetFieldObjectDirection(mapObject, direction); + ShiftStillMapObjectCoords(mapObject); sub_805FE64(mapObject, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); sprite->animPaused = 1; sprite->data[2] = 1; @@ -8503,15 +7020,13 @@ bool8 MovementAction_PauseSpriteAnim(struct MapObject *mapObject, struct Sprite return TRUE; } -void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateMapObjectSpriteAnimPause(struct MapObject *mapObject, struct Sprite *sprite) { if (mapObject->disableAnim) - { sprite->animPaused = 1; - } } -void sub_80634A0(struct MapObject *mapObject, struct Sprite *sprite) +static void TryEnableMapObjectAnim(struct MapObject *mapObject, struct Sprite *sprite) { if (mapObject->enableAnim) { @@ -8521,22 +7036,16 @@ void sub_80634A0(struct MapObject *mapObject, struct Sprite *sprite) } } -void sub_80634E8(struct MapObject *, struct Sprite *); -static void UpdateMapObjSpriteVisibility(struct MapObject *, struct Sprite *); - -void sub_80634D0(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateMapObjectVisibility(struct MapObject *mapObject, struct Sprite *sprite) { - sub_80634E8(mapObject, sprite); + UpdateMapObjectIsOffscreen(mapObject, sprite); UpdateMapObjSpriteVisibility(mapObject, sprite); } -#ifdef NONMATCHING -void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateMapObjectIsOffscreen(struct MapObject *mapObject, struct Sprite *sprite) { - u16 x; - u16 y; - s16 x2; - s16 y2; + u16 x, y; + s16 x2, y2; const struct MapObjectGraphicsInfo *graphicsInfo; mapObject->offScreen = 0; graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); @@ -8544,13 +7053,15 @@ void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) { x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY; - } else + } + else { x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX; y = sprite->pos1.y + sprite->pos2.y + sprite->centerToCornerVecY; } - x2 = graphicsInfo->width + x; // offending line - y2 = graphicsInfo->height + y; // similarly offending line + + x2 = graphicsInfo->width + (s16)x; + y2 = graphicsInfo->height + (s16)y; if ((s16)x >= 0x100 || x2 < -0x10) { mapObject->offScreen = 1; @@ -8560,130 +7071,8 @@ void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) mapObject->offScreen = 1; } } -#else -NAKED -void sub_80634E8(struct MapObject *mapObject, struct Sprite *sprite) { - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - adds r5, r0, 0\n\ - adds r4, r1, 0\n\ - ldrb r1, [r5, 0x1]\n\ - movs r0, 0x41\n\ - negs r0, r0\n\ - ands r0, r1\n\ - strb r0, [r5, 0x1]\n\ - ldrb r0, [r5, 0x5]\n\ - bl GetFieldObjectGraphicsInfo\n\ - adds r6, r0, 0\n\ - adds r0, r4, 0\n\ - adds r0, 0x3E\n\ - ldrb r1, [r0]\n\ - movs r0, 0x2\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _0806354C\n\ - ldrh r1, [r4, 0x24]\n\ - ldrh r0, [r4, 0x20]\n\ - adds r1, r0\n\ - adds r0, r4, 0\n\ - adds r0, 0x28\n\ - ldrb r0, [r0]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - ldr r2, _08063544 @ =gSpriteCoordOffsetX\n\ - adds r0, r1\n\ - ldrh r2, [r2]\n\ - adds r0, r2\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - ldrh r1, [r4, 0x26]\n\ - ldrh r0, [r4, 0x22]\n\ - adds r1, r0\n\ - adds r0, r4, 0\n\ - adds r0, 0x29\n\ - ldrb r0, [r0]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - ldr r2, _08063548 @ =gSpriteCoordOffsetY\n\ - adds r0, r1\n\ - ldrh r2, [r2]\n\ - adds r0, r2\n\ - b _08063574\n\ - .align 2, 0\n\ -_08063544: .4byte gSpriteCoordOffsetX\n\ -_08063548: .4byte gSpriteCoordOffsetY\n\ -_0806354C:\n\ - ldrh r1, [r4, 0x24]\n\ - ldrh r0, [r4, 0x20]\n\ - adds r1, r0\n\ - adds r0, r4, 0\n\ - adds r0, 0x28\n\ - ldrb r0, [r0]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - adds r0, r1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - ldrh r1, [r4, 0x26]\n\ - ldrh r0, [r4, 0x22]\n\ - adds r1, r0\n\ - adds r0, r4, 0\n\ - adds r0, 0x29\n\ - ldrb r0, [r0]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - adds r0, r1\n\ -_08063574:\n\ - lsls r0, 16\n\ - lsrs r2, r0, 16\n\ - ldrh r0, [r6, 0x8]\n\ - adds r0, r3\n\ - lsls r0, 16\n\ - lsrs r1, r0, 16\n\ - ldrh r0, [r6, 0xA]\n\ - adds r0, r2\n\ - lsls r0, 16\n\ - lsrs r4, r0, 16\n\ - lsls r0, r3, 16\n\ - asrs r0, 16\n\ - cmp r0, 0xFF\n\ - bgt _0806359C\n\ - lsls r0, r1, 16\n\ - asrs r0, 16\n\ - movs r1, 0x10\n\ - negs r1, r1\n\ - cmp r0, r1\n\ - bge _080635A4\n\ -_0806359C:\n\ - ldrb r0, [r5, 0x1]\n\ - movs r1, 0x40\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x1]\n\ -_080635A4:\n\ - lsls r0, r2, 16\n\ - asrs r0, 16\n\ - cmp r0, 0xAF\n\ - bgt _080635B8\n\ - lsls r0, r4, 16\n\ - asrs r0, 16\n\ - movs r1, 0x10\n\ - negs r1, r1\n\ - cmp r0, r1\n\ - bge _080635C0\n\ -_080635B8:\n\ - ldrb r0, [r5, 0x1]\n\ - movs r1, 0x40\n\ - orrs r0, r1\n\ - strb r0, [r5, 0x1]\n\ -_080635C0:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ -.syntax divided\n"); -} -#endif -void UpdateMapObjSpriteVisibility(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateMapObjSpriteVisibility(struct MapObject *mapObject, struct Sprite *sprite) { sprite->invisible = 0; if (mapObject->invisible || mapObject->offScreen) @@ -8692,32 +7081,6 @@ void UpdateMapObjSpriteVisibility(struct MapObject *mapObject, struct Sprite *sp } } -static void nullsub(struct MapObject *mapObj, struct Sprite *sprite, u8); -static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Sprite *sprite, u8); -static void DoTracksGroundEffect_BikeTireTracks( -struct MapObject *mapObj, struct Sprite *sprite, u8); -void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_MoveOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_SpawnOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_MoveOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_WaterReflection(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_IceReflection(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_FlowingWater(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_SandTracks(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_DeepSandTracks(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_Ripple(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_StepOnPuddle(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_SandPile(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_JumpOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_JumpOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_JumpOnShallowWater(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_JumpOnWater(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_JumpLandingDust(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_ShortGrass(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_HotSprings(struct MapObject *mapObj, struct Sprite *sprite); -void GroundEffect_Seaweed(struct MapObject *mapObj, struct Sprite *sprite); -u8 GetReflectionTypeByMetatileBehavior(u32 behavior); - static void GetAllGroundEffectFlags_OnSpawn(struct MapObject *mapObj, u32 *flags) { FieldObjectUpdateMetatileBehaviors(mapObj); @@ -8988,7 +7351,7 @@ u8 FieldObjectCheckForReflectiveSurface(struct MapObject *mapObj) #undef RETURN_REFLECTION_TYPE_AT } -u8 GetReflectionTypeByMetatileBehavior(u32 behavior) +static u8 GetReflectionTypeByMetatileBehavior(u32 behavior) { if (MetatileBehavior_IsIce(behavior)) return 1; @@ -9024,7 +7387,7 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) return 0; } -void FieldObjectSetSpriteOamTableForLongGrass(struct MapObject *mapObj, struct Sprite *sprite) +void SetMapObjectSpriteOamTableForLongGrass(struct MapObject *mapObj, struct Sprite *sprite) { if (mapObj->disableCoveringGroundEffects) return; @@ -9077,7 +7440,7 @@ static const u8 sFieldObjectPriorities_08376070[] = { 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, }; -void FieldObjectUpdateZCoordAndPriority(struct MapObject *mapObj, struct Sprite *sprite) +void UpdateMapObjectZCoordAndPriority(struct MapObject *mapObj, struct Sprite *sprite) { if (mapObj->fixedPriority) return; @@ -9123,7 +7486,7 @@ void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) sprite->subpriority = tmp3 + sUnknown_08376050[a] + b; } -void FieldObjectUpdateSubpriority(struct MapObject *mapObj, struct Sprite *sprite) +static void FieldObjectUpdateSubpriority(struct MapObject *mapObj, struct Sprite *sprite) { if (mapObj->fixedPriority) return; @@ -9209,20 +7572,20 @@ void GroundEffect_FlowingWater(struct MapObject *mapObj, struct Sprite *sprite) StartFieldEffectForMapObject(FLDEFF_FEET_IN_FLOWING_WATER, mapObj); } -static void (*const gUnknown_08376080[])(struct MapObject *mapObj, struct Sprite *sprite, u8 a) = { +static void (*const sGroundEffectTracksFuncs[])(struct MapObject *mapObj, struct Sprite *sprite, u8 a) = { nullsub, DoTracksGroundEffect_Footprints, DoTracksGroundEffect_BikeTireTracks, }; void GroundEffect_SandTracks(struct MapObject *mapObj, struct Sprite *sprite) { const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(mapObj->graphicsId); - gUnknown_08376080[info->tracks](mapObj, sprite, 0); + sGroundEffectTracksFuncs[info->tracks](mapObj, sprite, 0); } void GroundEffect_DeepSandTracks(struct MapObject *mapObj, struct Sprite *sprite) { const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(mapObj->graphicsId); - gUnknown_08376080[info->tracks](mapObj, sprite, 1); + sGroundEffectTracksFuncs[info->tracks](mapObj, sprite, 1); } static void nullsub(struct MapObject *mapObj, struct Sprite *sprite, u8 a) @@ -9245,8 +7608,7 @@ static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Spr FieldEffectStart(sandFootprints_FieldEffectData[a]); } -static void DoTracksGroundEffect_BikeTireTracks( - struct MapObject *mapObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_BikeTireTracks(struct MapObject *mapObj, struct Sprite *sprite, u8 a) { // Specifies which bike track shape to show next. // For example, when the bike turns from up to right, it will show @@ -9389,7 +7751,7 @@ static void StartTriggeredGroundEffects(struct MapObject *mapObj, struct Sprite sGroundEffectFuncs[i](mapObj, sprite); } -void filters_out_some_ground_effects(struct MapObject *mapObj, u32 *flags) +void FilterOutDisabledCoveringGroundEffects(struct MapObject *mapObj, u32 *flags) { if (mapObj->disableCoveringGroundEffects) { @@ -9411,49 +7773,49 @@ void FilterOutStepOnPuddleGroundEffectIfJumping(struct MapObject *mapObj, u32 *f *flags &= ~GROUND_EFFECT_FLAG_PUDDLE; } -void DoGroundEffects_OnSpawn(struct MapObject *mapObj, struct Sprite *sprite) +static void DoGroundEffects_OnSpawn(struct MapObject *mapObj, struct Sprite *sprite) { u32 flags; if (mapObj->triggerGroundEffectsOnMove) { flags = 0; - FieldObjectUpdateZCoordAndPriority(mapObj, sprite); + UpdateMapObjectZCoordAndPriority(mapObj, sprite); GetAllGroundEffectFlags_OnSpawn(mapObj, &flags); - FieldObjectSetSpriteOamTableForLongGrass(mapObj, sprite); + SetMapObjectSpriteOamTableForLongGrass(mapObj, sprite); StartTriggeredGroundEffects(mapObj, sprite, flags); mapObj->triggerGroundEffectsOnMove = 0; mapObj->disableCoveringGroundEffects = 0; } } -void DoGroundEffects_OnBeginStep(struct MapObject *mapObj, struct Sprite *sprite) +static void DoGroundEffects_OnBeginStep(struct MapObject *mapObj, struct Sprite *sprite) { u32 flags; if (mapObj->triggerGroundEffectsOnMove) { flags = 0; - FieldObjectUpdateZCoordAndPriority(mapObj, sprite); + UpdateMapObjectZCoordAndPriority(mapObj, sprite); GetAllGroundEffectFlags_OnBeginStep(mapObj, &flags); - FieldObjectSetSpriteOamTableForLongGrass(mapObj, sprite); - filters_out_some_ground_effects(mapObj, &flags); + SetMapObjectSpriteOamTableForLongGrass(mapObj, sprite); + FilterOutDisabledCoveringGroundEffects(mapObj, &flags); StartTriggeredGroundEffects(mapObj, sprite, flags); mapObj->triggerGroundEffectsOnMove = 0; mapObj->disableCoveringGroundEffects = 0; } } -void DoGroundEffects_OnFinishStep(struct MapObject *mapObj, struct Sprite *sprite) +static void DoGroundEffects_OnFinishStep(struct MapObject *mapObj, struct Sprite *sprite) { u32 flags; if (mapObj->triggerGroundEffectsOnStop) { flags = 0; - FieldObjectUpdateZCoordAndPriority(mapObj, sprite); + UpdateMapObjectZCoordAndPriority(mapObj, sprite); GetAllGroundEffectFlags_OnFinishStep(mapObj, &flags); - FieldObjectSetSpriteOamTableForLongGrass(mapObj, sprite); + SetMapObjectSpriteOamTableForLongGrass(mapObj, sprite); FilterOutStepOnPuddleGroundEffectIfJumping(mapObj, &flags); StartTriggeredGroundEffects(mapObj, sprite, flags); mapObj->triggerGroundEffectsOnStop = 0; @@ -9461,95 +7823,6 @@ void DoGroundEffects_OnFinishStep(struct MapObject *mapObj, struct Sprite *sprit } } -typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); - -void Step1(struct Sprite *sprite, u8 dir); -void Step2(struct Sprite *sprite, u8 dir); -void Step3(struct Sprite *sprite, u8 dir); -void Step4(struct Sprite *sprite, u8 dir); -void Step8(struct Sprite *sprite, u8 dir); - -const SpriteStepFunc Unknown_83760F0[] = { - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1, - Step1 -}; - -const SpriteStepFunc Unknown_8376130[] = { - Step2, - Step2, - Step2, - Step2, - Step2, - Step2, - Step2, - Step2 -}; - -const SpriteStepFunc Unknown_8376150[] = { - Step2, - Step3, - Step3, - Step2, - Step3, - Step3 -}; - -const SpriteStepFunc Unknown_8376168[] = { - Step4, - Step4, - Step4, - Step4 -}; - -const SpriteStepFunc Unknown_8376178[] = { - Step8, - Step8 -}; - -const SpriteStepFunc *const gUnknown_08376180[] = { - Unknown_83760F0, - Unknown_8376130, - Unknown_8376150, - Unknown_8376168, - Unknown_8376178 -}; - -const s16 gUnknown_08376194[] = { - 16, 8, 6, 4, 2 -}; - -const s8 Unknown_837619E[] = { - -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 -}; - -const s8 Unknown_83761AE[] = { - 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 -}; - -const s8 Unknown_83761BE[] = { - -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 -}; - -const s8 *const gUnknown_083761D0[] = { - Unknown_837619E, - Unknown_83761AE, - Unknown_83761BE -}; - bool8 FreezeMapObject(struct MapObject *mapObject) { if (mapObject->heldMovementActive || mapObject->frozen) @@ -9575,11 +7848,11 @@ void FreezeMapObjects(void) FreezeMapObject(&gMapObjects[i]); } -void FreezeMapObjectsExceptOne(u8 a1) +void FreezeMapObjectsExceptOne(u8 mapObjectId) { u8 i; for (i = 0; i < 16; i++) - if (i != a1 && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) + if (i != mapObjectId && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) FreezeMapObject(&gMapObjects[i]); } @@ -9601,43 +7874,108 @@ void UnfreezeMapObjects(void) UnfreezeMapObject(&gMapObjects[i]); } -void Step1(struct Sprite *sprite, u8 dir) +static void Step1(struct Sprite *sprite, u8 dir) { sprite->pos1.x += gDirectionToVectors[dir].x; sprite->pos1.y += gDirectionToVectors[dir].y; } -void Step2(struct Sprite *sprite, u8 dir) +static void Step2(struct Sprite *sprite, u8 dir) { sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x; sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y; } -void Step3(struct Sprite *sprite, u8 dir) +static 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; } -void Step4(struct Sprite *sprite, u8 dir) +static void Step4(struct Sprite *sprite, u8 dir) { sprite->pos1.x += 4 * (u16) gDirectionToVectors[dir].x; sprite->pos1.y += 4 * (u16) gDirectionToVectors[dir].y; } -void Step8(struct Sprite *sprite, u8 dir) +static void Step8(struct Sprite *sprite, u8 dir) { sprite->pos1.x += 8 * (u16) gDirectionToVectors[dir].x; sprite->pos1.y += 8 * (u16) gDirectionToVectors[dir].y; } -void oamt_npc_ministep_reset(struct Sprite *sprite, u8 direction, u8 a3) +static void oamt_npc_ministep_reset(struct Sprite *sprite, u8 direction, u8 a3) { sprite->data[3] = direction; sprite->data[4] = a3; sprite->data[5] = 0; } +typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 direction); + +static const SpriteStepFunc Unknown_83760F0[] = { + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1 +}; + +static const SpriteStepFunc Unknown_8376130[] = { + Step2, + Step2, + Step2, + Step2, + Step2, + Step2, + Step2, + Step2 +}; + +static const SpriteStepFunc Unknown_8376150[] = { + Step2, + Step3, + Step3, + Step2, + Step3, + Step3 +}; + +static const SpriteStepFunc Unknown_8376168[] = { + Step4, + Step4, + Step4, + Step4 +}; + +static const SpriteStepFunc Unknown_8376178[] = { + Step8, + Step8 +}; + +static const SpriteStepFunc *const gUnknown_08376180[] = { + Unknown_83760F0, + Unknown_8376130, + Unknown_8376150, + Unknown_8376168, + Unknown_8376178 +}; + +static const s16 gUnknown_08376194[] = { + 16, 8, 6, 4, 2 +}; + bool8 obj_npc_ministep(struct Sprite *sprite) { if (sprite->data[5] >= gUnknown_08376194[sprite->data[4]]) @@ -9676,6 +8014,24 @@ bool8 sub_806468C(struct Sprite *sprite) return FALSE; } +static const s8 Unknown_837619E[] = { + -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 +}; + +static const s8 Unknown_83761AE[] = { + 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 +}; + +static const s8 Unknown_83761BE[] = { + -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 +}; + +static const s8 *const gUnknown_083761D0[] = { + Unknown_837619E, + Unknown_83761AE, + Unknown_83761BE +}; + s16 sub_80646C8(s16 a1, u8 a2) { return gUnknown_083761D0[a2][a1]; diff --git a/src/field_camera.c b/src/field_camera.c index e360a4ad6..8807e2cd7 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -402,7 +402,7 @@ void CameraUpdate(void) if (deltaX != 0 || deltaY != 0) { CameraMove(deltaX, deltaY); - UpdateFieldObjectsForCameraUpdate(deltaX, deltaY); + UpdateMapObjectsForCameraUpdate(deltaX, deltaY); RotatingGatePuzzleCameraUpdate(deltaX, deltaY); ResetBerryTreeSparkleFlags(); tilemap_move_something(&gUnknown_03000590, deltaX * 2, deltaY * 2); @@ -417,7 +417,7 @@ void CameraUpdate(void) void camera_move_and_redraw(int a, int b) { CameraMove(a, b); - UpdateFieldObjectsForCameraUpdate(a, b); + UpdateMapObjectsForCameraUpdate(a, b); DrawWholeMapView(); gUnknown_0300489C -= a * 16; gUnknown_03004898 -= b * 16; diff --git a/src/field_effect.c b/src/field_effect.c index bf8324d9a..8e49bd466 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2003,7 +2003,7 @@ void sub_8087914(struct Task *task) { if (task->data[14] == 0 && !gPaletteFade.active && sub_8054034() == TRUE) { - FieldObjectSetDirection(mapObject, task->data[15]); + SetFieldObjectDirection(mapObject, task->data[15]); sub_8053678(); warp_in(); gFieldCallback = mapldr_080859D4; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 0a4696a33..6b5f94d0d 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -196,7 +196,7 @@ static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) = sub_805A1B8, }; -fieldmap_object_empty_callback(MovementType_Player, MovementType_Player_Callback); +movement_type_empty_callback(MovementType_Player); void player_step(u8 direction, u16 newKeys, u16 heldKeys) { @@ -295,7 +295,7 @@ bool8 ForcedMovement_None(void) playerMapObj->facingDirectionLocked = 0; playerMapObj->enableAnim = 1; - FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); + SetFieldObjectDirection(playerMapObj, playerMapObj->facingDirection); gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_6; } return FALSE; @@ -979,7 +979,7 @@ void sub_80597F4(void) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; npc_clear_strange_bits(playerMapObj); - FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); + SetFieldObjectDirection(playerMapObj, playerMapObj->facingDirection); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) { Bike_HandleBumpySlopeJump(); @@ -1135,8 +1135,8 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) playerMapObjTemplate.movementType = MOVEMENT_TYPE_PLAYER; playerMapObjTemplate.movementRangeX = 0; playerMapObjTemplate.movementRangeY = 0; - playerMapObjTemplate.unkC = 0; - playerMapObjTemplate.unkE = 0; + playerMapObjTemplate.trainerType = 0; + playerMapObjTemplate.trainerRange_berryTreeId = 0; playerMapObjTemplate.script = NULL; playerMapObjTemplate.flagId = 0; mapObjectId = SpawnSpecialFieldObject(&playerMapObjTemplate); diff --git a/src/field_specials.c b/src/field_specials.c index 95613d86e..9972c954e 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2040,9 +2040,9 @@ u16 ScriptGetPartyMonSpecies(void) return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); } -void sub_810F8FC(void) +void TryInitBattleTowerAwardManMapObject(void) { - sub_805ADDC(6); + TryInitLocalFieldObject(6); } u16 GetDaysUntilPacifidlogTMAvailable(void) diff --git a/src/overworld.c b/src/overworld.c index 54bdf0c6d..ec1ab8e28 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2475,29 +2475,29 @@ bool32 sub_8055940(void) return TRUE; } -void ZeroLinkPlayerMapObject(struct LinkPlayerMapObject *linkPlayerMapObj) +void ClearLinkPlayerMapObject(struct LinkPlayerMapObject *linkPlayerMapObj) { memset(linkPlayerMapObj, 0, sizeof(struct LinkPlayerMapObject)); } -void strange_npc_table_clear(void) +void ClearLinkPlayerMapObjects(void) { memset(gLinkPlayerMapObjects, 0, sizeof(gLinkPlayerMapObjects)); } -void ZeroMapObject(struct MapObject *mapObj) +static void ClearMapObject(struct MapObject *mapObj) { memset(mapObj, 0, sizeof(struct MapObject)); } void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) { - u8 mapObjId = sub_805AB54(); + u8 mapObjId = GetFirstInactiveMapObjectId(); struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId]; struct MapObject *mapObj = &gMapObjects[mapObjId]; - ZeroLinkPlayerMapObject(linkPlayerMapObj); - ZeroMapObject(mapObj); + ClearLinkPlayerMapObject(linkPlayerMapObj); + ClearMapObject(mapObj); linkPlayerMapObj->active = 1; linkPlayerMapObj->linkPlayerId = linkPlayerId; @@ -2645,7 +2645,7 @@ static u8 sub_8055CB0(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapOb else { mapObj->directionSequenceIndex = 16; - npc_coords_shift(mapObj, x, y); + ShiftMapObjectCoords(mapObj, x, y); FieldObjectUpdateZCoord(mapObj); return 1; } @@ -2669,7 +2669,7 @@ static void sub_8055D38(struct LinkPlayerMapObject *linkPlayerMapObj, struct Map MoveCoords(mapObj->range.as_byte, &mapObj->initialCoords.x, &mapObj->initialCoords.y); if (!mapObj->directionSequenceIndex) { - npc_coords_shift_still(mapObj); + ShiftStillMapObjectCoords(mapObj); linkPlayerMapObj->mode = 2; } } diff --git a/src/scrcmd.c b/src/scrcmd.c index d382c66c3..9ab124601 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1068,7 +1068,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - sub_805C78C(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + TryOverrideTemplateCoordsForMapObject(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); return FALSE; } diff --git a/src/secret_base.c b/src/secret_base.c index cf66db03b..21fa8581e 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -518,7 +518,7 @@ void sub_80BBDD0(void) FlagClear(gSpecialVar_0x8004 + 0xAE); show_sprite(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); sub_805C0F8(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - sub_805C78C(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + TryOverrideTemplateCoordsForMapObject(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); gSpecialVar_0x8004 ++; } } diff --git a/src/trainer_see.c b/src/trainer_see.c index 65c281ca1..4c51670cb 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -165,7 +165,7 @@ static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 a for (i = 0; i <= approachDistance - 1; i++, MoveCoords(direction, &x, &y)) { - collision = sub_8060024(trainerObj, x, y, direction); + collision = GetCollisionFlagsAtCoords(trainerObj, x, y, direction); if (collision != 0 && (collision & COLLISION_MASK)) return FALSE; } @@ -314,8 +314,8 @@ static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainer return FALSE; SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); - sub_805C774(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); - sub_805C754(trainerObj); + OverrideMovementTypeForMapObject(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideTemplateCoordsForMapObject(trainerObj); playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; if (FieldObjectIsMovementOverridden(playerObj) && !FieldObjectClearHeldMovementIfFinished(playerObj)) @@ -431,7 +431,7 @@ void sub_80846E4(u8 taskId) if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { SetTrainerMovementType(mapObj, GetTrainerFacingDirectionMovementType(mapObj->facingDirection)); - sub_805C774(mapObj, GetTrainerFacingDirectionMovementType(mapObj->facingDirection)); + OverrideMovementTypeForMapObject(mapObj, GetTrainerFacingDirectionMovementType(mapObj->facingDirection)); DestroyTask(taskId); } else -- cgit v1.2.3 From 5df6fa5c08a19fb89308f6131dceef721cc5a3d0 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 29 May 2018 17:53:42 -0500 Subject: Unify 'map object' and 'field object' terms into 'event object' --- src/battle/battle_records.c | 6 +- src/battle/battle_setup.c | 38 +- src/battle_tower.c | 104 +- src/berry.c | 44 +- src/bike.c | 124 +- src/braille_puzzles.c | 2 +- src/cable_car.c | 20 +- src/contest.c | 6 +- src/data/field_event_obj/base_oam.h | 56 + .../field_event_obj/berry_tree_graphics_tables.h | 573 +++ src/data/field_event_obj/event_object_anims.h | 886 +++++ src/data/field_event_obj/event_object_graphics.h | 1319 +++++++ .../field_event_obj/event_object_graphics_info.h | 227 ++ .../event_object_graphics_info_pointers.h | 448 +++ src/data/field_event_obj/event_object_pic_tables.h | 1879 +++++++++ src/data/field_event_obj/event_object_subsprites.h | 345 ++ .../field_event_obj/field_effect_object_graphics.h | 149 + .../field_effect_object_template_pointers.h | 84 + src/data/field_event_obj/field_effect_objects.h | 897 +++++ .../field_event_obj/movement_action_func_tables.h | 1356 +++++++ .../field_event_obj/movement_type_func_tables.h | 438 +++ src/data/field_map_obj/base_oam.h | 56 - .../field_map_obj/berry_tree_graphics_tables.h | 573 --- .../field_map_obj/field_effect_object_graphics.h | 149 - .../field_effect_object_template_pointers.h | 84 - src/data/field_map_obj/field_effect_objects.h | 897 ----- src/data/field_map_obj/map_object_anims.h | 886 ----- src/data/field_map_obj/map_object_graphics.h | 1319 ------- src/data/field_map_obj/map_object_graphics_info.h | 227 -- .../map_object_graphics_info_pointers.h | 448 --- src/data/field_map_obj/map_object_pic_tables.h | 1879 --------- src/data/field_map_obj/map_object_subsprites.h | 345 -- .../field_map_obj/movement_action_func_tables.h | 1356 ------- src/data/field_map_obj/movement_type_func_tables.h | 438 --- src/decoration.c | 148 +- src/easy_chat_2.c | 12 +- src/event_data.c | 2 +- src/event_obj_lock.c | 117 + src/event_object_movement.c | 4094 ++++++++++---------- src/field_camera.c | 4 +- src/field_control_avatar.c | 46 +- src/field_effect.c | 376 +- src/field_effect_helpers.c | 320 +- src/field_fadetransition.c | 54 +- src/field_player_avatar.c | 474 +-- src/field_special_scene.c | 8 +- src/field_specials.c | 16 +- src/fldeff_berrytree.c | 14 +- src/fldeff_cut.c | 8 +- src/fldeff_decoration.c | 4 +- src/fldeff_strength.c | 6 +- src/item_menu.c | 2 +- src/item_use.c | 12 +- src/load_save.c | 12 +- src/map_obj_lock.c | 117 - src/mauville_man.c | 4 +- src/menu.c | 2 +- src/naming_screen.c | 2 +- src/overworld.c | 304 +- src/rom6.c | 28 +- src/scrcmd.c | 46 +- src/script_movement.c | 44 +- src/secret_base.c | 14 +- src/shop.c | 22 +- src/start_menu.c | 4 +- src/trainer_card.c | 4 +- src/trainer_see.c | 188 +- src/tv.c | 4 +- 68 files changed, 12084 insertions(+), 12086 deletions(-) create mode 100644 src/data/field_event_obj/base_oam.h create mode 100644 src/data/field_event_obj/berry_tree_graphics_tables.h create mode 100644 src/data/field_event_obj/event_object_anims.h create mode 100755 src/data/field_event_obj/event_object_graphics.h create mode 100644 src/data/field_event_obj/event_object_graphics_info.h create mode 100644 src/data/field_event_obj/event_object_graphics_info_pointers.h create mode 100644 src/data/field_event_obj/event_object_pic_tables.h create mode 100644 src/data/field_event_obj/event_object_subsprites.h create mode 100755 src/data/field_event_obj/field_effect_object_graphics.h create mode 100644 src/data/field_event_obj/field_effect_object_template_pointers.h create mode 100644 src/data/field_event_obj/field_effect_objects.h create mode 100644 src/data/field_event_obj/movement_action_func_tables.h create mode 100644 src/data/field_event_obj/movement_type_func_tables.h delete mode 100644 src/data/field_map_obj/base_oam.h delete mode 100644 src/data/field_map_obj/berry_tree_graphics_tables.h delete mode 100755 src/data/field_map_obj/field_effect_object_graphics.h delete mode 100644 src/data/field_map_obj/field_effect_object_template_pointers.h delete mode 100644 src/data/field_map_obj/field_effect_objects.h delete mode 100644 src/data/field_map_obj/map_object_anims.h delete mode 100755 src/data/field_map_obj/map_object_graphics.h delete mode 100644 src/data/field_map_obj/map_object_graphics_info.h delete mode 100644 src/data/field_map_obj/map_object_graphics_info_pointers.h delete mode 100644 src/data/field_map_obj/map_object_pic_tables.h delete mode 100644 src/data/field_map_obj/map_object_subsprites.h delete mode 100644 src/data/field_map_obj/movement_action_func_tables.h delete mode 100644 src/data/field_map_obj/movement_type_func_tables.h create mode 100644 src/event_obj_lock.c delete mode 100644 src/map_obj_lock.c (limited to 'src') diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index 8b9cf9ea0..4375fc32f 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -14,7 +14,7 @@ struct DebugStruct1 u8 var1[10]; }; -extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; +extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4]; extern u8 gBattleOutcome; #if DEBUG @@ -220,7 +220,7 @@ void UpdateLinkBattleRecords(int id) gTrainerCards[id].playerName, gTrainerCards[id].trainerId, gBattleOutcome, - gLinkPlayers[gLinkPlayerMapObjects[id].linkPlayerId].language); + gLinkPlayers[gLinkPlayerEventObjects[id].linkPlayerId].language); } #if DEBUG @@ -238,7 +238,7 @@ void debug_sub_81257E0(void) gUnknown_Debug_4245CC[id].var1, gUnknown_Debug_4245CC[id].var0, gUnknown_Debug_8424620[i].unk1, - gLinkPlayers[gLinkPlayerMapObjects[id].linkPlayerId].language); + gLinkPlayers[gLinkPlayerEventObjects[id].linkPlayerId].language); } } #endif diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index fbc448616..b5c362258 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -38,7 +38,7 @@ extern void (*gFieldCallback)(void); EWRAM_DATA static u16 sTrainerBattleMode = 0; EWRAM_DATA u16 gTrainerBattleOpponent = 0; -EWRAM_DATA static u16 sTrainerMapObjectLocalId = 0; +EWRAM_DATA static u16 sTrainerEventObjectLocalId = 0; EWRAM_DATA static u8 *sTrainerIntroSpeech = NULL; EWRAM_DATA static u8 *sTrainerDefeatSpeech = NULL; EWRAM_DATA static u8 *sTrainerVictorySpeech = NULL; @@ -50,7 +50,7 @@ extern u16 gBattleTypeFlags; extern u16 gSpecialVar_LastTalked; extern u8 gBattleOutcome; -extern struct MapObject gMapObjects[]; +extern struct EventObject gEventObjects[]; extern u8 gUnknown_0819F818[]; extern u8 gUnknown_0819F840[]; @@ -99,7 +99,7 @@ static const struct TrainerBattleParameter gTrainerBattleSpecs_0[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -111,7 +111,7 @@ static const struct TrainerBattleParameter gTrainerBattleSpecs_1[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -123,7 +123,7 @@ static const struct TrainerBattleParameter gTrainerBattleSpecs_2[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -135,7 +135,7 @@ static const struct TrainerBattleParameter gTrainerBattleSpecs_3[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerIntroSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, {&sTrainerDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -147,7 +147,7 @@ static const struct TrainerBattleParameter gTrainerBattleSpecs_4[] = { {&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT}, {&gTrainerBattleOpponent, TRAINER_PARAM_LOAD_VAL_16BIT}, - {&sTrainerMapObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, + {&sTrainerEventObjectLocalId, TRAINER_PARAM_LOAD_VAL_16BIT}, {&sTrainerIntroSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerDefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT}, {&sTrainerVictorySpeech, TRAINER_PARAM_CLEAR_VAL_32BIT}, @@ -514,7 +514,7 @@ void BattleSetup_StartWildBattle(void) static void DoStandardWildBattle(void) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); sub_80597F4(); gMain.savedCallback = CB2_EndWildBattle; gBattleTypeFlags = 0; @@ -526,7 +526,7 @@ static void DoStandardWildBattle(void) void BattleSetup_StartRoamerBattle(void) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); sub_80597F4(); gMain.savedCallback = CB2_EndWildBattle; gBattleTypeFlags = BATTLE_TYPE_ROAMER; @@ -538,7 +538,7 @@ void BattleSetup_StartRoamerBattle(void) static void DoSafariBattle(void) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); sub_80597F4(); gMain.savedCallback = sub_80C824C; gBattleTypeFlags = BATTLE_TYPE_SAFARI; @@ -932,7 +932,7 @@ static void ResetTrainerOpponentIds(void) { sTrainerBattleMode = 0; gTrainerBattleOpponent = 0; - sTrainerMapObjectLocalId = 0; + sTrainerEventObjectLocalId = 0; sTrainerIntroSpeech = 0; sTrainerDefeatSpeech = 0; sTrainerVictorySpeech = 0; @@ -978,10 +978,10 @@ static void TrainerBattleLoadArgs(const struct TrainerBattleParameter *specs, co static void SetMapVarsToTrainer(void) { - if (sTrainerMapObjectLocalId) + if (sTrainerEventObjectLocalId) { - gSpecialVar_LastTalked = sTrainerMapObjectLocalId; - gSelectedMapObject = GetFieldObjectIdByLocalIdAndMap(sTrainerMapObjectLocalId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + gSpecialVar_LastTalked = sTrainerEventObjectLocalId; + gSelectedEventObject = GetEventObjectIdByLocalIdAndMap(sTrainerEventObjectLocalId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } } @@ -1026,10 +1026,10 @@ u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) } } -void TrainerWantsBattle(u8 trainerMapObjId, u8 *trainerScript) +void TrainerWantsBattle(u8 trainerEventObjId, u8 *trainerScript) { - gSelectedMapObject = trainerMapObjId; - gSpecialVar_LastTalked = gMapObjects[trainerMapObjId].localId; + gSelectedEventObject = trainerEventObjId; + gSpecialVar_LastTalked = gEventObjects[trainerEventObjId].localId; BattleSetup_ConfigureTrainerBattle(trainerScript + 1); ScriptContext1_SetupScript(gUnknown_0819F80B); ScriptContext2_Enable(); @@ -1043,9 +1043,9 @@ bool32 GetTrainerFlagFromScriptPointer(u8 *data) void sub_8082524(void) { - struct MapObject *mapObject = &gMapObjects[gSelectedMapObject]; + struct EventObject *eventObject = &gEventObjects[gSelectedEventObject]; - SetTrainerMovementType(mapObject, GetTrainerFacingDirectionMovementType(mapObject->facingDirection)); + SetTrainerMovementType(eventObject, GetTrainerFacingDirectionMovementType(eventObject->facingDirection)); } u8 ScrSpecial_GetTrainerBattleMode(void) diff --git a/src/battle_tower.c b/src/battle_tower.c index 8659f202f..99e8af4b2 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -10,7 +10,7 @@ #include "item.h" #include "constants/items.h" #include "main.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "constants/moves.h" #include "new_game.h" #include "overworld.h" @@ -163,60 +163,60 @@ static const u8 sFemaleTrainerClasses[] = static const u8 sMaleTrainerGfxIds[] = { - MAP_OBJ_GFX_HIKER, - MAP_OBJ_GFX_TUBER_M, - MAP_OBJ_GFX_MAN_4, - MAP_OBJ_GFX_BOY_4, - MAP_OBJ_GFX_MANIAC, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, - MAP_OBJ_GFX_BLACK_BELT, - MAP_OBJ_GFX_MAN_6, - MAP_OBJ_GFX_MAN_6, - MAP_OBJ_GFX_CAMPER, - MAP_OBJ_GFX_MANIAC, - MAP_OBJ_GFX_PSYCHIC_M, - MAP_OBJ_GFX_GENTLEMAN, - MAP_OBJ_GFX_SCHOOL_KID_M, - MAP_OBJ_GFX_MAN_3, - MAP_OBJ_GFX_OLD_MAN_1, - MAP_OBJ_GFX_YOUNGSTER, - MAP_OBJ_GFX_FISHERMAN, - MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, - MAP_OBJ_GFX_MAN_4, - MAP_OBJ_GFX_MAN_6, - MAP_OBJ_GFX_LITTLE_BOY_1, - MAP_OBJ_GFX_SAILOR, - MAP_OBJ_GFX_MANIAC, - MAP_OBJ_GFX_MAN_5, - MAP_OBJ_GFX_CAMPER, - MAP_OBJ_GFX_BUG_CATCHER, - MAP_OBJ_GFX_HIKER, + EVENT_OBJ_GFX_HIKER, + EVENT_OBJ_GFX_TUBER_M, + EVENT_OBJ_GFX_MAN_4, + EVENT_OBJ_GFX_BOY_4, + EVENT_OBJ_GFX_MANIAC, + EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, + EVENT_OBJ_GFX_BLACK_BELT, + EVENT_OBJ_GFX_MAN_6, + EVENT_OBJ_GFX_MAN_6, + EVENT_OBJ_GFX_CAMPER, + EVENT_OBJ_GFX_MANIAC, + EVENT_OBJ_GFX_PSYCHIC_M, + EVENT_OBJ_GFX_GENTLEMAN, + EVENT_OBJ_GFX_SCHOOL_KID_M, + EVENT_OBJ_GFX_MAN_3, + EVENT_OBJ_GFX_OLD_MAN_1, + EVENT_OBJ_GFX_YOUNGSTER, + EVENT_OBJ_GFX_FISHERMAN, + EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, + EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, + EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, + EVENT_OBJ_GFX_MAN_4, + EVENT_OBJ_GFX_MAN_6, + EVENT_OBJ_GFX_LITTLE_BOY_1, + EVENT_OBJ_GFX_SAILOR, + EVENT_OBJ_GFX_MANIAC, + EVENT_OBJ_GFX_MAN_5, + EVENT_OBJ_GFX_CAMPER, + EVENT_OBJ_GFX_BUG_CATCHER, + EVENT_OBJ_GFX_HIKER, }; static const u8 sFemaleTrainerGfxIds[] = { - MAP_OBJ_GFX_WOMAN_3, - MAP_OBJ_GFX_TUBER_F, - MAP_OBJ_GFX_WOMAN_7, - MAP_OBJ_GFX_WOMAN_1, - MAP_OBJ_GFX_WOMAN_3, - MAP_OBJ_GFX_BEAUTY, - MAP_OBJ_GFX_LASS, - MAP_OBJ_GFX_GIRL_3, - MAP_OBJ_GFX_WOMAN_2, - MAP_OBJ_GFX_OLD_WOMAN_1, - MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, - MAP_OBJ_GFX_GIRL_3, - MAP_OBJ_GFX_WOMAN_7, - MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, - MAP_OBJ_GFX_PICNICKER, - MAP_OBJ_GFX_WOMAN_3, - MAP_OBJ_GFX_PICNICKER, - MAP_OBJ_GFX_LASS, + EVENT_OBJ_GFX_WOMAN_3, + EVENT_OBJ_GFX_TUBER_F, + EVENT_OBJ_GFX_WOMAN_7, + EVENT_OBJ_GFX_WOMAN_1, + EVENT_OBJ_GFX_WOMAN_3, + EVENT_OBJ_GFX_BEAUTY, + EVENT_OBJ_GFX_LASS, + EVENT_OBJ_GFX_GIRL_3, + EVENT_OBJ_GFX_WOMAN_2, + EVENT_OBJ_GFX_OLD_WOMAN_1, + EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F, + EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, + EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, + EVENT_OBJ_GFX_GIRL_3, + EVENT_OBJ_GFX_WOMAN_7, + EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F, + EVENT_OBJ_GFX_PICNICKER, + EVENT_OBJ_GFX_WOMAN_3, + EVENT_OBJ_GFX_PICNICKER, + EVENT_OBJ_GFX_LASS, }; const u16 gBattleTowerBannedSpecies[] = @@ -814,7 +814,7 @@ void SetBattleTowerTrainerGfxId(u8 trainerIndex) return; } - VarSet(VAR_OBJ_GFX_ID_0, MAP_OBJ_GFX_BOY_1); + VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BOY_1); } void SetEReaderTrainerGfxId(void) diff --git a/src/berry.c b/src/berry.c index e3b56657b..323cb39cf 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1150,11 +1150,11 @@ static struct BerryTree *GetBerryTreeInfo(u8 id) // this was called because the berry script was successful: meaning the player chose to // water the tree. We need to check for the current tree stage and set the appropriate // water flag to true. -bool32 FieldObjectInteractionWaterBerryTree(void) +bool32 EventObjectInteractionWaterBerryTree(void) { // GetBerryTreeInfo does not sanitize the tree retrieved, but there are no known // instances where this can cause problems. - struct BerryTree *tree = GetBerryTreeInfo(FieldObjectGetBerryTreeId(gSelectedMapObject)); + struct BerryTree *tree = GetBerryTreeInfo(EventObjectGetBerryTreeId(gSelectedEventObject)); switch (tree->stage) { @@ -1178,8 +1178,8 @@ bool32 FieldObjectInteractionWaterBerryTree(void) bool8 IsPlayerFacingUnplantedSoil(void) { - if (GetFieldObjectScriptPointerPlayerFacing() == S_BerryTree - && GetStageByBerryTreeId(FieldObjectGetBerryTreeId(gSelectedMapObject)) == BERRY_STAGE_NO_BERRY) + if (GetEventObjectScriptPointerPlayerFacing() == S_BerryTree + && GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == BERRY_STAGE_NO_BERRY) return TRUE; else return FALSE; @@ -1187,10 +1187,10 @@ bool8 IsPlayerFacingUnplantedSoil(void) bool8 TryToWaterBerryTree(void) { - if (GetFieldObjectScriptPointerPlayerFacing() != S_BerryTree) + if (GetEventObjectScriptPointerPlayerFacing() != S_BerryTree) return FALSE; else - return FieldObjectInteractionWaterBerryTree(); + return EventObjectInteractionWaterBerryTree(); } void ClearBerryTrees(void) @@ -1413,7 +1413,7 @@ static u16 GetStageDurationByBerryType(u8 berry) return GetBerryInfo(berry)->stageDuration * 60; } -void FieldObjectInteractionGetBerryTreeData(void) +void EventObjectInteractionGetBerryTreeData(void) { u8 id; u8 berry; @@ -1421,7 +1421,7 @@ void FieldObjectInteractionGetBerryTreeData(void) u8 group; u8 num; - id = FieldObjectGetBerryTreeId(gSelectedMapObject); + id = EventObjectGetBerryTreeId(gSelectedEventObject); berry = GetBerryTypeByBerryTreeId(id); ResetBerryTreeSparkleFlag(id); localId = gSpecialVar_LastTalked; @@ -1446,25 +1446,25 @@ void Berry_FadeAndGoToBerryBagMenu(void) SetMainCallback2(sub_80A68CC); } -void FieldObjectInteractionPlantBerryTree(void) +void EventObjectInteractionPlantBerryTree(void) { u8 berry = ItemIdToBerryType(gSpecialVar_ItemId); - PlantBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject), berry, 1, TRUE); - FieldObjectInteractionGetBerryTreeData(); + PlantBerryTree(EventObjectGetBerryTreeId(gSelectedEventObject), berry, 1, TRUE); + EventObjectInteractionGetBerryTreeData(); } -void FieldObjectInteractionPickBerryTree(void) +void EventObjectInteractionPickBerryTree(void) { - u8 id = FieldObjectGetBerryTreeId(gSelectedMapObject); + u8 id = EventObjectGetBerryTreeId(gSelectedEventObject); u8 berry = GetBerryTypeByBerryTreeId(id); gSpecialVar_0x8004 = AddBagItem(BerryTypeToItemId(berry), GetBerryCountByBerryTreeId(id)); } -void FieldObjectInteractionRemoveBerryTree(void) +void EventObjectInteractionRemoveBerryTree(void) { - RemoveBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject)); + RemoveBerryTree(EventObjectGetBerryTreeId(gSelectedEventObject)); sub_8060288(gSpecialVar_LastTalked, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } @@ -1493,13 +1493,13 @@ static const u8 gUnknown_Debug_083F7FD3[] = _(""); u8* DebugOpenBerryInfo(void) { - if (GetFieldObjectScriptPointerPlayerFacing() != S_BerryTree) + if (GetEventObjectScriptPointerPlayerFacing() != S_BerryTree) { return NULL; } else { - u32 berryTreeId = FieldObjectGetBerryTreeId(gSelectedMapObject); + u32 berryTreeId = EventObjectGetBerryTreeId(gSelectedEventObject); struct BerryTree *berryTree = GetBerryTreeInfo(berryTreeId); s32 i; @@ -1541,14 +1541,14 @@ void ResetBerryTreeSparkleFlags(void) top = cam_top + 3; right = cam_left + 14; bottom = top + 8; - for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.mapObjects); i++) + for (i = 0; i < (u8)ARRAY_COUNT(gSaveBlock1.eventObjects); i++) { - if (gMapObjects[i].active && gMapObjects[i].movementType == MOVEMENT_TYPE_BERRY_TREE_GROWTH) + if (gEventObjects[i].active && gEventObjects[i].movementType == MOVEMENT_TYPE_BERRY_TREE_GROWTH) { - cam_left = gMapObjects[i].currentCoords.x; - cam_top = gMapObjects[i].currentCoords.y; + cam_left = gEventObjects[i].currentCoords.x; + cam_top = gEventObjects[i].currentCoords.y; if (left <= cam_left && cam_left <= right && top <= cam_top && cam_top <= bottom) - ResetBerryTreeSparkleFlag(gMapObjects[i].trainerRange_berryTreeId); + ResetBerryTreeSparkleFlag(gEventObjects[i].trainerRange_berryTreeId); } } } diff --git a/src/bike.c b/src/bike.c index 1e010095b..e1539ab7d 100644 --- a/src/bike.c +++ b/src/bike.c @@ -53,7 +53,7 @@ static void Bike_UpdateDirTimerHistory(u8); static void Bike_UpdateABStartSelectHistory(u8); static u8 Bike_DPadToDirection(u16); static u8 get_some_collision(u8); -static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *, s16, s16, u8, u8); +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *, s16, s16, u8, u8); static bool8 IsRunningDisallowedByMetatile(u8); static void Bike_TryAdvanceCyclingRoadCollisions(); static u8 CanBikeFaceDirOnMetatile(u8, u8); @@ -197,31 +197,31 @@ static void MachBikeTransition_FaceDirection(u8 direction) static void MachBikeTransition_TurnDirection(u8 direction) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior)) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior)) { PlayerTurnInPlace(direction); Bike_SetBikeStill(); } else { - MachBikeTransition_FaceDirection(playerMapObj->facingDirection); + MachBikeTransition_FaceDirection(playerEventObj->facingDirection); } } static void MachBikeTransition_TrySpeedUp(u8 direction) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; u8 collision; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == FALSE) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == FALSE) { // we cannot go forward, so either slow down or, if we are stopped, idle face direction. if (gPlayerAvatar.bikeSpeed) - MachBikeTransition_TrySlowDown(playerMapObj->movementDirection); + MachBikeTransition_TrySlowDown(playerEventObj->movementDirection); else - MachBikeTransition_FaceDirection(playerMapObj->movementDirection); + MachBikeTransition_FaceDirection(playerEventObj->movementDirection); } else { @@ -381,10 +381,10 @@ static u8 AcroBikeHandleInputTurning(u8 *newDirection, u16 newKeys, u16 heldKeys static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 heldKeys) { u8 direction; - struct MapObject *playerMapObj; + struct EventObject *playerEventObj; direction = GetPlayerMovementDirection(); - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; gPlayerAvatar.runningState = NOT_MOVING; if (heldKeys & B_BUTTON) @@ -393,7 +393,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 { // B button was released. gPlayerAvatar.bikeFrameCounter = 0; - if (!MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) + if (!MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) { // Go back to normal on flat ground *newDirection = direction; @@ -428,15 +428,15 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKeys) { u8 direction; - struct MapObject *playerMapObj; + struct EventObject *playerEventObj; direction = GetPlayerMovementDirection(); - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!(heldKeys & B_BUTTON)) { // B button was released Bike_SetBikeStill(); - if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) { // even though B was released, dont undo the wheelie on the bumpy slope. gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; @@ -475,15 +475,15 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 heldKeys) { u8 direction; - struct MapObject *playerMapObj; + struct EventObject *playerEventObj; direction = GetPlayerFacingDirection(); - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!(heldKeys & B_BUTTON)) { // we were moving on a wheelie, but we let go while moving. reset bike still status Bike_SetBikeStill(); - if (!MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) + if (!MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) { // we let go of B and arent on a bumpy slope, set state to normal because now we need to handle this gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; @@ -529,10 +529,10 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - playerMapObj->facingDirectionLocked = 0; - SetFieldObjectDirection(playerMapObj, playerMapObj->facingDirection); + playerEventObj->facingDirectionLocked = 0; + SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); } @@ -550,21 +550,21 @@ static void AcroBikeTransition_FaceDirection(u8 direction) static void AcroBikeTransition_TurnDirection(u8 direction) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + direction = playerEventObj->movementDirection; PlayerFaceDirection(direction); } static void AcroBikeTransition_Moving(u8 direction) { u8 collision; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_FaceDirection(playerMapObj->movementDirection); + AcroBikeTransition_FaceDirection(playerEventObj->movementDirection); return; } collision = get_some_collision(direction); @@ -583,48 +583,48 @@ static void AcroBikeTransition_Moving(u8 direction) static void AcroBikeTransition_NormalToWheelie(u8 direction) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + direction = playerEventObj->movementDirection; PlayerStartWheelie(direction); } static void AcroBikeTransition_WheelieToNormal(u8 direction) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + direction = playerEventObj->movementDirection; PlayerEndWheelie(direction); } static void AcroBikeTransition_WheelieIdle(u8 direction) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + direction = playerEventObj->movementDirection; PlayerIdleWheelie(direction); } static void AcroBikeTransition_WheelieHoppingStanding(u8 direction) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) + direction = playerEventObj->movementDirection; PlayerStandingHoppingWheelie(direction); } static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) { u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_WheelieHoppingStanding(playerMapObj->movementDirection); + AcroBikeTransition_WheelieHoppingStanding(playerEventObj->movementDirection); return; } var = get_some_collision(direction); @@ -654,7 +654,7 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) static void AcroBikeTransition_SideJump(u8 direction) { u8 var; - struct MapObject *playerMapObj; + struct EventObject *playerEventObj; var = get_some_collision(direction); if (var != 0) @@ -672,9 +672,9 @@ static void AcroBikeTransition_SideJump(u8 direction) return; } } - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; PlaySE(SE_JITE_PYOKO); - playerMapObj->facingDirectionLocked = 1; + playerEventObj->facingDirectionLocked = 1; PlayerSetAnimId(sub_80608A4(direction), 2); } @@ -686,11 +686,11 @@ static void AcroBikeTransition_TurnJump(u8 direction) static void AcroBikeTransition_WheelieMoving(u8 direction) { u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - PlayerIdleWheelie(playerMapObj->movementDirection); + PlayerIdleWheelie(playerEventObj->movementDirection); return; } var = get_some_collision(direction); @@ -706,7 +706,7 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) } else if (var <= 4) { - if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_80595DC(direction); //hit wall? @@ -720,11 +720,11 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) static void AcroBikeTransition_WheelieRisingMoving(u8 direction) { u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - PlayerStartWheelie(playerMapObj->movementDirection); + PlayerStartWheelie(playerEventObj->movementDirection); return; } var = get_some_collision(direction); @@ -740,7 +740,7 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) } else if (var <= 4) { - if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsBumpySlope(playerEventObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_80595DC(direction); //hit wall? @@ -754,11 +754,11 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) { u8 var; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - PlayerEndWheelie(playerMapObj->movementDirection); + PlayerEndWheelie(playerEventObj->movementDirection); return; } var = get_some_collision(direction); @@ -883,18 +883,18 @@ static u8 get_some_collision(u8 direction) s16 x; s16 y; u8 metatitleBehavior; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - x = playerMapObj->currentCoords.x; - y = playerMapObj->currentCoords.y; + x = playerEventObj->currentCoords.x; + y = playerEventObj->currentCoords.y; MoveCoords(direction, &x, &y); metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); - return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior); + return Bike_CheckCollisionTryAdvanceCollisionCount(playerEventObj, x, y, direction, metatitleBehavior); } -static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct MapObject *mapObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) +static u8 Bike_CheckCollisionTryAdvanceCollisionCount(struct EventObject *eventObject, s16 x, s16 y, u8 direction, u8 metatitleBehavior) { - u8 collision = CheckForFieldObjectCollision(mapObject, x, y, direction, metatitleBehavior); + u8 collision = CheckForEventObjectCollision(eventObject, x, y, direction, metatitleBehavior); if (collision > 4) return collision; @@ -982,7 +982,7 @@ bool8 IsBikingDisallowedByPlayer(void) bool8 player_should_look_direction_be_enforced_upon_movement(void) { - if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior) != FALSE) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) != FALSE) return FALSE; else return TRUE; diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index e7132a313..f81861ca0 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -5,7 +5,7 @@ #include "field_effect.h" #include "fieldmap.h" #include "main.h" -#include "map_obj_lock.h" +#include "event_obj_lock.h" #include "menu.h" #include "rom6.h" #include "script.h" diff --git a/src/cable_car.c b/src/cable_car.c index 38ea86096..bae6f020a 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -18,7 +18,7 @@ #include "scanline_effect.h" #include "event_data.h" #include "cable_car_util.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "constants/weather.h" extern u8 (*gMenuCallback)(void); @@ -818,15 +818,15 @@ static void LoadSprites(void) u8 i; u8 playerGraphicsIds[2] = { - MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, - MAP_OBJ_GFX_RIVAL_MAY_NORMAL + EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, + EVENT_OBJ_GFX_RIVAL_MAY_NORMAL }; u16 rval = Random(); u8 hikerGraphicsIds[4] = { - MAP_OBJ_GFX_HIKER, - MAP_OBJ_GFX_CAMPER, - MAP_OBJ_GFX_PICNICKER, - MAP_OBJ_GFX_POOCHYENA + EVENT_OBJ_GFX_HIKER, + EVENT_OBJ_GFX_CAMPER, + EVENT_OBJ_GFX_PICNICKER, + EVENT_OBJ_GFX_POOCHYENA }; s16 hikerCoords[2][2] = { { 0, 80 }, @@ -847,7 +847,7 @@ static void LoadSprites(void) { case 0: default: - spriteId = AddPseudoFieldObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0xc8, 0x49, 0x66); + spriteId = AddPseudoEventObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0xc8, 0x49, 0x66); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 2; @@ -871,7 +871,7 @@ static void LoadSprites(void) break; case 1: CableCarUtil_CopyWrapped(sCableCarPtr->unk_00fc, eCableCar2->mtChimneyTilemap + 0x24, 0x18, 0x1a, 0x0c, 0x03); - spriteId = AddPseudoFieldObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0x80, 0x27, 0x66); + spriteId = AddPseudoEventObject(playerGraphicsIds[gSaveBlock2.playerGender], sub_8123D98, 0x80, 0x27, 0x66); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 2; @@ -902,7 +902,7 @@ static void LoadSprites(void) } if ((rval % 64) == 0) { - spriteId = AddPseudoFieldObject(hikerGraphicsIds[rval % 3], callbacks[gSpecialVar_0x8004], hikerCoords[gSpecialVar_0x8004][0], hikerCoords[gSpecialVar_0x8004][1], 0x6a); + spriteId = AddPseudoEventObject(hikerGraphicsIds[rval % 3], callbacks[gSpecialVar_0x8004], hikerCoords[gSpecialVar_0x8004][0], hikerCoords[gSpecialVar_0x8004][1], 0x6a); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 2; diff --git a/src/contest.c b/src/contest.c index d9c19f773..fcadd8ae1 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1,6 +1,6 @@ #include "global.h" #include "constants/items.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "constants/moves.h" #include "constants/songs.h" #include "constants/species.h" @@ -2138,9 +2138,9 @@ void Contest_CreatePlayerMon(u8 partyIndex) } memcpy(gContestMons[gContestPlayerMonIndex].trainerName, name, 8); if (gSaveBlock2.playerGender == MALE) - gContestMons[gContestPlayerMonIndex].trainerGfxId = MAP_OBJ_GFX_LINK_BRENDAN; + gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_BRENDAN; else - gContestMons[gContestPlayerMonIndex].trainerGfxId = MAP_OBJ_GFX_LINK_MAY; + gContestMons[gContestPlayerMonIndex].trainerGfxId = EVENT_OBJ_GFX_LINK_MAY; gContestMons[gContestPlayerMonIndex].flags = 0; gContestMons[gContestPlayerMonIndex].unk2C[0] = 0; gContestMons[gContestPlayerMonIndex].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES); diff --git a/src/data/field_event_obj/base_oam.h b/src/data/field_event_obj/base_oam.h new file mode 100644 index 000000000..49c14e8c2 --- /dev/null +++ b/src/data/field_event_obj/base_oam.h @@ -0,0 +1,56 @@ +// + +// + +#ifndef POKERUBY_BASE_OAM_H +#define POKERUBY_BASE_OAM_H + +const struct OamData gFieldOamData_8x8 = { + .shape = 0, + .size = 0, + .priority = 2 +}; + +const struct OamData gFieldOamData_16x8 = { + .shape = 1, + .size = 0, + .priority = 2 +}; + +const struct OamData gFieldOamData_16x16 = { + .shape = 0, + .size = 1, + .priority = 2 +}; + +const struct OamData gFieldOamData_32x8 = { + .shape = 1, + .size = 1, + .priority = 2 +}; + +const struct OamData gFieldOamData_64x32 = { + .shape = 1, + .size = 3, + .priority = 2 +}; + +const struct OamData gFieldOamData_16x32 = { + .shape = 2, + .size = 2, + .priority = 2 +}; + +const struct OamData gFieldOamData_32x32 = { + .shape = 0, + .size = 2, + .priority = 2 +}; + +const struct OamData gFieldOamData_64x64 = { + .shape = 0, + .size = 3, + .priority = 2 +}; + +#endif //POKERUBY_BASE_OAM_H diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h new file mode 100644 index 000000000..185efc68e --- /dev/null +++ b/src/data/field_event_obj/berry_tree_graphics_tables.h @@ -0,0 +1,573 @@ +// + +// + +#ifndef POKERUBY_BERRY_TREE_GRAPHICS_TABLES_H +#define POKERUBY_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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; + +const u8 gDeadBerryTreeGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES}; + +const u8 gBerryTreeGraphicsIdTable[] = {EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES, EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES}; + +const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { + gEventObjectPicTable_CheriBerryTree, + gEventObjectPicTable_ChestoBerryTree, + gEventObjectPicTable_PechaBerryTree, + gEventObjectPicTable_RawstBerryTree, + gEventObjectPicTable_AspearBerryTree, + gEventObjectPicTable_LeppaBerryTree, + gEventObjectPicTable_OranBerryTree, + gEventObjectPicTable_PersimBerryTree, + gEventObjectPicTable_LumBerryTree, + gEventObjectPicTable_SitrusBerryTree, + gEventObjectPicTable_FigyBerryTree, + gEventObjectPicTable_WikiBerryTree, + gEventObjectPicTable_MagoBerryTree, + gEventObjectPicTable_AguavBerryTree, + gEventObjectPicTable_IapapaBerryTree, + gEventObjectPicTable_RazzBerryTree, + gEventObjectPicTable_RazzBerryTree, + gEventObjectPicTable_MagoBerryTree, + gEventObjectPicTable_WepearBerryTree, + gEventObjectPicTable_IapapaBerryTree, + gEventObjectPicTable_PomegBerryTree, + gEventObjectPicTable_KelpsyBerryTree, + gEventObjectPicTable_WepearBerryTree, + gEventObjectPicTable_HondewBerryTree, + gEventObjectPicTable_GrepaBerryTree, + gEventObjectPicTable_TamatoBerryTree, + gEventObjectPicTable_CornnBerryTree, + gEventObjectPicTable_PomegBerryTree, + gEventObjectPicTable_RabutaBerryTree, + gEventObjectPicTable_NomelBerryTree, + gEventObjectPicTable_SpelonBerryTree, + gEventObjectPicTable_PamtreBerryTree, + gEventObjectPicTable_RabutaBerryTree, + gEventObjectPicTable_DurinBerryTree, + gEventObjectPicTable_HondewBerryTree, + gEventObjectPicTable_LiechiBerryTree, + gEventObjectPicTable_HondewBerryTree, + gEventObjectPicTable_AguavBerryTree, + gEventObjectPicTable_PomegBerryTree, + gEventObjectPicTable_GrepaBerryTree, + gEventObjectPicTable_LansatBerryTree, + gEventObjectPicTable_CornnBerryTree, + gEventObjectPicTable_DurinBerryTree +}; + +const u8 *const gBerryTreePaletteSlotTablePointers[] = { + gBerryTreePaletteSlotTable_Cheri, + gBerryTreePaletteSlotTable_Chesto, + gBerryTreePaletteSlotTable_Pecha, + gBerryTreePaletteSlotTable_Rawst, + gBerryTreePaletteSlotTable_Aspear, + gBerryTreePaletteSlotTable_Leppa, + gBerryTreePaletteSlotTable_Oran, + gBerryTreePaletteSlotTable_Persim, + gBerryTreePaletteSlotTable_Lum, + gBerryTreePaletteSlotTable_Sitrus, + gBerryTreePaletteSlotTable_Figy, + gBerryTreePaletteSlotTable_Wiki, + gBerryTreePaletteSlotTable_Mago, + gBerryTreePaletteSlotTable_Aguav, + gBerryTreePaletteSlotTable_Iapapa, + gBerryTreePaletteSlotTable_Razz, + gBerryTreePaletteSlotTable_Razz, + gBerryTreePaletteSlotTable_Mago, + gBerryTreePaletteSlotTable_Wepear, + gBerryTreePaletteSlotTable_Iapapa, + gBerryTreePaletteSlotTable_Pomeg, + gBerryTreePaletteSlotTable_Kelpsy, + gBerryTreePaletteSlotTable_Wepear, + gBerryTreePaletteSlotTable_Hondew, + gBerryTreePaletteSlotTable_Grepa, + gBerryTreePaletteSlotTable_Tamato, + gBerryTreePaletteSlotTable_Cornn, + gBerryTreePaletteSlotTable_Pomeg, + gBerryTreePaletteSlotTable_Rabuta, + gBerryTreePaletteSlotTable_Nomel, + gBerryTreePaletteSlotTable_Spelon, + gBerryTreePaletteSlotTable_Pamtre, + gBerryTreePaletteSlotTable_Rabuta, + gBerryTreePaletteSlotTable_Durin, + gBerryTreePaletteSlotTable_Hondew, + gBerryTreePaletteSlotTable_Liechi, + gBerryTreePaletteSlotTable_Hondew, + gBerryTreePaletteSlotTable_Aguav, + gBerryTreePaletteSlotTable_Pomeg, + gBerryTreePaletteSlotTable_Grepa, + gBerryTreePaletteSlotTable_Lansat, + gBerryTreePaletteSlotTable_Cornn, + gBerryTreePaletteSlotTable_Durin +}; + +const u8 *const gBerryTreeGraphicsIdTablePointers[] = { + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable, + gBerryTreeGraphicsIdTable +}; + +#endif //POKERUBY_BERRY_TREE_GRAPHICS_TABLES_H diff --git a/src/data/field_event_obj/event_object_anims.h b/src/data/field_event_obj/event_object_anims.h new file mode 100644 index 000000000..f1733b627 --- /dev/null +++ b/src/data/field_event_obj/event_object_anims.h @@ -0,0 +1,886 @@ +// + +// + +#ifndef POKERUBY_EVENT_OBJECT_ANIMS_H +#define POKERUBY_EVENT_OBJECT_ANIMS_H + + +const union AnimCmd gEventObjectImageAnim_83708C8[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83708DC[] = { + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83708E4[] = { + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83708EC[] = { + ANIMCMD_FRAME(2, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83708F4[] = { + ANIMCMD_FRAME(2, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83708FC[] = { + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(3, 8, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370910[] = { + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370924[] = { + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370938[] = { + ANIMCMD_FRAME(5, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(6, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_837094C[] = { + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370960[] = { + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(4, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370974[] = { + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370988[] = { + ANIMCMD_FRAME(5, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(6, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_837099C[] = { + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(3, 2, .hFlip = TRUE), + ANIMCMD_FRAME(0, 2), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83709B0[] = { + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(4, 2, .hFlip = TRUE), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83709C4[] = { + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83709D8[] = { + ANIMCMD_FRAME(5, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_FRAME(6, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_83709EC[] = { + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(3, 1, .hFlip = TRUE), + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A00[] = { + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(4, 1, .hFlip = TRUE), + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A14[] = { + ANIMCMD_FRAME(5, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(6, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A28[] = { + ANIMCMD_FRAME(5, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_FRAME(6, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A3C[] = { + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A44[] = { + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A4C[] = { + ANIMCMD_FRAME(2, 16), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A54[] = { + ANIMCMD_FRAME(2, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A5C[] = { + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A70[] = { + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A84[] = { + ANIMCMD_FRAME(7, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370A98[] = { + ANIMCMD_FRAME(7, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(8, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370AAC[] = { + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370AC0[] = { + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370AD4[] = { + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370AE8[] = { + ANIMCMD_FRAME(7, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(8, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370AFC[] = { + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B10[] = { + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B24[] = { + ANIMCMD_FRAME(7, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B38[] = { + ANIMCMD_FRAME(7, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_FRAME(8, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B4C[] = { + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B60[] = { + ANIMCMD_FRAME(5, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(6, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B74[] = { + ANIMCMD_FRAME(7, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B88[] = { + ANIMCMD_FRAME(7, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_FRAME(8, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370B9C[] = { + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(13, 5), + ANIMCMD_FRAME(9, 3), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370BB0[] = { + ANIMCMD_FRAME(14, 5), + ANIMCMD_FRAME(10, 3), + ANIMCMD_FRAME(15, 5), + ANIMCMD_FRAME(10, 3), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370BC4[] = { + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(11, 3), + ANIMCMD_FRAME(17, 5), + ANIMCMD_FRAME(11, 3), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370BD8[] = { + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(11, 3, .hFlip = TRUE), + ANIMCMD_FRAME(17, 5, .hFlip = TRUE), + ANIMCMD_FRAME(11, 3, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370BEC[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 8), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C04[] = { + ANIMCMD_FRAME(9, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370C0C[] = { + ANIMCMD_FRAME(10, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370C14[] = { + ANIMCMD_FRAME(11, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370C1C[] = { + ANIMCMD_FRAME(11, 32, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370C24[] = { + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C30[] = { + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C3C[] = { + ANIMCMD_FRAME(17, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C48[] = { + ANIMCMD_FRAME(17, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C54[] = { + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C60[] = { + ANIMCMD_FRAME(15, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C6C[] = { + ANIMCMD_FRAME(19, 4), + ANIMCMD_FRAME(20, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C78[] = { + ANIMCMD_FRAME(19, 4, .hFlip = TRUE), + ANIMCMD_FRAME(20, 4, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C84[] = { + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C90[] = { + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370C9C[] = { + ANIMCMD_FRAME(17, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370CA8[] = { + ANIMCMD_FRAME(17, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370CB4[] = { + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370CC0[] = { + ANIMCMD_FRAME(15, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370CCC[] = { + ANIMCMD_FRAME(19, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370CD8[] = { + ANIMCMD_FRAME(19, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370CE4[] = { + ANIMCMD_FRAME(21, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(22, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370CF8[] = { + ANIMCMD_FRAME(23, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_FRAME(24, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370D0C[] = { + ANIMCMD_FRAME(25, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_FRAME(26, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370D20[] = { + ANIMCMD_FRAME(25, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_FRAME(26, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370D34[] = { + ANIMCMD_FRAME(0, 32), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370D3C[] = { + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(2, 32), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370D48[] = { + ANIMCMD_FRAME(3, 48), + ANIMCMD_FRAME(4, 48), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370D54[] = { + ANIMCMD_FRAME(5, 32), + ANIMCMD_FRAME(5, 32), + ANIMCMD_FRAME(6, 32), + ANIMCMD_FRAME(6, 32), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370D68[] = { + ANIMCMD_FRAME(7, 48), + ANIMCMD_FRAME(7, 48), + ANIMCMD_FRAME(8, 48), + ANIMCMD_FRAME(8, 48), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370D7C[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(9, 32), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370D8C[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370DA0[] = { + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370DB4[] = { + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(11, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370DC8[] = { + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(7, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370DDC[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370DF0[] = { + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370E04[] = { + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(10, 6), + ANIMCMD_FRAME(9, 6), + ANIMCMD_FRAME(8, 6), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370E18[] = { + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(5, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370E2C[] = { + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370E40[] = { + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gEventObjectImageAnim_8370E54[] = { + ANIMCMD_FRAME(10, 6), + ANIMCMD_FRAME(11, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(11, 30), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370E68[] = { + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(7, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(7, 30), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370E7C[] = { + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(3, 30), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gEventObjectImageAnim_8370E90[] = { + ANIMCMD_FRAME(2, 6, .hFlip = TRUE), + ANIMCMD_FRAME(3, 6, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(3, 30, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AffineAnimCmd gEventObjectRotScalAnim_8370EA4[] = { + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(7), + AFFINEANIMCMD_JUMP(0) +}; + +const union AffineAnimCmd gEventObjectRotScalAnim_8370ED4[] = { + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(15), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(15), + AFFINEANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Inanimate[] = { + gEventObjectImageAnim_83708C8 +}; + +const union AnimCmd *const gEventObjectImageAnimTable_QuintyPlump[] = { + gEventObjectImageAnim_83708DC, + gEventObjectImageAnim_83708E4, + gEventObjectImageAnim_83708EC, + gEventObjectImageAnim_83708F4, + gEventObjectImageAnim_83708FC, + gEventObjectImageAnim_8370910, + gEventObjectImageAnim_8370924, + gEventObjectImageAnim_8370938, + gEventObjectImageAnim_837094C, + gEventObjectImageAnim_8370960, + gEventObjectImageAnim_8370974, + gEventObjectImageAnim_8370988, + gEventObjectImageAnim_837099C, + gEventObjectImageAnim_83709B0, + gEventObjectImageAnim_83709C4, + gEventObjectImageAnim_83709D8, + gEventObjectImageAnim_83709EC, + gEventObjectImageAnim_8370A00, + gEventObjectImageAnim_8370A14, + gEventObjectImageAnim_8370A28 +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Standard[] = { + gEventObjectImageAnim_8370A3C, + gEventObjectImageAnim_8370A44, + gEventObjectImageAnim_8370A4C, + gEventObjectImageAnim_8370A54, + gEventObjectImageAnim_8370A5C, + gEventObjectImageAnim_8370A70, + gEventObjectImageAnim_8370A84, + gEventObjectImageAnim_8370A98, + gEventObjectImageAnim_8370AAC, + gEventObjectImageAnim_8370AC0, + gEventObjectImageAnim_8370AD4, + gEventObjectImageAnim_8370AE8, + gEventObjectImageAnim_8370AFC, + gEventObjectImageAnim_8370B10, + gEventObjectImageAnim_8370B24, + gEventObjectImageAnim_8370B38, + gEventObjectImageAnim_8370B4C, + gEventObjectImageAnim_8370B60, + gEventObjectImageAnim_8370B74, + gEventObjectImageAnim_8370B88 +}; + +const union AnimCmd *const gEventObjectImageAnimTable_BrendanMayNormal[] = { + gEventObjectImageAnim_8370A3C, + gEventObjectImageAnim_8370A44, + gEventObjectImageAnim_8370A4C, + gEventObjectImageAnim_8370A54, + gEventObjectImageAnim_8370A5C, + gEventObjectImageAnim_8370A70, + gEventObjectImageAnim_8370A84, + gEventObjectImageAnim_8370A98, + gEventObjectImageAnim_8370AAC, + gEventObjectImageAnim_8370AC0, + gEventObjectImageAnim_8370AD4, + gEventObjectImageAnim_8370AE8, + gEventObjectImageAnim_8370AFC, + gEventObjectImageAnim_8370B10, + gEventObjectImageAnim_8370B24, + gEventObjectImageAnim_8370B38, + gEventObjectImageAnim_8370B4C, + gEventObjectImageAnim_8370B60, + gEventObjectImageAnim_8370B74, + gEventObjectImageAnim_8370B88, + gEventObjectImageAnim_8370B9C, + gEventObjectImageAnim_8370BB0, + gEventObjectImageAnim_8370BC4, + gEventObjectImageAnim_8370BD8 +}; + +const union AnimCmd *const gEventObjectImageAnimTable_AcroBike[] = { + gEventObjectImageAnim_8370A3C, + gEventObjectImageAnim_8370A44, + gEventObjectImageAnim_8370A4C, + gEventObjectImageAnim_8370A54, + gEventObjectImageAnim_8370A5C, + gEventObjectImageAnim_8370A70, + gEventObjectImageAnim_8370A84, + gEventObjectImageAnim_8370A98, + gEventObjectImageAnim_8370AAC, + gEventObjectImageAnim_8370AC0, + gEventObjectImageAnim_8370AD4, + gEventObjectImageAnim_8370AE8, + gEventObjectImageAnim_8370AFC, + gEventObjectImageAnim_8370B10, + gEventObjectImageAnim_8370B24, + gEventObjectImageAnim_8370B38, + gEventObjectImageAnim_8370B4C, + gEventObjectImageAnim_8370B60, + gEventObjectImageAnim_8370B74, + gEventObjectImageAnim_8370B88, + gEventObjectImageAnim_8370C24, + gEventObjectImageAnim_8370C30, + gEventObjectImageAnim_8370C3C, + gEventObjectImageAnim_8370C48, + gEventObjectImageAnim_8370C54, + gEventObjectImageAnim_8370C60, + gEventObjectImageAnim_8370C6C, + gEventObjectImageAnim_8370C78, + gEventObjectImageAnim_8370C84, + gEventObjectImageAnim_8370C90, + gEventObjectImageAnim_8370C9C, + gEventObjectImageAnim_8370CA8, + gEventObjectImageAnim_8370CB4, + gEventObjectImageAnim_8370CC0, + gEventObjectImageAnim_8370CCC, + gEventObjectImageAnim_8370CD8, + gEventObjectImageAnim_8370CE4, + gEventObjectImageAnim_8370CF8, + gEventObjectImageAnim_8370D0C, + gEventObjectImageAnim_8370D20 +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Surfing[] = { + gEventObjectImageAnim_8370A3C, + gEventObjectImageAnim_8370A44, + gEventObjectImageAnim_8370A4C, + gEventObjectImageAnim_8370A54, + gEventObjectImageAnim_8370A5C, + gEventObjectImageAnim_8370A70, + gEventObjectImageAnim_8370A84, + gEventObjectImageAnim_8370A98, + gEventObjectImageAnim_8370AAC, + gEventObjectImageAnim_8370AC0, + gEventObjectImageAnim_8370AD4, + gEventObjectImageAnim_8370AE8, + gEventObjectImageAnim_8370AFC, + gEventObjectImageAnim_8370B10, + gEventObjectImageAnim_8370B24, + gEventObjectImageAnim_8370B38, + gEventObjectImageAnim_8370B4C, + gEventObjectImageAnim_8370B60, + gEventObjectImageAnim_8370B74, + gEventObjectImageAnim_8370B88, + gEventObjectImageAnim_8370C04, + gEventObjectImageAnim_8370C0C, + gEventObjectImageAnim_8370C14, + gEventObjectImageAnim_8370C1C +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Nurse[] = { + gEventObjectImageAnim_8370A3C, + gEventObjectImageAnim_8370A44, + gEventObjectImageAnim_8370A4C, + gEventObjectImageAnim_8370A54, + gEventObjectImageAnim_8370A5C, + gEventObjectImageAnim_8370A70, + gEventObjectImageAnim_8370A84, + gEventObjectImageAnim_8370A98, + gEventObjectImageAnim_8370AAC, + gEventObjectImageAnim_8370AC0, + gEventObjectImageAnim_8370AD4, + gEventObjectImageAnim_8370AE8, + gEventObjectImageAnim_8370AFC, + gEventObjectImageAnim_8370B10, + gEventObjectImageAnim_8370B24, + gEventObjectImageAnim_8370B38, + gEventObjectImageAnim_8370B4C, + gEventObjectImageAnim_8370B60, + gEventObjectImageAnim_8370B74, + gEventObjectImageAnim_8370B88, + gEventObjectImageAnim_8370D7C +}; + +const union AnimCmd *const gEventObjectImageAnimTable_FieldMove[] = { + gEventObjectImageAnim_8370BEC +}; + +const union AnimCmd *const gEventObjectImageAnimTable_BerryTree[] = { + gEventObjectImageAnim_8370D34, + gEventObjectImageAnim_8370D3C, + gEventObjectImageAnim_8370D48, + gEventObjectImageAnim_8370D54, + gEventObjectImageAnim_8370D68 +}; + +const union AnimCmd *const gEventObjectImageAnimTable_BreakableRock[] = { + gEventObjectImageAnim_83708C8, + gEventObjectImageAnim_8370D8C +}; + +const union AnimCmd *const gEventObjectImageAnimTable_CuttableTree[] = { + gEventObjectImageAnim_83708C8, + gEventObjectImageAnim_8370DA0 +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Fishing[] = { + gEventObjectImageAnim_8370DB4, + gEventObjectImageAnim_8370DC8, + gEventObjectImageAnim_8370DDC, + gEventObjectImageAnim_8370DF0, + gEventObjectImageAnim_8370E04, + gEventObjectImageAnim_8370E18, + gEventObjectImageAnim_8370E2C, + gEventObjectImageAnim_8370E40, + gEventObjectImageAnim_8370E54, + gEventObjectImageAnim_8370E68, + gEventObjectImageAnim_8370E7C, + gEventObjectImageAnim_8370E90 +}; + +const union AffineAnimCmd *const gEventObjectRotScalAnimTable_KyogreGroudon[] = { + gEventObjectRotScalAnim_8370EA4, + gEventObjectRotScalAnim_8370ED4 +}; + +#endif //POKERUBY_EVENT_OBJECT_ANIMS_H diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h new file mode 100755 index 000000000..8f1bb96a8 --- /dev/null +++ b/src/data/field_event_obj/event_object_graphics.h @@ -0,0 +1,1319 @@ +#ifndef POKERUBY_EVENT_OBJECT_GFX_H +#define POKERUBY_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 u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/08.gbapal"); +const u16 NullPalette_8310F68[16] = {}; +const u16 NullPalette_8310F88[16] = {}; +const u16 NullPalette_8310FA8[16] = {}; +const u16 NullPalette_8310FC8[16] = {}; +const u16 NullPalette_8310FE8[16] = {}; +const u16 NullPalette_8311008[16] = {}; +const u16 NullPalette_8311028[16] = {}; +const u16 NullPalette_8311048[16] = {}; +const u16 NullPalette_8311068[16] = {}; +const u16 NullPalette_8311088[16] = {}; +const u16 NullPalette_83110A8[16] = {}; +const u16 NullPalette_83110C8[16] = {}; +const u16 NullPalette_83110E8[16] = {}; +const u16 NullPalette_8311108[16] = {}; +const u16 NullPalette_8311128[16] = {}; +const u16 gEventObjectPalette9[] = INCBIN_U16("graphics/event_objects/palettes/09.gbapal"); +const u16 gEventObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/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_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 u16 gEventObjectPalette11[] = INCBIN_U16("graphics/event_objects/palettes/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 u16 gEventObjectPalette17[] = INCBIN_U16("graphics/event_objects/palettes/17.gbapal"); +const u16 gEventObjectPalette18[] = INCBIN_U16("graphics/event_objects/palettes/18.gbapal"); +const u16 NullPalette_831B7E8[16] = {}; +const u16 NullPalette_831B808[16] = {}; +const u16 NullPalette_831B828[16] = {}; +const u16 NullPalette_831B848[16] = {}; +const u16 NullPalette_831B868[16] = {}; +const u16 NullPalette_831B888[16] = {}; +const u16 NullPalette_831B8A8[16] = {}; +const u16 NullPalette_831B8C8[16] = {}; +const u16 NullPalette_831B8E8[16] = {}; +const u16 NullPalette_831B908[16] = {}; +const u16 NullPalette_831B928[16] = {}; +const u16 NullPalette_831B948[16] = {}; +const u16 NullPalette_831B968[16] = {}; +const u16 NullPalette_831B988[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 u16 gEventObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/00.gbapal"); +const u16 gEventObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/01.gbapal"); +const u16 gEventObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/02.gbapal"); +const u16 gEventObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/03.gbapal"); +const u16 gEventObjectPalette4[] = INCBIN_U16("graphics/event_objects/palettes/04.gbapal"); +const u16 gEventObjectPalette5[] = INCBIN_U16("graphics/event_objects/palettes/05.gbapal"); +const u16 gEventObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/06.gbapal"); +const u16 gEventObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/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_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_Woman8_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/0.4bpp"); +const u32 gEventObjectPic_Woman8_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/1.4bpp"); +const u32 gEventObjectPic_Woman8_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/2.4bpp"); +const u32 gEventObjectPic_Woman8_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/3.4bpp"); +const u32 gEventObjectPic_Woman8_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/4.4bpp"); +const u32 gEventObjectPic_Woman8_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/5.4bpp"); +const u32 gEventObjectPic_Woman8_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/6.4bpp"); +const u32 gEventObjectPic_Woman8_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/7.4bpp"); +const u32 gEventObjectPic_Woman8_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_8/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_Nurse_4[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/4.4bpp"); +const u32 gEventObjectPic_Nurse_5[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/5.4bpp"); +const u32 gEventObjectPic_Nurse_6[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/6.4bpp"); +const u32 gEventObjectPic_Nurse_7[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/7.4bpp"); +const u32 gEventObjectPic_Nurse_8[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/8.4bpp"); +const u32 gEventObjectPic_Nurse_9[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/9.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_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_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_LittleBoy3_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/0.4bpp"); +const u32 gEventObjectPic_LittleBoy3_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/1.4bpp"); +const u32 gEventObjectPic_LittleBoy3_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/2.4bpp"); +const u32 gEventObjectPic_LittleBoy3_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/3.4bpp"); +const u32 gEventObjectPic_LittleBoy3_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/4.4bpp"); +const u32 gEventObjectPic_LittleBoy3_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/5.4bpp"); +const u32 gEventObjectPic_LittleBoy3_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/6.4bpp"); +const u32 gEventObjectPic_LittleBoy3_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/7.4bpp"); +const u32 gEventObjectPic_LittleBoy3_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_3/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_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_ContestJudge_0[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/0.4bpp"); +const u32 gEventObjectPic_ContestJudge_1[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/1.4bpp"); +const u32 gEventObjectPic_ContestJudge_2[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/2.4bpp"); +const u32 gEventObjectPic_ContestJudge_3[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/3.4bpp"); +const u32 gEventObjectPic_ContestJudge_4[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/4.4bpp"); +const u32 gEventObjectPic_ContestJudge_5[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/5.4bpp"); +const u32 gEventObjectPic_ContestJudge_6[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/6.4bpp"); +const u32 gEventObjectPic_ContestJudge_7[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/7.4bpp"); +const u32 gEventObjectPic_ContestJudge_8[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge/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_Kyogre_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre/0.4bpp"); +const u32 gEventObjectPic_Kyogre_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre/1.4bpp"); +const u32 gEventObjectPic_Groudon_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon/0.4bpp"); +const u32 gEventObjectPic_Groudon_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon/1.4bpp"); +const u32 gEventObjectPic_Regi[] = INCBIN_U32("graphics/event_objects/pics/pokemon/regi.4bpp"); +const u32 gEventObjectPic_Skitty_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty/0.4bpp"); +const u32 gEventObjectPic_Skitty_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty/1.4bpp"); +const u32 gEventObjectPic_Skitty_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty/2.4bpp"); +const u32 gEventObjectPic_Kecleon_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon/0.4bpp"); +const u32 gEventObjectPic_Kecleon_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon/1.4bpp"); +const u32 gEventObjectPic_Kecleon_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon/2.4bpp"); +const u32 gEventObjectPic_Rayquaza_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza/0.4bpp"); +const u32 gEventObjectPic_Rayquaza_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza/1.4bpp"); +const u32 gEventObjectPic_Zigzagoon_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon/0.4bpp"); +const u32 gEventObjectPic_Zigzagoon_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon/1.4bpp"); +const u32 gEventObjectPic_Zigzagoon_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon/2.4bpp"); +const u32 gEventObjectPic_Pikachu_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu/0.4bpp"); +const u32 gEventObjectPic_Pikachu_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu/1.4bpp"); +const u32 gEventObjectPic_Pikachu_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu/2.4bpp"); +const u32 gEventObjectPic_Azumarill_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill/0.4bpp"); +const u32 gEventObjectPic_Azumarill_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill/1.4bpp"); +const u32 gEventObjectPic_Azumarill_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill/2.4bpp"); +const u32 gEventObjectPic_Wingull_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/0.4bpp"); +const u32 gEventObjectPic_Wingull_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/3.4bpp"); +const u32 gEventObjectPic_Wingull_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/1.4bpp"); +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_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 u16 gEventObjectPalette22[] = INCBIN_U16("graphics/event_objects/palettes/22.gbapal"); +const u16 gEventObjectPalette23[] = INCBIN_U16("graphics/event_objects/palettes/23.gbapal"); +const u16 gEventObjectPalette24[] = INCBIN_U16("graphics/event_objects/palettes/24.gbapal"); +const u16 gEventObjectPalette25[] = INCBIN_U16("graphics/event_objects/palettes/25.gbapal"); +const u32 gEventObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_natu_doll.4bpp"); +const u32 gEventObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_magnemite_doll.4bpp"); +const u32 gEventObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_squirtle_doll.4bpp"); +const u32 gEventObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_wooper_doll.4bpp"); +const u32 gEventObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_pikachu_doll.4bpp"); +const u32 gEventObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_porygon2_doll.4bpp"); +const u32 gEventObjectPic_PichuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pichu_doll.4bpp"); +const u32 gEventObjectPic_PikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pikachu_doll.4bpp"); +const u32 gEventObjectPic_MarillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/marill_doll.4bpp"); +const u32 gEventObjectPic_TogepiDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/togepi_doll.4bpp"); +const u32 gEventObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/cyndaquil_doll.4bpp"); +const u32 gEventObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/chikorita_doll.4bpp"); +const u32 gEventObjectPic_TotodileDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/totodile_doll.4bpp"); +const u32 gEventObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/jigglypuff_doll.4bpp"); +const u32 gEventObjectPic_MeowthDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/meowth_doll.4bpp"); +const u32 gEventObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/clefairy_doll.4bpp"); +const u32 gEventObjectPic_DittoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/ditto_doll.4bpp"); +const u32 gEventObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/smoochum_doll.4bpp"); +const u32 gEventObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/treecko_doll.4bpp"); +const u32 gEventObjectPic_TorchicDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/torchic_doll.4bpp"); +const u32 gEventObjectPic_MudkipDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/mudkip_doll.4bpp"); +const u32 gEventObjectPic_DuskullDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/duskull_doll.4bpp"); +const u32 gEventObjectPic_WynautDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/wynaut_doll.4bpp"); +const u32 gEventObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/baltoy_doll.4bpp"); +const u32 gEventObjectPic_KecleonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/kecleon_doll.4bpp"); +const u32 gEventObjectPic_AzurillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/azurill_doll.4bpp"); +const u32 gEventObjectPic_SkittyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/skitty_doll.4bpp"); +const u32 gEventObjectPic_SwabluDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/swablu_doll.4bpp"); +const u32 gEventObjectPic_GulpinDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/gulpin_doll.4bpp"); +const u32 gEventObjectPic_LotadDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/lotad_doll.4bpp"); +const u32 gEventObjectPic_SeedotDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/seedot_doll.4bpp"); +const u32 gEventObjectPic_PikaCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/pika_cushion.4bpp"); +const u32 gEventObjectPic_RoundCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/round_cushion.4bpp"); +const u32 gEventObjectPic_KissCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/kiss_cushion.4bpp"); +const u32 gEventObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/zigzag_cushion.4bpp"); +const u32 gEventObjectPic_SpinCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/spin_cushion.4bpp"); +const u32 gEventObjectPic_DiamondCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/diamond_cushion.4bpp"); +const u32 gEventObjectPic_BallCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/ball_cushion.4bpp"); +const u32 gEventObjectPic_GrassCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/grass_cushion.4bpp"); +const u32 gEventObjectPic_FireCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/fire_cushion.4bpp"); +const u32 gEventObjectPic_WaterCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/water_cushion.4bpp"); +const u32 gEventObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_snorlax_doll.4bpp"); +const u32 gEventObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_rhydon_doll.4bpp"); +const u32 gEventObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_lapras_doll.4bpp"); +const u32 gEventObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_venusaur_doll.4bpp"); +const u32 gEventObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_charizard_doll.4bpp"); +const u32 gEventObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_blastoise_doll.4bpp"); +const u32 gEventObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_wailmer_doll.4bpp"); +const u32 gEventObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regirock_doll.4bpp"); +const u32 gEventObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regice_doll.4bpp"); +const u32 gEventObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_registeel_doll.4bpp"); +const u32 gEventObjectPic_CuttableTree_0[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/0.4bpp"); +const u32 gEventObjectPic_CuttableTree_1[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/1.4bpp"); +const u32 gEventObjectPic_CuttableTree_2[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/2.4bpp"); +const u32 gEventObjectPic_CuttableTree_3[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/3.4bpp"); +const u32 gEventObjectPic_BreakableRock_0[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/0.4bpp"); +const u32 gEventObjectPic_BreakableRock_1[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/1.4bpp"); +const u32 gEventObjectPic_BreakableRock_2[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/2.4bpp"); +const u32 gEventObjectPic_BreakableRock_3[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/3.4bpp"); +const u32 gEventObjectPic_PushableBoulder[] = INCBIN_U32("graphics/event_objects/pics/misc/pushable_boulder.4bpp"); +const u32 gEventObjectPic_MrBrineysBoat_0[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat/0.4bpp"); +const u32 gEventObjectPic_MrBrineysBoat_1[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat/1.4bpp"); +const u32 gEventObjectPic_MrBrineysBoat_2[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat/2.4bpp"); +const u32 gEventObjectPic_Fossil[] = INCBIN_U32("graphics/event_objects/pics/misc/fossil.4bpp"); +const u32 gEventObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/event_objects/pics/misc/submarine_shadow.4bpp"); +const u16 gEventObjectPalette26[] = INCBIN_U16("graphics/event_objects/palettes/26.gbapal"); +const u32 gEventObjectPic_Truck[] = INCBIN_U32("graphics/event_objects/pics/misc/truck.4bpp"); +const u16 gEventObjectPalette14[] = INCBIN_U16("graphics/event_objects/palettes/14.gbapal"); +const u32 gEventObjectPic_MachokeCarryingBox_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/machoke_carrying_box/0.4bpp"); +const u32 gEventObjectPic_MachokeCarryingBox_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/machoke_carrying_box/1.4bpp"); +const u32 gEventObjectPic_MachokeCarryingBox_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/machoke_carrying_box/2.4bpp"); +const u32 gEventObjectPic_MachokeFacingAway_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/machoke_facing_away/0.4bpp"); +const u32 gEventObjectPic_MachokeFacingAway_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/machoke_facing_away/1.4bpp"); +const u16 gEventObjectPalette15[] = INCBIN_U16("graphics/event_objects/palettes/15.gbapal"); +const u32 gEventObjectPic_BirchsBag[] = INCBIN_U32("graphics/event_objects/pics/misc/birchs_bag.4bpp"); +const u32 gEventObjectPic_Poochyena_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/0.4bpp"); +const u32 gEventObjectPic_Poochyena_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/1.4bpp"); +const u32 gEventObjectPic_Poochyena_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/2.4bpp"); +const u32 gEventObjectPic_Poochyena_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/3.4bpp"); +const u32 gEventObjectPic_Poochyena_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/4.4bpp"); +const u32 gEventObjectPic_Poochyena_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/5.4bpp"); +const u32 gEventObjectPic_Poochyena_6[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/6.4bpp"); +const u32 gEventObjectPic_Poochyena_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/7.4bpp"); +const u32 gEventObjectPic_Poochyena_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/8.4bpp"); +const u16 gEventObjectPalette16[] = INCBIN_U16("graphics/event_objects/palettes/16.gbapal"); +const u32 gEventObjectPic_CableCar[] = INCBIN_U32("graphics/event_objects/pics/misc/cable_car.4bpp"); +const u16 gEventObjectPalette20[] = INCBIN_U16("graphics/event_objects/palettes/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/21.gbapal"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/0.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/1.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/2.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/3.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/4.4bpp"); +const u32 gFieldEffectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/5.4bpp"); +const u32 gEventObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/dirt_pile.4bpp"); +const u32 gEventObjectPic_BerryTreeSprout_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout/0.4bpp"); +const u32 gEventObjectPic_BerryTreeSprout_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout/1.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/0.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/1.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/2.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/3.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/4.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/5.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/0.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/1.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/2.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/3.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/4.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/5.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/0.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/1.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/2.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/3.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/4.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/5.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/0.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/1.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/2.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/3.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/4.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/5.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/0.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/1.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/2.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/3.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/4.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/5.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/0.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/1.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/2.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/3.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/4.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/5.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/0.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/1.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/2.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/3.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/4.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/5.4bpp"); +const u32 gEventObjectPic_LumBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/0.4bpp"); +const u32 gEventObjectPic_LumBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/1.4bpp"); +const u32 gEventObjectPic_LumBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/2.4bpp"); +const u32 gEventObjectPic_LumBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/3.4bpp"); +const u32 gEventObjectPic_LumBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/4.4bpp"); +const u32 gEventObjectPic_LumBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/5.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/0.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/1.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/2.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/3.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/4.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/5.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/0.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/1.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/2.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/3.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/4.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/5.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/0.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/1.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/2.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/3.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/4.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/5.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/0.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/1.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/2.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/3.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/4.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/5.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/0.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/1.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/2.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/3.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/4.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/5.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/0.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/1.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/2.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/3.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/4.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/5.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/0.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/1.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/2.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/3.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/4.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/5.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/0.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/1.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/2.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/3.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/4.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/5.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/0.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/1.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/2.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/3.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/4.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/5.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/0.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/1.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/2.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/3.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/4.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/5.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/0.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/1.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/2.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/3.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/4.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/5.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/0.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/1.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/2.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/3.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/4.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/5.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/0.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/1.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/2.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/3.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/4.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/5.4bpp"); +const u32 gEventObjectPic_OranBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/0.4bpp"); +const u32 gEventObjectPic_OranBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/1.4bpp"); +const u32 gEventObjectPic_OranBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/2.4bpp"); +const u32 gEventObjectPic_OranBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/3.4bpp"); +const u32 gEventObjectPic_OranBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/4.4bpp"); +const u32 gEventObjectPic_OranBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/5.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/0.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/1.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/2.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/3.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/4.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/5.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/0.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/1.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/2.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/3.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/4.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/5.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/0.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/1.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/2.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/3.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/4.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/5.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/0.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/1.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/2.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/3.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/4.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/5.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/0.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/1.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/2.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/3.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/4.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/5.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/0.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/1.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/2.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/3.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/4.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/5.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/0.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/1.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/2.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/3.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/4.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/5.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/0.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/1.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/2.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/3.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/4.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/5.4bpp"); +const u32 gFieldEffectPic_SurfBlob_0[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/0.4bpp"); +const u32 gFieldEffectPic_SurfBlob_1[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/1.4bpp"); +const u32 gFieldEffectPic_SurfBlob_2[] = INCBIN_U32("graphics/field_effect_objects/pics/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 u16 gEventObjectPalette12[] = INCBIN_U16("graphics/event_objects/palettes/12.gbapal"); +const u16 gEventObjectPalette13[] = INCBIN_U16("graphics/event_objects/palettes/13.gbapal"); + +#endif //POKERUBY_EVENT_OBJECT_GFX_H diff --git a/src/data/field_event_obj/event_object_graphics_info.h b/src/data/field_event_obj/event_object_graphics_info.h new file mode 100644 index 000000000..88085980b --- /dev/null +++ b/src/data/field_event_obj/event_object_graphics_info.h @@ -0,0 +1,227 @@ +// + +// + +#ifndef POKERUBY_EVENT_OBJECT_GRAPHICS_INFO_H +#define POKERUBY_EVENT_OBJECT_GRAPHICS_INFO_H + +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xffff, 0x1100, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_HexManiac, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman8 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gEventObjectSubspriteTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Woman8, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_Truck, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Truck, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MachokeCarryingBox = {0xffff, 0x110e, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MachokeCarryingBox, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MachokeFacingAway = {0xffff, 0x110e, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_MachokeFacingAway, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gEventObjectSubspriteTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena = {0xffff, 0x110f, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_64x64, gEventObjectSubspriteTables_CableCar, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_CableCar, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2 = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Wally, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy3 = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gEventObjectSubspriteTables_16x16, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_LittleBoy3, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing = {0xffff, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_8x8, gEventObjectSubspriteTables_SSTidal, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_SSTidal, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow = {0xffff, 0x111a, 0x11ff, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldOamData_8x8, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Boy5, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestJudge = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gEventObjectSubspriteTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_ContestJudge, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering = {0xffff, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kyogre, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1 = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Groudon, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gEventObjectSubspriteTables_16x16, gEventObjectImageAnimTable_Inanimate, gEventObjectPicTable_Fossil, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock = {0xffff, 0x1104, 0x11ff, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel = {0xffff, 0x1106, 0x11ff, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Kyogre, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2 = {0xffff, 0x1118, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Groudon, gEventObjectRotScalAnimTable_KyogreGroudon}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gEventObjectSubspriteTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable}; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x16, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_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, &gFieldOamData_16x32, gEventObjectSubspriteTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; + +#endif //POKERUBY_EVENT_OBJECT_GRAPHICS_INFO_H diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h new file mode 100644 index 000000000..87b7c85a6 --- /dev/null +++ b/src/data/field_event_obj/event_object_graphics_info_pointers.h @@ -0,0 +1,448 @@ +// + +// + +#ifndef POKERUBY_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H +#define POKERUBY_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H + +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFieldMove; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_QuintyPlump; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleGirl2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy3; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Girl3; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy4; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FatMan; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman3; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman4; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man3; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman5; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cook; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman6; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldMan2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_OldWoman2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Camper; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Picnicker; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man4; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman7; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Youngster; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BugCatcher; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PsychicM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SchoolKidM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maniac; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HexManiac; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Woman8; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwimmerF; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BlackBelt; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Beauty; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lass; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Gentleman; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sailor; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fisherman; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RunningTriathleteF; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberF; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hiker; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyclingTriathleteF; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Nurse; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ItemBall; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTree; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeEarlyStages; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BerryTreeLateStages; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ProfBirch; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man5; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man6; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ReporterF; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Bard; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Hipster; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Trader; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Storyteller; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Giddy; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldMan2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedNatuDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMagnemiteDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedSquirtleDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedWooperDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPikachuDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedPorygon2Doll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CuttableTree; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MartEmployee; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RooftopSaleWoman; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Teala; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BreakableRock; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PushableBoulder; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MrBrineysBoat; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayNormal; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayMachBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayAcroBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MaySurfing; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFieldMove; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Truck; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MachokeCarryingBox; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MachokeFacingAway; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BirchsBag; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Poochyena; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Artist; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanNormal; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanMachBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanAcroBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanSurfing; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalBrendanFieldMove; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayNormal; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayMachBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayAcroBike; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMaySurfing; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RivalMayFieldMove; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Cameraman; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanUnderwater; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayUnderwater; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MovingBox; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CableCar; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Scientist2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Man7; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AquaMemberF; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberM; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MagmaMemberF; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Sidney; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Phoebe; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Glacia; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Drake; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Roxanne; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Brawly; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wattson; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Flannery; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Norman; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Winona; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Liza; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Tate; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wallace; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Steven; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wally; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LittleBoy3; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanFishing; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayFishing; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HotSpringsOldWoman; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SSTidal; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SubmarineShadow; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PichuDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikachuDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MarillDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TogepiDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_CyndaquilDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ChikoritaDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TotodileDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_JigglypuffDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MeowthDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ClefairyDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DittoDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SmoochumDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TreeckoDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TorchicDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MudkipDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DuskullDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WynautDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BaltoyDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KecleonDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_AzurillDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SkittyDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SwabluDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GulpinDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LotadDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SeedotDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_PikaCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RoundCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_KissCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ZigzagCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_SpinCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_DiamondCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BallCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_GrassCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_FireCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_WaterCushion; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigSnorlaxDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRhydonDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigLaprasDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigVenusaurDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigCharizardDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigBlastoiseDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigWailmerDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegirockDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegiceDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BigRegisteelDoll; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latias; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Latios; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Boy5; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_ContestJudge; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanWatering; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayWatering; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanDecorating; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_MayDecorating; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Archie; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Maxie; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Fossil; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regirock; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Regice; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Registeel; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Skitty; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon1; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kyogre2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Groudon2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Rayquaza; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Zigzagoon; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Pikachu; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azumarill; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Wingull; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Kecleon2; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_TuberMSwimming; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Azurill; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Mom; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkBrendan; +const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_LinkMay; + +const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] = { + &gEventObjectGraphicsInfo_BrendanNormal, + &gEventObjectGraphicsInfo_BrendanMachBike, + &gEventObjectGraphicsInfo_BrendanSurfing, + &gEventObjectGraphicsInfo_BrendanFieldMove, + &gEventObjectGraphicsInfo_QuintyPlump, + &gEventObjectGraphicsInfo_LittleBoy1, + &gEventObjectGraphicsInfo_LittleGirl1, + &gEventObjectGraphicsInfo_Boy1, + &gEventObjectGraphicsInfo_Girl1, + &gEventObjectGraphicsInfo_Boy2, + &gEventObjectGraphicsInfo_Girl2, + &gEventObjectGraphicsInfo_LittleBoy2, + &gEventObjectGraphicsInfo_LittleGirl2, + &gEventObjectGraphicsInfo_Boy3, + &gEventObjectGraphicsInfo_Girl3, + &gEventObjectGraphicsInfo_Boy4, + &gEventObjectGraphicsInfo_Woman1, + &gEventObjectGraphicsInfo_FatMan, + &gEventObjectGraphicsInfo_Woman2, + &gEventObjectGraphicsInfo_Man1, + &gEventObjectGraphicsInfo_Woman3, + &gEventObjectGraphicsInfo_OldMan1, + &gEventObjectGraphicsInfo_OldWoman1, + &gEventObjectGraphicsInfo_Man2, + &gEventObjectGraphicsInfo_Woman4, + &gEventObjectGraphicsInfo_Man3, + &gEventObjectGraphicsInfo_Woman5, + &gEventObjectGraphicsInfo_Cook, + &gEventObjectGraphicsInfo_Woman6, + &gEventObjectGraphicsInfo_OldMan2, + &gEventObjectGraphicsInfo_OldWoman2, + &gEventObjectGraphicsInfo_Camper, + &gEventObjectGraphicsInfo_Picnicker, + &gEventObjectGraphicsInfo_Man4, + &gEventObjectGraphicsInfo_Woman7, + &gEventObjectGraphicsInfo_Youngster, + &gEventObjectGraphicsInfo_BugCatcher, + &gEventObjectGraphicsInfo_PsychicM, + &gEventObjectGraphicsInfo_SchoolKidM, + &gEventObjectGraphicsInfo_Maniac, + &gEventObjectGraphicsInfo_HexManiac, + &gEventObjectGraphicsInfo_Woman8, + &gEventObjectGraphicsInfo_SwimmerM, + &gEventObjectGraphicsInfo_SwimmerF, + &gEventObjectGraphicsInfo_BlackBelt, + &gEventObjectGraphicsInfo_Beauty, + &gEventObjectGraphicsInfo_Scientist1, + &gEventObjectGraphicsInfo_Lass, + &gEventObjectGraphicsInfo_Gentleman, + &gEventObjectGraphicsInfo_Sailor, + &gEventObjectGraphicsInfo_Fisherman, + &gEventObjectGraphicsInfo_RunningTriathleteM, + &gEventObjectGraphicsInfo_RunningTriathleteF, + &gEventObjectGraphicsInfo_TuberF, + &gEventObjectGraphicsInfo_TuberM, + &gEventObjectGraphicsInfo_Hiker, + &gEventObjectGraphicsInfo_CyclingTriathleteM, + &gEventObjectGraphicsInfo_CyclingTriathleteF, + &gEventObjectGraphicsInfo_Nurse, + &gEventObjectGraphicsInfo_ItemBall, + &gEventObjectGraphicsInfo_BerryTree, + &gEventObjectGraphicsInfo_BerryTreeEarlyStages, + &gEventObjectGraphicsInfo_BerryTreeLateStages, + &gEventObjectGraphicsInfo_BrendanAcroBike, + &gEventObjectGraphicsInfo_ProfBirch, + &gEventObjectGraphicsInfo_Man5, + &gEventObjectGraphicsInfo_Man6, + &gEventObjectGraphicsInfo_ReporterM, + &gEventObjectGraphicsInfo_ReporterF, + &gEventObjectGraphicsInfo_Bard, + &gEventObjectGraphicsInfo_Hipster, + &gEventObjectGraphicsInfo_Trader, + &gEventObjectGraphicsInfo_Storyteller, + &gEventObjectGraphicsInfo_Giddy, + &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1, + &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2, + &gEventObjectGraphicsInfo_UnusedNatuDoll, + &gEventObjectGraphicsInfo_UnusedMagnemiteDoll, + &gEventObjectGraphicsInfo_UnusedSquirtleDoll, + &gEventObjectGraphicsInfo_UnusedWooperDoll, + &gEventObjectGraphicsInfo_UnusedPikachuDoll, + &gEventObjectGraphicsInfo_UnusedPorygon2Doll, + &gEventObjectGraphicsInfo_CuttableTree, + &gEventObjectGraphicsInfo_MartEmployee, + &gEventObjectGraphicsInfo_RooftopSaleWoman, + &gEventObjectGraphicsInfo_Teala, + &gEventObjectGraphicsInfo_BreakableRock, + &gEventObjectGraphicsInfo_PushableBoulder, + &gEventObjectGraphicsInfo_MrBrineysBoat, + &gEventObjectGraphicsInfo_MayNormal, + &gEventObjectGraphicsInfo_MayMachBike, + &gEventObjectGraphicsInfo_MayAcroBike, + &gEventObjectGraphicsInfo_MaySurfing, + &gEventObjectGraphicsInfo_MayFieldMove, + &gEventObjectGraphicsInfo_Truck, + &gEventObjectGraphicsInfo_MachokeCarryingBox, + &gEventObjectGraphicsInfo_MachokeFacingAway, + &gEventObjectGraphicsInfo_BirchsBag, + &gEventObjectGraphicsInfo_Poochyena, + &gEventObjectGraphicsInfo_Artist, + &gEventObjectGraphicsInfo_RivalBrendanNormal, + &gEventObjectGraphicsInfo_RivalBrendanMachBike, + &gEventObjectGraphicsInfo_RivalBrendanAcroBike, + &gEventObjectGraphicsInfo_RivalBrendanSurfing, + &gEventObjectGraphicsInfo_RivalBrendanFieldMove, + &gEventObjectGraphicsInfo_RivalMayNormal, + &gEventObjectGraphicsInfo_RivalMayMachBike, + &gEventObjectGraphicsInfo_RivalMayAcroBike, + &gEventObjectGraphicsInfo_RivalMaySurfing, + &gEventObjectGraphicsInfo_RivalMayFieldMove, + &gEventObjectGraphicsInfo_Cameraman, + &gEventObjectGraphicsInfo_BrendanUnderwater, + &gEventObjectGraphicsInfo_MayUnderwater, + &gEventObjectGraphicsInfo_MovingBox, + &gEventObjectGraphicsInfo_CableCar, + &gEventObjectGraphicsInfo_Scientist2, + &gEventObjectGraphicsInfo_Man7, + &gEventObjectGraphicsInfo_AquaMemberM, + &gEventObjectGraphicsInfo_AquaMemberF, + &gEventObjectGraphicsInfo_MagmaMemberM, + &gEventObjectGraphicsInfo_MagmaMemberF, + &gEventObjectGraphicsInfo_Sidney, + &gEventObjectGraphicsInfo_Phoebe, + &gEventObjectGraphicsInfo_Glacia, + &gEventObjectGraphicsInfo_Drake, + &gEventObjectGraphicsInfo_Roxanne, + &gEventObjectGraphicsInfo_Brawly, + &gEventObjectGraphicsInfo_Wattson, + &gEventObjectGraphicsInfo_Flannery, + &gEventObjectGraphicsInfo_Norman, + &gEventObjectGraphicsInfo_Winona, + &gEventObjectGraphicsInfo_Liza, + &gEventObjectGraphicsInfo_Tate, + &gEventObjectGraphicsInfo_Wallace, + &gEventObjectGraphicsInfo_Steven, + &gEventObjectGraphicsInfo_Wally, + &gEventObjectGraphicsInfo_LittleBoy3, + &gEventObjectGraphicsInfo_BrendanFishing, + &gEventObjectGraphicsInfo_MayFishing, + &gEventObjectGraphicsInfo_HotSpringsOldWoman, + &gEventObjectGraphicsInfo_SSTidal, + &gEventObjectGraphicsInfo_SubmarineShadow, + &gEventObjectGraphicsInfo_PichuDoll, + &gEventObjectGraphicsInfo_PikachuDoll, + &gEventObjectGraphicsInfo_MarillDoll, + &gEventObjectGraphicsInfo_TogepiDoll, + &gEventObjectGraphicsInfo_CyndaquilDoll, + &gEventObjectGraphicsInfo_ChikoritaDoll, + &gEventObjectGraphicsInfo_TotodileDoll, + &gEventObjectGraphicsInfo_JigglypuffDoll, + &gEventObjectGraphicsInfo_MeowthDoll, + &gEventObjectGraphicsInfo_ClefairyDoll, + &gEventObjectGraphicsInfo_DittoDoll, + &gEventObjectGraphicsInfo_SmoochumDoll, + &gEventObjectGraphicsInfo_TreeckoDoll, + &gEventObjectGraphicsInfo_TorchicDoll, + &gEventObjectGraphicsInfo_MudkipDoll, + &gEventObjectGraphicsInfo_DuskullDoll, + &gEventObjectGraphicsInfo_WynautDoll, + &gEventObjectGraphicsInfo_BaltoyDoll, + &gEventObjectGraphicsInfo_KecleonDoll, + &gEventObjectGraphicsInfo_AzurillDoll, + &gEventObjectGraphicsInfo_SkittyDoll, + &gEventObjectGraphicsInfo_SwabluDoll, + &gEventObjectGraphicsInfo_GulpinDoll, + &gEventObjectGraphicsInfo_LotadDoll, + &gEventObjectGraphicsInfo_SeedotDoll, + &gEventObjectGraphicsInfo_PikaCushion, + &gEventObjectGraphicsInfo_RoundCushion, + &gEventObjectGraphicsInfo_KissCushion, + &gEventObjectGraphicsInfo_ZigzagCushion, + &gEventObjectGraphicsInfo_SpinCushion, + &gEventObjectGraphicsInfo_DiamondCushion, + &gEventObjectGraphicsInfo_BallCushion, + &gEventObjectGraphicsInfo_GrassCushion, + &gEventObjectGraphicsInfo_FireCushion, + &gEventObjectGraphicsInfo_WaterCushion, + &gEventObjectGraphicsInfo_BigSnorlaxDoll, + &gEventObjectGraphicsInfo_BigRhydonDoll, + &gEventObjectGraphicsInfo_BigLaprasDoll, + &gEventObjectGraphicsInfo_BigVenusaurDoll, + &gEventObjectGraphicsInfo_BigCharizardDoll, + &gEventObjectGraphicsInfo_BigBlastoiseDoll, + &gEventObjectGraphicsInfo_BigWailmerDoll, + &gEventObjectGraphicsInfo_BigRegirockDoll, + &gEventObjectGraphicsInfo_BigRegiceDoll, + &gEventObjectGraphicsInfo_BigRegisteelDoll, + &gEventObjectGraphicsInfo_Latias, + &gEventObjectGraphicsInfo_Latios, + &gEventObjectGraphicsInfo_Boy5, + &gEventObjectGraphicsInfo_ContestJudge, + &gEventObjectGraphicsInfo_BrendanWatering, + &gEventObjectGraphicsInfo_MayWatering, + &gEventObjectGraphicsInfo_BrendanDecorating, + &gEventObjectGraphicsInfo_MayDecorating, + &gEventObjectGraphicsInfo_Archie, + &gEventObjectGraphicsInfo_Maxie, + &gEventObjectGraphicsInfo_Kyogre1, + &gEventObjectGraphicsInfo_Groudon1, + &gEventObjectGraphicsInfo_Fossil, + &gEventObjectGraphicsInfo_Regirock, + &gEventObjectGraphicsInfo_Regice, + &gEventObjectGraphicsInfo_Registeel, + &gEventObjectGraphicsInfo_Skitty, + &gEventObjectGraphicsInfo_Kecleon1, + &gEventObjectGraphicsInfo_Kyogre2, + &gEventObjectGraphicsInfo_Groudon2, + &gEventObjectGraphicsInfo_Rayquaza, + &gEventObjectGraphicsInfo_Zigzagoon, + &gEventObjectGraphicsInfo_Pikachu, + &gEventObjectGraphicsInfo_Azumarill, + &gEventObjectGraphicsInfo_Wingull, + &gEventObjectGraphicsInfo_Kecleon2, + &gEventObjectGraphicsInfo_TuberMSwimming, + &gEventObjectGraphicsInfo_Azurill, + &gEventObjectGraphicsInfo_Mom, + &gEventObjectGraphicsInfo_LinkBrendan, + &gEventObjectGraphicsInfo_LinkMay +}; + +#endif //POKERUBY_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h new file mode 100644 index 000000000..f7ed77f93 --- /dev/null +++ b/src/data/field_event_obj/event_object_pic_tables.h @@ -0,0 +1,1879 @@ +// + +// + +#ifndef POKERUBY_EVENT_OBJECT_PIC_TABLES_H +#define POKERUBY_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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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_0), + obj_frame_tiles(gEventObjectPic_OldWoman2_0), + obj_frame_tiles(gEventObjectPic_OldWoman2_1), + obj_frame_tiles(gEventObjectPic_OldWoman2_1), + obj_frame_tiles(gEventObjectPic_OldWoman2_2), + obj_frame_tiles(gEventObjectPic_OldWoman2_2) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman8[] = { + obj_frame_tiles(gEventObjectPic_Woman8_0), + obj_frame_tiles(gEventObjectPic_Woman8_1), + obj_frame_tiles(gEventObjectPic_Woman8_2), + obj_frame_tiles(gEventObjectPic_Woman8_3), + obj_frame_tiles(gEventObjectPic_Woman8_4), + obj_frame_tiles(gEventObjectPic_Woman8_5), + obj_frame_tiles(gEventObjectPic_Woman8_6), + obj_frame_tiles(gEventObjectPic_Woman8_7), + obj_frame_tiles(gEventObjectPic_Woman8_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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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_3), + obj_frame_tiles(gEventObjectPic_Nurse_4), + obj_frame_tiles(gEventObjectPic_Nurse_5), + obj_frame_tiles(gEventObjectPic_Nurse_6), + obj_frame_tiles(gEventObjectPic_Nurse_7), + obj_frame_tiles(gEventObjectPic_Nurse_8), + obj_frame_tiles(gEventObjectPic_Nurse_9) +}; + +const struct SpriteFrameImage gEventObjectPicTable_ItemBall[] = { + obj_frame_tiles(gEventObjectPic_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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedNatuDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedNatuDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedMagnemiteDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedMagnemiteDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedSquirtleDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedSquirtleDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedWooperDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedWooperDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedPikachuDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedPikachuDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedPorygon2Doll[] = { + obj_frame_tiles(gEventObjectPic_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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_PushableBoulder[] = { + obj_frame_tiles(gEventObjectPic_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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_Truck[] = { + obj_frame_tiles(gEventObjectPic_Truck) +}; + +const struct SpriteFrameImage gEventObjectPicTable_MachokeCarryingBox[] = { + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_0), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_0), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_0), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_1), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_2), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_1), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_2), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_1), + obj_frame_tiles(gEventObjectPic_MachokeCarryingBox_2) +}; + +const struct SpriteFrameImage gEventObjectPicTable_MachokeFacingAway[] = { + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_0), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_0), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_0), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_1), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_1), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_1), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_1), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_1), + obj_frame_tiles(gEventObjectPic_MachokeFacingAway_1) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BirchsBag[] = { + obj_frame_tiles(gEventObjectPic_BirchsBag) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_MovingBox[] = { + obj_frame_tiles(gEventObjectPic_MovingBox) +}; + +const struct SpriteFrameImage gEventObjectPicTable_CableCar[] = { + obj_frame_tiles(gEventObjectPic_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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_LittleBoy3[] = { + obj_frame_tiles(gEventObjectPic_LittleBoy3_0), + obj_frame_tiles(gEventObjectPic_LittleBoy3_1), + obj_frame_tiles(gEventObjectPic_LittleBoy3_2), + obj_frame_tiles(gEventObjectPic_LittleBoy3_3), + obj_frame_tiles(gEventObjectPic_LittleBoy3_4), + obj_frame_tiles(gEventObjectPic_LittleBoy3_5), + obj_frame_tiles(gEventObjectPic_LittleBoy3_6), + obj_frame_tiles(gEventObjectPic_LittleBoy3_7), + obj_frame_tiles(gEventObjectPic_LittleBoy3_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) +}; + +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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_SSTidal[] = { + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal) +}; + +const struct SpriteFrameImage gEventObjectPicTable_SubmarineShadow[] = { + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow) +}; + +const struct SpriteFrameImage gEventObjectPicTable_PichuDoll[] = { + obj_frame_tiles(gEventObjectPic_PichuDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_PikachuDoll[] = { + obj_frame_tiles(gEventObjectPic_PikachuDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_MarillDoll[] = { + obj_frame_tiles(gEventObjectPic_MarillDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_TogepiDoll[] = { + obj_frame_tiles(gEventObjectPic_TogepiDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_CyndaquilDoll[] = { + obj_frame_tiles(gEventObjectPic_CyndaquilDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_ChikoritaDoll[] = { + obj_frame_tiles(gEventObjectPic_ChikoritaDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_TotodileDoll[] = { + obj_frame_tiles(gEventObjectPic_TotodileDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_JigglypuffDoll[] = { + obj_frame_tiles(gEventObjectPic_JigglypuffDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_MeowthDoll[] = { + obj_frame_tiles(gEventObjectPic_MeowthDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_ClefairyDoll[] = { + obj_frame_tiles(gEventObjectPic_ClefairyDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_DittoDoll[] = { + obj_frame_tiles(gEventObjectPic_DittoDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_SmoochumDoll[] = { + obj_frame_tiles(gEventObjectPic_SmoochumDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_TreeckoDoll[] = { + obj_frame_tiles(gEventObjectPic_TreeckoDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_TorchicDoll[] = { + obj_frame_tiles(gEventObjectPic_TorchicDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_MudkipDoll[] = { + obj_frame_tiles(gEventObjectPic_MudkipDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_DuskullDoll[] = { + obj_frame_tiles(gEventObjectPic_DuskullDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_WynautDoll[] = { + obj_frame_tiles(gEventObjectPic_WynautDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BaltoyDoll[] = { + obj_frame_tiles(gEventObjectPic_BaltoyDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_KecleonDoll[] = { + obj_frame_tiles(gEventObjectPic_KecleonDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_AzurillDoll[] = { + obj_frame_tiles(gEventObjectPic_AzurillDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_SkittyDoll[] = { + obj_frame_tiles(gEventObjectPic_SkittyDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_SwabluDoll[] = { + obj_frame_tiles(gEventObjectPic_SwabluDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_GulpinDoll[] = { + obj_frame_tiles(gEventObjectPic_GulpinDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_LotadDoll[] = { + obj_frame_tiles(gEventObjectPic_LotadDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_SeedotDoll[] = { + obj_frame_tiles(gEventObjectPic_SeedotDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_PikaCushion[] = { + obj_frame_tiles(gEventObjectPic_PikaCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_RoundCushion[] = { + obj_frame_tiles(gEventObjectPic_RoundCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_KissCushion[] = { + obj_frame_tiles(gEventObjectPic_KissCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_ZigzagCushion[] = { + obj_frame_tiles(gEventObjectPic_ZigzagCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_SpinCushion[] = { + obj_frame_tiles(gEventObjectPic_SpinCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_DiamondCushion[] = { + obj_frame_tiles(gEventObjectPic_DiamondCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BallCushion[] = { + obj_frame_tiles(gEventObjectPic_BallCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_GrassCushion[] = { + obj_frame_tiles(gEventObjectPic_GrassCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_FireCushion[] = { + obj_frame_tiles(gEventObjectPic_FireCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_WaterCushion[] = { + obj_frame_tiles(gEventObjectPic_WaterCushion) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigSnorlaxDoll[] = { + obj_frame_tiles(gEventObjectPic_BigSnorlaxDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigRhydonDoll[] = { + obj_frame_tiles(gEventObjectPic_BigRhydonDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigLaprasDoll[] = { + obj_frame_tiles(gEventObjectPic_BigLaprasDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigVenusaurDoll[] = { + obj_frame_tiles(gEventObjectPic_BigVenusaurDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigCharizardDoll[] = { + obj_frame_tiles(gEventObjectPic_BigCharizardDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigBlastoiseDoll[] = { + obj_frame_tiles(gEventObjectPic_BigBlastoiseDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigWailmerDoll[] = { + obj_frame_tiles(gEventObjectPic_BigWailmerDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigRegirockDoll[] = { + obj_frame_tiles(gEventObjectPic_BigRegirockDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigRegiceDoll[] = { + obj_frame_tiles(gEventObjectPic_BigRegiceDoll) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BigRegisteelDoll[] = { + obj_frame_tiles(gEventObjectPic_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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_ContestJudge[] = { + obj_frame_tiles(gEventObjectPic_ContestJudge_0), + obj_frame_tiles(gEventObjectPic_ContestJudge_1), + obj_frame_tiles(gEventObjectPic_ContestJudge_2), + obj_frame_tiles(gEventObjectPic_ContestJudge_3), + obj_frame_tiles(gEventObjectPic_ContestJudge_4), + obj_frame_tiles(gEventObjectPic_ContestJudge_5), + obj_frame_tiles(gEventObjectPic_ContestJudge_6), + obj_frame_tiles(gEventObjectPic_ContestJudge_7), + obj_frame_tiles(gEventObjectPic_ContestJudge_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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_BrendanDecorating[] = { + obj_frame_tiles(gEventObjectPic_BrendanDecorating) +}; + +const struct SpriteFrameImage gEventObjectPicTable_MayDecorating[] = { + obj_frame_tiles(gEventObjectPic_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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_Kyogre[] = { + obj_frame_tiles(gEventObjectPic_Kyogre_0), + obj_frame_tiles(gEventObjectPic_Kyogre_0), + obj_frame_tiles(gEventObjectPic_Kyogre_0), + obj_frame_tiles(gEventObjectPic_Kyogre_1), + obj_frame_tiles(gEventObjectPic_Kyogre_1), + obj_frame_tiles(gEventObjectPic_Kyogre_1), + obj_frame_tiles(gEventObjectPic_Kyogre_1), + obj_frame_tiles(gEventObjectPic_Kyogre_1), + obj_frame_tiles(gEventObjectPic_Kyogre_1) +}; + +const struct SpriteFrameImage gEventObjectPicTable_Groudon[] = { + obj_frame_tiles(gEventObjectPic_Groudon_0), + obj_frame_tiles(gEventObjectPic_Groudon_0), + obj_frame_tiles(gEventObjectPic_Groudon_0), + obj_frame_tiles(gEventObjectPic_Groudon_1), + obj_frame_tiles(gEventObjectPic_Groudon_1), + obj_frame_tiles(gEventObjectPic_Groudon_1), + obj_frame_tiles(gEventObjectPic_Groudon_1), + obj_frame_tiles(gEventObjectPic_Groudon_1), + obj_frame_tiles(gEventObjectPic_Groudon_1) +}; + +const struct SpriteFrameImage gEventObjectPicTable_Fossil[] = { + obj_frame_tiles(gEventObjectPic_Fossil) +}; + +const struct SpriteFrameImage gEventObjectPicTable_Regi[] = { + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_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) +}; + +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) +}; + +const struct SpriteFrameImage gEventObjectPicTable_Rayquaza[] = { + obj_frame_tiles(gEventObjectPic_Rayquaza_0), + obj_frame_tiles(gEventObjectPic_Rayquaza_0), + obj_frame_tiles(gEventObjectPic_Rayquaza_0), + obj_frame_tiles(gEventObjectPic_Rayquaza_1), + obj_frame_tiles(gEventObjectPic_Rayquaza_1), + obj_frame_tiles(gEventObjectPic_Rayquaza_1), + obj_frame_tiles(gEventObjectPic_Rayquaza_1), + obj_frame_tiles(gEventObjectPic_Rayquaza_1), + obj_frame_tiles(gEventObjectPic_Rayquaza_1) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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) +}; + +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), +}; + +#endif //POKERUBY_EVENT_OBJECT_PIC_TABLES_H diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/field_event_obj/event_object_subsprites.h new file mode 100644 index 000000000..95ff6dc03 --- /dev/null +++ b/src/data/field_event_obj/event_object_subsprites.h @@ -0,0 +1,345 @@ +// + +// + +#ifndef POKERUBY_EVENT_OBJECT_SUBSPRITES_H +#define POKERUBY_EVENT_OBJECT_SUBSPRITES_H + +const struct Subsprite gEventObjectSubspriteTable_16x16_0[] = { + { -8, -8, 0, 1, 0, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x16_1[] = { + { -8, -8, 0, 1, 0, 1} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x16_2[] = { + { -8, -8, 1, 0, 0, 2}, + { -8, 0, 1, 0, 2, 3} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x16_3[] = { + { -8, -8, 0, 1, 0, 2}, + { -8, -8, 0, 1, 0, 3} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x16_4[] = { + { -8, -8, 0, 1, 0, 1}, + { -8, -8, 0, 1, 0, 3} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_16x16[] = { + {0, NULL}, + {1, gEventObjectSubspriteTable_16x16_0}, + {1, gEventObjectSubspriteTable_16x16_1}, + {2, gEventObjectSubspriteTable_16x16_2}, + {2, gEventObjectSubspriteTable_16x16_3}, + {2, gEventObjectSubspriteTable_16x16_4} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x32_0[] = { + { -8, -16, 2, 2, 0, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x32_1[] = { + { -8, -16, 2, 2, 0, 1} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x32_2[] = { + { -8, -16, 0, 1, 0, 2}, + { -8, 0, 1, 0, 4, 2}, + { -8, 8, 1, 0, 6, 3} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x32_3[] = { + { -8, -16, 0, 1, 0, 2}, + { -8, 0, 0, 1, 4, 3} +}; + +const struct Subsprite gEventObjectSubspriteTable_16x32_4[] = { + { -8, -16, 0, 1, 0, 1}, + { -8, 0, 0, 1, 4, 3} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_16x32[] = { + {0, NULL}, + {1, gEventObjectSubspriteTable_16x32_0}, + {1, gEventObjectSubspriteTable_16x32_1}, + {3, gEventObjectSubspriteTable_16x32_2}, + {2, gEventObjectSubspriteTable_16x32_3}, + {2, gEventObjectSubspriteTable_16x32_4} +}; + +const struct Subsprite gEventObjectSubspriteTable_32x32_0[] = { + {-16, -16, 0, 2, 0, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_32x32_1[] = { + {-16, -16, 0, 2, 0, 1} +}; + +const struct Subsprite gEventObjectSubspriteTable_32x32_2[] = { + {-16, -16, 1, 2, 0, 2}, + {-16, 0, 1, 1, 8, 2}, + {-16, 8, 1, 1, 12, 3} +}; + +const struct Subsprite gEventObjectSubspriteTable_32x32_3[] = { + {-16, -16, 1, 2, 0, 2}, + {-16, 0, 1, 2, 8, 3} +}; + +const struct Subsprite gEventObjectSubspriteTable_32x32_4[] = { + {-16, -16, 1, 2, 0, 1}, + {-16, 0, 1, 2, 8, 3} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_32x32[] = { + {0, NULL}, + {1, gEventObjectSubspriteTable_32x32_0}, + {1, gEventObjectSubspriteTable_32x32_1}, + {3, gEventObjectSubspriteTable_32x32_2}, + {2, gEventObjectSubspriteTable_32x32_3}, + {2, gEventObjectSubspriteTable_32x32_4} +}; + +const struct Subsprite gEventObjectSubspriteTable_Truck_0[] = { + {-24, -24, 1, 1, 0, 2}, + { 8, -24, 1, 0, 4, 2}, + {-24, -16, 1, 1, 6, 2}, + { 8, -16, 1, 0, 10, 2}, + {-24, -8, 1, 1, 12, 2}, + { 8, -8, 1, 0, 16, 2}, + {-24, 0, 1, 1, 18, 2}, + { 8, 0, 1, 0, 22, 2}, + {-24, 8, 1, 1, 24, 2}, + { 8, 8, 1, 0, 28, 2}, + {-24, 16, 1, 1, 30, 2}, + { 8, 16, 1, 0, 34, 2} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_Truck[] = { + {12, gEventObjectSubspriteTable_Truck_0}, + {12, gEventObjectSubspriteTable_Truck_0}, + {12, gEventObjectSubspriteTable_Truck_0}, + {12, gEventObjectSubspriteTable_Truck_0}, + {12, gEventObjectSubspriteTable_Truck_0}, + {12, gEventObjectSubspriteTable_Truck_0} +}; + +const struct Subsprite gEventObjectSubspriteTable_Unused_0[] = { + {-32, -16, 1, 3, 0, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_Unused_1[] = { + {-32, -16, 1, 3, 0, 1} +}; + +const struct Subsprite gEventObjectSubspriteTable_Unused_2[] = { + {-32, -16, 1, 3, 0, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_Unused_3[] = { + {-32, -16, 1, 3, 0, 2} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_Unused[] = { + {0, NULL}, + {1, gEventObjectSubspriteTable_Unused_0}, + {1, gEventObjectSubspriteTable_Unused_1}, + {1, gEventObjectSubspriteTable_Unused_2}, + {1, gEventObjectSubspriteTable_Unused_3}, + {1, gEventObjectSubspriteTable_Unused_3} +}; + +const struct Subsprite gEventObjectSubspriteTable_CableCar_0[] = { + {-32, -32, 0, 3, 0, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_CableCar_1[] = { + {-32, -32, 0, 3, 0, 1} +}; + +const struct Subsprite gEventObjectSubspriteTable_CableCar_2[] = { + {-32, -32, 0, 3, 0, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_CableCar_3[] = { + {-32, -32, 0, 3, 0, 2} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_CableCar[] = { + {0, NULL}, + {1, gEventObjectSubspriteTable_CableCar_0}, + {1, gEventObjectSubspriteTable_CableCar_1}, + {1, gEventObjectSubspriteTable_CableCar_2}, + {1, gEventObjectSubspriteTable_CableCar_3}, + {1, gEventObjectSubspriteTable_CableCar_3} +}; + +const struct Subsprite gEventObjectSubspriteTable_SSTidal_0[] = { + {-48, -20, 1, 1, 0, 2}, + {-16, -20, 1, 1, 4, 2}, + { 16, -20, 1, 1, 8, 2}, + {-48, -12, 1, 1, 12, 2}, + {-16, -12, 1, 1, 16, 2}, + { 16, -12, 1, 1, 20, 2}, + {-48, -4, 1, 1, 24, 2}, + {-16, -4, 1, 1, 28, 2}, + { 16, -4, 1, 1, 32, 2}, + {-48, 4, 1, 1, 36, 2}, + {-16, 4, 1, 1, 40, 2}, + { 16, 4, 1, 1, 44, 2}, + {-48, 12, 1, 1, 48, 2}, + {-16, 12, 1, 1, 52, 2}, + { 16, 12, 1, 1, 56, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_SSTidal_1[] = { + {-48, -20, 1, 1, 0, 1}, + {-16, -20, 1, 1, 4, 1}, + { 16, -20, 1, 1, 8, 1}, + {-48, -12, 1, 1, 12, 1}, + {-16, -12, 1, 1, 16, 1}, + { 16, -12, 1, 1, 20, 1}, + {-48, -4, 1, 1, 24, 1}, + {-16, -4, 1, 1, 28, 1}, + { 16, -4, 1, 1, 32, 1}, + {-48, 4, 1, 1, 36, 1}, + {-16, 4, 1, 1, 40, 1}, + { 16, 4, 1, 1, 44, 1}, + {-48, 12, 1, 1, 48, 1}, + {-16, 12, 1, 1, 52, 1}, + { 16, 12, 1, 1, 56, 1} +}; + +const struct Subsprite gEventObjectSubspriteTable_SSTidal_2[] = { + {-48, -20, 1, 1, 0, 2}, + {-16, -20, 1, 1, 4, 2}, + { 16, -20, 1, 1, 8, 2}, + {-48, -12, 1, 1, 12, 2}, + {-16, -12, 1, 1, 16, 2}, + { 16, -12, 1, 1, 20, 2}, + {-48, -4, 1, 1, 24, 2}, + {-16, -4, 1, 1, 28, 2}, + { 16, -4, 1, 1, 32, 2}, + {-48, 4, 1, 1, 36, 2}, + {-16, 4, 1, 1, 40, 2}, + { 16, 4, 1, 1, 44, 2}, + {-48, 12, 1, 1, 48, 2}, + {-16, 12, 1, 1, 52, 2}, + { 16, 12, 1, 1, 56, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_SSTidal_3[] = { + {-48, -20, 1, 1, 0, 1}, + {-16, -20, 1, 1, 4, 1}, + { 16, -20, 1, 1, 8, 1}, + {-48, -12, 1, 1, 12, 1}, + {-16, -12, 1, 1, 16, 1}, + { 16, -12, 1, 1, 20, 1}, + {-48, -4, 1, 1, 24, 2}, + {-16, -4, 1, 1, 28, 2}, + { 16, -4, 1, 1, 32, 2}, + {-48, 4, 1, 1, 36, 2}, + {-16, 4, 1, 1, 40, 2}, + { 16, 4, 1, 1, 44, 2}, + {-48, 12, 1, 1, 48, 2}, + {-16, 12, 1, 1, 52, 2}, + { 16, 12, 1, 1, 56, 2} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_SSTidal[] = { + {15, gEventObjectSubspriteTable_SSTidal_0}, + {15, gEventObjectSubspriteTable_SSTidal_0}, + {15, gEventObjectSubspriteTable_SSTidal_1}, + {15, gEventObjectSubspriteTable_SSTidal_2}, + {15, gEventObjectSubspriteTable_SSTidal_3}, + {15, gEventObjectSubspriteTable_SSTidal_3} +}; + +const struct Subsprite gEventObjectSubspriteTable_SubmarineShadow_0[] = { + {-48, -20, 1, 1, 0, 2}, + {-16, -20, 1, 1, 4, 2}, + { 16, -20, 1, 0, 8, 2}, + { 32, -20, 0, 0, 10, 2}, + {-48, -12, 1, 1, 11, 2}, + {-16, -12, 1, 1, 15, 2}, + { 16, -12, 1, 0, 19, 2}, + { 32, -12, 0, 0, 21, 2}, + {-48, -4, 1, 1, 22, 2}, + {-16, -4, 1, 1, 26, 2}, + { 16, -4, 1, 0, 30, 2}, + { 32, -4, 0, 0, 32, 2}, + {-48, 4, 1, 1, 33, 2}, + {-16, 4, 1, 1, 37, 2}, + { 16, 4, 1, 0, 41, 2}, + { 32, 4, 0, 0, 43, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_SubmarineShadow_1[] = { + {-48, -20, 1, 1, 0, 1}, + {-16, -20, 1, 1, 4, 1}, + { 16, -20, 1, 0, 8, 1}, + { 32, -20, 0, 0, 10, 1}, + {-48, -12, 1, 1, 11, 1}, + {-16, -12, 1, 1, 15, 1}, + { 16, -12, 1, 0, 19, 1}, + { 32, -12, 0, 0, 21, 1}, + {-48, -4, 1, 1, 22, 1}, + {-16, -4, 1, 1, 26, 1}, + { 16, -4, 1, 0, 30, 1}, + { 32, -4, 0, 0, 32, 1}, + {-48, 4, 1, 1, 33, 1}, + {-16, 4, 1, 1, 37, 1}, + { 16, 4, 1, 0, 41, 1}, + { 32, 4, 0, 0, 43, 1} +}; + +const struct Subsprite gEventObjectSubspriteTable_SubmarineShadow_2[] = { + {-48, -20, 1, 1, 0, 2}, + {-16, -20, 1, 1, 4, 2}, + { 16, -20, 1, 0, 8, 2}, + { 32, -20, 0, 0, 10, 2}, + {-48, -12, 1, 1, 11, 2}, + {-16, -12, 1, 1, 15, 2}, + { 16, -12, 1, 0, 19, 2}, + { 32, -12, 0, 0, 21, 2}, + {-48, -4, 1, 1, 22, 2}, + {-16, -4, 1, 1, 26, 2}, + { 16, -4, 1, 0, 30, 2}, + { 32, -4, 0, 0, 32, 2}, + {-48, 4, 1, 1, 33, 2}, + {-16, 4, 1, 1, 37, 2}, + { 16, 4, 1, 0, 41, 2}, + { 32, 4, 0, 0, 43, 2} +}; + +const struct Subsprite gEventObjectSubspriteTable_SubmarineShadow_3[] = { + {-48, -20, 1, 1, 0, 1}, + {-16, -20, 1, 1, 4, 1}, + { 16, -20, 1, 0, 8, 1}, + { 32, -20, 0, 0, 10, 1}, + {-48, -12, 1, 1, 11, 1}, + {-16, -12, 1, 1, 15, 1}, + { 16, -12, 1, 0, 19, 1}, + { 32, -12, 0, 0, 21, 1}, + {-48, -4, 1, 1, 22, 2}, + {-16, -4, 1, 1, 26, 2}, + { 16, -4, 1, 0, 30, 2}, + { 32, -4, 0, 0, 32, 2}, + {-48, 4, 1, 1, 33, 2}, + {-16, 4, 1, 1, 37, 2}, + { 16, 4, 1, 0, 41, 2}, + { 32, 4, 0, 0, 43, 2} +}; + +const struct SubspriteTable gEventObjectSubspriteTables_SubmarineShadow[] = { + {16, gEventObjectSubspriteTable_SubmarineShadow_0}, + {16, gEventObjectSubspriteTable_SubmarineShadow_0}, + {16, gEventObjectSubspriteTable_SubmarineShadow_1}, + {16, gEventObjectSubspriteTable_SubmarineShadow_2}, + {16, gEventObjectSubspriteTable_SubmarineShadow_3}, + {16, gEventObjectSubspriteTable_SubmarineShadow_3} +}; +#endif //POKERUBY_EVENT_OBJECT_SUBSPRITES_H diff --git a/src/data/field_event_obj/field_effect_object_graphics.h b/src/data/field_event_obj/field_effect_object_graphics.h new file mode 100755 index 000000000..36850a4ec --- /dev/null +++ b/src/data/field_event_obj/field_effect_object_graphics.h @@ -0,0 +1,149 @@ +#ifndef POKERUBY_FIELD_EFFECT_OBJECT_GFX_H +#define POKERUBY_FIELD_EFFECT_OBJECT_GFX_H + +const u32 gFieldEffectPic_ShadowSmall[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_small.4bpp"); +const u32 gFieldEffectPic_ShadowMedium[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_medium.4bpp"); +const u32 gFieldEffectPic_ShadowLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_large.4bpp"); +const u32 gFieldEffectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_extra_large.4bpp"); +const u32 filler_8368A08[0x48] = {}; +const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/field_effect_objects/pics/cut_grass.4bpp"); +const u32 FieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/field_effect_objects/pics/cut_grass.4bpp"); +const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/field_effect_objects/palettes/06.gbapal"); +const u32 gFieldEffectPic_Ripple_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/0.4bpp"); +const u32 gFieldEffectPic_Ripple_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/1.4bpp"); +const u32 gFieldEffectPic_Ripple_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/2.4bpp"); +const u32 gFieldEffectPic_Ripple_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/3.4bpp"); +const u32 gFieldEffectPic_Ripple_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/4.4bpp"); +const u32 gFieldEffectPic_Ash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/0.4bpp"); +const u32 gFieldEffectPic_Ash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/1.4bpp"); +const u32 gFieldEffectPic_Ash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/2.4bpp"); +const u32 gFieldEffectPic_Ash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/3.4bpp"); +const u32 gFieldEffectPic_Ash_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/4.4bpp"); +const u32 gFieldEffectPic_Arrow_0[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/0.4bpp"); +const u32 gFieldEffectPic_Arrow_1[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/1.4bpp"); +const u32 gFieldEffectPic_Arrow_2[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/2.4bpp"); +const u32 gFieldEffectPic_Arrow_3[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/3.4bpp"); +const u32 gFieldEffectPic_Arrow_4[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/4.4bpp"); +const u32 gFieldEffectPic_Arrow_5[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/5.4bpp"); +const u32 gFieldEffectPic_Arrow_6[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/6.4bpp"); +const u32 gFieldEffectPic_Arrow_7[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/7.4bpp"); +const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/field_effect_objects/palettes/00.gbapal"); +const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effect_objects/palettes/01.gbapal"); +const u32 gFieldEffectPic_Dust_0[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/0.4bpp"); +const u32 gFieldEffectPic_Dust_1[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/1.4bpp"); +const u32 gFieldEffectPic_Dust_2[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/2.4bpp"); +const u32 unknown_8369588[] = INCBIN_U32("graphics/field_effect_objects/unknown.bin"); +const u32 gFieldEffectPic_JumpTallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/0.4bpp"); +const u32 gFieldEffectPic_JumpTallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/1.4bpp"); +const u32 gFieldEffectPic_JumpTallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/2.4bpp"); +const u32 gFieldEffectPic_JumpTallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/3.4bpp"); +const u32 UnusedGrass0[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/0.4bpp"); +const u32 UnusedGrass1[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/1.4bpp"); +const u32 UnusedGrass2[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/2.4bpp"); +const u32 UnusedGrass3[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/3.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/0.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/1.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/2.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/3.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/4.4bpp"); +const u32 UnusedGrassLong[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/unused.4bpp"); +const u32 gFieldEffectPic_JumpLongGrass_5[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/5.4bpp"); +const u32 gFieldEffectPic_Unknown17_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/0.4bpp"); +const u32 gFieldEffectPic_Unknown17_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/1.4bpp"); +const u32 gFieldEffectPic_Unknown17_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/2.4bpp"); +const u32 gFieldEffectPic_Unknown17_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/3.4bpp"); +const u32 gFieldEffectPic_Unknown17_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/4.4bpp"); +const u32 gFieldEffectPic_Unknown17_5[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/5.4bpp"); +const u32 gFieldEffectPic_Unknown17_6[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/6.4bpp"); +const u32 gFieldEffectPic_Unknown17_7[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/7.4bpp"); +const u32 gFieldEffectPic_Unknown18_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/0.4bpp"); +const u32 gFieldEffectPic_Unknown18_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/1.4bpp"); +const u32 gFieldEffectPic_Unknown18_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/2.4bpp"); +const u32 gFieldEffectPic_Unknown18_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/3.4bpp"); +const u32 gFieldEffectPic_LongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/0.4bpp"); +const u32 gFieldEffectPic_LongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/1.4bpp"); +const u32 gFieldEffectPic_LongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/2.4bpp"); +const u32 gFieldEffectPic_LongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/3.4bpp"); +const u32 gFieldEffectPic_TallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/0.4bpp"); +const u32 gFieldEffectPic_TallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/1.4bpp"); +const u32 gFieldEffectPic_TallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/2.4bpp"); +const u32 gFieldEffectPic_TallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/3.4bpp"); +const u32 gFieldEffectPic_TallGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/4.4bpp"); +const u32 gFieldEffectPic_ShortGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/0.4bpp"); +const u32 gFieldEffectPic_ShortGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/1.4bpp"); +const u32 gFieldEffectPic_SandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/0.4bpp"); +const u32 gFieldEffectPic_SandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/1.4bpp"); +const u32 gFieldEffectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/0.4bpp"); +const u32 gFieldEffectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/1.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/0.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/1.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/2.4bpp"); +const u32 gFieldEffectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/3.4bpp"); +const u32 gFieldEffectPic_Unknown19_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/0.4bpp"); +const u32 gFieldEffectPic_Unknown19_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/1.4bpp"); +const u32 gFieldEffectPic_Unknown19_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/2.4bpp"); +const u32 gFieldEffectPic_Unknown19_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/3.4bpp"); +const u32 gFieldEffectPic_SandPile_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/0.4bpp"); +const u32 gFieldEffectPic_SandPile_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/1.4bpp"); +const u32 gFieldEffectPic_SandPile_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/2.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/0.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/1.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/2.4bpp"); +const u32 gFieldEffectPic_JumpBigSplash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/3.4bpp"); +const u32 gFieldEffectPic_Splash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/0.4bpp"); +const u32 gFieldEffectPic_Splash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/1.4bpp"); +const u32 gFieldEffectPic_JumpSmallSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/0.4bpp"); +const u32 gFieldEffectPic_JumpSmallSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/1.4bpp"); +const u32 gFieldEffectPic_JumpSmallSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/2.4bpp"); +const u32 gFieldEffectPic_Unknown20_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/0.4bpp"); +const u32 gFieldEffectPic_Unknown20_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/1.4bpp"); +const u32 gFieldEffectPic_Unknown20_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/2.4bpp"); +const u32 gFieldEffectPic_Unknown20_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/3.4bpp"); +const u32 gFieldEffectPic_Unknown20_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/4.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/0.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/1.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/2.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/3.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/4.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/5.4bpp"); +const u32 gFieldEffectPic_TreeDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/6.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/0.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/1.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/2.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/3.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/4.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/5.4bpp"); +const u32 gFieldEffectPic_MountainDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/6.4bpp"); +const u32 gFieldEffectPic_SandDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/0.4bpp"); +const u32 gFieldEffectPic_SandDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/1.4bpp"); +const u32 gFieldEffectPic_SandDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/2.4bpp"); +const u32 gFieldEffectPic_SandDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/3.4bpp"); +const u32 gFieldEffectPic_SandDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/4.4bpp"); +const u32 gFieldEffectPic_SandDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/5.4bpp"); +const u32 gFieldEffectPic_SandDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/6.4bpp"); +const u32 gFieldEffectPic_HotSpringsWater[] = INCBIN_U32("graphics/field_effect_objects/pics/hot_springs_water.4bpp"); +const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/field_effect_objects/palettes/02.gbapal"); +const u32 gFieldEffectPic_PopOutOfAsh_0[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/0.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_1[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/1.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_2[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/2.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_3[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/3.4bpp"); +const u32 gFieldEffectPic_PopOutOfAsh_4[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/4.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_0[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/0.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_1[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/1.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_2[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/2.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_3[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/3.4bpp"); +const u32 gFieldEffectPic_LavaridgeGymWarp_4[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/4.4bpp"); +const u32 gFieldEffectPic_Bubbles_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/0.4bpp"); +const u32 gFieldEffectPic_Bubbles_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/1.4bpp"); +const u32 gFieldEffectPic_Bubbles_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/2.4bpp"); +const u32 gFieldEffectPic_Bubbles_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/3.4bpp"); +const u32 gFieldEffectPic_Bubbles_4[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/4.4bpp"); +const u32 gFieldEffectPic_Bubbles_5[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/5.4bpp"); +const u32 gFieldEffectPic_Bubbles_6[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/6.4bpp"); +const u32 gFieldEffectPic_Bubbles_7[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/7.4bpp"); +const u32 gFieldEffectPic_Sparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/0.4bpp"); +const u32 gFieldEffectPic_Sparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/1.4bpp"); +const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/field_effect_objects/palettes/03.gbapal"); +const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pics/bird.4bpp"); + +#endif // POKERUBY_FIELD_EFFECT_OBJECT_GFX_H diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h new file mode 100644 index 000000000..320af1ff8 --- /dev/null +++ b/src/data/field_event_obj/field_effect_object_template_pointers.h @@ -0,0 +1,84 @@ +// + +// + +#ifndef POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H +#define POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H + +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge; +const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Arrow; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash; +const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown21; +const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle; +const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints; +const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise; +const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Bird; +const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass; +const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater; +const struct SpriteTemplate gFieldEffectSpriteTemplate_PopOutOfAsh; +const struct SpriteTemplate gFieldEffectSpriteTemplate_LavaridgeGymWarp; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle; + +const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { + &gFieldEffectSpriteTemplate_ShadowSmall, + &gFieldEffectSpriteTemplate_ShadowMedium, + &gFieldEffectSpriteTemplate_ShadowLarge, + &gFieldEffectSpriteTemplate_ShadowExtraLarge, + &gFieldEffectSpriteTemplate_TallGrass, + &gFieldEffectSpriteTemplate_Ripple, + &gFieldEffectSpriteTemplate_Ash, + &gFieldEffectSpriteTemplate_SurfBlob, + &gFieldEffectSpriteTemplate_Arrow, + &gFieldEffectSpriteTemplate_Dust, + &gFieldEffectSpriteTemplate_JumpTallGrass, + &gFieldEffectSpriteTemplate_SandFootprints, + &gFieldEffectSpriteTemplate_JumpBigSplash, + &gFieldEffectSpriteTemplate_Splash, + &gFieldEffectSpriteTemplate_JumpSmallSplash, + &gFieldEffectSpriteTemplate_LongGrass, + &gFieldEffectSpriteTemplate_JumpLongGrass, + &gFieldEffectSpriteTemplate_Unknown17, + &gFieldEffectSpriteTemplate_Unknown18, + &gFieldEffectSpriteTemplate_Unknown19, + &gFieldEffectSpriteTemplate_Unknown20, + &gFieldEffectSpriteTemplate_Unknown21, + &gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle, + &gFieldEffectSpriteTemplate_DeepSandFootprints, + &gFieldEffectSpriteTemplate_TreeDisguise, + &gFieldEffectSpriteTemplate_MountainDisguise, + &gFieldEffectSpriteTemplate_Bird, + &gFieldEffectSpriteTemplate_BikeTireTracks, + &gFieldEffectSpriteTemplate_SandDisguise, + &gFieldEffectSpriteTemplate_SandPile, + &gFieldEffectSpriteTemplate_ShortGrass, + &gFieldEffectSpriteTemplate_HotSpringsWater, + &gFieldEffectSpriteTemplate_PopOutOfAsh, + &gFieldEffectSpriteTemplate_LavaridgeGymWarp, + &gFieldEffectSpriteTemplate_Bubbles, + &gFieldEffectSpriteTemplate_Sparkle +}; + +#endif //POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h new file mode 100644 index 000000000..9d3ae343d --- /dev/null +++ b/src/data/field_event_obj/field_effect_objects.h @@ -0,0 +1,897 @@ +// + +// + +#ifndef POKERUBY_FIELD_EFFECT_OBJECTS_H +#define POKERUBY_FIELD_EFFECT_OBJECTS_H + +const struct SpritePalette gFieldEffectObjectPaletteInfo0 = {gFieldEffectObjectPalette0, 0x1004}; + +const struct SpritePalette gFieldEffectObjectPaletteInfo1 = {gFieldEffectObjectPalette1, 0x1005}; + +const union AnimCmd gFieldEffectAnim_8374534[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_Shadow[] = { + gFieldEffectAnim_8374534 +}; + +const struct SpriteFrameImage gFieldEffectPicTable_ShadowSmall[] = { + obj_frame_tiles(gFieldEffectPic_ShadowSmall) +}; + +const struct SpriteFrameImage gFieldEffectPicTable_ShadowMedium[] = { + obj_frame_tiles(gFieldEffectPic_ShadowMedium) +}; + +const struct SpriteFrameImage gFieldEffectPicTable_ShadowLarge[] = { + obj_frame_tiles(gFieldEffectPic_ShadowLarge) +}; + +const struct SpriteFrameImage gFieldEffectPicTable_ShadowExtraLarge[] = { + obj_frame_tiles(gFieldEffectPic_ShadowExtraLarge) +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gFieldOamData_8x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gFieldOamData_16x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, oamc_shadow}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gFieldOamData_32x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, oamc_shadow}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gFieldOamData_64x32, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow}; + +const struct SpriteFrameImage gFieldEffectPicTable_TallGrass[] = { + obj_frame_tiles(gFieldEffectPic_TallGrass_0), + obj_frame_tiles(gFieldEffectPic_TallGrass_1), + obj_frame_tiles(gFieldEffectPic_TallGrass_2), + obj_frame_tiles(gFieldEffectPic_TallGrass_3), + obj_frame_tiles(gFieldEffectPic_TallGrass_4) +}; + +const union AnimCmd gFieldEffectAnim_83745E8[] = { + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_FRAME(3, 10), + ANIMCMD_FRAME(4, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_TallGrass[] = { + gFieldEffectAnim_83745E8 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_TallGrass, gFieldEffectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal}; + +const struct SpriteFrameImage gFieldEffectPicTable_Ripple[] = { + obj_frame_tiles(gFieldEffectPic_Ripple_0), + obj_frame_tiles(gFieldEffectPic_Ripple_1), + obj_frame_tiles(gFieldEffectPic_Ripple_2), + obj_frame_tiles(gFieldEffectPic_Ripple_3), + obj_frame_tiles(gFieldEffectPic_Ripple_4) +}; + +const union AnimCmd gFieldEffectAnim_8374644[] = { + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 9), + ANIMCMD_FRAME(3, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 11), + ANIMCMD_FRAME(4, 11), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_Ripple[] = { + gFieldEffectAnim_8374644 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ripple, gFieldEffectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_8128800}; + +const struct SpriteFrameImage gFieldEffectPicTable_Ash[] = { + obj_frame_tiles(gFieldEffectPic_Ash_0), + obj_frame_tiles(gFieldEffectPic_Ash_1), + obj_frame_tiles(gFieldEffectPic_Ash_2), + obj_frame_tiles(gFieldEffectPic_Ash_3), + obj_frame_tiles(gFieldEffectPic_Ash_4) +}; + +const union AnimCmd gFieldEffectAnim_83746AC[] = { + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 12), + ANIMCMD_FRAME(4, 12), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_Ash[] = { + gFieldEffectAnim_83746AC +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ash, gFieldEffectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8127D84}; + +const struct SpriteFrameImage gFieldEffectPicTable_SurfBlob[] = { + obj_frame_tiles(gFieldEffectPic_SurfBlob_0), + obj_frame_tiles(gFieldEffectPic_SurfBlob_1), + obj_frame_tiles(gFieldEffectPic_SurfBlob_2) +}; + +const union AnimCmd gFieldEffectAnim_83746F8[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gFieldEffectAnim_8374700[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gFieldEffectAnim_8374708[] = { + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gFieldEffectAnim_8374710[] = { + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gFieldEffectAnimTable_SurfBlob[] = { + gFieldEffectAnim_83746F8, + gFieldEffectAnim_8374700, + gFieldEffectAnim_8374708, + gFieldEffectAnim_8374710 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_SurfBlob, gFieldEffectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8127F7C}; + +const struct SpriteFrameImage gFieldEffectPicTable_Arrow[] = { + obj_frame_tiles(gFieldEffectPic_Arrow_0), + obj_frame_tiles(gFieldEffectPic_Arrow_1), + obj_frame_tiles(gFieldEffectPic_Arrow_2), + obj_frame_tiles(gFieldEffectPic_Arrow_3), + obj_frame_tiles(gFieldEffectPic_Arrow_4), + obj_frame_tiles(gFieldEffectPic_Arrow_5), + obj_frame_tiles(gFieldEffectPic_Arrow_6), + obj_frame_tiles(gFieldEffectPic_Arrow_7) +}; + +const union AnimCmd gFieldEffectAnim_8374780[] = { + ANIMCMD_FRAME(3, 32), + ANIMCMD_FRAME(7, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gFieldEffectAnim_837478C[] = { + ANIMCMD_FRAME(0, 32), + ANIMCMD_FRAME(4, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gFieldEffectAnim_8374798[] = { + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(5, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gFieldEffectAnim_83747A4[] = { + ANIMCMD_FRAME(2, 32), + ANIMCMD_FRAME(6, 32), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gFieldEffectAnimTable_Arrow[] = { + gFieldEffectAnim_8374780, + gFieldEffectAnim_837478C, + gFieldEffectAnim_8374798, + gFieldEffectAnim_83747A4 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Arrow = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_Arrow, gFieldEffectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct SpriteFrameImage gFieldEffectPicTable_Dust[] = { + obj_frame_tiles(gFieldEffectPic_Dust_0), + obj_frame_tiles(gFieldEffectPic_Dust_1), + obj_frame_tiles(gFieldEffectPic_Dust_2) +}; + +const union AnimCmd gFieldEffectAnim_83747F0[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_Dust[] = { + gFieldEffectAnim_83747F0 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Dust, gFieldEffectPicTable_Dust, gDummySpriteAffineAnimTable, sub_81287C4}; + +const struct SpriteFrameImage gFieldEffectPicTable_JumpTallGrass[] = { + obj_frame_tiles(gFieldEffectPic_JumpTallGrass_0), + obj_frame_tiles(gFieldEffectPic_JumpTallGrass_1), + obj_frame_tiles(gFieldEffectPic_JumpTallGrass_2), + obj_frame_tiles(gFieldEffectPic_JumpTallGrass_3) +}; + +const union AnimCmd gFieldEffectAnim_837483C[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_JumpTallGrass[] = { + gFieldEffectAnim_837483C +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpTallGrass, gFieldEffectPicTable_JumpTallGrass, gDummySpriteAffineAnimTable, sub_81287C4}; + +const struct SpriteFrameImage gFieldEffectPicTable_SandFootprints[] = { + obj_frame_tiles(gFieldEffectPic_SandFootprints_0), + obj_frame_tiles(gFieldEffectPic_SandFootprints_1) +}; + +const union AnimCmd gFieldEffectAnim_837487C[] = { + ANIMCMD_FRAME(0, 1, .vFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374884[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_837488C[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374894[] = { + ANIMCMD_FRAME(1, 1, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_SandFootprints[] = { + gFieldEffectAnim_837487C, + gFieldEffectAnim_837487C, + gFieldEffectAnim_8374884, + gFieldEffectAnim_837488C, + gFieldEffectAnim_8374894 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_SandFootprints, gFieldEffectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8127584}; + +const struct SpriteFrameImage gFieldEffectPicTable_DeepSandFootprints[] = { + obj_frame_tiles(gFieldEffectPic_DeepSandFootprints_0), + obj_frame_tiles(gFieldEffectPic_DeepSandFootprints_1) +}; + +const union AnimCmd gFieldEffectAnim_83748D8[] = { + ANIMCMD_FRAME(0, 1, .vFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_83748E0[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_83748E8[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_83748F0[] = { + ANIMCMD_FRAME(1, 1, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_DeepSandFootprints[] = { + gFieldEffectAnim_83748D8, + gFieldEffectAnim_83748D8, + gFieldEffectAnim_83748E0, + gFieldEffectAnim_83748E8, + gFieldEffectAnim_83748F0 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_DeepSandFootprints, gFieldEffectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8127584}; + +const struct SpriteFrameImage gFieldEffectPicTable_BikeTireTracks[] = { + obj_frame_tiles(gFieldEffectPic_BikeTireTracks_0), + obj_frame_tiles(gFieldEffectPic_BikeTireTracks_1), + obj_frame_tiles(gFieldEffectPic_BikeTireTracks_2), + obj_frame_tiles(gFieldEffectPic_BikeTireTracks_3) +}; + +const union AnimCmd gFieldEffectAnim_8374944[] = { + ANIMCMD_FRAME(2, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_837494C[] = { + ANIMCMD_FRAME(2, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374954[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_837495C[] = { + ANIMCMD_FRAME(1, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374964[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_837496C[] = { + ANIMCMD_FRAME(0, 1, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374974[] = { + ANIMCMD_FRAME(3, 1, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_837497C[] = { + ANIMCMD_FRAME(3, 1), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_BikeTireTracks[] = { + gFieldEffectAnim_8374944, + gFieldEffectAnim_8374944, + gFieldEffectAnim_837494C, + gFieldEffectAnim_8374954, + gFieldEffectAnim_837495C, + gFieldEffectAnim_8374964, + gFieldEffectAnim_837496C, + gFieldEffectAnim_8374974, + gFieldEffectAnim_837497C +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_BikeTireTracks, gFieldEffectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8127584}; + +const struct SpriteFrameImage gFieldEffectPicTable_JumpBigSplash[] = { + obj_frame_tiles(gFieldEffectPic_JumpBigSplash_0), + obj_frame_tiles(gFieldEffectPic_JumpBigSplash_1), + obj_frame_tiles(gFieldEffectPic_JumpBigSplash_2), + obj_frame_tiles(gFieldEffectPic_JumpBigSplash_3) +}; + +const union AnimCmd gFieldEffectAnim_83749E0[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_JumpBigSplash[] = { + gFieldEffectAnim_83749E0 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpBigSplash, gFieldEffectPicTable_JumpBigSplash, gDummySpriteAffineAnimTable, sub_81287C4}; + +const struct SpriteFrameImage gFieldEffectPicTable_Splash[] = { + obj_frame_tiles(gFieldEffectPic_Splash_0), + obj_frame_tiles(gFieldEffectPic_Splash_1) +}; + +const union AnimCmd gFieldEffectAnim_8374A20[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374A2C[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gFieldEffectAnimTable_Splash[] = { + gFieldEffectAnim_8374A20, + gFieldEffectAnim_8374A2C +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Splash, gFieldEffectPicTable_Splash, gDummySpriteAffineAnimTable, sub_81276B4}; + +const struct SpriteFrameImage gFieldEffectPicTable_JumpSmallSplash[] = { + obj_frame_tiles(gFieldEffectPic_JumpSmallSplash_0), + obj_frame_tiles(gFieldEffectPic_JumpSmallSplash_1), + obj_frame_tiles(gFieldEffectPic_JumpSmallSplash_2) +}; + +const union AnimCmd gFieldEffectAnim_8374A88[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_JumpSmallSplash[] = { + gFieldEffectAnim_8374A88 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpSmallSplash, gFieldEffectPicTable_JumpSmallSplash, gDummySpriteAffineAnimTable, sub_81287C4}; + +const struct SpriteFrameImage gFieldEffectPicTable_LongGrass[] = { + obj_frame_tiles(gFieldEffectPic_LongGrass_0), + obj_frame_tiles(gFieldEffectPic_LongGrass_1), + obj_frame_tiles(gFieldEffectPic_LongGrass_2), + obj_frame_tiles(gFieldEffectPic_LongGrass_3) +}; + +const union AnimCmd gFieldEffectAnim_8374AD4[] = { + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(2, 3), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_LongGrass[] = { + gFieldEffectAnim_8374AD4 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_LongGrass, gFieldEffectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall}; + +const struct SpriteFrameImage gFieldEffectPicTable_JumpLongGrass[] = { + obj_frame_tiles(gFieldEffectPic_JumpLongGrass_0), + obj_frame_tiles(gFieldEffectPic_JumpLongGrass_1), + obj_frame_tiles(gFieldEffectPic_JumpLongGrass_2), + obj_frame_tiles(gFieldEffectPic_JumpLongGrass_3), + obj_frame_tiles(gFieldEffectPic_JumpLongGrass_4), + obj_frame_tiles(gFieldEffectPic_JumpLongGrass_5) +}; + +const union AnimCmd gFieldEffectAnim_8374B40[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_JumpLongGrass[] = { + gFieldEffectAnim_8374B40 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpLongGrass, gFieldEffectPicTable_JumpLongGrass, gDummySpriteAffineAnimTable, sub_81287C4}; + +const struct SpriteFrameImage gFieldEffectPicTable_Unknown17[] = { + obj_frame_tiles(gFieldEffectPic_JumpLongGrass_5), + obj_frame_tiles(gFieldEffectPic_Unknown17_0), + obj_frame_tiles(gFieldEffectPic_Unknown17_1), + obj_frame_tiles(gFieldEffectPic_Unknown17_2), + obj_frame_tiles(gFieldEffectPic_Unknown17_3), + obj_frame_tiles(gFieldEffectPic_Unknown17_4), + obj_frame_tiles(gFieldEffectPic_Unknown17_5), + obj_frame_tiles(gFieldEffectPic_Unknown17_6), + obj_frame_tiles(gFieldEffectPic_Unknown17_7) +}; + +const union AnimCmd gFieldEffectAnim_8374BC0[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_JUMP(7) +}; + +const union AnimCmd *const gFieldEffectAnimTable_Unknown17[] = { + gFieldEffectAnim_8374BC0 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown17, gFieldEffectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_8128800}; + +const struct SpriteFrameImage gFieldEffectPicTable_Unknown18[] = { + obj_frame_tiles(gFieldEffectPic_Unknown18_0), + obj_frame_tiles(gFieldEffectPic_Unknown18_1), + obj_frame_tiles(gFieldEffectPic_Unknown18_2), + obj_frame_tiles(gFieldEffectPic_Unknown18_3) +}; + +const union AnimCmd gFieldEffectAnim_8374C24[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gFieldEffectAnimTable_Unknown18[] = { + gFieldEffectAnim_8374C24 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown18, gFieldEffectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_8128800}; + +const struct SpriteFrameImage gFieldEffectPicTable_Unknown19[] = { + obj_frame_tiles(gFieldEffectPic_Unknown19_0), + obj_frame_tiles(gFieldEffectPic_Unknown19_1), + obj_frame_tiles(gFieldEffectPic_Unknown19_2), + obj_frame_tiles(gFieldEffectPic_Unknown19_3) +}; + +const union AnimCmd gFieldEffectAnim_8374C7C[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gFieldEffectAnimTable_Unknown19[] = { + gFieldEffectAnim_8374C7C +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown19, gFieldEffectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_8128800}; + +const struct SpriteFrameImage gFieldEffectPicTable_SandPile[] = { + obj_frame_tiles(gFieldEffectPic_SandPile_0), + obj_frame_tiles(gFieldEffectPic_SandPile_1), + obj_frame_tiles(gFieldEffectPic_SandPile_2) +}; + +const union AnimCmd gFieldEffectAnim_8374CC4[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_SandPile[] = { + gFieldEffectAnim_8374CC4 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_SandPile, gFieldEffectPicTable_SandPile, gDummySpriteAffineAnimTable, sub_81282E0}; + +const struct SpriteFrameImage gFieldEffectPicTable_Unknown20[] = { + obj_frame_tiles(gFieldEffectPic_Unknown20_0), + obj_frame_tiles(gFieldEffectPic_Unknown20_1), + obj_frame_tiles(gFieldEffectPic_Unknown20_2), + obj_frame_tiles(gFieldEffectPic_Unknown20_3) +}; + +const union AnimCmd gFieldEffectAnim_8374D10[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gFieldEffectAnimTable_Unknown20[] = { + gFieldEffectAnim_8374D10 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown20, gFieldEffectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_8128800}; + +const union AffineAnimCmd gFieldEffectAffineAnim_8374D48[] = { + AFFINEANIMCMD_FRAME(0xFF00, 0x100, -128, 0), + AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_JUMP(1) +}; + +const union AffineAnimCmd gFieldEffectAffineAnim_8374D98[] = { + AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0), + AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_JUMP(1) +}; + +const union AffineAnimCmd *const gFieldEffectAffineAnimTable_Unknown21[] = { + gFieldEffectAffineAnim_8374D48, + gFieldEffectAffineAnim_8374D98 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown21 = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectAffineAnimTable_Unknown21, SpriteCallbackDummy}; + +const struct SpriteFrameImage gFieldEffectPicTable_BerryTreeGrowthSparkle[] = { + obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_0), + obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_1), + obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_2), + obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_3), + obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_4), + obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_5) +}; + +const union AnimCmd gFieldEffectAnim_8374E38[] = { + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_LOOP(0), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_LOOP(3), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(5, 8), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_BerryTreeGrowthSparkle[] = { + gFieldEffectAnim_8374E38 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_BerryTreeGrowthSparkle, gFieldEffectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_8128800}; + +const struct SpriteFrameImage gFieldEffectPicTable_TreeDisguise[] = { + obj_frame_tiles(gFieldEffectPic_TreeDisguise_0), + obj_frame_tiles(gFieldEffectPic_TreeDisguise_1), + obj_frame_tiles(gFieldEffectPic_TreeDisguise_2), + obj_frame_tiles(gFieldEffectPic_TreeDisguise_3), + obj_frame_tiles(gFieldEffectPic_TreeDisguise_4), + obj_frame_tiles(gFieldEffectPic_TreeDisguise_5), + obj_frame_tiles(gFieldEffectPic_TreeDisguise_6) +}; + +const union AnimCmd gFieldEffectAnim_8374EE0[] = { + ANIMCMD_FRAME(0, 16), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374EE8[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_TreeDisguise[] = { + gFieldEffectAnim_8374EE0, + gFieldEffectAnim_8374EE8 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; + +const struct SpriteFrameImage gFieldEffectPicTable_MountainDisguise[] = { + obj_frame_tiles(gFieldEffectPic_MountainDisguise_0), + obj_frame_tiles(gFieldEffectPic_MountainDisguise_1), + obj_frame_tiles(gFieldEffectPic_MountainDisguise_2), + obj_frame_tiles(gFieldEffectPic_MountainDisguise_3), + obj_frame_tiles(gFieldEffectPic_MountainDisguise_4), + obj_frame_tiles(gFieldEffectPic_MountainDisguise_5), + obj_frame_tiles(gFieldEffectPic_MountainDisguise_6) +}; + +const union AnimCmd gFieldEffectAnim_8374F60[] = { + ANIMCMD_FRAME(0, 16), + ANIMCMD_END +}; + +const union AnimCmd gFieldEffectAnim_8374F68[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_MountainDisguise[] = { + gFieldEffectAnim_8374F60, + gFieldEffectAnim_8374F68 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_MountainDisguise, gFieldEffectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; + +const struct SpriteFrameImage gFieldEffectPicTable_SandDisguise[] = { + obj_frame_tiles(gFieldEffectPic_SandDisguise_0), + obj_frame_tiles(gFieldEffectPic_SandDisguise_1), + obj_frame_tiles(gFieldEffectPic_SandDisguise_2), + obj_frame_tiles(gFieldEffectPic_SandDisguise_3), + obj_frame_tiles(gFieldEffectPic_SandDisguise_4), + obj_frame_tiles(gFieldEffectPic_SandDisguise_5), + obj_frame_tiles(gFieldEffectPic_SandDisguise_6) +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_SandDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; + +const struct SpriteFrameImage gFieldEffectPicTable_Bird[] = { + obj_frame_tiles(gFieldEffectPic_Bird) +}; + +const union AnimCmd gFieldEffectAnim_8375000[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_Bird[] = { + gFieldEffectAnim_8375000 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Bird = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_Bird, gFieldEffectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct SpriteFrameImage gFieldEffectPicTable_ShortGrass[] = { + obj_frame_tiles(gFieldEffectPic_ShortGrass_0), + obj_frame_tiles(gFieldEffectPic_ShortGrass_1) +}; + +const union AnimCmd gFieldEffectAnim_8375034[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_ShortGrass[] = { + gFieldEffectAnim_8375034 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_ShortGrass, gFieldEffectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8127334}; + +const struct SpriteFrameImage gFieldEffectPicTable_HotSpringsWater[] = { + obj_frame_tiles(gFieldEffectPic_HotSpringsWater) +}; + +const union AnimCmd gFieldEffectAnim_8375064[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_HotSpringsWater[] = { + gFieldEffectAnim_8375064 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_HotSpringsWater, gFieldEffectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8127A7C}; + +const struct SpriteFrameImage gFieldEffectPicTable_PopOutOfAsh[] = { + obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_0), + obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_1), + obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_2), + obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_3), + obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_4) +}; + +const union AnimCmd gFieldEffectAnim_83750B0[] = { + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_PopOutOfAsh[] = { + gFieldEffectAnim_83750B0 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_PopOutOfAsh = {0xFFFF, 0x100D, &gFieldOamData_16x16, gFieldEffectAnimTable_PopOutOfAsh, gFieldEffectPicTable_PopOutOfAsh, gDummySpriteAffineAnimTable, sub_808788C}; + +const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D}; + +const struct SpriteFrameImage gFieldEffectPicTable_LavaridgeGymWarp[] = { + obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_0), + obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_1), + obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_2), + obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_3), + obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_4) +}; + +const union AnimCmd gFieldEffectAnim_8375114[] = { + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_LavaridgeGymWarp[] = { + gFieldEffectAnim_8375114 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_LavaridgeGymWarp = {0xFFFF, 0x100D, &gFieldOamData_16x16, gFieldEffectAnimTable_LavaridgeGymWarp, gFieldEffectPicTable_LavaridgeGymWarp, gDummySpriteAffineAnimTable, sub_8087638}; + +const struct SpriteFrameImage gFieldEffectPicTable_Bubbles[] = { + obj_frame_tiles(gFieldEffectPic_Bubbles_0), + obj_frame_tiles(gFieldEffectPic_Bubbles_1), + obj_frame_tiles(gFieldEffectPic_Bubbles_2), + obj_frame_tiles(gFieldEffectPic_Bubbles_3), + obj_frame_tiles(gFieldEffectPic_Bubbles_4), + obj_frame_tiles(gFieldEffectPic_Bubbles_5), + obj_frame_tiles(gFieldEffectPic_Bubbles_6), + obj_frame_tiles(gFieldEffectPic_Bubbles_7) +}; + +const union AnimCmd gFieldEffectAnim_8375188[] = { + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(7, 4), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_Bubbles[] = { + gFieldEffectAnim_8375188 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles = {0xFFFF, 0x1004, &gFieldOamData_16x32, gFieldEffectAnimTable_Bubbles, gFieldEffectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8128410}; + +const struct SpriteFrameImage gFieldEffectPicTable_Sparkle[] = { + obj_frame_tiles(gFieldEffectPic_Sparkle_0), + obj_frame_tiles(gFieldEffectPic_Sparkle_1) +}; + +const union AnimCmd gFieldEffectAnim_83751D8[] = { + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +const union AnimCmd *const gFieldEffectAnimTable_Sparkle[] = { + gFieldEffectAnim_83751D8 +}; + +const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle = {0xFFFF, 0x100F, &gFieldOamData_16x16, gFieldEffectAnimTable_Sparkle, gFieldEffectPicTable_Sparkle, gDummySpriteAffineAnimTable, sub_8128774}; + +const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F}; + +#endif //POKERUBY_FIELD_EFFECT_OBJECTS_H diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h new file mode 100644 index 000000000..819545343 --- /dev/null +++ b/src/data/field_event_obj/movement_action_func_tables.h @@ -0,0 +1,1356 @@ +#ifndef POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H +#define POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H + +u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PauseSpriteAnim(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay1_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Finish(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay2_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay4_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay8_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay16_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlow_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_StartAnimInDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_FacePlayer_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_LockFacingDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnlockFacingDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceOriginalDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_NurseJoyBowDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_DisableAnimation_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RestoreAnimation_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SetInvisible_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SetVisible_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EmoteExclamationMark_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EmoteQuestionMark_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EmoteHeart_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step2(struct EventObject *, struct Sprite *); +u8 MovementAction_CutTree_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_CutTree_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_CutTree_Step2(struct EventObject *, struct Sprite *); +u8 MovementAction_SetFixedPriority_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_ClearFixedPriority_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_InitAffineAnim_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_ClearAffineAnim_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine0_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine1_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); + +u8 (*const gMovementActionFuncs_FaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Down[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Up[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Left[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Right[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay1[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay2[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay4[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay8[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay16[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FacePlayer[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetInvisible[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetVisible[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_CutTree[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct EventObject *, struct Sprite *); + +u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) = { + gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN + gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP + gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT + gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT + gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_DOWN_SLOW + gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_UP_SLOW + gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_LEFT_SLOW + gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_RIGHT_SLOW + gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_DOWN_NORMAL + gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_UP_NORMAL + gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_LEFT_NORMAL + gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_RIGHT_NORMAL + gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN + gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP + gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT + gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT + gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 + gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 + gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 + gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 + gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 + gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN + gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP + gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT + gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN + gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP + gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT + gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT + gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN + gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP + gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT + gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT + gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN + gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP + gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT + gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN + gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP + gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT + gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT + gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN + gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP + gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT + gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT + gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN + gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP + gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT + gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT + gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN + gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP + gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT + gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT + gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN + gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP + gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT + gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT + gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION + gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN + gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP + gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT + gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT + gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER + gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER + gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION + gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION + gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN + gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP + gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT + gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT + gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN + gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP + gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT + gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT + gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP + gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN + gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT + gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT + gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION + gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN + gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION + gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION + gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE + gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE + gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK + gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK + gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART + gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER + gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK + gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE + gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY + gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY + gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM + gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM + gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 + gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 + gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP + gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN + gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP + gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT + gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT + gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP + gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN + gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP + gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT + gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN + gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP + gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT + gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT + gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN + gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP + gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT + gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT + gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN + gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP + gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT + gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT + gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT +}; + + +u8 (*const gMovementActionFuncs_FaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceDown_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceUp_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceLeft_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceRight_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gUnknown_083759C0[])(u8) = { + GetMoveDirectionAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFasterAnimNum, + GetMoveDirectionFastestAnimNum +}; + +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowDown_Step0, + MovementAction_WalkSlowDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowUp_Step0, + MovementAction_WalkSlowUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowLeft_Step0, + MovementAction_WalkSlowLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowRight_Step0, + MovementAction_WalkSlowRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalDown_Step0, + MovementAction_WalkNormalDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalUp_Step0, + MovementAction_WalkNormalUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalLeft_Step0, + MovementAction_WalkNormalLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalRight_Step0, + MovementAction_WalkNormalRight_Step1, + MovementAction_PauseSpriteAnim +}; + +const s16 gUnknown_08375A34[] = {0, 1, 1}; +const s16 gUnknown_08375A3A[] = {0, 0, 1}; + +u8 (*const gMovementActionFuncs_Jump2Down[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Down_Step0, + MovementAction_Jump2Down_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Up[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Up_Step0, + MovementAction_Jump2Up_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Left[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Left_Step0, + MovementAction_Jump2Left_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Jump2Right[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Right_Step0, + MovementAction_Jump2Right_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_Delay1[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay1_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay2[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay2_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay4[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay4_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay8[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay8_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_Delay16[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay16_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastDown_Step0, + MovementAction_WalkFastDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastUp_Step0, + MovementAction_WalkFastUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastLeft_Step0, + MovementAction_WalkFastLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastRight_Step0, + MovementAction_WalkFastRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowDown_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowUp_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowLeft_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowRight_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentDown_Step0, + MovementAction_RideWaterCurrentDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentUp_Step0, + MovementAction_RideWaterCurrentUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentLeft_Step0, + MovementAction_RideWaterCurrentLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentRight_Step0, + MovementAction_RideWaterCurrentRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestDown_Step0, + MovementAction_WalkFastestDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestUp_Step0, + MovementAction_WalkFastestUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestLeft_Step0, + MovementAction_WalkFastestLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestRight_Step0, + MovementAction_WalkFastestRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideDown_Step0, + MovementAction_SlideDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideUp_Step0, + MovementAction_SlideUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideLeft_Step0, + MovementAction_SlideLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_SlideRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideRight_Step0, + MovementAction_SlideRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunDown_Step0, + MovementAction_PlayerRunDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunUp_Step0, + MovementAction_PlayerRunUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunLeft_Step0, + MovementAction_PlayerRunLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunRight_Step0, + MovementAction_PlayerRunRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_StartAnimInDirection_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialDown_Step0, + MovementAction_JumpSpecialDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialUp_Step0, + MovementAction_JumpSpecialUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialLeft_Step0, + MovementAction_JumpSpecialLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialRight_Step0, + MovementAction_JumpSpecialRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FacePlayer[])(struct EventObject *, struct Sprite *) = { + MovementAction_FacePlayer_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceAwayPlayer_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_LockFacingDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnlockFacingDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpDown_Step0, + MovementAction_JumpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpUp_Step0, + MovementAction_JumpUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpLeft_Step0, + MovementAction_JumpLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpRight_Step0, + MovementAction_JumpRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDown_Step0, + MovementAction_JumpInPlaceDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUp_Step0, + MovementAction_JumpInPlaceUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeft_Step0, + MovementAction_JumpInPlaceLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRight_Step0, + MovementAction_JumpInPlaceRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDownUp_Step0, + MovementAction_JumpInPlaceDownUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUpDown_Step0, + MovementAction_JumpInPlaceUpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeftRight_Step0, + MovementAction_JumpInPlaceLeftRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRightLeft_Step0, + MovementAction_JumpInPlaceRightLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceOriginalDirection_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_NurseJoyBowDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = { + MovementAction_EnableJumpLandingGroundEffect_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = { + MovementAction_DisableJumpLandingGroundEffect_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct EventObject *, struct Sprite *) = { + MovementAction_DisableAnimation_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct EventObject *, struct Sprite *) = { + MovementAction_RestoreAnimation_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetInvisible[])(struct EventObject *, struct Sprite *) = { + MovementAction_SetInvisible_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetVisible[])(struct EventObject *, struct Sprite *) = { + MovementAction_SetVisible_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct EventObject *, struct Sprite *) = { + MovementAction_EmoteExclamationMark_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct EventObject *, struct Sprite *) = { + MovementAction_EmoteQuestionMark_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct EventObject *, struct Sprite *) = { + MovementAction_EmoteHeart_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct EventObject *, struct Sprite *) = { + MovementAction_RevealTrainer_Step0, + MovementAction_RevealTrainer_Step1, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct EventObject *, struct Sprite *) = { + MovementAction_RockSmashBreak_Step0, + MovementAction_RockSmashBreak_Step1, + MovementAction_RockSmashBreak_Step2, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_CutTree[])(struct EventObject *, struct Sprite *) = { + MovementAction_CutTree_Step0, + MovementAction_CutTree_Step1, + MovementAction_CutTree_Step2, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct Sprite *) = { + MovementAction_SetFixedPriority_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *) = { + MovementAction_ClearFixedPriority_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *) = { + MovementAction_InitAffineAnim_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *) = { + MovementAction_ClearAffineAnim_Step0, + MovementAction_Finish +}; + +u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkDownAffine0_Step0, + MovementAction_WalkDownAffine0_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkDownAffine1_Step0, + MovementAction_WalkDownAffine1_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceDown_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceUp_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceLeft_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceRight_Step0, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceDown_Step0, + MovementAction_AcroWheelieHopFaceDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceUp_Step0, + MovementAction_AcroWheelieHopFaceUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceLeft_Step0, + MovementAction_AcroWheelieHopFaceLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceRight_Step0, + MovementAction_AcroWheelieHopFaceRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopDown_Step0, + MovementAction_AcroWheelieHopDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopUp_Step0, + MovementAction_AcroWheelieHopUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopLeft_Step0, + MovementAction_AcroWheelieHopLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopRight_Step0, + MovementAction_AcroWheelieHopRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpDown_Step0, + MovementAction_AcroWheelieJumpDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpUp_Step0, + MovementAction_AcroWheelieJumpUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpLeft_Step0, + MovementAction_AcroWheelieJumpLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpRight_Step0, + MovementAction_AcroWheelieJumpRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveDown_Step0, + MovementAction_AcroPopWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveUp_Step0, + MovementAction_AcroPopWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveLeft_Step0, + MovementAction_AcroPopWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveRight_Step0, + MovementAction_AcroPopWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveDown_Step0, + MovementAction_AcroWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveUp_Step0, + MovementAction_AcroWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveLeft_Step0, + MovementAction_AcroWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveRight_Step0, + MovementAction_AcroWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveDown_Step0, + MovementAction_AcroEndWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveUp_Step0, + MovementAction_AcroEndWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveLeft_Step0, + MovementAction_AcroEndWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim +}; + +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveRight_Step0, + MovementAction_AcroEndWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim +}; + +#endif //POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/field_event_obj/movement_type_func_tables.h new file mode 100644 index 000000000..ccbdac99c --- /dev/null +++ b/src/data/field_event_obj/movement_type_func_tables.h @@ -0,0 +1,438 @@ +#ifndef POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H +#define POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H + +u8 (*const gMovementTypeFuncs_WanderAround[])(struct EventObject *, struct Sprite *) = { + MovementType_WanderAround_Step0, + MovementType_WanderAround_Step1, + MovementType_WanderAround_Step2, + MovementType_WanderAround_Step3, + MovementType_WanderAround_Step4, + MovementType_WanderAround_Step5, + MovementType_WanderAround_Step6 +}; + +const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; + +u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = { + GetVectorDirection, + GetLimitedVectorDirection_SouthNorth, + GetLimitedVectorDirection_WestEast, + GetLimitedVectorDirection_WestNorth, + GetLimitedVectorDirection_EastNorth, + GetLimitedVectorDirection_WestSouth, + GetLimitedVectorDirection_EastSouth, + GetLimitedVectorDirection_SouthNorthWest, + GetLimitedVectorDirection_SouthNorthEast, + GetLimitedVectorDirection_NorthWestEast, + GetLimitedVectorDirection_SouthWestEast +}; + +u8 (*const gMovementTypeFuncs_LookAround[])(struct EventObject *, struct Sprite *) = { + MovementType_LookAround_Step0, + MovementType_LookAround_Step1, + MovementType_LookAround_Step2, + MovementType_LookAround_Step3, + MovementType_LookAround_Step4, +}; + +u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WanderUpAndDown_Step0, + MovementType_WanderUpAndDown_Step1, + MovementType_WanderUpAndDown_Step2, + MovementType_WanderUpAndDown_Step3, + MovementType_WanderUpAndDown_Step4, + MovementType_WanderUpAndDown_Step5, + MovementType_WanderUpAndDown_Step6, +}; + +const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WanderLeftAndRight_Step0, + MovementType_WanderLeftAndRight_Step1, + MovementType_WanderLeftAndRight_Step2, + MovementType_WanderLeftAndRight_Step3, + MovementType_WanderLeftAndRight_Step4, + MovementType_WanderLeftAndRight_Step5, + MovementType_WanderLeftAndRight_Step6, +}; + +const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDirection[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDirection_Step0, + MovementType_FaceDirection_Step1, + MovementType_FaceDirection_Step2, +}; + +u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct EventObject *, struct Sprite *) = { + MovementType_BerryTreeGrowth_Step0, + MovementType_BerryTreeGrowth_Step1, + MovementType_BerryTreeGrowth_Step2, + MovementType_BerryTreeGrowth_Step3, + MovementType_BerryTreeGrowth_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDownAndUp_Step0, + MovementType_FaceDownAndUp_Step1, + MovementType_FaceDownAndUp_Step2, + MovementType_FaceDownAndUp_Step3, + MovementType_FaceDownAndUp_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceLeftAndRight_Step0, + MovementType_FaceLeftAndRight_Step1, + MovementType_FaceLeftAndRight_Step2, + MovementType_FaceLeftAndRight_Step3, + MovementType_FaceLeftAndRight_Step4, +}; + +u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceUpAndLeft_Step0, + MovementType_FaceUpAndLeft_Step1, + MovementType_FaceUpAndLeft_Step2, + MovementType_FaceUpAndLeft_Step3, + MovementType_FaceUpAndLeft_Step4, +}; + +const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceUpAndRight_Step0, + MovementType_FaceUpAndRight_Step1, + MovementType_FaceUpAndRight_Step2, + MovementType_FaceUpAndRight_Step3, + MovementType_FaceUpAndRight_Step4, +}; + +const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDownAndLeft_Step0, + MovementType_FaceDownAndLeft_Step1, + MovementType_FaceDownAndLeft_Step2, + MovementType_FaceDownAndLeft_Step3, + MovementType_FaceDownAndLeft_Step4, +}; + +const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDownAndRight_Step0, + MovementType_FaceDownAndRight_Step1, + MovementType_FaceDownAndRight_Step2, + MovementType_FaceDownAndRight_Step3, + MovementType_FaceDownAndRight_Step4, +}; + +const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDownUpAndLeft_Step0, + MovementType_FaceDownUpAndLeft_Step1, + MovementType_FaceDownUpAndLeft_Step2, + MovementType_FaceDownUpAndLeft_Step3, + MovementType_FaceDownUpAndLeft_Step4, +}; + +const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDownUpAndRight_Step0, + MovementType_FaceDownUpAndRight_Step1, + MovementType_FaceDownUpAndRight_Step2, + MovementType_FaceDownUpAndRight_Step3, + MovementType_FaceDownUpAndRight_Step4, +}; + +const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceUpLeftAndRight_Step0, + MovementType_FaceUpLeftAndRight_Step1, + MovementType_FaceUpLeftAndRight_Step2, + MovementType_FaceUpLeftAndRight_Step3, + MovementType_FaceUpLeftAndRight_Step4, +}; + +const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDownLeftAndRight_Step0, + MovementType_FaceDownLeftAndRight_Step1, + MovementType_FaceDownLeftAndRight_Step2, + MovementType_FaceDownLeftAndRight_Step3, + MovementType_FaceDownLeftAndRight_Step4, +}; + +const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct EventObject *, struct Sprite *) = { + MovementType_RotateCounterclockwise_Step0, + MovementType_RotateCounterclockwise_Step1, + MovementType_RotateCounterclockwise_Step2, + MovementType_RotateCounterclockwise_Step3, +}; + +const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct EventObject *, struct Sprite *) = { + MovementType_RotateClockwise_Step0, + MovementType_RotateClockwise_Step1, + MovementType_RotateClockwise_Step2, + MovementType_RotateClockwise_Step3, +}; + +const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkBackAndForth_Step0, + MovementType_WalkBackAndForth_Step1, + MovementType_WalkBackAndForth_Step2, + MovementType_WalkBackAndForth_Step3, +}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightLeftDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftDownUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpRightLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownUpRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftRightDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightDownUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpLeftRight_Step1, + MovementType_WalkSequence_Step2 +}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownUpLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpDownRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownRightLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftUpDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightLeftUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpDownLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownLeftRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightUpDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftRightUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftDownRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightUpLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownRightUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpLeftDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightDownLeft_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftUpRight_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; + +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpRightDown_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownLeftUp_Step1, + MovementType_WalkSequence_Step2 +}; + +const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; + +u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct EventObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayer_Step1, + MovementType_CopyPlayer_Step2 +}; + +u8 (*const gCopyPlayerMovementFuncs[])(struct EventObject *, struct Sprite *, u8, bool8(u8)) = { + CopyablePlayerMovement_None, + CopyablePlayerMovement_FaceDirection, + CopyablePlayerMovement_GoSpeed0, + CopyablePlayerMovement_GoSpeed1, + CopyablePlayerMovement_GoSpeed2, + CopyablePlayerMovement_Slide, + cph_IM_DIFFERENT, + CopyablePlayerMovement_GoSpeed4, + CopyablePlayerMovement_Jump, + CopyablePlayerMovement_None, + CopyablePlayerMovement_None +}; + +u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct EventObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayerInGrass_Step1, + MovementType_CopyPlayer_Step2 +}; + +u8 (*const gMovementTypeFuncs_Hidden[])(struct EventObject *, struct Sprite *) = { + MovementType_Hidden_Step0 +}; + +u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_JogInPlace[])(struct EventObject *, struct Sprite *) = { + MovementType_JogInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_RunInPlace[])(struct EventObject *, struct Sprite *) = { + MovementType_RunInPlace_Step0, + MovementType_WalkInPlace_Step1 +}; + +u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *) = { + MovementType_Invisible_Step0, + MovementType_Invisible_Step1, + MovementType_Invisible_Step2 +}; + +#endif //POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H diff --git a/src/data/field_map_obj/base_oam.h b/src/data/field_map_obj/base_oam.h deleted file mode 100644 index 49c14e8c2..000000000 --- a/src/data/field_map_obj/base_oam.h +++ /dev/null @@ -1,56 +0,0 @@ -// - -// - -#ifndef POKERUBY_BASE_OAM_H -#define POKERUBY_BASE_OAM_H - -const struct OamData gFieldOamData_8x8 = { - .shape = 0, - .size = 0, - .priority = 2 -}; - -const struct OamData gFieldOamData_16x8 = { - .shape = 1, - .size = 0, - .priority = 2 -}; - -const struct OamData gFieldOamData_16x16 = { - .shape = 0, - .size = 1, - .priority = 2 -}; - -const struct OamData gFieldOamData_32x8 = { - .shape = 1, - .size = 1, - .priority = 2 -}; - -const struct OamData gFieldOamData_64x32 = { - .shape = 1, - .size = 3, - .priority = 2 -}; - -const struct OamData gFieldOamData_16x32 = { - .shape = 2, - .size = 2, - .priority = 2 -}; - -const struct OamData gFieldOamData_32x32 = { - .shape = 0, - .size = 2, - .priority = 2 -}; - -const struct OamData gFieldOamData_64x64 = { - .shape = 0, - .size = 3, - .priority = 2 -}; - -#endif //POKERUBY_BASE_OAM_H diff --git a/src/data/field_map_obj/berry_tree_graphics_tables.h b/src/data/field_map_obj/berry_tree_graphics_tables.h deleted file mode 100644 index 5b60fee6f..000000000 --- a/src/data/field_map_obj/berry_tree_graphics_tables.h +++ /dev/null @@ -1,573 +0,0 @@ -// - -// - -#ifndef POKERUBY_BERRY_TREE_GRAPHICS_TABLES_H -#define POKERUBY_BERRY_TREE_GRAPHICS_TABLES_H - -const struct SpriteFrameImage gMapObjectPicTable_PechaBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_PechaBerryTree_0), - obj_frame_tiles(gMapObjectPic_PechaBerryTree_1), - obj_frame_tiles(gMapObjectPic_PechaBerryTree_2), - obj_frame_tiles(gMapObjectPic_PechaBerryTree_3), - obj_frame_tiles(gMapObjectPic_PechaBerryTree_4), - obj_frame_tiles(gMapObjectPic_PechaBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_KelpsyBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_KelpsyBerryTree_0), - obj_frame_tiles(gMapObjectPic_KelpsyBerryTree_1), - obj_frame_tiles(gMapObjectPic_KelpsyBerryTree_2), - obj_frame_tiles(gMapObjectPic_KelpsyBerryTree_3), - obj_frame_tiles(gMapObjectPic_KelpsyBerryTree_4), - obj_frame_tiles(gMapObjectPic_KelpsyBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_WepearBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_WepearBerryTree_0), - obj_frame_tiles(gMapObjectPic_WepearBerryTree_1), - obj_frame_tiles(gMapObjectPic_WepearBerryTree_2), - obj_frame_tiles(gMapObjectPic_WepearBerryTree_3), - obj_frame_tiles(gMapObjectPic_WepearBerryTree_4), - obj_frame_tiles(gMapObjectPic_WepearBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_IapapaBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_IapapaBerryTree_0), - obj_frame_tiles(gMapObjectPic_IapapaBerryTree_1), - obj_frame_tiles(gMapObjectPic_IapapaBerryTree_2), - obj_frame_tiles(gMapObjectPic_IapapaBerryTree_3), - obj_frame_tiles(gMapObjectPic_IapapaBerryTree_4), - obj_frame_tiles(gMapObjectPic_IapapaBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_CheriBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_CheriBerryTree_0), - obj_frame_tiles(gMapObjectPic_CheriBerryTree_1), - obj_frame_tiles(gMapObjectPic_CheriBerryTree_2), - obj_frame_tiles(gMapObjectPic_CheriBerryTree_3), - obj_frame_tiles(gMapObjectPic_CheriBerryTree_4), - obj_frame_tiles(gMapObjectPic_CheriBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_FigyBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_FigyBerryTree_0), - obj_frame_tiles(gMapObjectPic_FigyBerryTree_1), - obj_frame_tiles(gMapObjectPic_FigyBerryTree_2), - obj_frame_tiles(gMapObjectPic_FigyBerryTree_3), - obj_frame_tiles(gMapObjectPic_FigyBerryTree_4), - obj_frame_tiles(gMapObjectPic_FigyBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_MagoBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_MagoBerryTree_0), - obj_frame_tiles(gMapObjectPic_MagoBerryTree_1), - obj_frame_tiles(gMapObjectPic_MagoBerryTree_2), - obj_frame_tiles(gMapObjectPic_MagoBerryTree_3), - obj_frame_tiles(gMapObjectPic_MagoBerryTree_4), - obj_frame_tiles(gMapObjectPic_MagoBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_LumBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_LumBerryTree_0), - obj_frame_tiles(gMapObjectPic_LumBerryTree_1), - obj_frame_tiles(gMapObjectPic_LumBerryTree_2), - obj_frame_tiles(gMapObjectPic_LumBerryTree_3), - obj_frame_tiles(gMapObjectPic_LumBerryTree_4), - obj_frame_tiles(gMapObjectPic_LumBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_RazzBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_RazzBerryTree_0), - obj_frame_tiles(gMapObjectPic_RazzBerryTree_1), - obj_frame_tiles(gMapObjectPic_RazzBerryTree_2), - obj_frame_tiles(gMapObjectPic_RazzBerryTree_3), - obj_frame_tiles(gMapObjectPic_RazzBerryTree_4), - obj_frame_tiles(gMapObjectPic_RazzBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_GrepaBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_GrepaBerryTree_0), - obj_frame_tiles(gMapObjectPic_GrepaBerryTree_1), - obj_frame_tiles(gMapObjectPic_GrepaBerryTree_2), - obj_frame_tiles(gMapObjectPic_GrepaBerryTree_3), - obj_frame_tiles(gMapObjectPic_GrepaBerryTree_4), - obj_frame_tiles(gMapObjectPic_GrepaBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_RabutaBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_RabutaBerryTree_0), - obj_frame_tiles(gMapObjectPic_RabutaBerryTree_1), - obj_frame_tiles(gMapObjectPic_RabutaBerryTree_2), - obj_frame_tiles(gMapObjectPic_RabutaBerryTree_3), - obj_frame_tiles(gMapObjectPic_RabutaBerryTree_4), - obj_frame_tiles(gMapObjectPic_RabutaBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_NomelBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_NomelBerryTree_0), - obj_frame_tiles(gMapObjectPic_NomelBerryTree_1), - obj_frame_tiles(gMapObjectPic_NomelBerryTree_2), - obj_frame_tiles(gMapObjectPic_NomelBerryTree_3), - obj_frame_tiles(gMapObjectPic_NomelBerryTree_4), - obj_frame_tiles(gMapObjectPic_NomelBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_LeppaBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_LeppaBerryTree_0), - obj_frame_tiles(gMapObjectPic_LeppaBerryTree_1), - obj_frame_tiles(gMapObjectPic_LeppaBerryTree_2), - obj_frame_tiles(gMapObjectPic_LeppaBerryTree_3), - obj_frame_tiles(gMapObjectPic_LeppaBerryTree_4), - obj_frame_tiles(gMapObjectPic_LeppaBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_LiechiBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_LiechiBerryTree_0), - obj_frame_tiles(gMapObjectPic_LiechiBerryTree_1), - obj_frame_tiles(gMapObjectPic_LiechiBerryTree_2), - obj_frame_tiles(gMapObjectPic_LiechiBerryTree_3), - obj_frame_tiles(gMapObjectPic_LiechiBerryTree_4), - obj_frame_tiles(gMapObjectPic_LiechiBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_HondewBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_HondewBerryTree_0), - obj_frame_tiles(gMapObjectPic_HondewBerryTree_1), - obj_frame_tiles(gMapObjectPic_HondewBerryTree_2), - obj_frame_tiles(gMapObjectPic_HondewBerryTree_3), - obj_frame_tiles(gMapObjectPic_HondewBerryTree_4), - obj_frame_tiles(gMapObjectPic_HondewBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5}; - -const struct SpriteFrameImage gMapObjectPicTable_AguavBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_AguavBerryTree_0), - obj_frame_tiles(gMapObjectPic_AguavBerryTree_1), - obj_frame_tiles(gMapObjectPic_AguavBerryTree_2), - obj_frame_tiles(gMapObjectPic_AguavBerryTree_3), - obj_frame_tiles(gMapObjectPic_AguavBerryTree_4), - obj_frame_tiles(gMapObjectPic_AguavBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_WikiBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_WikiBerryTree_0), - obj_frame_tiles(gMapObjectPic_WikiBerryTree_1), - obj_frame_tiles(gMapObjectPic_WikiBerryTree_2), - obj_frame_tiles(gMapObjectPic_WikiBerryTree_3), - obj_frame_tiles(gMapObjectPic_WikiBerryTree_4), - obj_frame_tiles(gMapObjectPic_WikiBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_PomegBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_PomegBerryTree_0), - obj_frame_tiles(gMapObjectPic_PomegBerryTree_1), - obj_frame_tiles(gMapObjectPic_PomegBerryTree_2), - obj_frame_tiles(gMapObjectPic_PomegBerryTree_3), - obj_frame_tiles(gMapObjectPic_PomegBerryTree_4), - obj_frame_tiles(gMapObjectPic_PomegBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_RawstBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_RawstBerryTree_0), - obj_frame_tiles(gMapObjectPic_RawstBerryTree_1), - obj_frame_tiles(gMapObjectPic_RawstBerryTree_2), - obj_frame_tiles(gMapObjectPic_RawstBerryTree_3), - obj_frame_tiles(gMapObjectPic_RawstBerryTree_4), - obj_frame_tiles(gMapObjectPic_RawstBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_SpelonBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_SpelonBerryTree_0), - obj_frame_tiles(gMapObjectPic_SpelonBerryTree_1), - obj_frame_tiles(gMapObjectPic_SpelonBerryTree_2), - obj_frame_tiles(gMapObjectPic_SpelonBerryTree_3), - obj_frame_tiles(gMapObjectPic_SpelonBerryTree_4), - obj_frame_tiles(gMapObjectPic_SpelonBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_ChestoBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_ChestoBerryTree_0), - obj_frame_tiles(gMapObjectPic_ChestoBerryTree_1), - obj_frame_tiles(gMapObjectPic_ChestoBerryTree_2), - obj_frame_tiles(gMapObjectPic_ChestoBerryTree_3), - obj_frame_tiles(gMapObjectPic_ChestoBerryTree_4), - obj_frame_tiles(gMapObjectPic_ChestoBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_OranBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_OranBerryTree_0), - obj_frame_tiles(gMapObjectPic_OranBerryTree_1), - obj_frame_tiles(gMapObjectPic_OranBerryTree_2), - obj_frame_tiles(gMapObjectPic_OranBerryTree_3), - obj_frame_tiles(gMapObjectPic_OranBerryTree_4), - obj_frame_tiles(gMapObjectPic_OranBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_PersimBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_PersimBerryTree_0), - obj_frame_tiles(gMapObjectPic_PersimBerryTree_1), - obj_frame_tiles(gMapObjectPic_PersimBerryTree_2), - obj_frame_tiles(gMapObjectPic_PersimBerryTree_3), - obj_frame_tiles(gMapObjectPic_PersimBerryTree_4), - obj_frame_tiles(gMapObjectPic_PersimBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_SitrusBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_SitrusBerryTree_0), - obj_frame_tiles(gMapObjectPic_SitrusBerryTree_1), - obj_frame_tiles(gMapObjectPic_SitrusBerryTree_2), - obj_frame_tiles(gMapObjectPic_SitrusBerryTree_3), - obj_frame_tiles(gMapObjectPic_SitrusBerryTree_4), - obj_frame_tiles(gMapObjectPic_SitrusBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_AspearBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_AspearBerryTree_0), - obj_frame_tiles(gMapObjectPic_AspearBerryTree_1), - obj_frame_tiles(gMapObjectPic_AspearBerryTree_2), - obj_frame_tiles(gMapObjectPic_AspearBerryTree_3), - obj_frame_tiles(gMapObjectPic_AspearBerryTree_4), - obj_frame_tiles(gMapObjectPic_AspearBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3}; - -const struct SpriteFrameImage gMapObjectPicTable_PamtreBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_PamtreBerryTree_0), - obj_frame_tiles(gMapObjectPic_PamtreBerryTree_1), - obj_frame_tiles(gMapObjectPic_PamtreBerryTree_2), - obj_frame_tiles(gMapObjectPic_PamtreBerryTree_3), - obj_frame_tiles(gMapObjectPic_PamtreBerryTree_4), - obj_frame_tiles(gMapObjectPic_PamtreBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_CornnBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_CornnBerryTree_0), - obj_frame_tiles(gMapObjectPic_CornnBerryTree_1), - obj_frame_tiles(gMapObjectPic_CornnBerryTree_2), - obj_frame_tiles(gMapObjectPic_CornnBerryTree_3), - obj_frame_tiles(gMapObjectPic_CornnBerryTree_4), - obj_frame_tiles(gMapObjectPic_CornnBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_LansatBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_LansatBerryTree_0), - obj_frame_tiles(gMapObjectPic_LansatBerryTree_1), - obj_frame_tiles(gMapObjectPic_LansatBerryTree_2), - obj_frame_tiles(gMapObjectPic_LansatBerryTree_3), - obj_frame_tiles(gMapObjectPic_LansatBerryTree_4), - obj_frame_tiles(gMapObjectPic_LansatBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2}; - -const struct SpriteFrameImage gMapObjectPicTable_DurinBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_DurinBerryTree_0), - obj_frame_tiles(gMapObjectPic_DurinBerryTree_1), - obj_frame_tiles(gMapObjectPic_DurinBerryTree_2), - obj_frame_tiles(gMapObjectPic_DurinBerryTree_3), - obj_frame_tiles(gMapObjectPic_DurinBerryTree_4), - obj_frame_tiles(gMapObjectPic_DurinBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4}; - -const struct SpriteFrameImage gMapObjectPicTable_TamatoBerryTree[] = { - obj_frame_tiles(gMapObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gMapObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gMapObjectPic_TamatoBerryTree_0), - obj_frame_tiles(gMapObjectPic_TamatoBerryTree_1), - obj_frame_tiles(gMapObjectPic_TamatoBerryTree_2), - obj_frame_tiles(gMapObjectPic_TamatoBerryTree_3), - obj_frame_tiles(gMapObjectPic_TamatoBerryTree_4), - obj_frame_tiles(gMapObjectPic_TamatoBerryTree_5) -}; - -const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; - -const u8 gDeadBerryTreeGraphicsIdTable[] = {MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES}; - -const u8 gBerryTreeGraphicsIdTable[] = {MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES}; - -const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { - gMapObjectPicTable_CheriBerryTree, - gMapObjectPicTable_ChestoBerryTree, - gMapObjectPicTable_PechaBerryTree, - gMapObjectPicTable_RawstBerryTree, - gMapObjectPicTable_AspearBerryTree, - gMapObjectPicTable_LeppaBerryTree, - gMapObjectPicTable_OranBerryTree, - gMapObjectPicTable_PersimBerryTree, - gMapObjectPicTable_LumBerryTree, - gMapObjectPicTable_SitrusBerryTree, - gMapObjectPicTable_FigyBerryTree, - gMapObjectPicTable_WikiBerryTree, - gMapObjectPicTable_MagoBerryTree, - gMapObjectPicTable_AguavBerryTree, - gMapObjectPicTable_IapapaBerryTree, - gMapObjectPicTable_RazzBerryTree, - gMapObjectPicTable_RazzBerryTree, - gMapObjectPicTable_MagoBerryTree, - gMapObjectPicTable_WepearBerryTree, - gMapObjectPicTable_IapapaBerryTree, - gMapObjectPicTable_PomegBerryTree, - gMapObjectPicTable_KelpsyBerryTree, - gMapObjectPicTable_WepearBerryTree, - gMapObjectPicTable_HondewBerryTree, - gMapObjectPicTable_GrepaBerryTree, - gMapObjectPicTable_TamatoBerryTree, - gMapObjectPicTable_CornnBerryTree, - gMapObjectPicTable_PomegBerryTree, - gMapObjectPicTable_RabutaBerryTree, - gMapObjectPicTable_NomelBerryTree, - gMapObjectPicTable_SpelonBerryTree, - gMapObjectPicTable_PamtreBerryTree, - gMapObjectPicTable_RabutaBerryTree, - gMapObjectPicTable_DurinBerryTree, - gMapObjectPicTable_HondewBerryTree, - gMapObjectPicTable_LiechiBerryTree, - gMapObjectPicTable_HondewBerryTree, - gMapObjectPicTable_AguavBerryTree, - gMapObjectPicTable_PomegBerryTree, - gMapObjectPicTable_GrepaBerryTree, - gMapObjectPicTable_LansatBerryTree, - gMapObjectPicTable_CornnBerryTree, - gMapObjectPicTable_DurinBerryTree -}; - -const u8 *const gBerryTreePaletteSlotTablePointers[] = { - gBerryTreePaletteSlotTable_Cheri, - gBerryTreePaletteSlotTable_Chesto, - gBerryTreePaletteSlotTable_Pecha, - gBerryTreePaletteSlotTable_Rawst, - gBerryTreePaletteSlotTable_Aspear, - gBerryTreePaletteSlotTable_Leppa, - gBerryTreePaletteSlotTable_Oran, - gBerryTreePaletteSlotTable_Persim, - gBerryTreePaletteSlotTable_Lum, - gBerryTreePaletteSlotTable_Sitrus, - gBerryTreePaletteSlotTable_Figy, - gBerryTreePaletteSlotTable_Wiki, - gBerryTreePaletteSlotTable_Mago, - gBerryTreePaletteSlotTable_Aguav, - gBerryTreePaletteSlotTable_Iapapa, - gBerryTreePaletteSlotTable_Razz, - gBerryTreePaletteSlotTable_Razz, - gBerryTreePaletteSlotTable_Mago, - gBerryTreePaletteSlotTable_Wepear, - gBerryTreePaletteSlotTable_Iapapa, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Kelpsy, - gBerryTreePaletteSlotTable_Wepear, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Grepa, - gBerryTreePaletteSlotTable_Tamato, - gBerryTreePaletteSlotTable_Cornn, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Rabuta, - gBerryTreePaletteSlotTable_Nomel, - gBerryTreePaletteSlotTable_Spelon, - gBerryTreePaletteSlotTable_Pamtre, - gBerryTreePaletteSlotTable_Rabuta, - gBerryTreePaletteSlotTable_Durin, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Liechi, - gBerryTreePaletteSlotTable_Hondew, - gBerryTreePaletteSlotTable_Aguav, - gBerryTreePaletteSlotTable_Pomeg, - gBerryTreePaletteSlotTable_Grepa, - gBerryTreePaletteSlotTable_Lansat, - gBerryTreePaletteSlotTable_Cornn, - gBerryTreePaletteSlotTable_Durin -}; - -const u8 *const gBerryTreeGraphicsIdTablePointers[] = { - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable, - gBerryTreeGraphicsIdTable -}; - -#endif //POKERUBY_BERRY_TREE_GRAPHICS_TABLES_H diff --git a/src/data/field_map_obj/field_effect_object_graphics.h b/src/data/field_map_obj/field_effect_object_graphics.h deleted file mode 100755 index 36850a4ec..000000000 --- a/src/data/field_map_obj/field_effect_object_graphics.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef POKERUBY_FIELD_EFFECT_OBJECT_GFX_H -#define POKERUBY_FIELD_EFFECT_OBJECT_GFX_H - -const u32 gFieldEffectPic_ShadowSmall[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_small.4bpp"); -const u32 gFieldEffectPic_ShadowMedium[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_medium.4bpp"); -const u32 gFieldEffectPic_ShadowLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_large.4bpp"); -const u32 gFieldEffectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_extra_large.4bpp"); -const u32 filler_8368A08[0x48] = {}; -const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/field_effect_objects/pics/cut_grass.4bpp"); -const u32 FieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/field_effect_objects/pics/cut_grass.4bpp"); -const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/field_effect_objects/palettes/06.gbapal"); -const u32 gFieldEffectPic_Ripple_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/0.4bpp"); -const u32 gFieldEffectPic_Ripple_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/1.4bpp"); -const u32 gFieldEffectPic_Ripple_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/2.4bpp"); -const u32 gFieldEffectPic_Ripple_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/3.4bpp"); -const u32 gFieldEffectPic_Ripple_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple/4.4bpp"); -const u32 gFieldEffectPic_Ash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/0.4bpp"); -const u32 gFieldEffectPic_Ash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/1.4bpp"); -const u32 gFieldEffectPic_Ash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/2.4bpp"); -const u32 gFieldEffectPic_Ash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/3.4bpp"); -const u32 gFieldEffectPic_Ash_4[] = INCBIN_U32("graphics/field_effect_objects/pics/ash/4.4bpp"); -const u32 gFieldEffectPic_Arrow_0[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/0.4bpp"); -const u32 gFieldEffectPic_Arrow_1[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/1.4bpp"); -const u32 gFieldEffectPic_Arrow_2[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/2.4bpp"); -const u32 gFieldEffectPic_Arrow_3[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/3.4bpp"); -const u32 gFieldEffectPic_Arrow_4[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/4.4bpp"); -const u32 gFieldEffectPic_Arrow_5[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/5.4bpp"); -const u32 gFieldEffectPic_Arrow_6[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/6.4bpp"); -const u32 gFieldEffectPic_Arrow_7[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow/7.4bpp"); -const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/field_effect_objects/palettes/00.gbapal"); -const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effect_objects/palettes/01.gbapal"); -const u32 gFieldEffectPic_Dust_0[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/0.4bpp"); -const u32 gFieldEffectPic_Dust_1[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/1.4bpp"); -const u32 gFieldEffectPic_Dust_2[] = INCBIN_U32("graphics/field_effect_objects/pics/dust/2.4bpp"); -const u32 unknown_8369588[] = INCBIN_U32("graphics/field_effect_objects/unknown.bin"); -const u32 gFieldEffectPic_JumpTallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/0.4bpp"); -const u32 gFieldEffectPic_JumpTallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/1.4bpp"); -const u32 gFieldEffectPic_JumpTallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/2.4bpp"); -const u32 gFieldEffectPic_JumpTallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass/3.4bpp"); -const u32 UnusedGrass0[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/0.4bpp"); -const u32 UnusedGrass1[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/1.4bpp"); -const u32 UnusedGrass2[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/2.4bpp"); -const u32 UnusedGrass3[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass/3.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/0.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/1.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/2.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/3.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/4.4bpp"); -const u32 UnusedGrassLong[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/unused.4bpp"); -const u32 gFieldEffectPic_JumpLongGrass_5[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass/5.4bpp"); -const u32 gFieldEffectPic_Unknown17_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/0.4bpp"); -const u32 gFieldEffectPic_Unknown17_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/1.4bpp"); -const u32 gFieldEffectPic_Unknown17_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/2.4bpp"); -const u32 gFieldEffectPic_Unknown17_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/3.4bpp"); -const u32 gFieldEffectPic_Unknown17_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/4.4bpp"); -const u32 gFieldEffectPic_Unknown17_5[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/5.4bpp"); -const u32 gFieldEffectPic_Unknown17_6[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/6.4bpp"); -const u32 gFieldEffectPic_Unknown17_7[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17/7.4bpp"); -const u32 gFieldEffectPic_Unknown18_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/0.4bpp"); -const u32 gFieldEffectPic_Unknown18_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/1.4bpp"); -const u32 gFieldEffectPic_Unknown18_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/2.4bpp"); -const u32 gFieldEffectPic_Unknown18_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18/3.4bpp"); -const u32 gFieldEffectPic_LongGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/0.4bpp"); -const u32 gFieldEffectPic_LongGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/1.4bpp"); -const u32 gFieldEffectPic_LongGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/2.4bpp"); -const u32 gFieldEffectPic_LongGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass/3.4bpp"); -const u32 gFieldEffectPic_TallGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/0.4bpp"); -const u32 gFieldEffectPic_TallGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/1.4bpp"); -const u32 gFieldEffectPic_TallGrass_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/2.4bpp"); -const u32 gFieldEffectPic_TallGrass_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/3.4bpp"); -const u32 gFieldEffectPic_TallGrass_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass/4.4bpp"); -const u32 gFieldEffectPic_ShortGrass_0[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/0.4bpp"); -const u32 gFieldEffectPic_ShortGrass_1[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass/1.4bpp"); -const u32 gFieldEffectPic_SandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/0.4bpp"); -const u32 gFieldEffectPic_SandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints/1.4bpp"); -const u32 gFieldEffectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/0.4bpp"); -const u32 gFieldEffectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints/1.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/0.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/1.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/2.4bpp"); -const u32 gFieldEffectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks/3.4bpp"); -const u32 gFieldEffectPic_Unknown19_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/0.4bpp"); -const u32 gFieldEffectPic_Unknown19_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/1.4bpp"); -const u32 gFieldEffectPic_Unknown19_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/2.4bpp"); -const u32 gFieldEffectPic_Unknown19_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19/3.4bpp"); -const u32 gFieldEffectPic_SandPile_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/0.4bpp"); -const u32 gFieldEffectPic_SandPile_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/1.4bpp"); -const u32 gFieldEffectPic_SandPile_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile/2.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/0.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/1.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/2.4bpp"); -const u32 gFieldEffectPic_JumpBigSplash_3[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash/3.4bpp"); -const u32 gFieldEffectPic_Splash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/0.4bpp"); -const u32 gFieldEffectPic_Splash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/splash/1.4bpp"); -const u32 gFieldEffectPic_JumpSmallSplash_0[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/0.4bpp"); -const u32 gFieldEffectPic_JumpSmallSplash_1[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/1.4bpp"); -const u32 gFieldEffectPic_JumpSmallSplash_2[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash/2.4bpp"); -const u32 gFieldEffectPic_Unknown20_0[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/0.4bpp"); -const u32 gFieldEffectPic_Unknown20_1[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/1.4bpp"); -const u32 gFieldEffectPic_Unknown20_2[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/2.4bpp"); -const u32 gFieldEffectPic_Unknown20_3[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/3.4bpp"); -const u32 gFieldEffectPic_Unknown20_4[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20/4.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/0.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/1.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/2.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/3.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/4.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/5.4bpp"); -const u32 gFieldEffectPic_TreeDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise/6.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/0.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/1.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/2.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/3.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/4.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/5.4bpp"); -const u32 gFieldEffectPic_MountainDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise/6.4bpp"); -const u32 gFieldEffectPic_SandDisguise_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/0.4bpp"); -const u32 gFieldEffectPic_SandDisguise_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/1.4bpp"); -const u32 gFieldEffectPic_SandDisguise_2[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/2.4bpp"); -const u32 gFieldEffectPic_SandDisguise_3[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/3.4bpp"); -const u32 gFieldEffectPic_SandDisguise_4[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/4.4bpp"); -const u32 gFieldEffectPic_SandDisguise_5[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/5.4bpp"); -const u32 gFieldEffectPic_SandDisguise_6[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise/6.4bpp"); -const u32 gFieldEffectPic_HotSpringsWater[] = INCBIN_U32("graphics/field_effect_objects/pics/hot_springs_water.4bpp"); -const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/field_effect_objects/palettes/02.gbapal"); -const u32 gFieldEffectPic_PopOutOfAsh_0[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/0.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_1[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/1.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_2[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/2.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_3[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/3.4bpp"); -const u32 gFieldEffectPic_PopOutOfAsh_4[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash/4.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_0[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/0.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_1[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/1.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_2[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/2.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_3[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/3.4bpp"); -const u32 gFieldEffectPic_LavaridgeGymWarp_4[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp/4.4bpp"); -const u32 gFieldEffectPic_Bubbles_0[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/0.4bpp"); -const u32 gFieldEffectPic_Bubbles_1[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/1.4bpp"); -const u32 gFieldEffectPic_Bubbles_2[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/2.4bpp"); -const u32 gFieldEffectPic_Bubbles_3[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/3.4bpp"); -const u32 gFieldEffectPic_Bubbles_4[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/4.4bpp"); -const u32 gFieldEffectPic_Bubbles_5[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/5.4bpp"); -const u32 gFieldEffectPic_Bubbles_6[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/6.4bpp"); -const u32 gFieldEffectPic_Bubbles_7[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles/7.4bpp"); -const u32 gFieldEffectPic_Sparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/0.4bpp"); -const u32 gFieldEffectPic_Sparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle/1.4bpp"); -const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/field_effect_objects/palettes/03.gbapal"); -const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pics/bird.4bpp"); - -#endif // POKERUBY_FIELD_EFFECT_OBJECT_GFX_H diff --git a/src/data/field_map_obj/field_effect_object_template_pointers.h b/src/data/field_map_obj/field_effect_object_template_pointers.h deleted file mode 100644 index 320af1ff8..000000000 --- a/src/data/field_map_obj/field_effect_object_template_pointers.h +++ /dev/null @@ -1,84 +0,0 @@ -// - -// - -#ifndef POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H -#define POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H - -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge; -const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Arrow; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash; -const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown21; -const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle; -const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints; -const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise; -const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Bird; -const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass; -const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater; -const struct SpriteTemplate gFieldEffectSpriteTemplate_PopOutOfAsh; -const struct SpriteTemplate gFieldEffectSpriteTemplate_LavaridgeGymWarp; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle; - -const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { - &gFieldEffectSpriteTemplate_ShadowSmall, - &gFieldEffectSpriteTemplate_ShadowMedium, - &gFieldEffectSpriteTemplate_ShadowLarge, - &gFieldEffectSpriteTemplate_ShadowExtraLarge, - &gFieldEffectSpriteTemplate_TallGrass, - &gFieldEffectSpriteTemplate_Ripple, - &gFieldEffectSpriteTemplate_Ash, - &gFieldEffectSpriteTemplate_SurfBlob, - &gFieldEffectSpriteTemplate_Arrow, - &gFieldEffectSpriteTemplate_Dust, - &gFieldEffectSpriteTemplate_JumpTallGrass, - &gFieldEffectSpriteTemplate_SandFootprints, - &gFieldEffectSpriteTemplate_JumpBigSplash, - &gFieldEffectSpriteTemplate_Splash, - &gFieldEffectSpriteTemplate_JumpSmallSplash, - &gFieldEffectSpriteTemplate_LongGrass, - &gFieldEffectSpriteTemplate_JumpLongGrass, - &gFieldEffectSpriteTemplate_Unknown17, - &gFieldEffectSpriteTemplate_Unknown18, - &gFieldEffectSpriteTemplate_Unknown19, - &gFieldEffectSpriteTemplate_Unknown20, - &gFieldEffectSpriteTemplate_Unknown21, - &gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle, - &gFieldEffectSpriteTemplate_DeepSandFootprints, - &gFieldEffectSpriteTemplate_TreeDisguise, - &gFieldEffectSpriteTemplate_MountainDisguise, - &gFieldEffectSpriteTemplate_Bird, - &gFieldEffectSpriteTemplate_BikeTireTracks, - &gFieldEffectSpriteTemplate_SandDisguise, - &gFieldEffectSpriteTemplate_SandPile, - &gFieldEffectSpriteTemplate_ShortGrass, - &gFieldEffectSpriteTemplate_HotSpringsWater, - &gFieldEffectSpriteTemplate_PopOutOfAsh, - &gFieldEffectSpriteTemplate_LavaridgeGymWarp, - &gFieldEffectSpriteTemplate_Bubbles, - &gFieldEffectSpriteTemplate_Sparkle -}; - -#endif //POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H diff --git a/src/data/field_map_obj/field_effect_objects.h b/src/data/field_map_obj/field_effect_objects.h deleted file mode 100644 index 9d3ae343d..000000000 --- a/src/data/field_map_obj/field_effect_objects.h +++ /dev/null @@ -1,897 +0,0 @@ -// - -// - -#ifndef POKERUBY_FIELD_EFFECT_OBJECTS_H -#define POKERUBY_FIELD_EFFECT_OBJECTS_H - -const struct SpritePalette gFieldEffectObjectPaletteInfo0 = {gFieldEffectObjectPalette0, 0x1004}; - -const struct SpritePalette gFieldEffectObjectPaletteInfo1 = {gFieldEffectObjectPalette1, 0x1005}; - -const union AnimCmd gFieldEffectAnim_8374534[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_Shadow[] = { - gFieldEffectAnim_8374534 -}; - -const struct SpriteFrameImage gFieldEffectPicTable_ShadowSmall[] = { - obj_frame_tiles(gFieldEffectPic_ShadowSmall) -}; - -const struct SpriteFrameImage gFieldEffectPicTable_ShadowMedium[] = { - obj_frame_tiles(gFieldEffectPic_ShadowMedium) -}; - -const struct SpriteFrameImage gFieldEffectPicTable_ShadowLarge[] = { - obj_frame_tiles(gFieldEffectPic_ShadowLarge) -}; - -const struct SpriteFrameImage gFieldEffectPicTable_ShadowExtraLarge[] = { - obj_frame_tiles(gFieldEffectPic_ShadowExtraLarge) -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gFieldOamData_8x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gFieldOamData_16x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, oamc_shadow}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gFieldOamData_32x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, oamc_shadow}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gFieldOamData_64x32, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow}; - -const struct SpriteFrameImage gFieldEffectPicTable_TallGrass[] = { - obj_frame_tiles(gFieldEffectPic_TallGrass_0), - obj_frame_tiles(gFieldEffectPic_TallGrass_1), - obj_frame_tiles(gFieldEffectPic_TallGrass_2), - obj_frame_tiles(gFieldEffectPic_TallGrass_3), - obj_frame_tiles(gFieldEffectPic_TallGrass_4) -}; - -const union AnimCmd gFieldEffectAnim_83745E8[] = { - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(2, 10), - ANIMCMD_FRAME(3, 10), - ANIMCMD_FRAME(4, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_TallGrass[] = { - gFieldEffectAnim_83745E8 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_TallGrass, gFieldEffectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal}; - -const struct SpriteFrameImage gFieldEffectPicTable_Ripple[] = { - obj_frame_tiles(gFieldEffectPic_Ripple_0), - obj_frame_tiles(gFieldEffectPic_Ripple_1), - obj_frame_tiles(gFieldEffectPic_Ripple_2), - obj_frame_tiles(gFieldEffectPic_Ripple_3), - obj_frame_tiles(gFieldEffectPic_Ripple_4) -}; - -const union AnimCmd gFieldEffectAnim_8374644[] = { - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 9), - ANIMCMD_FRAME(3, 9), - ANIMCMD_FRAME(0, 9), - ANIMCMD_FRAME(1, 9), - ANIMCMD_FRAME(2, 11), - ANIMCMD_FRAME(4, 11), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_Ripple[] = { - gFieldEffectAnim_8374644 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ripple, gFieldEffectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_8128800}; - -const struct SpriteFrameImage gFieldEffectPicTable_Ash[] = { - obj_frame_tiles(gFieldEffectPic_Ash_0), - obj_frame_tiles(gFieldEffectPic_Ash_1), - obj_frame_tiles(gFieldEffectPic_Ash_2), - obj_frame_tiles(gFieldEffectPic_Ash_3), - obj_frame_tiles(gFieldEffectPic_Ash_4) -}; - -const union AnimCmd gFieldEffectAnim_83746AC[] = { - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(1, 12), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 12), - ANIMCMD_FRAME(4, 12), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_Ash[] = { - gFieldEffectAnim_83746AC -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ash, gFieldEffectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8127D84}; - -const struct SpriteFrameImage gFieldEffectPicTable_SurfBlob[] = { - obj_frame_tiles(gFieldEffectPic_SurfBlob_0), - obj_frame_tiles(gFieldEffectPic_SurfBlob_1), - obj_frame_tiles(gFieldEffectPic_SurfBlob_2) -}; - -const union AnimCmd gFieldEffectAnim_83746F8[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gFieldEffectAnim_8374700[] = { - ANIMCMD_FRAME(1, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gFieldEffectAnim_8374708[] = { - ANIMCMD_FRAME(2, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gFieldEffectAnim_8374710[] = { - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd *const gFieldEffectAnimTable_SurfBlob[] = { - gFieldEffectAnim_83746F8, - gFieldEffectAnim_8374700, - gFieldEffectAnim_8374708, - gFieldEffectAnim_8374710 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_SurfBlob, gFieldEffectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8127F7C}; - -const struct SpriteFrameImage gFieldEffectPicTable_Arrow[] = { - obj_frame_tiles(gFieldEffectPic_Arrow_0), - obj_frame_tiles(gFieldEffectPic_Arrow_1), - obj_frame_tiles(gFieldEffectPic_Arrow_2), - obj_frame_tiles(gFieldEffectPic_Arrow_3), - obj_frame_tiles(gFieldEffectPic_Arrow_4), - obj_frame_tiles(gFieldEffectPic_Arrow_5), - obj_frame_tiles(gFieldEffectPic_Arrow_6), - obj_frame_tiles(gFieldEffectPic_Arrow_7) -}; - -const union AnimCmd gFieldEffectAnim_8374780[] = { - ANIMCMD_FRAME(3, 32), - ANIMCMD_FRAME(7, 32), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gFieldEffectAnim_837478C[] = { - ANIMCMD_FRAME(0, 32), - ANIMCMD_FRAME(4, 32), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gFieldEffectAnim_8374798[] = { - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(5, 32), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gFieldEffectAnim_83747A4[] = { - ANIMCMD_FRAME(2, 32), - ANIMCMD_FRAME(6, 32), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd *const gFieldEffectAnimTable_Arrow[] = { - gFieldEffectAnim_8374780, - gFieldEffectAnim_837478C, - gFieldEffectAnim_8374798, - gFieldEffectAnim_83747A4 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Arrow = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_Arrow, gFieldEffectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; - -const struct SpriteFrameImage gFieldEffectPicTable_Dust[] = { - obj_frame_tiles(gFieldEffectPic_Dust_0), - obj_frame_tiles(gFieldEffectPic_Dust_1), - obj_frame_tiles(gFieldEffectPic_Dust_2) -}; - -const union AnimCmd gFieldEffectAnim_83747F0[] = { - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_Dust[] = { - gFieldEffectAnim_83747F0 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Dust, gFieldEffectPicTable_Dust, gDummySpriteAffineAnimTable, sub_81287C4}; - -const struct SpriteFrameImage gFieldEffectPicTable_JumpTallGrass[] = { - obj_frame_tiles(gFieldEffectPic_JumpTallGrass_0), - obj_frame_tiles(gFieldEffectPic_JumpTallGrass_1), - obj_frame_tiles(gFieldEffectPic_JumpTallGrass_2), - obj_frame_tiles(gFieldEffectPic_JumpTallGrass_3) -}; - -const union AnimCmd gFieldEffectAnim_837483C[] = { - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_JumpTallGrass[] = { - gFieldEffectAnim_837483C -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpTallGrass, gFieldEffectPicTable_JumpTallGrass, gDummySpriteAffineAnimTable, sub_81287C4}; - -const struct SpriteFrameImage gFieldEffectPicTable_SandFootprints[] = { - obj_frame_tiles(gFieldEffectPic_SandFootprints_0), - obj_frame_tiles(gFieldEffectPic_SandFootprints_1) -}; - -const union AnimCmd gFieldEffectAnim_837487C[] = { - ANIMCMD_FRAME(0, 1, .vFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374884[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_837488C[] = { - ANIMCMD_FRAME(1, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374894[] = { - ANIMCMD_FRAME(1, 1, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_SandFootprints[] = { - gFieldEffectAnim_837487C, - gFieldEffectAnim_837487C, - gFieldEffectAnim_8374884, - gFieldEffectAnim_837488C, - gFieldEffectAnim_8374894 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_SandFootprints, gFieldEffectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8127584}; - -const struct SpriteFrameImage gFieldEffectPicTable_DeepSandFootprints[] = { - obj_frame_tiles(gFieldEffectPic_DeepSandFootprints_0), - obj_frame_tiles(gFieldEffectPic_DeepSandFootprints_1) -}; - -const union AnimCmd gFieldEffectAnim_83748D8[] = { - ANIMCMD_FRAME(0, 1, .vFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_83748E0[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_83748E8[] = { - ANIMCMD_FRAME(1, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_83748F0[] = { - ANIMCMD_FRAME(1, 1, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_DeepSandFootprints[] = { - gFieldEffectAnim_83748D8, - gFieldEffectAnim_83748D8, - gFieldEffectAnim_83748E0, - gFieldEffectAnim_83748E8, - gFieldEffectAnim_83748F0 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_DeepSandFootprints, gFieldEffectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8127584}; - -const struct SpriteFrameImage gFieldEffectPicTable_BikeTireTracks[] = { - obj_frame_tiles(gFieldEffectPic_BikeTireTracks_0), - obj_frame_tiles(gFieldEffectPic_BikeTireTracks_1), - obj_frame_tiles(gFieldEffectPic_BikeTireTracks_2), - obj_frame_tiles(gFieldEffectPic_BikeTireTracks_3) -}; - -const union AnimCmd gFieldEffectAnim_8374944[] = { - ANIMCMD_FRAME(2, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_837494C[] = { - ANIMCMD_FRAME(2, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374954[] = { - ANIMCMD_FRAME(1, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_837495C[] = { - ANIMCMD_FRAME(1, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374964[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_837496C[] = { - ANIMCMD_FRAME(0, 1, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374974[] = { - ANIMCMD_FRAME(3, 1, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_837497C[] = { - ANIMCMD_FRAME(3, 1), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_BikeTireTracks[] = { - gFieldEffectAnim_8374944, - gFieldEffectAnim_8374944, - gFieldEffectAnim_837494C, - gFieldEffectAnim_8374954, - gFieldEffectAnim_837495C, - gFieldEffectAnim_8374964, - gFieldEffectAnim_837496C, - gFieldEffectAnim_8374974, - gFieldEffectAnim_837497C -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_BikeTireTracks, gFieldEffectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8127584}; - -const struct SpriteFrameImage gFieldEffectPicTable_JumpBigSplash[] = { - obj_frame_tiles(gFieldEffectPic_JumpBigSplash_0), - obj_frame_tiles(gFieldEffectPic_JumpBigSplash_1), - obj_frame_tiles(gFieldEffectPic_JumpBigSplash_2), - obj_frame_tiles(gFieldEffectPic_JumpBigSplash_3) -}; - -const union AnimCmd gFieldEffectAnim_83749E0[] = { - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_JumpBigSplash[] = { - gFieldEffectAnim_83749E0 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpBigSplash, gFieldEffectPicTable_JumpBigSplash, gDummySpriteAffineAnimTable, sub_81287C4}; - -const struct SpriteFrameImage gFieldEffectPicTable_Splash[] = { - obj_frame_tiles(gFieldEffectPic_Splash_0), - obj_frame_tiles(gFieldEffectPic_Splash_1) -}; - -const union AnimCmd gFieldEffectAnim_8374A20[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374A2C[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd *const gFieldEffectAnimTable_Splash[] = { - gFieldEffectAnim_8374A20, - gFieldEffectAnim_8374A2C -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Splash, gFieldEffectPicTable_Splash, gDummySpriteAffineAnimTable, sub_81276B4}; - -const struct SpriteFrameImage gFieldEffectPicTable_JumpSmallSplash[] = { - obj_frame_tiles(gFieldEffectPic_JumpSmallSplash_0), - obj_frame_tiles(gFieldEffectPic_JumpSmallSplash_1), - obj_frame_tiles(gFieldEffectPic_JumpSmallSplash_2) -}; - -const union AnimCmd gFieldEffectAnim_8374A88[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_JumpSmallSplash[] = { - gFieldEffectAnim_8374A88 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpSmallSplash, gFieldEffectPicTable_JumpSmallSplash, gDummySpriteAffineAnimTable, sub_81287C4}; - -const struct SpriteFrameImage gFieldEffectPicTable_LongGrass[] = { - obj_frame_tiles(gFieldEffectPic_LongGrass_0), - obj_frame_tiles(gFieldEffectPic_LongGrass_1), - obj_frame_tiles(gFieldEffectPic_LongGrass_2), - obj_frame_tiles(gFieldEffectPic_LongGrass_3) -}; - -const union AnimCmd gFieldEffectAnim_8374AD4[] = { - ANIMCMD_FRAME(1, 3), - ANIMCMD_FRAME(2, 3), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_LongGrass[] = { - gFieldEffectAnim_8374AD4 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_LongGrass, gFieldEffectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall}; - -const struct SpriteFrameImage gFieldEffectPicTable_JumpLongGrass[] = { - obj_frame_tiles(gFieldEffectPic_JumpLongGrass_0), - obj_frame_tiles(gFieldEffectPic_JumpLongGrass_1), - obj_frame_tiles(gFieldEffectPic_JumpLongGrass_2), - obj_frame_tiles(gFieldEffectPic_JumpLongGrass_3), - obj_frame_tiles(gFieldEffectPic_JumpLongGrass_4), - obj_frame_tiles(gFieldEffectPic_JumpLongGrass_5) -}; - -const union AnimCmd gFieldEffectAnim_8374B40[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(5, 8), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_JumpLongGrass[] = { - gFieldEffectAnim_8374B40 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpLongGrass, gFieldEffectPicTable_JumpLongGrass, gDummySpriteAffineAnimTable, sub_81287C4}; - -const struct SpriteFrameImage gFieldEffectPicTable_Unknown17[] = { - obj_frame_tiles(gFieldEffectPic_JumpLongGrass_5), - obj_frame_tiles(gFieldEffectPic_Unknown17_0), - obj_frame_tiles(gFieldEffectPic_Unknown17_1), - obj_frame_tiles(gFieldEffectPic_Unknown17_2), - obj_frame_tiles(gFieldEffectPic_Unknown17_3), - obj_frame_tiles(gFieldEffectPic_Unknown17_4), - obj_frame_tiles(gFieldEffectPic_Unknown17_5), - obj_frame_tiles(gFieldEffectPic_Unknown17_6), - obj_frame_tiles(gFieldEffectPic_Unknown17_7) -}; - -const union AnimCmd gFieldEffectAnim_8374BC0[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(7, 4), - ANIMCMD_FRAME(8, 4), - ANIMCMD_JUMP(7) -}; - -const union AnimCmd *const gFieldEffectAnimTable_Unknown17[] = { - gFieldEffectAnim_8374BC0 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown17, gFieldEffectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_8128800}; - -const struct SpriteFrameImage gFieldEffectPicTable_Unknown18[] = { - obj_frame_tiles(gFieldEffectPic_Unknown18_0), - obj_frame_tiles(gFieldEffectPic_Unknown18_1), - obj_frame_tiles(gFieldEffectPic_Unknown18_2), - obj_frame_tiles(gFieldEffectPic_Unknown18_3) -}; - -const union AnimCmd gFieldEffectAnim_8374C24[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd *const gFieldEffectAnimTable_Unknown18[] = { - gFieldEffectAnim_8374C24 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown18, gFieldEffectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_8128800}; - -const struct SpriteFrameImage gFieldEffectPicTable_Unknown19[] = { - obj_frame_tiles(gFieldEffectPic_Unknown19_0), - obj_frame_tiles(gFieldEffectPic_Unknown19_1), - obj_frame_tiles(gFieldEffectPic_Unknown19_2), - obj_frame_tiles(gFieldEffectPic_Unknown19_3) -}; - -const union AnimCmd gFieldEffectAnim_8374C7C[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd *const gFieldEffectAnimTable_Unknown19[] = { - gFieldEffectAnim_8374C7C -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown19, gFieldEffectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_8128800}; - -const struct SpriteFrameImage gFieldEffectPicTable_SandPile[] = { - obj_frame_tiles(gFieldEffectPic_SandPile_0), - obj_frame_tiles(gFieldEffectPic_SandPile_1), - obj_frame_tiles(gFieldEffectPic_SandPile_2) -}; - -const union AnimCmd gFieldEffectAnim_8374CC4[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_SandPile[] = { - gFieldEffectAnim_8374CC4 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_SandPile, gFieldEffectPicTable_SandPile, gDummySpriteAffineAnimTable, sub_81282E0}; - -const struct SpriteFrameImage gFieldEffectPicTable_Unknown20[] = { - obj_frame_tiles(gFieldEffectPic_Unknown20_0), - obj_frame_tiles(gFieldEffectPic_Unknown20_1), - obj_frame_tiles(gFieldEffectPic_Unknown20_2), - obj_frame_tiles(gFieldEffectPic_Unknown20_3) -}; - -const union AnimCmd gFieldEffectAnim_8374D10[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd *const gFieldEffectAnimTable_Unknown20[] = { - gFieldEffectAnim_8374D10 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown20, gFieldEffectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_8128800}; - -const union AffineAnimCmd gFieldEffectAffineAnim_8374D48[] = { - AFFINEANIMCMD_FRAME(0xFF00, 0x100, -128, 0), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_JUMP(1) -}; - -const union AffineAnimCmd gFieldEffectAffineAnim_8374D98[] = { - AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_JUMP(1) -}; - -const union AffineAnimCmd *const gFieldEffectAffineAnimTable_Unknown21[] = { - gFieldEffectAffineAnim_8374D48, - gFieldEffectAffineAnim_8374D98 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown21 = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectAffineAnimTable_Unknown21, SpriteCallbackDummy}; - -const struct SpriteFrameImage gFieldEffectPicTable_BerryTreeGrowthSparkle[] = { - obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_0), - obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_1), - obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_2), - obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_3), - obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_4), - obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_5) -}; - -const union AnimCmd gFieldEffectAnim_8374E38[] = { - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(5, 8), - ANIMCMD_LOOP(0), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(5, 4), - ANIMCMD_LOOP(3), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(5, 8), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_BerryTreeGrowthSparkle[] = { - gFieldEffectAnim_8374E38 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_BerryTreeGrowthSparkle, gFieldEffectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_8128800}; - -const struct SpriteFrameImage gFieldEffectPicTable_TreeDisguise[] = { - obj_frame_tiles(gFieldEffectPic_TreeDisguise_0), - obj_frame_tiles(gFieldEffectPic_TreeDisguise_1), - obj_frame_tiles(gFieldEffectPic_TreeDisguise_2), - obj_frame_tiles(gFieldEffectPic_TreeDisguise_3), - obj_frame_tiles(gFieldEffectPic_TreeDisguise_4), - obj_frame_tiles(gFieldEffectPic_TreeDisguise_5), - obj_frame_tiles(gFieldEffectPic_TreeDisguise_6) -}; - -const union AnimCmd gFieldEffectAnim_8374EE0[] = { - ANIMCMD_FRAME(0, 16), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374EE8[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_TreeDisguise[] = { - gFieldEffectAnim_8374EE0, - gFieldEffectAnim_8374EE8 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; - -const struct SpriteFrameImage gFieldEffectPicTable_MountainDisguise[] = { - obj_frame_tiles(gFieldEffectPic_MountainDisguise_0), - obj_frame_tiles(gFieldEffectPic_MountainDisguise_1), - obj_frame_tiles(gFieldEffectPic_MountainDisguise_2), - obj_frame_tiles(gFieldEffectPic_MountainDisguise_3), - obj_frame_tiles(gFieldEffectPic_MountainDisguise_4), - obj_frame_tiles(gFieldEffectPic_MountainDisguise_5), - obj_frame_tiles(gFieldEffectPic_MountainDisguise_6) -}; - -const union AnimCmd gFieldEffectAnim_8374F60[] = { - ANIMCMD_FRAME(0, 16), - ANIMCMD_END -}; - -const union AnimCmd gFieldEffectAnim_8374F68[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_MountainDisguise[] = { - gFieldEffectAnim_8374F60, - gFieldEffectAnim_8374F68 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_MountainDisguise, gFieldEffectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; - -const struct SpriteFrameImage gFieldEffectPicTable_SandDisguise[] = { - obj_frame_tiles(gFieldEffectPic_SandDisguise_0), - obj_frame_tiles(gFieldEffectPic_SandDisguise_1), - obj_frame_tiles(gFieldEffectPic_SandDisguise_2), - obj_frame_tiles(gFieldEffectPic_SandDisguise_3), - obj_frame_tiles(gFieldEffectPic_SandDisguise_4), - obj_frame_tiles(gFieldEffectPic_SandDisguise_5), - obj_frame_tiles(gFieldEffectPic_SandDisguise_6) -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_SandDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; - -const struct SpriteFrameImage gFieldEffectPicTable_Bird[] = { - obj_frame_tiles(gFieldEffectPic_Bird) -}; - -const union AnimCmd gFieldEffectAnim_8375000[] = { - ANIMCMD_FRAME(0, 1), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_Bird[] = { - gFieldEffectAnim_8375000 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Bird = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_Bird, gFieldEffectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; - -const struct SpriteFrameImage gFieldEffectPicTable_ShortGrass[] = { - obj_frame_tiles(gFieldEffectPic_ShortGrass_0), - obj_frame_tiles(gFieldEffectPic_ShortGrass_1) -}; - -const union AnimCmd gFieldEffectAnim_8375034[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_ShortGrass[] = { - gFieldEffectAnim_8375034 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_ShortGrass, gFieldEffectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8127334}; - -const struct SpriteFrameImage gFieldEffectPicTable_HotSpringsWater[] = { - obj_frame_tiles(gFieldEffectPic_HotSpringsWater) -}; - -const union AnimCmd gFieldEffectAnim_8375064[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_HotSpringsWater[] = { - gFieldEffectAnim_8375064 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_HotSpringsWater, gFieldEffectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8127A7C}; - -const struct SpriteFrameImage gFieldEffectPicTable_PopOutOfAsh[] = { - obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_0), - obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_1), - obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_2), - obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_3), - obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_4) -}; - -const union AnimCmd gFieldEffectAnim_83750B0[] = { - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(4, 6), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_PopOutOfAsh[] = { - gFieldEffectAnim_83750B0 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_PopOutOfAsh = {0xFFFF, 0x100D, &gFieldOamData_16x16, gFieldEffectAnimTable_PopOutOfAsh, gFieldEffectPicTable_PopOutOfAsh, gDummySpriteAffineAnimTable, sub_808788C}; - -const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D}; - -const struct SpriteFrameImage gFieldEffectPicTable_LavaridgeGymWarp[] = { - obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_0), - obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_1), - obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_2), - obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_3), - obj_frame_tiles(gFieldEffectPic_LavaridgeGymWarp_4) -}; - -const union AnimCmd gFieldEffectAnim_8375114[] = { - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(4, 6), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_LavaridgeGymWarp[] = { - gFieldEffectAnim_8375114 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_LavaridgeGymWarp = {0xFFFF, 0x100D, &gFieldOamData_16x16, gFieldEffectAnimTable_LavaridgeGymWarp, gFieldEffectPicTable_LavaridgeGymWarp, gDummySpriteAffineAnimTable, sub_8087638}; - -const struct SpriteFrameImage gFieldEffectPicTable_Bubbles[] = { - obj_frame_tiles(gFieldEffectPic_Bubbles_0), - obj_frame_tiles(gFieldEffectPic_Bubbles_1), - obj_frame_tiles(gFieldEffectPic_Bubbles_2), - obj_frame_tiles(gFieldEffectPic_Bubbles_3), - obj_frame_tiles(gFieldEffectPic_Bubbles_4), - obj_frame_tiles(gFieldEffectPic_Bubbles_5), - obj_frame_tiles(gFieldEffectPic_Bubbles_6), - obj_frame_tiles(gFieldEffectPic_Bubbles_7) -}; - -const union AnimCmd gFieldEffectAnim_8375188[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(4, 6), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(7, 4), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_Bubbles[] = { - gFieldEffectAnim_8375188 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles = {0xFFFF, 0x1004, &gFieldOamData_16x32, gFieldEffectAnimTable_Bubbles, gFieldEffectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8128410}; - -const struct SpriteFrameImage gFieldEffectPicTable_Sparkle[] = { - obj_frame_tiles(gFieldEffectPic_Sparkle_0), - obj_frame_tiles(gFieldEffectPic_Sparkle_1) -}; - -const union AnimCmd gFieldEffectAnim_83751D8[] = { - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_END -}; - -const union AnimCmd *const gFieldEffectAnimTable_Sparkle[] = { - gFieldEffectAnim_83751D8 -}; - -const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle = {0xFFFF, 0x100F, &gFieldOamData_16x16, gFieldEffectAnimTable_Sparkle, gFieldEffectPicTable_Sparkle, gDummySpriteAffineAnimTable, sub_8128774}; - -const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F}; - -#endif //POKERUBY_FIELD_EFFECT_OBJECTS_H diff --git a/src/data/field_map_obj/map_object_anims.h b/src/data/field_map_obj/map_object_anims.h deleted file mode 100644 index 0993f3efd..000000000 --- a/src/data/field_map_obj/map_object_anims.h +++ /dev/null @@ -1,886 +0,0 @@ -// - -// - -#ifndef POKERUBY_MAP_OBJECT_ANIMS_H -#define POKERUBY_MAP_OBJECT_ANIMS_H - - -const union AnimCmd gMapObjectImageAnim_83708C8[] = { - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83708DC[] = { - ANIMCMD_FRAME(0, 16), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83708E4[] = { - ANIMCMD_FRAME(1, 16), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83708EC[] = { - ANIMCMD_FRAME(2, 16), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83708F4[] = { - ANIMCMD_FRAME(2, 16, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83708FC[] = { - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(3, 8, .hFlip = TRUE), - ANIMCMD_FRAME(0, 8), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370910[] = { - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(4, 8, .hFlip = TRUE), - ANIMCMD_FRAME(1, 8), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370924[] = { - ANIMCMD_FRAME(5, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(6, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370938[] = { - ANIMCMD_FRAME(5, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_FRAME(6, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_837094C[] = { - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(3, 4, .hFlip = TRUE), - ANIMCMD_FRAME(0, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370960[] = { - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(4, 4, .hFlip = TRUE), - ANIMCMD_FRAME(1, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370974[] = { - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370988[] = { - ANIMCMD_FRAME(5, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(6, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_837099C[] = { - ANIMCMD_FRAME(3, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(3, 2, .hFlip = TRUE), - ANIMCMD_FRAME(0, 2), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83709B0[] = { - ANIMCMD_FRAME(4, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(4, 2, .hFlip = TRUE), - ANIMCMD_FRAME(1, 2), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83709C4[] = { - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83709D8[] = { - ANIMCMD_FRAME(5, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_FRAME(6, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_83709EC[] = { - ANIMCMD_FRAME(3, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(3, 1, .hFlip = TRUE), - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A00[] = { - ANIMCMD_FRAME(4, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(4, 1, .hFlip = TRUE), - ANIMCMD_FRAME(1, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A14[] = { - ANIMCMD_FRAME(5, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_FRAME(6, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A28[] = { - ANIMCMD_FRAME(5, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_FRAME(6, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A3C[] = { - ANIMCMD_FRAME(0, 16), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A44[] = { - ANIMCMD_FRAME(1, 16), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A4C[] = { - ANIMCMD_FRAME(2, 16), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A54[] = { - ANIMCMD_FRAME(2, 16, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A5C[] = { - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(4, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A70[] = { - ANIMCMD_FRAME(5, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(6, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A84[] = { - ANIMCMD_FRAME(7, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(8, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370A98[] = { - ANIMCMD_FRAME(7, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_FRAME(8, 8, .hFlip = TRUE), - ANIMCMD_FRAME(2, 8, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370AAC[] = { - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370AC0[] = { - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370AD4[] = { - ANIMCMD_FRAME(7, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(8, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370AE8[] = { - ANIMCMD_FRAME(7, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(8, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370AFC[] = { - ANIMCMD_FRAME(3, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(4, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B10[] = { - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(1, 2), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B24[] = { - ANIMCMD_FRAME(7, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_FRAME(8, 2), - ANIMCMD_FRAME(2, 2), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B38[] = { - ANIMCMD_FRAME(7, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_FRAME(8, 2, .hFlip = TRUE), - ANIMCMD_FRAME(2, 2, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B4C[] = { - ANIMCMD_FRAME(3, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(4, 1), - ANIMCMD_FRAME(0, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B60[] = { - ANIMCMD_FRAME(5, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_FRAME(6, 1), - ANIMCMD_FRAME(1, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B74[] = { - ANIMCMD_FRAME(7, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_FRAME(8, 1), - ANIMCMD_FRAME(2, 1), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B88[] = { - ANIMCMD_FRAME(7, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_FRAME(8, 1, .hFlip = TRUE), - ANIMCMD_FRAME(2, 1, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370B9C[] = { - ANIMCMD_FRAME(12, 5), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(13, 5), - ANIMCMD_FRAME(9, 3), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370BB0[] = { - ANIMCMD_FRAME(14, 5), - ANIMCMD_FRAME(10, 3), - ANIMCMD_FRAME(15, 5), - ANIMCMD_FRAME(10, 3), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370BC4[] = { - ANIMCMD_FRAME(16, 5), - ANIMCMD_FRAME(11, 3), - ANIMCMD_FRAME(17, 5), - ANIMCMD_FRAME(11, 3), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370BD8[] = { - ANIMCMD_FRAME(16, 5, .hFlip = TRUE), - ANIMCMD_FRAME(11, 3, .hFlip = TRUE), - ANIMCMD_FRAME(17, 5, .hFlip = TRUE), - ANIMCMD_FRAME(11, 3, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370BEC[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 8), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C04[] = { - ANIMCMD_FRAME(9, 32), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370C0C[] = { - ANIMCMD_FRAME(10, 32), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370C14[] = { - ANIMCMD_FRAME(11, 32), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370C1C[] = { - ANIMCMD_FRAME(11, 32, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370C24[] = { - ANIMCMD_FRAME(9, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C30[] = { - ANIMCMD_FRAME(13, 4), - ANIMCMD_FRAME(14, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C3C[] = { - ANIMCMD_FRAME(17, 4), - ANIMCMD_FRAME(18, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C48[] = { - ANIMCMD_FRAME(17, 4, .hFlip = TRUE), - ANIMCMD_FRAME(18, 4, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C54[] = { - ANIMCMD_FRAME(11, 4), - ANIMCMD_FRAME(12, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C60[] = { - ANIMCMD_FRAME(15, 4), - ANIMCMD_FRAME(16, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C6C[] = { - ANIMCMD_FRAME(19, 4), - ANIMCMD_FRAME(20, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C78[] = { - ANIMCMD_FRAME(19, 4, .hFlip = TRUE), - ANIMCMD_FRAME(20, 4, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C84[] = { - ANIMCMD_FRAME(9, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C90[] = { - ANIMCMD_FRAME(13, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370C9C[] = { - ANIMCMD_FRAME(17, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370CA8[] = { - ANIMCMD_FRAME(17, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370CB4[] = { - ANIMCMD_FRAME(11, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370CC0[] = { - ANIMCMD_FRAME(15, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370CCC[] = { - ANIMCMD_FRAME(19, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370CD8[] = { - ANIMCMD_FRAME(19, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370CE4[] = { - ANIMCMD_FRAME(21, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_FRAME(22, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370CF8[] = { - ANIMCMD_FRAME(23, 4), - ANIMCMD_FRAME(14, 4), - ANIMCMD_FRAME(24, 4), - ANIMCMD_FRAME(14, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370D0C[] = { - ANIMCMD_FRAME(25, 4), - ANIMCMD_FRAME(18, 4), - ANIMCMD_FRAME(26, 4), - ANIMCMD_FRAME(18, 4), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370D20[] = { - ANIMCMD_FRAME(25, 4, .hFlip = TRUE), - ANIMCMD_FRAME(18, 4, .hFlip = TRUE), - ANIMCMD_FRAME(26, 4, .hFlip = TRUE), - ANIMCMD_FRAME(18, 4, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370D34[] = { - ANIMCMD_FRAME(0, 32), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370D3C[] = { - ANIMCMD_FRAME(1, 32), - ANIMCMD_FRAME(2, 32), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370D48[] = { - ANIMCMD_FRAME(3, 48), - ANIMCMD_FRAME(4, 48), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370D54[] = { - ANIMCMD_FRAME(5, 32), - ANIMCMD_FRAME(5, 32), - ANIMCMD_FRAME(6, 32), - ANIMCMD_FRAME(6, 32), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370D68[] = { - ANIMCMD_FRAME(7, 48), - ANIMCMD_FRAME(7, 48), - ANIMCMD_FRAME(8, 48), - ANIMCMD_FRAME(8, 48), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370D7C[] = { - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(9, 32), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370D8C[] = { - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(3, 8), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370DA0[] = { - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370DB4[] = { - ANIMCMD_FRAME(8, 4), - ANIMCMD_FRAME(9, 4), - ANIMCMD_FRAME(10, 4), - ANIMCMD_FRAME(11, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370DC8[] = { - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(6, 4), - ANIMCMD_FRAME(7, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370DDC[] = { - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370DF0[] = { - ANIMCMD_FRAME(0, 4, .hFlip = TRUE), - ANIMCMD_FRAME(1, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(3, 4, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370E04[] = { - ANIMCMD_FRAME(11, 4), - ANIMCMD_FRAME(10, 6), - ANIMCMD_FRAME(9, 6), - ANIMCMD_FRAME(8, 6), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370E18[] = { - ANIMCMD_FRAME(7, 4), - ANIMCMD_FRAME(6, 6), - ANIMCMD_FRAME(5, 6), - ANIMCMD_FRAME(4, 6), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370E2C[] = { - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(2, 4), - ANIMCMD_FRAME(1, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370E40[] = { - ANIMCMD_FRAME(3, 4, .hFlip = TRUE), - ANIMCMD_FRAME(2, 4, .hFlip = TRUE), - ANIMCMD_FRAME(1, 4, .hFlip = TRUE), - ANIMCMD_FRAME(0, 4, .hFlip = TRUE), - ANIMCMD_END -}; - -const union AnimCmd gMapObjectImageAnim_8370E54[] = { - ANIMCMD_FRAME(10, 6), - ANIMCMD_FRAME(11, 6), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(11, 30), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370E68[] = { - ANIMCMD_FRAME(6, 6), - ANIMCMD_FRAME(7, 6), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(7, 30), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370E7C[] = { - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(3, 30), - ANIMCMD_JUMP(0) -}; - -const union AnimCmd gMapObjectImageAnim_8370E90[] = { - ANIMCMD_FRAME(2, 6, .hFlip = TRUE), - ANIMCMD_FRAME(3, 6, .hFlip = TRUE), - ANIMCMD_LOOP(1), - ANIMCMD_FRAME(3, 30, .hFlip = TRUE), - ANIMCMD_JUMP(0) -}; - -const union AffineAnimCmd gMapObjectRotScalAnim_8370EA4[] = { - AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_LOOP(7), - AFFINEANIMCMD_JUMP(0) -}; - -const union AffineAnimCmd gMapObjectRotScalAnim_8370ED4[] = { - AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_LOOP(15), - AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), - AFFINEANIMCMD_LOOP(15), - AFFINEANIMCMD_JUMP(0) -}; - -const union AnimCmd *const gMapObjectImageAnimTable_Inanimate[] = { - gMapObjectImageAnim_83708C8 -}; - -const union AnimCmd *const gMapObjectImageAnimTable_QuintyPlump[] = { - gMapObjectImageAnim_83708DC, - gMapObjectImageAnim_83708E4, - gMapObjectImageAnim_83708EC, - gMapObjectImageAnim_83708F4, - gMapObjectImageAnim_83708FC, - gMapObjectImageAnim_8370910, - gMapObjectImageAnim_8370924, - gMapObjectImageAnim_8370938, - gMapObjectImageAnim_837094C, - gMapObjectImageAnim_8370960, - gMapObjectImageAnim_8370974, - gMapObjectImageAnim_8370988, - gMapObjectImageAnim_837099C, - gMapObjectImageAnim_83709B0, - gMapObjectImageAnim_83709C4, - gMapObjectImageAnim_83709D8, - gMapObjectImageAnim_83709EC, - gMapObjectImageAnim_8370A00, - gMapObjectImageAnim_8370A14, - gMapObjectImageAnim_8370A28 -}; - -const union AnimCmd *const gMapObjectImageAnimTable_Standard[] = { - gMapObjectImageAnim_8370A3C, - gMapObjectImageAnim_8370A44, - gMapObjectImageAnim_8370A4C, - gMapObjectImageAnim_8370A54, - gMapObjectImageAnim_8370A5C, - gMapObjectImageAnim_8370A70, - gMapObjectImageAnim_8370A84, - gMapObjectImageAnim_8370A98, - gMapObjectImageAnim_8370AAC, - gMapObjectImageAnim_8370AC0, - gMapObjectImageAnim_8370AD4, - gMapObjectImageAnim_8370AE8, - gMapObjectImageAnim_8370AFC, - gMapObjectImageAnim_8370B10, - gMapObjectImageAnim_8370B24, - gMapObjectImageAnim_8370B38, - gMapObjectImageAnim_8370B4C, - gMapObjectImageAnim_8370B60, - gMapObjectImageAnim_8370B74, - gMapObjectImageAnim_8370B88 -}; - -const union AnimCmd *const gMapObjectImageAnimTable_BrendanMayNormal[] = { - gMapObjectImageAnim_8370A3C, - gMapObjectImageAnim_8370A44, - gMapObjectImageAnim_8370A4C, - gMapObjectImageAnim_8370A54, - gMapObjectImageAnim_8370A5C, - gMapObjectImageAnim_8370A70, - gMapObjectImageAnim_8370A84, - gMapObjectImageAnim_8370A98, - gMapObjectImageAnim_8370AAC, - gMapObjectImageAnim_8370AC0, - gMapObjectImageAnim_8370AD4, - gMapObjectImageAnim_8370AE8, - gMapObjectImageAnim_8370AFC, - gMapObjectImageAnim_8370B10, - gMapObjectImageAnim_8370B24, - gMapObjectImageAnim_8370B38, - gMapObjectImageAnim_8370B4C, - gMapObjectImageAnim_8370B60, - gMapObjectImageAnim_8370B74, - gMapObjectImageAnim_8370B88, - gMapObjectImageAnim_8370B9C, - gMapObjectImageAnim_8370BB0, - gMapObjectImageAnim_8370BC4, - gMapObjectImageAnim_8370BD8 -}; - -const union AnimCmd *const gMapObjectImageAnimTable_AcroBike[] = { - gMapObjectImageAnim_8370A3C, - gMapObjectImageAnim_8370A44, - gMapObjectImageAnim_8370A4C, - gMapObjectImageAnim_8370A54, - gMapObjectImageAnim_8370A5C, - gMapObjectImageAnim_8370A70, - gMapObjectImageAnim_8370A84, - gMapObjectImageAnim_8370A98, - gMapObjectImageAnim_8370AAC, - gMapObjectImageAnim_8370AC0, - gMapObjectImageAnim_8370AD4, - gMapObjectImageAnim_8370AE8, - gMapObjectImageAnim_8370AFC, - gMapObjectImageAnim_8370B10, - gMapObjectImageAnim_8370B24, - gMapObjectImageAnim_8370B38, - gMapObjectImageAnim_8370B4C, - gMapObjectImageAnim_8370B60, - gMapObjectImageAnim_8370B74, - gMapObjectImageAnim_8370B88, - gMapObjectImageAnim_8370C24, - gMapObjectImageAnim_8370C30, - gMapObjectImageAnim_8370C3C, - gMapObjectImageAnim_8370C48, - gMapObjectImageAnim_8370C54, - gMapObjectImageAnim_8370C60, - gMapObjectImageAnim_8370C6C, - gMapObjectImageAnim_8370C78, - gMapObjectImageAnim_8370C84, - gMapObjectImageAnim_8370C90, - gMapObjectImageAnim_8370C9C, - gMapObjectImageAnim_8370CA8, - gMapObjectImageAnim_8370CB4, - gMapObjectImageAnim_8370CC0, - gMapObjectImageAnim_8370CCC, - gMapObjectImageAnim_8370CD8, - gMapObjectImageAnim_8370CE4, - gMapObjectImageAnim_8370CF8, - gMapObjectImageAnim_8370D0C, - gMapObjectImageAnim_8370D20 -}; - -const union AnimCmd *const gMapObjectImageAnimTable_Surfing[] = { - gMapObjectImageAnim_8370A3C, - gMapObjectImageAnim_8370A44, - gMapObjectImageAnim_8370A4C, - gMapObjectImageAnim_8370A54, - gMapObjectImageAnim_8370A5C, - gMapObjectImageAnim_8370A70, - gMapObjectImageAnim_8370A84, - gMapObjectImageAnim_8370A98, - gMapObjectImageAnim_8370AAC, - gMapObjectImageAnim_8370AC0, - gMapObjectImageAnim_8370AD4, - gMapObjectImageAnim_8370AE8, - gMapObjectImageAnim_8370AFC, - gMapObjectImageAnim_8370B10, - gMapObjectImageAnim_8370B24, - gMapObjectImageAnim_8370B38, - gMapObjectImageAnim_8370B4C, - gMapObjectImageAnim_8370B60, - gMapObjectImageAnim_8370B74, - gMapObjectImageAnim_8370B88, - gMapObjectImageAnim_8370C04, - gMapObjectImageAnim_8370C0C, - gMapObjectImageAnim_8370C14, - gMapObjectImageAnim_8370C1C -}; - -const union AnimCmd *const gMapObjectImageAnimTable_Nurse[] = { - gMapObjectImageAnim_8370A3C, - gMapObjectImageAnim_8370A44, - gMapObjectImageAnim_8370A4C, - gMapObjectImageAnim_8370A54, - gMapObjectImageAnim_8370A5C, - gMapObjectImageAnim_8370A70, - gMapObjectImageAnim_8370A84, - gMapObjectImageAnim_8370A98, - gMapObjectImageAnim_8370AAC, - gMapObjectImageAnim_8370AC0, - gMapObjectImageAnim_8370AD4, - gMapObjectImageAnim_8370AE8, - gMapObjectImageAnim_8370AFC, - gMapObjectImageAnim_8370B10, - gMapObjectImageAnim_8370B24, - gMapObjectImageAnim_8370B38, - gMapObjectImageAnim_8370B4C, - gMapObjectImageAnim_8370B60, - gMapObjectImageAnim_8370B74, - gMapObjectImageAnim_8370B88, - gMapObjectImageAnim_8370D7C -}; - -const union AnimCmd *const gMapObjectImageAnimTable_FieldMove[] = { - gMapObjectImageAnim_8370BEC -}; - -const union AnimCmd *const gMapObjectImageAnimTable_BerryTree[] = { - gMapObjectImageAnim_8370D34, - gMapObjectImageAnim_8370D3C, - gMapObjectImageAnim_8370D48, - gMapObjectImageAnim_8370D54, - gMapObjectImageAnim_8370D68 -}; - -const union AnimCmd *const gMapObjectImageAnimTable_BreakableRock[] = { - gMapObjectImageAnim_83708C8, - gMapObjectImageAnim_8370D8C -}; - -const union AnimCmd *const gMapObjectImageAnimTable_CuttableTree[] = { - gMapObjectImageAnim_83708C8, - gMapObjectImageAnim_8370DA0 -}; - -const union AnimCmd *const gMapObjectImageAnimTable_Fishing[] = { - gMapObjectImageAnim_8370DB4, - gMapObjectImageAnim_8370DC8, - gMapObjectImageAnim_8370DDC, - gMapObjectImageAnim_8370DF0, - gMapObjectImageAnim_8370E04, - gMapObjectImageAnim_8370E18, - gMapObjectImageAnim_8370E2C, - gMapObjectImageAnim_8370E40, - gMapObjectImageAnim_8370E54, - gMapObjectImageAnim_8370E68, - gMapObjectImageAnim_8370E7C, - gMapObjectImageAnim_8370E90 -}; - -const union AffineAnimCmd *const gMapObjectRotScalAnimTable_KyogreGroudon[] = { - gMapObjectRotScalAnim_8370EA4, - gMapObjectRotScalAnim_8370ED4 -}; - -#endif //POKERUBY_MAP_OBJECT_ANIMS_H diff --git a/src/data/field_map_obj/map_object_graphics.h b/src/data/field_map_obj/map_object_graphics.h deleted file mode 100755 index e3eabc224..000000000 --- a/src/data/field_map_obj/map_object_graphics.h +++ /dev/null @@ -1,1319 +0,0 @@ -#ifndef POKERUBY_MAP_OBJECT_GFX_H -#define POKERUBY_MAP_OBJECT_GFX_H - -const u32 gMapObjectPic_BrendanNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/00.4bpp"); -const u32 gMapObjectPic_BrendanNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/01.4bpp"); -const u32 gMapObjectPic_BrendanNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/02.4bpp"); -const u32 gMapObjectPic_BrendanNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/03.4bpp"); -const u32 gMapObjectPic_BrendanNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/04.4bpp"); -const u32 gMapObjectPic_BrendanNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/05.4bpp"); -const u32 gMapObjectPic_BrendanNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/06.4bpp"); -const u32 gMapObjectPic_BrendanNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/07.4bpp"); -const u32 gMapObjectPic_BrendanNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/08.4bpp"); -const u32 gMapObjectPic_BrendanNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/09.4bpp"); -const u32 gMapObjectPic_BrendanNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/10.4bpp"); -const u32 gMapObjectPic_BrendanNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/11.4bpp"); -const u32 gMapObjectPic_BrendanNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/12.4bpp"); -const u32 gMapObjectPic_BrendanNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/13.4bpp"); -const u32 gMapObjectPic_BrendanNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/14.4bpp"); -const u32 gMapObjectPic_BrendanNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/15.4bpp"); -const u32 gMapObjectPic_BrendanNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/16.4bpp"); -const u32 gMapObjectPic_BrendanNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/17.4bpp"); -const u16 gMapObjectPalette8[] = INCBIN_U16("graphics/map_objects/palettes/08.gbapal"); -const u16 NullPalette_8310F68[16] = {}; -const u16 NullPalette_8310F88[16] = {}; -const u16 NullPalette_8310FA8[16] = {}; -const u16 NullPalette_8310FC8[16] = {}; -const u16 NullPalette_8310FE8[16] = {}; -const u16 NullPalette_8311008[16] = {}; -const u16 NullPalette_8311028[16] = {}; -const u16 NullPalette_8311048[16] = {}; -const u16 NullPalette_8311068[16] = {}; -const u16 NullPalette_8311088[16] = {}; -const u16 NullPalette_83110A8[16] = {}; -const u16 NullPalette_83110C8[16] = {}; -const u16 NullPalette_83110E8[16] = {}; -const u16 NullPalette_8311108[16] = {}; -const u16 NullPalette_8311128[16] = {}; -const u16 gMapObjectPalette9[] = INCBIN_U16("graphics/map_objects/palettes/09.gbapal"); -const u16 gMapObjectPalette10[] = INCBIN_U16("graphics/map_objects/palettes/10.gbapal"); -const u32 gMapObjectPic_BrendanFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/0.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/1.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/2.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/3.4bpp"); -const u32 gMapObjectPic_BrendanFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/4.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/0.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/3.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/1.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/4.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/2.4bpp"); -const u32 gMapObjectPic_BrendanSurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/5.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/0.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/1.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/2.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/3.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/4.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/5.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/6.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/7.4bpp"); -const u32 gMapObjectPic_BrendanMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/8.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/00.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/01.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/02.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/03.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/04.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/05.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/06.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/07.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/08.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/09.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/10.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/11.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/12.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/13.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/14.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/15.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/16.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/17.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/18.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/19.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/20.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/21.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/22.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/23.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/24.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/25.4bpp"); -const u32 gMapObjectPic_BrendanAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/26.4bpp"); -const u32 gMapObjectPic_BrendanFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/00.4bpp"); -const u32 gMapObjectPic_BrendanFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/01.4bpp"); -const u32 gMapObjectPic_BrendanFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/02.4bpp"); -const u32 gMapObjectPic_BrendanFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/03.4bpp"); -const u32 gMapObjectPic_BrendanFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/04.4bpp"); -const u32 gMapObjectPic_BrendanFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/05.4bpp"); -const u32 gMapObjectPic_BrendanFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/06.4bpp"); -const u32 gMapObjectPic_BrendanFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/07.4bpp"); -const u32 gMapObjectPic_BrendanFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/08.4bpp"); -const u32 gMapObjectPic_BrendanFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/09.4bpp"); -const u32 gMapObjectPic_BrendanFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/10.4bpp"); -const u32 gMapObjectPic_BrendanFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/11.4bpp"); -const u32 gMapObjectPic_BrendanWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/0.4bpp"); -const u32 gMapObjectPic_BrendanWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/3.4bpp"); -const u32 gMapObjectPic_BrendanWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/1.4bpp"); -const u32 gMapObjectPic_BrendanWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/4.4bpp"); -const u32 gMapObjectPic_BrendanWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/2.4bpp"); -const u32 gMapObjectPic_BrendanWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/5.4bpp"); -const u32 gMapObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/decorating.4bpp"); -const u32 gMapObjectPic_MayDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/may/decorating.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/0.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/1.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/2.4bpp"); -const u32 gMapObjectPic_BrendanUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/3.4bpp"); -const u32 gMapObjectPic_MayUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/0.4bpp"); -const u32 gMapObjectPic_MayUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/1.4bpp"); -const u32 gMapObjectPic_MayUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/2.4bpp"); -const u32 gMapObjectPic_MayUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/3.4bpp"); -const u16 gMapObjectPalette11[] = INCBIN_U16("graphics/map_objects/palettes/11.gbapal"); -const u32 gMapObjectPic_MayNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/00.4bpp"); -const u32 gMapObjectPic_MayNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/01.4bpp"); -const u32 gMapObjectPic_MayNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/02.4bpp"); -const u32 gMapObjectPic_MayNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/03.4bpp"); -const u32 gMapObjectPic_MayNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/04.4bpp"); -const u32 gMapObjectPic_MayNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/05.4bpp"); -const u32 gMapObjectPic_MayNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/06.4bpp"); -const u32 gMapObjectPic_MayNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/07.4bpp"); -const u32 gMapObjectPic_MayNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/08.4bpp"); -const u32 gMapObjectPic_MayNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/09.4bpp"); -const u32 gMapObjectPic_MayNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/10.4bpp"); -const u32 gMapObjectPic_MayNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/11.4bpp"); -const u32 gMapObjectPic_MayNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/12.4bpp"); -const u32 gMapObjectPic_MayNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/13.4bpp"); -const u32 gMapObjectPic_MayNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/14.4bpp"); -const u32 gMapObjectPic_MayNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/15.4bpp"); -const u32 gMapObjectPic_MayNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/16.4bpp"); -const u32 gMapObjectPic_MayNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/17.4bpp"); -const u16 gMapObjectPalette17[] = INCBIN_U16("graphics/map_objects/palettes/17.gbapal"); -const u16 gMapObjectPalette18[] = INCBIN_U16("graphics/map_objects/palettes/18.gbapal"); -const u16 NullPalette_831B7E8[16] = {}; -const u16 NullPalette_831B808[16] = {}; -const u16 NullPalette_831B828[16] = {}; -const u16 NullPalette_831B848[16] = {}; -const u16 NullPalette_831B868[16] = {}; -const u16 NullPalette_831B888[16] = {}; -const u16 NullPalette_831B8A8[16] = {}; -const u16 NullPalette_831B8C8[16] = {}; -const u16 NullPalette_831B8E8[16] = {}; -const u16 NullPalette_831B908[16] = {}; -const u16 NullPalette_831B928[16] = {}; -const u16 NullPalette_831B948[16] = {}; -const u16 NullPalette_831B968[16] = {}; -const u16 NullPalette_831B988[16] = {}; -const u32 gMapObjectPic_MayMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/0.4bpp"); -const u32 gMapObjectPic_MayMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/1.4bpp"); -const u32 gMapObjectPic_MayMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/2.4bpp"); -const u32 gMapObjectPic_MayMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/3.4bpp"); -const u32 gMapObjectPic_MayMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/4.4bpp"); -const u32 gMapObjectPic_MayMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/5.4bpp"); -const u32 gMapObjectPic_MayMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/6.4bpp"); -const u32 gMapObjectPic_MayMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/7.4bpp"); -const u32 gMapObjectPic_MayMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/8.4bpp"); -const u32 gMapObjectPic_MayAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/00.4bpp"); -const u32 gMapObjectPic_MayAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/01.4bpp"); -const u32 gMapObjectPic_MayAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/02.4bpp"); -const u32 gMapObjectPic_MayAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/03.4bpp"); -const u32 gMapObjectPic_MayAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/04.4bpp"); -const u32 gMapObjectPic_MayAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/05.4bpp"); -const u32 gMapObjectPic_MayAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/06.4bpp"); -const u32 gMapObjectPic_MayAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/07.4bpp"); -const u32 gMapObjectPic_MayAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/08.4bpp"); -const u32 gMapObjectPic_MayAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/09.4bpp"); -const u32 gMapObjectPic_MayAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/10.4bpp"); -const u32 gMapObjectPic_MayAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/11.4bpp"); -const u32 gMapObjectPic_MayAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/12.4bpp"); -const u32 gMapObjectPic_MayAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/13.4bpp"); -const u32 gMapObjectPic_MayAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/14.4bpp"); -const u32 gMapObjectPic_MayAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/15.4bpp"); -const u32 gMapObjectPic_MayAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/16.4bpp"); -const u32 gMapObjectPic_MayAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/17.4bpp"); -const u32 gMapObjectPic_MayAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/18.4bpp"); -const u32 gMapObjectPic_MayAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/19.4bpp"); -const u32 gMapObjectPic_MayAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/20.4bpp"); -const u32 gMapObjectPic_MayAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/21.4bpp"); -const u32 gMapObjectPic_MayAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/22.4bpp"); -const u32 gMapObjectPic_MayAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/23.4bpp"); -const u32 gMapObjectPic_MayAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/24.4bpp"); -const u32 gMapObjectPic_MayAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/25.4bpp"); -const u32 gMapObjectPic_MayAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/26.4bpp"); -const u32 gMapObjectPic_MaySurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/0.4bpp"); -const u32 gMapObjectPic_MaySurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/3.4bpp"); -const u32 gMapObjectPic_MaySurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/1.4bpp"); -const u32 gMapObjectPic_MaySurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/4.4bpp"); -const u32 gMapObjectPic_MaySurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/2.4bpp"); -const u32 gMapObjectPic_MaySurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/5.4bpp"); -const u32 gMapObjectPic_MayFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/0.4bpp"); -const u32 gMapObjectPic_MayFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/1.4bpp"); -const u32 gMapObjectPic_MayFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/2.4bpp"); -const u32 gMapObjectPic_MayFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/3.4bpp"); -const u32 gMapObjectPic_MayFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/4.4bpp"); -const u32 gMapObjectPic_MayFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/00.4bpp"); -const u32 gMapObjectPic_MayFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/01.4bpp"); -const u32 gMapObjectPic_MayFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/02.4bpp"); -const u32 gMapObjectPic_MayFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/03.4bpp"); -const u32 gMapObjectPic_MayFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/04.4bpp"); -const u32 gMapObjectPic_MayFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/05.4bpp"); -const u32 gMapObjectPic_MayFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/06.4bpp"); -const u32 gMapObjectPic_MayFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/07.4bpp"); -const u32 gMapObjectPic_MayFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/08.4bpp"); -const u32 gMapObjectPic_MayFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/09.4bpp"); -const u32 gMapObjectPic_MayFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/10.4bpp"); -const u32 gMapObjectPic_MayFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/11.4bpp"); -const u32 gMapObjectPic_MayWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/0.4bpp"); -const u32 gMapObjectPic_MayWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/3.4bpp"); -const u32 gMapObjectPic_MayWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/1.4bpp"); -const u32 gMapObjectPic_MayWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/4.4bpp"); -const u32 gMapObjectPic_MayWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/2.4bpp"); -const u32 gMapObjectPic_MayWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/5.4bpp"); -const u16 gMapObjectPalette0[] = INCBIN_U16("graphics/map_objects/palettes/00.gbapal"); -const u16 gMapObjectPalette1[] = INCBIN_U16("graphics/map_objects/palettes/01.gbapal"); -const u16 gMapObjectPalette2[] = INCBIN_U16("graphics/map_objects/palettes/02.gbapal"); -const u16 gMapObjectPalette3[] = INCBIN_U16("graphics/map_objects/palettes/03.gbapal"); -const u16 gMapObjectPalette4[] = INCBIN_U16("graphics/map_objects/palettes/04.gbapal"); -const u16 gMapObjectPalette5[] = INCBIN_U16("graphics/map_objects/palettes/05.gbapal"); -const u16 gMapObjectPalette6[] = INCBIN_U16("graphics/map_objects/palettes/06.gbapal"); -const u16 gMapObjectPalette7[] = INCBIN_U16("graphics/map_objects/palettes/07.gbapal"); -const u32 gMapObjectPic_LittleBoy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/0.4bpp"); -const u32 gMapObjectPic_LittleBoy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/1.4bpp"); -const u32 gMapObjectPic_LittleBoy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/2.4bpp"); -const u32 gMapObjectPic_LittleBoy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/3.4bpp"); -const u32 gMapObjectPic_LittleBoy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/4.4bpp"); -const u32 gMapObjectPic_LittleBoy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/5.4bpp"); -const u32 gMapObjectPic_LittleBoy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/6.4bpp"); -const u32 gMapObjectPic_LittleBoy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/7.4bpp"); -const u32 gMapObjectPic_LittleBoy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/8.4bpp"); -const u32 gMapObjectPic_LittleGirl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/0.4bpp"); -const u32 gMapObjectPic_LittleGirl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/1.4bpp"); -const u32 gMapObjectPic_LittleGirl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/2.4bpp"); -const u32 gMapObjectPic_LittleGirl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/3.4bpp"); -const u32 gMapObjectPic_LittleGirl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/4.4bpp"); -const u32 gMapObjectPic_LittleGirl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/5.4bpp"); -const u32 gMapObjectPic_LittleGirl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/6.4bpp"); -const u32 gMapObjectPic_LittleGirl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/7.4bpp"); -const u32 gMapObjectPic_LittleGirl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/8.4bpp"); -const u32 gMapObjectPic_Boy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/0.4bpp"); -const u32 gMapObjectPic_Boy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/1.4bpp"); -const u32 gMapObjectPic_Boy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/2.4bpp"); -const u32 gMapObjectPic_Boy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/3.4bpp"); -const u32 gMapObjectPic_Boy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/4.4bpp"); -const u32 gMapObjectPic_Boy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/5.4bpp"); -const u32 gMapObjectPic_Boy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/6.4bpp"); -const u32 gMapObjectPic_Boy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/7.4bpp"); -const u32 gMapObjectPic_Boy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/8.4bpp"); -const u32 gMapObjectPic_Girl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/0.4bpp"); -const u32 gMapObjectPic_Girl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/1.4bpp"); -const u32 gMapObjectPic_Girl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/2.4bpp"); -const u32 gMapObjectPic_Girl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/3.4bpp"); -const u32 gMapObjectPic_Girl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/4.4bpp"); -const u32 gMapObjectPic_Girl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/5.4bpp"); -const u32 gMapObjectPic_Girl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/6.4bpp"); -const u32 gMapObjectPic_Girl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/7.4bpp"); -const u32 gMapObjectPic_Girl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/8.4bpp"); -const u32 gMapObjectPic_Boy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/0.4bpp"); -const u32 gMapObjectPic_Boy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/1.4bpp"); -const u32 gMapObjectPic_Boy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/2.4bpp"); -const u32 gMapObjectPic_Boy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/3.4bpp"); -const u32 gMapObjectPic_Boy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/4.4bpp"); -const u32 gMapObjectPic_Boy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/5.4bpp"); -const u32 gMapObjectPic_Boy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/6.4bpp"); -const u32 gMapObjectPic_Boy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/7.4bpp"); -const u32 gMapObjectPic_Boy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/8.4bpp"); -const u32 gMapObjectPic_Girl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/0.4bpp"); -const u32 gMapObjectPic_Girl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/1.4bpp"); -const u32 gMapObjectPic_Girl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/2.4bpp"); -const u32 gMapObjectPic_Girl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/3.4bpp"); -const u32 gMapObjectPic_Girl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/4.4bpp"); -const u32 gMapObjectPic_Girl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/5.4bpp"); -const u32 gMapObjectPic_Girl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/6.4bpp"); -const u32 gMapObjectPic_Girl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/7.4bpp"); -const u32 gMapObjectPic_Girl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/8.4bpp"); -const u32 gMapObjectPic_LittleBoy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/0.4bpp"); -const u32 gMapObjectPic_LittleBoy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/1.4bpp"); -const u32 gMapObjectPic_LittleBoy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/2.4bpp"); -const u32 gMapObjectPic_LittleBoy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/3.4bpp"); -const u32 gMapObjectPic_LittleBoy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/4.4bpp"); -const u32 gMapObjectPic_LittleBoy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/5.4bpp"); -const u32 gMapObjectPic_LittleBoy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/6.4bpp"); -const u32 gMapObjectPic_LittleBoy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/7.4bpp"); -const u32 gMapObjectPic_LittleBoy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/8.4bpp"); -const u32 gMapObjectPic_LittleGirl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/0.4bpp"); -const u32 gMapObjectPic_LittleGirl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/1.4bpp"); -const u32 gMapObjectPic_LittleGirl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/2.4bpp"); -const u32 gMapObjectPic_LittleGirl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/3.4bpp"); -const u32 gMapObjectPic_LittleGirl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/4.4bpp"); -const u32 gMapObjectPic_LittleGirl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/5.4bpp"); -const u32 gMapObjectPic_LittleGirl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/6.4bpp"); -const u32 gMapObjectPic_LittleGirl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/7.4bpp"); -const u32 gMapObjectPic_LittleGirl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/8.4bpp"); -const u32 gMapObjectPic_Boy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/0.4bpp"); -const u32 gMapObjectPic_Boy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/1.4bpp"); -const u32 gMapObjectPic_Boy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/2.4bpp"); -const u32 gMapObjectPic_Boy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/3.4bpp"); -const u32 gMapObjectPic_Boy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/4.4bpp"); -const u32 gMapObjectPic_Boy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/5.4bpp"); -const u32 gMapObjectPic_Boy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/6.4bpp"); -const u32 gMapObjectPic_Boy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/7.4bpp"); -const u32 gMapObjectPic_Boy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/8.4bpp"); -const u32 gMapObjectPic_Girl3_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/0.4bpp"); -const u32 gMapObjectPic_Girl3_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/1.4bpp"); -const u32 gMapObjectPic_Girl3_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/2.4bpp"); -const u32 gMapObjectPic_Girl3_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/3.4bpp"); -const u32 gMapObjectPic_Girl3_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/4.4bpp"); -const u32 gMapObjectPic_Girl3_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/5.4bpp"); -const u32 gMapObjectPic_Girl3_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/6.4bpp"); -const u32 gMapObjectPic_Girl3_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/7.4bpp"); -const u32 gMapObjectPic_Girl3_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/8.4bpp"); -const u32 gMapObjectPic_Boy4_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/0.4bpp"); -const u32 gMapObjectPic_Boy4_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/1.4bpp"); -const u32 gMapObjectPic_Boy4_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/2.4bpp"); -const u32 gMapObjectPic_Boy4_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/3.4bpp"); -const u32 gMapObjectPic_Boy4_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/4.4bpp"); -const u32 gMapObjectPic_Boy4_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/5.4bpp"); -const u32 gMapObjectPic_Boy4_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/6.4bpp"); -const u32 gMapObjectPic_Boy4_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/7.4bpp"); -const u32 gMapObjectPic_Boy4_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/8.4bpp"); -const u32 gMapObjectPic_Woman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/0.4bpp"); -const u32 gMapObjectPic_Woman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/1.4bpp"); -const u32 gMapObjectPic_Woman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/2.4bpp"); -const u32 gMapObjectPic_Woman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/3.4bpp"); -const u32 gMapObjectPic_Woman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/4.4bpp"); -const u32 gMapObjectPic_Woman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/5.4bpp"); -const u32 gMapObjectPic_Woman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/6.4bpp"); -const u32 gMapObjectPic_Woman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/7.4bpp"); -const u32 gMapObjectPic_Woman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/8.4bpp"); -const u32 gMapObjectPic_FatMan_0[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/0.4bpp"); -const u32 gMapObjectPic_FatMan_1[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/1.4bpp"); -const u32 gMapObjectPic_FatMan_2[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/2.4bpp"); -const u32 gMapObjectPic_FatMan_3[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/3.4bpp"); -const u32 gMapObjectPic_FatMan_4[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/4.4bpp"); -const u32 gMapObjectPic_FatMan_5[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/5.4bpp"); -const u32 gMapObjectPic_FatMan_6[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/6.4bpp"); -const u32 gMapObjectPic_FatMan_7[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/7.4bpp"); -const u32 gMapObjectPic_FatMan_8[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/8.4bpp"); -const u32 gMapObjectPic_Woman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/0.4bpp"); -const u32 gMapObjectPic_Woman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/1.4bpp"); -const u32 gMapObjectPic_Woman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/2.4bpp"); -const u32 gMapObjectPic_Woman2_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/3.4bpp"); -const u32 gMapObjectPic_Woman2_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/4.4bpp"); -const u32 gMapObjectPic_Woman2_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/5.4bpp"); -const u32 gMapObjectPic_Woman2_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/6.4bpp"); -const u32 gMapObjectPic_Woman2_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/7.4bpp"); -const u32 gMapObjectPic_Woman2_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/8.4bpp"); -const u32 gMapObjectPic_Man1_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/0.4bpp"); -const u32 gMapObjectPic_Man1_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/1.4bpp"); -const u32 gMapObjectPic_Man1_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/2.4bpp"); -const u32 gMapObjectPic_Man1_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/3.4bpp"); -const u32 gMapObjectPic_Man1_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/4.4bpp"); -const u32 gMapObjectPic_Man1_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/5.4bpp"); -const u32 gMapObjectPic_Man1_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/6.4bpp"); -const u32 gMapObjectPic_Man1_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/7.4bpp"); -const u32 gMapObjectPic_Man1_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/8.4bpp"); -const u32 gMapObjectPic_Woman3_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/0.4bpp"); -const u32 gMapObjectPic_Woman3_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/1.4bpp"); -const u32 gMapObjectPic_Woman3_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/2.4bpp"); -const u32 gMapObjectPic_Woman3_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/3.4bpp"); -const u32 gMapObjectPic_Woman3_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/4.4bpp"); -const u32 gMapObjectPic_Woman3_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/5.4bpp"); -const u32 gMapObjectPic_Woman3_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/6.4bpp"); -const u32 gMapObjectPic_Woman3_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/7.4bpp"); -const u32 gMapObjectPic_Woman3_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/8.4bpp"); -const u32 gMapObjectPic_OldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/0.4bpp"); -const u32 gMapObjectPic_OldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/1.4bpp"); -const u32 gMapObjectPic_OldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/2.4bpp"); -const u32 gMapObjectPic_OldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/3.4bpp"); -const u32 gMapObjectPic_OldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/4.4bpp"); -const u32 gMapObjectPic_OldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/5.4bpp"); -const u32 gMapObjectPic_OldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/6.4bpp"); -const u32 gMapObjectPic_OldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/7.4bpp"); -const u32 gMapObjectPic_OldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/8.4bpp"); -const u32 gMapObjectPic_OldWoman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/0.4bpp"); -const u32 gMapObjectPic_OldWoman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/1.4bpp"); -const u32 gMapObjectPic_OldWoman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/2.4bpp"); -const u32 gMapObjectPic_OldWoman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/3.4bpp"); -const u32 gMapObjectPic_OldWoman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/4.4bpp"); -const u32 gMapObjectPic_OldWoman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/5.4bpp"); -const u32 gMapObjectPic_OldWoman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/6.4bpp"); -const u32 gMapObjectPic_OldWoman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/7.4bpp"); -const u32 gMapObjectPic_OldWoman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/8.4bpp"); -const u32 gMapObjectPic_Man2_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/0.4bpp"); -const u32 gMapObjectPic_Man2_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/1.4bpp"); -const u32 gMapObjectPic_Man2_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/2.4bpp"); -const u32 gMapObjectPic_Man2_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/3.4bpp"); -const u32 gMapObjectPic_Man2_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/4.4bpp"); -const u32 gMapObjectPic_Man2_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/5.4bpp"); -const u32 gMapObjectPic_Man2_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/6.4bpp"); -const u32 gMapObjectPic_Man2_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/7.4bpp"); -const u32 gMapObjectPic_Man2_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/8.4bpp"); -const u32 gMapObjectPic_Woman4_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/0.4bpp"); -const u32 gMapObjectPic_Woman4_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/1.4bpp"); -const u32 gMapObjectPic_Woman4_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/2.4bpp"); -const u32 gMapObjectPic_Woman4_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/3.4bpp"); -const u32 gMapObjectPic_Woman4_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/4.4bpp"); -const u32 gMapObjectPic_Woman4_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/5.4bpp"); -const u32 gMapObjectPic_Woman4_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/6.4bpp"); -const u32 gMapObjectPic_Woman4_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/7.4bpp"); -const u32 gMapObjectPic_Woman4_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/8.4bpp"); -const u32 gMapObjectPic_Man3_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/0.4bpp"); -const u32 gMapObjectPic_Man3_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/1.4bpp"); -const u32 gMapObjectPic_Man3_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/2.4bpp"); -const u32 gMapObjectPic_Man3_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/3.4bpp"); -const u32 gMapObjectPic_Man3_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/4.4bpp"); -const u32 gMapObjectPic_Man3_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/5.4bpp"); -const u32 gMapObjectPic_Man3_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/6.4bpp"); -const u32 gMapObjectPic_Man3_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/7.4bpp"); -const u32 gMapObjectPic_Man3_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/8.4bpp"); -const u32 gMapObjectPic_Woman5_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/0.4bpp"); -const u32 gMapObjectPic_Woman5_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/1.4bpp"); -const u32 gMapObjectPic_Woman5_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/2.4bpp"); -const u32 gMapObjectPic_Woman5_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/3.4bpp"); -const u32 gMapObjectPic_Woman5_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/4.4bpp"); -const u32 gMapObjectPic_Woman5_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/5.4bpp"); -const u32 gMapObjectPic_Woman5_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/6.4bpp"); -const u32 gMapObjectPic_Woman5_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/7.4bpp"); -const u32 gMapObjectPic_Woman5_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/8.4bpp"); -const u32 gMapObjectPic_Cook_0[] = INCBIN_U32("graphics/map_objects/pics/people/cook/0.4bpp"); -const u32 gMapObjectPic_Cook_1[] = INCBIN_U32("graphics/map_objects/pics/people/cook/1.4bpp"); -const u32 gMapObjectPic_Cook_2[] = INCBIN_U32("graphics/map_objects/pics/people/cook/2.4bpp"); -const u32 gMapObjectPic_Woman6_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/0.4bpp"); -const u32 gMapObjectPic_Woman6_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/1.4bpp"); -const u32 gMapObjectPic_Woman6_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/2.4bpp"); -const u32 gMapObjectPic_Woman6_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/3.4bpp"); -const u32 gMapObjectPic_Woman6_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/4.4bpp"); -const u32 gMapObjectPic_Woman6_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/5.4bpp"); -const u32 gMapObjectPic_Woman6_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/6.4bpp"); -const u32 gMapObjectPic_Woman6_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/7.4bpp"); -const u32 gMapObjectPic_Woman6_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/8.4bpp"); -const u32 gMapObjectPic_OldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/0.4bpp"); -const u32 gMapObjectPic_OldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/1.4bpp"); -const u32 gMapObjectPic_OldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/2.4bpp"); -const u32 gMapObjectPic_OldWoman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/0.4bpp"); -const u32 gMapObjectPic_OldWoman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/1.4bpp"); -const u32 gMapObjectPic_OldWoman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/2.4bpp"); -const u32 gMapObjectPic_Camper_0[] = INCBIN_U32("graphics/map_objects/pics/people/camper/0.4bpp"); -const u32 gMapObjectPic_Camper_1[] = INCBIN_U32("graphics/map_objects/pics/people/camper/1.4bpp"); -const u32 gMapObjectPic_Camper_2[] = INCBIN_U32("graphics/map_objects/pics/people/camper/2.4bpp"); -const u32 gMapObjectPic_Camper_3[] = INCBIN_U32("graphics/map_objects/pics/people/camper/3.4bpp"); -const u32 gMapObjectPic_Camper_4[] = INCBIN_U32("graphics/map_objects/pics/people/camper/4.4bpp"); -const u32 gMapObjectPic_Camper_5[] = INCBIN_U32("graphics/map_objects/pics/people/camper/5.4bpp"); -const u32 gMapObjectPic_Camper_6[] = INCBIN_U32("graphics/map_objects/pics/people/camper/6.4bpp"); -const u32 gMapObjectPic_Camper_7[] = INCBIN_U32("graphics/map_objects/pics/people/camper/7.4bpp"); -const u32 gMapObjectPic_Camper_8[] = INCBIN_U32("graphics/map_objects/pics/people/camper/8.4bpp"); -const u32 gMapObjectPic_Picnicker_0[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/0.4bpp"); -const u32 gMapObjectPic_Picnicker_1[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/1.4bpp"); -const u32 gMapObjectPic_Picnicker_2[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/2.4bpp"); -const u32 gMapObjectPic_Picnicker_3[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/3.4bpp"); -const u32 gMapObjectPic_Picnicker_4[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/4.4bpp"); -const u32 gMapObjectPic_Picnicker_5[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/5.4bpp"); -const u32 gMapObjectPic_Picnicker_6[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/6.4bpp"); -const u32 gMapObjectPic_Picnicker_7[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/7.4bpp"); -const u32 gMapObjectPic_Picnicker_8[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/8.4bpp"); -const u32 gMapObjectPic_Man4_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/0.4bpp"); -const u32 gMapObjectPic_Man4_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/1.4bpp"); -const u32 gMapObjectPic_Man4_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/2.4bpp"); -const u32 gMapObjectPic_Man4_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/3.4bpp"); -const u32 gMapObjectPic_Man4_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/4.4bpp"); -const u32 gMapObjectPic_Man4_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/5.4bpp"); -const u32 gMapObjectPic_Man4_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/6.4bpp"); -const u32 gMapObjectPic_Man4_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/7.4bpp"); -const u32 gMapObjectPic_Man4_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/8.4bpp"); -const u32 gMapObjectPic_Woman7_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/0.4bpp"); -const u32 gMapObjectPic_Woman7_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/1.4bpp"); -const u32 gMapObjectPic_Woman7_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/2.4bpp"); -const u32 gMapObjectPic_Woman7_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/3.4bpp"); -const u32 gMapObjectPic_Woman7_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/4.4bpp"); -const u32 gMapObjectPic_Woman7_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/5.4bpp"); -const u32 gMapObjectPic_Woman7_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/6.4bpp"); -const u32 gMapObjectPic_Woman7_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/7.4bpp"); -const u32 gMapObjectPic_Woman7_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/8.4bpp"); -const u32 gMapObjectPic_Youngster_0[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/0.4bpp"); -const u32 gMapObjectPic_Youngster_1[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/1.4bpp"); -const u32 gMapObjectPic_Youngster_2[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/2.4bpp"); -const u32 gMapObjectPic_Youngster_3[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/3.4bpp"); -const u32 gMapObjectPic_Youngster_4[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/4.4bpp"); -const u32 gMapObjectPic_Youngster_5[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/5.4bpp"); -const u32 gMapObjectPic_Youngster_6[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/6.4bpp"); -const u32 gMapObjectPic_Youngster_7[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/7.4bpp"); -const u32 gMapObjectPic_Youngster_8[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/8.4bpp"); -const u32 gMapObjectPic_BugCatcher_0[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/0.4bpp"); -const u32 gMapObjectPic_BugCatcher_1[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/1.4bpp"); -const u32 gMapObjectPic_BugCatcher_2[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/2.4bpp"); -const u32 gMapObjectPic_BugCatcher_3[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/3.4bpp"); -const u32 gMapObjectPic_BugCatcher_4[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/4.4bpp"); -const u32 gMapObjectPic_BugCatcher_5[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/5.4bpp"); -const u32 gMapObjectPic_BugCatcher_6[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/6.4bpp"); -const u32 gMapObjectPic_BugCatcher_7[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/7.4bpp"); -const u32 gMapObjectPic_BugCatcher_8[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/8.4bpp"); -const u32 gMapObjectPic_PsychicM_0[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/0.4bpp"); -const u32 gMapObjectPic_PsychicM_1[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/1.4bpp"); -const u32 gMapObjectPic_PsychicM_2[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/2.4bpp"); -const u32 gMapObjectPic_PsychicM_3[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/3.4bpp"); -const u32 gMapObjectPic_PsychicM_4[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/4.4bpp"); -const u32 gMapObjectPic_PsychicM_5[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/5.4bpp"); -const u32 gMapObjectPic_PsychicM_6[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/6.4bpp"); -const u32 gMapObjectPic_PsychicM_7[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/7.4bpp"); -const u32 gMapObjectPic_PsychicM_8[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/8.4bpp"); -const u32 gMapObjectPic_SchoolKidM_0[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/0.4bpp"); -const u32 gMapObjectPic_SchoolKidM_1[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/1.4bpp"); -const u32 gMapObjectPic_SchoolKidM_2[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/2.4bpp"); -const u32 gMapObjectPic_SchoolKidM_3[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/3.4bpp"); -const u32 gMapObjectPic_SchoolKidM_4[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/4.4bpp"); -const u32 gMapObjectPic_SchoolKidM_5[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/5.4bpp"); -const u32 gMapObjectPic_SchoolKidM_6[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/6.4bpp"); -const u32 gMapObjectPic_SchoolKidM_7[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/7.4bpp"); -const u32 gMapObjectPic_SchoolKidM_8[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/8.4bpp"); -const u32 gMapObjectPic_Maniac_0[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/0.4bpp"); -const u32 gMapObjectPic_Maniac_1[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/1.4bpp"); -const u32 gMapObjectPic_Maniac_2[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/2.4bpp"); -const u32 gMapObjectPic_Maniac_3[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/3.4bpp"); -const u32 gMapObjectPic_Maniac_4[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/4.4bpp"); -const u32 gMapObjectPic_Maniac_5[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/5.4bpp"); -const u32 gMapObjectPic_Maniac_6[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/6.4bpp"); -const u32 gMapObjectPic_Maniac_7[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/7.4bpp"); -const u32 gMapObjectPic_Maniac_8[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/8.4bpp"); -const u32 gMapObjectPic_HexManiac_0[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/0.4bpp"); -const u32 gMapObjectPic_HexManiac_1[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/1.4bpp"); -const u32 gMapObjectPic_HexManiac_2[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/2.4bpp"); -const u32 gMapObjectPic_HexManiac_3[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/3.4bpp"); -const u32 gMapObjectPic_HexManiac_4[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/4.4bpp"); -const u32 gMapObjectPic_HexManiac_5[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/5.4bpp"); -const u32 gMapObjectPic_HexManiac_6[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/6.4bpp"); -const u32 gMapObjectPic_HexManiac_7[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/7.4bpp"); -const u32 gMapObjectPic_HexManiac_8[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/8.4bpp"); -const u32 gMapObjectPic_Woman8_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/0.4bpp"); -const u32 gMapObjectPic_Woman8_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/1.4bpp"); -const u32 gMapObjectPic_Woman8_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/2.4bpp"); -const u32 gMapObjectPic_Woman8_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/3.4bpp"); -const u32 gMapObjectPic_Woman8_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/4.4bpp"); -const u32 gMapObjectPic_Woman8_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/5.4bpp"); -const u32 gMapObjectPic_Woman8_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/6.4bpp"); -const u32 gMapObjectPic_Woman8_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/7.4bpp"); -const u32 gMapObjectPic_Woman8_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_8/8.4bpp"); -const u32 gMapObjectPic_SwimmerM_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/0.4bpp"); -const u32 gMapObjectPic_SwimmerM_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/1.4bpp"); -const u32 gMapObjectPic_SwimmerM_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/2.4bpp"); -const u32 gMapObjectPic_SwimmerM_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/3.4bpp"); -const u32 gMapObjectPic_SwimmerM_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/4.4bpp"); -const u32 gMapObjectPic_SwimmerM_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/5.4bpp"); -const u32 gMapObjectPic_SwimmerM_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/6.4bpp"); -const u32 gMapObjectPic_SwimmerM_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/7.4bpp"); -const u32 gMapObjectPic_SwimmerM_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/8.4bpp"); -const u32 gMapObjectPic_SwimmerF_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/0.4bpp"); -const u32 gMapObjectPic_SwimmerF_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/1.4bpp"); -const u32 gMapObjectPic_SwimmerF_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/2.4bpp"); -const u32 gMapObjectPic_SwimmerF_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/3.4bpp"); -const u32 gMapObjectPic_SwimmerF_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/4.4bpp"); -const u32 gMapObjectPic_SwimmerF_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/5.4bpp"); -const u32 gMapObjectPic_SwimmerF_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/6.4bpp"); -const u32 gMapObjectPic_SwimmerF_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/7.4bpp"); -const u32 gMapObjectPic_SwimmerF_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/8.4bpp"); -const u32 gMapObjectPic_BlackBelt_0[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/0.4bpp"); -const u32 gMapObjectPic_BlackBelt_1[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/1.4bpp"); -const u32 gMapObjectPic_BlackBelt_2[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/2.4bpp"); -const u32 gMapObjectPic_BlackBelt_3[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/3.4bpp"); -const u32 gMapObjectPic_BlackBelt_4[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/4.4bpp"); -const u32 gMapObjectPic_BlackBelt_5[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/5.4bpp"); -const u32 gMapObjectPic_BlackBelt_6[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/6.4bpp"); -const u32 gMapObjectPic_BlackBelt_7[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/7.4bpp"); -const u32 gMapObjectPic_BlackBelt_8[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/8.4bpp"); -const u32 gMapObjectPic_Beauty_0[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/0.4bpp"); -const u32 gMapObjectPic_Beauty_1[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/1.4bpp"); -const u32 gMapObjectPic_Beauty_2[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/2.4bpp"); -const u32 gMapObjectPic_Beauty_3[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/3.4bpp"); -const u32 gMapObjectPic_Beauty_4[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/4.4bpp"); -const u32 gMapObjectPic_Beauty_5[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/5.4bpp"); -const u32 gMapObjectPic_Beauty_6[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/6.4bpp"); -const u32 gMapObjectPic_Beauty_7[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/7.4bpp"); -const u32 gMapObjectPic_Beauty_8[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/8.4bpp"); -const u32 gMapObjectPic_Scientist1_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/0.4bpp"); -const u32 gMapObjectPic_Scientist1_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/1.4bpp"); -const u32 gMapObjectPic_Scientist1_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/2.4bpp"); -const u32 gMapObjectPic_Scientist1_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/3.4bpp"); -const u32 gMapObjectPic_Scientist1_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/4.4bpp"); -const u32 gMapObjectPic_Scientist1_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/5.4bpp"); -const u32 gMapObjectPic_Scientist1_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/6.4bpp"); -const u32 gMapObjectPic_Scientist1_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/7.4bpp"); -const u32 gMapObjectPic_Scientist1_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/8.4bpp"); -const u32 gMapObjectPic_Lass_0[] = INCBIN_U32("graphics/map_objects/pics/people/lass/0.4bpp"); -const u32 gMapObjectPic_Lass_1[] = INCBIN_U32("graphics/map_objects/pics/people/lass/1.4bpp"); -const u32 gMapObjectPic_Lass_2[] = INCBIN_U32("graphics/map_objects/pics/people/lass/2.4bpp"); -const u32 gMapObjectPic_Lass_3[] = INCBIN_U32("graphics/map_objects/pics/people/lass/3.4bpp"); -const u32 gMapObjectPic_Lass_4[] = INCBIN_U32("graphics/map_objects/pics/people/lass/4.4bpp"); -const u32 gMapObjectPic_Lass_5[] = INCBIN_U32("graphics/map_objects/pics/people/lass/5.4bpp"); -const u32 gMapObjectPic_Lass_6[] = INCBIN_U32("graphics/map_objects/pics/people/lass/6.4bpp"); -const u32 gMapObjectPic_Lass_7[] = INCBIN_U32("graphics/map_objects/pics/people/lass/7.4bpp"); -const u32 gMapObjectPic_Lass_8[] = INCBIN_U32("graphics/map_objects/pics/people/lass/8.4bpp"); -const u32 gMapObjectPic_Gentleman_0[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/0.4bpp"); -const u32 gMapObjectPic_Gentleman_1[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/1.4bpp"); -const u32 gMapObjectPic_Gentleman_2[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/2.4bpp"); -const u32 gMapObjectPic_Gentleman_3[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/3.4bpp"); -const u32 gMapObjectPic_Gentleman_4[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/4.4bpp"); -const u32 gMapObjectPic_Gentleman_5[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/5.4bpp"); -const u32 gMapObjectPic_Gentleman_6[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/6.4bpp"); -const u32 gMapObjectPic_Gentleman_7[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/7.4bpp"); -const u32 gMapObjectPic_Gentleman_8[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/8.4bpp"); -const u32 gMapObjectPic_Sailor_0[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/0.4bpp"); -const u32 gMapObjectPic_Sailor_1[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/1.4bpp"); -const u32 gMapObjectPic_Sailor_2[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/2.4bpp"); -const u32 gMapObjectPic_Sailor_3[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/3.4bpp"); -const u32 gMapObjectPic_Sailor_4[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/4.4bpp"); -const u32 gMapObjectPic_Sailor_5[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/5.4bpp"); -const u32 gMapObjectPic_Sailor_6[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/6.4bpp"); -const u32 gMapObjectPic_Sailor_7[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/7.4bpp"); -const u32 gMapObjectPic_Sailor_8[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/8.4bpp"); -const u32 gMapObjectPic_Fisherman_0[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/0.4bpp"); -const u32 gMapObjectPic_Fisherman_1[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/1.4bpp"); -const u32 gMapObjectPic_Fisherman_2[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/2.4bpp"); -const u32 gMapObjectPic_Fisherman_3[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/3.4bpp"); -const u32 gMapObjectPic_Fisherman_4[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/4.4bpp"); -const u32 gMapObjectPic_Fisherman_5[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/5.4bpp"); -const u32 gMapObjectPic_Fisherman_6[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/6.4bpp"); -const u32 gMapObjectPic_Fisherman_7[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/7.4bpp"); -const u32 gMapObjectPic_Fisherman_8[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/8.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/0.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/1.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/2.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/3.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/4.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/5.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/6.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/7.4bpp"); -const u32 gMapObjectPic_RunningTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/8.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/0.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/1.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/2.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/3.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/4.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/5.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/6.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/7.4bpp"); -const u32 gMapObjectPic_RunningTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/8.4bpp"); -const u32 gMapObjectPic_TuberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/0.4bpp"); -const u32 gMapObjectPic_TuberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/1.4bpp"); -const u32 gMapObjectPic_TuberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/2.4bpp"); -const u32 gMapObjectPic_TuberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/3.4bpp"); -const u32 gMapObjectPic_TuberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/4.4bpp"); -const u32 gMapObjectPic_TuberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/5.4bpp"); -const u32 gMapObjectPic_TuberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/6.4bpp"); -const u32 gMapObjectPic_TuberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/7.4bpp"); -const u32 gMapObjectPic_TuberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/8.4bpp"); -const u32 gMapObjectPic_TuberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/0.4bpp"); -const u32 gMapObjectPic_TuberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/1.4bpp"); -const u32 gMapObjectPic_TuberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/2.4bpp"); -const u32 gMapObjectPic_TuberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/3.4bpp"); -const u32 gMapObjectPic_TuberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/4.4bpp"); -const u32 gMapObjectPic_TuberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/5.4bpp"); -const u32 gMapObjectPic_TuberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/6.4bpp"); -const u32 gMapObjectPic_TuberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/7.4bpp"); -const u32 gMapObjectPic_TuberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/8.4bpp"); -const u32 gMapObjectPic_Hiker_0[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/0.4bpp"); -const u32 gMapObjectPic_Hiker_1[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/1.4bpp"); -const u32 gMapObjectPic_Hiker_2[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/2.4bpp"); -const u32 gMapObjectPic_Hiker_3[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/3.4bpp"); -const u32 gMapObjectPic_Hiker_4[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/4.4bpp"); -const u32 gMapObjectPic_Hiker_5[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/5.4bpp"); -const u32 gMapObjectPic_Hiker_6[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/6.4bpp"); -const u32 gMapObjectPic_Hiker_7[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/7.4bpp"); -const u32 gMapObjectPic_Hiker_8[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/8.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/0.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/1.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/2.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/3.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/4.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/5.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/6.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/7.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/8.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/0.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/1.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/2.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/3.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/4.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/5.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/6.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/7.4bpp"); -const u32 gMapObjectPic_CyclingTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/8.4bpp"); -const u32 gMapObjectPic_Man5_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/0.4bpp"); -const u32 gMapObjectPic_Man5_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/1.4bpp"); -const u32 gMapObjectPic_Man5_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/2.4bpp"); -const u32 gMapObjectPic_Man5_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/3.4bpp"); -const u32 gMapObjectPic_Man5_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/4.4bpp"); -const u32 gMapObjectPic_Man5_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/5.4bpp"); -const u32 gMapObjectPic_Man5_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/6.4bpp"); -const u32 gMapObjectPic_Man5_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/7.4bpp"); -const u32 gMapObjectPic_Man5_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/8.4bpp"); -const u32 gMapObjectPic_Man6_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/0.4bpp"); -const u32 gMapObjectPic_Man6_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/1.4bpp"); -const u32 gMapObjectPic_Man6_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/2.4bpp"); -const u32 gMapObjectPic_Man6_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/3.4bpp"); -const u32 gMapObjectPic_Man6_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/4.4bpp"); -const u32 gMapObjectPic_Man6_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/5.4bpp"); -const u32 gMapObjectPic_Man6_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/6.4bpp"); -const u32 gMapObjectPic_Man6_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/7.4bpp"); -const u32 gMapObjectPic_Man6_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/8.4bpp"); -const u32 gMapObjectPic_Nurse_0[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/0.4bpp"); -const u32 gMapObjectPic_Nurse_1[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/1.4bpp"); -const u32 gMapObjectPic_Nurse_2[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/2.4bpp"); -const u32 gMapObjectPic_Nurse_3[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/3.4bpp"); -const u32 gMapObjectPic_Nurse_4[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/4.4bpp"); -const u32 gMapObjectPic_Nurse_5[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/5.4bpp"); -const u32 gMapObjectPic_Nurse_6[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/6.4bpp"); -const u32 gMapObjectPic_Nurse_7[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/7.4bpp"); -const u32 gMapObjectPic_Nurse_8[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/8.4bpp"); -const u32 gMapObjectPic_Nurse_9[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/9.4bpp"); -const u32 gMapObjectPic_ItemBall[] = INCBIN_U32("graphics/map_objects/pics/misc/item_ball.4bpp"); -const u32 gMapObjectPic_ProfBirch_0[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/0.4bpp"); -const u32 gMapObjectPic_ProfBirch_1[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/1.4bpp"); -const u32 gMapObjectPic_ProfBirch_2[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/2.4bpp"); -const u32 gMapObjectPic_ProfBirch_3[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/3.4bpp"); -const u32 gMapObjectPic_ProfBirch_4[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/4.4bpp"); -const u32 gMapObjectPic_ProfBirch_5[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/5.4bpp"); -const u32 gMapObjectPic_ProfBirch_6[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/6.4bpp"); -const u32 gMapObjectPic_ProfBirch_7[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/7.4bpp"); -const u32 gMapObjectPic_ProfBirch_8[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/8.4bpp"); -const u32 gMapObjectPic_ReporterM_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/0.4bpp"); -const u32 gMapObjectPic_ReporterM_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/1.4bpp"); -const u32 gMapObjectPic_ReporterM_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/2.4bpp"); -const u32 gMapObjectPic_ReporterM_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/3.4bpp"); -const u32 gMapObjectPic_ReporterM_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/4.4bpp"); -const u32 gMapObjectPic_ReporterM_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/5.4bpp"); -const u32 gMapObjectPic_ReporterM_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/6.4bpp"); -const u32 gMapObjectPic_ReporterM_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/7.4bpp"); -const u32 gMapObjectPic_ReporterM_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/8.4bpp"); -const u32 gMapObjectPic_ReporterF_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/0.4bpp"); -const u32 gMapObjectPic_ReporterF_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/1.4bpp"); -const u32 gMapObjectPic_ReporterF_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/2.4bpp"); -const u32 gMapObjectPic_ReporterF_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/3.4bpp"); -const u32 gMapObjectPic_ReporterF_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/4.4bpp"); -const u32 gMapObjectPic_ReporterF_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/5.4bpp"); -const u32 gMapObjectPic_ReporterF_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/6.4bpp"); -const u32 gMapObjectPic_ReporterF_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/7.4bpp"); -const u32 gMapObjectPic_ReporterF_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/8.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/0.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/1.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/2.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/3.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/4.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/5.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/6.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/7.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/8.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/0.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/1.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/2.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/3.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/4.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/5.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/6.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/7.4bpp"); -const u32 gMapObjectPic_MauvilleOldMan2_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/8.4bpp"); -const u32 gMapObjectPic_MartEmployee_0[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/0.4bpp"); -const u32 gMapObjectPic_MartEmployee_1[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/1.4bpp"); -const u32 gMapObjectPic_MartEmployee_2[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/2.4bpp"); -const u32 gMapObjectPic_MartEmployee_3[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/3.4bpp"); -const u32 gMapObjectPic_MartEmployee_4[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/4.4bpp"); -const u32 gMapObjectPic_MartEmployee_5[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/5.4bpp"); -const u32 gMapObjectPic_MartEmployee_6[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/6.4bpp"); -const u32 gMapObjectPic_MartEmployee_7[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/7.4bpp"); -const u32 gMapObjectPic_MartEmployee_8[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/8.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/0.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/1.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/2.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/3.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/4.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/5.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/6.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/7.4bpp"); -const u32 gMapObjectPic_RooftopSaleWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/8.4bpp"); -const u32 gMapObjectPic_Teala_0[] = INCBIN_U32("graphics/map_objects/pics/people/teala/0.4bpp"); -const u32 gMapObjectPic_Teala_1[] = INCBIN_U32("graphics/map_objects/pics/people/teala/1.4bpp"); -const u32 gMapObjectPic_Teala_2[] = INCBIN_U32("graphics/map_objects/pics/people/teala/2.4bpp"); -const u32 gMapObjectPic_Teala_3[] = INCBIN_U32("graphics/map_objects/pics/people/teala/3.4bpp"); -const u32 gMapObjectPic_Teala_4[] = INCBIN_U32("graphics/map_objects/pics/people/teala/4.4bpp"); -const u32 gMapObjectPic_Teala_5[] = INCBIN_U32("graphics/map_objects/pics/people/teala/5.4bpp"); -const u32 gMapObjectPic_Teala_6[] = INCBIN_U32("graphics/map_objects/pics/people/teala/6.4bpp"); -const u32 gMapObjectPic_Teala_7[] = INCBIN_U32("graphics/map_objects/pics/people/teala/7.4bpp"); -const u32 gMapObjectPic_Teala_8[] = INCBIN_U32("graphics/map_objects/pics/people/teala/8.4bpp"); -const u32 gMapObjectPic_Artist_0[] = INCBIN_U32("graphics/map_objects/pics/people/artist/0.4bpp"); -const u32 gMapObjectPic_Artist_1[] = INCBIN_U32("graphics/map_objects/pics/people/artist/1.4bpp"); -const u32 gMapObjectPic_Artist_2[] = INCBIN_U32("graphics/map_objects/pics/people/artist/2.4bpp"); -const u32 gMapObjectPic_Artist_3[] = INCBIN_U32("graphics/map_objects/pics/people/artist/3.4bpp"); -const u32 gMapObjectPic_Artist_4[] = INCBIN_U32("graphics/map_objects/pics/people/artist/4.4bpp"); -const u32 gMapObjectPic_Artist_5[] = INCBIN_U32("graphics/map_objects/pics/people/artist/5.4bpp"); -const u32 gMapObjectPic_Artist_6[] = INCBIN_U32("graphics/map_objects/pics/people/artist/6.4bpp"); -const u32 gMapObjectPic_Artist_7[] = INCBIN_U32("graphics/map_objects/pics/people/artist/7.4bpp"); -const u32 gMapObjectPic_Artist_8[] = INCBIN_U32("graphics/map_objects/pics/people/artist/8.4bpp"); -const u32 gMapObjectPic_Cameraman_0[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/0.4bpp"); -const u32 gMapObjectPic_Cameraman_1[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/1.4bpp"); -const u32 gMapObjectPic_Cameraman_2[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/2.4bpp"); -const u32 gMapObjectPic_Cameraman_3[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/3.4bpp"); -const u32 gMapObjectPic_Cameraman_4[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/4.4bpp"); -const u32 gMapObjectPic_Cameraman_5[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/5.4bpp"); -const u32 gMapObjectPic_Cameraman_6[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/6.4bpp"); -const u32 gMapObjectPic_Cameraman_7[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/7.4bpp"); -const u32 gMapObjectPic_Cameraman_8[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/8.4bpp"); -const u32 gMapObjectPic_Scientist2_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/0.4bpp"); -const u32 gMapObjectPic_Scientist2_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/1.4bpp"); -const u32 gMapObjectPic_Scientist2_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/2.4bpp"); -const u32 gMapObjectPic_Scientist2_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/3.4bpp"); -const u32 gMapObjectPic_Scientist2_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/4.4bpp"); -const u32 gMapObjectPic_Scientist2_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/5.4bpp"); -const u32 gMapObjectPic_Scientist2_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/6.4bpp"); -const u32 gMapObjectPic_Scientist2_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/7.4bpp"); -const u32 gMapObjectPic_Scientist2_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/8.4bpp"); -const u32 gMapObjectPic_Man7_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/0.4bpp"); -const u32 gMapObjectPic_Man7_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/1.4bpp"); -const u32 gMapObjectPic_Man7_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/2.4bpp"); -const u32 gMapObjectPic_Man7_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/3.4bpp"); -const u32 gMapObjectPic_Man7_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/4.4bpp"); -const u32 gMapObjectPic_Man7_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/5.4bpp"); -const u32 gMapObjectPic_Man7_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/6.4bpp"); -const u32 gMapObjectPic_Man7_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/7.4bpp"); -const u32 gMapObjectPic_Man7_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/8.4bpp"); -const u32 gMapObjectPic_AquaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/0.4bpp"); -const u32 gMapObjectPic_AquaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/1.4bpp"); -const u32 gMapObjectPic_AquaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/2.4bpp"); -const u32 gMapObjectPic_AquaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/3.4bpp"); -const u32 gMapObjectPic_AquaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/4.4bpp"); -const u32 gMapObjectPic_AquaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/5.4bpp"); -const u32 gMapObjectPic_AquaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/6.4bpp"); -const u32 gMapObjectPic_AquaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/7.4bpp"); -const u32 gMapObjectPic_AquaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/8.4bpp"); -const u32 gMapObjectPic_AquaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/0.4bpp"); -const u32 gMapObjectPic_AquaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/1.4bpp"); -const u32 gMapObjectPic_AquaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/2.4bpp"); -const u32 gMapObjectPic_AquaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/3.4bpp"); -const u32 gMapObjectPic_AquaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/4.4bpp"); -const u32 gMapObjectPic_AquaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/5.4bpp"); -const u32 gMapObjectPic_AquaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/6.4bpp"); -const u32 gMapObjectPic_AquaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/7.4bpp"); -const u32 gMapObjectPic_AquaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/8.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/0.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/1.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/2.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/3.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/4.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/5.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/6.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/7.4bpp"); -const u32 gMapObjectPic_MagmaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/8.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/0.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/1.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/2.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/3.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/4.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/5.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/6.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/7.4bpp"); -const u32 gMapObjectPic_MagmaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/8.4bpp"); -const u32 gMapObjectPic_Sidney_0[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/0.4bpp"); -const u32 gMapObjectPic_Sidney_1[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/1.4bpp"); -const u32 gMapObjectPic_Sidney_2[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/2.4bpp"); -const u32 gMapObjectPic_Phoebe_0[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/0.4bpp"); -const u32 gMapObjectPic_Phoebe_1[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/1.4bpp"); -const u32 gMapObjectPic_Phoebe_2[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/2.4bpp"); -const u32 gMapObjectPic_Glacia_0[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/0.4bpp"); -const u32 gMapObjectPic_Glacia_1[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/1.4bpp"); -const u32 gMapObjectPic_Glacia_2[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/2.4bpp"); -const u32 gMapObjectPic_Drake_0[] = INCBIN_U32("graphics/map_objects/pics/people/drake/0.4bpp"); -const u32 gMapObjectPic_Drake_1[] = INCBIN_U32("graphics/map_objects/pics/people/drake/1.4bpp"); -const u32 gMapObjectPic_Drake_2[] = INCBIN_U32("graphics/map_objects/pics/people/drake/2.4bpp"); -const u32 gMapObjectPic_Roxanne_0[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/0.4bpp"); -const u32 gMapObjectPic_Roxanne_1[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/1.4bpp"); -const u32 gMapObjectPic_Roxanne_2[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/2.4bpp"); -const u32 gMapObjectPic_Brawly_0[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/0.4bpp"); -const u32 gMapObjectPic_Brawly_1[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/1.4bpp"); -const u32 gMapObjectPic_Brawly_2[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/2.4bpp"); -const u32 gMapObjectPic_Wattson_0[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/0.4bpp"); -const u32 gMapObjectPic_Wattson_1[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/1.4bpp"); -const u32 gMapObjectPic_Wattson_2[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/2.4bpp"); -const u32 gMapObjectPic_Flannery_0[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/0.4bpp"); -const u32 gMapObjectPic_Flannery_1[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/1.4bpp"); -const u32 gMapObjectPic_Flannery_2[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/2.4bpp"); -const u32 gMapObjectPic_Norman_0[] = INCBIN_U32("graphics/map_objects/pics/people/norman/0.4bpp"); -const u32 gMapObjectPic_Norman_1[] = INCBIN_U32("graphics/map_objects/pics/people/norman/1.4bpp"); -const u32 gMapObjectPic_Norman_2[] = INCBIN_U32("graphics/map_objects/pics/people/norman/2.4bpp"); -const u32 gMapObjectPic_Norman_3[] = INCBIN_U32("graphics/map_objects/pics/people/norman/3.4bpp"); -const u32 gMapObjectPic_Norman_4[] = INCBIN_U32("graphics/map_objects/pics/people/norman/4.4bpp"); -const u32 gMapObjectPic_Norman_5[] = INCBIN_U32("graphics/map_objects/pics/people/norman/5.4bpp"); -const u32 gMapObjectPic_Norman_6[] = INCBIN_U32("graphics/map_objects/pics/people/norman/6.4bpp"); -const u32 gMapObjectPic_Norman_7[] = INCBIN_U32("graphics/map_objects/pics/people/norman/7.4bpp"); -const u32 gMapObjectPic_Norman_8[] = INCBIN_U32("graphics/map_objects/pics/people/norman/8.4bpp"); -const u32 gMapObjectPic_Winona_0[] = INCBIN_U32("graphics/map_objects/pics/people/winona/0.4bpp"); -const u32 gMapObjectPic_Winona_1[] = INCBIN_U32("graphics/map_objects/pics/people/winona/1.4bpp"); -const u32 gMapObjectPic_Winona_2[] = INCBIN_U32("graphics/map_objects/pics/people/winona/2.4bpp"); -const u32 gMapObjectPic_Liza_0[] = INCBIN_U32("graphics/map_objects/pics/people/liza/0.4bpp"); -const u32 gMapObjectPic_Liza_1[] = INCBIN_U32("graphics/map_objects/pics/people/liza/1.4bpp"); -const u32 gMapObjectPic_Liza_2[] = INCBIN_U32("graphics/map_objects/pics/people/liza/2.4bpp"); -const u32 gMapObjectPic_Tate_0[] = INCBIN_U32("graphics/map_objects/pics/people/tate/0.4bpp"); -const u32 gMapObjectPic_Tate_1[] = INCBIN_U32("graphics/map_objects/pics/people/tate/1.4bpp"); -const u32 gMapObjectPic_Tate_2[] = INCBIN_U32("graphics/map_objects/pics/people/tate/2.4bpp"); -const u32 gMapObjectPic_Wallace_0[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/0.4bpp"); -const u32 gMapObjectPic_Wallace_1[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/1.4bpp"); -const u32 gMapObjectPic_Wallace_2[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/2.4bpp"); -const u32 gMapObjectPic_Wallace_3[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/3.4bpp"); -const u32 gMapObjectPic_Wallace_4[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/4.4bpp"); -const u32 gMapObjectPic_Wallace_5[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/5.4bpp"); -const u32 gMapObjectPic_Wallace_6[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/6.4bpp"); -const u32 gMapObjectPic_Wallace_7[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/7.4bpp"); -const u32 gMapObjectPic_Wallace_8[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/8.4bpp"); -const u32 gMapObjectPic_Steven_0[] = INCBIN_U32("graphics/map_objects/pics/people/steven/0.4bpp"); -const u32 gMapObjectPic_Steven_1[] = INCBIN_U32("graphics/map_objects/pics/people/steven/1.4bpp"); -const u32 gMapObjectPic_Steven_2[] = INCBIN_U32("graphics/map_objects/pics/people/steven/2.4bpp"); -const u32 gMapObjectPic_Steven_3[] = INCBIN_U32("graphics/map_objects/pics/people/steven/3.4bpp"); -const u32 gMapObjectPic_Steven_4[] = INCBIN_U32("graphics/map_objects/pics/people/steven/4.4bpp"); -const u32 gMapObjectPic_Steven_5[] = INCBIN_U32("graphics/map_objects/pics/people/steven/5.4bpp"); -const u32 gMapObjectPic_Steven_6[] = INCBIN_U32("graphics/map_objects/pics/people/steven/6.4bpp"); -const u32 gMapObjectPic_Steven_7[] = INCBIN_U32("graphics/map_objects/pics/people/steven/7.4bpp"); -const u32 gMapObjectPic_Steven_8[] = INCBIN_U32("graphics/map_objects/pics/people/steven/8.4bpp"); -const u32 gMapObjectPic_Wally_0[] = INCBIN_U32("graphics/map_objects/pics/people/wally/0.4bpp"); -const u32 gMapObjectPic_Wally_1[] = INCBIN_U32("graphics/map_objects/pics/people/wally/1.4bpp"); -const u32 gMapObjectPic_Wally_2[] = INCBIN_U32("graphics/map_objects/pics/people/wally/2.4bpp"); -const u32 gMapObjectPic_Wally_3[] = INCBIN_U32("graphics/map_objects/pics/people/wally/3.4bpp"); -const u32 gMapObjectPic_Wally_4[] = INCBIN_U32("graphics/map_objects/pics/people/wally/4.4bpp"); -const u32 gMapObjectPic_Wally_5[] = INCBIN_U32("graphics/map_objects/pics/people/wally/5.4bpp"); -const u32 gMapObjectPic_Wally_6[] = INCBIN_U32("graphics/map_objects/pics/people/wally/6.4bpp"); -const u32 gMapObjectPic_Wally_7[] = INCBIN_U32("graphics/map_objects/pics/people/wally/7.4bpp"); -const u32 gMapObjectPic_Wally_8[] = INCBIN_U32("graphics/map_objects/pics/people/wally/8.4bpp"); -const u32 gMapObjectPic_LittleBoy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/0.4bpp"); -const u32 gMapObjectPic_LittleBoy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/1.4bpp"); -const u32 gMapObjectPic_LittleBoy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/2.4bpp"); -const u32 gMapObjectPic_LittleBoy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/3.4bpp"); -const u32 gMapObjectPic_LittleBoy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/4.4bpp"); -const u32 gMapObjectPic_LittleBoy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/5.4bpp"); -const u32 gMapObjectPic_LittleBoy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/6.4bpp"); -const u32 gMapObjectPic_LittleBoy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/7.4bpp"); -const u32 gMapObjectPic_LittleBoy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_3/8.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/0.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/1.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/2.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/3.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/4.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/5.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/6.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/7.4bpp"); -const u32 gMapObjectPic_HotSpringsOldWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/8.4bpp"); -const u32 gMapObjectPic_LatiasLatios_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/0.4bpp"); -const u32 gMapObjectPic_LatiasLatios_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/1.4bpp"); -const u32 gMapObjectPic_LatiasLatios_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/2.4bpp"); -const u32 gMapObjectPic_Boy5_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/0.4bpp"); -const u32 gMapObjectPic_Boy5_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/1.4bpp"); -const u32 gMapObjectPic_Boy5_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/2.4bpp"); -const u32 gMapObjectPic_ContestJudge_0[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/0.4bpp"); -const u32 gMapObjectPic_ContestJudge_1[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/1.4bpp"); -const u32 gMapObjectPic_ContestJudge_2[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/2.4bpp"); -const u32 gMapObjectPic_ContestJudge_3[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/3.4bpp"); -const u32 gMapObjectPic_ContestJudge_4[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/4.4bpp"); -const u32 gMapObjectPic_ContestJudge_5[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/5.4bpp"); -const u32 gMapObjectPic_ContestJudge_6[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/6.4bpp"); -const u32 gMapObjectPic_ContestJudge_7[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/7.4bpp"); -const u32 gMapObjectPic_ContestJudge_8[] = INCBIN_U32("graphics/map_objects/pics/people/contest_judge/8.4bpp"); -const u32 gMapObjectPic_Archie_0[] = INCBIN_U32("graphics/map_objects/pics/people/archie/0.4bpp"); -const u32 gMapObjectPic_Archie_1[] = INCBIN_U32("graphics/map_objects/pics/people/archie/1.4bpp"); -const u32 gMapObjectPic_Archie_2[] = INCBIN_U32("graphics/map_objects/pics/people/archie/2.4bpp"); -const u32 gMapObjectPic_Archie_3[] = INCBIN_U32("graphics/map_objects/pics/people/archie/3.4bpp"); -const u32 gMapObjectPic_Archie_4[] = INCBIN_U32("graphics/map_objects/pics/people/archie/4.4bpp"); -const u32 gMapObjectPic_Archie_5[] = INCBIN_U32("graphics/map_objects/pics/people/archie/5.4bpp"); -const u32 gMapObjectPic_Archie_6[] = INCBIN_U32("graphics/map_objects/pics/people/archie/6.4bpp"); -const u32 gMapObjectPic_Archie_7[] = INCBIN_U32("graphics/map_objects/pics/people/archie/7.4bpp"); -const u32 gMapObjectPic_Archie_8[] = INCBIN_U32("graphics/map_objects/pics/people/archie/8.4bpp"); -const u32 gMapObjectPic_Maxie_0[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/0.4bpp"); -const u32 gMapObjectPic_Maxie_1[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/1.4bpp"); -const u32 gMapObjectPic_Maxie_2[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/2.4bpp"); -const u32 gMapObjectPic_Maxie_3[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/3.4bpp"); -const u32 gMapObjectPic_Maxie_4[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/4.4bpp"); -const u32 gMapObjectPic_Maxie_5[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/5.4bpp"); -const u32 gMapObjectPic_Maxie_6[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/6.4bpp"); -const u32 gMapObjectPic_Maxie_7[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/7.4bpp"); -const u32 gMapObjectPic_Maxie_8[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/8.4bpp"); -const u32 gMapObjectPic_Kyogre_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre/0.4bpp"); -const u32 gMapObjectPic_Kyogre_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre/1.4bpp"); -const u32 gMapObjectPic_Groudon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon/0.4bpp"); -const u32 gMapObjectPic_Groudon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon/1.4bpp"); -const u32 gMapObjectPic_Regi[] = INCBIN_U32("graphics/map_objects/pics/pokemon/regi.4bpp"); -const u32 gMapObjectPic_Skitty_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/0.4bpp"); -const u32 gMapObjectPic_Skitty_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/1.4bpp"); -const u32 gMapObjectPic_Skitty_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/2.4bpp"); -const u32 gMapObjectPic_Kecleon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/0.4bpp"); -const u32 gMapObjectPic_Kecleon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/1.4bpp"); -const u32 gMapObjectPic_Kecleon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/2.4bpp"); -const u32 gMapObjectPic_Rayquaza_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/0.4bpp"); -const u32 gMapObjectPic_Rayquaza_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/1.4bpp"); -const u32 gMapObjectPic_Zigzagoon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/0.4bpp"); -const u32 gMapObjectPic_Zigzagoon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/1.4bpp"); -const u32 gMapObjectPic_Zigzagoon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/2.4bpp"); -const u32 gMapObjectPic_Pikachu_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/0.4bpp"); -const u32 gMapObjectPic_Pikachu_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/1.4bpp"); -const u32 gMapObjectPic_Pikachu_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/2.4bpp"); -const u32 gMapObjectPic_Azumarill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/0.4bpp"); -const u32 gMapObjectPic_Azumarill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/1.4bpp"); -const u32 gMapObjectPic_Azumarill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/2.4bpp"); -const u32 gMapObjectPic_Wingull_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/0.4bpp"); -const u32 gMapObjectPic_Wingull_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/3.4bpp"); -const u32 gMapObjectPic_Wingull_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/1.4bpp"); -const u32 gMapObjectPic_Wingull_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/4.4bpp"); -const u32 gMapObjectPic_Wingull_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/2.4bpp"); -const u32 gMapObjectPic_Wingull_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/5.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/0.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/1.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/2.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/3.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/4.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/5.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/6.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/7.4bpp"); -const u32 gMapObjectPic_TuberMSwimming_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/8.4bpp"); -const u32 gMapObjectPic_Azurill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/0.4bpp"); -const u32 gMapObjectPic_Azurill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/1.4bpp"); -const u32 gMapObjectPic_Azurill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/2.4bpp"); -const u32 gMapObjectPic_Mom_0[] = INCBIN_U32("graphics/map_objects/pics/people/mom/0.4bpp"); -const u32 gMapObjectPic_Mom_1[] = INCBIN_U32("graphics/map_objects/pics/people/mom/1.4bpp"); -const u32 gMapObjectPic_Mom_2[] = INCBIN_U32("graphics/map_objects/pics/people/mom/2.4bpp"); -const u32 gMapObjectPic_Mom_3[] = INCBIN_U32("graphics/map_objects/pics/people/mom/3.4bpp"); -const u32 gMapObjectPic_Mom_4[] = INCBIN_U32("graphics/map_objects/pics/people/mom/4.4bpp"); -const u32 gMapObjectPic_Mom_5[] = INCBIN_U32("graphics/map_objects/pics/people/mom/5.4bpp"); -const u32 gMapObjectPic_Mom_6[] = INCBIN_U32("graphics/map_objects/pics/people/mom/6.4bpp"); -const u32 gMapObjectPic_Mom_7[] = INCBIN_U32("graphics/map_objects/pics/people/mom/7.4bpp"); -const u32 gMapObjectPic_Mom_8[] = INCBIN_U32("graphics/map_objects/pics/people/mom/8.4bpp"); -const u16 gMapObjectPalette22[] = INCBIN_U16("graphics/map_objects/palettes/22.gbapal"); -const u16 gMapObjectPalette23[] = INCBIN_U16("graphics/map_objects/palettes/23.gbapal"); -const u16 gMapObjectPalette24[] = INCBIN_U16("graphics/map_objects/palettes/24.gbapal"); -const u16 gMapObjectPalette25[] = INCBIN_U16("graphics/map_objects/palettes/25.gbapal"); -const u32 gMapObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_natu_doll.4bpp"); -const u32 gMapObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_magnemite_doll.4bpp"); -const u32 gMapObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_squirtle_doll.4bpp"); -const u32 gMapObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_wooper_doll.4bpp"); -const u32 gMapObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_pikachu_doll.4bpp"); -const u32 gMapObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_porygon2_doll.4bpp"); -const u32 gMapObjectPic_PichuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pichu_doll.4bpp"); -const u32 gMapObjectPic_PikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pikachu_doll.4bpp"); -const u32 gMapObjectPic_MarillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/marill_doll.4bpp"); -const u32 gMapObjectPic_TogepiDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/togepi_doll.4bpp"); -const u32 gMapObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/cyndaquil_doll.4bpp"); -const u32 gMapObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/chikorita_doll.4bpp"); -const u32 gMapObjectPic_TotodileDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/totodile_doll.4bpp"); -const u32 gMapObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/jigglypuff_doll.4bpp"); -const u32 gMapObjectPic_MeowthDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/meowth_doll.4bpp"); -const u32 gMapObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/clefairy_doll.4bpp"); -const u32 gMapObjectPic_DittoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/ditto_doll.4bpp"); -const u32 gMapObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/smoochum_doll.4bpp"); -const u32 gMapObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/treecko_doll.4bpp"); -const u32 gMapObjectPic_TorchicDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/torchic_doll.4bpp"); -const u32 gMapObjectPic_MudkipDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/mudkip_doll.4bpp"); -const u32 gMapObjectPic_DuskullDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/duskull_doll.4bpp"); -const u32 gMapObjectPic_WynautDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/wynaut_doll.4bpp"); -const u32 gMapObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/baltoy_doll.4bpp"); -const u32 gMapObjectPic_KecleonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/kecleon_doll.4bpp"); -const u32 gMapObjectPic_AzurillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/azurill_doll.4bpp"); -const u32 gMapObjectPic_SkittyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/skitty_doll.4bpp"); -const u32 gMapObjectPic_SwabluDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/swablu_doll.4bpp"); -const u32 gMapObjectPic_GulpinDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/gulpin_doll.4bpp"); -const u32 gMapObjectPic_LotadDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/lotad_doll.4bpp"); -const u32 gMapObjectPic_SeedotDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/seedot_doll.4bpp"); -const u32 gMapObjectPic_PikaCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/pika_cushion.4bpp"); -const u32 gMapObjectPic_RoundCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/round_cushion.4bpp"); -const u32 gMapObjectPic_KissCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/kiss_cushion.4bpp"); -const u32 gMapObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/zigzag_cushion.4bpp"); -const u32 gMapObjectPic_SpinCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/spin_cushion.4bpp"); -const u32 gMapObjectPic_DiamondCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/diamond_cushion.4bpp"); -const u32 gMapObjectPic_BallCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/ball_cushion.4bpp"); -const u32 gMapObjectPic_GrassCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/grass_cushion.4bpp"); -const u32 gMapObjectPic_FireCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/fire_cushion.4bpp"); -const u32 gMapObjectPic_WaterCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/water_cushion.4bpp"); -const u32 gMapObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_snorlax_doll.4bpp"); -const u32 gMapObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_rhydon_doll.4bpp"); -const u32 gMapObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_lapras_doll.4bpp"); -const u32 gMapObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_venusaur_doll.4bpp"); -const u32 gMapObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_charizard_doll.4bpp"); -const u32 gMapObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_blastoise_doll.4bpp"); -const u32 gMapObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_wailmer_doll.4bpp"); -const u32 gMapObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regirock_doll.4bpp"); -const u32 gMapObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regice_doll.4bpp"); -const u32 gMapObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_registeel_doll.4bpp"); -const u32 gMapObjectPic_CuttableTree_0[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/0.4bpp"); -const u32 gMapObjectPic_CuttableTree_1[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/1.4bpp"); -const u32 gMapObjectPic_CuttableTree_2[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/2.4bpp"); -const u32 gMapObjectPic_CuttableTree_3[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/3.4bpp"); -const u32 gMapObjectPic_BreakableRock_0[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/0.4bpp"); -const u32 gMapObjectPic_BreakableRock_1[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/1.4bpp"); -const u32 gMapObjectPic_BreakableRock_2[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/2.4bpp"); -const u32 gMapObjectPic_BreakableRock_3[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/3.4bpp"); -const u32 gMapObjectPic_PushableBoulder[] = INCBIN_U32("graphics/map_objects/pics/misc/pushable_boulder.4bpp"); -const u32 gMapObjectPic_MrBrineysBoat_0[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/0.4bpp"); -const u32 gMapObjectPic_MrBrineysBoat_1[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/1.4bpp"); -const u32 gMapObjectPic_MrBrineysBoat_2[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/2.4bpp"); -const u32 gMapObjectPic_Fossil[] = INCBIN_U32("graphics/map_objects/pics/misc/fossil.4bpp"); -const u32 gMapObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/map_objects/pics/misc/submarine_shadow.4bpp"); -const u16 gMapObjectPalette26[] = INCBIN_U16("graphics/map_objects/palettes/26.gbapal"); -const u32 gMapObjectPic_Truck[] = INCBIN_U32("graphics/map_objects/pics/misc/truck.4bpp"); -const u16 gMapObjectPalette14[] = INCBIN_U16("graphics/map_objects/palettes/14.gbapal"); -const u32 gMapObjectPic_MachokeCarryingBox_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/0.4bpp"); -const u32 gMapObjectPic_MachokeCarryingBox_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/1.4bpp"); -const u32 gMapObjectPic_MachokeCarryingBox_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_carrying_box/2.4bpp"); -const u32 gMapObjectPic_MachokeFacingAway_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_facing_away/0.4bpp"); -const u32 gMapObjectPic_MachokeFacingAway_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/machoke_facing_away/1.4bpp"); -const u16 gMapObjectPalette15[] = INCBIN_U16("graphics/map_objects/palettes/15.gbapal"); -const u32 gMapObjectPic_BirchsBag[] = INCBIN_U32("graphics/map_objects/pics/misc/birchs_bag.4bpp"); -const u32 gMapObjectPic_Poochyena_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/0.4bpp"); -const u32 gMapObjectPic_Poochyena_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/1.4bpp"); -const u32 gMapObjectPic_Poochyena_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/2.4bpp"); -const u32 gMapObjectPic_Poochyena_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/3.4bpp"); -const u32 gMapObjectPic_Poochyena_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/4.4bpp"); -const u32 gMapObjectPic_Poochyena_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/5.4bpp"); -const u32 gMapObjectPic_Poochyena_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/6.4bpp"); -const u32 gMapObjectPic_Poochyena_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/7.4bpp"); -const u32 gMapObjectPic_Poochyena_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/8.4bpp"); -const u16 gMapObjectPalette16[] = INCBIN_U16("graphics/map_objects/palettes/16.gbapal"); -const u32 gMapObjectPic_CableCar[] = INCBIN_U32("graphics/map_objects/pics/misc/cable_car.4bpp"); -const u16 gMapObjectPalette20[] = INCBIN_U16("graphics/map_objects/palettes/20.gbapal"); -const u32 gMapObjectPic_SSTidal[] = INCBIN_U32("graphics/map_objects/pics/misc/ss_tidal.4bpp"); -const u16 gMapObjectPalette21[] = INCBIN_U16("graphics/map_objects/palettes/21.gbapal"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/0.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/1.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/2.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/3.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/4.4bpp"); -const u32 gFieldEffectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/field_effect_objects/pics/berry_tree_growth_sparkle/5.4bpp"); -const u32 gMapObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/dirt_pile.4bpp"); -const u32 gMapObjectPic_BerryTreeSprout_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/0.4bpp"); -const u32 gMapObjectPic_BerryTreeSprout_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/1.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/0.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/1.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/2.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/3.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/4.4bpp"); -const u32 gMapObjectPic_PechaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/5.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/0.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/1.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/2.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/3.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/4.4bpp"); -const u32 gMapObjectPic_KelpsyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/5.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/0.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/1.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/2.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/3.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/4.4bpp"); -const u32 gMapObjectPic_WepearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/5.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/0.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/1.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/2.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/3.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/4.4bpp"); -const u32 gMapObjectPic_IapapaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/5.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/0.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/1.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/2.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/3.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/4.4bpp"); -const u32 gMapObjectPic_CheriBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/5.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/0.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/1.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/2.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/3.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/4.4bpp"); -const u32 gMapObjectPic_FigyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/5.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/0.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/1.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/2.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/3.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/4.4bpp"); -const u32 gMapObjectPic_MagoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/5.4bpp"); -const u32 gMapObjectPic_LumBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/0.4bpp"); -const u32 gMapObjectPic_LumBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/1.4bpp"); -const u32 gMapObjectPic_LumBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/2.4bpp"); -const u32 gMapObjectPic_LumBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/3.4bpp"); -const u32 gMapObjectPic_LumBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/4.4bpp"); -const u32 gMapObjectPic_LumBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/5.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/0.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/1.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/2.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/3.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/4.4bpp"); -const u32 gMapObjectPic_RazzBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/5.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/0.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/1.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/2.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/3.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/4.4bpp"); -const u32 gMapObjectPic_GrepaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/5.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/0.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/1.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/2.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/3.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/4.4bpp"); -const u32 gMapObjectPic_RabutaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/5.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/0.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/1.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/2.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/3.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/4.4bpp"); -const u32 gMapObjectPic_NomelBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/5.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/0.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/1.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/2.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/3.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/4.4bpp"); -const u32 gMapObjectPic_LeppaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/5.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/0.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/1.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/2.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/3.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/4.4bpp"); -const u32 gMapObjectPic_LiechiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/5.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/0.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/1.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/2.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/3.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/4.4bpp"); -const u32 gMapObjectPic_HondewBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/5.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/0.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/1.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/2.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/3.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/4.4bpp"); -const u32 gMapObjectPic_AguavBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/5.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/0.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/1.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/2.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/3.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/4.4bpp"); -const u32 gMapObjectPic_WikiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/5.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/0.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/1.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/2.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/3.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/4.4bpp"); -const u32 gMapObjectPic_PomegBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/5.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/0.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/1.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/2.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/3.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/4.4bpp"); -const u32 gMapObjectPic_RawstBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/5.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/0.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/1.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/2.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/3.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/4.4bpp"); -const u32 gMapObjectPic_SpelonBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/5.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/0.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/1.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/2.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/3.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/4.4bpp"); -const u32 gMapObjectPic_ChestoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/5.4bpp"); -const u32 gMapObjectPic_OranBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/0.4bpp"); -const u32 gMapObjectPic_OranBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/1.4bpp"); -const u32 gMapObjectPic_OranBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/2.4bpp"); -const u32 gMapObjectPic_OranBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/3.4bpp"); -const u32 gMapObjectPic_OranBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/4.4bpp"); -const u32 gMapObjectPic_OranBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/5.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/0.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/1.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/2.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/3.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/4.4bpp"); -const u32 gMapObjectPic_PersimBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/5.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/0.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/1.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/2.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/3.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/4.4bpp"); -const u32 gMapObjectPic_SitrusBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/5.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/0.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/1.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/2.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/3.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/4.4bpp"); -const u32 gMapObjectPic_AspearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/5.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/0.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/1.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/2.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/3.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/4.4bpp"); -const u32 gMapObjectPic_PamtreBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/5.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/0.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/1.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/2.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/3.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/4.4bpp"); -const u32 gMapObjectPic_CornnBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/5.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/0.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/1.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/2.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/3.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/4.4bpp"); -const u32 gMapObjectPic_LansatBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/5.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/0.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/1.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/2.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/3.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/4.4bpp"); -const u32 gMapObjectPic_DurinBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/5.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/0.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/1.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/2.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/3.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/4.4bpp"); -const u32 gMapObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/5.4bpp"); -const u32 gFieldEffectPic_SurfBlob_0[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/0.4bpp"); -const u32 gFieldEffectPic_SurfBlob_1[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/1.4bpp"); -const u32 gFieldEffectPic_SurfBlob_2[] = INCBIN_U32("graphics/field_effect_objects/pics/surf_blob/2.4bpp"); -const u32 gMapObjectPic_QuintyPlump_0[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/0.4bpp"); -const u32 gMapObjectPic_QuintyPlump_1[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/1.4bpp"); -const u32 gMapObjectPic_QuintyPlump_2[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/2.4bpp"); -const u32 gMapObjectPic_QuintyPlump_3[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/3.4bpp"); -const u32 gMapObjectPic_QuintyPlump_4[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/4.4bpp"); -const u32 gMapObjectPic_QuintyPlump_5[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/5.4bpp"); -const u32 gMapObjectPic_QuintyPlump_6[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/6.4bpp"); -const u16 gMapObjectPalette12[] = INCBIN_U16("graphics/map_objects/palettes/12.gbapal"); -const u16 gMapObjectPalette13[] = INCBIN_U16("graphics/map_objects/palettes/13.gbapal"); - -#endif //POKERUBY_MAP_OBJECT_GFX_H diff --git a/src/data/field_map_obj/map_object_graphics_info.h b/src/data/field_map_obj/map_object_graphics_info.h deleted file mode 100644 index 7b021b66d..000000000 --- a/src/data/field_map_obj/map_object_graphics_info.h +++ /dev/null @@ -1,227 +0,0 @@ -// - -// - -#ifndef POKERUBY_MAP_OBJECT_GRAPHICS_INFO_H -#define POKERUBY_MAP_OBJECT_GRAPHICS_INFO_H - -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanNormal = {0xffff, 0x1100, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_BrendanMayNormal, gMapObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanMachBike = {0xffff, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanAcroBike = {0xffff, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_AcroBike, gMapObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanSurfing = {0xffff, 0x1100, 0x11ff, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Surfing, gMapObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanFieldMove = {0xffff, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_FieldMove, gMapObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_QuintyPlump = {0xffff, 0x110b, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_QuintyPlump, gMapObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleBoy1 = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_LittleBoy1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleGirl1 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_LittleGirl1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy1 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Boy1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Girl1 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Girl1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy2 = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Boy2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Girl2 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Girl2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleBoy2 = {0xffff, 0x1106, 0x11ff, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_LittleBoy2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleGirl2 = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_LittleGirl2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy3 = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Boy3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Girl3 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Girl3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy4 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Boy4, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman1 = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_FatMan = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_FatMan, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman2 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man1 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Man1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman3 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldMan1 = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_OldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldWoman1 = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_OldWoman1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man2 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Man2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman4 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman4, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man3 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Man3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman5 = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman5, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Cook = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Cook, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman6 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman6, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldMan2 = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_OldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldWoman2 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_OldWoman2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Camper = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Camper, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Picnicker = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Picnicker, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man4 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Man4, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman7 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman7, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Youngster = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Youngster, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BugCatcher = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PsychicM = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_PsychicM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SchoolKidM = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Maniac = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Maniac, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_HexManiac = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_HexManiac, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman8 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Woman8, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SwimmerM = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_SwimmerM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SwimmerF = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_SwimmerF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BlackBelt = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_BlackBelt, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Beauty = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Beauty, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Scientist1 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Scientist1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Lass = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Lass, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Gentleman = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Gentleman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Sailor = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Sailor, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Fisherman = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Fisherman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RunningTriathleteM = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RunningTriathleteF = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TuberF = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_TuberF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TuberM = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_TuberM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Hiker = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Hiker, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CyclingTriathleteM = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_AcroBike, gMapObjectPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CyclingTriathleteF = {0xffff, 0x1103, 0x11ff, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_AcroBike, gMapObjectPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Nurse = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Nurse, gMapObjectPicTable_Nurse, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ItemBall = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_ItemBall, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BerryTree = {0xffff, 0x1103, 0x11ff, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, NULL, gMapObjectImageAnimTable_BerryTree, gMapObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BerryTreeEarlyStages = {0xffff, 0x1103, 0x11ff, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_BerryTree, gMapObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BerryTreeLateStages = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_BerryTree, gMapObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ProfBirch = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man5 = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Man5, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man6 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Man6, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ReporterM = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_ReporterM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ReporterF = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_ReporterF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Bard = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Hipster = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Trader = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Storyteller = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Giddy = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedMauvilleOldMan1 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedMauvilleOldMan2 = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedNatuDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedMagnemiteDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedSquirtleDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedWooperDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedPikachuDoll = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedPorygon2Doll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CuttableTree = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_CuttableTree, gMapObjectPicTable_CuttableTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MartEmployee = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MartEmployee, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RooftopSaleWoman = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Teala = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Teala, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BreakableRock = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_BreakableRock, gMapObjectPicTable_BreakableRock, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PushableBoulder = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MrBrineysBoat = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayNormal = {0xffff, 0x1110, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_BrendanMayNormal, gMapObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayMachBike = {0xffff, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayAcroBike = {0xffff, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_AcroBike, gMapObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MaySurfing = {0xffff, 0x1110, 0x11ff, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Surfing, gMapObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayFieldMove = {0xffff, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_FieldMove, gMapObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Truck = {0xffff, 0x110d, 0x11ff, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_Truck, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_Truck, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MachokeCarryingBox = {0xffff, 0x110e, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MachokeCarryingBox, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MachokeFacingAway = {0xffff, 0x110e, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MachokeFacingAway, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BirchsBag = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Poochyena = {0xffff, 0x110f, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Poochyena, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Artist = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Artist, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanNormal = {0xffff, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_BrendanMayNormal, gMapObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanMachBike = {0xffff, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanAcroBike = {0xffff, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_AcroBike, gMapObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanSurfing = {0xffff, 0x1100, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Surfing, gMapObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanFieldMove = {0xffff, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_FieldMove, gMapObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayNormal = {0xffff, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_BrendanMayNormal, gMapObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayMachBike = {0xffff, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayAcroBike = {0xffff, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_AcroBike, gMapObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMaySurfing = {0xffff, 0x1110, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Surfing, gMapObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayFieldMove = {0xffff, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_FieldMove, gMapObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Cameraman = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Cameraman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanUnderwater = {0xffff, 0x1115, 0x11ff, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayUnderwater = {0xffff, 0x1115, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MovingBox = {0xffff, 0x1112, 0x11ff, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_MovingBox, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CableCar = {0xffff, 0x1113, 0x11ff, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_64x64, gMapObjectSubspriteTables_CableCar, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_CableCar, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Scientist2 = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Scientist2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man7 = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Man7, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_AquaMemberM = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_AquaMemberF = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MagmaMemberM = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MagmaMemberF = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Sidney = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Sidney, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Phoebe = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Phoebe, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Glacia = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Glacia, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Drake = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Drake, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Roxanne = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Roxanne, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Brawly = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Brawly, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wattson = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Wattson, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Flannery = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Flannery, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Norman = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Norman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Winona = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Winona, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Liza = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Liza, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Tate = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Tate, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wallace = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Wallace, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Steven = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Steven, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wally = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Wally, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleBoy3 = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_LittleBoy3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanFishing = {0xffff, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Fishing, gMapObjectPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayFishing = {0xffff, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Fishing, gMapObjectPicTable_MayFishing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_HotSpringsOldWoman = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SSTidal = {0xffff, 0x1114, 0x11ff, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldOamData_8x8, gMapObjectSubspriteTables_SSTidal, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_SSTidal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SubmarineShadow = {0xffff, 0x111a, 0x11ff, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldOamData_8x8, gMapObjectSubspriteTables_SubmarineShadow, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PichuDoll = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_PichuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PikachuDoll = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MarillDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_MarillDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TogepiDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CyndaquilDoll = {0xffff, 0x1106, 0x11ff, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ChikoritaDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TotodileDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_JigglypuffDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MeowthDoll = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ClefairyDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_DittoDoll = {0xffff, 0x1106, 0x11ff, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_DittoDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SmoochumDoll = {0xffff, 0x1106, 0x11ff, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TreeckoDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TorchicDoll = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MudkipDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_DuskullDoll = {0xffff, 0x1106, 0x11ff, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_WynautDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_WynautDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BaltoyDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_KecleonDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_AzurillDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SkittyDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SwabluDoll = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_GulpinDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LotadDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_LotadDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SeedotDoll = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PikaCushion = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_PikaCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RoundCushion = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_RoundCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_KissCushion = {0xffff, 0x1106, 0x11ff, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_KissCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ZigzagCushion = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SpinCushion = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_SpinCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_DiamondCushion = {0xffff, 0x1106, 0x11ff, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BallCushion = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BallCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_GrassCushion = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_GrassCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_FireCushion = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_FireCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_WaterCushion = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_WaterCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigSnorlaxDoll = {0xffff, 0x1106, 0x11ff, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRhydonDoll = {0xffff, 0x1106, 0x11ff, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigLaprasDoll = {0xffff, 0x1103, 0x11ff, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigVenusaurDoll = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigCharizardDoll = {0xffff, 0x1104, 0x11ff, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigBlastoiseDoll = {0xffff, 0x1103, 0x11ff, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigWailmerDoll = {0xffff, 0x1106, 0x11ff, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRegirockDoll = {0xffff, 0x1103, 0x11ff, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRegiceDoll = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRegisteelDoll = {0xffff, 0x1106, 0x11ff, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Latias = {0xffff, 0x1104, 0x11ff, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Latios = {0xffff, 0x1103, 0x11ff, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy5 = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Boy5, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ContestJudge = {0xffff, 0x1105, 0x11ff, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_ContestJudge, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanWatering = {0xffff, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayWatering = {0xffff, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_MayWatering, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanDecorating = {0xffff, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayDecorating = {0xffff, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_MayDecorating, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Archie = {0xffff, 0x1103, 0x11ff, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Archie, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Maxie = {0xffff, 0x1104, 0x11ff, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Maxie, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kyogre1 = {0xffff, 0x1106, 0x11ff, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Kyogre, gMapObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Groudon1 = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Groudon, gMapObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Fossil = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Inanimate, gMapObjectPicTable_Fossil, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Regirock = {0xffff, 0x1104, 0x11ff, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Regice = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Registeel = {0xffff, 0x1106, 0x11ff, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Skitty = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Skitty, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kecleon1 = {0xffff, 0x1105, 0x11ff, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kyogre2 = {0xffff, 0x1116, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Kyogre, gMapObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Groudon2 = {0xffff, 0x1118, 0x11ff, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Groudon, gMapObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Rayquaza = {0xffff, 0x1105, 0x11ff, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_32x32, gMapObjectSubspriteTables_32x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Zigzagoon = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Pikachu = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Pikachu, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Azumarill = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Azumarill, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wingull = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Wingull, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kecleon2 = {0xffff, 0x1105, 0x1102, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TuberMSwimming = {0xffff, 0x1104, 0x11ff, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Azurill = {0xffff, 0x1103, 0x11ff, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x16, gMapObjectSubspriteTables_16x16, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Azurill, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Mom = {0xffff, 0x1106, 0x11ff, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_Standard, gMapObjectPicTable_Mom, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LinkBrendan = {0xffff, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_BrendanMayNormal, gMapObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LinkMay = {0xffff, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldOamData_16x32, gMapObjectSubspriteTables_16x32, gMapObjectImageAnimTable_BrendanMayNormal, gMapObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; - -#endif //POKERUBY_MAP_OBJECT_GRAPHICS_INFO_H diff --git a/src/data/field_map_obj/map_object_graphics_info_pointers.h b/src/data/field_map_obj/map_object_graphics_info_pointers.h deleted file mode 100644 index 22a052b0d..000000000 --- a/src/data/field_map_obj/map_object_graphics_info_pointers.h +++ /dev/null @@ -1,448 +0,0 @@ -// - -// - -#ifndef POKERUBY_MAP_OBJECT_GRAPHICS_INFO_POINTERS_H -#define POKERUBY_MAP_OBJECT_GRAPHICS_INFO_POINTERS_H - -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanNormal; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanMachBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanSurfing; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanFieldMove; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_QuintyPlump; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleBoy1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleGirl1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Girl1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Girl2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleBoy2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleGirl2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy3; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Girl3; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy4; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_FatMan; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman3; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldMan1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldWoman1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman4; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man3; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman5; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Cook; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman6; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldMan2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_OldWoman2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Camper; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Picnicker; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man4; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman7; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Youngster; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BugCatcher; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PsychicM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SchoolKidM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Maniac; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_HexManiac; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Woman8; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SwimmerM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SwimmerF; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BlackBelt; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Beauty; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Scientist1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Lass; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Gentleman; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Sailor; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Fisherman; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RunningTriathleteM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RunningTriathleteF; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TuberF; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TuberM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Hiker; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CyclingTriathleteM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CyclingTriathleteF; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Nurse; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ItemBall; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BerryTree; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BerryTreeEarlyStages; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BerryTreeLateStages; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanAcroBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ProfBirch; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man5; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man6; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ReporterM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ReporterF; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Bard; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Hipster; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Trader; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Storyteller; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Giddy; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedMauvilleOldMan1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedMauvilleOldMan2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedNatuDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedMagnemiteDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedSquirtleDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedWooperDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedPikachuDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_UnusedPorygon2Doll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CuttableTree; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MartEmployee; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RooftopSaleWoman; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Teala; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BreakableRock; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PushableBoulder; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MrBrineysBoat; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayNormal; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayMachBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayAcroBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MaySurfing; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayFieldMove; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Truck; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MachokeCarryingBox; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MachokeFacingAway; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BirchsBag; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Poochyena; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Artist; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanNormal; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanMachBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanAcroBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanSurfing; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalBrendanFieldMove; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayNormal; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayMachBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayAcroBike; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMaySurfing; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RivalMayFieldMove; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Cameraman; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanUnderwater; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayUnderwater; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MovingBox; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CableCar; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Scientist2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Man7; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_AquaMemberM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_AquaMemberF; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MagmaMemberM; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MagmaMemberF; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Sidney; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Phoebe; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Glacia; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Drake; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Roxanne; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Brawly; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wattson; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Flannery; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Norman; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Winona; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Liza; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Tate; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wallace; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Steven; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wally; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LittleBoy3; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanFishing; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayFishing; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_HotSpringsOldWoman; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SSTidal; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SubmarineShadow; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PichuDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PikachuDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MarillDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TogepiDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_CyndaquilDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ChikoritaDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TotodileDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_JigglypuffDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MeowthDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ClefairyDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_DittoDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SmoochumDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TreeckoDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TorchicDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MudkipDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_DuskullDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_WynautDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BaltoyDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_KecleonDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_AzurillDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SkittyDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SwabluDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_GulpinDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LotadDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SeedotDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_PikaCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_RoundCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_KissCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ZigzagCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_SpinCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_DiamondCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BallCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_GrassCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_FireCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_WaterCushion; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigSnorlaxDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRhydonDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigLaprasDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigVenusaurDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigCharizardDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigBlastoiseDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigWailmerDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRegirockDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRegiceDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BigRegisteelDoll; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Latias; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Latios; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Boy5; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_ContestJudge; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanWatering; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayWatering; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_BrendanDecorating; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_MayDecorating; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Archie; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Maxie; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kyogre1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Groudon1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Fossil; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Regirock; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Regice; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Registeel; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Skitty; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kecleon1; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kyogre2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Groudon2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Rayquaza; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Zigzagoon; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Pikachu; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Azumarill; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Wingull; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Kecleon2; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_TuberMSwimming; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Azurill; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_Mom; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LinkBrendan; -const struct MapObjectGraphicsInfo gMapObjectGraphicsInfo_LinkMay; - -const struct MapObjectGraphicsInfo *const gMapObjectGraphicsInfoPointers[] = { - &gMapObjectGraphicsInfo_BrendanNormal, - &gMapObjectGraphicsInfo_BrendanMachBike, - &gMapObjectGraphicsInfo_BrendanSurfing, - &gMapObjectGraphicsInfo_BrendanFieldMove, - &gMapObjectGraphicsInfo_QuintyPlump, - &gMapObjectGraphicsInfo_LittleBoy1, - &gMapObjectGraphicsInfo_LittleGirl1, - &gMapObjectGraphicsInfo_Boy1, - &gMapObjectGraphicsInfo_Girl1, - &gMapObjectGraphicsInfo_Boy2, - &gMapObjectGraphicsInfo_Girl2, - &gMapObjectGraphicsInfo_LittleBoy2, - &gMapObjectGraphicsInfo_LittleGirl2, - &gMapObjectGraphicsInfo_Boy3, - &gMapObjectGraphicsInfo_Girl3, - &gMapObjectGraphicsInfo_Boy4, - &gMapObjectGraphicsInfo_Woman1, - &gMapObjectGraphicsInfo_FatMan, - &gMapObjectGraphicsInfo_Woman2, - &gMapObjectGraphicsInfo_Man1, - &gMapObjectGraphicsInfo_Woman3, - &gMapObjectGraphicsInfo_OldMan1, - &gMapObjectGraphicsInfo_OldWoman1, - &gMapObjectGraphicsInfo_Man2, - &gMapObjectGraphicsInfo_Woman4, - &gMapObjectGraphicsInfo_Man3, - &gMapObjectGraphicsInfo_Woman5, - &gMapObjectGraphicsInfo_Cook, - &gMapObjectGraphicsInfo_Woman6, - &gMapObjectGraphicsInfo_OldMan2, - &gMapObjectGraphicsInfo_OldWoman2, - &gMapObjectGraphicsInfo_Camper, - &gMapObjectGraphicsInfo_Picnicker, - &gMapObjectGraphicsInfo_Man4, - &gMapObjectGraphicsInfo_Woman7, - &gMapObjectGraphicsInfo_Youngster, - &gMapObjectGraphicsInfo_BugCatcher, - &gMapObjectGraphicsInfo_PsychicM, - &gMapObjectGraphicsInfo_SchoolKidM, - &gMapObjectGraphicsInfo_Maniac, - &gMapObjectGraphicsInfo_HexManiac, - &gMapObjectGraphicsInfo_Woman8, - &gMapObjectGraphicsInfo_SwimmerM, - &gMapObjectGraphicsInfo_SwimmerF, - &gMapObjectGraphicsInfo_BlackBelt, - &gMapObjectGraphicsInfo_Beauty, - &gMapObjectGraphicsInfo_Scientist1, - &gMapObjectGraphicsInfo_Lass, - &gMapObjectGraphicsInfo_Gentleman, - &gMapObjectGraphicsInfo_Sailor, - &gMapObjectGraphicsInfo_Fisherman, - &gMapObjectGraphicsInfo_RunningTriathleteM, - &gMapObjectGraphicsInfo_RunningTriathleteF, - &gMapObjectGraphicsInfo_TuberF, - &gMapObjectGraphicsInfo_TuberM, - &gMapObjectGraphicsInfo_Hiker, - &gMapObjectGraphicsInfo_CyclingTriathleteM, - &gMapObjectGraphicsInfo_CyclingTriathleteF, - &gMapObjectGraphicsInfo_Nurse, - &gMapObjectGraphicsInfo_ItemBall, - &gMapObjectGraphicsInfo_BerryTree, - &gMapObjectGraphicsInfo_BerryTreeEarlyStages, - &gMapObjectGraphicsInfo_BerryTreeLateStages, - &gMapObjectGraphicsInfo_BrendanAcroBike, - &gMapObjectGraphicsInfo_ProfBirch, - &gMapObjectGraphicsInfo_Man5, - &gMapObjectGraphicsInfo_Man6, - &gMapObjectGraphicsInfo_ReporterM, - &gMapObjectGraphicsInfo_ReporterF, - &gMapObjectGraphicsInfo_Bard, - &gMapObjectGraphicsInfo_Hipster, - &gMapObjectGraphicsInfo_Trader, - &gMapObjectGraphicsInfo_Storyteller, - &gMapObjectGraphicsInfo_Giddy, - &gMapObjectGraphicsInfo_UnusedMauvilleOldMan1, - &gMapObjectGraphicsInfo_UnusedMauvilleOldMan2, - &gMapObjectGraphicsInfo_UnusedNatuDoll, - &gMapObjectGraphicsInfo_UnusedMagnemiteDoll, - &gMapObjectGraphicsInfo_UnusedSquirtleDoll, - &gMapObjectGraphicsInfo_UnusedWooperDoll, - &gMapObjectGraphicsInfo_UnusedPikachuDoll, - &gMapObjectGraphicsInfo_UnusedPorygon2Doll, - &gMapObjectGraphicsInfo_CuttableTree, - &gMapObjectGraphicsInfo_MartEmployee, - &gMapObjectGraphicsInfo_RooftopSaleWoman, - &gMapObjectGraphicsInfo_Teala, - &gMapObjectGraphicsInfo_BreakableRock, - &gMapObjectGraphicsInfo_PushableBoulder, - &gMapObjectGraphicsInfo_MrBrineysBoat, - &gMapObjectGraphicsInfo_MayNormal, - &gMapObjectGraphicsInfo_MayMachBike, - &gMapObjectGraphicsInfo_MayAcroBike, - &gMapObjectGraphicsInfo_MaySurfing, - &gMapObjectGraphicsInfo_MayFieldMove, - &gMapObjectGraphicsInfo_Truck, - &gMapObjectGraphicsInfo_MachokeCarryingBox, - &gMapObjectGraphicsInfo_MachokeFacingAway, - &gMapObjectGraphicsInfo_BirchsBag, - &gMapObjectGraphicsInfo_Poochyena, - &gMapObjectGraphicsInfo_Artist, - &gMapObjectGraphicsInfo_RivalBrendanNormal, - &gMapObjectGraphicsInfo_RivalBrendanMachBike, - &gMapObjectGraphicsInfo_RivalBrendanAcroBike, - &gMapObjectGraphicsInfo_RivalBrendanSurfing, - &gMapObjectGraphicsInfo_RivalBrendanFieldMove, - &gMapObjectGraphicsInfo_RivalMayNormal, - &gMapObjectGraphicsInfo_RivalMayMachBike, - &gMapObjectGraphicsInfo_RivalMayAcroBike, - &gMapObjectGraphicsInfo_RivalMaySurfing, - &gMapObjectGraphicsInfo_RivalMayFieldMove, - &gMapObjectGraphicsInfo_Cameraman, - &gMapObjectGraphicsInfo_BrendanUnderwater, - &gMapObjectGraphicsInfo_MayUnderwater, - &gMapObjectGraphicsInfo_MovingBox, - &gMapObjectGraphicsInfo_CableCar, - &gMapObjectGraphicsInfo_Scientist2, - &gMapObjectGraphicsInfo_Man7, - &gMapObjectGraphicsInfo_AquaMemberM, - &gMapObjectGraphicsInfo_AquaMemberF, - &gMapObjectGraphicsInfo_MagmaMemberM, - &gMapObjectGraphicsInfo_MagmaMemberF, - &gMapObjectGraphicsInfo_Sidney, - &gMapObjectGraphicsInfo_Phoebe, - &gMapObjectGraphicsInfo_Glacia, - &gMapObjectGraphicsInfo_Drake, - &gMapObjectGraphicsInfo_Roxanne, - &gMapObjectGraphicsInfo_Brawly, - &gMapObjectGraphicsInfo_Wattson, - &gMapObjectGraphicsInfo_Flannery, - &gMapObjectGraphicsInfo_Norman, - &gMapObjectGraphicsInfo_Winona, - &gMapObjectGraphicsInfo_Liza, - &gMapObjectGraphicsInfo_Tate, - &gMapObjectGraphicsInfo_Wallace, - &gMapObjectGraphicsInfo_Steven, - &gMapObjectGraphicsInfo_Wally, - &gMapObjectGraphicsInfo_LittleBoy3, - &gMapObjectGraphicsInfo_BrendanFishing, - &gMapObjectGraphicsInfo_MayFishing, - &gMapObjectGraphicsInfo_HotSpringsOldWoman, - &gMapObjectGraphicsInfo_SSTidal, - &gMapObjectGraphicsInfo_SubmarineShadow, - &gMapObjectGraphicsInfo_PichuDoll, - &gMapObjectGraphicsInfo_PikachuDoll, - &gMapObjectGraphicsInfo_MarillDoll, - &gMapObjectGraphicsInfo_TogepiDoll, - &gMapObjectGraphicsInfo_CyndaquilDoll, - &gMapObjectGraphicsInfo_ChikoritaDoll, - &gMapObjectGraphicsInfo_TotodileDoll, - &gMapObjectGraphicsInfo_JigglypuffDoll, - &gMapObjectGraphicsInfo_MeowthDoll, - &gMapObjectGraphicsInfo_ClefairyDoll, - &gMapObjectGraphicsInfo_DittoDoll, - &gMapObjectGraphicsInfo_SmoochumDoll, - &gMapObjectGraphicsInfo_TreeckoDoll, - &gMapObjectGraphicsInfo_TorchicDoll, - &gMapObjectGraphicsInfo_MudkipDoll, - &gMapObjectGraphicsInfo_DuskullDoll, - &gMapObjectGraphicsInfo_WynautDoll, - &gMapObjectGraphicsInfo_BaltoyDoll, - &gMapObjectGraphicsInfo_KecleonDoll, - &gMapObjectGraphicsInfo_AzurillDoll, - &gMapObjectGraphicsInfo_SkittyDoll, - &gMapObjectGraphicsInfo_SwabluDoll, - &gMapObjectGraphicsInfo_GulpinDoll, - &gMapObjectGraphicsInfo_LotadDoll, - &gMapObjectGraphicsInfo_SeedotDoll, - &gMapObjectGraphicsInfo_PikaCushion, - &gMapObjectGraphicsInfo_RoundCushion, - &gMapObjectGraphicsInfo_KissCushion, - &gMapObjectGraphicsInfo_ZigzagCushion, - &gMapObjectGraphicsInfo_SpinCushion, - &gMapObjectGraphicsInfo_DiamondCushion, - &gMapObjectGraphicsInfo_BallCushion, - &gMapObjectGraphicsInfo_GrassCushion, - &gMapObjectGraphicsInfo_FireCushion, - &gMapObjectGraphicsInfo_WaterCushion, - &gMapObjectGraphicsInfo_BigSnorlaxDoll, - &gMapObjectGraphicsInfo_BigRhydonDoll, - &gMapObjectGraphicsInfo_BigLaprasDoll, - &gMapObjectGraphicsInfo_BigVenusaurDoll, - &gMapObjectGraphicsInfo_BigCharizardDoll, - &gMapObjectGraphicsInfo_BigBlastoiseDoll, - &gMapObjectGraphicsInfo_BigWailmerDoll, - &gMapObjectGraphicsInfo_BigRegirockDoll, - &gMapObjectGraphicsInfo_BigRegiceDoll, - &gMapObjectGraphicsInfo_BigRegisteelDoll, - &gMapObjectGraphicsInfo_Latias, - &gMapObjectGraphicsInfo_Latios, - &gMapObjectGraphicsInfo_Boy5, - &gMapObjectGraphicsInfo_ContestJudge, - &gMapObjectGraphicsInfo_BrendanWatering, - &gMapObjectGraphicsInfo_MayWatering, - &gMapObjectGraphicsInfo_BrendanDecorating, - &gMapObjectGraphicsInfo_MayDecorating, - &gMapObjectGraphicsInfo_Archie, - &gMapObjectGraphicsInfo_Maxie, - &gMapObjectGraphicsInfo_Kyogre1, - &gMapObjectGraphicsInfo_Groudon1, - &gMapObjectGraphicsInfo_Fossil, - &gMapObjectGraphicsInfo_Regirock, - &gMapObjectGraphicsInfo_Regice, - &gMapObjectGraphicsInfo_Registeel, - &gMapObjectGraphicsInfo_Skitty, - &gMapObjectGraphicsInfo_Kecleon1, - &gMapObjectGraphicsInfo_Kyogre2, - &gMapObjectGraphicsInfo_Groudon2, - &gMapObjectGraphicsInfo_Rayquaza, - &gMapObjectGraphicsInfo_Zigzagoon, - &gMapObjectGraphicsInfo_Pikachu, - &gMapObjectGraphicsInfo_Azumarill, - &gMapObjectGraphicsInfo_Wingull, - &gMapObjectGraphicsInfo_Kecleon2, - &gMapObjectGraphicsInfo_TuberMSwimming, - &gMapObjectGraphicsInfo_Azurill, - &gMapObjectGraphicsInfo_Mom, - &gMapObjectGraphicsInfo_LinkBrendan, - &gMapObjectGraphicsInfo_LinkMay -}; - -#endif //POKERUBY_MAP_OBJECT_GRAPHICS_INFO_POINTERS_H diff --git a/src/data/field_map_obj/map_object_pic_tables.h b/src/data/field_map_obj/map_object_pic_tables.h deleted file mode 100644 index ecb5c8836..000000000 --- a/src/data/field_map_obj/map_object_pic_tables.h +++ /dev/null @@ -1,1879 +0,0 @@ -// - -// - -#ifndef POKERUBY_MAP_OBJECT_PIC_TABLES_H -#define POKERUBY_MAP_OBJECT_PIC_TABLES_H - -const struct SpriteFrameImage gMapObjectPicTable_BrendanNormal[] = { - obj_frame_tiles(gMapObjectPic_BrendanNormal_0), - obj_frame_tiles(gMapObjectPic_BrendanNormal_1), - obj_frame_tiles(gMapObjectPic_BrendanNormal_2), - obj_frame_tiles(gMapObjectPic_BrendanNormal_3), - obj_frame_tiles(gMapObjectPic_BrendanNormal_4), - obj_frame_tiles(gMapObjectPic_BrendanNormal_5), - obj_frame_tiles(gMapObjectPic_BrendanNormal_6), - obj_frame_tiles(gMapObjectPic_BrendanNormal_7), - obj_frame_tiles(gMapObjectPic_BrendanNormal_8), - obj_frame_tiles(gMapObjectPic_BrendanNormal_9), - obj_frame_tiles(gMapObjectPic_BrendanNormal_10), - obj_frame_tiles(gMapObjectPic_BrendanNormal_11), - obj_frame_tiles(gMapObjectPic_BrendanNormal_12), - obj_frame_tiles(gMapObjectPic_BrendanNormal_13), - obj_frame_tiles(gMapObjectPic_BrendanNormal_14), - obj_frame_tiles(gMapObjectPic_BrendanNormal_15), - obj_frame_tiles(gMapObjectPic_BrendanNormal_16), - obj_frame_tiles(gMapObjectPic_BrendanNormal_17) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanMachBike[] = { - obj_frame_tiles(gMapObjectPic_BrendanMachBike_0), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_1), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_2), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_3), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_4), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_5), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_6), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_7), - obj_frame_tiles(gMapObjectPic_BrendanMachBike_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanAcroBike[] = { - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_0), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_1), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_2), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_3), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_4), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_5), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_6), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_7), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_8), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_9), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_10), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_11), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_12), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_13), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_14), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_15), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_16), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_17), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_18), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_19), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_20), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_21), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_22), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_23), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_24), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_25), - obj_frame_tiles(gMapObjectPic_BrendanAcroBike_26) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanSurfing[] = { - obj_frame_tiles(gMapObjectPic_BrendanSurfing_0), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_1), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_2), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_0), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_0), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_1), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_1), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_2), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_2), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_3), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_4), - obj_frame_tiles(gMapObjectPic_BrendanSurfing_5) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanUnderwater[] = { - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_2), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_2), - obj_frame_tiles(gMapObjectPic_BrendanUnderwater_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanFieldMove[] = { - obj_frame_tiles(gMapObjectPic_BrendanFieldMove_0), - obj_frame_tiles(gMapObjectPic_BrendanFieldMove_1), - obj_frame_tiles(gMapObjectPic_BrendanFieldMove_2), - obj_frame_tiles(gMapObjectPic_BrendanFieldMove_3), - obj_frame_tiles(gMapObjectPic_BrendanFieldMove_4) -}; - -const struct SpriteFrameImage gMapObjectPicTable_QuintyPlump[] = { - obj_frame_tiles(gMapObjectPic_QuintyPlump_0), - obj_frame_tiles(gMapObjectPic_QuintyPlump_1), - obj_frame_tiles(gMapObjectPic_QuintyPlump_2), - obj_frame_tiles(gMapObjectPic_QuintyPlump_3), - obj_frame_tiles(gMapObjectPic_QuintyPlump_4), - obj_frame_tiles(gMapObjectPic_QuintyPlump_5), - obj_frame_tiles(gMapObjectPic_QuintyPlump_6) -}; - -const struct SpriteFrameImage gMapObjectPicTable_LittleBoy1[] = { - obj_frame_tiles(gMapObjectPic_LittleBoy1_0), - obj_frame_tiles(gMapObjectPic_LittleBoy1_1), - obj_frame_tiles(gMapObjectPic_LittleBoy1_2), - obj_frame_tiles(gMapObjectPic_LittleBoy1_3), - obj_frame_tiles(gMapObjectPic_LittleBoy1_4), - obj_frame_tiles(gMapObjectPic_LittleBoy1_5), - obj_frame_tiles(gMapObjectPic_LittleBoy1_6), - obj_frame_tiles(gMapObjectPic_LittleBoy1_7), - obj_frame_tiles(gMapObjectPic_LittleBoy1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_LittleGirl1[] = { - obj_frame_tiles(gMapObjectPic_LittleGirl1_0), - obj_frame_tiles(gMapObjectPic_LittleGirl1_1), - obj_frame_tiles(gMapObjectPic_LittleGirl1_2), - obj_frame_tiles(gMapObjectPic_LittleGirl1_3), - obj_frame_tiles(gMapObjectPic_LittleGirl1_4), - obj_frame_tiles(gMapObjectPic_LittleGirl1_5), - obj_frame_tiles(gMapObjectPic_LittleGirl1_6), - obj_frame_tiles(gMapObjectPic_LittleGirl1_7), - obj_frame_tiles(gMapObjectPic_LittleGirl1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Boy1[] = { - obj_frame_tiles(gMapObjectPic_Boy1_0), - obj_frame_tiles(gMapObjectPic_Boy1_1), - obj_frame_tiles(gMapObjectPic_Boy1_2), - obj_frame_tiles(gMapObjectPic_Boy1_3), - obj_frame_tiles(gMapObjectPic_Boy1_4), - obj_frame_tiles(gMapObjectPic_Boy1_5), - obj_frame_tiles(gMapObjectPic_Boy1_6), - obj_frame_tiles(gMapObjectPic_Boy1_7), - obj_frame_tiles(gMapObjectPic_Boy1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Girl1[] = { - obj_frame_tiles(gMapObjectPic_Girl1_0), - obj_frame_tiles(gMapObjectPic_Girl1_1), - obj_frame_tiles(gMapObjectPic_Girl1_2), - obj_frame_tiles(gMapObjectPic_Girl1_3), - obj_frame_tiles(gMapObjectPic_Girl1_4), - obj_frame_tiles(gMapObjectPic_Girl1_5), - obj_frame_tiles(gMapObjectPic_Girl1_6), - obj_frame_tiles(gMapObjectPic_Girl1_7), - obj_frame_tiles(gMapObjectPic_Girl1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Boy2[] = { - obj_frame_tiles(gMapObjectPic_Boy2_0), - obj_frame_tiles(gMapObjectPic_Boy2_1), - obj_frame_tiles(gMapObjectPic_Boy2_2), - obj_frame_tiles(gMapObjectPic_Boy2_3), - obj_frame_tiles(gMapObjectPic_Boy2_4), - obj_frame_tiles(gMapObjectPic_Boy2_5), - obj_frame_tiles(gMapObjectPic_Boy2_6), - obj_frame_tiles(gMapObjectPic_Boy2_7), - obj_frame_tiles(gMapObjectPic_Boy2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Girl2[] = { - obj_frame_tiles(gMapObjectPic_Girl2_0), - obj_frame_tiles(gMapObjectPic_Girl2_1), - obj_frame_tiles(gMapObjectPic_Girl2_2), - obj_frame_tiles(gMapObjectPic_Girl2_3), - obj_frame_tiles(gMapObjectPic_Girl2_4), - obj_frame_tiles(gMapObjectPic_Girl2_5), - obj_frame_tiles(gMapObjectPic_Girl2_6), - obj_frame_tiles(gMapObjectPic_Girl2_7), - obj_frame_tiles(gMapObjectPic_Girl2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_LittleBoy2[] = { - obj_frame_tiles(gMapObjectPic_LittleBoy2_0), - obj_frame_tiles(gMapObjectPic_LittleBoy2_1), - obj_frame_tiles(gMapObjectPic_LittleBoy2_2), - obj_frame_tiles(gMapObjectPic_LittleBoy2_3), - obj_frame_tiles(gMapObjectPic_LittleBoy2_4), - obj_frame_tiles(gMapObjectPic_LittleBoy2_5), - obj_frame_tiles(gMapObjectPic_LittleBoy2_6), - obj_frame_tiles(gMapObjectPic_LittleBoy2_7), - obj_frame_tiles(gMapObjectPic_LittleBoy2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_LittleGirl2[] = { - obj_frame_tiles(gMapObjectPic_LittleGirl2_0), - obj_frame_tiles(gMapObjectPic_LittleGirl2_1), - obj_frame_tiles(gMapObjectPic_LittleGirl2_2), - obj_frame_tiles(gMapObjectPic_LittleGirl2_3), - obj_frame_tiles(gMapObjectPic_LittleGirl2_4), - obj_frame_tiles(gMapObjectPic_LittleGirl2_5), - obj_frame_tiles(gMapObjectPic_LittleGirl2_6), - obj_frame_tiles(gMapObjectPic_LittleGirl2_7), - obj_frame_tiles(gMapObjectPic_LittleGirl2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Boy3[] = { - obj_frame_tiles(gMapObjectPic_Boy3_0), - obj_frame_tiles(gMapObjectPic_Boy3_1), - obj_frame_tiles(gMapObjectPic_Boy3_2), - obj_frame_tiles(gMapObjectPic_Boy3_3), - obj_frame_tiles(gMapObjectPic_Boy3_4), - obj_frame_tiles(gMapObjectPic_Boy3_5), - obj_frame_tiles(gMapObjectPic_Boy3_6), - obj_frame_tiles(gMapObjectPic_Boy3_7), - obj_frame_tiles(gMapObjectPic_Boy3_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Girl3[] = { - obj_frame_tiles(gMapObjectPic_Girl3_0), - obj_frame_tiles(gMapObjectPic_Girl3_1), - obj_frame_tiles(gMapObjectPic_Girl3_2), - obj_frame_tiles(gMapObjectPic_Girl3_3), - obj_frame_tiles(gMapObjectPic_Girl3_4), - obj_frame_tiles(gMapObjectPic_Girl3_5), - obj_frame_tiles(gMapObjectPic_Girl3_6), - obj_frame_tiles(gMapObjectPic_Girl3_7), - obj_frame_tiles(gMapObjectPic_Girl3_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Boy4[] = { - obj_frame_tiles(gMapObjectPic_Boy4_0), - obj_frame_tiles(gMapObjectPic_Boy4_1), - obj_frame_tiles(gMapObjectPic_Boy4_2), - obj_frame_tiles(gMapObjectPic_Boy4_3), - obj_frame_tiles(gMapObjectPic_Boy4_4), - obj_frame_tiles(gMapObjectPic_Boy4_5), - obj_frame_tiles(gMapObjectPic_Boy4_6), - obj_frame_tiles(gMapObjectPic_Boy4_7), - obj_frame_tiles(gMapObjectPic_Boy4_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman1[] = { - obj_frame_tiles(gMapObjectPic_Woman1_0), - obj_frame_tiles(gMapObjectPic_Woman1_1), - obj_frame_tiles(gMapObjectPic_Woman1_2), - obj_frame_tiles(gMapObjectPic_Woman1_3), - obj_frame_tiles(gMapObjectPic_Woman1_4), - obj_frame_tiles(gMapObjectPic_Woman1_5), - obj_frame_tiles(gMapObjectPic_Woman1_6), - obj_frame_tiles(gMapObjectPic_Woman1_7), - obj_frame_tiles(gMapObjectPic_Woman1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_FatMan[] = { - obj_frame_tiles(gMapObjectPic_FatMan_0), - obj_frame_tiles(gMapObjectPic_FatMan_1), - obj_frame_tiles(gMapObjectPic_FatMan_2), - obj_frame_tiles(gMapObjectPic_FatMan_3), - obj_frame_tiles(gMapObjectPic_FatMan_4), - obj_frame_tiles(gMapObjectPic_FatMan_5), - obj_frame_tiles(gMapObjectPic_FatMan_6), - obj_frame_tiles(gMapObjectPic_FatMan_7), - obj_frame_tiles(gMapObjectPic_FatMan_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman2[] = { - obj_frame_tiles(gMapObjectPic_Woman2_0), - obj_frame_tiles(gMapObjectPic_Woman2_1), - obj_frame_tiles(gMapObjectPic_Woman2_2), - obj_frame_tiles(gMapObjectPic_Woman2_3), - obj_frame_tiles(gMapObjectPic_Woman2_4), - obj_frame_tiles(gMapObjectPic_Woman2_5), - obj_frame_tiles(gMapObjectPic_Woman2_6), - obj_frame_tiles(gMapObjectPic_Woman2_7), - obj_frame_tiles(gMapObjectPic_Woman2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Man1[] = { - obj_frame_tiles(gMapObjectPic_Man1_0), - obj_frame_tiles(gMapObjectPic_Man1_1), - obj_frame_tiles(gMapObjectPic_Man1_2), - obj_frame_tiles(gMapObjectPic_Man1_3), - obj_frame_tiles(gMapObjectPic_Man1_4), - obj_frame_tiles(gMapObjectPic_Man1_5), - obj_frame_tiles(gMapObjectPic_Man1_6), - obj_frame_tiles(gMapObjectPic_Man1_7), - obj_frame_tiles(gMapObjectPic_Man1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman3[] = { - obj_frame_tiles(gMapObjectPic_Woman3_0), - obj_frame_tiles(gMapObjectPic_Woman3_1), - obj_frame_tiles(gMapObjectPic_Woman3_2), - obj_frame_tiles(gMapObjectPic_Woman3_3), - obj_frame_tiles(gMapObjectPic_Woman3_4), - obj_frame_tiles(gMapObjectPic_Woman3_5), - obj_frame_tiles(gMapObjectPic_Woman3_6), - obj_frame_tiles(gMapObjectPic_Woman3_7), - obj_frame_tiles(gMapObjectPic_Woman3_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_OldMan1[] = { - obj_frame_tiles(gMapObjectPic_OldMan1_0), - obj_frame_tiles(gMapObjectPic_OldMan1_1), - obj_frame_tiles(gMapObjectPic_OldMan1_2), - obj_frame_tiles(gMapObjectPic_OldMan1_3), - obj_frame_tiles(gMapObjectPic_OldMan1_4), - obj_frame_tiles(gMapObjectPic_OldMan1_5), - obj_frame_tiles(gMapObjectPic_OldMan1_6), - obj_frame_tiles(gMapObjectPic_OldMan1_7), - obj_frame_tiles(gMapObjectPic_OldMan1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_OldWoman1[] = { - obj_frame_tiles(gMapObjectPic_OldWoman1_0), - obj_frame_tiles(gMapObjectPic_OldWoman1_1), - obj_frame_tiles(gMapObjectPic_OldWoman1_2), - obj_frame_tiles(gMapObjectPic_OldWoman1_3), - obj_frame_tiles(gMapObjectPic_OldWoman1_4), - obj_frame_tiles(gMapObjectPic_OldWoman1_5), - obj_frame_tiles(gMapObjectPic_OldWoman1_6), - obj_frame_tiles(gMapObjectPic_OldWoman1_7), - obj_frame_tiles(gMapObjectPic_OldWoman1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Man2[] = { - obj_frame_tiles(gMapObjectPic_Man2_0), - obj_frame_tiles(gMapObjectPic_Man2_1), - obj_frame_tiles(gMapObjectPic_Man2_2), - obj_frame_tiles(gMapObjectPic_Man2_3), - obj_frame_tiles(gMapObjectPic_Man2_4), - obj_frame_tiles(gMapObjectPic_Man2_5), - obj_frame_tiles(gMapObjectPic_Man2_6), - obj_frame_tiles(gMapObjectPic_Man2_7), - obj_frame_tiles(gMapObjectPic_Man2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman4[] = { - obj_frame_tiles(gMapObjectPic_Woman4_0), - obj_frame_tiles(gMapObjectPic_Woman4_1), - obj_frame_tiles(gMapObjectPic_Woman4_2), - obj_frame_tiles(gMapObjectPic_Woman4_3), - obj_frame_tiles(gMapObjectPic_Woman4_4), - obj_frame_tiles(gMapObjectPic_Woman4_5), - obj_frame_tiles(gMapObjectPic_Woman4_6), - obj_frame_tiles(gMapObjectPic_Woman4_7), - obj_frame_tiles(gMapObjectPic_Woman4_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Man3[] = { - obj_frame_tiles(gMapObjectPic_Man3_0), - obj_frame_tiles(gMapObjectPic_Man3_1), - obj_frame_tiles(gMapObjectPic_Man3_2), - obj_frame_tiles(gMapObjectPic_Man3_3), - obj_frame_tiles(gMapObjectPic_Man3_4), - obj_frame_tiles(gMapObjectPic_Man3_5), - obj_frame_tiles(gMapObjectPic_Man3_6), - obj_frame_tiles(gMapObjectPic_Man3_7), - obj_frame_tiles(gMapObjectPic_Man3_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman5[] = { - obj_frame_tiles(gMapObjectPic_Woman5_0), - obj_frame_tiles(gMapObjectPic_Woman5_1), - obj_frame_tiles(gMapObjectPic_Woman5_2), - obj_frame_tiles(gMapObjectPic_Woman5_3), - obj_frame_tiles(gMapObjectPic_Woman5_4), - obj_frame_tiles(gMapObjectPic_Woman5_5), - obj_frame_tiles(gMapObjectPic_Woman5_6), - obj_frame_tiles(gMapObjectPic_Woman5_7), - obj_frame_tiles(gMapObjectPic_Woman5_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Cook[] = { - obj_frame_tiles(gMapObjectPic_Cook_0), - obj_frame_tiles(gMapObjectPic_Cook_1), - obj_frame_tiles(gMapObjectPic_Cook_2), - obj_frame_tiles(gMapObjectPic_Cook_0), - obj_frame_tiles(gMapObjectPic_Cook_0), - obj_frame_tiles(gMapObjectPic_Cook_1), - obj_frame_tiles(gMapObjectPic_Cook_1), - obj_frame_tiles(gMapObjectPic_Cook_2), - obj_frame_tiles(gMapObjectPic_Cook_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman6[] = { - obj_frame_tiles(gMapObjectPic_Woman6_0), - obj_frame_tiles(gMapObjectPic_Woman6_1), - obj_frame_tiles(gMapObjectPic_Woman6_2), - obj_frame_tiles(gMapObjectPic_Woman6_3), - obj_frame_tiles(gMapObjectPic_Woman6_4), - obj_frame_tiles(gMapObjectPic_Woman6_5), - obj_frame_tiles(gMapObjectPic_Woman6_6), - obj_frame_tiles(gMapObjectPic_Woman6_7), - obj_frame_tiles(gMapObjectPic_Woman6_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_OldMan2[] = { - obj_frame_tiles(gMapObjectPic_OldMan2_0), - obj_frame_tiles(gMapObjectPic_OldMan2_1), - obj_frame_tiles(gMapObjectPic_OldMan2_2), - obj_frame_tiles(gMapObjectPic_OldMan2_0), - obj_frame_tiles(gMapObjectPic_OldMan2_0), - obj_frame_tiles(gMapObjectPic_OldMan2_1), - obj_frame_tiles(gMapObjectPic_OldMan2_1), - obj_frame_tiles(gMapObjectPic_OldMan2_2), - obj_frame_tiles(gMapObjectPic_OldMan2_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_OldWoman2[] = { - obj_frame_tiles(gMapObjectPic_OldWoman2_0), - obj_frame_tiles(gMapObjectPic_OldWoman2_1), - obj_frame_tiles(gMapObjectPic_OldWoman2_2), - obj_frame_tiles(gMapObjectPic_OldWoman2_0), - obj_frame_tiles(gMapObjectPic_OldWoman2_0), - obj_frame_tiles(gMapObjectPic_OldWoman2_1), - obj_frame_tiles(gMapObjectPic_OldWoman2_1), - obj_frame_tiles(gMapObjectPic_OldWoman2_2), - obj_frame_tiles(gMapObjectPic_OldWoman2_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Camper[] = { - obj_frame_tiles(gMapObjectPic_Camper_0), - obj_frame_tiles(gMapObjectPic_Camper_1), - obj_frame_tiles(gMapObjectPic_Camper_2), - obj_frame_tiles(gMapObjectPic_Camper_3), - obj_frame_tiles(gMapObjectPic_Camper_4), - obj_frame_tiles(gMapObjectPic_Camper_5), - obj_frame_tiles(gMapObjectPic_Camper_6), - obj_frame_tiles(gMapObjectPic_Camper_7), - obj_frame_tiles(gMapObjectPic_Camper_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Picnicker[] = { - obj_frame_tiles(gMapObjectPic_Picnicker_0), - obj_frame_tiles(gMapObjectPic_Picnicker_1), - obj_frame_tiles(gMapObjectPic_Picnicker_2), - obj_frame_tiles(gMapObjectPic_Picnicker_3), - obj_frame_tiles(gMapObjectPic_Picnicker_4), - obj_frame_tiles(gMapObjectPic_Picnicker_5), - obj_frame_tiles(gMapObjectPic_Picnicker_6), - obj_frame_tiles(gMapObjectPic_Picnicker_7), - obj_frame_tiles(gMapObjectPic_Picnicker_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Man4[] = { - obj_frame_tiles(gMapObjectPic_Man4_0), - obj_frame_tiles(gMapObjectPic_Man4_1), - obj_frame_tiles(gMapObjectPic_Man4_2), - obj_frame_tiles(gMapObjectPic_Man4_3), - obj_frame_tiles(gMapObjectPic_Man4_4), - obj_frame_tiles(gMapObjectPic_Man4_5), - obj_frame_tiles(gMapObjectPic_Man4_6), - obj_frame_tiles(gMapObjectPic_Man4_7), - obj_frame_tiles(gMapObjectPic_Man4_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman7[] = { - obj_frame_tiles(gMapObjectPic_Woman7_0), - obj_frame_tiles(gMapObjectPic_Woman7_1), - obj_frame_tiles(gMapObjectPic_Woman7_2), - obj_frame_tiles(gMapObjectPic_Woman7_3), - obj_frame_tiles(gMapObjectPic_Woman7_4), - obj_frame_tiles(gMapObjectPic_Woman7_5), - obj_frame_tiles(gMapObjectPic_Woman7_6), - obj_frame_tiles(gMapObjectPic_Woman7_7), - obj_frame_tiles(gMapObjectPic_Woman7_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Youngster[] = { - obj_frame_tiles(gMapObjectPic_Youngster_0), - obj_frame_tiles(gMapObjectPic_Youngster_1), - obj_frame_tiles(gMapObjectPic_Youngster_2), - obj_frame_tiles(gMapObjectPic_Youngster_3), - obj_frame_tiles(gMapObjectPic_Youngster_4), - obj_frame_tiles(gMapObjectPic_Youngster_5), - obj_frame_tiles(gMapObjectPic_Youngster_6), - obj_frame_tiles(gMapObjectPic_Youngster_7), - obj_frame_tiles(gMapObjectPic_Youngster_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BugCatcher[] = { - obj_frame_tiles(gMapObjectPic_BugCatcher_0), - obj_frame_tiles(gMapObjectPic_BugCatcher_1), - obj_frame_tiles(gMapObjectPic_BugCatcher_2), - obj_frame_tiles(gMapObjectPic_BugCatcher_3), - obj_frame_tiles(gMapObjectPic_BugCatcher_4), - obj_frame_tiles(gMapObjectPic_BugCatcher_5), - obj_frame_tiles(gMapObjectPic_BugCatcher_6), - obj_frame_tiles(gMapObjectPic_BugCatcher_7), - obj_frame_tiles(gMapObjectPic_BugCatcher_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_PsychicM[] = { - obj_frame_tiles(gMapObjectPic_PsychicM_0), - obj_frame_tiles(gMapObjectPic_PsychicM_1), - obj_frame_tiles(gMapObjectPic_PsychicM_2), - obj_frame_tiles(gMapObjectPic_PsychicM_3), - obj_frame_tiles(gMapObjectPic_PsychicM_4), - obj_frame_tiles(gMapObjectPic_PsychicM_5), - obj_frame_tiles(gMapObjectPic_PsychicM_6), - obj_frame_tiles(gMapObjectPic_PsychicM_7), - obj_frame_tiles(gMapObjectPic_PsychicM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SchoolKidM[] = { - obj_frame_tiles(gMapObjectPic_SchoolKidM_0), - obj_frame_tiles(gMapObjectPic_SchoolKidM_1), - obj_frame_tiles(gMapObjectPic_SchoolKidM_2), - obj_frame_tiles(gMapObjectPic_SchoolKidM_3), - obj_frame_tiles(gMapObjectPic_SchoolKidM_4), - obj_frame_tiles(gMapObjectPic_SchoolKidM_5), - obj_frame_tiles(gMapObjectPic_SchoolKidM_6), - obj_frame_tiles(gMapObjectPic_SchoolKidM_7), - obj_frame_tiles(gMapObjectPic_SchoolKidM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Maniac[] = { - obj_frame_tiles(gMapObjectPic_Maniac_0), - obj_frame_tiles(gMapObjectPic_Maniac_1), - obj_frame_tiles(gMapObjectPic_Maniac_2), - obj_frame_tiles(gMapObjectPic_Maniac_3), - obj_frame_tiles(gMapObjectPic_Maniac_4), - obj_frame_tiles(gMapObjectPic_Maniac_5), - obj_frame_tiles(gMapObjectPic_Maniac_6), - obj_frame_tiles(gMapObjectPic_Maniac_7), - obj_frame_tiles(gMapObjectPic_Maniac_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_HexManiac[] = { - obj_frame_tiles(gMapObjectPic_HexManiac_0), - obj_frame_tiles(gMapObjectPic_HexManiac_1), - obj_frame_tiles(gMapObjectPic_HexManiac_2), - obj_frame_tiles(gMapObjectPic_HexManiac_3), - obj_frame_tiles(gMapObjectPic_HexManiac_4), - obj_frame_tiles(gMapObjectPic_HexManiac_5), - obj_frame_tiles(gMapObjectPic_HexManiac_6), - obj_frame_tiles(gMapObjectPic_HexManiac_7), - obj_frame_tiles(gMapObjectPic_HexManiac_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Woman8[] = { - obj_frame_tiles(gMapObjectPic_Woman8_0), - obj_frame_tiles(gMapObjectPic_Woman8_1), - obj_frame_tiles(gMapObjectPic_Woman8_2), - obj_frame_tiles(gMapObjectPic_Woman8_3), - obj_frame_tiles(gMapObjectPic_Woman8_4), - obj_frame_tiles(gMapObjectPic_Woman8_5), - obj_frame_tiles(gMapObjectPic_Woman8_6), - obj_frame_tiles(gMapObjectPic_Woman8_7), - obj_frame_tiles(gMapObjectPic_Woman8_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SwimmerM[] = { - obj_frame_tiles(gMapObjectPic_SwimmerM_0), - obj_frame_tiles(gMapObjectPic_SwimmerM_1), - obj_frame_tiles(gMapObjectPic_SwimmerM_2), - obj_frame_tiles(gMapObjectPic_SwimmerM_3), - obj_frame_tiles(gMapObjectPic_SwimmerM_4), - obj_frame_tiles(gMapObjectPic_SwimmerM_5), - obj_frame_tiles(gMapObjectPic_SwimmerM_6), - obj_frame_tiles(gMapObjectPic_SwimmerM_7), - obj_frame_tiles(gMapObjectPic_SwimmerM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SwimmerF[] = { - obj_frame_tiles(gMapObjectPic_SwimmerF_0), - obj_frame_tiles(gMapObjectPic_SwimmerF_1), - obj_frame_tiles(gMapObjectPic_SwimmerF_2), - obj_frame_tiles(gMapObjectPic_SwimmerF_3), - obj_frame_tiles(gMapObjectPic_SwimmerF_4), - obj_frame_tiles(gMapObjectPic_SwimmerF_5), - obj_frame_tiles(gMapObjectPic_SwimmerF_6), - obj_frame_tiles(gMapObjectPic_SwimmerF_7), - obj_frame_tiles(gMapObjectPic_SwimmerF_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BlackBelt[] = { - obj_frame_tiles(gMapObjectPic_BlackBelt_0), - obj_frame_tiles(gMapObjectPic_BlackBelt_1), - obj_frame_tiles(gMapObjectPic_BlackBelt_2), - obj_frame_tiles(gMapObjectPic_BlackBelt_3), - obj_frame_tiles(gMapObjectPic_BlackBelt_4), - obj_frame_tiles(gMapObjectPic_BlackBelt_5), - obj_frame_tiles(gMapObjectPic_BlackBelt_6), - obj_frame_tiles(gMapObjectPic_BlackBelt_7), - obj_frame_tiles(gMapObjectPic_BlackBelt_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Beauty[] = { - obj_frame_tiles(gMapObjectPic_Beauty_0), - obj_frame_tiles(gMapObjectPic_Beauty_1), - obj_frame_tiles(gMapObjectPic_Beauty_2), - obj_frame_tiles(gMapObjectPic_Beauty_3), - obj_frame_tiles(gMapObjectPic_Beauty_4), - obj_frame_tiles(gMapObjectPic_Beauty_5), - obj_frame_tiles(gMapObjectPic_Beauty_6), - obj_frame_tiles(gMapObjectPic_Beauty_7), - obj_frame_tiles(gMapObjectPic_Beauty_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Scientist1[] = { - obj_frame_tiles(gMapObjectPic_Scientist1_0), - obj_frame_tiles(gMapObjectPic_Scientist1_1), - obj_frame_tiles(gMapObjectPic_Scientist1_2), - obj_frame_tiles(gMapObjectPic_Scientist1_3), - obj_frame_tiles(gMapObjectPic_Scientist1_4), - obj_frame_tiles(gMapObjectPic_Scientist1_5), - obj_frame_tiles(gMapObjectPic_Scientist1_6), - obj_frame_tiles(gMapObjectPic_Scientist1_7), - obj_frame_tiles(gMapObjectPic_Scientist1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Lass[] = { - obj_frame_tiles(gMapObjectPic_Lass_0), - obj_frame_tiles(gMapObjectPic_Lass_1), - obj_frame_tiles(gMapObjectPic_Lass_2), - obj_frame_tiles(gMapObjectPic_Lass_3), - obj_frame_tiles(gMapObjectPic_Lass_4), - obj_frame_tiles(gMapObjectPic_Lass_5), - obj_frame_tiles(gMapObjectPic_Lass_6), - obj_frame_tiles(gMapObjectPic_Lass_7), - obj_frame_tiles(gMapObjectPic_Lass_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Gentleman[] = { - obj_frame_tiles(gMapObjectPic_Gentleman_0), - obj_frame_tiles(gMapObjectPic_Gentleman_1), - obj_frame_tiles(gMapObjectPic_Gentleman_2), - obj_frame_tiles(gMapObjectPic_Gentleman_3), - obj_frame_tiles(gMapObjectPic_Gentleman_4), - obj_frame_tiles(gMapObjectPic_Gentleman_5), - obj_frame_tiles(gMapObjectPic_Gentleman_6), - obj_frame_tiles(gMapObjectPic_Gentleman_7), - obj_frame_tiles(gMapObjectPic_Gentleman_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Sailor[] = { - obj_frame_tiles(gMapObjectPic_Sailor_0), - obj_frame_tiles(gMapObjectPic_Sailor_1), - obj_frame_tiles(gMapObjectPic_Sailor_2), - obj_frame_tiles(gMapObjectPic_Sailor_3), - obj_frame_tiles(gMapObjectPic_Sailor_4), - obj_frame_tiles(gMapObjectPic_Sailor_5), - obj_frame_tiles(gMapObjectPic_Sailor_6), - obj_frame_tiles(gMapObjectPic_Sailor_7), - obj_frame_tiles(gMapObjectPic_Sailor_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Fisherman[] = { - obj_frame_tiles(gMapObjectPic_Fisherman_0), - obj_frame_tiles(gMapObjectPic_Fisherman_1), - obj_frame_tiles(gMapObjectPic_Fisherman_2), - obj_frame_tiles(gMapObjectPic_Fisherman_3), - obj_frame_tiles(gMapObjectPic_Fisherman_4), - obj_frame_tiles(gMapObjectPic_Fisherman_5), - obj_frame_tiles(gMapObjectPic_Fisherman_6), - obj_frame_tiles(gMapObjectPic_Fisherman_7), - obj_frame_tiles(gMapObjectPic_Fisherman_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_RunningTriathleteM[] = { - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_0), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_1), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_2), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_3), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_4), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_5), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_6), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_7), - obj_frame_tiles(gMapObjectPic_RunningTriathleteM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_RunningTriathleteF[] = { - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_0), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_1), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_2), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_3), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_4), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_5), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_6), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_7), - obj_frame_tiles(gMapObjectPic_RunningTriathleteF_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_TuberF[] = { - obj_frame_tiles(gMapObjectPic_TuberF_0), - obj_frame_tiles(gMapObjectPic_TuberF_1), - obj_frame_tiles(gMapObjectPic_TuberF_2), - obj_frame_tiles(gMapObjectPic_TuberF_3), - obj_frame_tiles(gMapObjectPic_TuberF_4), - obj_frame_tiles(gMapObjectPic_TuberF_5), - obj_frame_tiles(gMapObjectPic_TuberF_6), - obj_frame_tiles(gMapObjectPic_TuberF_7), - obj_frame_tiles(gMapObjectPic_TuberF_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_TuberM[] = { - obj_frame_tiles(gMapObjectPic_TuberM_0), - obj_frame_tiles(gMapObjectPic_TuberM_1), - obj_frame_tiles(gMapObjectPic_TuberM_2), - obj_frame_tiles(gMapObjectPic_TuberM_3), - obj_frame_tiles(gMapObjectPic_TuberM_4), - obj_frame_tiles(gMapObjectPic_TuberM_5), - obj_frame_tiles(gMapObjectPic_TuberM_6), - obj_frame_tiles(gMapObjectPic_TuberM_7), - obj_frame_tiles(gMapObjectPic_TuberM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Hiker[] = { - obj_frame_tiles(gMapObjectPic_Hiker_0), - obj_frame_tiles(gMapObjectPic_Hiker_1), - obj_frame_tiles(gMapObjectPic_Hiker_2), - obj_frame_tiles(gMapObjectPic_Hiker_3), - obj_frame_tiles(gMapObjectPic_Hiker_4), - obj_frame_tiles(gMapObjectPic_Hiker_5), - obj_frame_tiles(gMapObjectPic_Hiker_6), - obj_frame_tiles(gMapObjectPic_Hiker_7), - obj_frame_tiles(gMapObjectPic_Hiker_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_CyclingTriathleteM[] = { - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_0), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_1), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_2), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_3), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_4), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_5), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_6), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_7), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_CyclingTriathleteF[] = { - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_0), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_1), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_2), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_3), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_4), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_5), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_6), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_7), - obj_frame_tiles(gMapObjectPic_CyclingTriathleteF_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Nurse[] = { - obj_frame_tiles(gMapObjectPic_Nurse_0), - obj_frame_tiles(gMapObjectPic_Nurse_1), - obj_frame_tiles(gMapObjectPic_Nurse_2), - obj_frame_tiles(gMapObjectPic_Nurse_3), - obj_frame_tiles(gMapObjectPic_Nurse_4), - obj_frame_tiles(gMapObjectPic_Nurse_5), - obj_frame_tiles(gMapObjectPic_Nurse_6), - obj_frame_tiles(gMapObjectPic_Nurse_7), - obj_frame_tiles(gMapObjectPic_Nurse_8), - obj_frame_tiles(gMapObjectPic_Nurse_9) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ItemBall[] = { - obj_frame_tiles(gMapObjectPic_ItemBall) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ProfBirch[] = { - obj_frame_tiles(gMapObjectPic_ProfBirch_0), - obj_frame_tiles(gMapObjectPic_ProfBirch_1), - obj_frame_tiles(gMapObjectPic_ProfBirch_2), - obj_frame_tiles(gMapObjectPic_ProfBirch_3), - obj_frame_tiles(gMapObjectPic_ProfBirch_4), - obj_frame_tiles(gMapObjectPic_ProfBirch_5), - obj_frame_tiles(gMapObjectPic_ProfBirch_6), - obj_frame_tiles(gMapObjectPic_ProfBirch_7), - obj_frame_tiles(gMapObjectPic_ProfBirch_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Man5[] = { - obj_frame_tiles(gMapObjectPic_Man5_0), - obj_frame_tiles(gMapObjectPic_Man5_1), - obj_frame_tiles(gMapObjectPic_Man5_2), - obj_frame_tiles(gMapObjectPic_Man5_3), - obj_frame_tiles(gMapObjectPic_Man5_4), - obj_frame_tiles(gMapObjectPic_Man5_5), - obj_frame_tiles(gMapObjectPic_Man5_6), - obj_frame_tiles(gMapObjectPic_Man5_7), - obj_frame_tiles(gMapObjectPic_Man5_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Man6[] = { - obj_frame_tiles(gMapObjectPic_Man6_0), - obj_frame_tiles(gMapObjectPic_Man6_1), - obj_frame_tiles(gMapObjectPic_Man6_2), - obj_frame_tiles(gMapObjectPic_Man6_3), - obj_frame_tiles(gMapObjectPic_Man6_4), - obj_frame_tiles(gMapObjectPic_Man6_5), - obj_frame_tiles(gMapObjectPic_Man6_6), - obj_frame_tiles(gMapObjectPic_Man6_7), - obj_frame_tiles(gMapObjectPic_Man6_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ReporterM[] = { - obj_frame_tiles(gMapObjectPic_ReporterM_0), - obj_frame_tiles(gMapObjectPic_ReporterM_1), - obj_frame_tiles(gMapObjectPic_ReporterM_2), - obj_frame_tiles(gMapObjectPic_ReporterM_3), - obj_frame_tiles(gMapObjectPic_ReporterM_4), - obj_frame_tiles(gMapObjectPic_ReporterM_5), - obj_frame_tiles(gMapObjectPic_ReporterM_6), - obj_frame_tiles(gMapObjectPic_ReporterM_7), - obj_frame_tiles(gMapObjectPic_ReporterM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ReporterF[] = { - obj_frame_tiles(gMapObjectPic_ReporterF_0), - obj_frame_tiles(gMapObjectPic_ReporterF_1), - obj_frame_tiles(gMapObjectPic_ReporterF_2), - obj_frame_tiles(gMapObjectPic_ReporterF_3), - obj_frame_tiles(gMapObjectPic_ReporterF_4), - obj_frame_tiles(gMapObjectPic_ReporterF_5), - obj_frame_tiles(gMapObjectPic_ReporterF_6), - obj_frame_tiles(gMapObjectPic_ReporterF_7), - obj_frame_tiles(gMapObjectPic_ReporterF_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MauvilleOldMan1[] = { - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_0), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_1), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_2), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_3), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_4), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_5), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_6), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_7), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan1_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MauvilleOldMan2[] = { - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_0), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_1), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_2), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_3), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_4), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_5), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_6), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_7), - obj_frame_tiles(gMapObjectPic_MauvilleOldMan2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_UnusedNatuDoll[] = { - obj_frame_tiles(gMapObjectPic_UnusedNatuDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_UnusedMagnemiteDoll[] = { - obj_frame_tiles(gMapObjectPic_UnusedMagnemiteDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_UnusedSquirtleDoll[] = { - obj_frame_tiles(gMapObjectPic_UnusedSquirtleDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_UnusedWooperDoll[] = { - obj_frame_tiles(gMapObjectPic_UnusedWooperDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_UnusedPikachuDoll[] = { - obj_frame_tiles(gMapObjectPic_UnusedPikachuDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_UnusedPorygon2Doll[] = { - obj_frame_tiles(gMapObjectPic_UnusedPorygon2Doll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_CuttableTree[] = { - obj_frame_tiles(gMapObjectPic_CuttableTree_0), - obj_frame_tiles(gMapObjectPic_CuttableTree_1), - obj_frame_tiles(gMapObjectPic_CuttableTree_2), - obj_frame_tiles(gMapObjectPic_CuttableTree_3) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MartEmployee[] = { - obj_frame_tiles(gMapObjectPic_MartEmployee_0), - obj_frame_tiles(gMapObjectPic_MartEmployee_1), - obj_frame_tiles(gMapObjectPic_MartEmployee_2), - obj_frame_tiles(gMapObjectPic_MartEmployee_3), - obj_frame_tiles(gMapObjectPic_MartEmployee_4), - obj_frame_tiles(gMapObjectPic_MartEmployee_5), - obj_frame_tiles(gMapObjectPic_MartEmployee_6), - obj_frame_tiles(gMapObjectPic_MartEmployee_7), - obj_frame_tiles(gMapObjectPic_MartEmployee_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_RooftopSaleWoman[] = { - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_0), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_1), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_2), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_3), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_4), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_5), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_6), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_7), - obj_frame_tiles(gMapObjectPic_RooftopSaleWoman_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Teala[] = { - obj_frame_tiles(gMapObjectPic_Teala_0), - obj_frame_tiles(gMapObjectPic_Teala_1), - obj_frame_tiles(gMapObjectPic_Teala_2), - obj_frame_tiles(gMapObjectPic_Teala_3), - obj_frame_tiles(gMapObjectPic_Teala_4), - obj_frame_tiles(gMapObjectPic_Teala_5), - obj_frame_tiles(gMapObjectPic_Teala_6), - obj_frame_tiles(gMapObjectPic_Teala_7), - obj_frame_tiles(gMapObjectPic_Teala_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BreakableRock[] = { - obj_frame_tiles(gMapObjectPic_BreakableRock_0), - obj_frame_tiles(gMapObjectPic_BreakableRock_1), - obj_frame_tiles(gMapObjectPic_BreakableRock_2), - obj_frame_tiles(gMapObjectPic_BreakableRock_3) -}; - -const struct SpriteFrameImage gMapObjectPicTable_PushableBoulder[] = { - obj_frame_tiles(gMapObjectPic_PushableBoulder) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MrBrineysBoat[] = { - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_2), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_2), - obj_frame_tiles(gMapObjectPic_MrBrineysBoat_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Truck[] = { - obj_frame_tiles(gMapObjectPic_Truck) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MachokeCarryingBox[] = { - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_0), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_0), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_0), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_1), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_2), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_1), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_2), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_1), - obj_frame_tiles(gMapObjectPic_MachokeCarryingBox_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MachokeFacingAway[] = { - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_0), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_0), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_0), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_1), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_1), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_1), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_1), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_1), - obj_frame_tiles(gMapObjectPic_MachokeFacingAway_1) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BirchsBag[] = { - obj_frame_tiles(gMapObjectPic_BirchsBag) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Poochyena[] = { - obj_frame_tiles(gMapObjectPic_Poochyena_0), - obj_frame_tiles(gMapObjectPic_Poochyena_1), - obj_frame_tiles(gMapObjectPic_Poochyena_2), - obj_frame_tiles(gMapObjectPic_Poochyena_3), - obj_frame_tiles(gMapObjectPic_Poochyena_4), - obj_frame_tiles(gMapObjectPic_Poochyena_5), - obj_frame_tiles(gMapObjectPic_Poochyena_6), - obj_frame_tiles(gMapObjectPic_Poochyena_7), - obj_frame_tiles(gMapObjectPic_Poochyena_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Artist[] = { - obj_frame_tiles(gMapObjectPic_Artist_0), - obj_frame_tiles(gMapObjectPic_Artist_1), - obj_frame_tiles(gMapObjectPic_Artist_2), - obj_frame_tiles(gMapObjectPic_Artist_3), - obj_frame_tiles(gMapObjectPic_Artist_4), - obj_frame_tiles(gMapObjectPic_Artist_5), - obj_frame_tiles(gMapObjectPic_Artist_6), - obj_frame_tiles(gMapObjectPic_Artist_7), - obj_frame_tiles(gMapObjectPic_Artist_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayNormal[] = { - obj_frame_tiles(gMapObjectPic_MayNormal_0), - obj_frame_tiles(gMapObjectPic_MayNormal_1), - obj_frame_tiles(gMapObjectPic_MayNormal_2), - obj_frame_tiles(gMapObjectPic_MayNormal_3), - obj_frame_tiles(gMapObjectPic_MayNormal_4), - obj_frame_tiles(gMapObjectPic_MayNormal_5), - obj_frame_tiles(gMapObjectPic_MayNormal_6), - obj_frame_tiles(gMapObjectPic_MayNormal_7), - obj_frame_tiles(gMapObjectPic_MayNormal_8), - obj_frame_tiles(gMapObjectPic_MayNormal_9), - obj_frame_tiles(gMapObjectPic_MayNormal_10), - obj_frame_tiles(gMapObjectPic_MayNormal_11), - obj_frame_tiles(gMapObjectPic_MayNormal_12), - obj_frame_tiles(gMapObjectPic_MayNormal_13), - obj_frame_tiles(gMapObjectPic_MayNormal_14), - obj_frame_tiles(gMapObjectPic_MayNormal_15), - obj_frame_tiles(gMapObjectPic_MayNormal_16), - obj_frame_tiles(gMapObjectPic_MayNormal_17) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayMachBike[] = { - obj_frame_tiles(gMapObjectPic_MayMachBike_0), - obj_frame_tiles(gMapObjectPic_MayMachBike_1), - obj_frame_tiles(gMapObjectPic_MayMachBike_2), - obj_frame_tiles(gMapObjectPic_MayMachBike_3), - obj_frame_tiles(gMapObjectPic_MayMachBike_4), - obj_frame_tiles(gMapObjectPic_MayMachBike_5), - obj_frame_tiles(gMapObjectPic_MayMachBike_6), - obj_frame_tiles(gMapObjectPic_MayMachBike_7), - obj_frame_tiles(gMapObjectPic_MayMachBike_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayAcroBike[] = { - obj_frame_tiles(gMapObjectPic_MayAcroBike_0), - obj_frame_tiles(gMapObjectPic_MayAcroBike_1), - obj_frame_tiles(gMapObjectPic_MayAcroBike_2), - obj_frame_tiles(gMapObjectPic_MayAcroBike_3), - obj_frame_tiles(gMapObjectPic_MayAcroBike_4), - obj_frame_tiles(gMapObjectPic_MayAcroBike_5), - obj_frame_tiles(gMapObjectPic_MayAcroBike_6), - obj_frame_tiles(gMapObjectPic_MayAcroBike_7), - obj_frame_tiles(gMapObjectPic_MayAcroBike_8), - obj_frame_tiles(gMapObjectPic_MayAcroBike_9), - obj_frame_tiles(gMapObjectPic_MayAcroBike_10), - obj_frame_tiles(gMapObjectPic_MayAcroBike_11), - obj_frame_tiles(gMapObjectPic_MayAcroBike_12), - obj_frame_tiles(gMapObjectPic_MayAcroBike_13), - obj_frame_tiles(gMapObjectPic_MayAcroBike_14), - obj_frame_tiles(gMapObjectPic_MayAcroBike_15), - obj_frame_tiles(gMapObjectPic_MayAcroBike_16), - obj_frame_tiles(gMapObjectPic_MayAcroBike_17), - obj_frame_tiles(gMapObjectPic_MayAcroBike_18), - obj_frame_tiles(gMapObjectPic_MayAcroBike_19), - obj_frame_tiles(gMapObjectPic_MayAcroBike_20), - obj_frame_tiles(gMapObjectPic_MayAcroBike_21), - obj_frame_tiles(gMapObjectPic_MayAcroBike_22), - obj_frame_tiles(gMapObjectPic_MayAcroBike_23), - obj_frame_tiles(gMapObjectPic_MayAcroBike_24), - obj_frame_tiles(gMapObjectPic_MayAcroBike_25), - obj_frame_tiles(gMapObjectPic_MayAcroBike_26) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MaySurfing[] = { - obj_frame_tiles(gMapObjectPic_MaySurfing_0), - obj_frame_tiles(gMapObjectPic_MaySurfing_1), - obj_frame_tiles(gMapObjectPic_MaySurfing_2), - obj_frame_tiles(gMapObjectPic_MaySurfing_0), - obj_frame_tiles(gMapObjectPic_MaySurfing_0), - obj_frame_tiles(gMapObjectPic_MaySurfing_1), - obj_frame_tiles(gMapObjectPic_MaySurfing_1), - obj_frame_tiles(gMapObjectPic_MaySurfing_2), - obj_frame_tiles(gMapObjectPic_MaySurfing_2), - obj_frame_tiles(gMapObjectPic_MaySurfing_3), - obj_frame_tiles(gMapObjectPic_MaySurfing_4), - obj_frame_tiles(gMapObjectPic_MaySurfing_5) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayUnderwater[] = { - obj_frame_tiles(gMapObjectPic_MayUnderwater_0), - obj_frame_tiles(gMapObjectPic_MayUnderwater_1), - obj_frame_tiles(gMapObjectPic_MayUnderwater_2), - obj_frame_tiles(gMapObjectPic_MayUnderwater_0), - obj_frame_tiles(gMapObjectPic_MayUnderwater_0), - obj_frame_tiles(gMapObjectPic_MayUnderwater_1), - obj_frame_tiles(gMapObjectPic_MayUnderwater_1), - obj_frame_tiles(gMapObjectPic_MayUnderwater_2), - obj_frame_tiles(gMapObjectPic_MayUnderwater_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayFieldMove[] = { - obj_frame_tiles(gMapObjectPic_MayFieldMove_0), - obj_frame_tiles(gMapObjectPic_MayFieldMove_1), - obj_frame_tiles(gMapObjectPic_MayFieldMove_2), - obj_frame_tiles(gMapObjectPic_MayFieldMove_3), - obj_frame_tiles(gMapObjectPic_MayFieldMove_4) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Cameraman[] = { - obj_frame_tiles(gMapObjectPic_Cameraman_0), - obj_frame_tiles(gMapObjectPic_Cameraman_1), - obj_frame_tiles(gMapObjectPic_Cameraman_2), - obj_frame_tiles(gMapObjectPic_Cameraman_3), - obj_frame_tiles(gMapObjectPic_Cameraman_4), - obj_frame_tiles(gMapObjectPic_Cameraman_5), - obj_frame_tiles(gMapObjectPic_Cameraman_6), - obj_frame_tiles(gMapObjectPic_Cameraman_7), - obj_frame_tiles(gMapObjectPic_Cameraman_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MovingBox[] = { - obj_frame_tiles(gMapObjectPic_MovingBox) -}; - -const struct SpriteFrameImage gMapObjectPicTable_CableCar[] = { - obj_frame_tiles(gMapObjectPic_CableCar) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Scientist2[] = { - obj_frame_tiles(gMapObjectPic_Scientist2_0), - obj_frame_tiles(gMapObjectPic_Scientist2_1), - obj_frame_tiles(gMapObjectPic_Scientist2_2), - obj_frame_tiles(gMapObjectPic_Scientist2_3), - obj_frame_tiles(gMapObjectPic_Scientist2_4), - obj_frame_tiles(gMapObjectPic_Scientist2_5), - obj_frame_tiles(gMapObjectPic_Scientist2_6), - obj_frame_tiles(gMapObjectPic_Scientist2_7), - obj_frame_tiles(gMapObjectPic_Scientist2_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Man7[] = { - obj_frame_tiles(gMapObjectPic_Man7_0), - obj_frame_tiles(gMapObjectPic_Man7_1), - obj_frame_tiles(gMapObjectPic_Man7_2), - obj_frame_tiles(gMapObjectPic_Man7_3), - obj_frame_tiles(gMapObjectPic_Man7_4), - obj_frame_tiles(gMapObjectPic_Man7_5), - obj_frame_tiles(gMapObjectPic_Man7_6), - obj_frame_tiles(gMapObjectPic_Man7_7), - obj_frame_tiles(gMapObjectPic_Man7_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_AquaMemberM[] = { - obj_frame_tiles(gMapObjectPic_AquaMemberM_0), - obj_frame_tiles(gMapObjectPic_AquaMemberM_1), - obj_frame_tiles(gMapObjectPic_AquaMemberM_2), - obj_frame_tiles(gMapObjectPic_AquaMemberM_3), - obj_frame_tiles(gMapObjectPic_AquaMemberM_4), - obj_frame_tiles(gMapObjectPic_AquaMemberM_5), - obj_frame_tiles(gMapObjectPic_AquaMemberM_6), - obj_frame_tiles(gMapObjectPic_AquaMemberM_7), - obj_frame_tiles(gMapObjectPic_AquaMemberM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_AquaMemberF[] = { - obj_frame_tiles(gMapObjectPic_AquaMemberF_0), - obj_frame_tiles(gMapObjectPic_AquaMemberF_1), - obj_frame_tiles(gMapObjectPic_AquaMemberF_2), - obj_frame_tiles(gMapObjectPic_AquaMemberF_3), - obj_frame_tiles(gMapObjectPic_AquaMemberF_4), - obj_frame_tiles(gMapObjectPic_AquaMemberF_5), - obj_frame_tiles(gMapObjectPic_AquaMemberF_6), - obj_frame_tiles(gMapObjectPic_AquaMemberF_7), - obj_frame_tiles(gMapObjectPic_AquaMemberF_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MagmaMemberM[] = { - obj_frame_tiles(gMapObjectPic_MagmaMemberM_0), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_1), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_2), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_3), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_4), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_5), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_6), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_7), - obj_frame_tiles(gMapObjectPic_MagmaMemberM_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MagmaMemberF[] = { - obj_frame_tiles(gMapObjectPic_MagmaMemberF_0), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_1), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_2), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_3), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_4), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_5), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_6), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_7), - obj_frame_tiles(gMapObjectPic_MagmaMemberF_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Sidney[] = { - obj_frame_tiles(gMapObjectPic_Sidney_0), - obj_frame_tiles(gMapObjectPic_Sidney_1), - obj_frame_tiles(gMapObjectPic_Sidney_2), - obj_frame_tiles(gMapObjectPic_Sidney_0), - obj_frame_tiles(gMapObjectPic_Sidney_0), - obj_frame_tiles(gMapObjectPic_Sidney_1), - obj_frame_tiles(gMapObjectPic_Sidney_1), - obj_frame_tiles(gMapObjectPic_Sidney_2), - obj_frame_tiles(gMapObjectPic_Sidney_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Phoebe[] = { - obj_frame_tiles(gMapObjectPic_Phoebe_0), - obj_frame_tiles(gMapObjectPic_Phoebe_1), - obj_frame_tiles(gMapObjectPic_Phoebe_2), - obj_frame_tiles(gMapObjectPic_Phoebe_0), - obj_frame_tiles(gMapObjectPic_Phoebe_0), - obj_frame_tiles(gMapObjectPic_Phoebe_1), - obj_frame_tiles(gMapObjectPic_Phoebe_1), - obj_frame_tiles(gMapObjectPic_Phoebe_2), - obj_frame_tiles(gMapObjectPic_Phoebe_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Glacia[] = { - obj_frame_tiles(gMapObjectPic_Glacia_0), - obj_frame_tiles(gMapObjectPic_Glacia_1), - obj_frame_tiles(gMapObjectPic_Glacia_2), - obj_frame_tiles(gMapObjectPic_Glacia_0), - obj_frame_tiles(gMapObjectPic_Glacia_0), - obj_frame_tiles(gMapObjectPic_Glacia_1), - obj_frame_tiles(gMapObjectPic_Glacia_1), - obj_frame_tiles(gMapObjectPic_Glacia_2), - obj_frame_tiles(gMapObjectPic_Glacia_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Drake[] = { - obj_frame_tiles(gMapObjectPic_Drake_0), - obj_frame_tiles(gMapObjectPic_Drake_1), - obj_frame_tiles(gMapObjectPic_Drake_2), - obj_frame_tiles(gMapObjectPic_Drake_0), - obj_frame_tiles(gMapObjectPic_Drake_0), - obj_frame_tiles(gMapObjectPic_Drake_1), - obj_frame_tiles(gMapObjectPic_Drake_1), - obj_frame_tiles(gMapObjectPic_Drake_2), - obj_frame_tiles(gMapObjectPic_Drake_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Roxanne[] = { - obj_frame_tiles(gMapObjectPic_Roxanne_0), - obj_frame_tiles(gMapObjectPic_Roxanne_1), - obj_frame_tiles(gMapObjectPic_Roxanne_2), - obj_frame_tiles(gMapObjectPic_Roxanne_0), - obj_frame_tiles(gMapObjectPic_Roxanne_0), - obj_frame_tiles(gMapObjectPic_Roxanne_1), - obj_frame_tiles(gMapObjectPic_Roxanne_1), - obj_frame_tiles(gMapObjectPic_Roxanne_2), - obj_frame_tiles(gMapObjectPic_Roxanne_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Brawly[] = { - obj_frame_tiles(gMapObjectPic_Brawly_0), - obj_frame_tiles(gMapObjectPic_Brawly_1), - obj_frame_tiles(gMapObjectPic_Brawly_2), - obj_frame_tiles(gMapObjectPic_Brawly_0), - obj_frame_tiles(gMapObjectPic_Brawly_0), - obj_frame_tiles(gMapObjectPic_Brawly_1), - obj_frame_tiles(gMapObjectPic_Brawly_1), - obj_frame_tiles(gMapObjectPic_Brawly_2), - obj_frame_tiles(gMapObjectPic_Brawly_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Wattson[] = { - obj_frame_tiles(gMapObjectPic_Wattson_0), - obj_frame_tiles(gMapObjectPic_Wattson_1), - obj_frame_tiles(gMapObjectPic_Wattson_2), - obj_frame_tiles(gMapObjectPic_Wattson_0), - obj_frame_tiles(gMapObjectPic_Wattson_0), - obj_frame_tiles(gMapObjectPic_Wattson_1), - obj_frame_tiles(gMapObjectPic_Wattson_1), - obj_frame_tiles(gMapObjectPic_Wattson_2), - obj_frame_tiles(gMapObjectPic_Wattson_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Flannery[] = { - obj_frame_tiles(gMapObjectPic_Flannery_0), - obj_frame_tiles(gMapObjectPic_Flannery_1), - obj_frame_tiles(gMapObjectPic_Flannery_2), - obj_frame_tiles(gMapObjectPic_Flannery_0), - obj_frame_tiles(gMapObjectPic_Flannery_0), - obj_frame_tiles(gMapObjectPic_Flannery_1), - obj_frame_tiles(gMapObjectPic_Flannery_1), - obj_frame_tiles(gMapObjectPic_Flannery_2), - obj_frame_tiles(gMapObjectPic_Flannery_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Norman[] = { - obj_frame_tiles(gMapObjectPic_Norman_0), - obj_frame_tiles(gMapObjectPic_Norman_1), - obj_frame_tiles(gMapObjectPic_Norman_2), - obj_frame_tiles(gMapObjectPic_Norman_3), - obj_frame_tiles(gMapObjectPic_Norman_4), - obj_frame_tiles(gMapObjectPic_Norman_5), - obj_frame_tiles(gMapObjectPic_Norman_6), - obj_frame_tiles(gMapObjectPic_Norman_7), - obj_frame_tiles(gMapObjectPic_Norman_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Winona[] = { - obj_frame_tiles(gMapObjectPic_Winona_0), - obj_frame_tiles(gMapObjectPic_Winona_1), - obj_frame_tiles(gMapObjectPic_Winona_2), - obj_frame_tiles(gMapObjectPic_Winona_0), - obj_frame_tiles(gMapObjectPic_Winona_0), - obj_frame_tiles(gMapObjectPic_Winona_1), - obj_frame_tiles(gMapObjectPic_Winona_1), - obj_frame_tiles(gMapObjectPic_Winona_2), - obj_frame_tiles(gMapObjectPic_Winona_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Liza[] = { - obj_frame_tiles(gMapObjectPic_Liza_0), - obj_frame_tiles(gMapObjectPic_Liza_1), - obj_frame_tiles(gMapObjectPic_Liza_2), - obj_frame_tiles(gMapObjectPic_Liza_0), - obj_frame_tiles(gMapObjectPic_Liza_0), - obj_frame_tiles(gMapObjectPic_Liza_1), - obj_frame_tiles(gMapObjectPic_Liza_1), - obj_frame_tiles(gMapObjectPic_Liza_2), - obj_frame_tiles(gMapObjectPic_Liza_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Tate[] = { - obj_frame_tiles(gMapObjectPic_Tate_0), - obj_frame_tiles(gMapObjectPic_Tate_1), - obj_frame_tiles(gMapObjectPic_Tate_2), - obj_frame_tiles(gMapObjectPic_Tate_0), - obj_frame_tiles(gMapObjectPic_Tate_0), - obj_frame_tiles(gMapObjectPic_Tate_1), - obj_frame_tiles(gMapObjectPic_Tate_1), - obj_frame_tiles(gMapObjectPic_Tate_2), - obj_frame_tiles(gMapObjectPic_Tate_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Wallace[] = { - obj_frame_tiles(gMapObjectPic_Wallace_0), - obj_frame_tiles(gMapObjectPic_Wallace_1), - obj_frame_tiles(gMapObjectPic_Wallace_2), - obj_frame_tiles(gMapObjectPic_Wallace_3), - obj_frame_tiles(gMapObjectPic_Wallace_4), - obj_frame_tiles(gMapObjectPic_Wallace_5), - obj_frame_tiles(gMapObjectPic_Wallace_6), - obj_frame_tiles(gMapObjectPic_Wallace_7), - obj_frame_tiles(gMapObjectPic_Wallace_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Steven[] = { - obj_frame_tiles(gMapObjectPic_Steven_0), - obj_frame_tiles(gMapObjectPic_Steven_1), - obj_frame_tiles(gMapObjectPic_Steven_2), - obj_frame_tiles(gMapObjectPic_Steven_3), - obj_frame_tiles(gMapObjectPic_Steven_4), - obj_frame_tiles(gMapObjectPic_Steven_5), - obj_frame_tiles(gMapObjectPic_Steven_6), - obj_frame_tiles(gMapObjectPic_Steven_7), - obj_frame_tiles(gMapObjectPic_Steven_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Wally[] = { - obj_frame_tiles(gMapObjectPic_Wally_0), - obj_frame_tiles(gMapObjectPic_Wally_1), - obj_frame_tiles(gMapObjectPic_Wally_2), - obj_frame_tiles(gMapObjectPic_Wally_3), - obj_frame_tiles(gMapObjectPic_Wally_4), - obj_frame_tiles(gMapObjectPic_Wally_5), - obj_frame_tiles(gMapObjectPic_Wally_6), - obj_frame_tiles(gMapObjectPic_Wally_7), - obj_frame_tiles(gMapObjectPic_Wally_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_LittleBoy3[] = { - obj_frame_tiles(gMapObjectPic_LittleBoy3_0), - obj_frame_tiles(gMapObjectPic_LittleBoy3_1), - obj_frame_tiles(gMapObjectPic_LittleBoy3_2), - obj_frame_tiles(gMapObjectPic_LittleBoy3_3), - obj_frame_tiles(gMapObjectPic_LittleBoy3_4), - obj_frame_tiles(gMapObjectPic_LittleBoy3_5), - obj_frame_tiles(gMapObjectPic_LittleBoy3_6), - obj_frame_tiles(gMapObjectPic_LittleBoy3_7), - obj_frame_tiles(gMapObjectPic_LittleBoy3_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanFishing[] = { - obj_frame_tiles(gMapObjectPic_BrendanFishing_0), - obj_frame_tiles(gMapObjectPic_BrendanFishing_1), - obj_frame_tiles(gMapObjectPic_BrendanFishing_2), - obj_frame_tiles(gMapObjectPic_BrendanFishing_3), - obj_frame_tiles(gMapObjectPic_BrendanFishing_4), - obj_frame_tiles(gMapObjectPic_BrendanFishing_5), - obj_frame_tiles(gMapObjectPic_BrendanFishing_6), - obj_frame_tiles(gMapObjectPic_BrendanFishing_7), - obj_frame_tiles(gMapObjectPic_BrendanFishing_8), - obj_frame_tiles(gMapObjectPic_BrendanFishing_9), - obj_frame_tiles(gMapObjectPic_BrendanFishing_10), - obj_frame_tiles(gMapObjectPic_BrendanFishing_11) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayFishing[] = { - obj_frame_tiles(gMapObjectPic_MayFishing_0), - obj_frame_tiles(gMapObjectPic_MayFishing_1), - obj_frame_tiles(gMapObjectPic_MayFishing_2), - obj_frame_tiles(gMapObjectPic_MayFishing_3), - obj_frame_tiles(gMapObjectPic_MayFishing_4), - obj_frame_tiles(gMapObjectPic_MayFishing_5), - obj_frame_tiles(gMapObjectPic_MayFishing_6), - obj_frame_tiles(gMapObjectPic_MayFishing_7), - obj_frame_tiles(gMapObjectPic_MayFishing_8), - obj_frame_tiles(gMapObjectPic_MayFishing_9), - obj_frame_tiles(gMapObjectPic_MayFishing_10), - obj_frame_tiles(gMapObjectPic_MayFishing_11) -}; - -const struct SpriteFrameImage gMapObjectPicTable_HotSpringsOldWoman[] = { - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_0), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_1), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_2), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_3), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_4), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_5), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_6), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_7), - obj_frame_tiles(gMapObjectPic_HotSpringsOldWoman_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SSTidal[] = { - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal), - obj_frame_tiles(gMapObjectPic_SSTidal) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SubmarineShadow[] = { - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow), - obj_frame_tiles(gMapObjectPic_SubmarineShadow) -}; - -const struct SpriteFrameImage gMapObjectPicTable_PichuDoll[] = { - obj_frame_tiles(gMapObjectPic_PichuDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_PikachuDoll[] = { - obj_frame_tiles(gMapObjectPic_PikachuDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MarillDoll[] = { - obj_frame_tiles(gMapObjectPic_MarillDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_TogepiDoll[] = { - obj_frame_tiles(gMapObjectPic_TogepiDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_CyndaquilDoll[] = { - obj_frame_tiles(gMapObjectPic_CyndaquilDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ChikoritaDoll[] = { - obj_frame_tiles(gMapObjectPic_ChikoritaDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_TotodileDoll[] = { - obj_frame_tiles(gMapObjectPic_TotodileDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_JigglypuffDoll[] = { - obj_frame_tiles(gMapObjectPic_JigglypuffDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MeowthDoll[] = { - obj_frame_tiles(gMapObjectPic_MeowthDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ClefairyDoll[] = { - obj_frame_tiles(gMapObjectPic_ClefairyDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_DittoDoll[] = { - obj_frame_tiles(gMapObjectPic_DittoDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SmoochumDoll[] = { - obj_frame_tiles(gMapObjectPic_SmoochumDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_TreeckoDoll[] = { - obj_frame_tiles(gMapObjectPic_TreeckoDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_TorchicDoll[] = { - obj_frame_tiles(gMapObjectPic_TorchicDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MudkipDoll[] = { - obj_frame_tiles(gMapObjectPic_MudkipDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_DuskullDoll[] = { - obj_frame_tiles(gMapObjectPic_DuskullDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_WynautDoll[] = { - obj_frame_tiles(gMapObjectPic_WynautDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BaltoyDoll[] = { - obj_frame_tiles(gMapObjectPic_BaltoyDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_KecleonDoll[] = { - obj_frame_tiles(gMapObjectPic_KecleonDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_AzurillDoll[] = { - obj_frame_tiles(gMapObjectPic_AzurillDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SkittyDoll[] = { - obj_frame_tiles(gMapObjectPic_SkittyDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SwabluDoll[] = { - obj_frame_tiles(gMapObjectPic_SwabluDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_GulpinDoll[] = { - obj_frame_tiles(gMapObjectPic_GulpinDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_LotadDoll[] = { - obj_frame_tiles(gMapObjectPic_LotadDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SeedotDoll[] = { - obj_frame_tiles(gMapObjectPic_SeedotDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_PikaCushion[] = { - obj_frame_tiles(gMapObjectPic_PikaCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_RoundCushion[] = { - obj_frame_tiles(gMapObjectPic_RoundCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_KissCushion[] = { - obj_frame_tiles(gMapObjectPic_KissCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ZigzagCushion[] = { - obj_frame_tiles(gMapObjectPic_ZigzagCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_SpinCushion[] = { - obj_frame_tiles(gMapObjectPic_SpinCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_DiamondCushion[] = { - obj_frame_tiles(gMapObjectPic_DiamondCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BallCushion[] = { - obj_frame_tiles(gMapObjectPic_BallCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_GrassCushion[] = { - obj_frame_tiles(gMapObjectPic_GrassCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_FireCushion[] = { - obj_frame_tiles(gMapObjectPic_FireCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_WaterCushion[] = { - obj_frame_tiles(gMapObjectPic_WaterCushion) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigSnorlaxDoll[] = { - obj_frame_tiles(gMapObjectPic_BigSnorlaxDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigRhydonDoll[] = { - obj_frame_tiles(gMapObjectPic_BigRhydonDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigLaprasDoll[] = { - obj_frame_tiles(gMapObjectPic_BigLaprasDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigVenusaurDoll[] = { - obj_frame_tiles(gMapObjectPic_BigVenusaurDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigCharizardDoll[] = { - obj_frame_tiles(gMapObjectPic_BigCharizardDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigBlastoiseDoll[] = { - obj_frame_tiles(gMapObjectPic_BigBlastoiseDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigWailmerDoll[] = { - obj_frame_tiles(gMapObjectPic_BigWailmerDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigRegirockDoll[] = { - obj_frame_tiles(gMapObjectPic_BigRegirockDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigRegiceDoll[] = { - obj_frame_tiles(gMapObjectPic_BigRegiceDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BigRegisteelDoll[] = { - obj_frame_tiles(gMapObjectPic_BigRegisteelDoll) -}; - -const struct SpriteFrameImage gMapObjectPicTable_LatiasLatios[] = { - obj_frame_tiles(gMapObjectPic_LatiasLatios_0), - obj_frame_tiles(gMapObjectPic_LatiasLatios_0), - obj_frame_tiles(gMapObjectPic_LatiasLatios_0), - obj_frame_tiles(gMapObjectPic_LatiasLatios_1), - obj_frame_tiles(gMapObjectPic_LatiasLatios_2), - obj_frame_tiles(gMapObjectPic_LatiasLatios_1), - obj_frame_tiles(gMapObjectPic_LatiasLatios_2), - obj_frame_tiles(gMapObjectPic_LatiasLatios_1), - obj_frame_tiles(gMapObjectPic_LatiasLatios_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Boy5[] = { - obj_frame_tiles(gMapObjectPic_Boy5_0), - obj_frame_tiles(gMapObjectPic_Boy5_1), - obj_frame_tiles(gMapObjectPic_Boy5_2), - obj_frame_tiles(gMapObjectPic_Boy5_0), - obj_frame_tiles(gMapObjectPic_Boy5_0), - obj_frame_tiles(gMapObjectPic_Boy5_1), - obj_frame_tiles(gMapObjectPic_Boy5_1), - obj_frame_tiles(gMapObjectPic_Boy5_2), - obj_frame_tiles(gMapObjectPic_Boy5_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_ContestJudge[] = { - obj_frame_tiles(gMapObjectPic_ContestJudge_0), - obj_frame_tiles(gMapObjectPic_ContestJudge_1), - obj_frame_tiles(gMapObjectPic_ContestJudge_2), - obj_frame_tiles(gMapObjectPic_ContestJudge_3), - obj_frame_tiles(gMapObjectPic_ContestJudge_4), - obj_frame_tiles(gMapObjectPic_ContestJudge_5), - obj_frame_tiles(gMapObjectPic_ContestJudge_6), - obj_frame_tiles(gMapObjectPic_ContestJudge_7), - obj_frame_tiles(gMapObjectPic_ContestJudge_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanWatering[] = { - obj_frame_tiles(gMapObjectPic_BrendanWatering_0), - obj_frame_tiles(gMapObjectPic_BrendanWatering_1), - obj_frame_tiles(gMapObjectPic_BrendanWatering_2), - obj_frame_tiles(gMapObjectPic_BrendanWatering_3), - obj_frame_tiles(gMapObjectPic_BrendanWatering_3), - obj_frame_tiles(gMapObjectPic_BrendanWatering_4), - obj_frame_tiles(gMapObjectPic_BrendanWatering_4), - obj_frame_tiles(gMapObjectPic_BrendanWatering_5), - obj_frame_tiles(gMapObjectPic_BrendanWatering_5) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayWatering[] = { - obj_frame_tiles(gMapObjectPic_MayWatering_0), - obj_frame_tiles(gMapObjectPic_MayWatering_1), - obj_frame_tiles(gMapObjectPic_MayWatering_2), - obj_frame_tiles(gMapObjectPic_MayWatering_3), - obj_frame_tiles(gMapObjectPic_MayWatering_3), - obj_frame_tiles(gMapObjectPic_MayWatering_4), - obj_frame_tiles(gMapObjectPic_MayWatering_4), - obj_frame_tiles(gMapObjectPic_MayWatering_5), - obj_frame_tiles(gMapObjectPic_MayWatering_5) -}; - -const struct SpriteFrameImage gMapObjectPicTable_BrendanDecorating[] = { - obj_frame_tiles(gMapObjectPic_BrendanDecorating) -}; - -const struct SpriteFrameImage gMapObjectPicTable_MayDecorating[] = { - obj_frame_tiles(gMapObjectPic_MayDecorating) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Archie[] = { - obj_frame_tiles(gMapObjectPic_Archie_0), - obj_frame_tiles(gMapObjectPic_Archie_1), - obj_frame_tiles(gMapObjectPic_Archie_2), - obj_frame_tiles(gMapObjectPic_Archie_3), - obj_frame_tiles(gMapObjectPic_Archie_4), - obj_frame_tiles(gMapObjectPic_Archie_5), - obj_frame_tiles(gMapObjectPic_Archie_6), - obj_frame_tiles(gMapObjectPic_Archie_7), - obj_frame_tiles(gMapObjectPic_Archie_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Maxie[] = { - obj_frame_tiles(gMapObjectPic_Maxie_0), - obj_frame_tiles(gMapObjectPic_Maxie_1), - obj_frame_tiles(gMapObjectPic_Maxie_2), - obj_frame_tiles(gMapObjectPic_Maxie_3), - obj_frame_tiles(gMapObjectPic_Maxie_4), - obj_frame_tiles(gMapObjectPic_Maxie_5), - obj_frame_tiles(gMapObjectPic_Maxie_6), - obj_frame_tiles(gMapObjectPic_Maxie_7), - obj_frame_tiles(gMapObjectPic_Maxie_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Kyogre[] = { - obj_frame_tiles(gMapObjectPic_Kyogre_0), - obj_frame_tiles(gMapObjectPic_Kyogre_0), - obj_frame_tiles(gMapObjectPic_Kyogre_0), - obj_frame_tiles(gMapObjectPic_Kyogre_1), - obj_frame_tiles(gMapObjectPic_Kyogre_1), - obj_frame_tiles(gMapObjectPic_Kyogre_1), - obj_frame_tiles(gMapObjectPic_Kyogre_1), - obj_frame_tiles(gMapObjectPic_Kyogre_1), - obj_frame_tiles(gMapObjectPic_Kyogre_1) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Groudon[] = { - obj_frame_tiles(gMapObjectPic_Groudon_0), - obj_frame_tiles(gMapObjectPic_Groudon_0), - obj_frame_tiles(gMapObjectPic_Groudon_0), - obj_frame_tiles(gMapObjectPic_Groudon_1), - obj_frame_tiles(gMapObjectPic_Groudon_1), - obj_frame_tiles(gMapObjectPic_Groudon_1), - obj_frame_tiles(gMapObjectPic_Groudon_1), - obj_frame_tiles(gMapObjectPic_Groudon_1), - obj_frame_tiles(gMapObjectPic_Groudon_1) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Fossil[] = { - obj_frame_tiles(gMapObjectPic_Fossil) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Regi[] = { - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi), - obj_frame_tiles(gMapObjectPic_Regi) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Skitty[] = { - obj_frame_tiles(gMapObjectPic_Skitty_0), - obj_frame_tiles(gMapObjectPic_Skitty_1), - obj_frame_tiles(gMapObjectPic_Skitty_2), - obj_frame_tiles(gMapObjectPic_Skitty_0), - obj_frame_tiles(gMapObjectPic_Skitty_0), - obj_frame_tiles(gMapObjectPic_Skitty_1), - obj_frame_tiles(gMapObjectPic_Skitty_1), - obj_frame_tiles(gMapObjectPic_Skitty_2), - obj_frame_tiles(gMapObjectPic_Skitty_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Kecleon[] = { - obj_frame_tiles(gMapObjectPic_Kecleon_0), - obj_frame_tiles(gMapObjectPic_Kecleon_1), - obj_frame_tiles(gMapObjectPic_Kecleon_2), - obj_frame_tiles(gMapObjectPic_Kecleon_0), - obj_frame_tiles(gMapObjectPic_Kecleon_0), - obj_frame_tiles(gMapObjectPic_Kecleon_1), - obj_frame_tiles(gMapObjectPic_Kecleon_1), - obj_frame_tiles(gMapObjectPic_Kecleon_2), - obj_frame_tiles(gMapObjectPic_Kecleon_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Rayquaza[] = { - obj_frame_tiles(gMapObjectPic_Rayquaza_0), - obj_frame_tiles(gMapObjectPic_Rayquaza_0), - obj_frame_tiles(gMapObjectPic_Rayquaza_0), - obj_frame_tiles(gMapObjectPic_Rayquaza_1), - obj_frame_tiles(gMapObjectPic_Rayquaza_1), - obj_frame_tiles(gMapObjectPic_Rayquaza_1), - obj_frame_tiles(gMapObjectPic_Rayquaza_1), - obj_frame_tiles(gMapObjectPic_Rayquaza_1), - obj_frame_tiles(gMapObjectPic_Rayquaza_1) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Zigzagoon[] = { - obj_frame_tiles(gMapObjectPic_Zigzagoon_0), - obj_frame_tiles(gMapObjectPic_Zigzagoon_1), - obj_frame_tiles(gMapObjectPic_Zigzagoon_2), - obj_frame_tiles(gMapObjectPic_Zigzagoon_0), - obj_frame_tiles(gMapObjectPic_Zigzagoon_0), - obj_frame_tiles(gMapObjectPic_Zigzagoon_1), - obj_frame_tiles(gMapObjectPic_Zigzagoon_1), - obj_frame_tiles(gMapObjectPic_Zigzagoon_2), - obj_frame_tiles(gMapObjectPic_Zigzagoon_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Pikachu[] = { - obj_frame_tiles(gMapObjectPic_Pikachu_0), - obj_frame_tiles(gMapObjectPic_Pikachu_1), - obj_frame_tiles(gMapObjectPic_Pikachu_2), - obj_frame_tiles(gMapObjectPic_Pikachu_0), - obj_frame_tiles(gMapObjectPic_Pikachu_0), - obj_frame_tiles(gMapObjectPic_Pikachu_1), - obj_frame_tiles(gMapObjectPic_Pikachu_1), - obj_frame_tiles(gMapObjectPic_Pikachu_2), - obj_frame_tiles(gMapObjectPic_Pikachu_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Azumarill[] = { - obj_frame_tiles(gMapObjectPic_Azumarill_0), - obj_frame_tiles(gMapObjectPic_Azumarill_1), - obj_frame_tiles(gMapObjectPic_Azumarill_2), - obj_frame_tiles(gMapObjectPic_Azumarill_0), - obj_frame_tiles(gMapObjectPic_Azumarill_0), - obj_frame_tiles(gMapObjectPic_Azumarill_1), - obj_frame_tiles(gMapObjectPic_Azumarill_1), - obj_frame_tiles(gMapObjectPic_Azumarill_2), - obj_frame_tiles(gMapObjectPic_Azumarill_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Wingull[] = { - obj_frame_tiles(gMapObjectPic_Wingull_0), - obj_frame_tiles(gMapObjectPic_Wingull_1), - obj_frame_tiles(gMapObjectPic_Wingull_2), - obj_frame_tiles(gMapObjectPic_Wingull_3), - obj_frame_tiles(gMapObjectPic_Wingull_3), - obj_frame_tiles(gMapObjectPic_Wingull_4), - obj_frame_tiles(gMapObjectPic_Wingull_4), - obj_frame_tiles(gMapObjectPic_Wingull_5), - obj_frame_tiles(gMapObjectPic_Wingull_5) -}; - -const struct SpriteFrameImage gMapObjectPicTable_TuberMSwimming[] = { - obj_frame_tiles(gMapObjectPic_TuberMSwimming_0), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_1), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_2), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_3), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_4), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_5), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_6), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_7), - obj_frame_tiles(gMapObjectPic_TuberMSwimming_8) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Azurill[] = { - obj_frame_tiles(gMapObjectPic_Azurill_0), - obj_frame_tiles(gMapObjectPic_Azurill_1), - obj_frame_tiles(gMapObjectPic_Azurill_2), - obj_frame_tiles(gMapObjectPic_Azurill_0), - obj_frame_tiles(gMapObjectPic_Azurill_0), - obj_frame_tiles(gMapObjectPic_Azurill_1), - obj_frame_tiles(gMapObjectPic_Azurill_1), - obj_frame_tiles(gMapObjectPic_Azurill_2), - obj_frame_tiles(gMapObjectPic_Azurill_2) -}; - -const struct SpriteFrameImage gMapObjectPicTable_Mom[] = { - obj_frame_tiles(gMapObjectPic_Mom_0), - obj_frame_tiles(gMapObjectPic_Mom_1), - obj_frame_tiles(gMapObjectPic_Mom_2), - obj_frame_tiles(gMapObjectPic_Mom_3), - obj_frame_tiles(gMapObjectPic_Mom_4), - obj_frame_tiles(gMapObjectPic_Mom_5), - obj_frame_tiles(gMapObjectPic_Mom_6), - obj_frame_tiles(gMapObjectPic_Mom_7), - obj_frame_tiles(gMapObjectPic_Mom_8), -}; - -#endif //POKERUBY_MAP_OBJECT_PIC_TABLES_H diff --git a/src/data/field_map_obj/map_object_subsprites.h b/src/data/field_map_obj/map_object_subsprites.h deleted file mode 100644 index 951d71e99..000000000 --- a/src/data/field_map_obj/map_object_subsprites.h +++ /dev/null @@ -1,345 +0,0 @@ -// - -// - -#ifndef POKERUBY_MAP_OBJECT_SUBSPRITES_H -#define POKERUBY_MAP_OBJECT_SUBSPRITES_H - -const struct Subsprite gMapObjectSubspriteTable_16x16_0[] = { - { -8, -8, 0, 1, 0, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x16_1[] = { - { -8, -8, 0, 1, 0, 1} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x16_2[] = { - { -8, -8, 1, 0, 0, 2}, - { -8, 0, 1, 0, 2, 3} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x16_3[] = { - { -8, -8, 0, 1, 0, 2}, - { -8, -8, 0, 1, 0, 3} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x16_4[] = { - { -8, -8, 0, 1, 0, 1}, - { -8, -8, 0, 1, 0, 3} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_16x16[] = { - {0, NULL}, - {1, gMapObjectSubspriteTable_16x16_0}, - {1, gMapObjectSubspriteTable_16x16_1}, - {2, gMapObjectSubspriteTable_16x16_2}, - {2, gMapObjectSubspriteTable_16x16_3}, - {2, gMapObjectSubspriteTable_16x16_4} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x32_0[] = { - { -8, -16, 2, 2, 0, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x32_1[] = { - { -8, -16, 2, 2, 0, 1} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x32_2[] = { - { -8, -16, 0, 1, 0, 2}, - { -8, 0, 1, 0, 4, 2}, - { -8, 8, 1, 0, 6, 3} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x32_3[] = { - { -8, -16, 0, 1, 0, 2}, - { -8, 0, 0, 1, 4, 3} -}; - -const struct Subsprite gMapObjectSubspriteTable_16x32_4[] = { - { -8, -16, 0, 1, 0, 1}, - { -8, 0, 0, 1, 4, 3} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_16x32[] = { - {0, NULL}, - {1, gMapObjectSubspriteTable_16x32_0}, - {1, gMapObjectSubspriteTable_16x32_1}, - {3, gMapObjectSubspriteTable_16x32_2}, - {2, gMapObjectSubspriteTable_16x32_3}, - {2, gMapObjectSubspriteTable_16x32_4} -}; - -const struct Subsprite gMapObjectSubspriteTable_32x32_0[] = { - {-16, -16, 0, 2, 0, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_32x32_1[] = { - {-16, -16, 0, 2, 0, 1} -}; - -const struct Subsprite gMapObjectSubspriteTable_32x32_2[] = { - {-16, -16, 1, 2, 0, 2}, - {-16, 0, 1, 1, 8, 2}, - {-16, 8, 1, 1, 12, 3} -}; - -const struct Subsprite gMapObjectSubspriteTable_32x32_3[] = { - {-16, -16, 1, 2, 0, 2}, - {-16, 0, 1, 2, 8, 3} -}; - -const struct Subsprite gMapObjectSubspriteTable_32x32_4[] = { - {-16, -16, 1, 2, 0, 1}, - {-16, 0, 1, 2, 8, 3} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_32x32[] = { - {0, NULL}, - {1, gMapObjectSubspriteTable_32x32_0}, - {1, gMapObjectSubspriteTable_32x32_1}, - {3, gMapObjectSubspriteTable_32x32_2}, - {2, gMapObjectSubspriteTable_32x32_3}, - {2, gMapObjectSubspriteTable_32x32_4} -}; - -const struct Subsprite gMapObjectSubspriteTable_Truck_0[] = { - {-24, -24, 1, 1, 0, 2}, - { 8, -24, 1, 0, 4, 2}, - {-24, -16, 1, 1, 6, 2}, - { 8, -16, 1, 0, 10, 2}, - {-24, -8, 1, 1, 12, 2}, - { 8, -8, 1, 0, 16, 2}, - {-24, 0, 1, 1, 18, 2}, - { 8, 0, 1, 0, 22, 2}, - {-24, 8, 1, 1, 24, 2}, - { 8, 8, 1, 0, 28, 2}, - {-24, 16, 1, 1, 30, 2}, - { 8, 16, 1, 0, 34, 2} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_Truck[] = { - {12, gMapObjectSubspriteTable_Truck_0}, - {12, gMapObjectSubspriteTable_Truck_0}, - {12, gMapObjectSubspriteTable_Truck_0}, - {12, gMapObjectSubspriteTable_Truck_0}, - {12, gMapObjectSubspriteTable_Truck_0}, - {12, gMapObjectSubspriteTable_Truck_0} -}; - -const struct Subsprite gMapObjectSubspriteTable_Unused_0[] = { - {-32, -16, 1, 3, 0, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_Unused_1[] = { - {-32, -16, 1, 3, 0, 1} -}; - -const struct Subsprite gMapObjectSubspriteTable_Unused_2[] = { - {-32, -16, 1, 3, 0, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_Unused_3[] = { - {-32, -16, 1, 3, 0, 2} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_Unused[] = { - {0, NULL}, - {1, gMapObjectSubspriteTable_Unused_0}, - {1, gMapObjectSubspriteTable_Unused_1}, - {1, gMapObjectSubspriteTable_Unused_2}, - {1, gMapObjectSubspriteTable_Unused_3}, - {1, gMapObjectSubspriteTable_Unused_3} -}; - -const struct Subsprite gMapObjectSubspriteTable_CableCar_0[] = { - {-32, -32, 0, 3, 0, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_CableCar_1[] = { - {-32, -32, 0, 3, 0, 1} -}; - -const struct Subsprite gMapObjectSubspriteTable_CableCar_2[] = { - {-32, -32, 0, 3, 0, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_CableCar_3[] = { - {-32, -32, 0, 3, 0, 2} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_CableCar[] = { - {0, NULL}, - {1, gMapObjectSubspriteTable_CableCar_0}, - {1, gMapObjectSubspriteTable_CableCar_1}, - {1, gMapObjectSubspriteTable_CableCar_2}, - {1, gMapObjectSubspriteTable_CableCar_3}, - {1, gMapObjectSubspriteTable_CableCar_3} -}; - -const struct Subsprite gMapObjectSubspriteTable_SSTidal_0[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 1, 8, 2}, - {-48, -12, 1, 1, 12, 2}, - {-16, -12, 1, 1, 16, 2}, - { 16, -12, 1, 1, 20, 2}, - {-48, -4, 1, 1, 24, 2}, - {-16, -4, 1, 1, 28, 2}, - { 16, -4, 1, 1, 32, 2}, - {-48, 4, 1, 1, 36, 2}, - {-16, 4, 1, 1, 40, 2}, - { 16, 4, 1, 1, 44, 2}, - {-48, 12, 1, 1, 48, 2}, - {-16, 12, 1, 1, 52, 2}, - { 16, 12, 1, 1, 56, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_SSTidal_1[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 1, 8, 1}, - {-48, -12, 1, 1, 12, 1}, - {-16, -12, 1, 1, 16, 1}, - { 16, -12, 1, 1, 20, 1}, - {-48, -4, 1, 1, 24, 1}, - {-16, -4, 1, 1, 28, 1}, - { 16, -4, 1, 1, 32, 1}, - {-48, 4, 1, 1, 36, 1}, - {-16, 4, 1, 1, 40, 1}, - { 16, 4, 1, 1, 44, 1}, - {-48, 12, 1, 1, 48, 1}, - {-16, 12, 1, 1, 52, 1}, - { 16, 12, 1, 1, 56, 1} -}; - -const struct Subsprite gMapObjectSubspriteTable_SSTidal_2[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 1, 8, 2}, - {-48, -12, 1, 1, 12, 2}, - {-16, -12, 1, 1, 16, 2}, - { 16, -12, 1, 1, 20, 2}, - {-48, -4, 1, 1, 24, 2}, - {-16, -4, 1, 1, 28, 2}, - { 16, -4, 1, 1, 32, 2}, - {-48, 4, 1, 1, 36, 2}, - {-16, 4, 1, 1, 40, 2}, - { 16, 4, 1, 1, 44, 2}, - {-48, 12, 1, 1, 48, 2}, - {-16, 12, 1, 1, 52, 2}, - { 16, 12, 1, 1, 56, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_SSTidal_3[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 1, 8, 1}, - {-48, -12, 1, 1, 12, 1}, - {-16, -12, 1, 1, 16, 1}, - { 16, -12, 1, 1, 20, 1}, - {-48, -4, 1, 1, 24, 2}, - {-16, -4, 1, 1, 28, 2}, - { 16, -4, 1, 1, 32, 2}, - {-48, 4, 1, 1, 36, 2}, - {-16, 4, 1, 1, 40, 2}, - { 16, 4, 1, 1, 44, 2}, - {-48, 12, 1, 1, 48, 2}, - {-16, 12, 1, 1, 52, 2}, - { 16, 12, 1, 1, 56, 2} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_SSTidal[] = { - {15, gMapObjectSubspriteTable_SSTidal_0}, - {15, gMapObjectSubspriteTable_SSTidal_0}, - {15, gMapObjectSubspriteTable_SSTidal_1}, - {15, gMapObjectSubspriteTable_SSTidal_2}, - {15, gMapObjectSubspriteTable_SSTidal_3}, - {15, gMapObjectSubspriteTable_SSTidal_3} -}; - -const struct Subsprite gMapObjectSubspriteTable_SubmarineShadow_0[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 0, 8, 2}, - { 32, -20, 0, 0, 10, 2}, - {-48, -12, 1, 1, 11, 2}, - {-16, -12, 1, 1, 15, 2}, - { 16, -12, 1, 0, 19, 2}, - { 32, -12, 0, 0, 21, 2}, - {-48, -4, 1, 1, 22, 2}, - {-16, -4, 1, 1, 26, 2}, - { 16, -4, 1, 0, 30, 2}, - { 32, -4, 0, 0, 32, 2}, - {-48, 4, 1, 1, 33, 2}, - {-16, 4, 1, 1, 37, 2}, - { 16, 4, 1, 0, 41, 2}, - { 32, 4, 0, 0, 43, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_SubmarineShadow_1[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 0, 8, 1}, - { 32, -20, 0, 0, 10, 1}, - {-48, -12, 1, 1, 11, 1}, - {-16, -12, 1, 1, 15, 1}, - { 16, -12, 1, 0, 19, 1}, - { 32, -12, 0, 0, 21, 1}, - {-48, -4, 1, 1, 22, 1}, - {-16, -4, 1, 1, 26, 1}, - { 16, -4, 1, 0, 30, 1}, - { 32, -4, 0, 0, 32, 1}, - {-48, 4, 1, 1, 33, 1}, - {-16, 4, 1, 1, 37, 1}, - { 16, 4, 1, 0, 41, 1}, - { 32, 4, 0, 0, 43, 1} -}; - -const struct Subsprite gMapObjectSubspriteTable_SubmarineShadow_2[] = { - {-48, -20, 1, 1, 0, 2}, - {-16, -20, 1, 1, 4, 2}, - { 16, -20, 1, 0, 8, 2}, - { 32, -20, 0, 0, 10, 2}, - {-48, -12, 1, 1, 11, 2}, - {-16, -12, 1, 1, 15, 2}, - { 16, -12, 1, 0, 19, 2}, - { 32, -12, 0, 0, 21, 2}, - {-48, -4, 1, 1, 22, 2}, - {-16, -4, 1, 1, 26, 2}, - { 16, -4, 1, 0, 30, 2}, - { 32, -4, 0, 0, 32, 2}, - {-48, 4, 1, 1, 33, 2}, - {-16, 4, 1, 1, 37, 2}, - { 16, 4, 1, 0, 41, 2}, - { 32, 4, 0, 0, 43, 2} -}; - -const struct Subsprite gMapObjectSubspriteTable_SubmarineShadow_3[] = { - {-48, -20, 1, 1, 0, 1}, - {-16, -20, 1, 1, 4, 1}, - { 16, -20, 1, 0, 8, 1}, - { 32, -20, 0, 0, 10, 1}, - {-48, -12, 1, 1, 11, 1}, - {-16, -12, 1, 1, 15, 1}, - { 16, -12, 1, 0, 19, 1}, - { 32, -12, 0, 0, 21, 1}, - {-48, -4, 1, 1, 22, 2}, - {-16, -4, 1, 1, 26, 2}, - { 16, -4, 1, 0, 30, 2}, - { 32, -4, 0, 0, 32, 2}, - {-48, 4, 1, 1, 33, 2}, - {-16, 4, 1, 1, 37, 2}, - { 16, 4, 1, 0, 41, 2}, - { 32, 4, 0, 0, 43, 2} -}; - -const struct SubspriteTable gMapObjectSubspriteTables_SubmarineShadow[] = { - {16, gMapObjectSubspriteTable_SubmarineShadow_0}, - {16, gMapObjectSubspriteTable_SubmarineShadow_0}, - {16, gMapObjectSubspriteTable_SubmarineShadow_1}, - {16, gMapObjectSubspriteTable_SubmarineShadow_2}, - {16, gMapObjectSubspriteTable_SubmarineShadow_3}, - {16, gMapObjectSubspriteTable_SubmarineShadow_3} -}; -#endif //POKERUBY_MAP_OBJECT_SUBSPRITES_H diff --git a/src/data/field_map_obj/movement_action_func_tables.h b/src/data/field_map_obj/movement_action_func_tables.h deleted file mode 100644 index ea10e0b6d..000000000 --- a/src/data/field_map_obj/movement_action_func_tables.h +++ /dev/null @@ -1,1356 +0,0 @@ -#ifndef POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H -#define POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H - -u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PauseSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay1_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_Finish(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay2_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay4_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay8_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_Delay16_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_StartAnimInDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WaitSpriteAnim(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_FacePlayer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_LockFacingDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_DisableAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RestoreAnimation_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SetInvisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_SetVisible_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_EmoteHeart_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_RockSmashBreak_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_CutTree_Step2(struct MapObject *, struct Sprite *); -u8 MovementAction_SetFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_ClearFixedPriority_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_InitAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_ClearAffineAnim_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_WalkInPlace_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *, struct Sprite *); -u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); - -u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *); - -u8 (*const *const gMovementActionFuncs[])(struct MapObject *, struct Sprite *) = { - gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN - gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP - gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT - gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT - gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_DOWN_SLOW - gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_UP_SLOW - gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_LEFT_SLOW - gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_RIGHT_SLOW - gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_DOWN_NORMAL - gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_UP_NORMAL - gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_LEFT_NORMAL - gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_RIGHT_NORMAL - gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN - gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP - gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT - gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT - gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 - gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 - gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 - gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 - gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 - gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN - gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP - gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT - gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT - gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN - gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP - gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT - gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT - gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN - gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP - gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT - gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT - gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN - gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP - gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT - gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT - gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN - gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP - gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT - gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT - gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN - gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP - gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT - gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT - gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN - gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP - gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT - gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT - gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN - gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP - gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT - gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT - gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN - gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP - gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT - gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT - gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION - gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN - gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP - gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT - gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT - gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER - gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER - gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION - gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION - gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN - gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP - gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT - gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT - gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN - gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP - gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT - gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT - gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP - gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN - gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT - gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT - gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION - gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN - gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT - gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT - gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION - gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION - gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE - gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE - gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK - gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK - gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART - gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER - gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK - gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE - gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY - gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY - gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM - gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM - gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 - gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 - gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN - gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP - gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT - gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT - gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN - gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP - gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT - gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT - gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN - gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP - gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT - gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT - gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN - gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP - gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT - gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT - gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN - gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP - gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT - gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT - gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN - gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP - gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT - gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT - gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN - gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP - gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT - gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT - gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT - gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT - gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN - gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP - gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT - gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT -}; - - -u8 (*const gMovementActionFuncs_FaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceDown_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceUp_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceLeft_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceRight_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gUnknown_083759C0[])(u8) = { - GetMoveDirectionAnimNum, - GetMoveDirectionFastAnimNum, - GetMoveDirectionFastAnimNum, - GetMoveDirectionFasterAnimNum, - GetMoveDirectionFastestAnimNum -}; - -u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowDown_Step0, - MovementAction_WalkSlowDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowUp_Step0, - MovementAction_WalkSlowUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowLeft_Step0, - MovementAction_WalkSlowLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkSlowRight_Step0, - MovementAction_WalkSlowRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalDown_Step0, - MovementAction_WalkNormalDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalUp_Step0, - MovementAction_WalkNormalUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalLeft_Step0, - MovementAction_WalkNormalLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkNormalRight_Step0, - MovementAction_WalkNormalRight_Step1, - MovementAction_PauseSpriteAnim -}; - -const s16 gUnknown_08375A34[] = {0, 1, 1}; -const s16 gUnknown_08375A3A[] = {0, 0, 1}; - -u8 (*const gMovementActionFuncs_Jump2Down[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Down_Step0, - MovementAction_Jump2Down_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Up[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Up_Step0, - MovementAction_Jump2Up_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Left[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Left_Step0, - MovementAction_Jump2Left_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Jump2Right[])(struct MapObject *, struct Sprite *) = { - MovementAction_Jump2Right_Step0, - MovementAction_Jump2Right_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_Delay1[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay1_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay2[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay2_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay4[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay4_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay8[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay8_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_Delay16[])(struct MapObject *, struct Sprite *) = { - MovementAction_Delay16_Step0, - MovementAction_Delay_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_WalkFastDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastDown_Step0, - MovementAction_WalkFastDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastUp_Step0, - MovementAction_WalkFastUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastLeft_Step0, - MovementAction_WalkFastLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastRight_Step0, - MovementAction_WalkFastRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowDown_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowUp_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowLeft_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceSlowRight_Step0, - MovementAction_WalkInPlaceSlow_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceNormalRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkInPlaceFastestRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentDown_Step0, - MovementAction_RideWaterCurrentDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentUp_Step0, - MovementAction_RideWaterCurrentUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentLeft_Step0, - MovementAction_RideWaterCurrentLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_RideWaterCurrentRight_Step0, - MovementAction_RideWaterCurrentRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestDown_Step0, - MovementAction_WalkFastestDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestUp_Step0, - MovementAction_WalkFastestUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestLeft_Step0, - MovementAction_WalkFastestLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkFastestRight_Step0, - MovementAction_WalkFastestRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideDown_Step0, - MovementAction_SlideDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideUp_Step0, - MovementAction_SlideUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideLeft_Step0, - MovementAction_SlideLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_SlideRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_SlideRight_Step0, - MovementAction_SlideRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunDown_Step0, - MovementAction_PlayerRunDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunUp_Step0, - MovementAction_PlayerRunUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunLeft_Step0, - MovementAction_PlayerRunLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_PlayerRunRight_Step0, - MovementAction_PlayerRunRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_StartAnimInDirection_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialDown_Step0, - MovementAction_JumpSpecialDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialUp_Step0, - MovementAction_JumpSpecialUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialLeft_Step0, - MovementAction_JumpSpecialLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpSpecialRight_Step0, - MovementAction_JumpSpecialRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FacePlayer[])(struct MapObject *, struct Sprite *) = { - MovementAction_FacePlayer_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceAwayPlayer_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_LockFacingDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnlockFacingDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpDown_Step0, - MovementAction_JumpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpUp_Step0, - MovementAction_JumpUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpLeft_Step0, - MovementAction_JumpLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpRight_Step0, - MovementAction_JumpRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceDown_Step0, - MovementAction_JumpInPlaceDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceUp_Step0, - MovementAction_JumpInPlaceUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceLeft_Step0, - MovementAction_JumpInPlaceLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceRight_Step0, - MovementAction_JumpInPlaceRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceDownUp_Step0, - MovementAction_JumpInPlaceDownUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceUpDown_Step0, - MovementAction_JumpInPlaceUpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceLeftRight_Step0, - MovementAction_JumpInPlaceLeftRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_JumpInPlaceRightLeft_Step0, - MovementAction_JumpInPlaceRightLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct MapObject *, struct Sprite *) = { - MovementAction_FaceOriginalDirection_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_NurseJoyBowDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { - MovementAction_EnableJumpLandingGroundEffect_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct MapObject *, struct Sprite *) = { - MovementAction_DisableJumpLandingGroundEffect_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_DisableAnimation[])(struct MapObject *, struct Sprite *) = { - MovementAction_DisableAnimation_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct MapObject *, struct Sprite *) = { - MovementAction_RestoreAnimation_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetInvisible[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetInvisible_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetVisible[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetVisible_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteExclamationMark_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteQuestionMark_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_EmoteHeart[])(struct MapObject *, struct Sprite *) = { - MovementAction_EmoteHeart_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RevealTrainer[])(struct MapObject *, struct Sprite *) = { - MovementAction_RevealTrainer_Step0, - MovementAction_RevealTrainer_Step1, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct MapObject *, struct Sprite *) = { - MovementAction_RockSmashBreak_Step0, - MovementAction_RockSmashBreak_Step1, - MovementAction_RockSmashBreak_Step2, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_CutTree[])(struct MapObject *, struct Sprite *) = { - MovementAction_CutTree_Step0, - MovementAction_CutTree_Step1, - MovementAction_CutTree_Step2, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct MapObject *, struct Sprite *) = { - MovementAction_SetFixedPriority_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct MapObject *, struct Sprite *) = { - MovementAction_ClearFixedPriority_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct MapObject *, struct Sprite *) = { - MovementAction_InitAffineAnim_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct MapObject *, struct Sprite *) = { - MovementAction_ClearAffineAnim_Step0, - MovementAction_Finish -}; - -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkDownAffine0_Step0, - MovementAction_WalkDownAffine0_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct MapObject *, struct Sprite *) = { - MovementAction_WalkDownAffine1_Step0, - MovementAction_WalkDownAffine1_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceDown_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceUp_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceLeft_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieFaceRight_Step0, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieFaceRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionDown_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionUp_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionLeft_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_UnusedAcroActionRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_UnusedAcroActionRight_Step0, - MovementAction_WaitSpriteAnim, - MovementAction_PauseSpriteAnim, -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceDown_Step0, - MovementAction_AcroWheelieHopFaceDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceUp_Step0, - MovementAction_AcroWheelieHopFaceUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceLeft_Step0, - MovementAction_AcroWheelieHopFaceLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopFaceRight_Step0, - MovementAction_AcroWheelieHopFaceRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopDown_Step0, - MovementAction_AcroWheelieHopDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopUp_Step0, - MovementAction_AcroWheelieHopUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopLeft_Step0, - MovementAction_AcroWheelieHopLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieHopRight_Step0, - MovementAction_AcroWheelieHopRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpDown_Step0, - MovementAction_AcroWheelieJumpDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpUp_Step0, - MovementAction_AcroWheelieJumpUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpLeft_Step0, - MovementAction_AcroWheelieJumpLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieJumpRight_Step0, - MovementAction_AcroWheelieJumpRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceDown_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceUp_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceLeft_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieInPlaceRight_Step0, - MovementAction_WalkInPlace_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveDown_Step0, - MovementAction_AcroPopWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveUp_Step0, - MovementAction_AcroPopWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveLeft_Step0, - MovementAction_AcroPopWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroPopWheelieMoveRight_Step0, - MovementAction_AcroPopWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveDown_Step0, - MovementAction_AcroWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveUp_Step0, - MovementAction_AcroWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveLeft_Step0, - MovementAction_AcroWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroWheelieMoveRight_Step0, - MovementAction_AcroWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveDown_Step0, - MovementAction_AcroEndWheelieMoveDown_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveUp_Step0, - MovementAction_AcroEndWheelieMoveUp_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveLeft_Step0, - MovementAction_AcroEndWheelieMoveLeft_Step1, - MovementAction_PauseSpriteAnim -}; - -u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct MapObject *, struct Sprite *) = { - MovementAction_AcroEndWheelieMoveRight_Step0, - MovementAction_AcroEndWheelieMoveRight_Step1, - MovementAction_PauseSpriteAnim -}; - -#endif //POKERUBY_MOVEMENT_ACTION_FUNC_TABLES_H diff --git a/src/data/field_map_obj/movement_type_func_tables.h b/src/data/field_map_obj/movement_type_func_tables.h deleted file mode 100644 index b3e753b53..000000000 --- a/src/data/field_map_obj/movement_type_func_tables.h +++ /dev/null @@ -1,438 +0,0 @@ -#ifndef POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H -#define POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H - -u8 (*const gMovementTypeFuncs_WanderAround[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderAround_Step0, - MovementType_WanderAround_Step1, - MovementType_WanderAround_Step2, - MovementType_WanderAround_Step3, - MovementType_WanderAround_Step4, - MovementType_WanderAround_Step5, - MovementType_WanderAround_Step6 -}; - -const u8 gStandardDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; - -u8 (*const gGetVectorDirectionFuncs[])(s16, s16, s16, s16) = { - GetVectorDirection, - GetLimitedVectorDirection_SouthNorth, - GetLimitedVectorDirection_WestEast, - GetLimitedVectorDirection_WestNorth, - GetLimitedVectorDirection_EastNorth, - GetLimitedVectorDirection_WestSouth, - GetLimitedVectorDirection_EastSouth, - GetLimitedVectorDirection_SouthNorthWest, - GetLimitedVectorDirection_SouthNorthEast, - GetLimitedVectorDirection_NorthWestEast, - GetLimitedVectorDirection_SouthWestEast -}; - -u8 (*const gMovementTypeFuncs_LookAround[])(struct MapObject *, struct Sprite *) = { - MovementType_LookAround_Step0, - MovementType_LookAround_Step1, - MovementType_LookAround_Step2, - MovementType_LookAround_Step3, - MovementType_LookAround_Step4, -}; - -u8 (*const gMovementTypeFuncs_WanderUpAndDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderUpAndDown_Step0, - MovementType_WanderUpAndDown_Step1, - MovementType_WanderUpAndDown_Step2, - MovementType_WanderUpAndDown_Step3, - MovementType_WanderUpAndDown_Step4, - MovementType_WanderUpAndDown_Step5, - MovementType_WanderUpAndDown_Step6, -}; - -const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WanderLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WanderLeftAndRight_Step0, - MovementType_WanderLeftAndRight_Step1, - MovementType_WanderLeftAndRight_Step2, - MovementType_WanderLeftAndRight_Step3, - MovementType_WanderLeftAndRight_Step4, - MovementType_WanderLeftAndRight_Step5, - MovementType_WanderLeftAndRight_Step6, -}; - -const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDirection[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDirection_Step0, - MovementType_FaceDirection_Step1, - MovementType_FaceDirection_Step2, -}; - -u8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct MapObject *, struct Sprite *) = { - MovementType_BerryTreeGrowth_Step0, - MovementType_BerryTreeGrowth_Step1, - MovementType_BerryTreeGrowth_Step2, - MovementType_BerryTreeGrowth_Step3, - MovementType_BerryTreeGrowth_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceDownAndUp[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndUp_Step0, - MovementType_FaceDownAndUp_Step1, - MovementType_FaceDownAndUp_Step2, - MovementType_FaceDownAndUp_Step3, - MovementType_FaceDownAndUp_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceLeftAndRight_Step0, - MovementType_FaceLeftAndRight_Step1, - MovementType_FaceLeftAndRight_Step2, - MovementType_FaceLeftAndRight_Step3, - MovementType_FaceLeftAndRight_Step4, -}; - -u8 (*const gMovementTypeFuncs_FaceUpAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpAndLeft_Step0, - MovementType_FaceUpAndLeft_Step1, - MovementType_FaceUpAndLeft_Step2, - MovementType_FaceUpAndLeft_Step3, - MovementType_FaceUpAndLeft_Step4, -}; - -const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_FaceUpAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpAndRight_Step0, - MovementType_FaceUpAndRight_Step1, - MovementType_FaceUpAndRight_Step2, - MovementType_FaceUpAndRight_Step3, - MovementType_FaceUpAndRight_Step4, -}; - -const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDownAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndLeft_Step0, - MovementType_FaceDownAndLeft_Step1, - MovementType_FaceDownAndLeft_Step2, - MovementType_FaceDownAndLeft_Step3, - MovementType_FaceDownAndLeft_Step4, -}; - -const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_FaceDownAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownAndRight_Step0, - MovementType_FaceDownAndRight_Step1, - MovementType_FaceDownAndRight_Step2, - MovementType_FaceDownAndRight_Step3, - MovementType_FaceDownAndRight_Step4, -}; - -const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_FaceDownUpAndLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownUpAndLeft_Step0, - MovementType_FaceDownUpAndLeft_Step1, - MovementType_FaceDownUpAndLeft_Step2, - MovementType_FaceDownUpAndLeft_Step3, - MovementType_FaceDownUpAndLeft_Step4, -}; - -const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_FaceDownUpAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownUpAndRight_Step0, - MovementType_FaceDownUpAndRight_Step1, - MovementType_FaceDownUpAndRight_Step2, - MovementType_FaceDownUpAndRight_Step3, - MovementType_FaceDownUpAndRight_Step4, -}; - -const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_FaceUpLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceUpLeftAndRight_Step0, - MovementType_FaceUpLeftAndRight_Step1, - MovementType_FaceUpLeftAndRight_Step2, - MovementType_FaceUpLeftAndRight_Step3, - MovementType_FaceUpLeftAndRight_Step4, -}; - -const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_FaceDownLeftAndRight[])(struct MapObject *, struct Sprite *) = { - MovementType_FaceDownLeftAndRight_Step0, - MovementType_FaceDownLeftAndRight_Step1, - MovementType_FaceDownLeftAndRight_Step2, - MovementType_FaceDownLeftAndRight_Step3, - MovementType_FaceDownLeftAndRight_Step4, -}; - -const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct MapObject *, struct Sprite *) = { - MovementType_RotateCounterclockwise_Step0, - MovementType_RotateCounterclockwise_Step1, - MovementType_RotateCounterclockwise_Step2, - MovementType_RotateCounterclockwise_Step3, -}; - -const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct MapObject *, struct Sprite *) = { - MovementType_RotateClockwise_Step0, - MovementType_RotateClockwise_Step1, - MovementType_RotateClockwise_Step2, - MovementType_RotateClockwise_Step3, -}; - -const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkBackAndForth_Step0, - MovementType_WalkBackAndForth_Step1, - MovementType_WalkBackAndForth_Step2, - MovementType_WalkBackAndForth_Step3, -}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpRightLeftDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightLeftDownUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownUpRightLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftDownUpRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpLeftRightDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftRightDownUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownUpLeftRight_Step1, - MovementType_WalkSequence_Step2 -}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightDownUpLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftUpDownRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpDownRightLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightLeftUpDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownRightLeftUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightUpDownLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpDownLeftRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftRightUpDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownLeftRightUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpLeftDownRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownRightUpLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftDownRightUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightUpLeftDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceUpRightDownLeft_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceDownLeftUpRight_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; - -u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceLeftUpRightDown_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; - -u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkSequence_Step0, - MovementType_WalkSequenceRightDownLeftUp_Step1, - MovementType_WalkSequence_Step2 -}; - -const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; - -u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct MapObject *, struct Sprite *) = { - MovementType_CopyPlayer_Step0, - MovementType_CopyPlayer_Step1, - MovementType_CopyPlayer_Step2 -}; - -u8 (*const gCopyPlayerMovementFuncs[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { - CopyablePlayerMovement_None, - CopyablePlayerMovement_FaceDirection, - CopyablePlayerMovement_GoSpeed0, - CopyablePlayerMovement_GoSpeed1, - CopyablePlayerMovement_GoSpeed2, - CopyablePlayerMovement_Slide, - cph_IM_DIFFERENT, - CopyablePlayerMovement_GoSpeed4, - CopyablePlayerMovement_Jump, - CopyablePlayerMovement_None, - CopyablePlayerMovement_None -}; - -u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct MapObject *, struct Sprite *) = { - MovementType_CopyPlayer_Step0, - MovementType_CopyPlayerInGrass_Step1, - MovementType_CopyPlayer_Step2 -}; - -u8 (*const gMovementTypeFuncs_Hidden[])(struct MapObject *, struct Sprite *) = { - MovementType_Hidden_Step0 -}; - -u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_WalkInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_JogInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_JogInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_RunInPlace[])(struct MapObject *, struct Sprite *) = { - MovementType_RunInPlace_Step0, - MovementType_WalkInPlace_Step1 -}; - -u8 (*const gMovementTypeFuncs_Invisible[])(struct MapObject *, struct Sprite *) = { - MovementType_Invisible_Step0, - MovementType_Invisible_Step1, - MovementType_Invisible_Step2 -}; - -#endif //POKERUBY_MOVEMENT_TYPE_FUNC_TABLES_H diff --git a/src/decoration.c b/src/decoration.c index 2d88501fe..6c1953677 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1,7 +1,7 @@ #include "global.h" #include "constants/decorations.h" #include "main.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "overworld.h" #include "sound.h" #include "constants/songs.h" @@ -1088,183 +1088,183 @@ const u16 DecorGfx_KISS_POSTER[] = { }; const u16 DecorGfx_PICHU_DOLL[] = { - MAP_OBJ_GFX_PICHU_DOLL + EVENT_OBJ_GFX_PICHU_DOLL }; const u16 DecorGfx_PIKACHU_DOLL[] = { - MAP_OBJ_GFX_PIKACHU_DOLL + EVENT_OBJ_GFX_PIKACHU_DOLL }; const u16 DecorGfx_MARILL_DOLL[] = { - MAP_OBJ_GFX_MARILL_DOLL + EVENT_OBJ_GFX_MARILL_DOLL }; const u16 DecorGfx_TOGEPI_DOLL[] = { - MAP_OBJ_GFX_TOGEPI_DOLL + EVENT_OBJ_GFX_TOGEPI_DOLL }; const u16 DecorGfx_CYNDAQUIL_DOLL[] = { - MAP_OBJ_GFX_CYNDAQUIL_DOLL + EVENT_OBJ_GFX_CYNDAQUIL_DOLL }; const u16 DecorGfx_CHIKORITA_DOLL[] = { - MAP_OBJ_GFX_CHIKORITA_DOLL + EVENT_OBJ_GFX_CHIKORITA_DOLL }; const u16 DecorGfx_TOTODILE_DOLL[] = { - MAP_OBJ_GFX_TOTODILE_DOLL + EVENT_OBJ_GFX_TOTODILE_DOLL }; const u16 DecorGfx_JIGGLYPUFF_DOLL[] = { - MAP_OBJ_GFX_JIGGLYPUFF_DOLL + EVENT_OBJ_GFX_JIGGLYPUFF_DOLL }; const u16 DecorGfx_MEOWTH_DOLL[] = { - MAP_OBJ_GFX_MEOWTH_DOLL + EVENT_OBJ_GFX_MEOWTH_DOLL }; const u16 DecorGfx_CLEFAIRY_DOLL[] = { - MAP_OBJ_GFX_CLEFAIRY_DOLL + EVENT_OBJ_GFX_CLEFAIRY_DOLL }; const u16 DecorGfx_DITTO_DOLL[] = { - MAP_OBJ_GFX_DITTO_DOLL + EVENT_OBJ_GFX_DITTO_DOLL }; const u16 DecorGfx_SMOOCHUM_DOLL[] = { - MAP_OBJ_GFX_SMOOCHUM_DOLL + EVENT_OBJ_GFX_SMOOCHUM_DOLL }; const u16 DecorGfx_TREECKO_DOLL[] = { - MAP_OBJ_GFX_TREECKO_DOLL + EVENT_OBJ_GFX_TREECKO_DOLL }; const u16 DecorGfx_TORCHIC_DOLL[] = { - MAP_OBJ_GFX_TORCHIC_DOLL + EVENT_OBJ_GFX_TORCHIC_DOLL }; const u16 DecorGfx_MUDKIP_DOLL[] = { - MAP_OBJ_GFX_MUDKIP_DOLL + EVENT_OBJ_GFX_MUDKIP_DOLL }; const u16 DecorGfx_DUSKULL_DOLL[] = { - MAP_OBJ_GFX_DUSKULL_DOLL + EVENT_OBJ_GFX_DUSKULL_DOLL }; const u16 DecorGfx_WYNAUT_DOLL[] = { - MAP_OBJ_GFX_WYNAUT_DOLL + EVENT_OBJ_GFX_WYNAUT_DOLL }; const u16 DecorGfx_BALTOY_DOLL[] = { - MAP_OBJ_GFX_BALTOY_DOLL + EVENT_OBJ_GFX_BALTOY_DOLL }; const u16 DecorGfx_KECLEON_DOLL[] = { - MAP_OBJ_GFX_KECLEON_DOLL + EVENT_OBJ_GFX_KECLEON_DOLL }; const u16 DecorGfx_AZURILL_DOLL[] = { - MAP_OBJ_GFX_AZURILL_DOLL + EVENT_OBJ_GFX_AZURILL_DOLL }; const u16 DecorGfx_SKITTY_DOLL[] = { - MAP_OBJ_GFX_SKITTY_DOLL + EVENT_OBJ_GFX_SKITTY_DOLL }; const u16 DecorGfx_SWABLU_DOLL[] = { - MAP_OBJ_GFX_SWABLU_DOLL + EVENT_OBJ_GFX_SWABLU_DOLL }; const u16 DecorGfx_GULPIN_DOLL[] = { - MAP_OBJ_GFX_GULPIN_DOLL + EVENT_OBJ_GFX_GULPIN_DOLL }; const u16 DecorGfx_LOTAD_DOLL[] = { - MAP_OBJ_GFX_LOTAD_DOLL + EVENT_OBJ_GFX_LOTAD_DOLL }; const u16 DecorGfx_SEEDOT_DOLL[] = { - MAP_OBJ_GFX_SEEDOT_DOLL + EVENT_OBJ_GFX_SEEDOT_DOLL }; const u16 DecorGfx_PIKA_CUSHION[] = { - MAP_OBJ_GFX_PIKA_CUSHION + EVENT_OBJ_GFX_PIKA_CUSHION }; const u16 DecorGfx_ROUND_CUSHION[] = { - MAP_OBJ_GFX_ROUND_CUSHION + EVENT_OBJ_GFX_ROUND_CUSHION }; const u16 DecorGfx_KISS_CUSHION[] = { - MAP_OBJ_GFX_KISS_CUSHION + EVENT_OBJ_GFX_KISS_CUSHION }; const u16 DecorGfx_ZIGZAG_CUSHION[] = { - MAP_OBJ_GFX_ZIGZAG_CUSHION + EVENT_OBJ_GFX_ZIGZAG_CUSHION }; const u16 DecorGfx_SPIN_CUSHION[] = { - MAP_OBJ_GFX_SPIN_CUSHION + EVENT_OBJ_GFX_SPIN_CUSHION }; const u16 DecorGfx_DIAMOND_CUSHION[] = { - MAP_OBJ_GFX_DIAMOND_CUSHION + EVENT_OBJ_GFX_DIAMOND_CUSHION }; const u16 DecorGfx_BALL_CUSHION[] = { - MAP_OBJ_GFX_BALL_CUSHION + EVENT_OBJ_GFX_BALL_CUSHION }; const u16 DecorGfx_GRASS_CUSHION[] = { - MAP_OBJ_GFX_GRASS_CUSHION + EVENT_OBJ_GFX_GRASS_CUSHION }; const u16 DecorGfx_FIRE_CUSHION[] = { - MAP_OBJ_GFX_FIRE_CUSHION + EVENT_OBJ_GFX_FIRE_CUSHION }; const u16 DecorGfx_WATER_CUSHION[] = { - MAP_OBJ_GFX_WATER_CUSHION + EVENT_OBJ_GFX_WATER_CUSHION }; const u16 DecorGfx_SNORLAX_DOLL[] = { - MAP_OBJ_GFX_BIG_SNORLAX_DOLL + EVENT_OBJ_GFX_BIG_SNORLAX_DOLL }; const u16 DecorGfx_RHYDON_DOLL[] = { - MAP_OBJ_GFX_BIG_RHYDON_DOLL + EVENT_OBJ_GFX_BIG_RHYDON_DOLL }; const u16 DecorGfx_LAPRAS_DOLL[] = { - MAP_OBJ_GFX_BIG_LAPRAS_DOLL + EVENT_OBJ_GFX_BIG_LAPRAS_DOLL }; const u16 DecorGfx_VENUSAUR_DOLL[] = { - MAP_OBJ_GFX_BIG_VENUSAUR_DOLL + EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL }; const u16 DecorGfx_CHARIZARD_DOLL[] = { - MAP_OBJ_GFX_BIG_CHARIZARD_DOLL + EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL }; const u16 DecorGfx_BLASTOISE_DOLL[] = { - MAP_OBJ_GFX_BIG_BLASTOISE_DOLL + EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL }; const u16 DecorGfx_WAILMER_DOLL[] = { - MAP_OBJ_GFX_BIG_WAILMER_DOLL + EVENT_OBJ_GFX_BIG_WAILMER_DOLL }; const u16 DecorGfx_REGIROCK_DOLL[] = { - MAP_OBJ_GFX_BIG_REGIROCK_DOLL + EVENT_OBJ_GFX_BIG_REGIROCK_DOLL }; const u16 DecorGfx_REGICE_DOLL[] = { - MAP_OBJ_GFX_BIG_REGICE_DOLL + EVENT_OBJ_GFX_BIG_REGICE_DOLL }; const u16 DecorGfx_REGISTEEL_DOLL[] = { - MAP_OBJ_GFX_BIG_REGISTEEL_DOLL + EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL }; #if ENGLISH @@ -2196,20 +2196,20 @@ void sub_80FF474(void) if (FlagGet(i + FLAG_DECORATION_2) == 1) { FlagClear(i + FLAG_DECORATION_2); - for (j=0; jmapObjectCount; j++) + for (j=0; jeventObjectCount; j++) { - if (gMapHeader.events->mapObjects[j].flagId == i + FLAG_DECORATION_2) + if (gMapHeader.events->eventObjects[j].flagId == i + FLAG_DECORATION_2) { break; } } - VarSet(0x3f20 + gMapHeader.events->mapObjects[j].graphicsId, gUnknown_02038900.decoration->tiles[0]); - gSpecialVar_0x8005 = gMapHeader.events->mapObjects[j].localId; + VarSet(0x3f20 + gMapHeader.events->eventObjects[j].graphicsId, gUnknown_02038900.decoration->tiles[0]); + gSpecialVar_0x8005 = gMapHeader.events->eventObjects[j].localId; gSpecialVar_0x8006 = gUnknown_020391A4; gSpecialVar_0x8007 = gUnknown_020391A6; show_sprite(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); sub_805C0F8(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - TryOverrideTemplateCoordsForMapObject(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + TryOverrideTemplateCoordsForEventObject(gSpecialVar_0x8005, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); break; } } @@ -2281,7 +2281,7 @@ void sub_80FF6AC(u8 taskId) break; case 1: gPaletteFade.bufferTransferDisabled = 1; - AddDecorationIconObjectFromFieldObject(&gUnknown_02038900, gUnknown_020388D0[gUnknown_020388F5]); + AddDecorationIconObjectFromEventObject(&gUnknown_02038900, gUnknown_020388D0[gUnknown_020388F5]); sub_80FF960(taskId); SetUpPlacingDecorationPlayerAvatar(taskId, &gUnknown_02038900); pal_fill_black(); @@ -2298,7 +2298,7 @@ void sub_80FF6AC(u8 taskId) } } -void AddDecorationIconObjectFromFieldObject(struct UnkStruct_02038900 * unk_02038900, u8 decoIdx) +void AddDecorationIconObjectFromEventObject(struct UnkStruct_02038900 * unk_02038900, u8 decoIdx) { sub_80FEF74(); sub_80FED1C(); @@ -2316,7 +2316,7 @@ void AddDecorationIconObjectFromFieldObject(struct UnkStruct_02038900 * unk_0203 } else { gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data[0]; - gUnknown_03004880.unk4 = AddPseudoFieldObject(unk_02038900->decoration->tiles[0], sub_81009A8, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 1); + gUnknown_03004880.unk4 = AddPseudoEventObject(unk_02038900->decoration->tiles[0], sub_81009A8, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 1); gSprites[gUnknown_03004880.unk4].oam.priority = 1; } } @@ -2331,10 +2331,10 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct UnkStruct_02038900 *un } if (gSaveBlock2.playerGender == MALE) { - gUnknown_020391A9 = AddPseudoFieldObject(0xc1, SpriteCallbackDummy, v0, 0x48, 0); + gUnknown_020391A9 = AddPseudoEventObject(0xc1, SpriteCallbackDummy, v0, 0x48, 0); } else { - gUnknown_020391A9 = AddPseudoFieldObject(0xc2, SpriteCallbackDummy, v0, 0x48, 0); + gUnknown_020391A9 = AddPseudoEventObject(0xc2, SpriteCallbackDummy, v0, 0x48, 0); } gSprites[gUnknown_020391A9].oam.priority = 1; DestroySprite(&gSprites[gUnknown_020391A8]); @@ -2475,7 +2475,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) { return FALSE; } - behaviorAt = GetFieldObjectIdByXYZ(curX, curY, 0); + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); if (behaviorAt != 0 && behaviorAt != 16) { return FALSE; @@ -2500,7 +2500,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) { return FALSE; } - if (GetFieldObjectIdByXYZ(curX, curY, 0) != 16) + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) { return FALSE; } @@ -2520,7 +2520,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) { return FALSE; } - behaviorAt = GetFieldObjectIdByXYZ(curX, curY, 0); + behaviorAt = GetEventObjectIdByXYZ(curX, curY, 0); if (behaviorAt != 0 && behaviorAt != 16) { return FALSE; @@ -2565,7 +2565,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) return FALSE; } } - if (GetFieldObjectIdByXYZ(curX, curY, 0) != 16) + if (GetEventObjectIdByXYZ(curX, curY, 0) != 16) { return FALSE; } @@ -2716,7 +2716,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tldr r2, [sp, 0xC]\n" "\tlsrs r1, r2, 16\n" "\tmovs r2, 0\n" - "\tbl GetFieldObjectIdByXYZ\n" + "\tbl GetEventObjectIdByXYZ\n" "\tlsls r0, 24\n" "\tlsrs r4, r0, 24\n" "\tcmp r4, 0\n" @@ -2839,7 +2839,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tldr r2, [sp, 0x20]\n" "\tlsrs r1, r2, 16\n" "\tmovs r2, 0\n" - "\tbl GetFieldObjectIdByXYZ\n" + "\tbl GetEventObjectIdByXYZ\n" "\tlsls r0, 24\n" "\tlsrs r0, 24\n" "\tcmp r0, 0x10\n" @@ -2943,7 +2943,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tldr r2, [sp, 0x20]\n" "\tlsrs r1, r2, 16\n" "\tmovs r2, 0\n" - "\tbl GetFieldObjectIdByXYZ\n" + "\tbl GetEventObjectIdByXYZ\n" "\tlsls r0, 24\n" "\tlsrs r4, r0, 24\n" "\tcmp r4, 0\n" @@ -3083,7 +3083,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tldr r2, [sp, 0x20]\n" "\tlsrs r1, r2, 16\n" "\tmovs r2, 0\n" - "\tbl GetFieldObjectIdByXYZ\n" + "\tbl GetEventObjectIdByXYZ\n" "\tlsls r0, 24\n" "\tlsrs r0, 24\n" "\tcmp r0, 0x10\n" @@ -3656,11 +3656,11 @@ void sub_8100A7C(void) { gSpecialVar_0x8005 = gUnknown_020391B4[gSpecialVar_0x8004].flagId; sub_8100A60(gUnknown_020391B4[gSpecialVar_0x8004].decorId); - for (i=0; imapObjectCount; i++) + for (i=0; ieventObjectCount; i++) { - if (gMapHeader.events->mapObjects[i].flagId == gSpecialVar_0x8005) + if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8005) { - gSpecialVar_0x8006 = gMapHeader.events->mapObjects[i].localId; + gSpecialVar_0x8006 = gMapHeader.events->eventObjects[i].localId; break; } } @@ -3670,11 +3670,11 @@ void sub_8100A7C(void) void sub_8100B20(void) { u8 i; - for (i=0; imapObjectCount; i++) + for (i=0; ieventObjectCount; i++) { - if (gMapHeader.events->mapObjects[i].flagId == gSpecialVar_0x8004) + if (gMapHeader.events->eventObjects[i].flagId == gSpecialVar_0x8004) { - gSpecialVar_0x8005 = gMapHeader.events->mapObjects[i].localId; + gSpecialVar_0x8005 = gMapHeader.events->eventObjects[i].localId; break; } } @@ -3767,10 +3767,10 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) gUnknown_03004880.unk4 = CreateSprite(&gSpriteTemplate_83ECA88, 0x78, 0x50, 0); if (gSaveBlock2.playerGender == MALE) { - gUnknown_020391A9 = AddPseudoFieldObject(0xc1, SpriteCallbackDummy, 0x88, 0x48, 0); + gUnknown_020391A9 = AddPseudoEventObject(0xc1, SpriteCallbackDummy, 0x88, 0x48, 0); } else { - gUnknown_020391A9 = AddPseudoFieldObject(0xc2, SpriteCallbackDummy, 0x88, 0x48, 0); + gUnknown_020391A9 = AddPseudoEventObject(0xc2, SpriteCallbackDummy, 0x88, 0x48, 0); } gSprites[gUnknown_020391A9].oam.priority = 1; DestroySprite(&gSprites[gUnknown_020391A8]); @@ -3953,9 +3953,9 @@ void sub_81012A0(void) yOff = ewram_1f000.pos[gUnknown_020391B4[gUnknown_02039234].decorId] & 0xf; for (i=0; i<0x40; i++) { - if (gSaveBlock1.mapObjectTemplates[i].x == xOff && gSaveBlock1.mapObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1.mapObjectTemplates[i].flagId)) + if (gSaveBlock1.eventObjectTemplates[i].x == xOff && gSaveBlock1.eventObjectTemplates[i].y == yOff && !FlagGet(gSaveBlock1.eventObjectTemplates[i].flagId)) { - gUnknown_020391B4[gUnknown_02039234].flagId = gSaveBlock1.mapObjectTemplates[i].flagId; + gUnknown_020391B4[gUnknown_02039234].flagId = gSaveBlock1.eventObjectTemplates[i].flagId; break; } } diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c index 01f5e016d..530c2ae5e 100644 --- a/src/easy_chat_2.c +++ b/src/easy_chat_2.c @@ -1,6 +1,6 @@ #include "global.h" #include "constants/easy_chat.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "data2.h" #include "decompress.h" #include "easy_chat.h" @@ -740,10 +740,10 @@ void sub_80E8BF4(u8 reporter, u8 b) { case 0: // Gabby default: - gabbyTyGfxId = MAP_OBJ_GFX_REPORTER_M; + gabbyTyGfxId = EVENT_OBJ_GFX_REPORTER_M; break; case 1: // Ty - gabbyTyGfxId = MAP_OBJ_GFX_REPORTER_F; + gabbyTyGfxId = EVENT_OBJ_GFX_REPORTER_F; break; } @@ -751,8 +751,8 @@ void sub_80E8BF4(u8 reporter, u8 b) LoadSpritePalette(&gUnknown_083DBD38); CreateSprite(&gSpriteTemplate_83DBD48, x, y, 1); - spriteId = AddPseudoFieldObject( - (gSaveBlock2.playerGender == MALE) ? MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL : MAP_OBJ_GFX_RIVAL_MAY_NORMAL, + spriteId = AddPseudoEventObject( + (gSaveBlock2.playerGender == MALE) ? EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL : EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, SpriteCallbackDummy, x - 12, y, 0); if (spriteId != MAX_SPRITES) { @@ -760,7 +760,7 @@ void sub_80E8BF4(u8 reporter, u8 b) StartSpriteAnim(&gSprites[spriteId], 3); } - spriteId = AddPseudoFieldObject(gabbyTyGfxId, SpriteCallbackDummy, x + 12, y, 0); + spriteId = AddPseudoEventObject(gabbyTyGfxId, SpriteCallbackDummy, x + 12, y, 0); if (spriteId != MAX_SPRITES) { gSprites[spriteId].oam.priority = 0; diff --git a/src/event_data.c b/src/event_data.c index 9d6d2372b..bfa9ff821 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -136,7 +136,7 @@ bool8 VarSet(u16 id, u16 value) return TRUE; } -u8 VarGetFieldObjectGraphicsId(u8 id) +u8 VarGetEventObjectGraphicsId(u8 id) { return VarGet(VAR_OBJ_GFX_ID_0 + id); } diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c new file mode 100644 index 000000000..624cf0b35 --- /dev/null +++ b/src/event_obj_lock.c @@ -0,0 +1,117 @@ +#include "global.h" +#include "event_obj_lock.h" +#include "event_object_movement.h" +#include "field_player_avatar.h" +#include "script_movement.h" +#include "task.h" + +extern u16 gSpecialVar_Facing; + +bool8 walkrun_is_standing_still(void) +{ + if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) + return FALSE; + else + return TRUE; +} + +void sub_8064CDC(u8 taskId) +{ + if (walkrun_is_standing_still()) + { + sub_80594C0(); + DestroyTask(taskId); + } +} + +bool8 sub_8064CFC(void) +{ + if (FuncIsActiveTask(sub_8064CDC)) + { + return FALSE; + } + else + { + sub_80597F4(); + return TRUE; + } +} + +void ScriptFreezeEventObjects(void) +{ + FreezeEventObjects(); + CreateTask(sub_8064CDC, 80); +} + +void sub_8064D38(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (!task->data[0] && walkrun_is_standing_still() == TRUE) + { + sub_80594C0(); + task->data[0] = 1; + } + if (!task->data[1] && !gEventObjects[gSelectedEventObject].singleMovementActive) + { + FreezeEventObject(&gEventObjects[gSelectedEventObject]); + task->data[1] = 1; + } + if (task->data[0] && task->data[1]) + DestroyTask(taskId); +} + +bool8 sub_8064DB4(void) +{ + if (FuncIsActiveTask(sub_8064D38)) + { + return FALSE; + } + else + { + sub_80597F4(); + return TRUE; + } +} + +void LockSelectedEventObject(void) +{ + u8 taskId; + FreezeEventObjectsExceptOne(gSelectedEventObject); + taskId = CreateTask(sub_8064D38, 80); + if (!gEventObjects[gSelectedEventObject].singleMovementActive) + { + FreezeEventObject(&gEventObjects[gSelectedEventObject]); + gTasks[taskId].data[1] = 1; + } +} + +void sub_8064E2C(void) +{ + u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + sub_80A2178(); + UnfreezeEventObjects(); +} + +void unref_sub_8064E5C(void) +{ + u8 objectId; + + if (gEventObjects[gSelectedEventObject].active) + EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); + objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + sub_80A2178(); + UnfreezeEventObjects(); +} + +void sub_8064EAC(void) +{ + EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], gSpecialVar_Facing); +} + +void sub_8064ED4(void) +{ + EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]); +} diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 05c8d6932..319274f98 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -15,36 +15,36 @@ #include "trainer_see.h" #include "constants/field_effects.h" #include "constants/maps.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" // this file was known as evobjmv.c in Game Freak's original source -static u8 MovementType_BerryTreeGrowth_Callback(struct MapObject*, struct Sprite*); -static u8 MovementType_Disguise_Callback(struct MapObject*, struct Sprite*); -static u8 MovementType_Hidden_Callback(struct MapObject*, struct Sprite*); -static bool8 IsCoordOutsideFieldObjectMovementRange(struct MapObject*, s16, s16); -static bool8 DoesObjectCollideWithObjectAt(struct MapObject*, s16, s16); -static bool8 IsMetatileDirectionallyImpassable(struct MapObject*, s16, s16, u8); -static void ClearMapObjectMovement(struct MapObject*, struct Sprite *sprite); -static void FieldObjectSetSingleMovement(struct MapObject*, struct Sprite*, u8); -static u8 FieldObjectExecSingleMovementAction(struct MapObject*, struct Sprite*); +static u8 MovementType_BerryTreeGrowth_Callback(struct EventObject*, struct Sprite*); +static u8 MovementType_Disguise_Callback(struct EventObject*, struct Sprite*); +static u8 MovementType_Hidden_Callback(struct EventObject*, struct Sprite*); +static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject*, s16, s16); +static bool8 DoesObjectCollideWithObjectAt(struct EventObject*, s16, s16); +static bool8 IsMetatileDirectionallyImpassable(struct EventObject*, s16, s16, u8); +static void ClearEventObjectMovement(struct EventObject*, struct Sprite *sprite); +static void EventObjectSetSingleMovement(struct EventObject*, struct Sprite*, u8); +static u8 EventObjectExecSingleMovementAction(struct EventObject*, struct Sprite*); static void SetMovementDelay(struct Sprite*, s16); static u8 WaitForMovementDelay(struct Sprite*); -static u8 GetCollisionInDirection(struct MapObject*, u8); +static u8 GetCollisionInDirection(struct EventObject*, u8); static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); -static void DoGroundEffects_OnSpawn(struct MapObject*, struct Sprite*); -static void DoGroundEffects_OnBeginStep(struct MapObject*, struct Sprite*); -static void DoGroundEffects_OnFinishStep(struct MapObject*, struct Sprite*); -static void UpdateMapObjectSpriteAnimPause(struct MapObject*, struct Sprite*); -static void TryEnableMapObjectAnim(struct MapObject*, struct Sprite*); -static void FieldObjectExecHeldMovementAction(struct MapObject*, struct Sprite*); -static void FieldObjectUpdateSubpriority(struct MapObject*, struct Sprite*); -static void UpdateMapObjectVisibility(struct MapObject*, struct Sprite*); -static void UpdateMapObjectIsOffscreen(struct MapObject*, struct Sprite*); -static void UpdateMapObjSpriteVisibility(struct MapObject*, struct Sprite*); -static void nullsub(struct MapObject*, struct Sprite*, u8); -static void DoTracksGroundEffect_Footprints(struct MapObject*, struct Sprite*, u8); -static void DoTracksGroundEffect_BikeTireTracks(struct MapObject*, struct Sprite*, u8); +static void DoGroundEffects_OnSpawn(struct EventObject*, struct Sprite*); +static void DoGroundEffects_OnBeginStep(struct EventObject*, struct Sprite*); +static void DoGroundEffects_OnFinishStep(struct EventObject*, struct Sprite*); +static void UpdateEventObjectSpriteAnimPause(struct EventObject*, struct Sprite*); +static void TryEnableEventObjectAnim(struct EventObject*, struct Sprite*); +static void EventObjectExecHeldMovementAction(struct EventObject*, struct Sprite*); +static void EventObjectUpdateSubpriority(struct EventObject*, struct Sprite*); +static void UpdateEventObjectVisibility(struct EventObject*, struct Sprite*); +static void UpdateEventObjectIsOffscreen(struct EventObject*, struct Sprite*); +static void UpdateEventObjSpriteVisibility(struct EventObject*, struct Sprite*); +static void nullsub(struct EventObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_Footprints(struct EventObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_BikeTireTracks(struct EventObject*, struct Sprite*, u8); static u8 GetReflectionTypeByMetatileBehavior(u32); static void Step1(struct Sprite *sprite, u8 direction); static void Step2(struct Sprite *sprite, u8 direction); @@ -56,8 +56,10 @@ static void CameraObject_0(struct Sprite *); static void CameraObject_1(struct Sprite *); static void CameraObject_2(struct Sprite *); static void ObjectCB_CameraObject(struct Sprite *sprite); -static bool8 MapObjectZCoordIsCompatible(struct MapObject*, u8); -static struct MapObjectTemplate *FindFieldObjectTemplateByLocalId(u8, struct MapObjectTemplate*, u8); +static bool8 EventObjectZCoordIsCompatible(struct EventObject*, u8); +static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8, struct EventObjectTemplate*, u8); +static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *); +static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); const u8 gUnknown_0830FD14[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; @@ -69,8 +71,8 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = { CameraObject_2, }; -#include "data/field_map_obj/map_object_graphics.h" -#include "data/field_map_obj/field_effect_object_graphics.h" +#include "data/field_event_obj/event_object_graphics.h" +#include "data/field_event_obj/field_effect_object_graphics.h" // movement type callbacks static void (*const sMovementTypeCallbacks[])(struct Sprite *) = @@ -314,42 +316,42 @@ const u8 gInitialMovementTypeFacingDirections[] = { DIR_SOUTH, // MOVEMENT_TYPE_INVISIBLE }; -#include "data/field_map_obj/map_object_graphics_info_pointers.h" -#include "data/field_map_obj/field_effect_object_template_pointers.h" -#include "data/field_map_obj/map_object_pic_tables.h" -#include "data/field_map_obj/map_object_anims.h" -#include "data/field_map_obj/base_oam.h" -#include "data/field_map_obj/map_object_subsprites.h" -#include "data/field_map_obj/map_object_graphics_info.h" +#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" +#include "data/field_event_obj/event_object_anims.h" +#include "data/field_event_obj/base_oam.h" +#include "data/field_event_obj/event_object_subsprites.h" +#include "data/field_event_obj/event_object_graphics_info.h" const struct SpritePalette gUnknown_0837377C[] = { - {gMapObjectPalette0, 0x1103}, - {gMapObjectPalette1, 0x1104}, - {gMapObjectPalette2, 0x1105}, - {gMapObjectPalette3, 0x1106}, - {gMapObjectPalette4, 0x1107}, - {gMapObjectPalette5, 0x1108}, - {gMapObjectPalette6, 0x1109}, - {gMapObjectPalette7, 0x110A}, - {gMapObjectPalette8, 0x1100}, - {gMapObjectPalette9, 0x1101}, - {gMapObjectPalette10, 0x1102}, - {gMapObjectPalette11, 0x1115}, - {gMapObjectPalette12, 0x110B}, - {gMapObjectPalette13, 0x110C}, - {gMapObjectPalette14, 0x110D}, - {gMapObjectPalette15, 0x110E}, - {gMapObjectPalette16, 0x110F}, - {gMapObjectPalette17, 0x1110}, - {gMapObjectPalette18, 0x1111}, - {gMapObjectPalette19, 0x1112}, - {gMapObjectPalette20, 0x1113}, - {gMapObjectPalette21, 0x1114}, - {gMapObjectPalette22, 0x1116}, - {gMapObjectPalette23, 0x1117}, - {gMapObjectPalette24, 0x1118}, - {gMapObjectPalette25, 0x1119}, - {gMapObjectPalette26, 0x111A}, + {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, 0x111A}, {NULL, 0x0000} }; @@ -526,14 +528,14 @@ const u16 *const gUnknown_0837399C[] = { Unknown_8373988 }; -#include "data/field_map_obj/berry_tree_graphics_tables.h" -#include "data/field_map_obj/field_effect_objects.h" +#include "data/field_event_obj/berry_tree_graphics_tables.h" +#include "data/field_event_obj/field_effect_objects.h" const s16 gMovementDelaysMedium[] = {32, 64, 96, 128}; const s16 gMovementDelaysLong[] = {32, 64, 128, 192}; const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; -#include "data/field_map_obj/movement_type_func_tables.h" +#include "data/field_event_obj/movement_type_func_tables.h" const u8 gFaceDirectionAnimNums[] = { 0, // DIR_NONE @@ -954,34 +956,34 @@ const u8 gUnknown_08375767[][4] = { {3, 4, 2, 1} }; -#include "data/field_map_obj/movement_action_func_tables.h" +#include "data/field_event_obj/movement_action_func_tables.h" static u8 gUnknown_030005A4; static u16 gUnknown_030005A6; -extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; +extern struct LinkPlayerEventObject gLinkPlayerEventObjects[]; extern u8 gReservedSpritePaletteCount; extern struct Camera gCamera; -extern struct MapObject gMapObjects[16]; +extern struct EventObject gEventObjects[16]; #if DEBUG u8 gUnknown_Debug_03004BC0; #endif -static void ClearMapObject(struct MapObject *mapObj) +static void ClearEventObject(struct EventObject *eventObj) { - memset(mapObj, 0, sizeof(struct MapObject)); - mapObj->localId = 0xFF; - mapObj->mapNum = 0xFF; - mapObj->mapGroup = 0xFF; - mapObj->movementActionId = 0xFF; + memset(eventObj, 0, sizeof(struct EventObject)); + eventObj->localId = 0xFF; + eventObj->mapNum = 0xFF; + eventObj->mapGroup = 0xFF; + eventObj->movementActionId = 0xFF; } -static void ClearAllMapObjects(void) +static void ClearAllEventObjects(void) { u8 i; for (i = 0; i < 16; i++) - ClearMapObject(&gMapObjects[i]); + ClearEventObject(&gEventObjects[i]); #if DEBUG gUnknown_Debug_03004BC0 = 0; #endif @@ -989,8 +991,8 @@ static void ClearAllMapObjects(void) void sub_805AA98(void) { - ClearLinkPlayerMapObjects(); - ClearAllMapObjects(); + ClearLinkPlayerEventObjects(); + ClearAllEventObjects(); ClearPlayerAvatarInfo(); sub_805AAB0(); } @@ -1010,225 +1012,225 @@ void sub_805AAB0(void) gSprites[spriteId].invisible = 1; } -u8 GetFirstInactiveMapObjectId(void) +u8 GetFirstInactiveEventObjectId(void) { u8 i; for (i = 0; i < 16; i++) { - if (!gMapObjects[i].active) + if (!gEventObjects[i].active) break; } return i; } -u8 GetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { if (localId < 255) - return GetFieldObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroup); + return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroup); else - return GetFieldObjectIdByLocalId(localId); + return GetEventObjectIdByLocalId(localId); } -bool8 TryGetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 *mapObjectId) +bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId) { - *mapObjectId = GetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup); - if (*mapObjectId == 16) + *eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup); + if (*eventObjectId == 16) return TRUE; else return FALSE; } -u8 GetFieldObjectIdByXY(s16 x, s16 y) +u8 GetEventObjectIdByXY(s16 x, s16 y) { u8 i; for (i = 0; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) + if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y) break; } return i; } -u8 GetFieldObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroup) +u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroup) { u8 i; for (i = 0; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) + if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) return i; } return 16; } -u8 GetFieldObjectIdByLocalId(u8 localId) +u8 GetEventObjectIdByLocalId(u8 localId) { u8 i; for (i = 0; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].localId == localId) + if (gEventObjects[i].active && gEventObjects[i].localId == localId) return i; } return 16; } -u8 TryInitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapNum, u8 mapGroup) +u8 TryInitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup) { - struct MapObject *mapObj; - u8 mapObjectId; + struct EventObject *eventObj; + u8 eventObjectId; s16 initialX; s16 initialY; - if (GetAvailableMapObjectId(template->localId, mapNum, mapGroup, &mapObjectId) != 0) + if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId) != 0) return 16; - mapObj = (void *)&gMapObjects[mapObjectId]; - ClearMapObject((struct MapObject *)mapObj); + eventObj = (void *)&gEventObjects[eventObjectId]; + ClearEventObject((struct EventObject *)eventObj); initialX = template->x + 7; initialY = template->y + 7; - mapObj->active = TRUE; - mapObj->triggerGroundEffectsOnMove = TRUE; - mapObj->graphicsId = template->graphicsId; - mapObj->movementType = template->movementType; - mapObj->localId = template->localId; - mapObj->mapNum = mapNum; + eventObj->active = TRUE; + eventObj->triggerGroundEffectsOnMove = TRUE; + eventObj->graphicsId = template->graphicsId; + eventObj->movementType = template->movementType; + eventObj->localId = template->localId; + eventObj->mapNum = mapNum; asm("":::"r6"); - mapObj->mapGroup = mapGroup; - mapObj->initialCoords.x = initialX; - mapObj->initialCoords.y = initialY; - mapObj->currentCoords.x = initialX; - mapObj->currentCoords.y = initialY; - mapObj->previousCoords.x = initialX; - mapObj->previousCoords.y = initialY; - mapObj->currentElevation = template->elevation; - mapObj->previousElevation = template->elevation; - mapObj->range.as_nybbles.x = template->movementRangeX; - mapObj->range.as_nybbles.y = template->movementRangeY; - mapObj->trainerType = template->trainerType; - mapObj->trainerRange_berryTreeId = template->trainerRange_berryTreeId; - mapObj->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; - SetFieldObjectDirection((struct MapObject *)mapObj, mapObj->previousMovementDirection); + eventObj->mapGroup = mapGroup; + eventObj->initialCoords.x = initialX; + eventObj->initialCoords.y = initialY; + eventObj->currentCoords.x = initialX; + eventObj->currentCoords.y = initialY; + eventObj->previousCoords.x = initialX; + eventObj->previousCoords.y = initialY; + eventObj->currentElevation = template->elevation; + eventObj->previousElevation = template->elevation; + eventObj->range.as_nybbles.x = template->movementRangeX; + eventObj->range.as_nybbles.y = template->movementRangeY; + eventObj->trainerType = template->trainerType; + eventObj->trainerRange_berryTreeId = template->trainerRange_berryTreeId; + eventObj->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; + SetEventObjectDirection((struct EventObject *)eventObj, eventObj->previousMovementDirection); asm("":::"r5","r6"); - SetFieldObjectDynamicGraphicsId((struct MapObject *)mapObj); + SetEventObjectDynamicGraphicsId((struct EventObject *)eventObj); - if (gRangedMovementTypes[mapObj->movementType]) + if (gRangedMovementTypes[eventObj->movementType]) { // Ensure a ranged movement type has at least 1 tile of room to move. - if (mapObj->range.as_nybbles.x == 0) - mapObj->range.as_nybbles.x++; - if (mapObj->range.as_nybbles.y == 0) - mapObj->range.as_nybbles.y++; + if (eventObj->range.as_nybbles.x == 0) + eventObj->range.as_nybbles.x++; + if (eventObj->range.as_nybbles.y == 0) + eventObj->range.as_nybbles.y++; } #if DEBUG gUnknown_Debug_03004BC0++; #endif - return mapObjectId; + return eventObjectId; } -u8 TryInitLocalFieldObject(u8 localId) +u8 TryInitLocalEventObject(u8 localId) { - u8 mapObjectCount; + u8 eventObjectCount; u8 i; if (gMapHeader.events == NULL) return 16; - mapObjectCount = gMapHeader.events->mapObjectCount; - for (i = 0; i < mapObjectCount; i++) + eventObjectCount = gMapHeader.events->eventObjectCount; + for (i = 0; i < eventObjectCount; i++) { - struct MapObjectTemplate *template = &gSaveBlock1.mapObjectTemplates[i]; + struct EventObjectTemplate *template = &gSaveBlock1.eventObjectTemplates[i]; if (template->localId == localId && !FlagGet(template->flagId)) - return TryInitFieldObjectStateFromTemplate(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + return TryInitEventObjectStateFromTemplate(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } return 16; } -u8 GetAvailableMapObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *mapObjectId) +u8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId) { u8 i = 0; - for (i = 0; i < 16 && gMapObjects[i].active; i++) + for (i = 0; i < 16 && gEventObjects[i].active; i++) { - if (gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) + if (gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) return 1; } if (i >= 16) return 1; - *mapObjectId = i; + *eventObjectId = i; for (; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) + if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) return 1; } return 0; } -void RemoveFieldObject(struct MapObject *mapObject) +void RemoveEventObject(struct EventObject *eventObject) { - mapObject->active = FALSE; - RemoveFieldObjectInternal(mapObject); + eventObject->active = FALSE; + RemoveEventObjectInternal(eventObject); #if DEBUG gUnknown_Debug_03004BC0--; #endif } -void RemoveFieldObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +void RemoveEventObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) return; - FlagSet(GetFieldObjectFlagIdByFieldObjectId(mapObjectId)); - RemoveFieldObject(&gMapObjects[mapObjectId]); + FlagSet(GetEventObjectFlagIdByEventObjectId(eventObjectId)); + RemoveEventObject(&gEventObjects[eventObjectId]); } -void RemoveFieldObjectInternal(struct MapObject *mapObject) +void RemoveEventObjectInternal(struct EventObject *eventObject) { struct SpriteFrameImage image; - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); image.size = gfxInfo->size; - gSprites[mapObject->spriteId].images = ℑ - DestroySprite(&gSprites[mapObject->spriteId]); + gSprites[eventObject->spriteId].images = ℑ + DestroySprite(&gSprites[eventObject->spriteId]); } -void RemoveAllMapObjectsExceptPlayer(void) +void RemoveAllEventObjectsExceptPlayer(void) { u8 i; for (i = 0; i < 16; i++) { - if (i != gPlayerAvatar.mapObjectId) - RemoveFieldObject(&gMapObjects[i]); + if (i != gPlayerAvatar.eventObjectId) + RemoveEventObject(&gEventObjects[i]); } } -static u8 TrySetupMapObjectSprite(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) +static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjTemplate, struct SpriteTemplate *sprTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) { - u8 mapObjectId; + u8 eventObjectId; u8 spriteId; - const struct MapObjectGraphicsInfo *gfxInfo; - struct MapObject *mapObject; + const struct EventObjectGraphicsInfo *gfxInfo; + struct EventObject *eventObject; struct Sprite *sprite; - mapObjectId = TryInitFieldObjectStateFromTemplate(mapObjTemplate, mapNum, mapGroup); - if (mapObjectId == 16) + eventObjectId = TryInitEventObjectStateFromTemplate(eventObjTemplate, mapNum, mapGroup); + if (eventObjectId == 16) return 16; - mapObject = &gMapObjects[mapObjectId]; - gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + eventObject = &gEventObjects[eventObjectId]; + gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); if (gfxInfo->paletteSlot == 0) npc_load_two_palettes__no_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); else if (gfxInfo->paletteSlot == 10) npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); - if (mapObject->movementType == MOVEMENT_TYPE_INVISIBLE) - mapObject->invisible = TRUE; + if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE) + eventObject->invisible = TRUE; #ifdef NONMATCHING sprTemplate->paletteTag = 0xFFFF; @@ -1241,93 +1243,93 @@ static u8 TrySetupMapObjectSprite(struct MapObjectTemplate *mapObjTemplate, stru #if DEBUG gUnknown_Debug_03004BC0--; #endif - gMapObjects[mapObjectId].active = FALSE; + gEventObjects[eventObjectId].active = FALSE; return 16; } sprite = &gSprites[spriteId]; - sub_8060388(cameraDeltaX + mapObject->currentCoords.x, cameraDeltaY + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8060388(cameraDeltaX + eventObject->currentCoords.x, cameraDeltaY + eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->oam.paletteNum = gfxInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = mapObjectId; - mapObject->spriteId = spriteId; - mapObject->inanimate = gfxInfo->inanimate; - if (!mapObject->inanimate) - StartSpriteAnim(sprite, GetFaceDirectionAnimNum(mapObject->facingDirection)); - SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); - UpdateMapObjectVisibility(mapObject, sprite); - return mapObjectId; + sprite->data[0] = eventObjectId; + eventObject->spriteId = spriteId; + eventObject->inanimate = gfxInfo->inanimate; + if (!eventObject->inanimate) + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); + SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); + UpdateEventObjectVisibility(eventObject, sprite); + return eventObjectId; } -u8 TrySpawnFieldObject(struct MapObjectTemplate *mapObjTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) +u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjTemplate, u8 mapNum, u8 mapGroup, s16 cameraDeltaX, s16 cameraDeltaY) { struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables = NULL; struct SpriteFrameImage spriteFrameImage; - const struct MapObjectGraphicsInfo *gfxInfo; - u8 mapObjectId; + const struct EventObjectGraphicsInfo *gfxInfo; + u8 eventObjectId; - gfxInfo = GetFieldObjectGraphicsInfo(mapObjTemplate->graphicsId); - MakeObjectTemplateFromFieldObjectTemplate(mapObjTemplate, &spriteTemplate, &subspriteTables); + gfxInfo = GetEventObjectGraphicsInfo(eventObjTemplate->graphicsId); + MakeObjectTemplateFromEventObjectTemplate(eventObjTemplate, &spriteTemplate, &subspriteTables); spriteFrameImage.size = gfxInfo->size; spriteTemplate.images = &spriteFrameImage; - mapObjectId = TrySetupMapObjectSprite(mapObjTemplate, &spriteTemplate, mapNum, mapGroup, cameraDeltaX, cameraDeltaY); - if (mapObjectId == 16) + eventObjectId = TrySetupEventObjectSprite(eventObjTemplate, &spriteTemplate, mapNum, mapGroup, cameraDeltaX, cameraDeltaY); + if (eventObjectId == 16) return 16; - gSprites[gMapObjects[mapObjectId].spriteId].images = gfxInfo->images; + gSprites[gEventObjects[eventObjectId].spriteId].images = gfxInfo->images; if (subspriteTables != NULL) - SetSubspriteTables(&gSprites[gMapObjects[mapObjectId].spriteId], subspriteTables); - return mapObjectId; + SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables); + return eventObjectId; } -u8 SpawnSpecialFieldObject(struct MapObjectTemplate *mapObjTemplate) +u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjTemplate) { s16 x; s16 y; - GetFieldObjectMovingCameraOffset(&x, &y); - return TrySpawnFieldObject(mapObjTemplate, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); + GetEventObjectMovingCameraOffset(&x, &y); + return TrySpawnEventObject(eventObjTemplate, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, x, y); } -u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementType, u8 localId, s16 x, s16 y, u8 elevation) +u8 SpawnSpecialEventObjectParametrized(u8 graphicsId, u8 movementType, u8 localId, s16 x, s16 y, u8 elevation) { - struct MapObjectTemplate mapObjTemplate; + struct EventObjectTemplate eventObjTemplate; x -= 7; y -= 7; - mapObjTemplate.localId = localId; - mapObjTemplate.graphicsId = graphicsId; - mapObjTemplate.unk2 = 0; - mapObjTemplate.x = x; - mapObjTemplate.y = y; - mapObjTemplate.elevation = elevation; - mapObjTemplate.movementType = movementType; - mapObjTemplate.movementRangeX = 0; - mapObjTemplate.movementRangeY = 0; - mapObjTemplate.trainerType = 0; - mapObjTemplate.trainerRange_berryTreeId = 0; - return SpawnSpecialFieldObject(&mapObjTemplate); + eventObjTemplate.localId = localId; + eventObjTemplate.graphicsId = graphicsId; + eventObjTemplate.unk2 = 0; + eventObjTemplate.x = x; + eventObjTemplate.y = y; + eventObjTemplate.elevation = elevation; + eventObjTemplate.movementType = movementType; + eventObjTemplate.movementRangeX = 0; + eventObjTemplate.movementRangeY = 0; + eventObjTemplate.trainerType = 0; + eventObjTemplate.trainerRange_berryTreeId = 0; + return SpawnSpecialEventObject(&eventObjTemplate); } u8 show_sprite(u8 a, u8 b, u8 c) { - struct MapObjectTemplate *r5; + struct EventObjectTemplate *r5; s16 x; s16 y; - r5 = GetFieldObjectTemplateByLocalIdAndMap(a, b, c); + r5 = GetEventObjectTemplateByLocalIdAndMap(a, b, c); if (r5 == NULL) return 16; - GetFieldObjectMovingCameraOffset(&x, &y); - return TrySpawnFieldObject(r5, b, c, x, y); + GetEventObjectMovingCameraOffset(&x, &y); + return TrySpawnEventObject(r5, b, c, x, y); } -void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); + const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId); sprTemplate->tileTag = gfxInfo->tileTag; sprTemplate->paletteTag = gfxInfo->paletteTag1; @@ -1339,23 +1341,23 @@ void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callba *subspriteTables = gfxInfo->subspriteTables; } -void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 movementType, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 movementType, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[movementType], sprTemplate, subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[movementType], sprTemplate, subspriteTables); } -void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObjTemplate->graphicsId, mapObjTemplate->movementType, sprTemplate, subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObjTemplate->graphicsId, eventObjTemplate->movementType, sprTemplate, subspriteTables); } -u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) +u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) { struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; u8 spriteId; - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, callback, &spriteTemplate, &subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, callback, &spriteTemplate, &subspriteTables); if (spriteTemplate.paletteTag != 0xFFFF) sub_805BDF8(spriteTemplate.paletteTag); spriteId = CreateSprite(&spriteTemplate, x, y, subpriority); @@ -1367,19 +1369,15 @@ u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x return spriteId; } -extern void UpdateFieldSpriteSubpriorityAndVisibility(struct Sprite *); -extern void sub_8060470(s16 *, s16 *, s16, s16); -void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); - u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) { - const struct MapObjectGraphicsInfo *gfxInfo; + const struct EventObjectGraphicsInfo *gfxInfo; struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; u8 spriteId; - gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, UpdateFieldSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables); + gfxInfo = GetEventObjectGraphicsInfo(graphicsId); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, UpdateEventObjectSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables); #ifdef NONMATCHING spriteTemplate.paletteTag = 0xFFFF; #else @@ -1414,7 +1412,7 @@ u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) return spriteId; } -void TrySpawnFieldObjects(s16 cameraDeltaX, s16 cameraDeltaY) +void TrySpawnEventObjects(s16 cameraDeltaX, s16 cameraDeltaY) { u8 i; @@ -1424,24 +1422,24 @@ void TrySpawnFieldObjects(s16 cameraDeltaX, s16 cameraDeltaY) s16 sp8 = gSaveBlock1.pos.x + 17; s16 r10 = gSaveBlock1.pos.y; s16 spC = gSaveBlock1.pos.y + 16; - u8 objectCount = gMapHeader.events->mapObjectCount; + u8 objectCount = gMapHeader.events->eventObjectCount; for (i = 0; i < objectCount; i++) { - struct MapObjectTemplate *template = &gSaveBlock1.mapObjectTemplates[i]; + struct EventObjectTemplate *template = &gSaveBlock1.eventObjectTemplates[i]; s16 foo = template->x + 7; s16 bar = template->y + 7; if (r10 <= bar && spC >= bar && r9 <= foo && sp8 >= foo && !FlagGet(template->flagId)) - TrySpawnFieldObject(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, cameraDeltaX, cameraDeltaY); + TrySpawnEventObject(template, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, cameraDeltaX, cameraDeltaY); } } } -void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject); +void RemoveEventObjectIfOutsideView(struct EventObject *eventObject); -void RemoveFieldObjectsOutsideView(void) +void RemoveEventObjectsOutsideView(void) { u8 i; u8 j; @@ -1452,33 +1450,33 @@ void RemoveFieldObjectsOutsideView(void) for (j = 0, isActiveLinkPlayer = 0; j < 4; j++) { - if (gLinkPlayerMapObjects[j].active && i == gLinkPlayerMapObjects[j].mapObjId) + if (gLinkPlayerEventObjects[j].active && i == gLinkPlayerEventObjects[j].eventObjId) isActiveLinkPlayer = TRUE; } if (!isActiveLinkPlayer) { - struct MapObject *mapObject = &gMapObjects[i]; + struct EventObject *eventObject = &gEventObjects[i]; - if (mapObject->active && !mapObject->isPlayer) - RemoveFieldObjectIfOutsideView(mapObject); + if (eventObject->active && !eventObject->isPlayer) + RemoveEventObjectIfOutsideView(eventObject); } } } -void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) +void RemoveEventObjectIfOutsideView(struct EventObject *eventObject) { s16 r7 = gSaveBlock1.pos.x - 2; s16 r5 = gSaveBlock1.pos.x + 17; s16 r4 = gSaveBlock1.pos.y; s16 r6 = gSaveBlock1.pos.y + 16; - if (mapObject->currentCoords.x >= r7 && mapObject->currentCoords.x <= r5 - && mapObject->currentCoords.y >= r4 && mapObject->currentCoords.y <= r6) + if (eventObject->currentCoords.x >= r7 && eventObject->currentCoords.x <= r5 + && eventObject->currentCoords.y >= r4 && eventObject->currentCoords.y <= r6) return; - if (mapObject->initialCoords.x >= r7 && mapObject->initialCoords.x <= r5 - && mapObject->initialCoords.y >= r4 && mapObject->initialCoords.y <= r6) + if (eventObject->initialCoords.x >= r7 && eventObject->initialCoords.x <= r5 + && eventObject->initialCoords.y >= r4 && eventObject->initialCoords.y <= r6) return; - RemoveFieldObject(mapObject); + RemoveEventObject(eventObject); } void sub_805B75C(u8, s16, s16); @@ -1493,7 +1491,7 @@ void sub_805B710(u16 a, u16 b) ClearPlayerAvatarInfo(); for (i = 0; i < 16; i++) { - if (gMapObjects[i].active) + if (gEventObjects[i].active) { sub_805B75C(i, a, b); #if DEBUG @@ -1504,32 +1502,32 @@ void sub_805B710(u16 a, u16 b) sub_805AAB0(); } -extern void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8); -extern void sub_805B914(struct MapObject *); +extern void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); +extern void sub_805B914(struct EventObject *); -void sub_805B75C(u8 mapObjectId, s16 b, s16 c) +void sub_805B75C(u8 eventObjectId, s16 b, s16 c) { struct SpriteTemplate sp0; struct SpriteFrameImage sp18; const struct SubspriteTable *subspriteTables; - const struct MapObjectGraphicsInfo *gfxInfo; - struct MapObject *mapObject; + const struct EventObjectGraphicsInfo *gfxInfo; + struct EventObject *eventObject; u8 spriteId; #define i spriteId for (i = 0; i < 4; i++) { - if (gLinkPlayerMapObjects[i].active && mapObjectId == gLinkPlayerMapObjects[i].mapObjId) + if (gLinkPlayerEventObjects[i].active && eventObjectId == gLinkPlayerEventObjects[i].eventObjId) return; } #undef i - mapObject = &gMapObjects[mapObjectId]; + eventObject = &gEventObjects[eventObjectId]; asm("":::"r5"); subspriteTables = NULL; - gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); sp18.size = gfxInfo->size; - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->movementType, &sp0, &subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObject->graphicsId, eventObject->movementType, &sp0, &subspriteTables); sp0.images = &sp18; *(u16 *)&sp0.paletteTag = 0xFFFF; if (gfxInfo->paletteSlot == 0) @@ -1542,58 +1540,58 @@ void sub_805B75C(u8 mapObjectId, s16 b, s16 c) { struct Sprite *sprite = &gSprites[spriteId]; - sub_8060388(b + mapObject->currentCoords.x, c + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8060388(b + eventObject->currentCoords.x, c + eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->images = gfxInfo->images; - if (mapObject->movementType == MOVEMENT_TYPE_PLAYER) + if (eventObject->movementType == MOVEMENT_TYPE_PLAYER) { - SetPlayerAvatarFieldObjectIdAndObjectId(mapObjectId, spriteId); - mapObject->warpArrowSpriteId = sub_8126B54(); + SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId); + eventObject->warpArrowSpriteId = sub_8126B54(); } if (subspriteTables != NULL) SetSubspriteTables(sprite, subspriteTables); sprite->oam.paletteNum = gfxInfo->paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = mapObjectId; - mapObject->spriteId = spriteId; - if (!mapObject->inanimate && mapObject->movementType != MOVEMENT_TYPE_PLAYER) - StartSpriteAnim(sprite, GetFaceDirectionAnimNum(mapObject->facingDirection)); - sub_805B914(mapObject); - SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); + sprite->data[0] = eventObjectId; + eventObject->spriteId = spriteId; + if (!eventObject->inanimate && eventObject->movementType != MOVEMENT_TYPE_PLAYER) + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); + sub_805B914(eventObject); + SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); } } -void sub_805B914(struct MapObject *mapObject) +void sub_805B914(struct EventObject *eventObject) { - mapObject->singleMovementActive = FALSE; - mapObject->triggerGroundEffectsOnMove = TRUE; - mapObject->hasShadow = FALSE; - mapObject->hasReflection = FALSE; - mapObject->inShortGrass = FALSE; - mapObject->inShallowFlowingWater = FALSE; - mapObject->inSandPile = FALSE; - mapObject->inHotSprings = FALSE; - FieldObjectClearHeldMovement(mapObject); + eventObject->singleMovementActive = FALSE; + eventObject->triggerGroundEffectsOnMove = TRUE; + eventObject->hasShadow = FALSE; + eventObject->hasReflection = FALSE; + eventObject->inShortGrass = FALSE; + eventObject->inShallowFlowingWater = FALSE; + eventObject->inSandPile = FALSE; + eventObject->inHotSprings = FALSE; + EventObjectClearHeldMovement(eventObject); } -void SetPlayerAvatarFieldObjectIdAndObjectId(u8 mapObjectId, u8 spriteId) +void SetPlayerAvatarEventObjectIdAndObjectId(u8 eventObjectId, u8 spriteId) { - gPlayerAvatar.mapObjectId = mapObjectId; + gPlayerAvatar.eventObjectId = eventObjectId; gPlayerAvatar.spriteId = spriteId; - gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gMapObjects[mapObjectId].graphicsId); - SetPlayerAvatarExtraStateTransition(gMapObjects[mapObjectId].graphicsId, 0x20); + gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gEventObjects[eventObjectId].graphicsId); + SetPlayerAvatarExtraStateTransition(gEventObjects[eventObjectId].graphicsId, 0x20); } -void sub_805B980(struct MapObject *mapObject, u8 graphicsId) +void sub_805B980(struct EventObject *eventObject, u8 graphicsId) { - const struct MapObjectGraphicsInfo *gfxInfo; + const struct EventObjectGraphicsInfo *gfxInfo; struct Sprite *sprite; - gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); - sprite = &gSprites[mapObject->spriteId]; + gfxInfo = GetEventObjectGraphicsInfo(graphicsId); + sprite = &gSprites[eventObject->spriteId]; if (gfxInfo->paletteSlot == 0) pal_patch_for_npc(gfxInfo->paletteTag1, gfxInfo->paletteSlot); if (gfxInfo->paletteSlot == 10) @@ -1604,150 +1602,150 @@ void sub_805B980(struct MapObject *mapObject, u8 graphicsId) sprite->anims = gfxInfo->anims; sprite->subspriteTables = gfxInfo->subspriteTables; sprite->oam.paletteNum = gfxInfo->paletteSlot; - mapObject->inanimate = gfxInfo->inanimate; - mapObject->graphicsId = graphicsId; - sub_80603CC(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + eventObject->inanimate = gfxInfo->inanimate; + eventObject->graphicsId = graphicsId; + sub_80603CC(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - if (mapObject->trackedByCamera) + if (eventObject->trackedByCamera) CameraObjectReset1(); } void unref_sub_805BA80(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - sub_805B980(&gMapObjects[mapObjectId], graphicsId); + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + sub_805B980(&gEventObjects[eventObjectId], graphicsId); } -void FieldObjectTurn(struct MapObject *mapObject, u8 direction) +void EventObjectTurn(struct EventObject *eventObject, u8 direction) { - SetFieldObjectDirection(mapObject, direction); - if (!mapObject->inanimate) + SetEventObjectDirection(eventObject, direction); + if (!eventObject->inanimate) { - StartSpriteAnim(&gSprites[mapObject->spriteId], GetFaceDirectionAnimNum(mapObject->facingDirection)); - SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); + StartSpriteAnim(&gSprites[eventObject->spriteId], GetFaceDirectionAnimNum(eventObject->facingDirection)); + SeekSpriteAnim(&gSprites[eventObject->spriteId], 0); } } -void FieldObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) +void EventObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - FieldObjectTurn(&gMapObjects[mapObjectId], direction); + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + EventObjectTurn(&gEventObjects[eventObjectId], direction); } void unref_TurnPlayer(struct PlayerAvatar *player, u8 direction) { - FieldObjectTurn(&gMapObjects[player->mapObjectId], direction); + EventObjectTurn(&gEventObjects[player->eventObjectId], direction); } -void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite) +void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite) { u8 treeStage; u8 treeId; - mapObject->invisible = TRUE; + eventObject->invisible = TRUE; sprite->invisible = TRUE; - treeStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); + treeStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); if (treeStage != 0) { - mapObject->invisible = FALSE; + eventObject->invisible = FALSE; sprite->invisible = FALSE; - treeId = GetBerryTypeByBerryTreeId(mapObject->trainerRange_berryTreeId) - 1; + treeId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1; treeStage--; if (treeId > 0x2B) treeId = 0; - sub_805B980(mapObject, gBerryTreeGraphicsIdTablePointers[treeId][treeStage]); + sub_805B980(eventObject, gBerryTreeGraphicsIdTablePointers[treeId][treeStage]); sprite->images = gBerryTreePicTablePointers[treeId]; sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[treeId][treeStage]; StartSpriteAnim(sprite, treeStage); } } -const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId) +const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId) { if (graphicsId > 0xEF) - graphicsId = VarGetFieldObjectGraphicsId(graphicsId + 16); + graphicsId = VarGetEventObjectGraphicsId(graphicsId + 16); if (graphicsId > 0xD9) graphicsId = 5; - return gMapObjectGraphicsInfoPointers[graphicsId]; + return gEventObjectGraphicsInfoPointers[graphicsId]; } -void SetFieldObjectDynamicGraphicsId(struct MapObject *mapObject) +void SetEventObjectDynamicGraphicsId(struct EventObject *eventObject) { - if (mapObject->graphicsId > 0xEF) - mapObject->graphicsId = VarGetFieldObjectGraphicsId(mapObject->graphicsId + 16); + if (eventObject->graphicsId > 0xEF) + eventObject->graphicsId = VarGetEventObjectGraphicsId(eventObject->graphicsId + 16); } void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 d) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - gMapObjects[mapObjectId].invisible = d; + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + gEventObjects[eventObjectId].invisible = d; } -void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) +void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup) { - *(u8 *)localId = mapObject->localId; - *(u8 *)mapNum = mapObject->mapNum; - *(u8 *)mapGroup = mapObject->mapGroup; + *(u8 *)localId = eventObject->localId; + *(u8 *)mapNum = eventObject->mapNum; + *(u8 *)mapGroup = eventObject->mapGroup; } void sub_805BCC0(s16 x, s16 y) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; - mapObjectId = GetFieldObjectIdByXY(x, y); - if (mapObjectId != 16) + eventObjectId = GetEventObjectIdByXY(x, y); + if (eventObjectId != 16) { - mapObject = &gMapObjects[mapObjectId]; - mapObject->triggerGroundEffectsOnMove = TRUE; + eventObject = &gEventObjects[eventObjectId]; + eventObject->triggerGroundEffectsOnMove = TRUE; } } void sub_805BCF0(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; struct Sprite *sprite; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - mapObject = &gMapObjects[mapObjectId]; - sprite = &gSprites[mapObject->spriteId]; - mapObject->fixedPriority = TRUE; + eventObject = &gEventObjects[eventObjectId]; + sprite = &gSprites[eventObject->spriteId]; + eventObject->fixedPriority = TRUE; sprite->subpriority = subpriority; } } void sub_805BD48(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - mapObject = &gMapObjects[mapObjectId]; - mapObject->fixedPriority = FALSE; - mapObject->triggerGroundEffectsOnMove = TRUE; + eventObject = &gEventObjects[eventObjectId]; + eventObject->fixedPriority = FALSE; + eventObject->triggerGroundEffectsOnMove = TRUE; } } void sub_805BD90(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { - u8 mapObjectId; + u8 eventObjectId; struct Sprite *sprite; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - sprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + sprite = &gSprites[gEventObjects[eventObjectId].spriteId]; sprite->pos2.x = x; sprite->pos2.y = y; } @@ -1761,9 +1759,9 @@ void gpu_pal_allocator_reset__manage_upper_four(void) void sub_805BDF8(u16 tag) { - u16 paletteIndex = FindFieldObjectPaletteIndexByTag(tag); + u16 paletteIndex = FindEventObjectPaletteIndexByTag(tag); - if (paletteIndex != 0x11FF) //always happens. FindFieldObjectPaletteIndexByTag returns u8 + if (paletteIndex != 0x11FF) //always happens. FindEventObjectPaletteIndexByTag returns u8 sub_805BE58(&gUnknown_0837377C[paletteIndex]); } @@ -1786,7 +1784,7 @@ u8 sub_805BE58(const struct SpritePalette *palette) void pal_patch_for_npc(u16 paletteTag, u16 paletteIndex) { u8 index = paletteIndex; - u8 tagPaletteIndex = FindFieldObjectPaletteIndexByTag(paletteTag); + u8 tagPaletteIndex = FindEventObjectPaletteIndexByTag(paletteTag); LoadPalette(gUnknown_0837377C[tagPaletteIndex].data, index * 16 + 0x100, 0x20); } @@ -1797,7 +1795,7 @@ void pal_patch_for_npc_range(const u16 *arr, u8 b, u8 c) pal_patch_for_npc(*arr, b); } -u8 FindFieldObjectPaletteIndexByTag(u16 tag) +u8 FindEventObjectPaletteIndexByTag(u16 tag) { u8 i; @@ -1840,64 +1838,64 @@ void npc_load_two_palettes__and_record(u16 paletteTag, u8 paletteIndex) } } -void unref_sub_805C014(struct MapObject *mapObject, s16 x, s16 y) +void unref_sub_805C014(struct EventObject *eventObject, s16 x, s16 y) { - mapObject->previousCoords.x = mapObject->currentCoords.x; - mapObject->previousCoords.y = mapObject->currentCoords.y; - mapObject->currentCoords.x += x; - mapObject->currentCoords.y += y; + eventObject->previousCoords.x = eventObject->currentCoords.x; + eventObject->previousCoords.y = eventObject->currentCoords.y; + eventObject->currentCoords.x += x; + eventObject->currentCoords.y += y; } -void ShiftMapObjectCoords(struct MapObject *mapObject, s16 x, s16 y) +void ShiftEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) { - mapObject->previousCoords.x = mapObject->currentCoords.x; - mapObject->previousCoords.y = mapObject->currentCoords.y; - mapObject->currentCoords.x = x; - mapObject->currentCoords.y = y; + eventObject->previousCoords.x = eventObject->currentCoords.x; + eventObject->previousCoords.y = eventObject->currentCoords.y; + eventObject->currentCoords.x = x; + eventObject->currentCoords.y = y; } -void SetMapObjectCoords(struct MapObject *mapObject, s16 x, s16 y) +void SetEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) { - mapObject->previousCoords.x = x; - mapObject->previousCoords.y = y; - mapObject->currentCoords.x = x; - mapObject->currentCoords.y = y; + eventObject->previousCoords.x = x; + eventObject->previousCoords.y = y; + eventObject->currentCoords.x = x; + eventObject->currentCoords.y = y; } -void sub_805C058(struct MapObject *mapObject, s16 x, s16 y) +void sub_805C058(struct EventObject *eventObject, s16 x, s16 y) { - struct Sprite *sprite = &gSprites[mapObject->spriteId]; - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + struct Sprite *sprite = &gSprites[eventObject->spriteId]; + const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - SetMapObjectCoords(mapObject, x, y); - sub_80603CC(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + SetEventObjectCoords(eventObject, x, y); + sub_80603CC(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(gfxInfo->width >> 1); sprite->centerToCornerVecY = -(gfxInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sub_805B914(mapObject); - if (mapObject->trackedByCamera) + sub_805B914(eventObject); + if (eventObject->trackedByCamera) CameraObjectReset1(); } void sub_805C0F8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { x += 7; y += 7; - sub_805C058(&gMapObjects[mapObjectId], x, y); + sub_805C058(&gEventObjects[eventObjectId], x, y); } } -void ShiftStillMapObjectCoords(struct MapObject *mapObject) +void ShiftStillEventObjectCoords(struct EventObject *eventObject) { - ShiftMapObjectCoords(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); + ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); } -void UpdateFieldObjectCoordsForCameraUpdate(void) +void UpdateEventObjectCoordsForCameraUpdate(void) { u8 i; s16 deltaX; @@ -1909,46 +1907,46 @@ void UpdateFieldObjectCoordsForCameraUpdate(void) deltaY = gCamera.y; for (i = 0; i < 16; i++) { - if (gMapObjects[i].active) + if (gEventObjects[i].active) { - gMapObjects[i].initialCoords.x -= deltaX; - gMapObjects[i].initialCoords.y -= deltaY; - gMapObjects[i].currentCoords.x -= deltaX; - gMapObjects[i].currentCoords.y -= deltaY; - gMapObjects[i].previousCoords.x -= deltaX; - gMapObjects[i].previousCoords.y -= deltaY; + gEventObjects[i].initialCoords.x -= deltaX; + gEventObjects[i].initialCoords.y -= deltaY; + gEventObjects[i].currentCoords.x -= deltaX; + gEventObjects[i].currentCoords.y -= deltaY; + gEventObjects[i].previousCoords.x -= deltaX; + gEventObjects[i].previousCoords.y -= deltaY; } } } } -u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) +u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z) { u8 i; for (i = 0; i < 16; i++) { - if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y - && MapObjectZCoordIsCompatible(&gMapObjects[i], z)) + if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y + && EventObjectZCoordIsCompatible(&gEventObjects[i], z)) return i; } return 16; } -static bool8 MapObjectZCoordIsCompatible(struct MapObject *mapObject, u8 z) +static bool8 EventObjectZCoordIsCompatible(struct EventObject *eventObject, u8 z) { - if (mapObject->currentElevation != 0 && z != 0 - && mapObject->currentElevation != z) + if (eventObject->currentElevation != 0 && z != 0 + && eventObject->currentElevation != z) return FALSE; else return TRUE; } -void UpdateMapObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) +void UpdateEventObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) { - UpdateFieldObjectCoordsForCameraUpdate(); - TrySpawnFieldObjects(cameraDeltaX, cameraDeltaY); - RemoveFieldObjectsOutsideView(); + UpdateEventObjectCoordsForCameraUpdate(); + TrySpawnEventObjects(cameraDeltaX, cameraDeltaY); + RemoveEventObjectsOutsideView(); } u8 AddCameraObject(u8 a) @@ -2082,84 +2080,84 @@ u8 obj_unfreeze(struct Sprite *src, s16 x, s16 y, u8 subpriority) return 64; } -void SetFieldObjectDirection(struct MapObject *mapObject, u8 direction) +void SetEventObjectDirection(struct EventObject *eventObject, u8 direction) { - mapObject->previousMovementDirection = mapObject->facingDirection; - if (!mapObject->facingDirectionLocked) + eventObject->previousMovementDirection = eventObject->facingDirection; + if (!eventObject->facingDirectionLocked) { s8 _direction = direction; //needed for the asm to match - mapObject->facingDirection = _direction; + eventObject->facingDirection = _direction; } - mapObject->movementDirection = direction; + eventObject->movementDirection = direction; } -u8 *GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +u8 *GetEventObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct MapObjectTemplate *template = GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); + struct EventObjectTemplate *template = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); return template->script; } -u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId) +u8 *GetEventObjectScriptPointerByEventObjectId(u8 eventObjectId) { - return GetFieldObjectScriptPointerByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); + return GetEventObjectScriptPointerByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); } -u16 GetFieldObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +u16 GetEventObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct MapObjectTemplate *template = GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); + struct EventObjectTemplate *template = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); return template->flagId; } -u16 GetFieldObjectFlagIdByFieldObjectId(u8 mapObjectId) +u16 GetEventObjectFlagIdByEventObjectId(u8 eventObjectId) { - return GetFieldObjectFlagIdByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); + return GetEventObjectFlagIdByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); } u8 unref_sub_805C5D0(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) return 0xFF; else - return gMapObjects[mapObjectId].trainerType; + return gEventObjects[eventObjectId].trainerType; } -u8 unref_sub_805C60C(u8 mapObjectId) +u8 unref_sub_805C60C(u8 eventObjectId) { - return gMapObjects[mapObjectId].trainerType; + return gEventObjects[eventObjectId].trainerType; } u8 unref_sub_805C624(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) return 0xFF; else - return gMapObjects[mapObjectId].trainerRange_berryTreeId; + return gEventObjects[eventObjectId].trainerRange_berryTreeId; } -u8 FieldObjectGetBerryTreeId(u8 mapObjectId) +u8 EventObjectGetBerryTreeId(u8 eventObjectId) { - return gMapObjects[mapObjectId].trainerRange_berryTreeId; + return gEventObjects[eventObjectId].trainerRange_berryTreeId; } -struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { if (gSaveBlock1.location.mapNum == mapNum && gSaveBlock1.location.mapGroup == mapGroup) - return FindFieldObjectTemplateByLocalId(localId, gSaveBlock1.mapObjectTemplates, gMapHeader.events->mapObjectCount); + return FindEventObjectTemplateByLocalId(localId, gSaveBlock1.eventObjectTemplates, gMapHeader.events->eventObjectCount); else { struct MapHeader *mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); - return FindFieldObjectTemplateByLocalId(localId, mapHeader->events->mapObjects, mapHeader->events->mapObjectCount); + return FindEventObjectTemplateByLocalId(localId, mapHeader->events->eventObjects, mapHeader->events->eventObjectCount); } } -static struct MapObjectTemplate *FindFieldObjectTemplateByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) +static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count) { u8 i; @@ -2171,47 +2169,47 @@ static struct MapObjectTemplate *FindFieldObjectTemplateByLocalId(u8 localId, st return NULL; } -static struct MapObjectTemplate *GetBaseTemplateForMapObject(struct MapObject *mapObject) +static struct EventObjectTemplate *GetBaseTemplateForEventObject(struct EventObject *eventObject) { s32 i; - if (mapObject->mapNum != gSaveBlock1.location.mapNum - || mapObject->mapGroup != gSaveBlock1.location.mapGroup) + if (eventObject->mapNum != gSaveBlock1.location.mapNum + || eventObject->mapGroup != gSaveBlock1.location.mapGroup) return NULL; for (i = 0; i < 64; i++) { - if (mapObject->localId == gSaveBlock1.mapObjectTemplates[i].localId) - return &gSaveBlock1.mapObjectTemplates[i]; + if (eventObject->localId == gSaveBlock1.eventObjectTemplates[i].localId) + return &gSaveBlock1.eventObjectTemplates[i]; } return NULL; } -void OverrideTemplateCoordsForMapObject(struct MapObject *mapObject) +void OverrideTemplateCoordsForEventObject(struct EventObject *eventObject) { - struct MapObjectTemplate *template = GetBaseTemplateForMapObject(mapObject); + struct EventObjectTemplate *template = GetBaseTemplateForEventObject(eventObject); if (template != NULL) { - template->x = mapObject->currentCoords.x - 7; - template->y = mapObject->currentCoords.y - 7; + template->x = eventObject->currentCoords.x - 7; + template->y = eventObject->currentCoords.y - 7; } } -void OverrideMovementTypeForMapObject(struct MapObject *mapObject, u8 movementType) +void OverrideMovementTypeForEventObject(struct EventObject *eventObject, u8 movementType) { - struct MapObjectTemplate *template = GetBaseTemplateForMapObject(mapObject); + struct EventObjectTemplate *template = GetBaseTemplateForEventObject(eventObject); if (template != NULL) template->movementType = movementType; } -void TryOverrideTemplateCoordsForMapObject(u8 localId, u8 mapNum, u8 mapGroup) +void TryOverrideTemplateCoordsForEventObject(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - OverrideTemplateCoordsForMapObject(&gMapObjects[mapObjectId]); + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]); } void sub_805C7C4(u8 a) @@ -2242,23 +2240,23 @@ u16 npc_paltag_by_palslot(u8 a) movement_type_empty_callback(MovementType_None); movement_type_def(MovementType_WanderAround, gMovementTypeFuncs_WanderAround); -u8 MovementType_WanderAround_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_WanderAround_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_WanderAround_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) + if (EventObjectExecSingleMovementAction(eventObject, sprite) == 0) { return 0; } @@ -2267,7 +2265,7 @@ u8 MovementType_WanderAround_Step2(struct MapObject *mapObject, struct Sprite *s return 1; } -u8 MovementType_WanderAround_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { @@ -2277,40 +2275,40 @@ u8 MovementType_WanderAround_Step3(struct MapObject *mapObject, struct Sprite *s return 0; } -u8 MovementType_WanderAround_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gStandardDirections, 4); direction = directions[Random() & 3]; - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; - if (GetCollisionInDirection(mapObject, direction) != 0) + if (GetCollisionInDirection(eventObject, direction) != 0) { sprite->data[1] = 1; } return 1; } -u8 MovementType_WanderAround_Step5(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step5(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(mapObject->movementDirection)); - mapObject->singleMovementActive = 1; + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); + eventObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } -u8 MovementType_WanderAround_Step6(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderAround_Step6(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) + if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; } -u8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) +u8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) { s16 x; s16 y; @@ -2324,17 +2322,17 @@ u8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) { return 0; } - if (mapObject->trainerType != 1 && mapObject->trainerType != 3) + if (eventObject->trainerType != 1 && eventObject->trainerType != 3) { return 0; } PlayerGetDestCoords(&x, &y); - objx = mapObject->currentCoords.x; - objy = mapObject->currentCoords.y; - minx = objx - mapObject->trainerRange_berryTreeId; - miny = objy - mapObject->trainerRange_berryTreeId; - maxx = objx + mapObject->trainerRange_berryTreeId; - maxy = objy + mapObject->trainerRange_berryTreeId; + objx = eventObject->currentCoords.x; + objy = eventObject->currentCoords.y; + minx = objx - eventObject->trainerRange_berryTreeId; + miny = objy - eventObject->trainerRange_berryTreeId; + maxx = objx + eventObject->trainerRange_berryTreeId; + maxy = objy + eventObject->trainerRange_berryTreeId; if (minx > x || maxx < x || miny > y || maxy < y) { return 0; @@ -2521,17 +2519,17 @@ u8 GetLimitedVectorDirection_SouthWestEast(s16 x, s16 y, s16 xAbs, s16 yAbs) return direction; } -u8 TryGetTrainerEncounterDirection(struct MapObject *mapObject, u8 directionFuncIndex) +u8 TryGetTrainerEncounterDirection(struct EventObject *eventObject, u8 directionFuncIndex) { s16 x, y; s16 xAbs, yAbs; - if (!FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (!EventObjectIsTrainerAndCloseToPlayer(eventObject)) { return 0; } PlayerGetDestCoords(&x, &y); - x -= mapObject->currentCoords.x; - y -= mapObject->currentCoords.y; + x -= eventObject->currentCoords.x; + y -= eventObject->currentCoords.y; xAbs = x; yAbs = y; if (xAbs < 0) @@ -2544,34 +2542,34 @@ u8 TryGetTrainerEncounterDirection(struct MapObject *mapObject, u8 directionFunc movement_type_def(MovementType_LookAround, gMovementTypeFuncs_LookAround); -u8 MovementType_LookAround_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_LookAround_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_LookAround_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_LookAround_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -2579,39 +2577,39 @@ u8 MovementType_LookAround_Step3(struct MapObject *mapObject, struct Sprite *spr return 0; } -u8 MovementType_LookAround_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_LookAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gStandardDirections, 4); - direction = TryGetTrainerEncounterDirection(mapObject, 0); + direction = TryGetTrainerEncounterDirection(eventObject, 0); if (direction == DIR_NONE) direction = directions[Random() & 3]; - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_WanderUpAndDown, gMovementTypeFuncs_WanderUpAndDown); -u8 MovementType_WanderUpAndDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_WanderUpAndDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_WanderUpAndDown_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) + if (EventObjectExecSingleMovementAction(eventObject, sprite) == 0) { return 0; } @@ -2620,7 +2618,7 @@ u8 MovementType_WanderUpAndDown_Step2(struct MapObject *mapObject, struct Sprite return 1; } -u8 MovementType_WanderUpAndDown_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { @@ -2630,34 +2628,34 @@ u8 MovementType_WanderUpAndDown_Step3(struct MapObject *mapObject, struct Sprite return 0; } -u8 MovementType_WanderUpAndDown_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndDownDirections, 2); direction = directions[Random() & 1]; - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; - if (GetCollisionInDirection(mapObject, direction) != 0) + if (GetCollisionInDirection(eventObject, direction) != 0) { sprite->data[1] = 1; } return 1; } -u8 MovementType_WanderUpAndDown_Step5(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step5(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(mapObject->movementDirection)); - mapObject->singleMovementActive = 1; + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); + eventObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } -u8 MovementType_WanderUpAndDown_Step6(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderUpAndDown_Step6(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) + if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -2665,23 +2663,23 @@ u8 MovementType_WanderUpAndDown_Step6(struct MapObject *mapObject, struct Sprite movement_type_def(MovementType_WanderLeftAndRight, gMovementTypeFuncs_WanderLeftAndRight); -u8 MovementType_WanderLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_WanderLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_WanderLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) == 0) + if (EventObjectExecSingleMovementAction(eventObject, sprite) == 0) { return 0; } @@ -2690,7 +2688,7 @@ u8 MovementType_WanderLeftAndRight_Step2(struct MapObject *mapObject, struct Spr return 1; } -u8 MovementType_WanderLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { if (WaitForMovementDelay(sprite)) { @@ -2700,34 +2698,34 @@ u8 MovementType_WanderLeftAndRight_Step3(struct MapObject *mapObject, struct Spr return 0; } -u8 MovementType_WanderLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gLeftAndRightDirections, 2); direction = directions[Random() & 1]; - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; - if (GetCollisionInDirection(mapObject, direction) != 0) + if (GetCollisionInDirection(eventObject, direction) != 0) { sprite->data[1] = 1; } return 1; } -u8 MovementType_WanderLeftAndRight_Step5(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step5(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(mapObject->movementDirection)); - mapObject->singleMovementActive = 1; + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); + eventObject->singleMovementActive = 1; sprite->data[1] = 6; return 1; } -u8 MovementType_WanderLeftAndRight_Step6(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WanderLeftAndRight_Step6(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) + if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -2735,17 +2733,17 @@ u8 MovementType_WanderLeftAndRight_Step6(struct MapObject *mapObject, struct Spr movement_type_def(MovementType_FaceDirection, gMovementTypeFuncs_FaceDirection); -u8 MovementType_FaceDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceDirection_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDirection_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite) != 0) + if (EventObjectExecSingleMovementAction(eventObject, sprite) != 0) { sprite->data[1] = 2; return 1; @@ -2753,42 +2751,42 @@ u8 MovementType_FaceDirection_Step1(struct MapObject *mapObject, struct Sprite * return 0; } -u8 MovementType_FaceDirection_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDirection_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; return 0; } void MovementType_BerryTreeGrowth(struct Sprite *sprite) { - struct MapObject *mapObject; - mapObject = &gMapObjects[sprite->data[0]]; + struct EventObject *eventObject; + eventObject = &gEventObjects[sprite->data[0]]; if (!(sprite->data[7] & 1)) { - get_berry_tree_graphics(mapObject, sprite); + get_berry_tree_graphics(eventObject, sprite); sprite->data[7] |= 1; } - meta_step(mapObject, sprite, MovementType_BerryTreeGrowth_Callback); + UpdateEventObjectCurrentMovement(eventObject, sprite, MovementType_BerryTreeGrowth_Callback); } -static u8 MovementType_BerryTreeGrowth_Callback(struct MapObject *mapObject, struct Sprite *sprite) +static u8 MovementType_BerryTreeGrowth_Callback(struct EventObject *eventObject, struct Sprite *sprite) { - return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](mapObject, sprite); + return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](eventObject, sprite); } -u8 MovementType_BerryTreeGrowth_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u8 berryTreeStage; - ClearMapObjectMovement(mapObject, sprite); - mapObject->invisible = 1; + ClearEventObjectMovement(eventObject, sprite); + eventObject->invisible = 1; sprite->invisible = 1; - berryTreeStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); + berryTreeStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); if (!berryTreeStage) { if (!(sprite->data[7] & 4) && sprite->animNum == 4) { - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); @@ -2796,7 +2794,7 @@ u8 MovementType_BerryTreeGrowth_Step0(struct MapObject *mapObject, struct Sprite } return 0; } - mapObject->invisible = 0; + eventObject->invisible = 0; sprite->invisible = 0; berryTreeStage--; if (sprite->animNum != berryTreeStage) @@ -2804,15 +2802,15 @@ u8 MovementType_BerryTreeGrowth_Step0(struct MapObject *mapObject, struct Sprite sprite->data[1] = 2; return 1; } - get_berry_tree_graphics(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); + get_berry_tree_graphics(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); sprite->data[1] = 1; return 1; } -u8 MovementType_BerryTreeGrowth_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 0; return 1; @@ -2820,28 +2818,28 @@ u8 MovementType_BerryTreeGrowth_Step1(struct MapObject *mapObject, struct Sprite return 0; } -u8 MovementType_BerryTreeGrowth_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = 1; + eventObject->singleMovementActive = 1; sprite->data[1] = 3; sprite->data[2] = 0; sprite->data[7] |= 2; - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); return 1; } -u8 MovementType_BerryTreeGrowth_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step3(struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[2]++; - mapObject->invisible = ((sprite->data[2] & 0x2) >> 1); + eventObject->invisible = ((sprite->data[2] & 0x2) >> 1); sprite->animPaused = 1; if (sprite->data[2] > 64) { - get_berry_tree_graphics(mapObject, sprite); + get_berry_tree_graphics(eventObject, sprite); sprite->data[1] = 4; sprite->data[2] = 0; return 1; @@ -2849,10 +2847,10 @@ u8 MovementType_BerryTreeGrowth_Step3(struct MapObject *mapObject, struct Sprite return 0; } -u8 MovementType_BerryTreeGrowth_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_BerryTreeGrowth_Step4(struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[2]++; - mapObject->invisible = ((sprite->data[2] & 0x2) >> 1); + eventObject->invisible = ((sprite->data[2] & 0x2) >> 1); sprite->animPaused = 1; if (sprite->data[2] > 64) { @@ -2865,34 +2863,34 @@ u8 MovementType_BerryTreeGrowth_Step4(struct MapObject *mapObject, struct Sprite movement_type_def(MovementType_FaceDownAndUp, gMovementTypeFuncs_FaceDownAndUp); -u8 MovementType_FaceDownAndUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceDownAndUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceDownAndUp_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceDownAndUp_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -2900,51 +2898,51 @@ u8 MovementType_FaceDownAndUp_Step3(struct MapObject *mapObject, struct Sprite * return 0; } -u8 MovementType_FaceDownAndUp_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndUp_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndDownDirections, 2); - direction = TryGetTrainerEncounterDirection(mapObject, 1); + direction = TryGetTrainerEncounterDirection(eventObject, 1); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceLeftAndRight, gMovementTypeFuncs_FaceLeftAndRight); -u8 MovementType_FaceLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -2952,51 +2950,51 @@ u8 MovementType_FaceLeftAndRight_Step3(struct MapObject *mapObject, struct Sprit return 0; } -u8 MovementType_FaceLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gLeftAndRightDirections, 2); - direction = TryGetTrainerEncounterDirection(mapObject, 2); + direction = TryGetTrainerEncounterDirection(eventObject, 2); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceUpAndLeft, gMovementTypeFuncs_FaceUpAndLeft); -u8 MovementType_FaceUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceUpAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceUpAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3004,51 +3002,51 @@ u8 MovementType_FaceUpAndLeft_Step3(struct MapObject *mapObject, struct Sprite * return 0; } -u8 MovementType_FaceUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndLeftDirections, 2); - direction = TryGetTrainerEncounterDirection(mapObject, 3); + direction = TryGetTrainerEncounterDirection(eventObject, 3); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceUpAndRight, gMovementTypeFuncs_FaceUpAndRight); -u8 MovementType_FaceUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceUpAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceUpAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3056,51 +3054,51 @@ u8 MovementType_FaceUpAndRight_Step3(struct MapObject *mapObject, struct Sprite return 0; } -u8 MovementType_FaceUpAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gUpAndRightDirections, 2); - direction = TryGetTrainerEncounterDirection(mapObject, 4); + direction = TryGetTrainerEncounterDirection(eventObject, 4); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceDownAndLeft, gMovementTypeFuncs_FaceDownAndLeft); -u8 MovementType_FaceDownAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceDownAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceDownAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceDownAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3108,51 +3106,51 @@ u8 MovementType_FaceDownAndLeft_Step3(struct MapObject *mapObject, struct Sprite return 0; } -u8 MovementType_FaceDownAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gDownAndLeftDirections, 2); - direction = TryGetTrainerEncounterDirection(mapObject, 5); + direction = TryGetTrainerEncounterDirection(eventObject, 5); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceDownAndRight, gMovementTypeFuncs_FaceDownAndRight); -u8 MovementType_FaceDownAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceDownAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceDownAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceDownAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3160,51 +3158,51 @@ u8 MovementType_FaceDownAndRight_Step3(struct MapObject *mapObject, struct Sprit return 0; } -u8 MovementType_FaceDownAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[2]; memcpy(directions, gDownAndRightDirections, 2); - direction = TryGetTrainerEncounterDirection(mapObject, 6); + direction = TryGetTrainerEncounterDirection(eventObject, 6); if (direction == DIR_NONE) { direction = directions[Random() & 1]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceDownUpAndLeft, gMovementTypeFuncs_FaceDownUpAndLeft); -u8 MovementType_FaceDownUpAndLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceDownUpAndLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceDownUpAndLeft_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceDownUpAndLeft_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3212,51 +3210,51 @@ u8 MovementType_FaceDownUpAndLeft_Step3(struct MapObject *mapObject, struct Spri return 0; } -u8 MovementType_FaceDownUpAndLeft_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gDownUpAndLeftDirections, 4); - direction = TryGetTrainerEncounterDirection(mapObject, 7); + direction = TryGetTrainerEncounterDirection(eventObject, 7); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceDownUpAndRight, gMovementTypeFuncs_FaceDownUpAndRight); -u8 MovementType_FaceDownUpAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceDownUpAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceDownUpAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceDownUpAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3264,51 +3262,51 @@ u8 MovementType_FaceDownUpAndRight_Step3(struct MapObject *mapObject, struct Spr return 0; } -u8 MovementType_FaceDownUpAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gDownUpAndRightDirections, 4); - direction = TryGetTrainerEncounterDirection(mapObject, 8); + direction = TryGetTrainerEncounterDirection(eventObject, 8); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceUpLeftAndRight, gMovementTypeFuncs_FaceUpLeftAndRight); -u8 MovementType_FaceUpLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceUpLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceUpLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceUpLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3316,51 +3314,51 @@ u8 MovementType_FaceUpLeftAndRight_Step3(struct MapObject *mapObject, struct Spr return 0; } -u8 MovementType_FaceUpLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gUpLeftAndRightDirections, 4); - direction = TryGetTrainerEncounterDirection(mapObject, 9); + direction = TryGetTrainerEncounterDirection(eventObject, 9); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_FaceDownLeftAndRight, gMovementTypeFuncs_FaceDownLeftAndRight); -u8 MovementType_FaceDownLeftAndRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_FaceDownLeftAndRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return 1; } -u8 MovementType_FaceDownLeftAndRight_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return 0; } -u8 MovementType_FaceDownLeftAndRight_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return 1; @@ -3368,34 +3366,34 @@ u8 MovementType_FaceDownLeftAndRight_Step3(struct MapObject *mapObject, struct S return 0; } -u8 MovementType_FaceDownLeftAndRight_Step4(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[4]; memcpy(directions, gDownLeftAndRightDirections, 4); - direction = TryGetTrainerEncounterDirection(mapObject, 10); + direction = TryGetTrainerEncounterDirection(eventObject, 10); if (direction == DIR_NONE) { direction = directions[Random() & 3]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_RotateCounterclockwise, gMovementTypeFuncs_RotateCounterclockwise); -u8 MovementType_RotateCounterclockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return 1; } -u8 MovementType_RotateCounterclockwise_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, 48); sprite->data[1] = 2; @@ -3403,43 +3401,43 @@ u8 MovementType_RotateCounterclockwise_Step1(struct MapObject *mapObject, struct return 0; } -u8 MovementType_RotateCounterclockwise_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } return 0; } -u8 MovementType_RotateCounterclockwise_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateCounterclockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[5]; memcpy(directions, gCounterclockwiseDirections, 5); - direction = TryGetTrainerEncounterDirection(mapObject, 0); + direction = TryGetTrainerEncounterDirection(eventObject, 0); if (direction == DIR_NONE) { - direction = directions[mapObject->facingDirection]; + direction = directions[eventObject->facingDirection]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 0; return 1; } movement_type_def(MovementType_RotateClockwise, gMovementTypeFuncs_RotateClockwise); -u8 MovementType_RotateClockwise_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return 1; } -u8 MovementType_RotateClockwise_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { SetMovementDelay(sprite, 0x30); sprite->data[1] = 2; @@ -3447,130 +3445,130 @@ u8 MovementType_RotateClockwise_Step1(struct MapObject *mapObject, struct Sprite return 0; } -u8 MovementType_RotateClockwise_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (WaitForMovementDelay(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } return 0; } -u8 MovementType_RotateClockwise_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RotateClockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; u8 directions[5]; memcpy(directions, gClockwiseDirections, 5); - direction = TryGetTrainerEncounterDirection(mapObject, 0); + direction = TryGetTrainerEncounterDirection(eventObject, 0); if (direction == DIR_NONE) { - direction = directions[mapObject->facingDirection]; + direction = directions[eventObject->facingDirection]; } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 0; return 1; } movement_type_def(MovementType_WalkBackAndForth, gMovementTypeFuncs_WalkBackAndForth); -u8 MovementType_WalkBackAndForth_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MovementType_WalkBackAndForth_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; - direction = gInitialMovementTypeFacingDirections[mapObject->movementType]; - if (mapObject->directionSequenceIndex != 0) + direction = gInitialMovementTypeFacingDirections[eventObject->movementType]; + if (eventObject->directionSequenceIndex != 0) { direction = GetOppositeDirection(direction); } - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 2; return 1; } -u8 MovementType_WalkBackAndForth_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct Sprite *sprite) { u8 collisionState; u8 movementActionId; - if (mapObject->directionSequenceIndex && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 0; - SetFieldObjectDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + eventObject->directionSequenceIndex = 0; + SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); } - collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); - movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); if (collisionState == 1) { - mapObject->directionSequenceIndex++; - SetFieldObjectDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); - collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); + eventObject->directionSequenceIndex++; + SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); } if (collisionState != 0) { - movementActionId = GetWalkInPlaceNormalMovementAction(mapObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); } - FieldObjectSetSingleMovement(mapObject, sprite, movementActionId); - mapObject->singleMovementActive = 1; + EventObjectSetSingleMovement(eventObject, sprite, movementActionId); + eventObject->singleMovementActive = 1; sprite->data[1] = 3; return 1; } -u8 MovementType_WalkBackAndForth_Step3(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkBackAndForth_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; } -u8 MovementType_WalkSequence_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequence_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return 1; } -u8 MoveNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *directionSequence) +u8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *directionSequence) { u8 collisionState; u8 movementActionId; - if (mapObject->directionSequenceIndex == 3 && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 3 && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 0; + eventObject->directionSequenceIndex = 0; } - SetFieldObjectDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); - movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); - collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); + SetEventObjectDirection(eventObject, directionSequence[eventObject->directionSequenceIndex]); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); if (collisionState == 1) { - mapObject->directionSequenceIndex++; - SetFieldObjectDirection(mapObject, directionSequence[mapObject->directionSequenceIndex]); - movementActionId = GetWalkNormalMovementAction(mapObject->movementDirection); - collisionState = GetCollisionInDirection(mapObject, mapObject->movementDirection); + eventObject->directionSequenceIndex++; + SetEventObjectDirection(eventObject, directionSequence[eventObject->directionSequenceIndex]); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); } if (collisionState != 0) { - movementActionId = GetWalkInPlaceNormalMovementAction(mapObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); } - FieldObjectSetSingleMovement(mapObject, sprite, movementActionId); - mapObject->singleMovementActive = 1; + EventObjectSetSingleMovement(eventObject, sprite, movementActionId); + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } -u8 MovementType_WalkSequence_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequence_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; @@ -3578,560 +3576,560 @@ u8 MovementType_WalkSequence_Step2(struct MapObject *mapObject, struct Sprite *s movement_type_def(MovementType_WalkSequenceUpRightLeftDown, gMovementTypeFuncs_WalkSequenceUpRightLeftDown); -u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUpRightLeftDownDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightLeftDownUp, gMovementTypeFuncs_WalkSequenceRightLeftDownUp); -u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gRightLeftDownUpDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownUpRightLeft, gMovementTypeFuncs_WalkSequenceDownUpRightLeft); -u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gDownUpRightLeftDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftDownUpRight, gMovementTypeFuncs_WalkSequenceLeftDownUpRight); -u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gLeftDownUpRightDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpLeftRightDown, gMovementTypeFuncs_WalkSequenceUpLeftRightDown); -u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUpLeftRightDownDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftRightDownUp, gMovementTypeFuncs_WalkSequenceLeftRightDownUp); -u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gLeftRightDownUpDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownUpLeftRight, gMovementTypeFuncs_WalkSequenceDownUpLeftRight); -u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gStandardDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightDownUpLeft, gMovementTypeFuncs_WalkSequenceRightDownUpLeft); -u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gRightDownUpLeftDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftUpDownRight, gMovementTypeFuncs_WalkSequenceLeftUpDownRight); -u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gLeftUpDownRightDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpDownRightLeft, gMovementTypeFuncs_WalkSequenceUpDownRightLeft); -u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUpDownRightLeftDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightLeftUpDown, gMovementTypeFuncs_WalkSequenceRightLeftUpDown); -u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gRightLeftUpDownDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownRightLeftUp, gMovementTypeFuncs_WalkSequenceDownRightLeftUp); -u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gDownRightLeftUpDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightUpDownLeft, gMovementTypeFuncs_WalkSequenceRightUpDownLeft); -u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gRightUpDownLeftDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpDownLeftRight, gMovementTypeFuncs_WalkSequenceUpDownLeftRight); -u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUpDownLeftRightDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftRightUpDown, gMovementTypeFuncs_WalkSequenceLeftRightUpDown); -u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gLeftRightUpDownDirections, 4); - if (mapObject->directionSequenceIndex == 1 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownLeftRightUp, gMovementTypeFuncs_WalkSequenceDownLeftRightUp); -u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gDownLeftRightUpDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpLeftDownRight, gMovementTypeFuncs_WalkSequenceUpLeftDownRight); -u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUpLeftDownRightDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownRightUpLeft, gMovementTypeFuncs_WalkSequenceDownRightUpLeft); -u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gDownRightUpLeftDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftDownRightUp, gMovementTypeFuncs_WalkSequenceLeftDownRightUp); -u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gLeftDownRightUpDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightUpLeftDown, gMovementTypeFuncs_WalkSequenceRightUpLeftDown); -u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gRightUpLeftDownDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceUpRightDownLeft, gMovementTypeFuncs_WalkSequenceUpRightDownLeft); -u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gUpRightDownLeftDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceDownLeftUpRight, gMovementTypeFuncs_WalkSequenceDownLeftUpRight); -u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gDownLeftUpRightDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceLeftUpRightDown, gMovementTypeFuncs_WalkSequenceLeftUpRightDown); -u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gLeftUpRightDownDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); } movement_type_def(MovementType_WalkSequenceRightDownLeftUp, gMovementTypeFuncs_WalkSequenceRightDownLeftUp); -u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; memcpy(directions, gRightDownLeftUpDirections, 4); - if (mapObject->directionSequenceIndex == 2 && mapObject->initialCoords.x == mapObject->currentCoords.x) + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) { - mapObject->directionSequenceIndex = 3; + eventObject->directionSequenceIndex = 3; } - return MoveNextDirectionInSequence(mapObject, sprite, directions); + return MoveNextDirectionInSequence(eventObject, sprite, directions); }; movement_type_def(MovementType_CopyPlayer, gMovementTypeFuncs_CopyPlayer); -u8 MovementType_CopyPlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - if (mapObject->directionSequenceIndex == 0) + ClearEventObjectMovement(eventObject, sprite); + if (eventObject->directionSequenceIndex == 0) { - mapObject->directionSequenceIndex = GetPlayerFacingDirection(); + eventObject->directionSequenceIndex = GetPlayerFacingDirection(); } sprite->data[1] = 1; return 1; } -u8 MovementType_CopyPlayer_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayer_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } - return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](mapObject, sprite, GetPlayerMovementDirection(), NULL); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), NULL); } -u8 MovementType_CopyPlayer_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayer_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return 0; } -bool8 CopyablePlayerMovement_None(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_None(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { return 0; } -bool8 CopyablePlayerMovement_FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); - mapObject->singleMovementActive = 1; + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, playerDirection))); + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } -bool8 CopyablePlayerMovement_GoSpeed0(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkNormalMovementAction(direction)); - if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - mapObject->singleMovementActive = 1; + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return 1; } -bool8 CopyablePlayerMovement_GoSpeed1(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkFastMovementAction(direction)); - if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkFastMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_GoSpeed2(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed2(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkFastestMovementAction(direction)); - if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkFastestMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_Slide(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_Slide(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, GetSlideMovementAction(direction)); - if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetSingleMovement(eventObject, sprite, GetSlideMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 cph_IM_DIFFERENT(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectSetSingleMovement(mapObject, sprite, GetJumpInPlaceMovementAction(direction)); - mapObject->singleMovementActive = TRUE; + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectSetSingleMovement(eventObject, sprite, GetJumpInPlaceMovementAction(direction)); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_GoSpeed4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetSingleMovement(mapObject, sprite, sub_80608A4(direction)); - if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetSingleMovement(eventObject, sprite, sub_80608A4(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 CopyablePlayerMovement_Jump(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) +bool8 CopyablePlayerMovement_Jump(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; MoveCoordsInDirection(direction, &x, &y, 2, 2); - FieldObjectSetSingleMovement(mapObject, sprite, GetJump2MovementAction(direction)); - if (GetCollisionAtCoords(mapObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectSetSingleMovement(eventObject, sprite, GetJump2MovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } movement_type_def(MovementType_CopyPlayerInGrass, gMovementTypeFuncs_CopyPlayerInGrass); -u8 MovementType_CopyPlayerInGrass_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) + if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return 0; } - return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](mapObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); } void MovementType_TreeDisguise(struct Sprite *sprite) { - struct MapObject *mapObject; - mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) + struct EventObject *eventObject; + eventObject = &gEventObjects[sprite->data[0]]; + if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); - mapObject->directionSequenceIndex = 1; + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); + eventObject->directionSequenceIndex = 1; sprite->data[7] ++; } - meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -static u8 MovementType_Disguise_Callback(struct MapObject *mapObject, struct Sprite *sprite) +static u8 MovementType_Disguise_Callback(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); return 0; } void MovementType_MountainDisguise(struct Sprite *sprite) { - struct MapObject *mapObject; - mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) + struct EventObject *eventObject; + eventObject = &gEventObjects[sprite->data[0]]; + if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && sprite->data[7] == 0)) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); - mapObject->directionSequenceIndex = 1; + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); + eventObject->directionSequenceIndex = 1; sprite->data[7] ++; } - meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } void MovementType_Hidden(struct Sprite *sprite) { if (sprite->data[7] == 0) { - gMapObjects[sprite->data[0]].fixedPriority = 1; + gEventObjects[sprite->data[0]].fixedPriority = 1; sprite->subspriteMode = 2; sprite->oam.priority = 3; sprite->data[7] ++; } - meta_step(&gMapObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); } -static u8 MovementType_Hidden_Callback(struct MapObject *mapObject, struct Sprite *sprite) +static u8 MovementType_Hidden_Callback(struct EventObject *eventObject, struct Sprite *sprite) { - return gMovementTypeFuncs_Hidden[sprite->data[1]](mapObject, sprite); + return gMovementTypeFuncs_Hidden[sprite->data[1]](eventObject, sprite); } -u8 MovementType_Hidden_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Hidden_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); + ClearEventObjectMovement(eventObject, sprite); return 0; } -u8 MovementType_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 0; } @@ -4140,48 +4138,48 @@ u8 MovementType_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprite *sp movement_type_def(MovementType_WalkInPlace, gMovementTypeFuncs_WalkInPlace); -u8 MovementType_WalkInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_WalkInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceNormalMovementAction(mapObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceNormalMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_JogInPlace, gMovementTypeFuncs_JogInPlace); -u8 MovementType_JogInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_JogInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceFastMovementAction(mapObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_RunInPlace, gMovementTypeFuncs_RunInPlace); -u8 MovementType_RunInPlace_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_RunInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetWalkInPlaceFastestMovementAction(mapObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return 1; } movement_type_def(MovementType_Invisible, gMovementTypeFuncs_Invisible); -u8 MovementType_Invisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Invisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - ClearMapObjectMovement(mapObject, sprite); - FieldObjectSetSingleMovement(mapObject, sprite, GetFaceDirectionMovementAction(mapObject->facingDirection)); - mapObject->invisible = 1; + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); + eventObject->invisible = 1; sprite->data[1] = 1; return 1; } -u8 MovementType_Invisible_Step1(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Invisible_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecSingleMovementAction(mapObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 2; return 1; @@ -4189,18 +4187,18 @@ u8 MovementType_Invisible_Step1(struct MapObject *mapObject, struct Sprite *spri return 0; } -u8 MovementType_Invisible_Step2(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementType_Invisible_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = 0; + eventObject->singleMovementActive = 0; return 0; } -static void ClearMapObjectMovement(struct MapObject *mapObject, struct Sprite *sprite) +static void ClearEventObjectMovement(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = 0; - mapObject->heldMovementActive = 0; - mapObject->heldMovementFinished = 0; - mapObject->movementActionId = 0xff; + eventObject->singleMovementActive = 0; + eventObject->heldMovementActive = 0; + eventObject->heldMovementFinished = 0; + eventObject->movementActionId = 0xff; sprite->data[1] = 0; } @@ -4279,9 +4277,9 @@ u8 GetRunningDirectionAnimNum(u8 direction) return gRunningDirectionAnimNums[direction]; } -void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +void sub_805FE28(struct EventObject *eventObject, struct Sprite *sprite, u8 animNum) { - if (!mapObject->inanimate) + if (!eventObject->inanimate) { sprite->animNum = animNum; if (sprite->animCmdIndex == 1) @@ -4295,10 +4293,10 @@ void sub_805FE28(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) } } -void sub_805FE64(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +void sub_805FE64(struct EventObject *eventObject, struct Sprite *sprite, u8 animNum) { u8 animCmdIndex; - if (!mapObject->inanimate) + if (!eventObject->inanimate) { sprite->animNum = animNum; animCmdIndex = 3; @@ -4321,13 +4319,13 @@ static u8 GetDirectionToFace(s16 x1, s16 y1, s16 x2, s16 y2) return DIR_SOUTH; } -void SetTrainerMovementType(struct MapObject *mapObject, u8 movementType) +void SetTrainerMovementType(struct EventObject *eventObject, u8 movementType) { - mapObject->movementType = movementType; - mapObject->directionSequenceIndex = 0; - mapObject->playerCopyableMovement = 0; - gSprites[mapObject->spriteId].callback = sMovementTypeCallbacks[movementType]; - gSprites[mapObject->spriteId].data[1] = 0; + eventObject->movementType = movementType; + eventObject->directionSequenceIndex = 0; + eventObject->playerCopyableMovement = 0; + gSprites[eventObject->spriteId].callback = sMovementTypeCallbacks[movementType]; + gSprites[eventObject->spriteId].data[1] = 0; } u8 GetTrainerFacingDirectionMovementType(u8 direction) @@ -4335,73 +4333,73 @@ u8 GetTrainerFacingDirectionMovementType(u8 direction) return gTrainerFacingDirectionMovementTypes[direction]; } -static u8 GetCollisionInDirection(struct MapObject *mapObject, u8 direction) +static u8 GetCollisionInDirection(struct EventObject *eventObject, u8 direction) { s16 x; s16 y; - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; MoveCoords(direction, &x, &y); - return GetCollisionAtCoords(mapObject, x, y, direction); + return GetCollisionAtCoords(eventObject, x, y, direction); } -u8 GetCollisionAtCoords(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) +u8 GetCollisionAtCoords(struct EventObject *eventObject, s16 x, s16 y, u32 dirn) { u8 direction; direction = dirn; - if (IsCoordOutsideFieldObjectMovementRange(mapObject, x, y)) + if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y)) return 1; - else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) + else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction)) return 2; - else if (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction)) + else if (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction)) return 2; - else if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) + else if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) return 3; - else if (DoesObjectCollideWithObjectAt(mapObject, x, y)) + else if (DoesObjectCollideWithObjectAt(eventObject, x, y)) return 4; return 0; } -u8 GetCollisionFlagsAtCoords(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 direction) { u8 flags = 0; - if (IsCoordOutsideFieldObjectMovementRange(mapObject, x, y)) + if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y)) flags |= 1; - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction))) + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction) || (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction))) flags |= 2; - if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) + if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) flags |= 4; - if (DoesObjectCollideWithObjectAt(mapObject, x, y)) + if (DoesObjectCollideWithObjectAt(eventObject, x, y)) flags |= 8; return flags; } -static bool8 IsCoordOutsideFieldObjectMovementRange(struct MapObject *mapObject, s16 x, s16 y) +static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *eventObject, s16 x, s16 y) { s16 minv; s16 maxv; - if (mapObject->range.as_nybbles.x != 0) + if (eventObject->range.as_nybbles.x != 0) { - minv = mapObject->initialCoords.x - (mapObject->range.as_nybbles.x); - maxv = mapObject->initialCoords.x + (mapObject->range.as_nybbles.x); + minv = eventObject->initialCoords.x - (eventObject->range.as_nybbles.x); + maxv = eventObject->initialCoords.x + (eventObject->range.as_nybbles.x); if (minv > x || maxv < x) return TRUE; } - if (mapObject->range.as_nybbles.y != 0) + if (eventObject->range.as_nybbles.y != 0) { - minv = mapObject->initialCoords.y - (mapObject->range.as_nybbles.y); - maxv = mapObject->initialCoords.y + (mapObject->range.as_nybbles.y); + minv = eventObject->initialCoords.y - (eventObject->range.as_nybbles.y); + maxv = eventObject->initialCoords.y + (eventObject->range.as_nybbles.y); if (minv > y || maxv < y) return TRUE; } return FALSE; } -static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +static bool8 IsMetatileDirectionallyImpassable(struct EventObject *eventObject, s16 x, s16 y, u8 direction) { - if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](mapObject->currentMetatileBehavior) + if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](eventObject->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return 1; @@ -4409,18 +4407,18 @@ static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 return 0; } -static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s16 y) +static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16 x, s16 y) { u8 i; for (i = 0; i < 16; i++) { - struct MapObject *mapObject2 = &gMapObjects[i]; + struct EventObject *eventObject2 = &gEventObjects[i]; - if (mapObject2->active && mapObject2 != mapObject) + if (eventObject2->active && eventObject2 != eventObject) { - if (((mapObject2->currentCoords.x == x && mapObject2->currentCoords.y == y) || (mapObject2->previousCoords.x == x && mapObject2->previousCoords.y == y)) - && AreZCoordsCompatible(mapObject->currentElevation, mapObject2->currentElevation)) + if (((eventObject2->currentCoords.x == x && eventObject2->currentCoords.y == y) || (eventObject2->previousCoords.x == x && eventObject2->previousCoords.y == y)) + && AreZCoordsCompatible(eventObject->currentElevation, eventObject2->currentElevation)) return TRUE; } } @@ -4429,10 +4427,10 @@ static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - if (gSprites[gMapObjects[mapObjectId].spriteId].data[7] & 2) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + if (gSprites[gEventObjects[eventObjectId].spriteId].data[7] & 2) return TRUE; return FALSE; @@ -4440,10 +4438,10 @@ bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) void sub_8060288(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + u8 eventObjectId; + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - gSprites[gMapObjects[mapObjectId].spriteId].data[7] |= 4; + gSprites[gEventObjects[eventObjectId].spriteId].data[7] |= 4; } } @@ -4515,7 +4513,7 @@ void sub_8060470(s16 *x, s16 *y, s16 dx, s16 dy) *y += dy; } -void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) +void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) { *x = 0; *y = 0; @@ -4537,108 +4535,108 @@ void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) } } -void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 direction, s16 *x, s16 *y) +void EventObjectMoveDestCoords(struct EventObject *eventObject, u32 direction, s16 *x, s16 *y) { u8 newDirn = direction; - *x = mapObject->currentCoords.x; - *y = mapObject->currentCoords.y; + *x = eventObject->currentCoords.x; + *y = eventObject->currentCoords.y; MoveCoords(newDirn, x, y); } -bool8 FieldObjectIsMovementOverridden(struct MapObject *mapObject) +bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject) { - if (mapObject->singleMovementActive || mapObject->heldMovementActive) + if (eventObject->singleMovementActive || eventObject->heldMovementActive) return TRUE; return FALSE; } -bool8 FieldObjectIsHeldMovementActive(struct MapObject *mapObject) +bool8 EventObjectIsHeldMovementActive(struct EventObject *eventObject) { - if (mapObject->heldMovementActive && mapObject->movementActionId != 0xff) + if (eventObject->heldMovementActive && eventObject->movementActionId != 0xff) return TRUE; return FALSE; } -bool8 FieldObjectSetHeldMovement(struct MapObject *mapObject, u8 movementActionId) +bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 movementActionId) { - if (FieldObjectIsMovementOverridden(mapObject)) + if (EventObjectIsMovementOverridden(eventObject)) return TRUE; - UnfreezeMapObject(mapObject); - mapObject->movementActionId = movementActionId; - mapObject->heldMovementActive = 1; - mapObject->heldMovementFinished = 0; - gSprites[mapObject->spriteId].data[2] = 0; + UnfreezeEventObject(eventObject); + eventObject->movementActionId = movementActionId; + eventObject->heldMovementActive = 1; + eventObject->heldMovementFinished = 0; + gSprites[eventObject->spriteId].data[2] = 0; return FALSE; } -void FieldObjectForceSetHeldMovement(struct MapObject *mapObject, u8 movementActionId) +void EventObjectForceSetHeldMovement(struct EventObject *eventObject, u8 movementActionId) { - FieldObjectClearHeldMovementIfActive(mapObject); - FieldObjectSetHeldMovement(mapObject, movementActionId); + EventObjectClearHeldMovementIfActive(eventObject); + EventObjectSetHeldMovement(eventObject, movementActionId); } -void FieldObjectClearHeldMovementIfActive(struct MapObject *mapObject) +void EventObjectClearHeldMovementIfActive(struct EventObject *eventObject) { - if (mapObject->heldMovementActive) - FieldObjectClearHeldMovement(mapObject); + if (eventObject->heldMovementActive) + EventObjectClearHeldMovement(eventObject); } -void FieldObjectClearHeldMovement(struct MapObject *mapObject) +void EventObjectClearHeldMovement(struct EventObject *eventObject) { - mapObject->movementActionId = 0xFF; - mapObject->heldMovementActive = 0; - mapObject->heldMovementFinished = 0; - gSprites[mapObject->spriteId].data[1] = 0; - gSprites[mapObject->spriteId].data[2] = 0; + eventObject->movementActionId = 0xFF; + eventObject->heldMovementActive = 0; + eventObject->heldMovementFinished = 0; + gSprites[eventObject->spriteId].data[1] = 0; + gSprites[eventObject->spriteId].data[2] = 0; } -bool8 FieldObjectCheckHeldMovementStatus(struct MapObject *mapObject) +bool8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject) { - if (mapObject->heldMovementActive) - return mapObject->heldMovementFinished; + if (eventObject->heldMovementActive) + return eventObject->heldMovementFinished; return 16; } -bool8 FieldObjectClearHeldMovementIfFinished(struct MapObject *mapObject) +bool8 EventObjectClearHeldMovementIfFinished(struct EventObject *eventObject) { u8 heldMovementStatus; - heldMovementStatus = FieldObjectCheckHeldMovementStatus(mapObject); + heldMovementStatus = EventObjectCheckHeldMovementStatus(eventObject); if (heldMovementStatus != 0 && heldMovementStatus != 16) - FieldObjectClearHeldMovementIfActive(mapObject); + EventObjectClearHeldMovementIfActive(eventObject); return heldMovementStatus; } -u8 FieldObjectGetHeldMovementActionId(struct MapObject *mapObject) +u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject) { - if (mapObject->heldMovementActive) - return mapObject->movementActionId; + if (eventObject->heldMovementActive) + return eventObject->movementActionId; return 0xFF; } -void meta_step(struct MapObject *mapObject, struct Sprite *sprite, u8 (*callback)(struct MapObject *, struct Sprite *)) +void UpdateEventObjectCurrentMovement(struct EventObject *eventObject, struct Sprite *sprite, u8 (*callback)(struct EventObject *, struct Sprite *)) { - DoGroundEffects_OnSpawn(mapObject, sprite); - TryEnableMapObjectAnim(mapObject, sprite); - if (FieldObjectIsHeldMovementActive(mapObject)) + DoGroundEffects_OnSpawn(eventObject, sprite); + TryEnableEventObjectAnim(eventObject, sprite); + if (EventObjectIsHeldMovementActive(eventObject)) { - FieldObjectExecHeldMovementAction(mapObject, sprite); + EventObjectExecHeldMovementAction(eventObject, sprite); } - else if (!mapObject->frozen) + else if (!eventObject->frozen) { - while (callback(mapObject, sprite)); + while (callback(eventObject, sprite)); } - DoGroundEffects_OnBeginStep(mapObject, sprite); - DoGroundEffects_OnFinishStep(mapObject, sprite); - UpdateMapObjectSpriteAnimPause(mapObject, sprite); - UpdateMapObjectVisibility(mapObject, sprite); - FieldObjectUpdateSubpriority(mapObject, sprite); + DoGroundEffects_OnBeginStep(eventObject, sprite); + DoGroundEffects_OnFinishStep(eventObject, sprite); + UpdateEventObjectSpriteAnimPause(eventObject, sprite); + UpdateEventObjectVisibility(eventObject, sprite); + EventObjectUpdateSubpriority(eventObject, sprite); } #define dirn_to_anim(name, table)\ @@ -4670,9 +4668,9 @@ dirn_to_anim(GetWalkInPlaceNormalMovementAction, gWalkInPlaceNormalMovementActio dirn_to_anim(GetWalkInPlaceFastMovementAction, gWalkInPlaceFastMovementActions) dirn_to_anim(GetWalkInPlaceFastestMovementAction, gWalkInPlaceFastestMovementActions) -u8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) +u8 EventObjectFaceOppositeDirection(struct EventObject *eventObject, u8 direction) { - return FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); + return EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); } u8 GetAcroWheelieFaceDirectionMovementAction(u8 direction) @@ -4814,19 +4812,19 @@ u32 state_to_direction(u8 a0, u32 a1, u32 a2) return gUnknown_08375767[a0 - 1][zffuOffset - 1]; } -static void FieldObjectExecHeldMovementAction(struct MapObject *mapObject, struct Sprite *sprite) +static void EventObjectExecHeldMovementAction(struct EventObject *eventObject, struct Sprite *sprite) { - if (gMovementActionFuncs[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) + if (gMovementActionFuncs[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) { - mapObject->heldMovementFinished = 1; + eventObject->heldMovementFinished = 1; } } -static bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, struct Sprite *sprite) +static bool8 EventObjectExecSingleMovementAction(struct EventObject *eventObject, struct Sprite *sprite) { - if (gMovementActionFuncs[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) + if (gMovementActionFuncs[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) { - mapObject->movementActionId = 0xFF; + eventObject->movementActionId = 0xFF; sprite->data[2] = 0; return 1; } @@ -4834,134 +4832,134 @@ static bool8 FieldObjectExecSingleMovementAction(struct MapObject *mapObject, st return 0; } -static void FieldObjectSetSingleMovement(struct MapObject *mapObject, struct Sprite *sprite, u8 movementActionId) +static void EventObjectSetSingleMovement(struct EventObject *eventObject, struct Sprite *sprite, u8 movementActionId) { - mapObject->movementActionId = movementActionId; + eventObject->movementActionId = movementActionId; sprite->data[2] = 0; } -void FaceDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - SetFieldObjectDirection(mapObject, direction); - ShiftStillMapObjectCoords(mapObject); - sub_805FE64(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); + SetEventObjectDirection(eventObject, direction); + ShiftStillEventObjectCoords(eventObject); + sub_805FE64(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); sprite->animPaused = 1; sprite->data[2] = 1; } -u8 MovementAction_FaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FaceDirection(mapObject, sprite, DIR_SOUTH); + FaceDirection(eventObject, sprite, DIR_SOUTH); return 1; } -u8 MovementAction_FaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FaceDirection(mapObject, sprite, DIR_NORTH); + FaceDirection(eventObject, sprite, DIR_NORTH); return 1; } -u8 MovementAction_FaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FaceDirection(mapObject, sprite, DIR_WEST); + FaceDirection(eventObject, sprite, DIR_WEST); return 1; } -u8 MovementAction_FaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +u8 MovementAction_FaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FaceDirection(mapObject, sprite, DIR_EAST); + FaceDirection(eventObject, sprite, DIR_EAST); return 1; } -void sub_8060D20(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) +void sub_8060D20(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) { s16 x; s16 y; - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; - SetFieldObjectDirection(mapObject, direction); + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; + SetEventObjectDirection(eventObject, direction); MoveCoords(direction, &x, &y); - ShiftMapObjectCoords(mapObject, x, y); + ShiftEventObjectCoords(eventObject, x, y); oamt_npc_ministep_reset(sprite, direction, a3); sprite->animPaused = 0; - mapObject->triggerGroundEffectsOnMove = 1; + eventObject->triggerGroundEffectsOnMove = 1; sprite->data[2] = 1; } extern u8 (*const gUnknown_083759C0[5])(u8); -void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) +void do_go_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) { u8 (*const functions[5])(u8); memcpy((void *)functions, gUnknown_083759C0, sizeof(gUnknown_083759C0)); - sub_8060D20(mapObject, sprite, direction, a3); - sub_805FE28(mapObject, sprite, functions[a3](mapObject->facingDirection)); + sub_8060D20(eventObject, sprite, direction, a3); + sub_805FE28(eventObject, sprite, functions[a3](eventObject->facingDirection)); } -void StartRunningAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void StartRunningAnim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - sub_8060D20(mapObject, sprite, direction, 1); - sub_805FE28(mapObject, sprite, GetRunningDirectionAnimNum(mapObject->facingDirection)); + sub_8060D20(eventObject, sprite, direction, 1); + sub_805FE28(eventObject, sprite, GetRunningDirectionAnimNum(eventObject->facingDirection)); } bool8 obj_npc_ministep(struct Sprite *); -bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprite *sprite) +bool8 npc_obj_ministep_stop_on_arrival(struct EventObject *eventObject, struct Sprite *sprite) { if (obj_npc_ministep(sprite)) { - ShiftStillMapObjectCoords(mapObject); - mapObject->triggerGroundEffectsOnStop = 1; + ShiftStillEventObjectCoords(eventObject); + eventObject->triggerGroundEffectsOnStop = 1; sprite->animPaused = 1; return 1; } return 0; } -void sub_8060E68(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void sub_8060E68(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { s16 x; s16 y; - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; - SetFieldObjectDirection(mapObject, direction); + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; + SetEventObjectDirection(eventObject, direction); MoveCoords(direction, &x, &y); - ShiftMapObjectCoords(mapObject, x, y); + ShiftEventObjectCoords(eventObject, x, y); sub_806467C(sprite, direction); sprite->animPaused = 0; - mapObject->triggerGroundEffectsOnMove = 1; + eventObject->triggerGroundEffectsOnMove = 1; sprite->data[2] = 1; } -void sub_8060ED8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void sub_8060ED8(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - sub_8060E68(mapObject, sprite, direction); - sub_805FE28(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); + sub_8060E68(eventObject, sprite, direction); + sub_805FE28(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); } -bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) +bool8 an_walk_any_2(struct EventObject *eventObject, struct Sprite *sprite) { if (sub_806468C(sprite)) { - ShiftStillMapObjectCoords(mapObject); - mapObject->triggerGroundEffectsOnStop = 1; + ShiftStillEventObjectCoords(eventObject); + eventObject->triggerGroundEffectsOnStop = 1; sprite->animPaused = 1; return TRUE; } return FALSE; } -bool8 MovementAction_WalkSlowDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkSlowDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8060ED8(mapObject, sprite, DIR_SOUTH); - return MovementAction_WalkSlowDown_Step1(mapObject, sprite); + sub_8060ED8(eventObject, sprite, DIR_SOUTH); + return MovementAction_WalkSlowDown_Step1(eventObject, sprite); } -bool8 MovementAction_WalkSlowDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (an_walk_any_2(mapObject, sprite)) + if (an_walk_any_2(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -4969,17 +4967,17 @@ bool8 MovementAction_WalkSlowDown_Step1(struct MapObject *mapObject, struct Spri return FALSE; } -bool8 MovementAction_WalkSlowUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkSlowUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8060ED8(mapObject, sprite, DIR_NORTH); - return MovementAction_WalkSlowUp_Step1(mapObject, sprite); + sub_8060ED8(eventObject, sprite, DIR_NORTH); + return MovementAction_WalkSlowUp_Step1(eventObject, sprite); } -bool8 MovementAction_WalkSlowUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (an_walk_any_2(mapObject, sprite)) + if (an_walk_any_2(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -4987,17 +4985,17 @@ bool8 MovementAction_WalkSlowUp_Step1(struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 MovementAction_WalkSlowLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkSlowLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8060ED8(mapObject, sprite, DIR_WEST); - return MovementAction_WalkSlowLeft_Step1(mapObject, sprite); + sub_8060ED8(eventObject, sprite, DIR_WEST); + return MovementAction_WalkSlowLeft_Step1(eventObject, sprite); } -bool8 MovementAction_WalkSlowLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (an_walk_any_2(mapObject, sprite)) + if (an_walk_any_2(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5005,17 +5003,17 @@ bool8 MovementAction_WalkSlowLeft_Step1(struct MapObject *mapObject, struct Spri return FALSE; } -bool8 MovementAction_WalkSlowRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkSlowRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkSlowRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8060ED8(mapObject, sprite, DIR_EAST); - return MovementAction_WalkSlowRight_Step1(mapObject, sprite); + sub_8060ED8(eventObject, sprite, DIR_EAST); + return MovementAction_WalkSlowRight_Step1(eventObject, sprite); } -bool8 MovementAction_WalkSlowRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkSlowRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (an_walk_any_2(mapObject, sprite)) + if (an_walk_any_2(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5023,17 +5021,17 @@ bool8 MovementAction_WalkSlowRight_Step1(struct MapObject *mapObject, struct Spr return FALSE; } -bool8 MovementAction_WalkNormalDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkNormalDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_SOUTH, 0); - return MovementAction_WalkNormalDown_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_SOUTH, 0); + return MovementAction_WalkNormalDown_Step1(eventObject, sprite); } -bool8 MovementAction_WalkNormalDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5041,17 +5039,17 @@ bool8 MovementAction_WalkNormalDown_Step1(struct MapObject *mapObject, struct Sp return FALSE; } -bool8 MovementAction_WalkNormalUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkNormalUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_NORTH, 0); - return MovementAction_WalkNormalUp_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_NORTH, 0); + return MovementAction_WalkNormalUp_Step1(eventObject, sprite); } -bool8 MovementAction_WalkNormalUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5059,17 +5057,17 @@ bool8 MovementAction_WalkNormalUp_Step1(struct MapObject *mapObject, struct Spri return FALSE; } -bool8 MovementAction_WalkNormalLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkNormalLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_WEST, 0); - return MovementAction_WalkNormalLeft_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_WEST, 0); + return MovementAction_WalkNormalLeft_Step1(eventObject, sprite); } -bool8 MovementAction_WalkNormalLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5077,17 +5075,17 @@ bool8 MovementAction_WalkNormalLeft_Step1(struct MapObject *mapObject, struct Sp return FALSE; } -bool8 MovementAction_WalkNormalRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkNormalRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkNormalRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_EAST, 0); - return MovementAction_WalkNormalRight_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_EAST, 0); + return MovementAction_WalkNormalRight_Step1(eventObject, sprite); } -bool8 MovementAction_WalkNormalRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkNormalRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5095,7 +5093,7 @@ bool8 MovementAction_WalkNormalRight_Step1(struct MapObject *mapObject, struct S return FALSE; } -void sub_806113C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a4, u8 a5) +void sub_806113C(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a4, u8 a5) { s16 vSPp4[3]; s16 x; @@ -5103,24 +5101,24 @@ void sub_806113C(struct MapObject *mapObject, struct Sprite *sprite, u8 directio memcpy(vSPp4, gUnknown_08375A34, sizeof gUnknown_08375A34); x = 0; y = 0; - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); MoveCoordsInDirection(direction, &x, &y, vSPp4[a4], vSPp4[a4]); - ShiftMapObjectCoords(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); + ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); sub_80646E4(sprite, direction, a4, a5); sprite->data[2] = 1; sprite->animPaused = 0; - mapObject->triggerGroundEffectsOnMove = 1; - mapObject->disableCoveringGroundEffects = 1; + eventObject->triggerGroundEffectsOnMove = 1; + eventObject->disableCoveringGroundEffects = 1; } -void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a4, u8 a5) +void maybe_shadow_1(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a4, u8 a5) { - sub_806113C(mapObject, sprite, direction, a4, a5); - sub_805FE28(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); - DoShadowFieldEffect(mapObject); + sub_806113C(eventObject, sprite, direction, a4, a5); + sub_805FE28(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); + DoShadowFieldEffect(eventObject); } -u8 sub_806123C(struct MapObject *mapObject, struct Sprite *sprite, u8 (*const callback)(struct Sprite *)) +u8 sub_806123C(struct EventObject *eventObject, struct Sprite *sprite, u8 (*const callback)(struct Sprite *)) { s16 vSPp4[3]; s16 x; @@ -5132,53 +5130,53 @@ u8 sub_806123C(struct MapObject *mapObject, struct Sprite *sprite, u8 (*const ca { x = 0; y = 0; - MoveCoordsInDirection(mapObject->movementDirection, &x, &y, vSPp4[sprite->data[4]], vSPp4[sprite->data[4]]); - ShiftMapObjectCoords(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); - mapObject->triggerGroundEffectsOnMove = 1; - mapObject->disableCoveringGroundEffects = 1; + MoveCoordsInDirection(eventObject->movementDirection, &x, &y, vSPp4[sprite->data[4]], vSPp4[sprite->data[4]]); + ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); + eventObject->triggerGroundEffectsOnMove = 1; + eventObject->disableCoveringGroundEffects = 1; } else if (retval == 0xff) { - ShiftStillMapObjectCoords(mapObject); - mapObject->triggerGroundEffectsOnStop = 1; - mapObject->landingJump = 1; + ShiftStillEventObjectCoords(eventObject); + eventObject->triggerGroundEffectsOnStop = 1; + eventObject->landingJump = 1; sprite->animPaused = 1; } return retval; } -u8 sub_8061300(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8061300(struct EventObject *eventObject, struct Sprite *sprite) { - return sub_806123C(mapObject, sprite, sub_8064704); + return sub_806123C(eventObject, sprite, sub_8064704); } -u8 sub_8061314(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8061314(struct EventObject *eventObject, struct Sprite *sprite) { - return sub_806123C(mapObject, sprite, sub_806478C); + return sub_806123C(eventObject, sprite, sub_806478C); } -bool8 sub_8061328(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8061328(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061300(mapObject, sprite) == 0xFF) + if (sub_8061300(eventObject, sprite) == 0xFF) { return TRUE; } return FALSE; } -bool8 sub_8061340(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8061340(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061314(mapObject, sprite) == 0xFF) + if (sub_8061314(eventObject, sprite) == 0xFF) { return TRUE; } return FALSE; } -bool8 sub_8061358(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8061358(struct EventObject *eventObject, struct Sprite *sprite) { u8 retval; - retval = sub_8061300(mapObject, sprite); + retval = sub_8061300(eventObject, sprite); if (retval != 1) { if (retval == 0xFF) @@ -5187,78 +5185,78 @@ bool8 sub_8061358(struct MapObject *mapObject, struct Sprite *sprite) } return FALSE; } - SetFieldObjectDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - sub_805FE64(mapObject, sprite, GetMoveDirectionAnimNum(mapObject->facingDirection)); + SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + sub_805FE64(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); return FALSE; } -bool8 MovementAction_Jump2Down_Step1(struct MapObject *, struct Sprite *); -bool8 MovementAction_Jump2Up_Step1(struct MapObject *, struct Sprite *); -bool8 MovementAction_Jump2Left_Step1(struct MapObject *, struct Sprite *); -bool8 MovementAction_Jump2Right_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_Jump2Down_Step1(struct EventObject *, struct Sprite *); +bool8 MovementAction_Jump2Up_Step1(struct EventObject *, struct Sprite *); +bool8 MovementAction_Jump2Left_Step1(struct EventObject *, struct Sprite *); +bool8 MovementAction_Jump2Right_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_Jump2Down_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Down_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 2, 0); - return MovementAction_Jump2Down_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 2, 0); + return MovementAction_Jump2Down_Step1(eventObject, sprite); } -bool8 MovementAction_Jump2Down_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Down_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_Jump2Up_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Up_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_NORTH, 2, 0); - return MovementAction_Jump2Up_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 2, 0); + return MovementAction_Jump2Up_Step1(eventObject, sprite); } -bool8 MovementAction_Jump2Up_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Up_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_Jump2Left_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Left_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_WEST, 2, 0); - return MovementAction_Jump2Left_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_WEST, 2, 0); + return MovementAction_Jump2Left_Step1(eventObject, sprite); } -bool8 MovementAction_Jump2Left_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Left_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_Jump2Right_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Right_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_EAST, 2, 0); - return MovementAction_Jump2Right_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_EAST, 2, 0); + return MovementAction_Jump2Right_Step1(eventObject, sprite); } -bool8 MovementAction_Jump2Right_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Jump2Right_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } @@ -5271,7 +5269,7 @@ void sub_8061508(struct Sprite *sprite, u16 duration) sprite->data[3] = duration; } -bool8 MovementAction_Delay_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay_Step1(struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[3]--; if (!sprite->data[3]) @@ -5282,95 +5280,95 @@ bool8 MovementAction_Delay_Step1(struct MapObject *mapObject, struct Sprite *spr return FALSE; } -bool8 MovementAction_Delay1_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay1_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8061508(sprite, 1); - return MovementAction_Delay_Step1(mapObject, sprite); + return MovementAction_Delay_Step1(eventObject, sprite); } -bool8 MovementAction_Delay2_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay2_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8061508(sprite, 2); - return MovementAction_Delay_Step1(mapObject, sprite); + return MovementAction_Delay_Step1(eventObject, sprite); } -bool8 MovementAction_Delay4_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay4_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8061508(sprite, 4); - return MovementAction_Delay_Step1(mapObject, sprite); + return MovementAction_Delay_Step1(eventObject, sprite); } -bool8 MovementAction_Delay8_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay8_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8061508(sprite, 8); - return MovementAction_Delay_Step1(mapObject, sprite); + return MovementAction_Delay_Step1(eventObject, sprite); } -bool8 MovementAction_Delay16_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Delay16_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8061508(sprite, 16); - return MovementAction_Delay_Step1(mapObject, sprite); + return MovementAction_Delay_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 MovementAction_WalkFastUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 MovementAction_WalkFastLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); -bool8 MovementAction_WalkFastRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastDown_Step1(struct EventObject *eventObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastUp_Step1(struct EventObject *eventObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite); +bool8 MovementAction_WalkFastRight_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_WalkFastDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_SOUTH, 1); - return MovementAction_WalkFastDown_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_WalkFastDown_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_WalkFastUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_NORTH, 1); - return MovementAction_WalkFastUp_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_WalkFastUp_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_WalkFastLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_WEST, 1); - return MovementAction_WalkFastLeft_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_WEST, 1); + return MovementAction_WalkFastLeft_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_WalkFastRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_EAST, 1); - return MovementAction_WalkFastRight_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_EAST, 1); + return MovementAction_WalkFastRight_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5378,16 +5376,16 @@ bool8 MovementAction_WalkFastRight_Step1(struct MapObject *mapObject, struct Spr return FALSE; } -void sub_80616CC(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) +void sub_80616CC(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) { - SetFieldObjectDirection(mapObject, direction); - sub_805FE28(mapObject, sprite, animNum); + SetEventObjectDirection(eventObject, direction); + sub_805FE28(eventObject, sprite, animNum); sprite->animPaused = 0; sprite->data[2] = 1; sprite->data[3] = duration; } -bool8 MovementAction_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[3]--; if (sprite->data[3] == 0) @@ -5399,122 +5397,122 @@ bool8 MovementAction_WalkInPlace_Step1(struct MapObject *mapObject, struct Sprit return FALSE; } -bool8 MovementAction_WalkInPlaceSlow_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlow_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (sprite->data[3] & 1) { sprite->animDelayCounter++; } - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); - return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); - return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); - return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); - return MovementAction_WalkInPlaceSlow_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_RideWaterCurrentDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_SOUTH, 2); - return MovementAction_RideWaterCurrentDown_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_SOUTH, 2); + return MovementAction_RideWaterCurrentDown_Step1(eventObject, sprite); } -bool8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5523,17 +5521,17 @@ bool8 MovementAction_RideWaterCurrentDown_Step1(struct MapObject *mapObject, str } -bool8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_RideWaterCurrentUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_NORTH, 2); - return MovementAction_RideWaterCurrentUp_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_NORTH, 2); + return MovementAction_RideWaterCurrentUp_Step1(eventObject, sprite); } -bool8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5542,17 +5540,17 @@ bool8 MovementAction_RideWaterCurrentUp_Step1(struct MapObject *mapObject, struc } -bool8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_RideWaterCurrentLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_WEST, 2); - return MovementAction_RideWaterCurrentLeft_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_WEST, 2); + return MovementAction_RideWaterCurrentLeft_Step1(eventObject, sprite); } -bool8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5561,17 +5559,17 @@ bool8 MovementAction_RideWaterCurrentLeft_Step1(struct MapObject *mapObject, str } -bool8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_RideWaterCurrentRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_EAST, 2); - return MovementAction_RideWaterCurrentRight_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_EAST, 2); + return MovementAction_RideWaterCurrentRight_Step1(eventObject, sprite); } -bool8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5579,17 +5577,17 @@ bool8 MovementAction_RideWaterCurrentRight_Step1(struct MapObject *mapObject, st return FALSE; } -bool8 MovementAction_WalkFastestDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkFastestDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_SOUTH, 3); - return MovementAction_WalkFastestDown_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_SOUTH, 3); + return MovementAction_WalkFastestDown_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastestDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5597,17 +5595,17 @@ bool8 MovementAction_WalkFastestDown_Step1(struct MapObject *mapObject, struct S return FALSE; } -bool8 MovementAction_WalkFastestUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkFastestUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_NORTH, 3); - return MovementAction_WalkFastestUp_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_NORTH, 3); + return MovementAction_WalkFastestUp_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastestUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5616,17 +5614,17 @@ bool8 MovementAction_WalkFastestUp_Step1(struct MapObject *mapObject, struct Spr } -bool8 MovementAction_WalkFastestLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkFastestLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_WEST, 3); - return MovementAction_WalkFastestLeft_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_WEST, 3); + return MovementAction_WalkFastestLeft_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastestLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5635,17 +5633,17 @@ bool8 MovementAction_WalkFastestLeft_Step1(struct MapObject *mapObject, struct S } -bool8 MovementAction_WalkFastestRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkFastestRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkFastestRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_EAST, 3); - return MovementAction_WalkFastestRight_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_EAST, 3); + return MovementAction_WalkFastestRight_Step1(eventObject, sprite); } -bool8 MovementAction_WalkFastestRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkFastestRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5653,17 +5651,17 @@ bool8 MovementAction_WalkFastestRight_Step1(struct MapObject *mapObject, struct return FALSE; } -bool8 MovementAction_SlideDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_SlideDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_SOUTH, 4); - return MovementAction_SlideDown_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_SOUTH, 4); + return MovementAction_SlideDown_Step1(eventObject, sprite); } -bool8 MovementAction_SlideDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5671,17 +5669,17 @@ bool8 MovementAction_SlideDown_Step1(struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 MovementAction_SlideUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_SlideUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_NORTH, 4); - return MovementAction_SlideUp_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_NORTH, 4); + return MovementAction_SlideUp_Step1(eventObject, sprite); } -bool8 MovementAction_SlideUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5690,17 +5688,17 @@ bool8 MovementAction_SlideUp_Step1(struct MapObject *mapObject, struct Sprite *s } -bool8 MovementAction_SlideLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_SlideLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_WEST, 4); - return MovementAction_SlideLeft_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_WEST, 4); + return MovementAction_SlideLeft_Step1(eventObject, sprite); } -bool8 MovementAction_SlideLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5709,17 +5707,17 @@ bool8 MovementAction_SlideLeft_Step1(struct MapObject *mapObject, struct Sprite } -bool8 MovementAction_SlideRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_SlideRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_SlideRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - do_go_anim(mapObject, sprite, DIR_EAST, 4); - return MovementAction_SlideRight_Step1(mapObject, sprite); + do_go_anim(eventObject, sprite, DIR_EAST, 4); + return MovementAction_SlideRight_Step1(eventObject, sprite); } -bool8 MovementAction_SlideRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SlideRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5727,17 +5725,17 @@ bool8 MovementAction_SlideRight_Step1(struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 MovementAction_PlayerRunDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_PlayerRunDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartRunningAnim(mapObject, sprite, DIR_SOUTH); - return MovementAction_PlayerRunDown_Step1(mapObject, sprite); + StartRunningAnim(eventObject, sprite, DIR_SOUTH); + return MovementAction_PlayerRunDown_Step1(eventObject, sprite); } -bool8 MovementAction_PlayerRunDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5745,17 +5743,17 @@ bool8 MovementAction_PlayerRunDown_Step1(struct MapObject *mapObject, struct Spr return FALSE; } -bool8 MovementAction_PlayerRunUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_PlayerRunUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartRunningAnim(mapObject, sprite, DIR_NORTH); - return MovementAction_PlayerRunUp_Step1(mapObject, sprite); + StartRunningAnim(eventObject, sprite, DIR_NORTH); + return MovementAction_PlayerRunUp_Step1(eventObject, sprite); } -bool8 MovementAction_PlayerRunUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5763,17 +5761,17 @@ bool8 MovementAction_PlayerRunUp_Step1(struct MapObject *mapObject, struct Sprit return FALSE; } -bool8 MovementAction_PlayerRunLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_PlayerRunLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartRunningAnim(mapObject, sprite, DIR_WEST); - return MovementAction_PlayerRunLeft_Step1(mapObject, sprite); + StartRunningAnim(eventObject, sprite, DIR_WEST); + return MovementAction_PlayerRunLeft_Step1(eventObject, sprite); } -bool8 MovementAction_PlayerRunLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5781,17 +5779,17 @@ bool8 MovementAction_PlayerRunLeft_Step1(struct MapObject *mapObject, struct Spr return FALSE; } -bool8 MovementAction_PlayerRunRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_PlayerRunRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_PlayerRunRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartRunningAnim(mapObject, sprite, DIR_EAST); - return MovementAction_PlayerRunRight_Step1(mapObject, sprite); + StartRunningAnim(eventObject, sprite, DIR_EAST); + return MovementAction_PlayerRunRight_Step1(eventObject, sprite); } -bool8 MovementAction_PlayerRunRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PlayerRunRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5799,22 +5797,22 @@ bool8 MovementAction_PlayerRunRight_Step1(struct MapObject *mapObject, struct Sp return FALSE; } -void StartSpriteAnimInDirection(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum) +void StartSpriteAnimInDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum) { SetAndStartSpriteAnim(sprite, animNum, 0); - SetFieldObjectDirection(mapObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[2] = 1; } -bool8 MovementAction_StartAnimInDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_StartAnimInDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, mapObject->movementDirection, sprite->animNum); + StartSpriteAnimInDirection(eventObject, sprite, eventObject->movementDirection, sprite->animNum); return FALSE; } bool8 SpriteAnimEnded(struct Sprite *); -bool8 MovementAction_WaitSpriteAnim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WaitSpriteAnim(struct EventObject *eventObject, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -5824,455 +5822,455 @@ bool8 MovementAction_WaitSpriteAnim(struct MapObject *mapObject, struct Sprite * return FALSE; } -void sub_8061F5C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void sub_8061F5C(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - sub_806113C(mapObject, sprite, direction, 1, 0); + sub_806113C(eventObject, sprite, direction, 1, 0); StartSpriteAnim(sprite, GetJumpSpecialDirectionAnimNum(direction)); } -bool8 MovementAction_JumpSpecialDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_JumpSpecialDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8061F5C(mapObject, sprite, DIR_SOUTH); - return MovementAction_JumpSpecialDown_Step1(mapObject, sprite); + sub_8061F5C(eventObject, sprite, DIR_SOUTH); + return MovementAction_JumpSpecialDown_Step1(eventObject, sprite); } -bool8 MovementAction_JumpSpecialDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061340(mapObject, sprite)) + if (sub_8061340(eventObject, sprite)) { sprite->data[2] = 2; - mapObject->landingJump = 0; + eventObject->landingJump = 0; return TRUE; } return FALSE; } -bool8 MovementAction_JumpSpecialUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_JumpSpecialUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8061F5C(mapObject, sprite, DIR_NORTH); - return MovementAction_JumpSpecialUp_Step1(mapObject, sprite); + sub_8061F5C(eventObject, sprite, DIR_NORTH); + return MovementAction_JumpSpecialUp_Step1(eventObject, sprite); } -bool8 MovementAction_JumpSpecialUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061340(mapObject, sprite)) + if (sub_8061340(eventObject, sprite)) { sprite->data[2] = 2; - mapObject->landingJump = 0; + eventObject->landingJump = 0; return TRUE; } return FALSE; } -bool8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_JumpSpecialLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8061F5C(mapObject, sprite, DIR_WEST); - return MovementAction_JumpSpecialLeft_Step1(mapObject, sprite); + sub_8061F5C(eventObject, sprite, DIR_WEST); + return MovementAction_JumpSpecialLeft_Step1(eventObject, sprite); } -bool8 MovementAction_JumpSpecialLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061340(mapObject, sprite)) + if (sub_8061340(eventObject, sprite)) { sprite->data[2] = 2; - mapObject->landingJump = 0; + eventObject->landingJump = 0; return TRUE; } return FALSE; } -bool8 MovementAction_JumpSpecialRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_JumpSpecialRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_JumpSpecialRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8061F5C(mapObject, sprite, DIR_EAST); - return MovementAction_JumpSpecialRight_Step1(mapObject, sprite); + sub_8061F5C(eventObject, sprite, DIR_EAST); + return MovementAction_JumpSpecialRight_Step1(eventObject, sprite); } -bool8 MovementAction_JumpSpecialRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpSpecialRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061340(mapObject, sprite)) + if (sub_8061340(eventObject, sprite)) { sprite->data[2] = 2; - mapObject->landingJump = 0; + eventObject->landingJump = 0; return TRUE; } return FALSE; } -bool8 MovementAction_FacePlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u8 playerObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) { - FaceDirection(mapObject, sprite, GetDirectionToFace(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[playerObjectId].currentCoords.x, gMapObjects[playerObjectId].currentCoords.y)); + FaceDirection(eventObject, sprite, GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y)); } sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_FaceAwayPlayer_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u8 playerObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) { - FaceDirection(mapObject, sprite, GetOppositeDirection(GetDirectionToFace(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[playerObjectId].currentCoords.x, gMapObjects[playerObjectId].currentCoords.y))); + FaceDirection(eventObject, sprite, GetOppositeDirection(GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y))); } sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_LockFacingDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_LockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->facingDirectionLocked = 1; + eventObject->facingDirectionLocked = 1; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_UnlockFacingDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnlockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->facingDirectionLocked = 0; + eventObject->facingDirectionLocked = 0; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_JumpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 1, 2); - return MovementAction_JumpDown_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 1, 2); + return MovementAction_JumpDown_Step1(eventObject, sprite); } -bool8 MovementAction_JumpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpUp_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_NORTH, 1, 2); - return MovementAction_JumpUp_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 1, 2); + return MovementAction_JumpUp_Step1(eventObject, sprite); } -bool8 MovementAction_JumpUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_WEST, 1, 2); - return MovementAction_JumpLeft_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_WEST, 1, 2); + return MovementAction_JumpLeft_Step1(eventObject, sprite); } -bool8 MovementAction_JumpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_EAST, 1, 2); - return MovementAction_JumpRight_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_EAST, 1, 2); + return MovementAction_JumpRight_Step1(eventObject, sprite); } -bool8 MovementAction_JumpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceDown_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 0, 0); - return MovementAction_JumpInPlaceDown_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 0, 0); + return MovementAction_JumpInPlaceDown_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceUp_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_NORTH, 0, 0); - return MovementAction_JumpInPlaceUp_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 0, 0); + return MovementAction_JumpInPlaceUp_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_WEST, 0, 0); - return MovementAction_JumpInPlaceLeft_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_WEST, 0, 0); + return MovementAction_JumpInPlaceLeft_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceRight_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_EAST, 0, 0); - return MovementAction_JumpInPlaceRight_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_EAST, 0, 0); + return MovementAction_JumpInPlaceRight_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceDownUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDownUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_SOUTH, 0, 2); - return MovementAction_JumpInPlaceDownUp_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 0, 2); + return MovementAction_JumpInPlaceDownUp_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceDownUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061358(mapObject, sprite)) + if (sub_8061358(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceUpDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_NORTH, 0, 2); - return MovementAction_JumpInPlaceUpDown_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 0, 2); + return MovementAction_JumpInPlaceUpDown_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceUpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061358(mapObject, sprite)) + if (sub_8061358(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_WEST, 0, 2); - return MovementAction_JumpInPlaceLeftRight_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_WEST, 0, 2); + return MovementAction_JumpInPlaceLeftRight_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061358(mapObject, sprite)) + if (sub_8061358(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite); +bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite); -bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - maybe_shadow_1(mapObject, sprite, DIR_EAST, 0, 2); - return MovementAction_JumpInPlaceRightLeft_Step1(mapObject, sprite); + maybe_shadow_1(eventObject, sprite, DIR_EAST, 0, 2); + return MovementAction_JumpInPlaceRightLeft_Step1(eventObject, sprite); } -bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061358(mapObject, sprite)) + if (sub_8061358(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_FaceOriginalDirection_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_FaceOriginalDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FaceDirection(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]); + FaceDirection(eventObject, sprite, gInitialMovementTypeFacingDirections[eventObject->movementType]); return TRUE; } -bool8 MovementAction_NurseJoyBowDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_NurseJoyBowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, 0x14); + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, 0x14); return FALSE; } -bool8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->disableJumpLandingGroundEffect = 0; + eventObject->disableJumpLandingGroundEffect = 0; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->disableJumpLandingGroundEffect = 1; + eventObject->disableJumpLandingGroundEffect = 1; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_DisableAnimation_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_DisableAnimation_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->inanimate = 1; + eventObject->inanimate = 1; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_RestoreAnimation_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RestoreAnimation_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; + eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_SetInvisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SetInvisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible = 1; + eventObject->invisible = 1; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_SetVisible_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SetVisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible = 0; + eventObject->invisible = 0; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_EmoteExclamationMark_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EmoteExclamationMark_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_EmoteQuestionMark_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EmoteQuestionMark_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_QUESTION_MARK_ICON); sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_EmoteHeart_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_EmoteHeart_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_HEART_ICON); sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_RevealTrainer_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_RevealTrainer_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_RevealTrainer_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RevealTrainer_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - if (mapObject->movementType == MOVEMENT_TYPE_HIDDEN) + if (eventObject->movementType == MOVEMENT_TYPE_HIDDEN) { - sub_8084794(mapObject); + sub_8084794(eventObject); return FALSE; } - else if (mapObject->movementType != MOVEMENT_TYPE_TREE_DISGUISE && mapObject->movementType != MOVEMENT_TYPE_MOUNTAIN_DISGUISE) + else if (eventObject->movementType != MOVEMENT_TYPE_TREE_DISGUISE && eventObject->movementType != MOVEMENT_TYPE_MOUNTAIN_DISGUISE) { sprite->data[2] = 2; return TRUE; } else { - sub_812869C(mapObject); + sub_812869C(eventObject); sprite->data[2] = 1; - return MovementAction_RevealTrainer_Step1(mapObject, sprite); + return MovementAction_RevealTrainer_Step1(eventObject, sprite); } } -bool8 MovementAction_RevealTrainer_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RevealTrainer_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_81286C4(mapObject)) + if (sub_81286C4(eventObject)) { sprite->data[2] = 2; return TRUE; @@ -6280,14 +6278,14 @@ bool8 MovementAction_RevealTrainer_Step1(struct MapObject *mapObject, struct Spr return FALSE; } -bool8 MovementAction_RockSmashBreak_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step0(struct EventObject *eventObject, struct Sprite *sprite) { SetAndStartSpriteAnim(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 MovementAction_RockSmashBreak_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -6297,25 +6295,25 @@ bool8 MovementAction_RockSmashBreak_Step1(struct MapObject *mapObject, struct Sp return FALSE; } -bool8 MovementAction_RockSmashBreak_Step2(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_RockSmashBreak_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible ^= 1; + eventObject->invisible ^= 1; if (WaitForMovementDelay(sprite)) { - mapObject->invisible = 1; + eventObject->invisible = 1; sprite->data[2] = 3; } return FALSE; } -bool8 MovementAction_CutTree_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step0(struct EventObject *eventObject, struct Sprite *sprite) { SetAndStartSpriteAnim(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 MovementAction_CutTree_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (SpriteAnimEnded(sprite)) { @@ -6325,32 +6323,32 @@ bool8 MovementAction_CutTree_Step1(struct MapObject *mapObject, struct Sprite *s return FALSE; } -bool8 MovementAction_CutTree_Step2(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_CutTree_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible ^= 1; + eventObject->invisible ^= 1; if (WaitForMovementDelay(sprite)) { - mapObject->invisible = 1; + eventObject->invisible = 1; sprite->data[2] = 3; } return FALSE; } -bool8 MovementAction_SetFixedPriority_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_SetFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->fixedPriority = 1; + eventObject->fixedPriority = 1; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_ClearFixedPriority_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_ClearFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->fixedPriority = 0; + eventObject->fixedPriority = 0; sprite->data[2] = 1; return TRUE; } -bool8 MovementAction_InitAffineAnim_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_InitAffineAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; InitSpriteAffineAnim(sprite); @@ -6359,7 +6357,7 @@ bool8 MovementAction_InitAffineAnim_Step0(struct MapObject *mapObject, struct Sp return TRUE; } -bool8 MovementAction_ClearAffineAnim_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_ClearAffineAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) { FreeOamMatrix(sprite->oam.matrixNum); sprite->oam.affineMode = ST_OAM_AFFINE_OFF; @@ -6367,19 +6365,19 @@ bool8 MovementAction_ClearAffineAnim_Step0(struct MapObject *mapObject, struct S return TRUE; } -bool8 MovementAction_WalkDownAffine0_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkDownAffine0_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkDownAffine0_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine0_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8060ED8(mapObject, sprite, DIR_SOUTH); + sub_8060ED8(eventObject, sprite, DIR_SOUTH); sprite->affineAnimPaused = 0; StartSpriteAffineAnimIfDifferent(sprite, 0); - return MovementAction_WalkDownAffine0_Step1(mapObject, sprite); + return MovementAction_WalkDownAffine0_Step1(eventObject, sprite); } -bool8 MovementAction_WalkDownAffine0_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine0_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (an_walk_any_2(mapObject, sprite)) + if (an_walk_any_2(eventObject, sprite)) { sprite->affineAnimPaused = 1; sprite->data[2] = 2; @@ -6388,19 +6386,19 @@ bool8 MovementAction_WalkDownAffine0_Step1(struct MapObject *mapObject, struct S return FALSE; } -bool8 MovementAction_WalkDownAffine1_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_WalkDownAffine1_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkDownAffine1_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine1_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8060ED8(mapObject, sprite, DIR_SOUTH); + sub_8060ED8(eventObject, sprite, DIR_SOUTH); sprite->affineAnimPaused = 0; ChangeSpriteAffineAnimIfDifferent(sprite, 1); - return MovementAction_WalkDownAffine1_Step1(mapObject, sprite); + return MovementAction_WalkDownAffine1_Step1(eventObject, sprite); } -bool8 MovementAction_WalkDownAffine1_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine1_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (an_walk_any_2(mapObject, sprite)) + if (an_walk_any_2(eventObject, sprite)) { sprite->affineAnimPaused = 1; sprite->data[2] = 2; @@ -6409,388 +6407,388 @@ bool8 MovementAction_WalkDownAffine1_Step1(struct MapObject *mapObject, struct S return FALSE; } -void sub_806295C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void sub_806295C(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - SetFieldObjectDirection(mapObject, direction); - ShiftStillMapObjectCoords(mapObject); - sub_805FE64(mapObject, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); + SetEventObjectDirection(eventObject, direction); + ShiftStillEventObjectCoords(eventObject); + sub_805FE64(eventObject, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); sprite->animPaused = 1; sprite->data[2] = 1; } -bool8 MovementAction_AcroWheelieFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_806295C(mapObject, sprite, DIR_SOUTH); + sub_806295C(eventObject, sprite, DIR_SOUTH); return TRUE; } -bool8 MovementAction_AcroWheelieFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_806295C(mapObject, sprite, DIR_NORTH); + sub_806295C(eventObject, sprite, DIR_NORTH); return TRUE; } -bool8 MovementAction_AcroWheelieFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_806295C(mapObject, sprite, DIR_WEST); + sub_806295C(eventObject, sprite, DIR_WEST); return TRUE; } -bool8 MovementAction_AcroWheelieFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_806295C(mapObject, sprite, DIR_EAST); + sub_806295C(eventObject, sprite, DIR_EAST); return TRUE; } -bool8 MovementAction_AcroPopWheelieDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetAcroWheelieDirectionAnimNum(DIR_SOUTH)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroWheelieDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 MovementAction_AcroPopWheelieUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetAcroWheelieDirectionAnimNum(DIR_NORTH)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroWheelieDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 MovementAction_AcroPopWheelieLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetAcroWheelieDirectionAnimNum(DIR_WEST)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroWheelieDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 MovementAction_AcroPopWheelieRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetAcroWheelieDirectionAnimNum(DIR_EAST)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroWheelieDirectionAnimNum(DIR_EAST)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetAcroEndWheelieDirectionAnimNum(DIR_SOUTH)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroEndWheelieDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetAcroEndWheelieDirectionAnimNum(DIR_NORTH)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroEndWheelieDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetAcroEndWheelieDirectionAnimNum(DIR_WEST)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroEndWheelieDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 MovementAction_AcroEndWheelieFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetAcroEndWheelieDirectionAnimNum(DIR_EAST)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroEndWheelieDirectionAnimNum(DIR_EAST)); return FALSE; } -bool8 MovementAction_UnusedAcroActionDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_SOUTH, GetAcroUnusedActionDirectionAnimNum(DIR_SOUTH)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroUnusedActionDirectionAnimNum(DIR_SOUTH)); return FALSE; } -bool8 MovementAction_UnusedAcroActionUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_NORTH, GetAcroUnusedActionDirectionAnimNum(DIR_NORTH)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroUnusedActionDirectionAnimNum(DIR_NORTH)); return FALSE; } -bool8 MovementAction_UnusedAcroActionLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_WEST, GetAcroUnusedActionDirectionAnimNum(DIR_WEST)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroUnusedActionDirectionAnimNum(DIR_WEST)); return FALSE; } -bool8 MovementAction_UnusedAcroActionRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_UnusedAcroActionRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - StartSpriteAnimInDirection(mapObject, sprite, DIR_EAST, GetAcroUnusedActionDirectionAnimNum(DIR_EAST)); + StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroUnusedActionDirectionAnimNum(DIR_EAST)); return FALSE; } -void sub_8062B8C(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3, u8 a4) +void sub_8062B8C(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3, u8 a4) { - sub_806113C(mapObject, sprite, direction, a3, a4); + sub_806113C(eventObject, sprite, direction, a3, a4); StartSpriteAnimIfDifferent(sprite, GetAcroWheelieDirectionAnimNum(direction)); - DoShadowFieldEffect(mapObject); + DoShadowFieldEffect(eventObject); } -bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_SOUTH, 0, 1); - return MovementAction_AcroWheelieHopFaceDown_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_SOUTH, 0, 1); + return MovementAction_AcroWheelieHopFaceDown_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_NORTH, 0, 1); - return MovementAction_AcroWheelieHopFaceUp_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_NORTH, 0, 1); + return MovementAction_AcroWheelieHopFaceUp_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_WEST, 0, 1); - return MovementAction_AcroWheelieHopFaceLeft_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_WEST, 0, 1); + return MovementAction_AcroWheelieHopFaceLeft_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_EAST, 0, 1); - return MovementAction_AcroWheelieHopFaceRight_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_EAST, 0, 1); + return MovementAction_AcroWheelieHopFaceRight_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_SOUTH, 1, 1); - return MovementAction_AcroWheelieHopDown_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_SOUTH, 1, 1); + return MovementAction_AcroWheelieHopDown_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_NORTH, 1, 1); - return MovementAction_AcroWheelieHopUp_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_NORTH, 1, 1); + return MovementAction_AcroWheelieHopUp_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_WEST, 1, 1); - return MovementAction_AcroWheelieHopLeft_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_WEST, 1, 1); + return MovementAction_AcroWheelieHopLeft_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieHopRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_EAST, 1, 1); - return MovementAction_AcroWheelieHopRight_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_EAST, 1, 1); + return MovementAction_AcroWheelieHopRight_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieHopRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieJumpDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_SOUTH, 2, 0); - return MovementAction_AcroWheelieJumpDown_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_SOUTH, 2, 0); + return MovementAction_AcroWheelieJumpDown_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieJumpDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieJumpUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_NORTH, 2, 0); - return MovementAction_AcroWheelieJumpUp_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_NORTH, 2, 0); + return MovementAction_AcroWheelieJumpUp_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieJumpUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_WEST, 2, 0); - return MovementAction_AcroWheelieJumpLeft_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_WEST, 2, 0); + return MovementAction_AcroWheelieJumpLeft_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieJumpRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8062B8C(mapObject, sprite, DIR_EAST, 2, 0); - return MovementAction_AcroWheelieJumpRight_Step1(mapObject, sprite); + sub_8062B8C(eventObject, sprite, DIR_EAST, 2, 0); + return MovementAction_AcroWheelieJumpRight_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieJumpRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8061328(mapObject, sprite)) + if (sub_8061328(eventObject, sprite)) { - mapObject->hasShadow = 0; + eventObject->hasShadow = 0; sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80616CC(mapObject, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); - return MovementAction_WalkInPlace_Step1(mapObject, sprite); + sub_80616CC(eventObject, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -void sub_80630D0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) +void sub_80630D0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) { - sub_8060D20(mapObject, sprite, direction, a3); - StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(mapObject->facingDirection)); + sub_8060D20(eventObject, sprite, direction, a3); + StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(eventObject->facingDirection)); SeekSpriteAnim(sprite, 0); } -bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80630D0(mapObject, sprite, DIR_SOUTH, 1); - return MovementAction_AcroPopWheelieMoveDown_Step1(mapObject, sprite); + sub_80630D0(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_AcroPopWheelieMoveDown_Step1(eventObject, sprite); } -bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6798,17 +6796,17 @@ bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct MapObject *mapObject, s return FALSE; } -bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80630D0(mapObject, sprite, DIR_NORTH, 1); - return MovementAction_AcroPopWheelieMoveUp_Step1(mapObject, sprite); + sub_80630D0(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_AcroPopWheelieMoveUp_Step1(eventObject, sprite); } -bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6816,17 +6814,17 @@ bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct MapObject *mapObject, str return FALSE; } -bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80630D0(mapObject, sprite, DIR_WEST, 1); - return MovementAction_AcroPopWheelieMoveLeft_Step1(mapObject, sprite); + sub_80630D0(eventObject, sprite, DIR_WEST, 1); + return MovementAction_AcroPopWheelieMoveLeft_Step1(eventObject, sprite); } -bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6834,17 +6832,17 @@ bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct MapObject *mapObject, s return FALSE; } -bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80630D0(mapObject, sprite, DIR_EAST, 1); - return MovementAction_AcroPopWheelieMoveRight_Step1(mapObject, sprite); + sub_80630D0(eventObject, sprite, DIR_EAST, 1); + return MovementAction_AcroPopWheelieMoveRight_Step1(eventObject, sprite); } -bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6852,23 +6850,23 @@ bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct MapObject *mapObject, return FALSE; } -void sub_8063208(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) +void sub_8063208(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) { - sub_8060D20(mapObject, sprite, direction, a3); - sub_805FE28(mapObject, sprite, GetAcroWheeliePedalDirectionAnimNum(mapObject->facingDirection)); + sub_8060D20(eventObject, sprite, direction, a3); + sub_805FE28(eventObject, sprite, GetAcroWheeliePedalDirectionAnimNum(eventObject->facingDirection)); } -bool8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063208(mapObject, sprite, DIR_SOUTH, 1); - return MovementAction_AcroWheelieMoveDown_Step1(mapObject, sprite); + sub_8063208(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_AcroWheelieMoveDown_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6876,17 +6874,17 @@ bool8 MovementAction_AcroWheelieMoveDown_Step1(struct MapObject *mapObject, stru return FALSE; } -bool8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063208(mapObject, sprite, DIR_NORTH, 1); - return MovementAction_AcroWheelieMoveUp_Step1(mapObject, sprite); + sub_8063208(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_AcroWheelieMoveUp_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6894,17 +6892,17 @@ bool8 MovementAction_AcroWheelieMoveUp_Step1(struct MapObject *mapObject, struct return FALSE; } -bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063208(mapObject, sprite, DIR_WEST, 1); - return MovementAction_AcroWheelieMoveLeft_Step1(mapObject, sprite); + sub_8063208(eventObject, sprite, DIR_WEST, 1); + return MovementAction_AcroWheelieMoveLeft_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6912,17 +6910,17 @@ bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct MapObject *mapObject, stru return FALSE; } -bool8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroWheelieMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063208(mapObject, sprite, DIR_EAST, 1); - return MovementAction_AcroWheelieMoveRight_Step1(mapObject, sprite); + sub_8063208(eventObject, sprite, DIR_EAST, 1); + return MovementAction_AcroWheelieMoveRight_Step1(eventObject, sprite); } -bool8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6930,24 +6928,24 @@ bool8 MovementAction_AcroWheelieMoveRight_Step1(struct MapObject *mapObject, str return FALSE; } -void sub_8063338(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 a3) +void sub_8063338(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 a3) { - sub_8060D20(mapObject, sprite, direction, a3); - StartSpriteAnim(sprite, GetAcroEndWheelieDirectionAnimNum(mapObject->facingDirection)); + sub_8060D20(eventObject, sprite, direction, a3); + StartSpriteAnim(sprite, GetAcroEndWheelieDirectionAnimNum(eventObject->facingDirection)); SeekSpriteAnim(sprite, 0); } -bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063338(mapObject, sprite, DIR_SOUTH, 1); - return MovementAction_AcroEndWheelieMoveDown_Step1(mapObject, sprite); + sub_8063338(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_AcroEndWheelieMoveDown_Step1(eventObject, sprite); } -bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6955,17 +6953,17 @@ bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct MapObject *mapObject, s return FALSE; } -bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063338(mapObject, sprite, DIR_NORTH, 1); - return MovementAction_AcroEndWheelieMoveUp_Step1(mapObject, sprite); + sub_8063338(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_AcroEndWheelieMoveUp_Step1(eventObject, sprite); } -bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6973,17 +6971,17 @@ bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct MapObject *mapObject, str return FALSE; } -bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063338(mapObject, sprite, DIR_WEST, 1); - return MovementAction_AcroEndWheelieMoveLeft_Step1(mapObject, sprite); + sub_8063338(eventObject, sprite, DIR_WEST, 1); + return MovementAction_AcroEndWheelieMoveLeft_Step1(eventObject, sprite); } -bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -6991,17 +6989,17 @@ bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct MapObject *mapObject, s return FALSE; } -bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *, struct Sprite *); +bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8063338(mapObject, sprite, DIR_EAST, 1); - return MovementAction_AcroEndWheelieMoveRight_Step1(mapObject, sprite); + sub_8063338(eventObject, sprite, DIR_EAST, 1); + return MovementAction_AcroEndWheelieMoveRight_Step1(eventObject, sprite); } -bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (npc_obj_ministep_stop_on_arrival(mapObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -7009,46 +7007,46 @@ bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct MapObject *mapObject, return FALSE; } -bool8 MovementAction_Finish(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_Finish(struct EventObject *eventObject, struct Sprite *sprite) { return TRUE; } -bool8 MovementAction_PauseSpriteAnim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 MovementAction_PauseSpriteAnim(struct EventObject *eventObject, struct Sprite *sprite) { sprite->animPaused = 1; return TRUE; } -static void UpdateMapObjectSpriteAnimPause(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateEventObjectSpriteAnimPause(struct EventObject *eventObject, struct Sprite *sprite) { - if (mapObject->disableAnim) + if (eventObject->disableAnim) sprite->animPaused = 1; } -static void TryEnableMapObjectAnim(struct MapObject *mapObject, struct Sprite *sprite) +static void TryEnableEventObjectAnim(struct EventObject *eventObject, struct Sprite *sprite) { - if (mapObject->enableAnim) + if (eventObject->enableAnim) { sprite->animPaused = 0; - mapObject->disableAnim = 0; - mapObject->enableAnim = 0; + eventObject->disableAnim = 0; + eventObject->enableAnim = 0; } } -static void UpdateMapObjectVisibility(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateEventObjectVisibility(struct EventObject *eventObject, struct Sprite *sprite) { - UpdateMapObjectIsOffscreen(mapObject, sprite); - UpdateMapObjSpriteVisibility(mapObject, sprite); + UpdateEventObjectIsOffscreen(eventObject, sprite); + UpdateEventObjSpriteVisibility(eventObject, sprite); } -static void UpdateMapObjectIsOffscreen(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateEventObjectIsOffscreen(struct EventObject *eventObject, struct Sprite *sprite) { u16 x, y; s16 x2, y2; - const struct MapObjectGraphicsInfo *graphicsInfo; - mapObject->offScreen = 0; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + const struct EventObjectGraphicsInfo *graphicsInfo; + eventObject->offScreen = 0; + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); if (sprite->coordOffsetEnabled) { x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; @@ -7064,221 +7062,221 @@ static void UpdateMapObjectIsOffscreen(struct MapObject *mapObject, struct Sprit y2 = graphicsInfo->height + (s16)y; if ((s16)x >= 0x100 || x2 < -0x10) { - mapObject->offScreen = 1; + eventObject->offScreen = 1; } if ((s16)y >= 0xB0 || y2 < -0x10) { - mapObject->offScreen = 1; + eventObject->offScreen = 1; } } -static void UpdateMapObjSpriteVisibility(struct MapObject *mapObject, struct Sprite *sprite) +static void UpdateEventObjSpriteVisibility(struct EventObject *eventObject, struct Sprite *sprite) { sprite->invisible = 0; - if (mapObject->invisible || mapObject->offScreen) + if (eventObject->invisible || eventObject->offScreen) { sprite->invisible = 1; } } -static void GetAllGroundEffectFlags_OnSpawn(struct MapObject *mapObj, u32 *flags) +static void GetAllGroundEffectFlags_OnSpawn(struct EventObject *eventObj, u32 *flags) { - FieldObjectUpdateMetatileBehaviors(mapObj); - GetGroundEffectFlags_Reflection(mapObj, flags); - GetGroundEffectFlags_TallGrassOnSpawn(mapObj, flags); - GetGroundEffectFlags_LongGrassOnSpawn(mapObj, flags); - GetGroundEffectFlags_SandPile(mapObj, flags); - GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags); - GetGroundEffectFlags_ShortGrass(mapObj, flags); - GetGroundEffectFlags_HotSprings(mapObj, flags); + EventObjectUpdateMetatileBehaviors(eventObj); + GetGroundEffectFlags_Reflection(eventObj, flags); + GetGroundEffectFlags_TallGrassOnSpawn(eventObj, flags); + GetGroundEffectFlags_LongGrassOnSpawn(eventObj, flags); + GetGroundEffectFlags_SandPile(eventObj, flags); + GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); + GetGroundEffectFlags_ShortGrass(eventObj, flags); + GetGroundEffectFlags_HotSprings(eventObj, flags); } -static void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *mapObj, u32 *flags) +static void GetAllGroundEffectFlags_OnBeginStep(struct EventObject *eventObj, u32 *flags) { - FieldObjectUpdateMetatileBehaviors(mapObj); - GetGroundEffectFlags_Reflection(mapObj, flags); - GetGroundEffectFlags_TallGrassOnBeginStep(mapObj, flags); - GetGroundEffectFlags_LongGrassOnBeginStep(mapObj, flags); - GetGroundEffectFlags_Tracks(mapObj, flags); - GetGroundEffectFlags_SandPile(mapObj, flags); - GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags); - GetGroundEffectFlags_Puddle(mapObj, flags); - GetGroundEffectFlags_ShortGrass(mapObj, flags); - GetGroundEffectFlags_HotSprings(mapObj, flags); + EventObjectUpdateMetatileBehaviors(eventObj); + GetGroundEffectFlags_Reflection(eventObj, flags); + GetGroundEffectFlags_TallGrassOnBeginStep(eventObj, flags); + GetGroundEffectFlags_LongGrassOnBeginStep(eventObj, flags); + GetGroundEffectFlags_Tracks(eventObj, flags); + GetGroundEffectFlags_SandPile(eventObj, flags); + GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); + GetGroundEffectFlags_Puddle(eventObj, flags); + GetGroundEffectFlags_ShortGrass(eventObj, flags); + GetGroundEffectFlags_HotSprings(eventObj, flags); } -static void GetAllGroundEffectFlags_OnFinishStep(struct MapObject *mapObj, u32 *flags) +static void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u32 *flags) { - FieldObjectUpdateMetatileBehaviors(mapObj); - GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags); - GetGroundEffectFlags_SandPile(mapObj, flags); - GetGroundEffectFlags_Puddle(mapObj, flags); - GetGroundEffectFlags_Ripple(mapObj, flags); - GetGroundEffectFlags_ShortGrass(mapObj, flags); - GetGroundEffectFlags_HotSprings(mapObj, flags); - GetGroundEffectFlags_Seaweed(mapObj, flags); - GetGroundEffectFlags_JumpLanding(mapObj, flags); + EventObjectUpdateMetatileBehaviors(eventObj); + GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); + GetGroundEffectFlags_SandPile(eventObj, flags); + GetGroundEffectFlags_Puddle(eventObj, flags); + GetGroundEffectFlags_Ripple(eventObj, flags); + GetGroundEffectFlags_ShortGrass(eventObj, flags); + GetGroundEffectFlags_HotSprings(eventObj, flags); + GetGroundEffectFlags_Seaweed(eventObj, flags); + GetGroundEffectFlags_JumpLanding(eventObj, flags); } -void FieldObjectUpdateMetatileBehaviors(struct MapObject *mapObj) +void EventObjectUpdateMetatileBehaviors(struct EventObject *eventObj) { - mapObj->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(mapObj->previousCoords.x, mapObj->previousCoords.y); - mapObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(mapObj->currentCoords.x, mapObj->currentCoords.y); + eventObj->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->previousCoords.x, eventObj->previousCoords.y); + eventObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->currentCoords.x, eventObj->currentCoords.y); } -void GetGroundEffectFlags_Reflection(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_Reflection(struct EventObject *eventObj, u32 *flags) { u32 reflectionFlags[2] = { GROUND_EFFECT_FLAG_REFLECTION, GROUND_EFFECT_FLAG_ICE_REFLECTION }; - u8 type = FieldObjectCheckForReflectiveSurface(mapObj); + u8 type = EventObjectCheckForReflectiveSurface(eventObj); if (type) { - if (!mapObj->hasReflection) + if (!eventObj->hasReflection) { - mapObj->hasReflection = 0; - mapObj->hasReflection = 1; + eventObj->hasReflection = 0; + eventObj->hasReflection = 1; *flags |= reflectionFlags[type - 1]; } } else { - mapObj->hasReflection = 0; + eventObj->hasReflection = 0; } } -void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsTallGrass(mapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN; } -void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsTallGrass(mapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE; } -void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsLongGrass(mapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN; } -void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsLongGrass(mapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE; } -void GetGroundEffectFlags_Tracks(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsDeepSand(mapObj->previousMetatileBehavior)) + if (MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) { *flags |= GROUND_EFFECT_FLAG_DEEP_SAND; } - else if (MetatileBehavior_IsSandOrDeepSand(mapObj->previousMetatileBehavior) - || MetatileBehavior_IsUnusedFootprintMetatile(mapObj->previousMetatileBehavior)) + else if (MetatileBehavior_IsSandOrDeepSand(eventObj->previousMetatileBehavior) + || MetatileBehavior_IsUnusedFootprintMetatile(eventObj->previousMetatileBehavior)) { *flags |= GROUND_EFFECT_FLAG_SAND; } } -void GetGroundEffectFlags_SandPile(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_SandPile(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsDeepSand(mapObj->currentMetatileBehavior) - && MetatileBehavior_IsDeepSand(mapObj->previousMetatileBehavior)) + if (MetatileBehavior_IsDeepSand(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) { - if (!mapObj->inSandPile) + if (!eventObj->inSandPile) { - mapObj->inSandPile = 0; - mapObj->inSandPile = 1; + eventObj->inSandPile = 0; + eventObj->inSandPile = 1; *flags |= GROUND_EFFECT_FLAG_SAND_PILE; } } else { - mapObj->inSandPile = 0; + eventObj->inSandPile = 0; } } -void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *eventObj, u32 *flags) { - if ((MetatileBehavior_IsShallowFlowingWater(mapObj->currentMetatileBehavior) - && MetatileBehavior_IsShallowFlowingWater(mapObj->previousMetatileBehavior)) - || (MetatileBehavior_IsPacifidlogLog(mapObj->currentMetatileBehavior) - && MetatileBehavior_IsPacifidlogLog(mapObj->previousMetatileBehavior))) + if ((MetatileBehavior_IsShallowFlowingWater(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsShallowFlowingWater(eventObj->previousMetatileBehavior)) + || (MetatileBehavior_IsPacifidlogLog(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsPacifidlogLog(eventObj->previousMetatileBehavior))) { - if (!mapObj->inShallowFlowingWater) + if (!eventObj->inShallowFlowingWater) { - mapObj->inShallowFlowingWater = 0; - mapObj->inShallowFlowingWater = 1; + eventObj->inShallowFlowingWater = 0; + eventObj->inShallowFlowingWater = 1; *flags |= GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER; } } else { - mapObj->inShallowFlowingWater = 0; + eventObj->inShallowFlowingWater = 0; } } -void GetGroundEffectFlags_Puddle(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_Puddle(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsPuddle(mapObj->currentMetatileBehavior) - && MetatileBehavior_IsPuddle(mapObj->previousMetatileBehavior)) + if (MetatileBehavior_IsPuddle(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsPuddle(eventObj->previousMetatileBehavior)) { *flags |= GROUND_EFFECT_FLAG_PUDDLE; } } -void GetGroundEffectFlags_Ripple(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_Ripple(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_HasRipples(mapObj->currentMetatileBehavior)) + if (MetatileBehavior_HasRipples(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_RIPPLES; } -void GetGroundEffectFlags_ShortGrass(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_ShortGrass(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsShortGrass(mapObj->currentMetatileBehavior) - && MetatileBehavior_IsShortGrass(mapObj->previousMetatileBehavior)) + if (MetatileBehavior_IsShortGrass(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsShortGrass(eventObj->previousMetatileBehavior)) { - if (!mapObj->inShortGrass) + if (!eventObj->inShortGrass) { - mapObj->inShortGrass = 0; - mapObj->inShortGrass = 1; + eventObj->inShortGrass = 0; + eventObj->inShortGrass = 1; *flags |= GROUND_EFFECT_FLAG_SHORT_GRASS; } } else { - mapObj->inShortGrass = 0; + eventObj->inShortGrass = 0; } } -void GetGroundEffectFlags_HotSprings(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_HotSprings(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsHotSprings(mapObj->currentMetatileBehavior) - && MetatileBehavior_IsHotSprings(mapObj->previousMetatileBehavior)) + if (MetatileBehavior_IsHotSprings(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsHotSprings(eventObj->previousMetatileBehavior)) { - if (!mapObj->inHotSprings) + if (!eventObj->inHotSprings) { - mapObj->inHotSprings = 0; - mapObj->inHotSprings = 1; + eventObj->inHotSprings = 0; + eventObj->inHotSprings = 1; *flags |= GROUND_EFFECT_FLAG_HOT_SPRINGS; } } else { - mapObj->inHotSprings = 0; + eventObj->inHotSprings = 0; } } -void GetGroundEffectFlags_Seaweed(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_Seaweed(struct EventObject *eventObj, u32 *flags) { - if (MetatileBehavior_IsSeaweed(mapObj->currentMetatileBehavior)) + if (MetatileBehavior_IsSeaweed(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_SEAWEED; } -void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags) +void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 *flags) { typedef bool8 (*MetatileFunc)(u8); @@ -7300,13 +7298,13 @@ void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags) GROUND_EFFECT_FLAG_LAND_ON_NORMAL_GROUND, }; - if (mapObj->landingJump && !mapObj->disableJumpLandingGroundEffect) + if (eventObj->landingJump && !eventObj->disableJumpLandingGroundEffect) { u8 i; for (i = 0; i < ARRAY_COUNT(metatileFuncs); i++) { - if (metatileFuncs[i](mapObj->currentMetatileBehavior)) + if (metatileFuncs[i](eventObj->currentMetatileBehavior)) { *flags |= jumpLandingFlags[i]; return; @@ -7315,9 +7313,9 @@ void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags) } } -u8 FieldObjectCheckForReflectiveSurface(struct MapObject *mapObj) +u8 EventObjectCheckForReflectiveSurface(struct EventObject *eventObj) { - const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(mapObj->graphicsId); + const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); // ceil div by tile width? s16 width = (info->width + 8) >> 4; @@ -7336,14 +7334,14 @@ u8 FieldObjectCheckForReflectiveSurface(struct MapObject *mapObj) for (i = 0, one = 1; i < height; i++) { - RETURN_REFLECTION_TYPE_AT(mapObj->currentCoords.x, mapObj->currentCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->previousCoords.x, mapObj->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x, eventObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x, eventObj->previousCoords.y + one + i) for (j = 1; j < width; j++) { - RETURN_REFLECTION_TYPE_AT(mapObj->currentCoords.x + j, mapObj->currentCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->currentCoords.x - j, mapObj->currentCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->previousCoords.x + j, mapObj->previousCoords.y + one + i) - RETURN_REFLECTION_TYPE_AT(mapObj->previousCoords.x - j, mapObj->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x + j, eventObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x - j, eventObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x + j, eventObj->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x - j, eventObj->previousCoords.y + one + i) } } return 0; @@ -7387,20 +7385,20 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) return 0; } -void SetMapObjectSpriteOamTableForLongGrass(struct MapObject *mapObj, struct Sprite *sprite) +void SetEventObjectSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { - if (mapObj->disableCoveringGroundEffects) + if (eventObj->disableCoveringGroundEffects) return; - if (!MetatileBehavior_IsLongGrass(mapObj->currentMetatileBehavior)) + if (!MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) return; - if (!MetatileBehavior_IsLongGrass(mapObj->previousMetatileBehavior)) + if (!MetatileBehavior_IsLongGrass(eventObj->previousMetatileBehavior)) return; sprite->subspriteTableNum = 4; - if (ZCoordToPriority(mapObj->previousElevation) == 1) + if (ZCoordToPriority(eventObj->previousElevation) == 1) sprite->subspriteTableNum = 5; } @@ -7426,54 +7424,54 @@ static const u8 sUnknown_08376050[] = { 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 }; -// Each byte corresponds to a sprite priority for a field object. -// This is directly the inverse of gFieldObjectPriorities_08376070. -static const u8 sFieldObjectPriorities_08376060[] = { +// Each byte corresponds to a sprite priority for an event object. +// This is directly the inverse of gEventObjectPriorities_08376070. +static const u8 sEventObjectPriorities_08376060[] = { 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2 }; -// Each byte corresponds to a sprite priority for a field object. -// This is the inverse of gFieldObjectPriorities_08376060. +// Each byte corresponds to a sprite priority for an event object. +// This is the inverse of gEventObjectPriorities_08376060. // 1 = Above player sprite // 2 = Below player sprite -static const u8 sFieldObjectPriorities_08376070[] = { +static const u8 sEventObjectPriorities_08376070[] = { 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, }; -void UpdateMapObjectZCoordAndPriority(struct MapObject *mapObj, struct Sprite *sprite) +void UpdateEventObjectZCoordAndPriority(struct EventObject *eventObj, struct Sprite *sprite) { - if (mapObj->fixedPriority) + if (eventObj->fixedPriority) return; - FieldObjectUpdateZCoord(mapObj); + EventObjectUpdateZCoord(eventObj); - sprite->subspriteTableNum = sFieldObjectPriorities_08376070[mapObj->previousElevation]; - sprite->oam.priority = sFieldObjectPriorities_08376060[mapObj->previousElevation]; + sprite->subspriteTableNum = sEventObjectPriorities_08376070[eventObj->previousElevation]; + sprite->oam.priority = sEventObjectPriorities_08376060[eventObj->previousElevation]; } -void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z) +static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z) { - sprite->subspriteTableNum = sFieldObjectPriorities_08376070[z]; - sprite->oam.priority = sFieldObjectPriorities_08376060[z]; + sprite->subspriteTableNum = sEventObjectPriorities_08376070[z]; + sprite->oam.priority = sEventObjectPriorities_08376060[z]; } u8 ZCoordToPriority(u8 z) { - return sFieldObjectPriorities_08376060[z]; + return sEventObjectPriorities_08376060[z]; } -void FieldObjectUpdateZCoord(struct MapObject *mapObj) +void EventObjectUpdateZCoord(struct EventObject *eventObj) { - u8 z = MapGridGetZCoordAt(mapObj->currentCoords.x, mapObj->currentCoords.y); - u8 z2 = MapGridGetZCoordAt(mapObj->previousCoords.x, mapObj->previousCoords.y); + u8 z = MapGridGetZCoordAt(eventObj->currentCoords.x, eventObj->currentCoords.y); + u8 z2 = MapGridGetZCoordAt(eventObj->previousCoords.x, eventObj->previousCoords.y); if (z == 0xF || z2 == 0xF) return; - mapObj->currentElevation = z; + eventObj->currentElevation = z; if (z != 0 && z != 0xF) - mapObj->previousElevation = z; + eventObj->previousElevation = z; } void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) @@ -7486,12 +7484,12 @@ void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) sprite->subpriority = tmp3 + sUnknown_08376050[a] + b; } -static void FieldObjectUpdateSubpriority(struct MapObject *mapObj, struct Sprite *sprite) +static void EventObjectUpdateSubpriority(struct EventObject *eventObj, struct Sprite *sprite) { - if (mapObj->fixedPriority) + if (eventObj->fixedPriority) return; - SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); + SetObjectSubpriorityByZCoord(eventObj->previousElevation, sprite, 1); } bool8 AreZCoordsCompatible(u8 a, u8 b) @@ -7505,94 +7503,94 @@ bool8 AreZCoordsCompatible(u8 a, u8 b) return TRUE; } -void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_SpawnOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; - gFieldEffectArguments[5] = mapObj->mapGroup; + gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 1; FieldEffectStart(FLDEFF_TALL_GRASS); } -void GroundEffect_MoveOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_MoveOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; - gFieldEffectArguments[5] = mapObj->mapGroup; + gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 0; FieldEffectStart(FLDEFF_TALL_GRASS); } -void GroundEffect_SpawnOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_SpawnOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum; - gFieldEffectArguments[5] = mapObj->mapGroup; + gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 1; FieldEffectStart(FLDEFF_LONG_GRASS); } -void GroundEffect_MoveOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_MoveOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum; - gFieldEffectArguments[5] = mapObj->mapGroup; + gFieldEffectArguments[4] = (eventObj->localId << 8) | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup; gFieldEffectArguments[7] = 0; FieldEffectStart(FLDEFF_LONG_GRASS); } -void GroundEffect_WaterReflection(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_WaterReflection(struct EventObject *eventObj, struct Sprite *sprite) { - SetUpReflection(mapObj, sprite, 0); + SetUpReflection(eventObj, sprite, 0); } -void GroundEffect_IceReflection(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_IceReflection(struct EventObject *eventObj, struct Sprite *sprite) { - SetUpReflection(mapObj, sprite, 1); + SetUpReflection(eventObj, sprite, 1); } -void GroundEffect_FlowingWater(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_FlowingWater(struct EventObject *eventObj, struct Sprite *sprite) { - StartFieldEffectForMapObject(FLDEFF_FEET_IN_FLOWING_WATER, mapObj); + StartFieldEffectForEventObject(FLDEFF_FEET_IN_FLOWING_WATER, eventObj); } -static void (*const sGroundEffectTracksFuncs[])(struct MapObject *mapObj, struct Sprite *sprite, u8 a) = { +static void (*const sGroundEffectTracksFuncs[])(struct EventObject *eventObj, struct Sprite *sprite, u8 a) = { nullsub, DoTracksGroundEffect_Footprints, DoTracksGroundEffect_BikeTireTracks, }; -void GroundEffect_SandTracks(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_SandTracks(struct EventObject *eventObj, struct Sprite *sprite) { - const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(mapObj->graphicsId); - sGroundEffectTracksFuncs[info->tracks](mapObj, sprite, 0); + const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); + sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 0); } -void GroundEffect_DeepSandTracks(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_DeepSandTracks(struct EventObject *eventObj, struct Sprite *sprite) { - const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(mapObj->graphicsId); - sGroundEffectTracksFuncs[info->tracks](mapObj, sprite, 1); + const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); + sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 1); } -static void nullsub(struct MapObject *mapObj, struct Sprite *sprite, u8 a) +static void nullsub(struct EventObject *eventObj, struct Sprite *sprite, u8 a) { } -static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_Footprints(struct EventObject *eventObj, struct Sprite *sprite, u8 a) { // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) u16 sandFootprints_FieldEffectData[2] = { @@ -7600,15 +7598,15 @@ static void DoTracksGroundEffect_Footprints(struct MapObject *mapObj, struct Spr FLDEFF_DEEP_SAND_FOOTPRINTS }; - gFieldEffectArguments[0] = mapObj->previousCoords.x; - gFieldEffectArguments[1] = mapObj->previousCoords.y; + gFieldEffectArguments[0] = eventObj->previousCoords.x; + gFieldEffectArguments[1] = eventObj->previousCoords.y; gFieldEffectArguments[2] = 149; gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = mapObj->facingDirection; + gFieldEffectArguments[4] = eventObj->facingDirection; FieldEffectStart(sandFootprints_FieldEffectData[a]); } -static void DoTracksGroundEffect_BikeTireTracks(struct MapObject *mapObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_BikeTireTracks(struct EventObject *eventObj, struct Sprite *sprite, u8 a) { // Specifies which bike track shape to show next. // For example, when the bike turns from up to right, it will show @@ -7623,104 +7621,104 @@ static void DoTracksGroundEffect_BikeTireTracks(struct MapObject *mapObj, struct 6, 7, 3, 4, }; - if (mapObj->currentCoords.x != mapObj->previousCoords.x || mapObj->currentCoords.y != mapObj->previousCoords.y) + if (eventObj->currentCoords.x != eventObj->previousCoords.x || eventObj->currentCoords.y != eventObj->previousCoords.y) { - gFieldEffectArguments[0] = mapObj->previousCoords.x; - gFieldEffectArguments[1] = mapObj->previousCoords.y; + gFieldEffectArguments[0] = eventObj->previousCoords.x; + gFieldEffectArguments[1] = eventObj->previousCoords.y; gFieldEffectArguments[2] = 149; gFieldEffectArguments[3] = 2; gFieldEffectArguments[4] = - bikeTireTracks_Transitions[mapObj->previousMovementDirection][mapObj->facingDirection - 5]; + bikeTireTracks_Transitions[eventObj->previousMovementDirection][eventObj->facingDirection - 5]; FieldEffectStart(FLDEFF_BIKE_TIRE_TRACKS); } } -void GroundEffect_Ripple(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_Ripple(struct EventObject *eventObj, struct Sprite *sprite) { - DoRippleFieldEffect(mapObj, sprite); + DoRippleFieldEffect(eventObj, sprite); } -void GroundEffect_StepOnPuddle(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_StepOnPuddle(struct EventObject *eventObj, struct Sprite *sprite) { - StartFieldEffectForMapObject(FLDEFF_SPLASH, mapObj); + StartFieldEffectForEventObject(FLDEFF_SPLASH, eventObj); } -void GroundEffect_SandPile(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_SandPile(struct EventObject *eventObj, struct Sprite *sprite) { - StartFieldEffectForMapObject(FLDEFF_SAND_PILE, mapObj); + StartFieldEffectForEventObject(FLDEFF_SAND_PILE, eventObj); } -void GroundEffect_JumpOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) { u8 spriteId; - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = 2; FieldEffectStart(FLDEFF_JUMP_TALL_GRASS); spriteId = sub_8126FF0( - mapObj->localId, mapObj->mapNum, mapObj->mapGroup, mapObj->currentCoords.x, mapObj->currentCoords.y); + eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y); if (spriteId == MAX_SPRITES) - GroundEffect_SpawnOnTallGrass(mapObj, sprite); + GroundEffect_SpawnOnTallGrass(eventObj, sprite); } -void GroundEffect_JumpOnLongGrass(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_JumpOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = 2; FieldEffectStart(FLDEFF_JUMP_LONG_GRASS); } -void GroundEffect_JumpOnShallowWater(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_JumpOnShallowWater(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_JUMP_SMALL_SPLASH); } -void GroundEffect_JumpOnWater(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_JumpOnWater(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_JUMP_BIG_SPLASH); } -void GroundEffect_JumpLandingDust(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_JumpLandingDust(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = mapObj->previousElevation; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_DUST); } -void GroundEffect_ShortGrass(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_ShortGrass(struct EventObject *eventObj, struct Sprite *sprite) { - StartFieldEffectForMapObject(FLDEFF_SHORT_GRASS, mapObj); + StartFieldEffectForEventObject(FLDEFF_SHORT_GRASS, eventObj); } -void GroundEffect_HotSprings(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_HotSprings(struct EventObject *eventObj, struct Sprite *sprite) { - StartFieldEffectForMapObject(FLDEFF_HOT_SPRINGS_WATER, mapObj); + StartFieldEffectForEventObject(FLDEFF_HOT_SPRINGS_WATER, eventObj); } -void GroundEffect_Seaweed(struct MapObject *mapObj, struct Sprite *sprite) +void GroundEffect_Seaweed(struct EventObject *eventObj, struct Sprite *sprite) { - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; FieldEffectStart(FLDEFF_BUBBLES); } -static void (*const sGroundEffectFuncs[])(struct MapObject *mapObj, struct Sprite *sprite) = { +static void (*const sGroundEffectFuncs[])(struct EventObject *eventObj, struct Sprite *sprite) = { GroundEffect_SpawnOnTallGrass, GroundEffect_MoveOnTallGrass, GroundEffect_SpawnOnLongGrass, @@ -7743,22 +7741,22 @@ static void (*const sGroundEffectFuncs[])(struct MapObject *mapObj, struct Sprit GroundEffect_Seaweed }; -static void StartTriggeredGroundEffects(struct MapObject *mapObj, struct Sprite *sprite, u32 flags) +static void StartTriggeredGroundEffects(struct EventObject *eventObj, struct Sprite *sprite, u32 flags) { u8 i; for (i = 0; i < ARRAY_COUNT(sGroundEffectFuncs); i++, flags >>= 1) if (flags & 1) - sGroundEffectFuncs[i](mapObj, sprite); + sGroundEffectFuncs[i](eventObj, sprite); } -void FilterOutDisabledCoveringGroundEffects(struct MapObject *mapObj, u32 *flags) +void FilterOutDisabledCoveringGroundEffects(struct EventObject *eventObj, u32 *flags) { - if (mapObj->disableCoveringGroundEffects) + if (eventObj->disableCoveringGroundEffects) { - mapObj->inShortGrass = 0; - mapObj->inSandPile = 0; - mapObj->inShallowFlowingWater = 0; - mapObj->inHotSprings = 0; + eventObj->inShortGrass = 0; + eventObj->inSandPile = 0; + eventObj->inShallowFlowingWater = 0; + eventObj->inHotSprings = 0; *flags &= ~(GROUND_EFFECT_FLAG_HOT_SPRINGS | GROUND_EFFECT_FLAG_SHORT_GRASS | GROUND_EFFECT_FLAG_SAND_PILE @@ -7767,111 +7765,111 @@ void FilterOutDisabledCoveringGroundEffects(struct MapObject *mapObj, u32 *flags } } -void FilterOutStepOnPuddleGroundEffectIfJumping(struct MapObject *mapObj, u32 *flags) +void FilterOutStepOnPuddleGroundEffectIfJumping(struct EventObject *eventObj, u32 *flags) { - if (mapObj->landingJump) + if (eventObj->landingJump) *flags &= ~GROUND_EFFECT_FLAG_PUDDLE; } -static void DoGroundEffects_OnSpawn(struct MapObject *mapObj, struct Sprite *sprite) +static void DoGroundEffects_OnSpawn(struct EventObject *eventObj, struct Sprite *sprite) { u32 flags; - if (mapObj->triggerGroundEffectsOnMove) + if (eventObj->triggerGroundEffectsOnMove) { flags = 0; - UpdateMapObjectZCoordAndPriority(mapObj, sprite); - GetAllGroundEffectFlags_OnSpawn(mapObj, &flags); - SetMapObjectSpriteOamTableForLongGrass(mapObj, sprite); - StartTriggeredGroundEffects(mapObj, sprite, flags); - mapObj->triggerGroundEffectsOnMove = 0; - mapObj->disableCoveringGroundEffects = 0; + UpdateEventObjectZCoordAndPriority(eventObj, sprite); + GetAllGroundEffectFlags_OnSpawn(eventObj, &flags); + SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite); + StartTriggeredGroundEffects(eventObj, sprite, flags); + eventObj->triggerGroundEffectsOnMove = 0; + eventObj->disableCoveringGroundEffects = 0; } } -static void DoGroundEffects_OnBeginStep(struct MapObject *mapObj, struct Sprite *sprite) +static void DoGroundEffects_OnBeginStep(struct EventObject *eventObj, struct Sprite *sprite) { u32 flags; - if (mapObj->triggerGroundEffectsOnMove) + if (eventObj->triggerGroundEffectsOnMove) { flags = 0; - UpdateMapObjectZCoordAndPriority(mapObj, sprite); - GetAllGroundEffectFlags_OnBeginStep(mapObj, &flags); - SetMapObjectSpriteOamTableForLongGrass(mapObj, sprite); - FilterOutDisabledCoveringGroundEffects(mapObj, &flags); - StartTriggeredGroundEffects(mapObj, sprite, flags); - mapObj->triggerGroundEffectsOnMove = 0; - mapObj->disableCoveringGroundEffects = 0; + UpdateEventObjectZCoordAndPriority(eventObj, sprite); + GetAllGroundEffectFlags_OnBeginStep(eventObj, &flags); + SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite); + FilterOutDisabledCoveringGroundEffects(eventObj, &flags); + StartTriggeredGroundEffects(eventObj, sprite, flags); + eventObj->triggerGroundEffectsOnMove = 0; + eventObj->disableCoveringGroundEffects = 0; } } -static void DoGroundEffects_OnFinishStep(struct MapObject *mapObj, struct Sprite *sprite) +static void DoGroundEffects_OnFinishStep(struct EventObject *eventObj, struct Sprite *sprite) { u32 flags; - if (mapObj->triggerGroundEffectsOnStop) + if (eventObj->triggerGroundEffectsOnStop) { flags = 0; - UpdateMapObjectZCoordAndPriority(mapObj, sprite); - GetAllGroundEffectFlags_OnFinishStep(mapObj, &flags); - SetMapObjectSpriteOamTableForLongGrass(mapObj, sprite); - FilterOutStepOnPuddleGroundEffectIfJumping(mapObj, &flags); - StartTriggeredGroundEffects(mapObj, sprite, flags); - mapObj->triggerGroundEffectsOnStop = 0; - mapObj->landingJump = 0; + UpdateEventObjectZCoordAndPriority(eventObj, sprite); + GetAllGroundEffectFlags_OnFinishStep(eventObj, &flags); + SetEventObjectSpriteOamTableForLongGrass(eventObj, sprite); + FilterOutStepOnPuddleGroundEffectIfJumping(eventObj, &flags); + StartTriggeredGroundEffects(eventObj, sprite, flags); + eventObj->triggerGroundEffectsOnStop = 0; + eventObj->landingJump = 0; } } -bool8 FreezeMapObject(struct MapObject *mapObject) +bool8 FreezeEventObject(struct EventObject *eventObject) { - if (mapObject->heldMovementActive || mapObject->frozen) + if (eventObject->heldMovementActive || eventObject->frozen) { return TRUE; } else { - mapObject->frozen = 1; - mapObject->spriteAnimPausedBackup = gSprites[mapObject->spriteId].animPaused; - mapObject->spriteAffineAnimPausedBackup = gSprites[mapObject->spriteId].affineAnimPaused; - gSprites[mapObject->spriteId].animPaused = 1; - gSprites[mapObject->spriteId].affineAnimPaused = 1; + eventObject->frozen = 1; + eventObject->spriteAnimPausedBackup = gSprites[eventObject->spriteId].animPaused; + eventObject->spriteAffineAnimPausedBackup = gSprites[eventObject->spriteId].affineAnimPaused; + gSprites[eventObject->spriteId].animPaused = 1; + gSprites[eventObject->spriteId].affineAnimPaused = 1; return FALSE; } } -void FreezeMapObjects(void) +void FreezeEventObjects(void) { u8 i; for (i = 0; i < 16; i++) - if (gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) - FreezeMapObject(&gMapObjects[i]); + if (gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) + FreezeEventObject(&gEventObjects[i]); } -void FreezeMapObjectsExceptOne(u8 mapObjectId) +void FreezeEventObjectsExceptOne(u8 eventObjectId) { u8 i; for (i = 0; i < 16; i++) - if (i != mapObjectId && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) - FreezeMapObject(&gMapObjects[i]); + if (i != eventObjectId && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) + FreezeEventObject(&gEventObjects[i]); } -void UnfreezeMapObject(struct MapObject *mapObject) +void UnfreezeEventObject(struct EventObject *eventObject) { - if (mapObject->active && mapObject->frozen) + if (eventObject->active && eventObject->frozen) { - mapObject->frozen = 0; - gSprites[mapObject->spriteId].animPaused = mapObject->spriteAnimPausedBackup; - gSprites[mapObject->spriteId].affineAnimPaused = mapObject->spriteAffineAnimPausedBackup; + eventObject->frozen = 0; + gSprites[eventObject->spriteId].animPaused = eventObject->spriteAnimPausedBackup; + gSprites[eventObject->spriteId].affineAnimPaused = eventObject->spriteAffineAnimPausedBackup; } } -void UnfreezeMapObjects(void) +void UnfreezeEventObjects(void) { u8 i; for (i = 0; i < 16; i++) - if (gMapObjects[i].active) - UnfreezeMapObject(&gMapObjects[i]); + if (gEventObjects[i].active) + UnfreezeEventObject(&gEventObjects[i]); } static void Step1(struct Sprite *sprite, u8 dir) @@ -8125,7 +8123,7 @@ bool8 SpriteAnimEnded(struct Sprite *sprite) return FALSE; } -void UpdateFieldSpriteVisibility(struct Sprite *sprite, bool8 invisible) +void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible) { u16 x, y; s16 x2, y2; @@ -8152,19 +8150,19 @@ void UpdateFieldSpriteVisibility(struct Sprite *sprite, bool8 invisible) sprite->invisible = 1; } -void UpdateFieldSpriteSubpriorityAndVisibility(struct Sprite *sprite) +static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite) { SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1); - UpdateFieldSpriteVisibility(sprite, 0); + UpdateEventObjectSpriteVisibility(sprite, 0); } -void TurnMapObject(u8 mapObjectId, u8 direction) +void TurnEventObject(u8 eventObjectId, u8 direction) { u8 i; for (i = 0; i < MAX_SPRITES; i++) { struct Sprite *sprite = &gSprites[i]; - if (sprite->inUse && sprite->callback == UpdateFieldSpriteSubpriorityAndVisibility && (u8)sprite->data[0] == mapObjectId) + if (sprite->inUse && sprite->callback == UpdateEventObjectSpriteSubpriorityAndVisibility && (u8)sprite->data[0] == eventObjectId) { u8 animNum = GetFaceDirectionAnimNum(direction); StartSpriteAnim(sprite, animNum); @@ -8173,24 +8171,24 @@ void TurnMapObject(u8 mapObjectId, u8 direction) } } -u32 StartFieldEffectForMapObject(u8 fieldEffectId, struct MapObject *mapObject) +u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct EventObject *eventObject) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); return FieldEffectStart(fieldEffectId); } -void DoShadowFieldEffect(struct MapObject *mapObject) +void DoShadowFieldEffect(struct EventObject *eventObject) { - if (!mapObject->hasShadow) + if (!eventObject->hasShadow) { - mapObject->hasShadow = 1; - StartFieldEffectForMapObject(FLDEFF_SHADOW, mapObject); + eventObject->hasShadow = 1; + StartFieldEffectForEventObject(FLDEFF_SHADOW, eventObject); } } -void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite) +void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite *sprite) { - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); gFieldEffectArguments[0] = sprite->pos1.x; gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2; gFieldEffectArguments[2] = 151; diff --git a/src/field_camera.c b/src/field_camera.c index 8807e2cd7..2d4d4eabd 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -402,7 +402,7 @@ void CameraUpdate(void) if (deltaX != 0 || deltaY != 0) { CameraMove(deltaX, deltaY); - UpdateMapObjectsForCameraUpdate(deltaX, deltaY); + UpdateEventObjectsForCameraUpdate(deltaX, deltaY); RotatingGatePuzzleCameraUpdate(deltaX, deltaY); ResetBerryTreeSparkleFlags(); tilemap_move_something(&gUnknown_03000590, deltaX * 2, deltaY * 2); @@ -417,7 +417,7 @@ void CameraUpdate(void) void camera_move_and_redraw(int a, int b) { CameraMove(a, b); - UpdateMapObjectsForCameraUpdate(a, b); + UpdateEventObjectsForCameraUpdate(a, b); DrawWholeMapView(); gUnknown_0300489C -= a * 16; gUnknown_03004898 -= b * 16; diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index f090cf5ca..1252f0296 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -33,7 +33,7 @@ struct Coords32 extern u16 gSpecialVar_LastTalked; extern u16 gSpecialVar_Facing; -extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; +extern struct LinkPlayerEventObject gLinkPlayerEventObjects[]; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; extern u8 gUnknown_020297ED; @@ -41,7 +41,7 @@ extern u8 gUnknown_020297ED; static EWRAM_DATA u8 gUnknown_0202E8C0 = 0; static EWRAM_DATA u16 gUnknown_0202E8C2 = 0; -u8 gSelectedMapObject; +u8 gSelectedEventObject; //scripts extern u8 gUnknown_081A2C51[]; @@ -88,7 +88,7 @@ static u16 cur_mapdata_block_role_at_player_pos(int); static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c); static u8 *TryGetScriptOnPressingA(struct MapPosition *position, u8 b, u8 c); static u8 *sub_8068364(struct MapPosition *, u8, u8); -static u8 *TryGetInvisibleMapObjectScript(struct MapPosition *, u8, u8 c); +static u8 *TryGetInvisibleEventObjectScript(struct MapPosition *, u8, u8 c); static u8 *sub_8068500(struct MapPosition *, u8, u8); static u8 *TryGetFieldMoveScript(struct MapPosition *, u8, u8); static bool32 sub_8068770(void); @@ -105,7 +105,7 @@ static void sub_8068C30(struct MapHeader *, s8, struct MapPosition *); static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); static s8 map_warp_check(struct MapHeader *, u16, u16, u8); static u8 *mapheader_trigger_activate_at(struct MapHeader *, u16, u16, u8); -static struct BgEvent *FindInvisibleMapObjectByPosition(struct MapHeader *, u16, u16, u8);; +static struct BgEvent *FindInvisibleEventObjectByPosition(struct MapHeader *, u16, u16, u8);; void FieldClearPlayerInput(struct FieldInput *input) { @@ -322,7 +322,7 @@ static u8 *TryGetScriptOnPressingA(struct MapPosition *position, u8 b, u8 c) script = sub_8068364(position, b, c); if (script != NULL) return script; - script = TryGetInvisibleMapObjectScript(position, b, c); + script = TryGetInvisibleEventObjectScript(position, b, c); if (script != NULL) return script; script = sub_8068500(position, b, c); @@ -341,20 +341,20 @@ u8 *sub_80682A8(struct MapPosition *position, u8 unused, u8 c) s32 i; if (!MetatileBehavior_IsCounter(MapGridGetMetatileBehaviorAt(position->x, position->y))) - r3 = GetFieldObjectIdByXYZ(position->x, position->y, position->height); + r3 = GetEventObjectIdByXYZ(position->x, position->y, position->height); else - r3 = GetFieldObjectIdByXYZ(position->x + gUnknown_0821664C[c].x, position->y + gUnknown_0821664C[c].y, position->height); - if (r3 == 16 || gMapObjects[r3].localId == 0xFF) + r3 = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[c].x, position->y + gUnknown_0821664C[c].y, position->height); + if (r3 == 16 || gEventObjects[r3].localId == 0xFF) return NULL; for (i = 0; i < 4; i++) { - if (gLinkPlayerMapObjects[i].active == TRUE && gLinkPlayerMapObjects[i].mapObjId == r3) + if (gLinkPlayerEventObjects[i].active == TRUE && gLinkPlayerEventObjects[i].eventObjId == r3) return NULL; } - gSelectedMapObject = r3; - gSpecialVar_LastTalked = gMapObjects[r3].localId; + gSelectedEventObject = r3; + gSpecialVar_LastTalked = gEventObjects[r3].localId; gSpecialVar_Facing = c; - return GetFieldObjectScriptPointerByFieldObjectId(r3); + return GetEventObjectScriptPointerByEventObjectId(r3); } static u8 *sub_8068364(struct MapPosition *position, u8 b, u8 c) @@ -362,27 +362,27 @@ static u8 *sub_8068364(struct MapPosition *position, u8 b, u8 c) u8 r3; u8 *script; - r3 = GetFieldObjectIdByXYZ(position->x, position->y, position->height); - if (r3 == 16 || gMapObjects[r3].localId == 0xFF) + r3 = GetEventObjectIdByXYZ(position->x, position->y, position->height); + if (r3 == 16 || gEventObjects[r3].localId == 0xFF) { if (MetatileBehavior_IsCounter(b) != TRUE) return NULL; - r3 = GetFieldObjectIdByXYZ(position->x + gUnknown_0821664C[c].x, position->y + gUnknown_0821664C[c].y, position->height); - if (r3 == 16 || gMapObjects[r3].localId == 0xFF) + r3 = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[c].x, position->y + gUnknown_0821664C[c].y, position->height); + if (r3 == 16 || gEventObjects[r3].localId == 0xFF) return NULL; } //_080683E8 - gSelectedMapObject = r3; - gSpecialVar_LastTalked = gMapObjects[r3].localId; + gSelectedEventObject = r3; + gSpecialVar_LastTalked = gEventObjects[r3].localId; gSpecialVar_Facing = c; - script = GetFieldObjectScriptPointerByFieldObjectId(r3); + script = GetEventObjectScriptPointerByEventObjectId(r3); script = GetRamScript(gSpecialVar_LastTalked, script); return script; } -static u8 *TryGetInvisibleMapObjectScript(struct MapPosition *position, u8 unused, u8 c) +static u8 *TryGetInvisibleEventObjectScript(struct MapPosition *position, u8 unused, u8 c) { - struct BgEvent *bgEvent = FindInvisibleMapObjectByPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); + struct BgEvent *bgEvent = FindInvisibleEventObjectByPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); if (bgEvent == NULL) return NULL; @@ -849,7 +849,7 @@ u8 *sub_8068E24(struct MapPosition *position) return mapheader_trigger_activate_at(&gMapHeader, position->x - 7, position->y - 7, position->height); } -static struct BgEvent *FindInvisibleMapObjectByPosition(struct MapHeader *mapHeader, u16 b, u16 c, u8 d) +static struct BgEvent *FindInvisibleEventObjectByPosition(struct MapHeader *mapHeader, u16 b, u16 c, u8 d) { u8 i; struct BgEvent *bgEvents = mapHeader->events->bgEvents; @@ -911,7 +911,7 @@ u8 sub_8068F18(void) return 0; } -u8 *GetFieldObjectScriptPointerPlayerFacing(void) +u8 *GetEventObjectScriptPointerPlayerFacing(void) { u8 r4; struct MapPosition position; diff --git a/src/field_effect.c b/src/field_effect.c index 8e49bd466..24609254a 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -267,7 +267,7 @@ bool8 (*const gUnknown_0839F300[])(struct Task *) = { sub_8086ED4 }; -bool8 (*const gUnknown_0839F31C[])(struct Task *, struct MapObject *) = { +bool8 (*const gUnknown_0839F31C[])(struct Task *, struct EventObject *) = { sub_8086FB0, waterfall_1_do_anim_probably, waterfall_2_wait_anim_finish_probably, @@ -281,7 +281,7 @@ bool8 (*const gUnknown_0839F330[])(struct Task *) = { dive_3_unknown }; -bool8 (*const gUnknown_0839F33C[])(struct Task *, struct MapObject *, struct Sprite *) = { +bool8 (*const gUnknown_0839F33C[])(struct Task *, struct EventObject *, struct Sprite *) = { sub_808722C, sub_8087264, sub_8087298, @@ -290,14 +290,14 @@ bool8 (*const gUnknown_0839F33C[])(struct Task *, struct MapObject *, struct Spr sub_80873F4 }; -bool8 (*const gUnknown_0839F354[])(struct Task *, struct MapObject *, struct Sprite *) = { +bool8 (*const gUnknown_0839F354[])(struct Task *, struct EventObject *, struct Sprite *) = { sub_80874CC, sub_80874FC, sub_8087548, sub_808759C }; -bool8 (*const gUnknown_0839F364[])(struct Task *, struct MapObject *, struct Sprite *) = { +bool8 (*const gUnknown_0839F364[])(struct Task *, struct EventObject *, struct Sprite *) = { sub_80876C8, sub_80876F8, sub_8087774, @@ -1081,7 +1081,7 @@ void mapldr_080842E8(void) pal_fill_black(); CreateTask(task00_8084310, 0); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; } @@ -1118,13 +1118,13 @@ void mapldr_08084390(void) Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(c3_080843F8, 0); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; if (gPlayerAvatar.flags & 0x08) { - FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_WEST); + EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_WEST); } ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; } @@ -1144,7 +1144,7 @@ void c3_080843F8(u8 taskId) if (!FieldEffectActiveListContains(FLDEFF_FLY_IN)) { ScriptContext2_Disable(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(taskId); } } @@ -1159,7 +1159,7 @@ void sub_8086748(void) Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); CreateTask(sub_8086774, 0); gFieldCallback = NULL; } @@ -1173,14 +1173,14 @@ void sub_8086774(u8 taskId) bool8 sub_80867AC(struct Task *task) // gUnknown_0839F2CC[0] { - struct MapObject *playerObject; + struct EventObject *playerObject; struct Sprite *playerSprite; - playerObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerObject = &gEventObjects[gPlayerAvatar.eventObjectId]; playerSprite = &gSprites[gPlayerAvatar.spriteId]; CameraObjectReset2(); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; - FieldObjectSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); + EventObjectSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; @@ -1207,7 +1207,7 @@ bool8 sub_8086870(struct Task *task) // gUnknown_0839F2CC[2] sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); task->data[1] = 1; task->data[2] = 0; - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 0; PlaySE(SE_RU_HYUU); task->data[0]++; return FALSE; @@ -1215,10 +1215,10 @@ bool8 sub_8086870(struct Task *task) // gUnknown_0839F2CC[2] bool8 sub_80868E4(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *sprite; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; sprite = &gSprites[gPlayerAvatar.spriteId]; sprite->pos2.y += task->data[1]; if (task->data[1] < 8) @@ -1232,15 +1232,15 @@ bool8 sub_80868E4(struct Task *task) if (task->data[3] == 0 && sprite->pos2.y >= -16) { task->data[3]++; - mapObject->fixedPriority = 0; + eventObject->fixedPriority = 0; sprite->subspriteMode = task->data[4]; - mapObject->triggerGroundEffectsOnMove = 1; + eventObject->triggerGroundEffectsOnMove = 1; } if (sprite->pos2.y >= 0) { PlaySE(SE_W070); - mapObject->triggerGroundEffectsOnStop = 1; - mapObject->landingJump = 1; + eventObject->triggerGroundEffectsOnStop = 1; + eventObject->landingJump = 1; sprite->pos2.y = 0; task->data[0]++; } @@ -1277,7 +1277,7 @@ bool8 sub_80869F8(struct Task *task) gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); CameraObjectReset1(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); InstallCameraPanAheadCallback(); DestroyTask(FindTaskIdByFunc(sub_8086774)); return FALSE; @@ -1317,7 +1317,7 @@ void sub_8086A68(u8 taskId) bool8 sub_8086AA0(struct Task *task) { - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); sub_80B4824(task->data[1]); task->data[0]++; @@ -1326,11 +1326,11 @@ bool8 sub_8086AA0(struct Task *task) bool8 sub_8086AC0(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[0]++; task->data[2] = 0; task->data[3] = 0; @@ -1441,13 +1441,13 @@ void sub_8086CBC(u8 taskId) bool8 sub_8086CF4(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; s16 x; s16 y; u8 behavior; CameraObjectReset2(); - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(DIR_EAST)); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(DIR_EAST)); PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); task->data[0]++; @@ -1539,13 +1539,13 @@ bool8 sub_8086EB0(struct Task *task) bool8 sub_8086ED4(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectClearHeldMovementIfFinished(eventObject)) { CameraObjectReset1(); ScriptContext2_Disable(); - FieldObjectSetHeldMovement(mapObject, GetWalkNormalMovementAction(DIR_EAST)); + EventObjectSetHeldMovement(eventObject, GetWalkNormalMovementAction(DIR_EAST)); DestroyTask(FindTaskIdByFunc(sub_8086CBC)); } return FALSE; @@ -1564,10 +1564,10 @@ bool8 FldEff_UseWaterfall(void) void sub_8086F64(u8 taskId) { - while (gUnknown_0839F31C[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId])); + while (gUnknown_0839F31C[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])); } -bool8 sub_8086FB0(struct Task *task, struct MapObject *mapObject) +bool8 sub_8086FB0(struct Task *task, struct EventObject *eventObject) { ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; @@ -1575,12 +1575,12 @@ bool8 sub_8086FB0(struct Task *task, struct MapObject *mapObject) return FALSE; } -bool8 waterfall_1_do_anim_probably(struct Task *task, struct MapObject *mapObject) +bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventObject) { ScriptContext2_Enable(); - if (!FieldObjectIsMovementOverridden(mapObject)) + if (!EventObjectIsMovementOverridden(eventObject)) { - FieldObjectClearHeldMovementIfFinished(mapObject); + EventObjectClearHeldMovementIfFinished(eventObject); gFieldEffectArguments[0] = task->data[1]; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); task->data[0]++; @@ -1588,7 +1588,7 @@ bool8 waterfall_1_do_anim_probably(struct Task *task, struct MapObject *mapObjec return FALSE; } -bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct MapObject *mapObject) +bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObject *eventObject) { if (FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { @@ -1598,20 +1598,20 @@ bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct MapObject return TRUE; } -bool8 sub_8087030(struct Task *task, struct MapObject *mapObject) +bool8 sub_8087030(struct Task *task, struct EventObject *eventObject) { - FieldObjectSetHeldMovement(mapObject, GetWalkSlowMovementAction(DIR_NORTH)); + EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(DIR_NORTH)); task->data[0]++; return FALSE; } -bool8 sub_8087058(struct Task *task, struct MapObject *mapObject) +bool8 sub_8087058(struct Task *task, struct EventObject *eventObject) { - if (!FieldObjectClearHeldMovementIfFinished(mapObject)) + if (!EventObjectClearHeldMovementIfFinished(eventObject)) { return FALSE; } - if (MetatileBehavior_IsWaterfall(mapObject->currentMetatileBehavior)) + if (MetatileBehavior_IsWaterfall(eventObject->currentMetatileBehavior)) { task->data[0] = 3; return TRUE; @@ -1663,7 +1663,7 @@ bool8 dive_3_unknown(struct Task *task) PlayerGetDestCoords(&mapPosition.x, &mapPosition.y); if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - dive_warp(&mapPosition, gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior); + dive_warp(&mapPosition, gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior); DestroyTask(FindTaskIdByFunc(Task_Dive)); FieldEffectActiveListRemove(FLDEFF_USE_DIVE); } @@ -1680,22 +1680,22 @@ void sub_80871B8(u8 priority) void sub_80871D0(u8 taskId) { - while (gUnknown_0839F33C[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (gUnknown_0839F33C[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -bool8 sub_808722C(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808722C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); SetCameraPanningCallback(NULL); gPlayerAvatar.preventStep = TRUE; - mapObject->fixedPriority = 1; + eventObject->fixedPriority = 1; task->data[1] = 1; task->data[0]++; return TRUE; } -bool8 sub_8087264(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8087264(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { SetCameraPanning(0, task->data[1]); task->data[1] = -task->data[1]; @@ -1708,12 +1708,12 @@ bool8 sub_8087264(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_8087298(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8087298(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = 0; task->data[3] = 1; - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_LAVARIDGE_GYM_WARP); @@ -1722,7 +1722,7 @@ bool8 sub_8087298(struct Task *task, struct MapObject *mapObject, struct Sprite return TRUE; } -bool8 sub_80872E4(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80872E4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { s16 centerToCornerVecY; SetCameraPanning(0, task->data[1]); @@ -1754,7 +1754,7 @@ bool8 sub_80872E4(struct Task *task, struct MapObject *mapObject, struct Sprite if (task->data[5] == 0 && sprite->pos2.y < -0x10) { task->data[5]++; - mapObject->fixedPriority = 1; + eventObject->fixedPriority = 1; sprite->oam.priority = 1; sprite->subspriteMode = 2; } @@ -1765,7 +1765,7 @@ bool8 sub_80872E4(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_80873D8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80873D8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sub_8053FF8(); fade_8080918(); @@ -1773,7 +1773,7 @@ bool8 sub_80873D8(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_80873F4(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80873F4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && sub_8054034() == TRUE) { @@ -1798,25 +1798,25 @@ void mapldr_080851BC(void) void sub_8087470(u8 taskId) { - while (gUnknown_0839F354[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (gUnknown_0839F354[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -bool8 sub_80874CC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80874CC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { CameraObjectReset2(); - FreezeMapObjects(); + FreezeEventObjects(); gPlayerAvatar.preventStep = TRUE; - mapObject->invisible = 1; + eventObject->invisible = 1; task->data[0]++; return FALSE; } -bool8 sub_80874FC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80874FC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (IsWeatherNotFadingIn()) { - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1825,27 +1825,27 @@ bool8 sub_80874FC(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_8087548(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8087548(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite = &gSprites[task->data[1]]; if (sprite->animCmdIndex > 1) { task->data[0]++; - mapObject->invisible = 0; + eventObject->invisible = 0; CameraObjectReset1(); PlaySE(SE_W091); - FieldObjectSetHeldMovement(mapObject, sub_80608A4(DIR_EAST)); + EventObjectSetHeldMovement(eventObject, sub_80608A4(DIR_EAST)); } return FALSE; } -bool8 sub_808759C(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808759C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(FindTaskIdByFunc(sub_8087470)); } return FALSE; @@ -1881,27 +1881,27 @@ void sub_8087654(u8 priority) void sub_808766C(u8 taskId) { - while(gUnknown_0839F364[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); + while(gUnknown_0839F364[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -bool8 sub_80876C8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80876C8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); gPlayerAvatar.preventStep = TRUE; - mapObject->fixedPriority = 1; + eventObject->fixedPriority = 1; task->data[0]++; return FALSE; } -bool8 sub_80876F8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80876F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { if (task->data[1] > 3) { - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1909,24 +1909,24 @@ bool8 sub_80876F8(struct Task *task, struct MapObject *mapObject, struct Sprite } else { task->data[1]++; - FieldObjectSetHeldMovement(mapObject, GetWalkInPlaceFastestMovementAction(mapObject->facingDirection)); + EventObjectSetHeldMovement(eventObject, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } return FALSE; } -bool8 sub_8087774(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8087774(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (gSprites[task->data[1]].animCmdIndex == 2) { - mapObject->invisible = 1; + eventObject->invisible = 1; task->data[0]++; } return FALSE; } -bool8 sub_80877AC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80877AC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { @@ -1940,7 +1940,7 @@ bool8 sub_80877AC(struct Task *task, struct MapObject *mapObject, struct Sprite void sub_80878C4(u8); void mapldr_080859D4(void); -bool8 sub_80877D4(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80877D4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && sub_8054034() == TRUE) { @@ -1973,7 +1973,7 @@ void sub_808788C(struct Sprite *sprite) void sub_80878A8(void) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); CreateTask(sub_80878C4, 0x50); } @@ -1991,19 +1991,19 @@ void sub_80878F4(struct Task *task) void sub_8087914(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; if (task->data[14] != 0 && (--task->data[14]) == 0) { sub_8053FF8(); fade_8080918(); } - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { if (task->data[14] == 0 && !gPaletteFade.active && sub_8054034() == TRUE) { - SetFieldObjectDirection(mapObject, task->data[15]); + SetEventObjectDirection(eventObject, task->data[15]); sub_8053678(); warp_in(); gFieldCallback = mapldr_080859D4; @@ -2011,7 +2011,7 @@ void sub_8087914(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80878C4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(unknown_0839F380[mapObject->facingDirection])); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(unknown_0839F380[eventObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2033,9 +2033,9 @@ void mapldr_080859D4(void) Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; CreateTask(sub_8087A74, 0); } @@ -2056,29 +2056,29 @@ void sub_8087AA4(struct Task *task) void sub_8087AC8(struct Task *task) { u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - if (FieldObjectIsMovementOverridden(mapObject) && !FieldObjectClearHeldMovementIfFinished(mapObject)) + if (EventObjectIsMovementOverridden(eventObject) && !EventObjectClearHeldMovementIfFinished(eventObject)) { return; } if (task->data[2] >= 32 && task->data[15] == GetPlayerFacingDirection()) { - mapObject->invisible = 0; + eventObject->invisible = 0; ScriptContext2_Disable(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(FindTaskIdByFunc(sub_8087A74)); return; } - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(unknown_0839F380[mapObject->facingDirection])); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(unknown_0839F380[eventObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; } task->data[1] = task->data[2] >> 2; } - mapObject->invisible ^= 1; + eventObject->invisible ^= 1; } static void ExecuteTeleportFieldEffectTask(u8); @@ -2108,7 +2108,7 @@ static void ExecuteTeleportFieldEffectTask(u8 taskId) static void TeleportFieldEffectTask1(struct Task *task) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); task->data[15] = GetPlayerFacingDirection(); task->data[0]++; @@ -2117,14 +2117,14 @@ static void TeleportFieldEffectTask1(struct Task *task) static void TeleportFieldEffectTask2(struct Task *task) { u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); + EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); task->data[1] = 8; task->data[2]++; } - if (task->data[2] > 7 && task->data[15] == mapObject->facingDirection) + if (task->data[2] > 7 && task->data[15] == eventObject->facingDirection) { task->data[0]++; task->data[1] = 4; @@ -2137,12 +2137,12 @@ static void TeleportFieldEffectTask2(struct Task *task) static void TeleportFieldEffectTask3(struct Task *task) { u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((--task->data[1]) <= 0) { task->data[1] = 4; - FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); + EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); } sprite->pos1.y -= task->data[3]; task->data[4] += task->data[3]; @@ -2181,9 +2181,9 @@ static void mapldr_08085D88(void) Overworld_PlaySpecialMapMusic(); pal_fill_for_map_transition(); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; CameraObjectReset2(); CreateTask(sub_8087E1C, 0); } @@ -2208,7 +2208,7 @@ void sub_8087E4C(struct Task *task) sprite = &gSprites[gPlayerAvatar.spriteId]; centerToCornerVecY = -(sprite->centerToCornerVecY << 1); sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 0; task->data[0]++; task->data[1] = 8; task->data[2] = 1; @@ -2221,14 +2221,14 @@ void sub_8087E4C(struct Task *task) void sub_8087ED8(struct Task *task) { u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((sprite->pos2.y += task->data[1]) >= -8) { if (task->data[13] == 0) { task->data[13]++; - mapObject->triggerGroundEffectsOnMove = 1; + eventObject->triggerGroundEffectsOnMove = 1; sprite->subspriteMode = task->data[14]; } } else @@ -2246,7 +2246,7 @@ void sub_8087ED8(struct Task *task) if ((--task->data[2]) == 0) { task->data[2] = 4; - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->facingDirection]); + EventObjectTurn(eventObject, unknown_0839F380[eventObject->facingDirection]); } if (sprite->pos2.y >= 0) { @@ -2260,16 +2260,16 @@ void sub_8087ED8(struct Task *task) void sub_8087FDC(struct Task *task) { u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if ((--task->data[1]) == 0) { - FieldObjectTurn(mapObject, unknown_0839F380[mapObject->facingDirection]); + EventObjectTurn(eventObject, unknown_0839F380[eventObject->facingDirection]); task->data[1] = 8; - if ((++task->data[2]) > 4 && task->data[14] == mapObject->facingDirection) + if ((++task->data[2]) > 4 && task->data[14] == eventObject->facingDirection) { ScriptContext2_Disable(); CameraObjectReset1(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(FindTaskIdByFunc(sub_8087E1C)); } } @@ -2821,31 +2821,31 @@ void sub_8088954(u8 taskId) void sub_8088984(struct Task *task) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(8); PlayerGetDestCoords(&task->data[1], &task->data[2]); - MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].movementDirection, &task->data[1], &task->data[2]); + MoveCoords(gEventObjects[gPlayerAvatar.eventObjectId].movementDirection, &task->data[1], &task->data[2]); task->data[0]++; } void sub_80889E4(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { sub_8059BF4(); - FieldObjectSetHeldMovement(mapObject, 0x39); + EventObjectSetHeldMovement(eventObject, 0x39); task->data[0]++; } } void sub_8088A30(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectCheckHeldMovementStatus(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectCheckHeldMovementStatus(eventObject)) { gFieldEffectArguments[0] = task->data[15] | 0x80000000; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); @@ -2855,32 +2855,32 @@ void sub_8088A30(struct Task *task) void sub_8088A78(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); - FieldObjectClearHeldMovementIfFinished(mapObject); - FieldObjectSetHeldMovement(mapObject, GetJumpSpecialMovementAction(mapObject->movementDirection)); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + sub_805B980(eventObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); + EventObjectClearHeldMovementIfFinished(eventObject); + EventObjectSetHeldMovement(eventObject, GetJumpSpecialMovementAction(eventObject->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; - gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; - mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); + gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId; + eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); task->data[0]++; } } void sub_8088AF4(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectClearHeldMovementIfFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(mapObject->movementDirection)); - sub_8127ED0(mapObject->fieldEffectSpriteId, 1); - UnfreezeMapObjects(); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(eventObject->movementDirection)); + sub_8127ED0(eventObject->fieldEffectSpriteId, 1); + UnfreezeEventObjects(); ScriptContext2_Disable(); FieldEffectActiveListRemove(FLDEFF_USE_SURF); DestroyTask(FindTaskIdByFunc(sub_8088954)); @@ -2960,24 +2960,24 @@ void sub_8088C70(u8 taskId) void sub_8088CA0(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[15] = gPlayerAvatar.flags; gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(1); sub_8059BF4(); - FieldObjectSetHeldMovement(mapObject, 0x39); + EventObjectSetHeldMovement(eventObject, 0x39); task->data[0]++; } } void sub_8088CF8(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[0]++; gFieldEffectArguments[0] = task->data[1]; @@ -2987,14 +2987,14 @@ void sub_8088CF8(struct Task *task) void sub_8088D3C(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (task->data[15] & 0x08) { - sub_8127ED0(mapObject->fieldEffectSpriteId, 2); - sub_8127EFC(mapObject->fieldEffectSpriteId, 0); + sub_8127ED0(eventObject->fieldEffectSpriteId, 2); + sub_8127EFC(eventObject->fieldEffectSpriteId, 0); } task->data[1] = sub_8088F60(); task->data[0]++; @@ -3008,15 +3008,15 @@ void sub_8088D94(struct Task *task) task->data[0]++; task->data[2] = 16; SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], 0x02); + EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02); } } void sub_8088DD8(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if ((task->data[2] == 0 || (--task->data[2]) == 0) && FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[0]++; PlaySE(SE_W019); @@ -3026,17 +3026,17 @@ void sub_8088DD8(struct Task *task) void sub_8088E2C(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if ((++task->data[2]) >= 8) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); - StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->inanimate = 1; - FieldObjectSetHeldMovement(mapObject, 0x48); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + sub_805B980(eventObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); + StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); + eventObject->inanimate = 1; + EventObjectSetHeldMovement(eventObject, 0x48); if (task->data[15] & 0x08) { - DestroySprite(&gSprites[mapObject->fieldEffectSpriteId]); + DestroySprite(&gSprites[eventObject->fieldEffectSpriteId]); } task->data[0]++; task->data[2] = 0; @@ -3045,14 +3045,14 @@ void sub_8088E2C(struct Task *task) void sub_8088EB4(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if ((++task->data[2]) >= 10) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectClearHeldMovementIfActive(mapObject); - mapObject->inanimate = 0; - mapObject->hasShadow = 0; - sub_8088FFC(task->data[1], mapObject->spriteId); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + EventObjectClearHeldMovementIfActive(eventObject); + eventObject->inanimate = 0; + eventObject->hasShadow = 0; + sub_8088FFC(task->data[1], eventObject->spriteId); CameraObjectReset2(); task->data[0]++; } @@ -3257,9 +3257,9 @@ void sub_8089270(u8 taskId) void sub_80892A0(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsMovementOverridden(mapObject) || FieldObjectClearHeldMovementIfFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[0]++; task->data[2] = 17; @@ -3268,27 +3268,27 @@ void sub_80892A0(struct Task *task) SetPlayerAvatarStateMask(0x01); if (task->data[15] & 0x08) { - sub_8127ED0(mapObject->fieldEffectSpriteId, 0); + sub_8127ED0(eventObject->fieldEffectSpriteId, 0); } - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); + sub_805B980(eventObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); CameraObjectReset2(); - FieldObjectTurn(mapObject, DIR_WEST); - StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->invisible = 0; + EventObjectTurn(eventObject, DIR_WEST); + StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); + eventObject->invisible = 0; task->data[1] = sub_8088F60(); sub_8088FC0(task->data[1]); - sub_8088FFC(task->data[1], mapObject->spriteId); + sub_8088FFC(task->data[1], eventObject->spriteId); } } void sub_8089354(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *sprite; if (task->data[2] == 0 || (--task->data[2]) == 0) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sprite = &gSprites[mapObject->spriteId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + sprite = &gSprites[eventObject->spriteId]; sub_8088FFC(task->data[1], 0x40); sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; @@ -3331,26 +3331,26 @@ void sub_80893C0(struct Task *task) void sub_8089414(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *sprite; if (sub_8088FA4(task->data[1])) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sprite = &gSprites[mapObject->spriteId]; - mapObject->inanimate = 0; - sub_805C058(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + sprite = &gSprites[eventObject->spriteId]; + eventObject->inanimate = 0; + sub_805C058(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; sub_8059BF4(); - FieldObjectSetHeldMovement(mapObject, 0x39); + EventObjectSetHeldMovement(eventObject, 0x39); task->data[0]++; } } void sub_808948C(struct Task *task) { - if (FieldObjectClearHeldMovementIfFinished(&gMapObjects[gPlayerAvatar.mapObjectId])) + if (EventObjectClearHeldMovementIfFinished(&gEventObjects[gPlayerAvatar.eventObjectId])) { task->data[0]++; sub_8089230(task->data[1]); @@ -3370,18 +3370,18 @@ void sub_80894C4(struct Task *task) void fishE(struct Task *task) { u8 state; - struct MapObject *mapObject; + struct EventObject *eventObject; if ((--task->data[1]) == 0) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; state = PLAYER_AVATAR_STATE_NORMAL; if (task->data[15] & 0x08) { state = PLAYER_AVATAR_STATE_SURFING; - sub_8127ED0(mapObject->fieldEffectSpriteId, 1); + sub_8127ED0(eventObject->fieldEffectSpriteId, 1); } - sub_805B980(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); - FieldObjectTurn(mapObject, DIR_SOUTH); + sub_805B980(eventObject, GetPlayerAvatarGraphicsIdByStateId(state)); + EventObjectTurn(eventObject, DIR_SOUTH); gPlayerAvatar.flags = task->data[15]; gPlayerAvatar.preventStep = FALSE; FieldEffectActiveListRemove(FLDEFF_FLY_IN); diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index df9e5a47e..11f6e12b2 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -12,9 +12,9 @@ #include "constants/songs.h" static void sub_81269E0(struct Sprite *); -static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite); -static void npc_pal_op_A(struct MapObject *, u8); -static void npc_pal_op_B(struct MapObject *, u8); +static void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite); +static void npc_pal_op_A(struct EventObject *, u8); +static void npc_pal_op_B(struct EventObject *, u8); static void sub_81275A0(struct Sprite *); static void sub_81275C4(struct Sprite *); static void sub_8127DA0(struct Sprite *); @@ -22,13 +22,13 @@ static void sub_8127DD0(struct Sprite *); static void sub_8127E30(struct Sprite *); static void sub_812882C(struct Sprite *, u8, u8); static void sub_81278D8(struct Sprite *); -static void sub_8127FD4(struct MapObject *, struct Sprite *); -static void sub_812800C(struct MapObject *, struct Sprite *); -static void sub_81280A0(struct MapObject *, struct Sprite *, struct Sprite *); +static void sub_8127FD4(struct EventObject *, struct Sprite *); +static void sub_812800C(struct EventObject *, struct Sprite *); +static void sub_81280A0(struct EventObject *, struct Sprite *, struct Sprite *); static void sub_8128174(struct Sprite *); static u32 ShowDisguiseFieldEffect(u8, u8, u8); -void SetUpReflection(struct MapObject *mapObject, struct Sprite *sprite, bool8 flag) +void SetUpReflection(struct EventObject *eventObject, struct Sprite *sprite, bool8 flag) { struct Sprite *newSprite; @@ -43,41 +43,41 @@ void SetUpReflection(struct MapObject *mapObject, struct Sprite *sprite, bool8 f newSprite->affineAnimBeginning = TRUE; newSprite->subspriteMode = 0; newSprite->data[0] = sprite->data[0]; - newSprite->data[1] = mapObject->localId; + newSprite->data[1] = eventObject->localId; newSprite->data[7] = flag; - npc_pal_op(mapObject, newSprite); + npc_pal_op(eventObject, newSprite); if (!flag) { newSprite->oam.affineMode = 1; } } -static s16 sub_81268D0(struct MapObject *mapObject) +static s16 sub_81268D0(struct EventObject *eventObject) { - return GetFieldObjectGraphicsInfo(mapObject->graphicsId)->height - 2; + return GetEventObjectGraphicsInfo(eventObject->graphicsId)->height - 2; } -static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite) +static void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite) { u8 whichElement; u16 unk_8041e2c[] = {0x0c, 0x1c, 0x2c}; sprite->data[2] = 0; - if (!GetFieldObjectGraphicsInfo(mapObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(mapObject->previousMetatileBehavior)) || (whichElement = sub_8057450(mapObject->currentMetatileBehavior)))) + if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(eventObject->previousMetatileBehavior)) || (whichElement = sub_8057450(eventObject->currentMetatileBehavior)))) { sprite->data[2] = unk_8041e2c[whichElement - 1]; - npc_pal_op_A(mapObject, sprite->oam.paletteNum); + npc_pal_op_A(eventObject, sprite->oam.paletteNum); } else { - npc_pal_op_B(mapObject, sprite->oam.paletteNum); + npc_pal_op_B(eventObject, sprite->oam.paletteNum); } } -static void npc_pal_op_B(struct MapObject *mapObject, u8 paletteNum) +static void npc_pal_op_B(struct EventObject *eventObject, u8 paletteNum) { - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); if (graphicsInfo->paletteTag2 != 0x11ff) { if (graphicsInfo->paletteSlot == 0) @@ -96,11 +96,11 @@ static void npc_pal_op_B(struct MapObject *mapObject, u8 paletteNum) } } -static void npc_pal_op_A(struct MapObject *mapObject, u8 paletteNum) +static void npc_pal_op_A(struct EventObject *eventObject, u8 paletteNum) { - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); if (graphicsInfo->paletteTag2 != 0x11ff) { pal_patch_for_npc(graphicsInfo->paletteTag2, paletteNum); @@ -110,12 +110,12 @@ static void npc_pal_op_A(struct MapObject *mapObject, u8 paletteNum) static void sub_81269E0(struct Sprite *sprite) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *oldSprite; - mapObject = &gMapObjects[sprite->data[0]]; - oldSprite = &gSprites[mapObject->spriteId]; - if (!mapObject->active || !mapObject->hasReflection || mapObject->localId != sprite->data[1]) + eventObject = &gEventObjects[sprite->data[0]]; + oldSprite = &gSprites[eventObject->spriteId]; + if (!eventObject->active || !eventObject->hasReflection || eventObject->localId != sprite->data[1]) { sprite->inUse = FALSE; } @@ -130,7 +130,7 @@ static void sub_81269E0(struct Sprite *sprite) sprite->subspriteTableNum = oldSprite->subspriteTableNum; sprite->invisible = oldSprite->invisible; sprite->pos1.x = oldSprite->pos1.x; - sprite->pos1.y = oldSprite->pos1.y + sub_81268D0(mapObject) + sprite->data[2]; + sprite->pos1.y = oldSprite->pos1.y + sub_81268D0(eventObject) + sprite->data[2]; sprite->centerToCornerVecX = oldSprite->centerToCornerVecX; sprite->centerToCornerVecY = oldSprite->centerToCornerVecY; sprite->pos2.x = oldSprite->pos2.x; @@ -204,12 +204,12 @@ const u16 gUnknown_08401E36[] = { u32 FldEff_Shadow(void) { - u8 mapObjectId; - const struct MapObjectGraphicsInfo *graphicsInfo; + u8 eventObjectId; + const struct EventObjectGraphicsInfo *graphicsInfo; u8 spriteId; - mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); + eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gUnknown_08401E32[graphicsInfo->shadowSize]], 0, 0, 0x94); if (spriteId != MAX_SPRITES) { @@ -224,22 +224,22 @@ u32 FldEff_Shadow(void) void oamc_shadow(struct Sprite *sprite) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; struct Sprite *linkedSprite; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId)) + if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId)) { FieldEffectStop(sprite, FLDEFF_SHADOW); } else { - mapObject = &gMapObjects[mapObjectId]; - linkedSprite = &gSprites[mapObject->spriteId]; + eventObject = &gEventObjects[eventObjectId]; + linkedSprite = &gSprites[eventObject->spriteId]; sprite->oam.priority = linkedSprite->oam.priority; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = linkedSprite->pos1.y + sprite->data[3]; - if (!mapObject->active || !mapObject->hasShadow || MetatileBehavior_IsPokeGrass(mapObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(mapObject->previousMetatileBehavior) || MetatileBehavior_IsReflective(mapObject->currentMetatileBehavior) || MetatileBehavior_IsReflective(mapObject->previousMetatileBehavior)) + if (!eventObject->active || !eventObject->hasShadow || MetatileBehavior_IsPokeGrass(eventObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->previousMetatileBehavior) || MetatileBehavior_IsReflective(eventObject->currentMetatileBehavior) || MetatileBehavior_IsReflective(eventObject->previousMetatileBehavior)) { FieldEffectStop(sprite, FLDEFF_SHADOW); } @@ -282,8 +282,8 @@ void unc_grass_normal(struct Sprite *sprite) u8 mapGroup; u8 metatileBehavior; u8 localId; - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; mapNum = sprite->data[5] >> 8; mapGroup = sprite->data[5]; @@ -297,14 +297,14 @@ void unc_grass_normal(struct Sprite *sprite) mapNum = sprite->data[3]; mapGroup = sprite->data[4]; metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]); - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) || !MetatileBehavior_IsTallGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) || !MetatileBehavior_IsTallGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) { FieldEffectStop(sprite, FLDEFF_TALL_GRASS); } else { - mapObject = &gMapObjects[mapObjectId]; - if ((mapObject->currentCoords.x != sprite->data[1] || mapObject->currentCoords.y != sprite->data[2]) && (mapObject->previousCoords.x != sprite->data[1] || mapObject->previousCoords.y != sprite->data[2])) + eventObject = &gEventObjects[eventObjectId]; + if ((eventObject->currentCoords.x != sprite->data[1] || eventObject->currentCoords.y != sprite->data[2]) && (eventObject->previousCoords.x != sprite->data[1] || eventObject->previousCoords.y != sprite->data[2])) { sprite->data[7] = TRUE; } @@ -313,7 +313,7 @@ void unc_grass_normal(struct Sprite *sprite) { metatileBehavior = 4; } - UpdateFieldSpriteVisibility(sprite, 0); + UpdateEventObjectSpriteVisibility(sprite, 0); sub_812882C(sprite, sprite->data[0], metatileBehavior); } } @@ -391,8 +391,8 @@ void unc_grass_tall(struct Sprite *sprite) u8 mapGroup; u8 metatileBehavior; u8 localId; - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; mapNum = sprite->data[5] >> 8; mapGroup = sprite->data[5]; @@ -406,18 +406,18 @@ void unc_grass_tall(struct Sprite *sprite) mapNum = sprite->data[3]; mapGroup = sprite->data[4]; metatileBehavior = MapGridGetMetatileBehaviorAt(sprite->data[1], sprite->data[2]); - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) || !MetatileBehavior_IsLongGrass(metatileBehavior) || (sprite->data[7] && sprite->animEnded)) { FieldEffectStop(sprite, FLDEFF_LONG_GRASS); } else { - mapObject = &gMapObjects[mapObjectId]; - if ((mapObject->currentCoords.x != sprite->data[1] || mapObject->currentCoords.y != sprite->data[2]) && (mapObject->previousCoords.x != sprite->data[1] || mapObject->previousCoords.y != sprite->data[2])) + eventObject = &gEventObjects[eventObjectId]; + if ((eventObject->currentCoords.x != sprite->data[1] || eventObject->currentCoords.y != sprite->data[2]) && (eventObject->previousCoords.x != sprite->data[1] || eventObject->previousCoords.y != sprite->data[2])) { sprite->data[7] = TRUE; } - UpdateFieldSpriteVisibility(sprite, 0); + UpdateEventObjectSpriteVisibility(sprite, 0); sub_812882C(sprite, sprite->data[0], 0); } } @@ -442,44 +442,44 @@ u32 FldEff_JumpLongGrass(void) u32 FldEff_ShortGrass(void) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; u8 spriteId; struct Sprite *sprite; - mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - mapObject = &gMapObjects[mapObjectId]; + eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + eventObject = &gEventObjects[eventObjectId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[30], 0, 0, 0); if (spriteId != MAX_SPRITES) { sprite = &(gSprites[spriteId]); sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; - sprite->data[3] = gSprites[mapObject->spriteId].pos1.x; - sprite->data[4] = gSprites[mapObject->spriteId].pos1.y; + sprite->data[3] = gSprites[eventObject->spriteId].pos1.x; + sprite->data[4] = gSprites[eventObject->spriteId].pos1.y; } return 0; } void sub_8127334(struct Sprite *sprite) { - u8 mapObjectId; + u8 eventObjectId; s16 x; s16 y; - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inShortGrass) + if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inShortGrass) { FieldEffectStop(sprite, FLDEFF_SHORT_GRASS); } else { - graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); - linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); + linkedSprite = &gSprites[gEventObjects[eventObjectId].spriteId]; y = linkedSprite->pos1.y; x = linkedSprite->pos1.x; if (x != sprite->data[3] || y != sprite->data[4]) @@ -496,7 +496,7 @@ void sub_8127334(struct Sprite *sprite) sprite->pos2.y = (graphicsInfo->height >> 1) - 8; sprite->subpriority = linkedSprite->subpriority - 1; sprite->oam.priority = linkedSprite->oam.priority; - UpdateFieldSpriteVisibility(sprite, linkedSprite->invisible); + UpdateEventObjectSpriteVisibility(sprite, linkedSprite->invisible); } } @@ -570,14 +570,14 @@ static void sub_81275A0(struct Sprite *sprite) { sprite->data[0] = 1; } - UpdateFieldSpriteVisibility(sprite, FALSE); + UpdateEventObjectSpriteVisibility(sprite, FALSE); } static void sub_81275C4(struct Sprite *sprite) { sprite->invisible ^= 1; sprite->data[1] ++; - UpdateFieldSpriteVisibility(sprite, sprite->invisible); + UpdateEventObjectSpriteVisibility(sprite, sprite->invisible); if (sprite->data[1] > 56) { FieldEffectStop(sprite, sprite->data[7]); @@ -586,22 +586,22 @@ static void sub_81275C4(struct Sprite *sprite) u32 FldEff_Splash(void) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; u8 spriteId; struct Sprite *sprite; - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - mapObject = &gMapObjects[mapObjectId]; + eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + eventObject = &gEventObjects[eventObjectId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); if (spriteId != MAX_SPRITES) { - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - linkedSprite = &gSprites[mapObject->spriteId]; + linkedSprite = &gSprites[eventObject->spriteId]; sprite->oam.priority = linkedSprite->oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; @@ -614,17 +614,17 @@ u32 FldEff_Splash(void) void sub_81276B4(struct Sprite *sprite) { - u8 mapObjectId; + u8 eventObjectId; - if (sprite->animEnded || TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId)) + if (sprite->animEnded || TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId)) { FieldEffectStop(sprite, FLDEFF_SPLASH); } else { - sprite->pos1.x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x; - sprite->pos1.y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y; - UpdateFieldSpriteVisibility(sprite, FALSE); + sprite->pos1.x = gSprites[gEventObjects[eventObjectId].spriteId].pos1.x; + sprite->pos1.y = gSprites[gEventObjects[eventObjectId].spriteId].pos1.y; + UpdateEventObjectSpriteVisibility(sprite, FALSE); } } @@ -666,22 +666,22 @@ u32 FldEff_JumpBigSplash(void) u32 FldEff_FeetInFlowingWater(void) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; u8 spriteId; struct Sprite *sprite; - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; - mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - mapObject = &gMapObjects[mapObjectId]; + eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + eventObject = &gEventObjects[eventObjectId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[13], 0, 0, 0); if (spriteId != MAX_SPRITES) { - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); sprite = &gSprites[spriteId]; sprite->callback = sub_81278D8; sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; @@ -695,26 +695,26 @@ u32 FldEff_FeetInFlowingWater(void) static void sub_81278D8(struct Sprite *sprite) { - u8 mapObjectId; + u8 eventObjectId; struct Sprite *linkedSprite; - struct MapObject *mapObject; + struct EventObject *eventObject; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inShallowFlowingWater) + if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inShallowFlowingWater) { FieldEffectStop(sprite, FLDEFF_FEET_IN_FLOWING_WATER); } else { - mapObject = &gMapObjects[mapObjectId]; - linkedSprite = &gSprites[mapObject->spriteId]; + eventObject = &gEventObjects[eventObjectId]; + linkedSprite = &gSprites[eventObject->spriteId]; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = linkedSprite->pos1.y; sprite->subpriority = linkedSprite->subpriority; - UpdateFieldSpriteVisibility(sprite, FALSE); - if (mapObject->currentCoords.x != sprite->data[3] || mapObject->currentCoords.y != sprite->data[4]) + UpdateEventObjectSpriteVisibility(sprite, FALSE); + if (eventObject->currentCoords.x != sprite->data[3] || eventObject->currentCoords.y != sprite->data[4]) { - sprite->data[3] = mapObject->currentCoords.x; - sprite->data[4] = mapObject->currentCoords.y; + sprite->data[3] = eventObject->currentCoords.x; + sprite->data[4] = eventObject->currentCoords.y; if (!sprite->invisible) { PlaySE(SE_MIZU); @@ -741,46 +741,46 @@ u32 FldEff_Ripple(void) u32 FldEff_HotSpringsWater(void) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; u8 spriteId; struct Sprite *sprite; - mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - mapObject = &gMapObjects[mapObjectId]; + eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + eventObject = &gEventObjects[eventObjectId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[31], 0, 0, 0); if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; - sprite->data[3] = gSprites[mapObject->spriteId].pos1.x; - sprite->data[4] = gSprites[mapObject->spriteId].pos1.y; + sprite->data[3] = gSprites[eventObject->spriteId].pos1.x; + sprite->data[4] = gSprites[eventObject->spriteId].pos1.y; } return 0; } void sub_8127A7C(struct Sprite *sprite) { - u8 mapObjectId; - const struct MapObjectGraphicsInfo *graphicsInfo; + u8 eventObjectId; + const struct EventObjectGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inHotSprings) + if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inHotSprings) { FieldEffectStop(sprite, FLDEFF_HOT_SPRINGS_WATER); } else { - graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); - linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); + linkedSprite = &gSprites[gEventObjects[eventObjectId].spriteId]; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 8; sprite->subpriority = linkedSprite->subpriority - 1; - UpdateFieldSpriteVisibility(sprite, FALSE); + UpdateEventObjectSpriteVisibility(sprite, FALSE); } } @@ -914,13 +914,13 @@ static void sub_8127DD0(struct Sprite *sprite) sprite->animPaused = FALSE; MapGridSetMetatileIdAt(sprite->data[1], sprite->data[2], sprite->data[3]); CurrentMapDrawMetatileAt(sprite->data[1], sprite->data[2]); - gMapObjects[gPlayerAvatar.mapObjectId].triggerGroundEffectsOnMove = TRUE; + gEventObjects[gPlayerAvatar.eventObjectId].triggerGroundEffectsOnMove = TRUE; sprite->data[0] = 2; } static void sub_8127E30(struct Sprite *sprite) { - UpdateFieldSpriteVisibility(sprite, FALSE); + UpdateEventObjectSpriteVisibility(sprite, FALSE); if (sprite->animEnded) { FieldEffectStop(sprite, FLDEFF_ASH); @@ -981,35 +981,35 @@ static u8 sub_8127F70(struct Sprite *sprite) void sub_8127F7C(struct Sprite *sprite) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *linkedSprite; - mapObject = &gMapObjects[sprite->data[2]]; - linkedSprite = &gSprites[mapObject->spriteId]; - sub_8127FD4(mapObject, sprite); - sub_812800C(mapObject, sprite); - sub_81280A0(mapObject, linkedSprite, sprite); + eventObject = &gEventObjects[sprite->data[2]]; + linkedSprite = &gSprites[eventObject->spriteId]; + sub_8127FD4(eventObject, sprite); + sub_812800C(eventObject, sprite); + sub_81280A0(eventObject, linkedSprite, sprite); sprite->oam.priority = linkedSprite->oam.priority; } -static void sub_8127FD4(struct MapObject *mapObject, struct Sprite *sprite) +static void sub_8127FD4(struct EventObject *eventObject, struct Sprite *sprite) { u8 unk_8041E54[] = {0, 0, 1, 2, 3}; if (sub_8127F64(sprite) == 0) { - StartSpriteAnimIfDifferent(sprite, unk_8041E54[mapObject->movementDirection]); + StartSpriteAnimIfDifferent(sprite, unk_8041E54[eventObject->movementDirection]); } } #ifdef NONMATCHING -static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) +static void sub_812800C(struct EventObject *eventObject, struct Sprite *sprite) { s16 x; s16 y; u8 i; - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; if (sprite->pos2.y == 0 && (x != sprite->data[6] || y != sprite->data[7])) { sprite->data[5] = sprite->pos2.y; @@ -1025,7 +1025,7 @@ static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) } } #else -NAKED static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite) +NAKED static void sub_812800C(struct EventObject *eventObject, struct Sprite *sprite) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r8\n" @@ -1106,7 +1106,7 @@ NAKED static void sub_812800C(struct MapObject *mapObject, struct Sprite *sprite } #endif -static void sub_81280A0(struct MapObject *mapObject, struct Sprite *linkedSprite, struct Sprite *sprite) +static void sub_81280A0(struct EventObject *eventObject, struct Sprite *linkedSprite, struct Sprite *sprite) { u16 unk_8401E5A[] = {3, 7}; u8 v0 = sub_8127F5C(sprite); @@ -1185,26 +1185,26 @@ u32 FldEff_Dust(void) u32 FldEff_SandPile(void) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; u8 spriteId; struct Sprite *sprite; - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; - mapObjectId = GetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); - mapObject = &gMapObjects[mapObjectId]; + eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + eventObject = &gEventObjects[eventObjectId]; spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[29], 0, 0, 0); if (spriteId != MAX_SPRITES) { - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); sprite = &gSprites[spriteId]; sprite->coordOffsetEnabled = TRUE; - sprite->oam.priority = gSprites[mapObject->spriteId].oam.priority; + sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; sprite->data[1] = gFieldEffectArguments[1]; sprite->data[2] = gFieldEffectArguments[2]; - sprite->data[3] = gSprites[mapObject->spriteId].pos1.x; - sprite->data[4] = gSprites[mapObject->spriteId].pos1.y; + sprite->data[3] = gSprites[eventObject->spriteId].pos1.x; + sprite->data[4] = gSprites[eventObject->spriteId].pos1.y; sprite->pos2.y = (graphicsInfo->height >> 1) - 2; SeekSpriteAnim(sprite, 2); } @@ -1213,18 +1213,18 @@ u32 FldEff_SandPile(void) void sub_81282E0(struct Sprite *sprite) { - u8 mapObjectId; + u8 eventObjectId; s16 x; s16 y; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjectId) || !gMapObjects[mapObjectId].inSandPile) + if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjectId) || !gEventObjects[eventObjectId].inSandPile) { FieldEffectStop(sprite, FLDEFF_SAND_PILE); } else { - y = gSprites[gMapObjects[mapObjectId].spriteId].pos1.y; - x = gSprites[gMapObjects[mapObjectId].spriteId].pos1.x; + y = gSprites[gEventObjects[eventObjectId].spriteId].pos1.y; + x = gSprites[gEventObjects[eventObjectId].spriteId].pos1.x; if (x != sprite->data[3] || y != sprite->data[4]) { sprite->data[3] = x; @@ -1236,8 +1236,8 @@ void sub_81282E0(struct Sprite *sprite) } sprite->pos1.x = x; sprite->pos1.y = y; - sprite->subpriority = gSprites[gMapObjects[mapObjectId].spriteId].subpriority; - UpdateFieldSpriteVisibility(sprite, FALSE); + sprite->subpriority = gSprites[gEventObjects[eventObjectId].spriteId].subpriority; + UpdateEventObjectSpriteVisibility(sprite, FALSE); } } @@ -1262,7 +1262,7 @@ void sub_8128410(struct Sprite *sprite) sprite->data[0] += 0x80; sprite->data[0] &= 0x100; sprite->pos1.y -= sprite->data[0] >> 8; - UpdateFieldSpriteVisibility(sprite, FALSE); + UpdateEventObjectSpriteVisibility(sprite, FALSE); if (sprite->invisible || sprite->animEnded) { FieldEffectStop(sprite, FLDEFF_BUBBLES); @@ -1309,7 +1309,7 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) u8 spriteId; struct Sprite *sprite; - if (TryGetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &spriteId)) + if (TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &spriteId)) { FieldEffectActiveListRemove(fldEff); return MAX_SPRITES; @@ -1330,17 +1330,17 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) void sub_81285AC(struct Sprite *sprite) { - u8 mapObjectId; - const struct MapObjectGraphicsInfo *graphicsInfo; + u8 eventObjectId; + const struct EventObjectGraphicsInfo *graphicsInfo; struct Sprite *linkedSprite; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[2], sprite->data[3], sprite->data[4], &mapObjectId)) + if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[2], sprite->data[3], sprite->data[4], &eventObjectId)) { FieldEffectStop(sprite, sprite->data[1]); } - graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[mapObjectId].graphicsId); - linkedSprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); + linkedSprite = &gSprites[gEventObjects[eventObjectId].spriteId]; sprite->invisible = linkedSprite->invisible; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = (graphicsInfo->height >> 1) + linkedSprite->pos1.y - 16; @@ -1360,30 +1360,30 @@ void sub_81285AC(struct Sprite *sprite) } } -void sub_812869C(struct MapObject *mapObject) +void sub_812869C(struct EventObject *eventObject) { - if (mapObject->directionSequenceIndex == 1) + if (eventObject->directionSequenceIndex == 1) { - gSprites[mapObject->fieldEffectSpriteId].data[0]++; + gSprites[eventObject->fieldEffectSpriteId].data[0]++; } } -bool8 sub_81286C4(struct MapObject *mapObject) +bool8 sub_81286C4(struct EventObject *eventObject) { struct Sprite *sprite; - if (mapObject->directionSequenceIndex == 2) + if (eventObject->directionSequenceIndex == 2) { return TRUE; } - if (mapObject->directionSequenceIndex == 0) + if (eventObject->directionSequenceIndex == 0) { return TRUE; } - sprite = &gSprites[mapObject->fieldEffectSpriteId]; + sprite = &gSprites[eventObject->fieldEffectSpriteId]; if (sprite->data[7]) { - mapObject->directionSequenceIndex = 2; + eventObject->directionSequenceIndex = 2; sprite->data[0]++; return TRUE; } @@ -1434,7 +1434,7 @@ void sub_81287C4(struct Sprite *sprite) } else { - UpdateFieldSpriteVisibility(sprite, FALSE); + UpdateEventObjectSpriteVisibility(sprite, FALSE); SetObjectSubpriorityByZCoord(sprite->data[0], sprite, 0); } } @@ -1447,7 +1447,7 @@ void sub_8128800(struct Sprite *sprite) } else { - UpdateFieldSpriteVisibility(sprite, FALSE); + UpdateEventObjectSpriteVisibility(sprite, FALSE); } } @@ -1462,18 +1462,18 @@ static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) s16 ly; s16 ylo; s16 yhi; - struct MapObject *mapObject; // r4 - const struct MapObjectGraphicsInfo *graphicsInfo; // destroyed + struct EventObject *eventObject; // r4 + const struct EventObjectGraphicsInfo *graphicsInfo; // destroyed struct Sprite *linkedSprite; // r5 SetObjectSubpriorityByZCoord(z, sprite, offset); for (i = 0; i < 16; i ++) { - mapObject = &gMapObjects[i]; - if (mapObject->active) + eventObject = &gEventObjects[i]; + if (eventObject->active) { - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - linkedSprite = &gSprites[mapObject->spriteId]; + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + linkedSprite = &gSprites[eventObject->spriteId]; xhi = sprite->pos1.x + sprite->centerToCornerVecX; xlo = sprite->pos1.x - sprite->centerToCornerVecX; lx = linkedSprite->pos1.x; @@ -1512,14 +1512,14 @@ NAKED static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) "\tlsls r0, r7, 3\n" "\tadds r0, r7\n" "\tlsls r0, 2\n" - "\tldr r1, _081288DC @ =gMapObjects\n" + "\tldr r1, _081288DC @ =gEventObjects\n" "\tadds r4, r0, r1\n" "\tldrb r0, [r4]\n" "\tlsls r0, 31\n" "\tcmp r0, 0\n" "\tbeq _081288E4\n" "\tldrb r0, [r4, 0x5]\n" - "\tbl GetFieldObjectGraphicsInfo\n" + "\tbl GetEventObjectGraphicsInfo\n" "\tldrb r1, [r4, 0x4]\n" "\tlsls r0, r1, 4\n" "\tadds r0, r1\n" @@ -1586,7 +1586,7 @@ NAKED static void sub_812882C(struct Sprite *sprite /*r6*/, u8 z, u8 offset) "\tstrb r0, [r2]\n" "\tb _081288EE\n" "\t.align 2, 0\n" - "_081288DC: .4byte gMapObjects\n" + "_081288DC: .4byte gEventObjects\n" "_081288E0: .4byte gSprites\n" "_081288E4:\n" "\tadds r0, r7, 0x1\n" diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 653971a50..7a65c696a 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -11,7 +11,7 @@ #include "fldeff_flash.h" #include "link.h" #include "main.h" -#include "map_obj_lock.h" +#include "event_obj_lock.h" #include "metatile_behavior.h" #include "palette.h" #include "overworld.h" @@ -220,7 +220,7 @@ void sub_8080B9C(u8 taskId) { case 0: sub_8080958(0); - FreezeMapObjects(); + FreezeEventObjects(); PlayerGetDestCoords(x, y); FieldSetDoorOpened(*x, *y); task->data[0] = 1; @@ -228,27 +228,27 @@ void sub_8080B9C(u8 taskId) case 1: if (sub_8080E70()) { - u8 mapObjId; + u8 eventObjId; sub_8080958(1); - mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetHeldMovement(&gMapObjects[mapObjId], 8); + eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectSetHeldMovement(&gEventObjects[eventObjId], 8); task->data[0] = 2; } break; case 2: if (walkrun_is_standing_still()) { - u8 mapObjId; + u8 eventObjId; task->data[1] = FieldAnimateDoorClose(*x, *y); - mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId]); + eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); task->data[0] = 3; } break; case 3: if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { - UnfreezeMapObjects(); + UnfreezeEventObjects(); task->data[0] = 4; } break; @@ -269,24 +269,24 @@ void task_map_chg_seq_0807E20C(u8 taskId) { case 0: sub_8080958(0); - FreezeMapObjects(); + FreezeEventObjects(); PlayerGetDestCoords(x, y); task->data[0] = 1; break; case 1: if (sub_8080E70()) { - u8 mapObjId; + u8 eventObjId; sub_8080958(1); - mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetHeldMovement(&gMapObjects[mapObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); + eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectSetHeldMovement(&gEventObjects[eventObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection())); task->data[0] = 2; } break; case 2: if (walkrun_is_standing_still()) { - UnfreezeMapObjects(); + UnfreezeEventObjects(); task->data[0] = 3; } break; @@ -302,14 +302,14 @@ void task_map_chg_seq_0807E2CC(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - FreezeMapObjects(); + FreezeEventObjects(); ScriptContext2_Enable(); gTasks[taskId].data[0]++; break; case 1: if (sub_8080E70()) { - UnfreezeMapObjects(); + UnfreezeEventObjects(); ScriptContext2_Disable(); DestroyTask(taskId); } @@ -533,7 +533,7 @@ void task0A_fade_n_map_maybe(u8 taskId) switch (task->data[0]) { case 0: - FreezeMapObjects(); + FreezeEventObjects(); ScriptContext2_Enable(); task->data[0]++; break; @@ -560,7 +560,7 @@ void sub_808115C(u8 taskId) switch (task->data[0]) { case 0: - FreezeMapObjects(); + FreezeEventObjects(); PlayerGetDestCoords(x, y); PlaySE(GetDoorSoundEffect(*x, *y - 1)); task->data[1] = FieldAnimateDoorOpen(*x, *y - 1); @@ -569,21 +569,21 @@ void sub_808115C(u8 taskId) case 1: if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE) { - u8 mapObjId; - mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearHeldMovementIfActive(&gMapObjects[mapObjId]); - mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectSetHeldMovement(&gMapObjects[mapObjId], 9); + u8 eventObjId; + eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfActive(&gEventObjects[eventObjId]); + eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectSetHeldMovement(&gEventObjects[eventObjId], 9); task->data[0] = 2; } break; case 2: if (walkrun_is_standing_still()) { - u8 mapObjId; + u8 eventObjId; task->data[1] = FieldAnimateDoorClose(*x, *y - 1); - mapObjId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId]); + eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]); sub_8080958(0); task->data[0] = 3; } @@ -611,7 +611,7 @@ void sub_80812C8(u8 taskId) switch (task->data[0]) { case 0: - FreezeMapObjects(); + FreezeEventObjects(); ScriptContext2_Enable(); task->data[0]++; break; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 6b5f94d0d..f17cd9bc6 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -22,13 +22,13 @@ #include "tv.h" #include "wild_encounter.h" #include "constants/field_effects.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" EWRAM_DATA struct PlayerAvatar gPlayerAvatar = {0}; //Functions -static bool8 sub_8058854(struct MapObject *, u8); -static void npc_clear_strange_bits(struct MapObject *a); +static bool8 sub_8058854(struct EventObject *, u8); +static void npc_clear_strange_bits(struct EventObject *a); static void MovePlayerAvatarUsingKeypadInput(u8 a, u16 b, u16 c); static void PlayerAllowForcedMovementIfMovingSameDirection(void); static bool8 TryDoMetatileBehaviorForcedMovement(void); @@ -47,7 +47,7 @@ static bool8 PlayerIsAnimActive(void); static bool8 PlayerCheckIfAnimFinishedOrInactive(void); static void PlayerNotOnBikeCollide(u8 a); static void PlayCollisionSoundIfNotFacingWarp(u8 a); -static void sub_8059D60(struct MapObject *a); +static void sub_8059D60(struct EventObject *a); static void StartStrengthAnim(u8 a, u8 b); static void DoPlayerMatJump(void); static void sub_805A06C(void); @@ -112,7 +112,7 @@ static bool8 (*const gUnknown_0830FBF8[])(u8) = MetatileBehavior_IsHorizontalRail, }; static const u8 gUnknown_0830FC0C[] = {9, 10, 11, 12, 13}; -static void (*const gUnknown_0830FC14[])(struct MapObject *) = +static void (*const gUnknown_0830FC14[])(struct EventObject *) = { PlayerAvatarTransition_Normal, PlayerAvatarTransition_MachBike, @@ -132,43 +132,43 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks[])(u8) = }; static const u8 sRivalAvatarGfxIds[][2] = { - {MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, MAP_OBJ_GFX_RIVAL_MAY_NORMAL}, - {MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE}, - {MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE}, - {MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, MAP_OBJ_GFX_RIVAL_MAY_SURFING}, - {MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER}, - {MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE}, - {MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING}, - {MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING}, + {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}, }; static const u8 sPlayerAvatarGfxIds[][2] = { - {MAP_OBJ_GFX_BRENDAN_NORMAL, MAP_OBJ_GFX_MAY_NORMAL}, - {MAP_OBJ_GFX_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_MAY_MACH_BIKE}, - {MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_MAY_ACRO_BIKE}, - {MAP_OBJ_GFX_BRENDAN_SURFING, MAP_OBJ_GFX_MAY_SURFING}, - {MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER}, - {MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_MAY_FIELD_MOVE}, - {MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING}, - {MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING}, + {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}, }; static const u8 gUnknown_0830FC64[2][5][2] = { //male { - {MAP_OBJ_GFX_BRENDAN_NORMAL, 1}, - {MAP_OBJ_GFX_BRENDAN_MACH_BIKE, 2}, - {MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, 4}, - {MAP_OBJ_GFX_BRENDAN_SURFING, 8}, - {MAP_OBJ_GFX_BRENDAN_UNDERWATER, 16}, + {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 { - {MAP_OBJ_GFX_MAY_NORMAL, 1}, - {MAP_OBJ_GFX_MAY_MACH_BIKE, 2}, - {MAP_OBJ_GFX_MAY_ACRO_BIKE, 4}, - {MAP_OBJ_GFX_MAY_SURFING, 8}, - {MAP_OBJ_GFX_MAY_UNDERWATER, 16}, + {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}, } }; static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks @@ -178,17 +178,17 @@ static bool8 (*const sArrowWarpMetatileBehaviorChecks2[])(u8) = //Duplicate of MetatileBehavior_IsWestArrowWarp, MetatileBehavior_IsEastArrowWarp, }; -static u8 (*const gUnknown_0830FC88[])(struct Task *, struct MapObject *, struct MapObject *) = +static u8 (*const gUnknown_0830FC88[])(struct Task *, struct EventObject *, struct EventObject *) = { sub_8059E84, sub_8059EA4, sub_8059F40, }; -static u8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct MapObject *) = +static u8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct EventObject *) = { PlayerAvatar_DoSecretBaseMatJump, }; -static u8 (*const gUnknown_0830FC98[])(struct Task *, struct MapObject *) = +static u8 (*const gUnknown_0830FC98[])(struct Task *, struct EventObject *) = { sub_805A0D8, sub_805A100, @@ -200,15 +200,15 @@ movement_type_empty_callback(MovementType_Player); void player_step(u8 direction, u16 newKeys, u16 heldKeys) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - sub_8059D60(playerMapObj); + sub_8059D60(playerEventObj); if (gPlayerAvatar.preventStep == FALSE) { Bike_TryAcroBikeHistoryUpdate(newKeys, heldKeys); - if (!sub_8058854(playerMapObj, direction)) + if (!sub_8058854(playerEventObj, direction)) { - npc_clear_strange_bits(playerMapObj); + npc_clear_strange_bits(playerEventObj); DoPlayerAvatarTransition(); if (TryDoMetatileBehaviorForcedMovement() == 0) { @@ -219,15 +219,15 @@ void player_step(u8 direction, u16 newKeys, u16 heldKeys) } } -static bool8 sub_8058854(struct MapObject *playerMapObj, u8 direction) +static bool8 sub_8058854(struct EventObject *playerEventObj, u8 direction) { - if (FieldObjectIsMovementOverridden(playerMapObj) - && !FieldObjectClearHeldMovementIfFinished(playerMapObj)) + if (EventObjectIsMovementOverridden(playerEventObj) + && !EventObjectClearHeldMovementIfFinished(playerEventObj)) { - u8 heldMovementActionId = FieldObjectGetHeldMovementActionId(playerMapObj); - if (heldMovementActionId > 24 && heldMovementActionId < 29 && direction != DIR_NONE && playerMapObj->movementDirection != direction) + u8 heldMovementActionId = EventObjectGetHeldMovementActionId(playerEventObj); + if (heldMovementActionId > 24 && heldMovementActionId < 29 && direction != DIR_NONE && playerEventObj->movementDirection != direction) { - FieldObjectClearHeldMovement(playerMapObj); + EventObjectClearHeldMovement(playerEventObj); return FALSE; } else @@ -238,11 +238,11 @@ static bool8 sub_8058854(struct MapObject *playerMapObj, u8 direction) return FALSE; } -static void npc_clear_strange_bits(struct MapObject *mapObj) +static void npc_clear_strange_bits(struct EventObject *eventObj) { - mapObj->inanimate = 0; - mapObj->disableAnim = 0; - mapObj->facingDirectionLocked = 0; + eventObj->inanimate = 0; + eventObj->disableAnim = 0; + eventObj->facingDirectionLocked = 0; gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_DASH; } @@ -276,7 +276,7 @@ static u8 GetForcedMovementByMetatileBehavior(void) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_5)) { - u8 r5 = gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior; + u8 r5 = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior; for (i = 0; i < 18; i++) { @@ -291,11 +291,11 @@ bool8 ForcedMovement_None(void) { if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_6) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - playerMapObj->facingDirectionLocked = 0; - playerMapObj->enableAnim = 1; - SetFieldObjectDirection(playerMapObj, playerMapObj->facingDirection); + playerEventObj->facingDirectionLocked = 0; + playerEventObj->enableAnim = 1; + SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); gPlayerAvatar.flags &= ~PLAYER_AVATAR_FLAG_6; } return FALSE; @@ -333,10 +333,10 @@ static u8 DoForcedMovement(u8 direction, void (*b)(u8)) static u8 DoForcedMovementInCurrentDirection(void (*a)(u8)) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - playerMapObj->disableAnim = 1; - return DoForcedMovement(playerMapObj->movementDirection, a); + playerEventObj->disableAnim = 1; + return DoForcedMovement(playerEventObj->movementDirection, a); } bool8 ForcedMovement_Slip(void) @@ -386,10 +386,10 @@ bool8 sub_8058B54(void) static u8 ForcedMovement_Slide(u8 direction, void (*b)(u8)) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - playerMapObj->disableAnim = 1; - playerMapObj->facingDirectionLocked = 1; + playerEventObj->disableAnim = 1; + playerEventObj->facingDirectionLocked = 1; return DoForcedMovement(direction, b); } @@ -427,12 +427,12 @@ bool8 sub_8058C10(void) bool8 ForcedMovement_MuddySlope(void) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (playerMapObj->movementDirection != DIR_NORTH || GetPlayerSpeed() <= 3) + if (playerEventObj->movementDirection != DIR_NORTH || GetPlayerSpeed() <= 3) { Bike_UpdateBikeCounterSpeed(0); - playerMapObj->facingDirectionLocked = 1; + playerEventObj->facingDirectionLocked = 1; return DoForcedMovement(1, PlayerGoSpeed2); } else @@ -500,7 +500,7 @@ void sub_8058D0C(u8 direction, u16 heldKeys) return; } if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_UNDERWATER) && (heldKeys & B_BUTTON) && FlagGet(FLAG_SYS_B_DASH) - && IsRunningDisallowed(gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior) == 0) + && IsRunningDisallowed(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) == 0) { sub_805940C(direction); gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_DASH; @@ -515,15 +515,15 @@ void sub_8058D0C(u8 direction, u16 heldKeys) static u8 CheckForPlayerAvatarCollision(u8 direction) { s16 x, y; - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - x = playerMapObj->currentCoords.x; - y = playerMapObj->currentCoords.y; + x = playerEventObj->currentCoords.x; + y = playerEventObj->currentCoords.y; MoveCoords(direction, &x, &y); - return CheckForFieldObjectCollision(playerMapObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); + return CheckForEventObjectCollision(playerEventObj, x, y, direction, MapGridGetMetatileBehaviorAt(x, y)); } -u8 CheckForFieldObjectCollision(struct MapObject *a, s16 x, s16 y, u8 direction, u8 e) +u8 CheckForEventObjectCollision(struct EventObject *a, s16 x, s16 y, u8 direction, u8 e) { u8 collision; @@ -551,7 +551,7 @@ static u8 sub_8058EF0(s16 a, s16 b, u8 c) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && MapGridGetZCoordAt(a, b) == 3 - && GetFieldObjectIdByXYZ(a, b, 3) == 16) + && GetEventObjectIdByXYZ(a, b, 3) == 16) { sub_805A20C(c); return 1; @@ -574,19 +574,19 @@ static u8 sub_8058F6C(s16 a, s16 b, u8 c) { if (FlagGet(FLAG_SYS_USE_STRENGTH)) { - u8 mapObjectId = GetFieldObjectIdByXY(a, b); + u8 eventObjectId = GetEventObjectIdByXY(a, b); - if (mapObjectId != 16) + if (eventObjectId != 16) { - if (gMapObjects[mapObjectId].graphicsId == 0x57) + if (gEventObjects[eventObjectId].graphicsId == 0x57) { - a = gMapObjects[mapObjectId].currentCoords.x; - b = gMapObjects[mapObjectId].currentCoords.y; + a = gEventObjects[eventObjectId].currentCoords.x; + b = gEventObjects[eventObjectId].currentCoords.y; MoveCoords(c, &a, &b); - if (GetCollisionAtCoords(&gMapObjects[mapObjectId], a, b, c) == 0 + if (GetCollisionAtCoords(&gEventObjects[eventObjectId], a, b, c) == 0 && MetatileBehavior_IsNonAnimDoor(MapGridGetMetatileBehaviorAt(a, b)) == 0) { - StartStrengthAnim(mapObjectId, c); + StartStrengthAnim(eventObjectId, c); return 1; } } @@ -627,13 +627,13 @@ static void DoPlayerAvatarTransition(void) #ifdef NONMATCHING if (flags & 1) { - gUnknown_0830FC14[i](&gMapObjects[gPlayerAvatar.mapObjectId]); + gUnknown_0830FC14[i](&gEventObjects[gPlayerAvatar.eventObjectId]); } #else if (flags & 1) { - register void (*const *funcs)(struct MapObject *) asm("r0") = gUnknown_0830FC14; - funcs[i](&gMapObjects[gPlayerAvatar.mapObjectId]); + register void (*const *funcs)(struct EventObject *) asm("r0") = gUnknown_0830FC14; + funcs[i](&gEventObjects[gPlayerAvatar.eventObjectId]); } #endif } @@ -641,58 +641,58 @@ static void DoPlayerAvatarTransition(void) } } -void nullsub_49(struct MapObject *mapObj) +void nullsub_49(struct EventObject *eventObj) { } -void PlayerAvatarTransition_Normal(struct MapObject *mapObj) +void PlayerAvatarTransition_Normal(struct EventObject *eventObj) { - sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - FieldObjectTurn(mapObj, mapObj->movementDirection); + sub_805B980(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); + EventObjectTurn(eventObj, eventObj->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT); } -void PlayerAvatarTransition_MachBike(struct MapObject *mapObj) +void PlayerAvatarTransition_MachBike(struct EventObject *eventObj) { - sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); - FieldObjectTurn(mapObj, mapObj->movementDirection); + sub_805B980(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_MACH_BIKE)); + EventObjectTurn(eventObj, eventObj->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE); BikeClearState(0, 0); } -void PlayerAvatarTransition_AcroBike(struct MapObject *mapObj) +void PlayerAvatarTransition_AcroBike(struct EventObject *eventObj) { - sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); - FieldObjectTurn(mapObj, mapObj->movementDirection); + sub_805B980(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); + EventObjectTurn(eventObj, eventObj->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ACRO_BIKE); BikeClearState(0, 0); Bike_HandleBumpySlopeJump(); } -void PlayerAvatarTransition_Surfing(struct MapObject *mapObj) +void PlayerAvatarTransition_Surfing(struct EventObject *eventObj) { u8 unk; - sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); - FieldObjectTurn(mapObj, mapObj->movementDirection); + sub_805B980(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); + EventObjectTurn(eventObj, eventObj->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); - gFieldEffectArguments[0] = mapObj->currentCoords.x; - gFieldEffectArguments[1] = mapObj->currentCoords.y; - gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId; unk = FieldEffectStart(FLDEFF_SURF_BLOB); - mapObj->fieldEffectSpriteId = unk; + eventObj->fieldEffectSpriteId = unk; sub_8127ED0(unk, 1); } -void PlayerAvatarTransition_Underwater(struct MapObject *mapObj) +void PlayerAvatarTransition_Underwater(struct EventObject *eventObj) { - sub_805B980(mapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); - FieldObjectTurn(mapObj, mapObj->movementDirection); + sub_805B980(eventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_UNDERWATER)); + EventObjectTurn(eventObj, eventObj->movementDirection); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_UNDERWATER); - mapObj->fieldEffectSpriteId = sub_8128124(mapObj->spriteId); + eventObj->fieldEffectSpriteId = sub_8128124(eventObj->spriteId); } -void sub_80591F4(struct MapObject *mapObj) +void sub_80591F4(struct EventObject *eventObj) { gPlayerAvatar.flags |= PLAYER_AVATAR_FLAG_5; } @@ -717,7 +717,7 @@ void sub_8059204(void) static bool8 player_is_anim_in_certain_ranges(void) { - u8 unk = gMapObjects[gPlayerAvatar.mapObjectId].movementActionId; + u8 unk = gEventObjects[gPlayerAvatar.eventObjectId].movementActionId; if (unk < 4 || (unk >= 16 && unk < 0x15) @@ -739,27 +739,27 @@ static bool8 sub_80592A4(void) static bool8 PlayerIsAnimActive(void) { - return FieldObjectIsMovementOverridden(&gMapObjects[gPlayerAvatar.mapObjectId]); + return EventObjectIsMovementOverridden(&gEventObjects[gPlayerAvatar.eventObjectId]); } static bool8 PlayerCheckIfAnimFinishedOrInactive(void) { - return FieldObjectCheckHeldMovementStatus(&gMapObjects[gPlayerAvatar.mapObjectId]); + return EventObjectCheckHeldMovementStatus(&gEventObjects[gPlayerAvatar.eventObjectId]); } static void PlayerSetCopyableMovement(u8 a) { - gMapObjects[gPlayerAvatar.mapObjectId].playerCopyableMovement = a; + gEventObjects[gPlayerAvatar.eventObjectId].playerCopyableMovement = a; } u8 PlayerGetCopyableMovement(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].playerCopyableMovement; + return gEventObjects[gPlayerAvatar.eventObjectId].playerCopyableMovement; } static void sub_8059348(u8 a) { - FieldObjectForceSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], a); + EventObjectForceSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], a); } void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement) @@ -767,7 +767,7 @@ void PlayerSetAnimId(u8 movementActionId, u8 copyableMovement) if (!PlayerIsAnimActive()) { PlayerSetCopyableMovement(copyableMovement); - FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], movementActionId); + EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], movementActionId); } } @@ -832,7 +832,7 @@ void sub_80594C0(void) if (gPlayerAvatar.tileTransitionState == T_TILE_CENTER || gPlayerAvatar.tileTransitionState == T_NOT_MOVING) { if (player_should_look_direction_be_enforced_upon_movement()) - sub_8059348(GetFaceDirectionMovementAction(gMapObjects[gPlayerAvatar.mapObjectId].facingDirection)); + sub_8059348(GetFaceDirectionMovementAction(gEventObjects[gPlayerAvatar.eventObjectId].facingDirection)); } } @@ -906,7 +906,7 @@ void sub_8059630(u8 direction) static void PlayCollisionSoundIfNotFacingWarp(u8 a) { s16 x, y; - u8 metatileBehavior = gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior; + u8 metatileBehavior = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior; if (!sArrowWarpMetatileBehaviorChecks[a - 1](metatileBehavior)) { @@ -923,35 +923,35 @@ static void PlayCollisionSoundIfNotFacingWarp(u8 a) void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y) { - *x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x; - *y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; + *x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; + *y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; MoveCoords(GetPlayerFacingDirection(), x, y); } void PlayerGetDestCoords(s16 *x, s16 *y) { - *x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x; - *y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; + *x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; + *y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; } u8 GetPlayerFacingDirection(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].facingDirection; + return gEventObjects[gPlayerAvatar.eventObjectId].facingDirection; } u8 GetPlayerMovementDirection(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].movementDirection; + return gEventObjects[gPlayerAvatar.eventObjectId].movementDirection; } u8 PlayerGetZCoord(void) { - return gMapObjects[gPlayerAvatar.mapObjectId].previousElevation; + return gEventObjects[gPlayerAvatar.eventObjectId].previousElevation; } void unref_sub_8059790(s16 a, s16 b) { - sub_805C058(&gMapObjects[gPlayerAvatar.mapObjectId], a, b); + sub_805C058(&gEventObjects[gPlayerAvatar.eventObjectId], a, b); } u8 TestPlayerAvatarFlags(u8 a) @@ -976,10 +976,10 @@ void sub_80597E8(void) void sub_80597F4(void) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - npc_clear_strange_bits(playerMapObj); - SetFieldObjectDirection(playerMapObj, playerMapObj->facingDirection); + npc_clear_strange_bits(playerEventObj); + SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE)) { Bike_HandleBumpySlopeJump(); @@ -1006,14 +1006,14 @@ u8 unref_GetRivalAvatarGenderByGraphcsId(u8 gfxId) { switch (gfxId) { - case MAP_OBJ_GFX_RIVAL_MAY_NORMAL: - case MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE: - case MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE: - case MAP_OBJ_GFX_RIVAL_MAY_SURFING: - case MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE: - case MAP_OBJ_GFX_MAY_UNDERWATER: - case MAP_OBJ_GFX_MAY_FISHING: - case MAP_OBJ_GFX_MAY_WATERING: + case EVENT_OBJ_GFX_RIVAL_MAY_NORMAL: + case EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE: + case EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE: + case EVENT_OBJ_GFX_RIVAL_MAY_SURFING: + case EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE: + case EVENT_OBJ_GFX_MAY_UNDERWATER: + case EVENT_OBJ_GFX_MAY_FISHING: + case EVENT_OBJ_GFX_MAY_WATERING: return FEMALE; default: return MALE; @@ -1024,14 +1024,14 @@ u8 GetPlayerAvatarGenderByGraphicsId(u8 gfxId) { switch (gfxId) { - case MAP_OBJ_GFX_MAY_NORMAL: - case MAP_OBJ_GFX_MAY_MACH_BIKE: - case MAP_OBJ_GFX_MAY_ACRO_BIKE: - case MAP_OBJ_GFX_MAY_SURFING: - case MAP_OBJ_GFX_MAY_FIELD_MOVE: - case MAP_OBJ_GFX_MAY_UNDERWATER: - case MAP_OBJ_GFX_MAY_FISHING: - case MAP_OBJ_GFX_MAY_WATERING: + case EVENT_OBJ_GFX_MAY_NORMAL: + case EVENT_OBJ_GFX_MAY_MACH_BIKE: + case EVENT_OBJ_GFX_MAY_ACRO_BIKE: + case EVENT_OBJ_GFX_MAY_SURFING: + case EVENT_OBJ_GFX_MAY_FIELD_MOVE: + case EVENT_OBJ_GFX_MAY_UNDERWATER: + case EVENT_OBJ_GFX_MAY_FISHING: + case EVENT_OBJ_GFX_MAY_WATERING: return FEMALE; default: return MALE; @@ -1065,12 +1065,12 @@ bool8 IsPlayerSurfingNorth(void) bool8 IsPlayerFacingSurfableFishableWater(void) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - s16 x = playerMapObj->currentCoords.x; - s16 y = playerMapObj->currentCoords.y; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + s16 x = playerEventObj->currentCoords.x; + s16 y = playerEventObj->currentCoords.y; - MoveCoords(playerMapObj->facingDirection, &x, &y); - if (GetCollisionAtCoords(playerMapObj, x, y, playerMapObj->facingDirection) == 3 && PlayerGetZCoord() == 3 + MoveCoords(playerEventObj->facingDirection, &x, &y); + if (GetCollisionAtCoords(playerEventObj, x, y, playerEventObj->facingDirection) == 3 && PlayerGetZCoord() == 3 && MetatileBehavior_IsSurfableFishableWater(MapGridGetMetatileBehaviorAt(x, y))) return TRUE; else @@ -1123,87 +1123,87 @@ void SetPlayerAvatarExtraStateTransition(u8 a, u8 b) void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) { - struct MapObjectTemplate playerMapObjTemplate; - u8 mapObjectId; - struct MapObject *mapObject; - - playerMapObjTemplate.localId = 0xFF; - playerMapObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); - playerMapObjTemplate.x = x - 7; - playerMapObjTemplate.y = y - 7; - playerMapObjTemplate.elevation = 0; - playerMapObjTemplate.movementType = MOVEMENT_TYPE_PLAYER; - playerMapObjTemplate.movementRangeX = 0; - playerMapObjTemplate.movementRangeY = 0; - playerMapObjTemplate.trainerType = 0; - playerMapObjTemplate.trainerRange_berryTreeId = 0; - playerMapObjTemplate.script = NULL; - playerMapObjTemplate.flagId = 0; - mapObjectId = SpawnSpecialFieldObject(&playerMapObjTemplate); - mapObject = &gMapObjects[mapObjectId]; - mapObject->isPlayer = 1; - mapObject->warpArrowSpriteId = sub_8126B54(); - FieldObjectTurn(mapObject, direction); + struct EventObjectTemplate playerEventObjTemplate; + u8 eventObjectId; + struct EventObject *eventObject; + + playerEventObjTemplate.localId = 0xFF; + playerEventObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); + playerEventObjTemplate.x = x - 7; + playerEventObjTemplate.y = y - 7; + playerEventObjTemplate.elevation = 0; + playerEventObjTemplate.movementType = MOVEMENT_TYPE_PLAYER; + playerEventObjTemplate.movementRangeX = 0; + playerEventObjTemplate.movementRangeY = 0; + playerEventObjTemplate.trainerType = 0; + playerEventObjTemplate.trainerRange_berryTreeId = 0; + playerEventObjTemplate.script = NULL; + playerEventObjTemplate.flagId = 0; + eventObjectId = SpawnSpecialEventObject(&playerEventObjTemplate); + eventObject = &gEventObjects[eventObjectId]; + eventObject->isPlayer = 1; + eventObject->warpArrowSpriteId = sub_8126B54(); + EventObjectTurn(eventObject, direction); ClearPlayerAvatarInfo(); gPlayerAvatar.runningState = NOT_MOVING; gPlayerAvatar.tileTransitionState = T_NOT_MOVING; - gPlayerAvatar.mapObjectId = mapObjectId; - gPlayerAvatar.spriteId = mapObject->spriteId; + gPlayerAvatar.eventObjectId = eventObjectId; + gPlayerAvatar.spriteId = eventObject->spriteId; gPlayerAvatar.gender = gender; SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT); } void sub_8059B88(u8 a) { - gMapObjects[gPlayerAvatar.mapObjectId].invisible = a; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = a; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - gSprites[gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId].invisible = a; + gSprites[gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId].invisible = a; } void sub_8059BF4(void) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE)); + sub_805B980(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FIELD_MOVE)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 0); } void sub_8059C3C(u8 direction) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING)); + sub_805B980(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_FISHING)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFishingDirectionAnimNum(direction)); } void sub_8059C94(u8 direction) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); + sub_805B980(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_ACRO_BIKE)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetAcroWheelieDirectionAnimNum(direction)); SeekSpriteAnim(&gSprites[gPlayerAvatar.spriteId], 1); } void sub_8059D08(u8 direction) { - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); + sub_805B980(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_WATERING)); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], GetFaceDirectionAnimNum(direction)); } -static void sub_8059D60(struct MapObject *mapObject) +static void sub_8059D60(struct EventObject *eventObject) { s16 x; s16 y; u8 direction; - u8 metatileBehavior = mapObject->currentMetatileBehavior; + u8 metatileBehavior = eventObject->currentMetatileBehavior; for (x = 0, direction = DIR_SOUTH; x < 4; x++, direction++) { - if (sArrowWarpMetatileBehaviorChecks2[x](metatileBehavior) && direction == mapObject->movementDirection) + if (sArrowWarpMetatileBehaviorChecks2[x](metatileBehavior) && direction == eventObject->movementDirection) { - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; MoveCoords(direction, &x, &y); - sub_8126BC4(mapObject->warpArrowSpriteId, direction, x, y); + sub_8126BC4(eventObject->warpArrowSpriteId, direction, x, y); return; } } - objid_set_invisible(mapObject->warpArrowSpriteId); + objid_set_invisible(eventObject->warpArrowSpriteId); } /* Strength */ @@ -1222,12 +1222,12 @@ static void StartStrengthAnim(u8 a, u8 b) static void sub_8059E2C(u8 taskId) { while (gUnknown_0830FC88[gTasks[taskId].data[0]](&gTasks[taskId], - &gMapObjects[gPlayerAvatar.mapObjectId], - &gMapObjects[gTasks[taskId].data[1]])) + &gEventObjects[gPlayerAvatar.eventObjectId], + &gEventObjects[gTasks[taskId].data[1]])) ; } -u8 sub_8059E84(struct Task *task, struct MapObject *playerObject, struct MapObject *strengthObject) +u8 sub_8059E84(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject) { ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; @@ -1235,15 +1235,15 @@ u8 sub_8059E84(struct Task *task, struct MapObject *playerObject, struct MapObje return 0; } -u8 sub_8059EA4(struct Task *task, struct MapObject *playerObject, struct MapObject *strengthObject) +u8 sub_8059EA4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject) { - if (!FieldObjectIsMovementOverridden(playerObject) - && !FieldObjectIsMovementOverridden(strengthObject)) + if (!EventObjectIsMovementOverridden(playerObject) + && !EventObjectIsMovementOverridden(strengthObject)) { - FieldObjectClearHeldMovementIfFinished(playerObject); - FieldObjectClearHeldMovementIfFinished(strengthObject); - FieldObjectSetHeldMovement(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2])); - FieldObjectSetHeldMovement(strengthObject, GetWalkSlowMovementAction((u8)task->data[2])); + EventObjectClearHeldMovementIfFinished(playerObject); + EventObjectClearHeldMovementIfFinished(strengthObject); + EventObjectSetHeldMovement(playerObject, GetWalkInPlaceNormalMovementAction((u8)task->data[2])); + EventObjectSetHeldMovement(strengthObject, GetWalkSlowMovementAction((u8)task->data[2])); gFieldEffectArguments[0] = strengthObject->currentCoords.x; gFieldEffectArguments[1] = strengthObject->currentCoords.y; gFieldEffectArguments[2] = strengthObject->previousElevation; @@ -1255,13 +1255,13 @@ u8 sub_8059EA4(struct Task *task, struct MapObject *playerObject, struct MapObje return 0; } -u8 sub_8059F40(struct Task *task, struct MapObject *playerObject, struct MapObject *strengthObject) +u8 sub_8059F40(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject) { - if (FieldObjectCheckHeldMovementStatus(playerObject) - && FieldObjectCheckHeldMovementStatus(strengthObject)) + if (EventObjectCheckHeldMovementStatus(playerObject) + && EventObjectCheckHeldMovementStatus(strengthObject)) { - FieldObjectClearHeldMovementIfFinished(playerObject); - FieldObjectClearHeldMovementIfFinished(strengthObject); + EventObjectClearHeldMovementIfFinished(playerObject); + EventObjectClearHeldMovementIfFinished(strengthObject); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); DestroyTask(FindTaskIdByFunc(sub_8059E2C)); @@ -1280,18 +1280,18 @@ static void DoPlayerMatJump(void) static void DoPlayerAvatarSecretBaseMatJump(u8 taskId) { - while (sPlayerAvatarSecretBaseMatJump[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId])) + while (sPlayerAvatarSecretBaseMatJump[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])) ; } // because data[0] is used to call this, it can be inferred that there may have been multiple mat jump functions at one point, so the name for these groups of functions is appropriate in assuming the sole use of mat jump. -u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObject) +u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *eventObject) { gPlayerAvatar.preventStep = TRUE; - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { PlaySE(SE_DANSA); - FieldObjectSetHeldMovement(mapObject, GetJumpInPlaceMovementAction(mapObject->facingDirection)); + EventObjectSetHeldMovement(eventObject, GetJumpInPlaceMovementAction(eventObject->facingDirection)); task->data[1]++; if (task->data[1] > 1) { @@ -1316,29 +1316,29 @@ static void sub_805A06C(void) static void sub_805A08C(u8 taskId) { - while (gUnknown_0830FC98[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId])) + while (gUnknown_0830FC98[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])) ; } -u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject) +u8 sub_805A0D8(struct Task *task, struct EventObject *eventObject) { task->data[0]++; - task->data[1] = mapObject->movementDirection; + task->data[1] = eventObject->movementDirection; gPlayerAvatar.preventStep = TRUE; ScriptContext2_Enable(); PlaySE(SE_TK_WARPIN); return 1; } -u8 sub_805A100(struct Task *task, struct MapObject *mapObject) +u8 sub_805A100(struct Task *task, struct EventObject *eventObject) { u8 directions[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { u8 direction; - FieldObjectSetHeldMovement(mapObject, GetFaceDirectionMovementAction(direction = directions[mapObject->movementDirection - 1])); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(direction = directions[eventObject->movementDirection - 1])); if (direction == (u8)task->data[1]) task->data[2]++; task->data[0]++; @@ -1348,23 +1348,23 @@ u8 sub_805A100(struct Task *task, struct MapObject *mapObject) return 0; } -u8 sub_805A178(struct Task *task, struct MapObject *mapObject) +u8 sub_805A178(struct Task *task, struct EventObject *eventObject) { const u8 arr[] = {16, 16, 17, 18, 19}; - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { - FieldObjectSetHeldMovement(mapObject, arr[task->data[2]]); + EventObjectSetHeldMovement(eventObject, arr[task->data[2]]); task->data[0] = 1; } return 0; } -u8 sub_805A1B8(struct Task *task, struct MapObject *mapObject) +u8 sub_805A1B8(struct Task *task, struct EventObject *eventObject) { - if (FieldObjectClearHeldMovementIfFinished(mapObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { - FieldObjectSetHeldMovement(mapObject, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1]))); + EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1]))); ScriptContext2_Disable(); gPlayerAvatar.preventStep = FALSE; DestroyTask(FindTaskIdByFunc(sub_805A08C)); @@ -1394,29 +1394,29 @@ void sub_805A20C(u8 a) static void taskFF_0805D1D4(u8 taskId) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (FieldObjectIsMovementOverridden(playerMapObj)) + if (EventObjectIsMovementOverridden(playerEventObj)) { - if (!FieldObjectClearHeldMovementIfFinished(playerMapObj)) + if (!EventObjectClearHeldMovementIfFinished(playerEventObj)) return; } - sub_8127ED0(playerMapObj->fieldEffectSpriteId, 2); - FieldObjectSetHeldMovement(playerMapObj, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0])); + sub_8127ED0(playerEventObj->fieldEffectSpriteId, 2); + EventObjectSetHeldMovement(playerEventObj, GetJumpSpecialMovementAction((u8)gTasks[taskId].data[0])); gTasks[taskId].func = sub_805A2D0; } static void sub_805A2D0(u8 taskId) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (FieldObjectClearHeldMovementIfFinished(playerMapObj)) + if (EventObjectClearHeldMovementIfFinished(playerEventObj)) { - sub_805B980(playerMapObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); - FieldObjectSetHeldMovement(playerMapObj, GetFaceDirectionMovementAction(playerMapObj->facingDirection)); + sub_805B980(playerEventObj, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_NORMAL)); + EventObjectSetHeldMovement(playerEventObj, GetFaceDirectionMovementAction(playerEventObj->facingDirection)); gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - DestroySprite(&gSprites[playerMapObj->fieldEffectSpriteId]); + DestroySprite(&gSprites[playerEventObj->fieldEffectSpriteId]); DestroyTask(taskId); } } @@ -1486,17 +1486,17 @@ u8 Fishing1(struct Task *task) u8 Fishing2(struct Task *task) { - struct MapObject *playerMapObj; + struct EventObject *playerEventObj; const s16 arr1[] = {1, 1, 1}; const s16 arr2[] = {1, 3, 6}; task->tRoundsPlayed = 0; task->tMinRoundsRequired = arr1[task->tFishingRod] + (Random() % arr2[task->tFishingRod]); - task->tPlayerGfxId = gMapObjects[gPlayerAvatar.mapObjectId].graphicsId; - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectClearHeldMovementIfActive(playerMapObj); - playerMapObj->enableAnim = 1; - sub_8059C3C(playerMapObj->facingDirection); + task->tPlayerGfxId = gEventObjects[gPlayerAvatar.eventObjectId].graphicsId; + playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + EventObjectClearHeldMovementIfActive(playerEventObj); + playerEventObj->enableAnim = 1; + sub_8059C3C(playerEventObj->facingDirection); task->tStep++; return 0; } @@ -1648,12 +1648,12 @@ u8 Fishing11(struct Task *task) { if (Menu_UpdateWindowText()) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - sub_805B980(playerMapObj, task->tPlayerGfxId); - FieldObjectTurn(playerMapObj, playerMapObj->movementDirection); + sub_805B980(playerEventObj, task->tPlayerGfxId); + EventObjectTurn(playerEventObj, playerEventObj->movementDirection); if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId, 0, 0); + sub_8127F28(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 0, 0); gSprites[gPlayerAvatar.spriteId].pos2.x = 0; gSprites[gPlayerAvatar.spriteId].pos2.y = 0; Menu_EraseScreen(); @@ -1707,12 +1707,12 @@ u8 Fishing15(struct Task *task) sub_805A954(); if (gSprites[gPlayerAvatar.spriteId].animEnded) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - sub_805B980(playerMapObj, task->tPlayerGfxId); - FieldObjectTurn(playerMapObj, playerMapObj->movementDirection); + sub_805B980(playerEventObj, task->tPlayerGfxId); + EventObjectTurn(playerEventObj, playerEventObj->movementDirection); if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId, 0, 0); + sub_8127F28(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 0, 0); gSprites[gPlayerAvatar.spriteId].pos2.x = 0; gSprites[gPlayerAvatar.spriteId].pos2.y = 0; task->tStep++; @@ -1726,7 +1726,7 @@ u8 Fishing16(struct Task *task) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); Menu_EraseScreen(); sub_80BE97C(0); DestroyTask(FindTaskIdByFunc(Task_Fishing)); @@ -1770,7 +1770,7 @@ static void sub_805A954(void) if (animType == 10 || animType == 11) playerSprite->pos2.y = 8; if (gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) - sub_8127F28(gMapObjects[gPlayerAvatar.mapObjectId].fieldEffectSpriteId, 1, playerSprite->pos2.y); + sub_8127F28(gEventObjects[gPlayerAvatar.eventObjectId].fieldEffectSpriteId, 1, playerSprite->pos2.y); } #if DEBUG @@ -1786,8 +1786,8 @@ u8 debug_sub_805F2B0(u8 a) u8 debug_sub_805F2DC(u8 a) { if (a == 0) - PlayerFaceDirection(gMapObjects[gPlayerAvatar.mapObjectId].movementDirection); - else if (gMapObjects[gPlayerAvatar.mapObjectId].trackedByCamera && !CanCameraMoveInDirection(a)) + PlayerFaceDirection(gEventObjects[gPlayerAvatar.eventObjectId].movementDirection); + else if (gEventObjects[gPlayerAvatar.eventObjectId].trackedByCamera && !CanCameraMoveInDirection(a)) PlayerOnBikeCollide(a); else PlayerGoSpeed4(a); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 1d1ee53fb..cf67aa361 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -26,8 +26,8 @@ enum STEP_END = 0xFE, }; -const u32 gMapObjectPic_MovingBox[] = INCBIN_U32("graphics/map_objects/pics/misc/moving_box.4bpp"); -const u16 gMapObjectPalette19[] = INCBIN_U16("graphics/map_objects/palettes/19.gbapal"); +const u32 gEventObjectPic_MovingBox[] = INCBIN_U32("graphics/event_objects/pics/misc/moving_box.4bpp"); +const u16 gEventObjectPalette19[] = INCBIN_U16("graphics/event_objects/palettes/19.gbapal"); static const s8 gTruckCamera_HorizontalTable[] = { @@ -348,7 +348,7 @@ void Task_HandlePorthole(u8 taskId) void sub_80C78A0(void) { - u8 spriteId = AddPseudoFieldObject(0x8C, SpriteCallbackDummy, 112, 80, 0); + u8 spriteId = AddPseudoEventObject(0x8C, SpriteCallbackDummy, 112, 80, 0); gSprites[spriteId].coordOffsetEnabled = FALSE; @@ -365,7 +365,7 @@ void sub_80C78A0(void) void sub_80C791C(void) { sub_80C78A0(); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = TRUE; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; pal_fill_black(); CreateTask(Task_HandlePorthole, 80); ScriptContext2_Enable(); diff --git a/src/field_specials.c b/src/field_specials.c index 9972c954e..829a933bf 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -362,7 +362,7 @@ void SpawnBerryBlenderLinkPlayerSprites(void) if (myLinkPlayerNumber != i) { rivalAvatarGraphicsId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gLinkPlayers[i].gender); - SpawnSpecialFieldObjectParametrized(rivalAvatarGraphicsId, facingDirectionMovementTypes[j], 0xf0 - i, unknown_083F835C[j][0] + x + 7, unknown_083F835C[j][1] + y + 7, 0); + SpawnSpecialEventObjectParametrized(rivalAvatarGraphicsId, facingDirectionMovementTypes[j], 0xf0 - i, unknown_083F835C[j][0] + x + 7, unknown_083F835C[j][1] + y + 7, 0); j++; if (j == 4) { @@ -1122,7 +1122,7 @@ void sub_810E984(u8 taskId) gSpecialVar_Result = 1; gSpecialVar_0x8005 = gUnknown_0203925B; ShakeScreenInElevator(); - FieldObjectTurnByLocalIdAndMap(gSpecialVar_LastTalked, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, DIR_SOUTH); + EventObjectTurnByLocalIdAndMap(gSpecialVar_LastTalked, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, DIR_SOUTH); sub_810EEDC(); Menu_EraseScreen(); DestroyTask(taskId); @@ -1763,15 +1763,15 @@ void GlassWorkshopUpdateScrollIndicators(u8 newPos, u8 maxItems) void SpawnCameraDummy(void) { - u8 mapObjectId = SpawnSpecialFieldObjectParametrized(7, MOVEMENT_TYPE_FACE_DOWN, 0x7f, gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7, 3); - gMapObjects[mapObjectId].invisible = 1; - CameraObjectSetFollowedObjectId(gMapObjects[mapObjectId].spriteId); + u8 eventObjectId = SpawnSpecialEventObjectParametrized(7, MOVEMENT_TYPE_FACE_DOWN, 0x7f, gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7, 3); + gEventObjects[eventObjectId].invisible = 1; + CameraObjectSetFollowedObjectId(gEventObjects[eventObjectId].spriteId); } void RemoveCameraDummy(void) { CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId()); - RemoveFieldObjectByLocalIdAndMap(0x7f, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + RemoveEventObjectByLocalIdAndMap(0x7f, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } u8 GetPokeblockNameByMonNature(void) @@ -2040,9 +2040,9 @@ u16 ScriptGetPartyMonSpecies(void) return GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES2, NULL); } -void TryInitBattleTowerAwardManMapObject(void) +void TryInitBattleTowerAwardManEventObject(void) { - TryInitLocalFieldObject(6); + TryInitLocalEventObject(6); } u16 GetDaysUntilPacifidlogTMAvailable(void) diff --git a/src/fldeff_berrytree.c b/src/fldeff_berrytree.c index 7b7a454b3..8ff418ee6 100644 --- a/src/fldeff_berrytree.c +++ b/src/fldeff_berrytree.c @@ -15,26 +15,26 @@ static void Task_WateringBerryTreeAnim_0(u8 taskId) static void Task_WateringBerryTreeAnim_1(u8 taskId) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsMovementOverridden(playerMapObj) - || FieldObjectClearHeldMovementIfFinished(playerMapObj)) + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsMovementOverridden(playerEventObj) + || EventObjectClearHeldMovementIfFinished(playerEventObj)) { sub_8059D08(GetPlayerFacingDirection()); - FieldObjectSetHeldMovement(playerMapObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); + EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); gTasks[taskId].func = Task_WateringBerryTreeAnim_2; } } static void Task_WateringBerryTreeAnim_2(u8 taskId) { - struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearHeldMovementIfFinished(playerMapObj)) + struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectClearHeldMovementIfFinished(playerEventObj)) { s16 value = gTasks[taskId].data[1]++; if (value < 10) { - FieldObjectSetHeldMovement(playerMapObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); + EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); } else { diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index bea376645..ce580a65c 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -4,7 +4,7 @@ #include "event_object_movement.h" #include "field_player_avatar.h" #include "fieldmap.h" -#include "map_obj_lock.h" +#include "event_obj_lock.h" #include "metatile_behavior.h" #include "metatile_behaviors.h" #include "pokemon_menu.h" @@ -17,7 +17,7 @@ #include "trig.h" #include "ewram.h" #include "constants/field_effects.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "constants/songs.h" extern void (*gFieldCallback)(void); @@ -91,7 +91,7 @@ void Debug_SetUpFieldMove_Cut(void) u8 i, j; u8 metatile; - if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_CUTTABLE_TREE) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) { gLastFieldPokeMenuOpened = 0; FieldCallback_CutTree(); @@ -130,7 +130,7 @@ bool8 SetUpFieldMove_Cut(void) u8 i, j; u8 tileBehavior; - if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_CUTTABLE_TREE) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) { // Standing in front of cuttable tree. gFieldCallback = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/fldeff_decoration.c b/src/fldeff_decoration.c index 18178d07c..ea0eb96c5 100644 --- a/src/fldeff_decoration.c +++ b/src/fldeff_decoration.c @@ -236,8 +236,8 @@ void SpriteCB_YellowCave4Sparkle(struct Sprite *sprite) void DoYellowCave4Sparkle(void) { - s16 x = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.x; - s16 y = gMapObjects[gPlayerAvatar.mapObjectId].currentCoords.y; + s16 x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; + s16 y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; u8 spriteId; sub_8060470(&x, &y, 8, 4); diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 9f1f3a670..0b66ed0d2 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -9,7 +9,7 @@ #include "task.h" #include "text.h" #include "constants/field_effects.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" static void sub_811AA18(void); static void sub_811AA38(void); @@ -31,7 +31,7 @@ void debug_sub_8130318(void) gSpecialVar_Result = 0; sub_811AA38(); } - else if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) + else if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) { gLastFieldPokeMenuOpened = 0; gSpecialVar_Result = 0; @@ -54,7 +54,7 @@ bool8 SetUpFieldMove_Strength(void) } else { - if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_PUSHABLE_BOULDER) != TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_PUSHABLE_BOULDER) != TRUE) return 0; gSpecialVar_Result = gLastFieldPokeMenuOpened; gFieldCallback = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/item_menu.c b/src/item_menu.c index fa2ac3a5d..78c342e90 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -3356,7 +3356,7 @@ bool32 sub_80A6D1C(void) u8 taskId; ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); sub_80594C0(); sub_80597F4(); gSpecialVar_ItemId = gSaveBlock1.registeredItem; diff --git a/src/item_use.c b/src/item_use.c index d62a7ae10..5dfaa942d 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -17,7 +17,7 @@ #include "constants/items.h" #include "mail.h" #include "main.h" -#include "map_obj_lock.h" +#include "event_obj_lock.h" #include "menu.h" #include "menu_helpers.h" #include "metatile_behavior.h" @@ -688,15 +688,15 @@ u8 GetPlayerDirectionTowardsHiddenItem(s16 itemX, s16 itemY) void SetPlayerDirectionTowardsItem(u8 direction) { - FieldObjectClearHeldMovementIfFinished(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - FieldObjectClearHeldMovement(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - UnfreezeMapObject(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); PlayerTurnInPlace(direction); } void DisplayItemRespondingMessageAndExitItemfinder(u8 taskId) { - if (FieldObjectCheckHeldMovementStatus(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gOtherText_ItemfinderResponding, ExitItemfinder, 0); } @@ -704,7 +704,7 @@ void RotatePlayerAndExitItemfinder(u8 taskId) { s16 *data = gTasks[taskId].data; - if (FieldObjectCheckHeldMovementStatus(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE || data[2] == FALSE) { SetPlayerDirectionTowardsItem(gItemFinderDirections[data[5]]); diff --git a/src/load_save.c b/src/load_save.c index 8424b1121..7960a42eb 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -81,32 +81,32 @@ void LoadPlayerParty(void) gPlayerParty[i] = gSaveBlock1.playerParty[i]; } -static void SaveMapObjects(void) +static void SaveEventObjects(void) { int i; for (i = 0; i < 16; i++) - gSaveBlock1.mapObjects[i] = gMapObjects[i]; + gSaveBlock1.eventObjects[i] = gEventObjects[i]; } -static void LoadMapObjects(void) +static void LoadEventObjects(void) { int i; for (i = 0; i < 16; i++) - gMapObjects[i] = gSaveBlock1.mapObjects[i]; + gEventObjects[i] = gSaveBlock1.eventObjects[i]; } void SaveSerializedGame(void) { SavePlayerParty(); - SaveMapObjects(); + SaveEventObjects(); } void LoadSerializedGame(void) { LoadPlayerParty(); - LoadMapObjects(); + LoadEventObjects(); } void LoadPlayerBag(void) diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c deleted file mode 100644 index 7b3b9b3e6..000000000 --- a/src/map_obj_lock.c +++ /dev/null @@ -1,117 +0,0 @@ -#include "global.h" -#include "map_obj_lock.h" -#include "event_object_movement.h" -#include "field_player_avatar.h" -#include "script_movement.h" -#include "task.h" - -extern u16 gSpecialVar_Facing; - -bool8 walkrun_is_standing_still(void) -{ - if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) - return FALSE; - else - return TRUE; -} - -void sub_8064CDC(u8 taskId) -{ - if (walkrun_is_standing_still()) - { - sub_80594C0(); - DestroyTask(taskId); - } -} - -bool8 sub_8064CFC(void) -{ - if (FuncIsActiveTask(sub_8064CDC)) - { - return FALSE; - } - else - { - sub_80597F4(); - return TRUE; - } -} - -void ScriptFreezeMapObjects(void) -{ - FreezeMapObjects(); - CreateTask(sub_8064CDC, 80); -} - -void sub_8064D38(u8 taskId) -{ - struct Task *task = &gTasks[taskId]; - - if (!task->data[0] && walkrun_is_standing_still() == TRUE) - { - sub_80594C0(); - task->data[0] = 1; - } - if (!task->data[1] && !gMapObjects[gSelectedMapObject].singleMovementActive) - { - FreezeMapObject(&gMapObjects[gSelectedMapObject]); - task->data[1] = 1; - } - if (task->data[0] && task->data[1]) - DestroyTask(taskId); -} - -bool8 sub_8064DB4(void) -{ - if (FuncIsActiveTask(sub_8064D38)) - { - return FALSE; - } - else - { - sub_80597F4(); - return TRUE; - } -} - -void LockSelectedMapObject(void) -{ - u8 taskId; - FreezeMapObjectsExceptOne(gSelectedMapObject); - taskId = CreateTask(sub_8064D38, 80); - if (!gMapObjects[gSelectedMapObject].singleMovementActive) - { - FreezeMapObject(&gMapObjects[gSelectedMapObject]); - gTasks[taskId].data[1] = 1; - } -} - -void sub_8064E2C(void) -{ - u8 objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); - sub_80A2178(); - UnfreezeMapObjects(); -} - -void unref_sub_8064E5C(void) -{ - u8 objectId; - - if (gMapObjects[gSelectedMapObject].active) - FieldObjectClearHeldMovementIfFinished(&gMapObjects[gSelectedMapObject]); - objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); - sub_80A2178(); - UnfreezeMapObjects(); -} - -void sub_8064EAC(void) -{ - FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject], gSpecialVar_Facing); -} - -void sub_8064ED4(void) -{ - FieldObjectClearHeldMovementIfActive(&gMapObjects[gSelectedMapObject]); -} diff --git a/src/mauville_man.c b/src/mauville_man.c index ac9a02ce9..b3e13ef64 100644 --- a/src/mauville_man.c +++ b/src/mauville_man.c @@ -10,7 +10,7 @@ #include "overworld.h" #include "random.h" #include "script.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "constants/songs.h" #include "sound.h" #include "string_util.h" @@ -806,7 +806,7 @@ static void Task_BardSong(u8 taskId) void sub_80F83D0(void) { - VarSet(VAR_OBJ_GFX_ID_0, MAP_OBJ_GFX_BARD + GetCurrentMauvilleOldMan()); + VarSet(VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_BARD + GetCurrentMauvilleOldMan()); } struct Story diff --git a/src/menu.c b/src/menu.c index 9abcf66d1..ba3199d5a 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1,7 +1,7 @@ #include "global.h" #include "menu.h" #include "main.h" -#include "map_obj_lock.h" +#include "event_obj_lock.h" #include "menu_cursor.h" #include "script.h" #include "constants/songs.h" diff --git a/src/naming_screen.c b/src/naming_screen.c index 60799bacb..afc17fab3 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1302,7 +1302,7 @@ static void sub_80B6E68(void) u8 spriteId; rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, namingScreenDataPtr->speciesOrPlayerGender); - spriteId = AddPseudoFieldObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x18, 0); + spriteId = AddPseudoEventObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x18, 0); gSprites[spriteId].oam.priority = 3; StartSpriteAnim(&gSprites[spriteId], 4); } diff --git a/src/overworld.c b/src/overworld.c index ec1ab8e28..c27ac999f 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -97,7 +97,7 @@ EWRAM_DATA struct WarpData gUnknown_02029808 = {0}; EWRAM_DATA struct UnkPlayerStruct gUnknown_02029810 = {0}; EWRAM_DATA static u16 sAmbientCrySpecies = 0; EWRAM_DATA static bool8 sIsAmbientCryWaterMon = FALSE; -EWRAM_DATA struct LinkPlayerMapObject gLinkPlayerMapObjects[4] = {0}; +EWRAM_DATA struct LinkPlayerEventObject gLinkPlayerEventObjects[4] = {0}; static u8 gUnknown_03000580[4]; static u16 (*gUnknown_03000584)(u32); @@ -150,22 +150,22 @@ const struct ScanlineEffectParams gUnknown_08216694 = 0, }; -static u8 sub_8055C68(struct LinkPlayerMapObject *, struct MapObject *, u8); -static u8 sub_8055C88(struct LinkPlayerMapObject *, struct MapObject *, u8); -static u8 sub_8055C8C(struct LinkPlayerMapObject *, struct MapObject *, u8); +static u8 sub_8055C68(struct LinkPlayerEventObject *, struct EventObject *, u8); +static u8 sub_8055C88(struct LinkPlayerEventObject *, struct EventObject *, u8); +static u8 sub_8055C8C(struct LinkPlayerEventObject *, struct EventObject *, u8); -static u8 (*const gUnknown_082166A0[])(struct LinkPlayerMapObject *, struct MapObject *, u8) = +static u8 (*const gUnknown_082166A0[])(struct LinkPlayerEventObject *, struct EventObject *, u8) = { sub_8055C68, sub_8055C88, sub_8055C8C, }; -static u8 sub_8055CAC(struct LinkPlayerMapObject *, struct MapObject *, u8); -static u8 sub_8055CB0(struct LinkPlayerMapObject *, struct MapObject *, u8); -static u8 sub_8055D18(struct LinkPlayerMapObject *, struct MapObject *, u8); +static u8 sub_8055CAC(struct LinkPlayerEventObject *, struct EventObject *, u8); +static u8 sub_8055CB0(struct LinkPlayerEventObject *, struct EventObject *, u8); +static u8 sub_8055D18(struct LinkPlayerEventObject *, struct EventObject *, u8); -static u8 (*const gUnknown_082166AC[])(struct LinkPlayerMapObject *, struct MapObject *, u8) = +static u8 (*const gUnknown_082166AC[])(struct LinkPlayerEventObject *, struct EventObject *, u8) = { sub_8055CAC, sub_8055CB0, @@ -180,10 +180,10 @@ static u8 (*const gUnknown_082166AC[])(struct LinkPlayerMapObject *, struct MapO sub_8055D18, }; -static void sub_8055D30(struct LinkPlayerMapObject *, struct MapObject *); -static void sub_8055D38(struct LinkPlayerMapObject *, struct MapObject *); +static void sub_8055D30(struct LinkPlayerEventObject *, struct EventObject *); +static void sub_8055D38(struct LinkPlayerEventObject *, struct EventObject *); -static void (*const gUnknown_082166D8[])(struct LinkPlayerMapObject *, struct MapObject *) = +static void (*const gUnknown_082166D8[])(struct LinkPlayerEventObject *, struct EventObject *) = { sub_8055D30, sub_8055D38, @@ -283,51 +283,51 @@ void SetGameStat(u8 index, u32 value) gSaveBlock1.gameStats[index] = value; } -void LoadMapObjTemplatesFromHeader(void) +void LoadEventObjTemplatesFromHeader(void) { - // Clear map object templates - CpuFill32(0, gSaveBlock1.mapObjectTemplates, sizeof(gSaveBlock1.mapObjectTemplates)); + // Clear event object templates + CpuFill32(0, gSaveBlock1.eventObjectTemplates, sizeof(gSaveBlock1.eventObjectTemplates)); // Copy map header events to save block - CpuCopy32(gMapHeader.events->mapObjects, - gSaveBlock1.mapObjectTemplates, - gMapHeader.events->mapObjectCount * sizeof(struct MapObjectTemplate)); + CpuCopy32(gMapHeader.events->eventObjects, + gSaveBlock1.eventObjectTemplates, + gMapHeader.events->eventObjectCount * sizeof(struct EventObjectTemplate)); } -static void LoadSaveblockMapObjScripts(void) +static void LoadSaveblockEventObjScripts(void) { - struct MapObjectTemplate *mapObjectTemplates = gSaveBlock1.mapObjectTemplates; + struct EventObjectTemplate *eventObjectTemplates = gSaveBlock1.eventObjectTemplates; s32 i; for (i = 0; i < 64; i++) - mapObjectTemplates[i].script = gMapHeader.events->mapObjects[i].script; + eventObjectTemplates[i].script = gMapHeader.events->eventObjects[i].script; } -void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y) +void Overworld_SetEventObjTemplateCoords(u8 localId, s16 x, s16 y) { s32 i; for (i = 0; i < 64; i++) { - struct MapObjectTemplate *mapObjectTemplate = &gSaveBlock1.mapObjectTemplates[i]; - if (mapObjectTemplate->localId == localId) + struct EventObjectTemplate *eventObjectTemplate = &gSaveBlock1.eventObjectTemplates[i]; + if (eventObjectTemplate->localId == localId) { - mapObjectTemplate->x = x; - mapObjectTemplate->y = y; + eventObjectTemplate->x = x; + eventObjectTemplate->y = y; return; } } } -void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType) +void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType) { s32 i; for (i = 0; i < 64; i++) { - struct MapObjectTemplate *mapObjectTemplate = &gSaveBlock1.mapObjectTemplates[i]; - if (mapObjectTemplate->localId == localId) + struct EventObjectTemplate *eventObjectTemplate = &gSaveBlock1.eventObjectTemplates[i]; + if (eventObjectTemplate->localId == localId) { - mapObjectTemplate->movementType = movementType; + eventObjectTemplate->movementType = movementType; return; } } @@ -596,7 +596,7 @@ void sub_80538F0(u8 mapGroup, u8 mapNum) sub_8053F0C(); ApplyCurrentWarp(); set_current_map_header_from_sav1_save_old_name(); - LoadMapObjTemplatesFromHeader(); + LoadEventObjTemplatesFromHeader(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); prev_quest_postbuffer_cursor_backup_reset(); @@ -629,7 +629,7 @@ void sub_8053994(u32 a1) bool8 v3; set_current_map_header_from_sav1_save_old_name(); - LoadMapObjTemplatesFromHeader(); + LoadEventObjTemplatesFromHeader(); v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType); v3 = Overworld_MapTypeIsIndoors(gMapHeader.mapType); ClearTempFieldEventData(); @@ -1460,8 +1460,8 @@ void CB2_ContinueSavedGame(void) #endif ResetSafariZoneFlag_(); LoadSaveblockMapHeader(); - LoadSaveblockMapObjScripts(); - UnfreezeMapObjects(); + LoadSaveblockEventObjScripts(); + UnfreezeEventObjects(); DoTimeBasedEvents(); sub_805308C(); sub_8055FC0(); @@ -1825,7 +1825,7 @@ void sub_8054D90(void) gUnknown_0300489C = 0; gUnknown_03004898 = 0; sub_805AA98(); - TrySpawnFieldObjects(0, 0); + TrySpawnEventObjects(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -1841,7 +1841,7 @@ void mli4_mapscripts_and_other(void) InitPlayerAvatar(x, y, player->player_field_1, gSaveBlock2.playerGender); SetPlayerAvatarTransitionFlags(player->player_field_0); player_avatar_init_params_reset(); - TrySpawnFieldObjects(0, 0); + TrySpawnEventObjects(0, 0); ResetBerryTreeSparkleFlags(); mapheader_run_first_tag4_script_list_match(); } @@ -1854,7 +1854,7 @@ void sub_8054E20(void) void sub_8054E34(void) { - gMapObjects[gPlayerAvatar.mapObjectId].trackedByCamera = 1; + gEventObjects[gPlayerAvatar.eventObjectId].trackedByCamera = 1; InitCameraUpdateCallback(gPlayerAvatar.spriteId); } @@ -1885,7 +1885,7 @@ void sub_8054EC8(void) for (i = 0; i < gFieldLinkPlayerCount; i++) { - SpawnLinkPlayerMapObject(i, i + x, y, gLinkPlayers[i].gender); + SpawnLinkPlayerEventObject(i, i + x, y, gLinkPlayers[i].gender); CreateLinkPlayerSprite(i); } @@ -2273,7 +2273,7 @@ void sub_80555B0(int linkPlayerId, int a2, struct UnkStruct_8054FF8 *a3) a3->a = linkPlayerId; a3->b = (linkPlayerId == a2) ? 1 : 0; - a3->c = gLinkPlayerMapObjects[linkPlayerId].mode; + a3->c = gLinkPlayerEventObjects[linkPlayerId].mode; a3->d = sub_8055B30(linkPlayerId); sub_8055B08(linkPlayerId, &x, &y); a3->sub.x = x; @@ -2475,109 +2475,109 @@ bool32 sub_8055940(void) return TRUE; } -void ClearLinkPlayerMapObject(struct LinkPlayerMapObject *linkPlayerMapObj) +void ClearLinkPlayerEventObject(struct LinkPlayerEventObject *linkPlayerEventObj) { - memset(linkPlayerMapObj, 0, sizeof(struct LinkPlayerMapObject)); + memset(linkPlayerEventObj, 0, sizeof(struct LinkPlayerEventObject)); } -void ClearLinkPlayerMapObjects(void) +void ClearLinkPlayerEventObjects(void) { - memset(gLinkPlayerMapObjects, 0, sizeof(gLinkPlayerMapObjects)); + memset(gLinkPlayerEventObjects, 0, sizeof(gLinkPlayerEventObjects)); } -static void ClearMapObject(struct MapObject *mapObj) +static void ClearEventObject(struct EventObject *eventObj) { - memset(mapObj, 0, sizeof(struct MapObject)); + memset(eventObj, 0, sizeof(struct EventObject)); } -void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) +void SpawnLinkPlayerEventObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) { - u8 mapObjId = GetFirstInactiveMapObjectId(); - struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId]; - struct MapObject *mapObj = &gMapObjects[mapObjId]; + u8 eventObjId = GetFirstInactiveEventObjectId(); + struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; + struct EventObject *eventObj = &gEventObjects[eventObjId]; - ClearLinkPlayerMapObject(linkPlayerMapObj); - ClearMapObject(mapObj); + ClearLinkPlayerEventObject(linkPlayerEventObj); + ClearEventObject(eventObj); - linkPlayerMapObj->active = 1; - linkPlayerMapObj->linkPlayerId = linkPlayerId; - linkPlayerMapObj->mapObjId = mapObjId; - linkPlayerMapObj->mode = 0; + linkPlayerEventObj->active = 1; + linkPlayerEventObj->linkPlayerId = linkPlayerId; + linkPlayerEventObj->eventObjId = eventObjId; + linkPlayerEventObj->mode = 0; - mapObj->active = 1; - mapObj->singleMovementActive = a4; - mapObj->range.as_byte = 2; - mapObj->spriteId = 64; + eventObj->active = 1; + eventObj->singleMovementActive = a4; + eventObj->range.as_byte = 2; + eventObj->spriteId = 64; - InitLinkPlayerMapObjectPos(mapObj, x, y); + InitLinkPlayerEventObjectPos(eventObj, x, y); } -void InitLinkPlayerMapObjectPos(struct MapObject *mapObj, s16 x, s16 y) +void InitLinkPlayerEventObjectPos(struct EventObject *eventObj, s16 x, s16 y) { - mapObj->currentCoords.x = x; - mapObj->currentCoords.y = y; - mapObj->previousCoords.x = x; - mapObj->previousCoords.y = y; - sub_80603CC(x, y, &mapObj->initialCoords.x, &mapObj->initialCoords.y); - mapObj->initialCoords.x += 8; - FieldObjectUpdateZCoord(mapObj); + eventObj->currentCoords.x = x; + eventObj->currentCoords.y = y; + eventObj->previousCoords.x = x; + eventObj->previousCoords.y = y; + sub_80603CC(x, y, &eventObj->initialCoords.x, &eventObj->initialCoords.y); + eventObj->initialCoords.x += 8; + EventObjectUpdateZCoord(eventObj); } void unref_sub_8055A6C(u8 linkPlayerId, u8 a2) { - if (gLinkPlayerMapObjects[linkPlayerId].active) + if (gLinkPlayerEventObjects[linkPlayerId].active) { - u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; - mapObj->range.as_byte = a2; + u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + eventObj->range.as_byte = a2; } } void unref_sub_8055A9C(u8 linkPlayerId) { - struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId]; - u8 mapObjId = linkPlayerMapObj->mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; - if (mapObj->spriteId != 64 ) - DestroySprite(&gSprites[mapObj->spriteId]); - linkPlayerMapObj->active = 0; - mapObj->active = 0; + struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; + u8 eventObjId = linkPlayerEventObj->eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + if (eventObj->spriteId != 64 ) + DestroySprite(&gSprites[eventObj->spriteId]); + linkPlayerEventObj->active = 0; + eventObj->active = 0; } u8 sub_8055AE8(u8 linkPlayerId) { - u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; - return mapObj->spriteId; + u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + return eventObj->spriteId; } void sub_8055B08(u8 linkPlayerId, u16 *x, u16 *y) { - u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; - *x = mapObj->currentCoords.x; - *y = mapObj->currentCoords.y; + u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + *x = eventObj->currentCoords.x; + *y = eventObj->currentCoords.y; } u8 sub_8055B30(u8 linkPlayerId) { - u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; - return mapObj->range.as_byte; + u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + return eventObj->range.as_byte; } u8 sub_8055B50(u8 linkPlayerId) { - u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; - return mapObj->currentElevation; + u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + return eventObj->currentElevation; } s32 unref_sub_8055B74(u8 linkPlayerId) { - u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; - return 16 - (s8)mapObj->directionSequenceIndex; + u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + return 16 - (s8)eventObj->directionSequenceIndex; } u8 GetLinkPlayerIdAt(s16 x, s16 y) @@ -2585,11 +2585,11 @@ u8 GetLinkPlayerIdAt(s16 x, s16 y) u8 i; for (i = 0; i < 4; i++) { - if (gLinkPlayerMapObjects[i].active - && (gLinkPlayerMapObjects[i].mode == 0 || gLinkPlayerMapObjects[i].mode == 2)) + if (gLinkPlayerEventObjects[i].active + && (gLinkPlayerEventObjects[i].mode == 0 || gLinkPlayerEventObjects[i].mode == 2)) { - struct MapObject *mapObj = &gMapObjects[gLinkPlayerMapObjects[i].mapObjId]; - if (mapObj->currentCoords.x == x && mapObj->currentCoords.y == y) + struct EventObject *eventObj = &gEventObjects[gLinkPlayerEventObjects[i].eventObjId]; + if (eventObj->currentCoords.x == x && eventObj->currentCoords.y == y) return i; } } @@ -2598,79 +2598,79 @@ u8 GetLinkPlayerIdAt(s16 x, s16 y) void sub_8055BFC(u8 linkPlayerId, u8 a2) { - struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId]; - u8 mapObjId = linkPlayerMapObj->mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; + struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; + u8 eventObjId = linkPlayerEventObj->eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; - if (linkPlayerMapObj->active) + if (linkPlayerEventObj->active) { if (a2 > 10) - mapObj->triggerGroundEffectsOnMove = 1; + eventObj->triggerGroundEffectsOnMove = 1; else - gUnknown_082166D8[gUnknown_082166A0[linkPlayerMapObj->mode](linkPlayerMapObj, mapObj, a2)](linkPlayerMapObj, mapObj); + gUnknown_082166D8[gUnknown_082166A0[linkPlayerEventObj->mode](linkPlayerEventObj, eventObj, a2)](linkPlayerEventObj, eventObj); } } -static u8 sub_8055C68(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3) +static u8 sub_8055C68(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) { - return gUnknown_082166AC[a3](linkPlayerMapObj, mapObj, a3); + return gUnknown_082166AC[a3](linkPlayerEventObj, eventObj, a3); } -static u8 sub_8055C88(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3) +static u8 sub_8055C88(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) { return 1; } -static u8 sub_8055C8C(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3) +static u8 sub_8055C8C(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) { - return gUnknown_082166AC[a3](linkPlayerMapObj, mapObj, a3); + return gUnknown_082166AC[a3](linkPlayerEventObj, eventObj, a3); } -static u8 sub_8055CAC(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3) +static u8 sub_8055CAC(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) { return 0; } -static u8 sub_8055CB0(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3) +static u8 sub_8055CB0(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) { s16 x, y; - mapObj->range.as_byte = npc_something3(a3, mapObj->range.as_byte); - FieldObjectMoveDestCoords(mapObj, mapObj->range.as_byte, &x, &y); + eventObj->range.as_byte = npc_something3(a3, eventObj->range.as_byte); + EventObjectMoveDestCoords(eventObj, eventObj->range.as_byte, &x, &y); - if (LinkPlayerDetectCollision(linkPlayerMapObj->mapObjId, mapObj->range.as_byte, x, y)) + if (LinkPlayerDetectCollision(linkPlayerEventObj->eventObjId, eventObj->range.as_byte, x, y)) { return 0; } else { - mapObj->directionSequenceIndex = 16; - ShiftMapObjectCoords(mapObj, x, y); - FieldObjectUpdateZCoord(mapObj); + eventObj->directionSequenceIndex = 16; + ShiftEventObjectCoords(eventObj, x, y); + EventObjectUpdateZCoord(eventObj); return 1; } } -static u8 sub_8055D18(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3) +static u8 sub_8055D18(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj, u8 a3) { - mapObj->range.as_byte = npc_something3(a3, mapObj->range.as_byte); + eventObj->range.as_byte = npc_something3(a3, eventObj->range.as_byte); return 0; } -static void sub_8055D30(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj) +static void sub_8055D30(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj) { - linkPlayerMapObj->mode = 0; + linkPlayerEventObj->mode = 0; } -static void sub_8055D38(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj) +static void sub_8055D38(struct LinkPlayerEventObject *linkPlayerEventObj, struct EventObject *eventObj) { - mapObj->directionSequenceIndex--; - linkPlayerMapObj->mode = 1; - MoveCoords(mapObj->range.as_byte, &mapObj->initialCoords.x, &mapObj->initialCoords.y); - if (!mapObj->directionSequenceIndex) + eventObj->directionSequenceIndex--; + linkPlayerEventObj->mode = 1; + MoveCoords(eventObj->range.as_byte, &eventObj->initialCoords.x, &eventObj->initialCoords.y); + if (!eventObj->directionSequenceIndex) { - ShiftStillMapObjectCoords(mapObj); - linkPlayerMapObj->mode = 2; + ShiftStillEventObjectCoords(eventObj); + linkPlayerEventObj->mode = 2; } } @@ -2694,15 +2694,15 @@ u8 npc_something3(u8 a1, u8 a2) return a2; } -u8 LinkPlayerDetectCollision(u8 selfMapObjId, u8 a2, s16 x, s16 y) +u8 LinkPlayerDetectCollision(u8 selfEventObjId, u8 a2, s16 x, s16 y) { u8 i; for (i = 0; i < 16; i++) { - if (i != selfMapObjId) + if (i != selfEventObjId) { - if ((gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) - || (gMapObjects[i].previousCoords.x == x && gMapObjects[i].previousCoords.y == y)) + if ((gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y) + || (gEventObjects[i].previousCoords.x == x && gEventObjects[i].previousCoords.y == y)) { return 1; } @@ -2713,36 +2713,36 @@ u8 LinkPlayerDetectCollision(u8 selfMapObjId, u8 a2, s16 x, s16 y) void CreateLinkPlayerSprite(u8 linkPlayerId) { - struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[linkPlayerId]; - u8 mapObjId = linkPlayerMapObj->mapObjId; - struct MapObject *mapObj = &gMapObjects[mapObjId]; + struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; + u8 eventObjId = linkPlayerEventObj->eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; struct Sprite *sprite; - if (linkPlayerMapObj->active) + if (linkPlayerEventObj->active) { - u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, mapObj->singleMovementActive); - mapObj->spriteId = AddPseudoFieldObject(val, SpriteCB_LinkPlayer, 0, 0, 0); - sprite = &gSprites[mapObj->spriteId]; + u8 val = GetRivalAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, eventObj->singleMovementActive); + eventObj->spriteId = AddPseudoEventObject(val, SpriteCB_LinkPlayer, 0, 0, 0); + sprite = &gSprites[eventObj->spriteId]; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = linkPlayerId; - mapObj->triggerGroundEffectsOnMove = 0; + eventObj->triggerGroundEffectsOnMove = 0; } } void SpriteCB_LinkPlayer(struct Sprite *sprite) { - struct LinkPlayerMapObject *linkPlayerMapObj = &gLinkPlayerMapObjects[sprite->data[0]]; - struct MapObject *mapObj = &gMapObjects[linkPlayerMapObj->mapObjId]; - sprite->pos1.x = mapObj->initialCoords.x; - sprite->pos1.y = mapObj->initialCoords.y; - SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); - sprite->oam.priority = ZCoordToPriority(mapObj->previousElevation); - if (!linkPlayerMapObj->mode) - StartSpriteAnim(sprite, GetFaceDirectionAnimNum(mapObj->range.as_byte)); + struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[sprite->data[0]]; + struct EventObject *eventObj = &gEventObjects[linkPlayerEventObj->eventObjId]; + sprite->pos1.x = eventObj->initialCoords.x; + sprite->pos1.y = eventObj->initialCoords.y; + SetObjectSubpriorityByZCoord(eventObj->previousElevation, sprite, 1); + sprite->oam.priority = ZCoordToPriority(eventObj->previousElevation); + if (!linkPlayerEventObj->mode) + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObj->range.as_byte)); else - StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(mapObj->range.as_byte)); - UpdateFieldSpriteVisibility(sprite, 0); - if (mapObj->triggerGroundEffectsOnMove) + StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(eventObj->range.as_byte)); + UpdateEventObjectSpriteVisibility(sprite, 0); + if (eventObj->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); sprite->data[7]++; diff --git a/src/rom6.c b/src/rom6.c index 3a31f3145..7fcd9808a 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -1,5 +1,5 @@ #include "global.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "constants/songs.h" #include "rom6.h" #include "braille_puzzles.h" @@ -34,18 +34,18 @@ static void sub_810B634(void); bool8 SetLastTalkedObjectInFrontOfPlayer(u8 graphicsId) { - u8 mapObjId; + u8 eventObjId; GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); gPlayerFacingPosition.height = PlayerGetZCoord(); - mapObjId = GetFieldObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); - if (gMapObjects[mapObjId].graphicsId != graphicsId) + eventObjId = GetEventObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); + if (gEventObjects[eventObjId].graphicsId != graphicsId) { return FALSE; } else { - gSpecialVar_LastTalked = gMapObjects[mapObjId].localId; + gSpecialVar_LastTalked = gEventObjects[eventObjId].localId; return TRUE; } } @@ -58,13 +58,13 @@ u8 oei_task_add(void) static void task08_080C9820(u8 taskId) { - u8 mapObjId; + u8 eventObjId; ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; - mapObjId = gPlayerAvatar.mapObjectId; - if (!FieldObjectIsMovementOverridden(&gMapObjects[mapObjId]) - || FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId])) + eventObjId = gPlayerAvatar.eventObjectId; + if (!EventObjectIsMovementOverridden(&gEventObjects[eventObjId]) + || EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId])) { if (gMapHeader.mapType == MAP_TYPE_UNDERWATER) { @@ -74,7 +74,7 @@ static void task08_080C9820(u8 taskId) else { sub_8059BF4(); - FieldObjectSetHeldMovement(&gMapObjects[mapObjId], 0x39); + EventObjectSetHeldMovement(&gEventObjects[eventObjId], 0x39); gTasks[taskId].func = sub_810B3DC; } } @@ -82,7 +82,7 @@ static void task08_080C9820(u8 taskId) static void sub_810B3DC(u8 taskId) { - if (FieldObjectCheckHeldMovementStatus(&gMapObjects[gPlayerAvatar.mapObjectId]) == TRUE) + if (EventObjectCheckHeldMovementStatus(&gEventObjects[gPlayerAvatar.eventObjectId]) == TRUE) { FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); gTasks[taskId].func = sub_810B428; @@ -102,7 +102,7 @@ static void sub_810B428(u8 taskId) gFieldEffectArguments[2] = 2; if (gFieldEffectArguments[1] == 4) gFieldEffectArguments[2] = 3; - sub_805B980(&gMapObjects[gPlayerAvatar.mapObjectId], GetPlayerAvatarGraphicsIdByCurrentState()); + sub_805B980(&gEventObjects[gPlayerAvatar.eventObjectId], GetPlayerAvatarGraphicsIdByCurrentState()); StartSpriteAnim(&gSprites[gPlayerAvatar.spriteId], gFieldEffectArguments[2]); FieldEffectActiveListRemove(6); gTasks[taskId].func = sub_810B4CC; @@ -121,7 +121,7 @@ static void sub_810B4CC(u8 taskId) #if DEBUG void debug_sub_8120968(void) { - if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_BREAKABLE_ROCK) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_BREAKABLE_ROCK) == TRUE) { gLastFieldPokeMenuOpened = 0; sub_810B53C(); @@ -135,7 +135,7 @@ void debug_sub_8120968(void) bool8 SetUpFieldMove_RockSmash(void) { - if (SetLastTalkedObjectInFrontOfPlayer(MAP_OBJ_GFX_BREAKABLE_ROCK) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_BREAKABLE_ROCK) == TRUE) { gFieldCallback = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_810B53C; diff --git a/src/scrcmd.c b/src/scrcmd.c index 9ab124601..3ad433fb7 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -22,7 +22,7 @@ #include "fieldmap.h" #include "item.h" #include "main.h" -#include "map_obj_lock.h" +#include "event_obj_lock.h" #include "menu.h" #include "money.h" #include "mystery_event_script.h" @@ -1012,7 +1012,7 @@ bool8 ScrCmd_removeobject(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - RemoveFieldObjectByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + RemoveEventObjectByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); return FALSE; } @@ -1022,7 +1022,7 @@ bool8 ScrCmd_removeobject_at(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); - RemoveFieldObjectByLocalIdAndMap(objectId, mapNum, mapGroup); + RemoveEventObjectByLocalIdAndMap(objectId, mapNum, mapGroup); return FALSE; } @@ -1060,7 +1060,7 @@ bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetMapObjTemplateCoords(localId, x, y); + Overworld_SetEventObjTemplateCoords(localId, x, y); return FALSE; } @@ -1068,7 +1068,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx) { u16 localId = VarGet(ScriptReadHalfword(ctx)); - TryOverrideTemplateCoordsForMapObject(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + TryOverrideTemplateCoordsForEventObject(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); return FALSE; } @@ -1115,9 +1115,9 @@ bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx) bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) { - if (gMapObjects[gSelectedMapObject].active) + if (gEventObjects[gSelectedEventObject].active) { - FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject], + EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], GetPlayerFacingDirection()); } return FALSE; @@ -1128,7 +1128,7 @@ bool8 ScrCmd_turnobject(struct ScriptContext *ctx) u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 direction = ScriptReadByte(ctx); - FieldObjectTurnByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, direction); + EventObjectTurnByLocalIdAndMap(localId, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, direction); return FALSE; } @@ -1137,7 +1137,7 @@ bool8 ScrCmd_setobjectmovementtype(struct ScriptContext *ctx) u16 localId = VarGet(ScriptReadHalfword(ctx)); u8 movementType = ScriptReadByte(ctx); - Overworld_SetMapObjTemplateMovementType(localId, movementType); + Overworld_SetEventObjTemplateMovementType(localId, movementType); return FALSE; } @@ -1156,10 +1156,10 @@ bool8 ScrCmd_createvobject(struct ScriptContext *ctx) bool8 ScrCmd_turnvobject(struct ScriptContext *ctx) { - u8 mapObjectId = ScriptReadByte(ctx); + u8 eventObjectId = ScriptReadByte(ctx); u8 direction = ScriptReadByte(ctx); - TurnMapObject(mapObjectId, direction); + TurnEventObject(eventObjectId, direction); return FALSE; } @@ -1171,7 +1171,7 @@ bool8 ScrCmd_lockall(struct ScriptContext *ctx) } else { - ScriptFreezeMapObjects(); + ScriptFreezeEventObjects(); SetupNativeScript(ctx, sub_8064CFC); return TRUE; } @@ -1185,14 +1185,14 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx) } else { - if (gMapObjects[gSelectedMapObject].active) + if (gEventObjects[gSelectedEventObject].active) { - LockSelectedMapObject(); + LockSelectedEventObject(); SetupNativeScript(ctx, sub_8064DB4); } else { - ScriptFreezeMapObjects(); + ScriptFreezeEventObjects(); SetupNativeScript(ctx, sub_8064CFC); } return TRUE; @@ -1204,10 +1204,10 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) u8 objectId; HideFieldMessageBox(); - objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); + objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); sub_80A2178(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); return FALSE; } @@ -1216,12 +1216,12 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) u8 objectId; HideFieldMessageBox(); - if (gMapObjects[gSelectedMapObject].active) - FieldObjectClearHeldMovementIfFinished(&gMapObjects[gSelectedMapObject]); - objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearHeldMovementIfFinished(&gMapObjects[objectId]); + if (gEventObjects[gSelectedEventObject].active) + EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); + objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); sub_80A2178(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); return FALSE; } diff --git a/src/script_movement.c b/src/script_movement.c index ed1289a66..fec3da88e 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -18,25 +18,25 @@ static void sub_80A2490(u8, u8, u8, const u8 *); bool8 ScriptMovement_StartObjectMovementScript(u8 localId, u8 mapNum, u8 mapGroup, const u8 *movementScript) { - u8 mapObjId; + u8 eventObjId; - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjId)) return TRUE; if (!FuncIsActiveTask(Task_80A244C)) sub_80A2198(50); - return sub_80A21F4(sub_80A21E0(), mapObjId, movementScript); + return sub_80A21F4(sub_80A21E0(), eventObjId, movementScript); } bool8 ScriptMovement_IsObjectMovementFinished(u8 localId, u8 mapNum, u8 mapBank) { - u8 mapObjId; + u8 eventObjId; u8 r4; u8 r1; - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapBank, &mapObjId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapBank, &eventObjId)) return TRUE; r4 = sub_80A21E0(); - r1 = sub_80A2260(r4, mapObjId); + r1 = sub_80A2260(r4, eventObjId); if (r1 == 16) return TRUE; return sub_80A2370(r4, r1); @@ -69,11 +69,11 @@ static u8 sub_80A21E0(void) return FindTaskIdByFunc(Task_80A244C); } -static bool8 sub_80A21F4(u8 taskId, u8 mapObjId, const u8 *movementScript) +static bool8 sub_80A21F4(u8 taskId, u8 eventObjId, const u8 *movementScript) { u8 r4; - r4 = sub_80A2260(taskId, mapObjId); + r4 = sub_80A2260(taskId, eventObjId); if (r4 != 16) { if (sub_80A2370(taskId, r4) == 0) @@ -82,7 +82,7 @@ static bool8 sub_80A21F4(u8 taskId, u8 mapObjId, const u8 *movementScript) } else { - sub_80A23C8(taskId, r4, mapObjId, movementScript); + sub_80A23C8(taskId, r4, eventObjId, movementScript); return FALSE; } } @@ -93,7 +93,7 @@ static bool8 sub_80A21F4(u8 taskId, u8 mapObjId, const u8 *movementScript) } else { - sub_80A23C8(taskId, r4, mapObjId, movementScript); + sub_80A23C8(taskId, r4, eventObjId, movementScript); return FALSE; } } @@ -169,23 +169,23 @@ static const u8 *sub_80A23B8(u8 a) return gUnknown_020384F8[a]; } -static void sub_80A23C8(u8 taskId, u8 b, u8 mapObjId, const u8 *movementScript) +static void sub_80A23C8(u8 taskId, u8 b, u8 eventObjId, const u8 *movementScript) { sub_80A2318(taskId, b); npc_obj_offscreen_culling_and_flag_update(b, movementScript); - sub_80A22D0(taskId, b, mapObjId); + sub_80A22D0(taskId, b, eventObjId); } static void UnfreezeObjects(u8 taskId) { - u8 *pMapObjId; + u8 *pEventObjId; u8 i; - pMapObjId = (u8 *)&gTasks[taskId].data[1]; - for (i = 0; i < 16; i++, pMapObjId++) + pEventObjId = (u8 *)&gTasks[taskId].data[1]; + for (i = 0; i < 16; i++, pEventObjId++) { - if (*pMapObjId != 0xFF) - UnfreezeMapObject(&gMapObjects[*pMapObjId]); + if (*pEventObjId != 0xFF) + UnfreezeEventObject(&gEventObjects[*pEventObjId]); } } @@ -202,23 +202,23 @@ static void Task_80A244C(u8 taskId) } } -static void sub_80A2490(u8 taskId, u8 b, u8 mapObjId, const u8 *d) +static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d) { u8 var; - if (FieldObjectIsHeldMovementActive(&gMapObjects[mapObjId]) - && !FieldObjectClearHeldMovementIfFinished(&gMapObjects[mapObjId])) + if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId]) + && !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId])) return; var = *d; if (var == 0xFE) { sub_80A2348(taskId, b); - FreezeMapObject(&gMapObjects[mapObjId]); + FreezeEventObject(&gEventObjects[eventObjId]); } else { - if (!FieldObjectSetHeldMovement(&gMapObjects[mapObjId], var)) + if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], var)) { d++; npc_obj_offscreen_culling_and_flag_update(b, d); diff --git a/src/secret_base.c b/src/secret_base.c index 21fa8581e..deee1ade0 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -387,7 +387,7 @@ bool8 sub_80BBB24(void) void sub_80BBB50(u8 taskid) { - FieldObjectTurn(&(gMapObjects[gPlayerAvatar.mapObjectId]), 2); + EventObjectTurn(&(gEventObjects[gPlayerAvatar.eventObjectId]), 2); if (IsWeatherNotFadingIn() == 1) { EnableBothScriptContexts(); @@ -500,25 +500,25 @@ void sub_80BBDD0(void) permission = gDecorations[roomdecor[decidx]].permission; if (permission == DECORPERM_SOLID_MAT) { - for (objid = 0; objid < gMapHeader.events->mapObjectCount; objid++) + for (objid = 0; objid < gMapHeader.events->eventObjectCount; objid++) { - if (gMapHeader.events->mapObjects[objid].flagId == gSpecialVar_0x8004 + 0xAE) + if (gMapHeader.events->eventObjects[objid].flagId == gSpecialVar_0x8004 + 0xAE) break; } - if (objid != gMapHeader.events->mapObjectCount) + if (objid != gMapHeader.events->eventObjectCount) { gSpecialVar_0x8006 = roomdecorpos[decidx] >> 4; gSpecialVar_0x8007 = roomdecorpos[decidx] & 0xF; metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); if (sub_80572D8(metatile) == TRUE || sub_80572EC(metatile) == TRUE) { - gSpecialVar_Result = gMapHeader.events->mapObjects[objid].graphicsId + VAR_0x3F20; + gSpecialVar_Result = gMapHeader.events->eventObjects[objid].graphicsId + VAR_0x3F20; VarSet(gSpecialVar_Result, gDecorations[roomdecor[decidx]].tiles[0]); - gSpecialVar_Result = gMapHeader.events->mapObjects[objid].localId; + gSpecialVar_Result = gMapHeader.events->eventObjects[objid].localId; FlagClear(gSpecialVar_0x8004 + 0xAE); show_sprite(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); sub_805C0F8(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007); - TryOverrideTemplateCoordsForMapObject(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + TryOverrideTemplateCoordsForEventObject(gSpecialVar_Result, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); gSpecialVar_0x8004 ++; } } diff --git a/src/shop.c b/src/shop.c index 62c8c9a87..88719e25e 100644 --- a/src/shop.c +++ b/src/shop.c @@ -447,25 +447,25 @@ static void Shop_LoadViewportObjects(void) GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); playerHeight = PlayerGetZCoord(); for (y = 0; y < 16; y++) - gMartViewportObjects[y][MAP_OBJ_ID] = 16; + gMartViewportObjects[y][EVENT_OBJ_ID] = 16; for (y = 0; y < 5; y++) { for (x = 0; x < 7; x++) { - u8 mapObjId = GetFieldObjectIdByXYZ(facingX - 3 + x, facingY - 2 + y, playerHeight); + u8 eventObjId = GetEventObjectIdByXYZ(facingX - 3 + x, facingY - 2 + y, playerHeight); - if (mapObjId != 16) + if (eventObjId != 16) { - gMartViewportObjects[r8][MAP_OBJ_ID] = mapObjId; + gMartViewportObjects[r8][EVENT_OBJ_ID] = eventObjId; gMartViewportObjects[r8][X_COORD] = x; gMartViewportObjects[r8][Y_COORD] = y; - if (gMapObjects[mapObjId].facingDirection == DIR_SOUTH) + if (gEventObjects[eventObjId].facingDirection == DIR_SOUTH) gMartViewportObjects[r8][ANIM_NUM] = 0; - if (gMapObjects[mapObjId].facingDirection == DIR_NORTH) + if (gEventObjects[eventObjId].facingDirection == DIR_NORTH) gMartViewportObjects[r8][ANIM_NUM] = 1; - if (gMapObjects[mapObjId].facingDirection == DIR_WEST) + if (gEventObjects[eventObjId].facingDirection == DIR_WEST) gMartViewportObjects[r8][ANIM_NUM] = 2; - if (gMapObjects[mapObjId].facingDirection == DIR_EAST) + if (gEventObjects[eventObjId].facingDirection == DIR_EAST) gMartViewportObjects[r8][ANIM_NUM] = 3; r8++; } @@ -479,11 +479,11 @@ static void Shop_AnimViewportObjects(void) for (i = 0; i < 16; i++) // max objects? { - if (gMartViewportObjects[i][MAP_OBJ_ID] == 16) + if (gMartViewportObjects[i][EVENT_OBJ_ID] == 16) continue; - StartSpriteAnim(&gSprites[AddPseudoFieldObject( - gMapObjects[gMartViewportObjects[i][MAP_OBJ_ID]].graphicsId, + StartSpriteAnim(&gSprites[AddPseudoEventObject( + gEventObjects[gMartViewportObjects[i][EVENT_OBJ_ID]].graphicsId, SpriteCallbackDummy, (u16)gMartViewportObjects[i][X_COORD] * 16 + 8, (u16)gMartViewportObjects[i][Y_COORD] * 16 + 32, diff --git a/src/start_menu.c b/src/start_menu.c index 4a9a0f0dd..2a07313a4 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -9,7 +9,7 @@ #include "load_save.h" #include "m4a.h" #include "main.h" -#include "map_obj_lock.h" +#include "event_obj_lock.h" #include "menu.h" #include "new_game.h" #include "option_menu.h" @@ -405,7 +405,7 @@ void sub_8071310(void) { if (!is_c1_link_related_active()) { - FreezeMapObjects(); + FreezeEventObjects(); sub_80594C0(); sub_80597F4(); } diff --git a/src/trainer_card.c b/src/trainer_card.c index 7c7eb23e2..52be7b521 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -49,7 +49,7 @@ struct Struct2000000 /*0x9C*/ u8 language; // 0x9C }; -extern struct LinkPlayerMapObject gLinkPlayerMapObjects[]; +extern struct LinkPlayerEventObject gLinkPlayerEventObjects[]; EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0}; @@ -225,7 +225,7 @@ void TrainerCard_ShowLinkCard(u8 playerIndex, Callback arg2) #endif TrainerCard_InitScreenForLinkPlayer(playerIndex, arg2); SetMainCallback2(sub_8093174); - ewram0_2.language = gLinkPlayers[gLinkPlayerMapObjects[playerIndex].linkPlayerId].language; + ewram0_2.language = gLinkPlayers[gLinkPlayerEventObjects[playerIndex].linkPlayerId].language; } #if DEBUG diff --git a/src/trainer_see.c b/src/trainer_see.c index 4c51670cb..c03295540 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -13,21 +13,21 @@ static bool8 CheckTrainer(u8); static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3); static void objc_exclamation_mark_probably(struct Sprite *sprite); -static bool8 TrainerCanApproachPlayer(struct MapObject *); -static void sub_80842C8(struct MapObject *, u8); -static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction); +static bool8 TrainerCanApproachPlayer(struct EventObject *); +static void sub_80842C8(struct EventObject *, u8); +static bool8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 approachDistance, u8 direction); static void RunTrainerSeeFuncList(u8 taskId); const u8 gSpriteImage_839B308[] = INCBIN_U8("graphics/unknown_sprites/839B4E0/0.4bpp"); const u8 gSpriteImage_839B388[] = INCBIN_U8("graphics/unknown_sprites/839B4E0/1.4bpp"); const u8 gSpriteImage_839B408[] = INCBIN_U8("graphics/unknown_sprites/839B408.4bpp"); -static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); -static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); -static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y); -static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceSouth(struct EventObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceNorth(struct EventObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 range, s16 x, s16 y); -static u8 (*const sDirectionalApproachDistanceFuncs[])(struct MapObject *, s16, s16, s16) = +static u8 (*const sDirectionalApproachDistanceFuncs[])(struct EventObject *, s16, s16, s16) = { GetTrainerApproachDistanceSouth, GetTrainerApproachDistanceNorth, @@ -37,21 +37,21 @@ static u8 (*const sDirectionalApproachDistanceFuncs[])(struct MapObject *, s16, bool8 CheckTrainers(void) { - u8 mapObjId; + u8 eventObjId; - for (mapObjId = 0; mapObjId < 16; mapObjId++) + for (eventObjId = 0; eventObjId < 16; eventObjId++) { - if (gMapObjects[mapObjId].active - && (gMapObjects[mapObjId].trainerType == 1 || gMapObjects[mapObjId].trainerType == 3) - && CheckTrainer(mapObjId)) + if (gEventObjects[eventObjId].active + && (gEventObjects[eventObjId].trainerType == 1 || gEventObjects[eventObjId].trainerType == 3) + && CheckTrainer(eventObjId)) return TRUE; } return FALSE; } -static bool8 CheckTrainer(u8 mapObjId) +static bool8 CheckTrainer(u8 eventObjId) { - u8 *scriptPtr = GetFieldObjectScriptPointerByFieldObjectId(mapObjId); + u8 *scriptPtr = GetEventObjectScriptPointerByEventObjectId(eventObjId); if (GetTrainerFlagFromScriptPointer(scriptPtr)) { @@ -59,12 +59,12 @@ static bool8 CheckTrainer(u8 mapObjId) } else { - struct MapObject *trainerObj = &gMapObjects[mapObjId]; + struct EventObject *trainerObj = &gEventObjects[eventObjId]; bool8 canApproach = TrainerCanApproachPlayer(trainerObj); if (canApproach) { - TrainerWantsBattle(mapObjId, scriptPtr); + TrainerWantsBattle(eventObjId, scriptPtr); sub_80842C8(trainerObj, (canApproach - 1)); return TRUE; } @@ -75,7 +75,7 @@ static bool8 CheckTrainer(u8 mapObjId) } } -static bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) +static bool8 TrainerCanApproachPlayer(struct EventObject *trainerObj) { s16 x, y; u8 i; @@ -100,7 +100,7 @@ static bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) } // Returns how far south the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceSouth(struct EventObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.x == x && y > trainerObj->currentCoords.y @@ -111,7 +111,7 @@ static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 rang } // Returns how far north the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceNorth(struct EventObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.x == x && y < trainerObj->currentCoords.y @@ -122,7 +122,7 @@ static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 rang } // Returns how far west the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.y == y && x < trainerObj->currentCoords.x @@ -133,7 +133,7 @@ static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range } // Returns how far east the player is from trainer. 0 if out of trainer's sight. -static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->currentCoords.y == y && x > trainerObj->currentCoords.x @@ -149,7 +149,7 @@ static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range #define COLLISION_MASK 1 #endif -static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction) +static bool8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 approachDistance, u8 direction) { s16 x, y; u8 unk19_temp; @@ -170,13 +170,13 @@ static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 a return FALSE; } - // preserve mapobj_unk_19 before clearing. + // preserve trainer sight range before clearing. unk19_temp = trainerObj->range.as_nybbles.x; unk19b_temp = trainerObj->range.as_nybbles.y; trainerObj->range.as_nybbles.x = 0; trainerObj->range.as_nybbles.y = 0; - collision = GetCollisionAtCoords((struct MapObject *)trainerObj, x, y, direction); + collision = GetCollisionAtCoords((struct EventObject *)trainerObj, x, y, direction); trainerObj->range.as_nybbles.x = unk19_temp; trainerObj->range.as_nybbles.y = unk19b_temp; @@ -189,7 +189,7 @@ static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 a #define tTrainerObjHi data[1] #define tTrainerObjLo data[2] -static void sub_80842C8(struct MapObject *trainerObj, u8 b) +static void sub_80842C8(struct EventObject *trainerObj, u8 b) { u8 taskId = CreateTask(RunTrainerSeeFuncList, 0x50); struct Task *task = &gTasks[taskId]; @@ -209,20 +209,20 @@ static void sub_80842FC(TaskFunc followupFunc) taskFunc(taskId); } -static bool8 sub_8084394(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_8084534(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_80845AC(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_80845FC(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainerObj); -static bool8 sub_80846C8(u8 taskId, struct Task *task, struct MapObject *trainerObj); +static bool8 sub_8084394(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_8084398(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_80843DC(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_808441C(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_8084478(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_8084534(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_8084578(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_80845AC(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_80845C8(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_80845FC(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_8084654(u8 taskId, struct Task *task, struct EventObject *trainerObj); +static bool8 sub_80846C8(u8 taskId, struct Task *task, struct EventObject *trainerObj); -static bool8 (*const gTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct MapObject *trainerObj) = +static bool8 (*const gTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) = { sub_8084394, sub_8084398, @@ -241,7 +241,7 @@ static bool8 (*const gTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct static void RunTrainerSeeFuncList(u8 taskId) { struct Task *task = &gTasks[taskId]; - struct MapObject *trainerObj = (struct MapObject *)((task->tTrainerObjHi << 16) | (task->tTrainerObjLo)); + struct EventObject *trainerObj = (struct EventObject *)((task->tTrainerObjHi << 16) | (task->tTrainerObjLo)); if (!trainerObj->active) { @@ -254,24 +254,24 @@ static void RunTrainerSeeFuncList(u8 taskId) } } -static bool8 sub_8084394(u8 taskId, struct Task *task, struct MapObject *trainerObj) // cant be void because it is called with RunTrainerSeeFuncList with arguments. +static bool8 sub_8084394(u8 taskId, struct Task *task, struct EventObject *trainerObj) // cant be void because it is called with RunTrainerSeeFuncList with arguments. { return FALSE; } -static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_8084398(u8 taskId, struct Task *task, struct EventObject *trainerObj) { u8 direction; - FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); direction = GetFaceDirectionMovementAction(trainerObj->facingDirection); - FieldObjectSetHeldMovement(trainerObj, direction); + EventObjectSetHeldMovement(trainerObj, direction); task->data[0]++; return TRUE; } -static bool8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_80843DC(u8 taskId, struct Task *task, struct EventObject *trainerObj) { if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) { @@ -288,88 +288,88 @@ static bool8 sub_80843DC(u8 taskId, struct Task *task, struct MapObject *trainer } } -static bool8 sub_808441C(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_808441C(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (!(FieldObjectIsMovementOverridden(trainerObj)) || FieldObjectClearHeldMovementIfFinished(trainerObj)) + if (!(EventObjectIsMovementOverridden(trainerObj)) || EventObjectClearHeldMovementIfFinished(trainerObj)) { if (task->data[3]) { - FieldObjectSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); + EventObjectSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); task->data[3]--; } else { - FieldObjectSetHeldMovement(trainerObj, 0x3E); + EventObjectSetHeldMovement(trainerObj, 0x3E); task->data[0]++; } } return FALSE; } -static bool8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_8084478(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - struct MapObject *playerObj; + struct EventObject *playerObj; - if (FieldObjectIsMovementOverridden(trainerObj) && !FieldObjectClearHeldMovementIfFinished(trainerObj)) + if (EventObjectIsMovementOverridden(trainerObj) && !EventObjectClearHeldMovementIfFinished(trainerObj)) return FALSE; SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); - OverrideMovementTypeForMapObject(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); - OverrideTemplateCoordsForMapObject(trainerObj); + OverrideMovementTypeForEventObject(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideTemplateCoordsForEventObject(trainerObj); - playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectIsMovementOverridden(playerObj) && !FieldObjectClearHeldMovementIfFinished(playerObj)) + playerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectIsMovementOverridden(playerObj) && !EventObjectClearHeldMovementIfFinished(playerObj)) return FALSE; sub_80597E8(); - FieldObjectSetHeldMovement(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); + EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); task->data[0]++; return FALSE; } -static bool8 sub_8084534(u8 taskId, struct Task *task, struct MapObject *trainerObj) // technically only 1 parameter, but needs all 3 for TrainerSeeFuncList call. +static bool8 sub_8084534(u8 taskId, struct Task *task, struct EventObject *trainerObj) // technically only 1 parameter, but needs all 3 for TrainerSeeFuncList call. { - struct MapObject *playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *playerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!FieldObjectIsMovementOverridden(playerObj) - || FieldObjectClearHeldMovementIfFinished(playerObj)) + if (!EventObjectIsMovementOverridden(playerObj) + || EventObjectClearHeldMovementIfFinished(playerObj)) SwitchTaskToFollowupFunc(taskId); return FALSE; } -static bool8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_8084578(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (!FieldObjectIsMovementOverridden(trainerObj) - || FieldObjectClearHeldMovementIfFinished(trainerObj)) + if (!EventObjectIsMovementOverridden(trainerObj) + || EventObjectClearHeldMovementIfFinished(trainerObj)) { - FieldObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER); + EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER); task->data[0]++; } return FALSE; } -static bool8 sub_80845AC(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_80845AC(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (FieldObjectClearHeldMovementIfFinished(trainerObj)) + if (EventObjectClearHeldMovementIfFinished(trainerObj)) task->data[0] = 3; return FALSE; } -static bool8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_80845C8(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (!FieldObjectIsMovementOverridden(trainerObj) - || FieldObjectClearHeldMovementIfFinished(trainerObj)) + if (!EventObjectIsMovementOverridden(trainerObj) + || EventObjectClearHeldMovementIfFinished(trainerObj)) { - FieldObjectSetHeldMovement(trainerObj, MOVEMENT_ACITON_FACE_PLAYER); + EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACITON_FACE_PLAYER); task->data[0]++; } return FALSE; } -static bool8 sub_80845FC(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_80845FC(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (FieldObjectCheckHeldMovementStatus(trainerObj)) + if (EventObjectCheckHeldMovementStatus(trainerObj)) { gFieldEffectArguments[0] = trainerObj->currentCoords.x; gFieldEffectArguments[1] = trainerObj->currentCoords.y; @@ -381,7 +381,7 @@ static bool8 sub_80845FC(u8 taskId, struct Task *task, struct MapObject *trainer return FALSE; } -static bool8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_8084654(u8 taskId, struct Task *task, struct EventObject *trainerObj) { struct Sprite *sprite; @@ -392,14 +392,14 @@ static bool8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainer sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; - FieldObjectClearHeldMovementIfFinished(trainerObj); - FieldObjectSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); + EventObjectClearHeldMovementIfFinished(trainerObj); + EventObjectSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); task->data[0]++; } return FALSE; } -static bool8 sub_80846C8(u8 taskId, struct Task *task, struct MapObject *trainerObj) +static bool8 sub_80846C8(u8 taskId, struct Task *task, struct EventObject *trainerObj) { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) task->data[0] = 3; @@ -407,7 +407,7 @@ static bool8 sub_80846C8(u8 taskId, struct Task *task, struct MapObject *trainer return FALSE; } -static bool8 (*const gTrainerSeeFuncList2[])(u8, struct Task *, struct MapObject *) = +static bool8 (*const gTrainerSeeFuncList2[])(u8, struct Task *, struct EventObject *) = { sub_80845C8, sub_80845FC, @@ -418,29 +418,29 @@ static bool8 (*const gTrainerSeeFuncList2[])(u8, struct Task *, struct MapObject void sub_80846E4(u8 taskId) { struct Task *task = &gTasks[taskId]; - struct MapObject *mapObj; + struct EventObject *eventObj; - // another mapObj loaded into by loadword? - LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&mapObj); + // another eventObj loaded into by loadword? + LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&eventObj); if (!task->data[7]) { - FieldObjectClearHeldMovement(mapObj); + EventObjectClearHeldMovement(eventObj); task->data[7]++; } - gTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj); + gTrainerSeeFuncList2[task->data[0]](taskId, task, eventObj); if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { - SetTrainerMovementType(mapObj, GetTrainerFacingDirectionMovementType(mapObj->facingDirection)); - OverrideMovementTypeForMapObject(mapObj, GetTrainerFacingDirectionMovementType(mapObj->facingDirection)); + SetTrainerMovementType(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection)); + OverrideMovementTypeForEventObject(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection)); DestroyTask(taskId); } else { - mapObj->heldMovementFinished = 0; + eventObj->heldMovementFinished = 0; } } -void sub_8084794(struct MapObject *var) +void sub_8084794(struct EventObject *var) { StoreWordInTwoHalfwords(&gTasks[CreateTask(sub_80846E4, 0)].data[1], (u32)var); } @@ -539,21 +539,21 @@ static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3) static void objc_exclamation_mark_probably(struct Sprite *sprite) { - u8 mapObjId; + u8 eventObjId; - if (TryGetFieldObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &mapObjId) + if (TryGetEventObjectIdByLocalIdAndMap(sprite->data[0], sprite->data[1], sprite->data[2], &eventObjId) || sprite->animEnded) { FieldEffectStop(sprite, (u8)sprite->data[7]); } else { - struct Sprite *mapObjSprite = &gSprites[gMapObjects[mapObjId].spriteId]; + struct Sprite *eventObjSprite = &gSprites[gEventObjects[eventObjId].spriteId]; sprite->data[4] += sprite->data[3]; - sprite->pos1.x = mapObjSprite->pos1.x; - sprite->pos1.y = mapObjSprite->pos1.y - 16; - sprite->pos2.x = mapObjSprite->pos2.x; - sprite->pos2.y = mapObjSprite->pos2.y + sprite->data[4]; + sprite->pos1.x = eventObjSprite->pos1.x; + sprite->pos1.y = eventObjSprite->pos1.y - 16; + sprite->pos2.x = eventObjSprite->pos2.x; + sprite->pos2.y = eventObjSprite->pos2.y + sprite->data[4]; if (sprite->data[4]) sprite->data[3]++; else diff --git a/src/tv.c b/src/tv.c index 87cecbefc..234091d58 100644 --- a/src/tv.c +++ b/src/tv.c @@ -736,7 +736,7 @@ u8 GabbyAndTyGetLastBattleTrivia(void) return 0; } -void GabbyAndTySetScriptVarsToFieldObjectLocalIds(void) +void GabbyAndTySetScriptVarsToEventObjectLocalIds(void) { switch (GabbyAndTyGetBattleNum()) { @@ -2201,7 +2201,7 @@ void GetMomOrDadStringForTVMessage(void) void sub_80BFD20(void) { VarSet(VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, 0); - RemoveFieldObjectByLocalIdAndMap(5, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); + RemoveEventObjectByLocalIdAndMap(5, gSaveBlock1.location.mapNum, gSaveBlock1.location.mapGroup); } typedef union ewramStruct_02007000 -- cgit v1.2.3 From e3916a561a213a1dfe1d13339c49cd06a1dcbe37 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 30 May 2018 18:05:37 -0500 Subject: Fix nonmatchings in daycare --- src/daycare.c | 764 +++++----------------------------------------------------- 1 file changed, 63 insertions(+), 701 deletions(-) (limited to 'src') diff --git a/src/daycare.c b/src/daycare.c index 5220a3738..795c42a96 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -67,7 +67,7 @@ u8 CountPokemonInDaycare(struct DayCare *daycare) u8 i, count; count = 0; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { if (GetBoxMonData(&daycare->mons[i], MON_DATA_SPECIES) != 0) count++; @@ -81,7 +81,7 @@ void InitDaycareMailRecordMixing(struct BoxPokemon * daycareMons, struct RecordM u8 i; u8 numDaycareMons = 0; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { if (GetBoxMonData(&daycareMons[i], MON_DATA_SPECIES) != SPECIES_NONE) { @@ -108,7 +108,7 @@ static s8 Daycare_FindEmptySpot(struct BoxPokemon * daycareMons) { u8 i; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { if (GetBoxMonData(&daycareMons[i], MON_DATA_SPECIES) == 0) return i; @@ -466,12 +466,9 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) } } -#ifdef NONMATCHING -static -#endif // Counts the number of egg moves a pokemon learns and stores the moves in // the given array. -u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) +static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) { u16 eggMoveIdx; u16 numEggMoves; @@ -505,11 +502,10 @@ u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves) return numEggMoves; } -#ifdef NONMATCHING void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxPokemon *mother) { u16 numSharedParentMoves; - u8 numLevelUpMoves; + u32 numLevelUpMoves; u16 numEggMoves; u16 i, j; @@ -549,8 +545,11 @@ void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxP } } else + { break; + } } + for (i = 0; i < 4; i++) { if (gHatchedEggFatherMoves[i] != MOVE_NONE) @@ -565,10 +564,9 @@ void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxP } } } - for (i = 0; i < 4; i++) + + for (i = 0; i < 4 && gHatchedEggFatherMoves[i] != MOVE_NONE; i++) { - if (gHatchedEggFatherMoves[i] == MOVE_NONE) - break; for (j = 0; j < 4; j++) { if (gHatchedEggFatherMoves[i] == gHatchedEggMotherMoves[j] && gHatchedEggFatherMoves[i] != MOVE_NONE) @@ -576,10 +574,8 @@ void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxP } } - for (i = 0; i < 4; i++) + for (i = 0; i < 4 && gHatchedEggFinalMoves[i] != MOVE_NONE; i++) { - if (gHatchedEggFinalMoves[i] == MOVE_NONE) - break; for (j = 0; j < numLevelUpMoves; j++) { if (gHatchedEggLevelUpMoves[j] != MOVE_NONE && gHatchedEggFinalMoves[i] == gHatchedEggLevelUpMoves[j]) @@ -591,346 +587,6 @@ void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxP } } } -#else -NAKED -void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, struct BoxPokemon *mother) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0xC\n" - "\tadds r7, r0, 0\n" - "\tmov r10, r1\n" - "\tmov r9, r2\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp]\n" - "\tmovs r6, 0\n" - "\tldr r5, _08041CC8 @ =gHatchedEggMotherMoves\n" - "\tmovs r2, 0\n" - "\tldr r4, _08041CCC @ =gHatchedEggFatherMoves\n" - "\tldr r3, _08041CD0 @ =gHatchedEggFinalMoves\n" - "_08041BE4:\n" - "\tlsls r1, r6, 1\n" - "\tadds r0, r1, r5\n" - "\tstrh r2, [r0]\n" - "\tadds r0, r1, r4\n" - "\tstrh r2, [r0]\n" - "\tadds r1, r3\n" - "\tstrh r2, [r1]\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x3\n" - "\tbls _08041BE4\n" - "\tmovs r6, 0\n" - "\tldr r2, _08041CD4 @ =gHatchedEggEggMoves\n" - "\tmovs r1, 0\n" - "_08041C02:\n" - "\tlsls r0, r6, 1\n" - "\tadds r0, r2\n" - "\tstrh r1, [r0]\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x9\n" - "\tbls _08041C02\n" - "\tmovs r6, 0\n" - "\tldr r2, _08041CD8 @ =gHatchedEggLevelUpMoves\n" - "\tmovs r1, 0\n" - "_08041C18:\n" - "\tlsls r0, r6, 1\n" - "\tadds r0, r2\n" - "\tstrh r1, [r0]\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x31\n" - "\tbls _08041C18\n" - "\tadds r0, r7, 0\n" - "\tmovs r1, 0xB\n" - "\tbl GetMonData\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tldr r1, _08041CD8 @ =gHatchedEggLevelUpMoves\n" - "\tbl GetLevelUpMovesBySpecies\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tstr r0, [sp, 0x4]\n" - "\tmovs r6, 0\n" - "\tldr r1, _08041CCC @ =gHatchedEggFatherMoves\n" - "\tmov r8, r1\n" - "_08041C46:\n" - "\tadds r5, r6, 0\n" - "\tadds r5, 0xD\n" - "\tmov r0, r10\n" - "\tadds r1, r5, 0\n" - "\tbl GetBoxMonData\n" - "\tlsls r4, r6, 1\n" - "\tmov r2, r8\n" - "\tadds r1, r4, r2\n" - "\tstrh r0, [r1]\n" - "\tmov r0, r9\n" - "\tadds r1, r5, 0\n" - "\tbl GetBoxMonData\n" - "\tldr r1, _08041CC8 @ =gHatchedEggMotherMoves\n" - "\tadds r4, r1\n" - "\tstrh r0, [r4]\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x3\n" - "\tbls _08041C46\n" - "\tldr r1, _08041CD4 @ =gHatchedEggEggMoves\n" - "\tadds r0, r7, 0\n" - "\tbl GetEggMoves\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tmov r8, r0\n" - "\tmovs r6, 0\n" - "_08041C82:\n" - "\tldr r0, _08041CCC @ =gHatchedEggFatherMoves\n" - "\tlsls r1, r6, 1\n" - "\tadds r2, r1, r0\n" - "\tldrh r1, [r2]\n" - "\tmov r9, r0\n" - "\tcmp r1, 0\n" - "\tbeq _08041CF8\n" - "\tmovs r5, 0\n" - "\tcmp r5, r8\n" - "\tbcs _08041CEA\n" - "\tadds r4, r2, 0\n" - "\tldr r2, _08041CDC @ =0x0000ffff\n" - "_08041C9A:\n" - "\tldr r0, _08041CD4 @ =gHatchedEggEggMoves\n" - "\tlsls r1, r5, 1\n" - "\tadds r1, r0\n" - "\tldrh r0, [r4]\n" - "\tldrh r1, [r1]\n" - "\tcmp r0, r1\n" - "\tbne _08041CE0\n" - "\tadds r1, r0, 0\n" - "\tadds r0, r7, 0\n" - "\tstr r2, [sp, 0x8]\n" - "\tbl GiveMoveToMon\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tldr r2, [sp, 0x8]\n" - "\tcmp r0, r2\n" - "\tbne _08041CEA\n" - "\tldrh r1, [r4]\n" - "\tadds r0, r7, 0\n" - "\tbl DeleteFirstMoveAndGiveMoveToMon\n" - "\tb _08041CEA\n" - "\t.align 2, 0\n" - "_08041CC8: .4byte gHatchedEggMotherMoves\n" - "_08041CCC: .4byte gHatchedEggFatherMoves\n" - "_08041CD0: .4byte gHatchedEggFinalMoves\n" - "_08041CD4: .4byte gHatchedEggEggMoves\n" - "_08041CD8: .4byte gHatchedEggLevelUpMoves\n" - "_08041CDC: .4byte 0x0000ffff\n" - "_08041CE0:\n" - "\tadds r0, r5, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r5, r0, 16\n" - "\tcmp r5, r8\n" - "\tbcc _08041C9A\n" - "_08041CEA:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tldr r3, _08041E14 @ =gHatchedEggFatherMoves\n" - "\tmov r9, r3\n" - "\tcmp r6, 0x3\n" - "\tbls _08041C82\n" - "_08041CF8:\n" - "\tmovs r6, 0\n" - "_08041CFA:\n" - "\tlsls r0, r6, 1\n" - "\tmov r2, r9\n" - "\tadds r1, r0, r2\n" - "\tldrh r1, [r1]\n" - "\tadds r2, r0, 0\n" - "\tadds r6, 0x1\n" - "\tmov r8, r6\n" - "\tcmp r1, 0\n" - "\tbeq _08041D5C\n" - "\tmovs r5, 0\n" - "\tldr r0, _08041E14 @ =gHatchedEggFatherMoves\n" - "\tadds r4, r2, r0\n" - "\tldr r6, _08041E18 @ =0x0000ffff\n" - "\tmov r9, r0\n" - "_08041D16:\n" - "\tldr r3, _08041E1C @ =0x00000121\n" - "\tadds r0, r5, r3\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tbl ItemIdToBattleMoveId\n" - "\tldrh r1, [r4]\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tcmp r1, r0\n" - "\tbne _08041D52\n" - "\tlsls r1, r5, 24\n" - "\tlsrs r1, 24\n" - "\tadds r0, r7, 0\n" - "\tbl CanMonLearnTMHM\n" - "\tcmp r0, 0\n" - "\tbeq _08041D52\n" - "\tldrh r1, [r4]\n" - "\tadds r0, r7, 0\n" - "\tbl GiveMoveToMon\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tcmp r0, r6\n" - "\tbne _08041D52\n" - "\tldrh r1, [r4]\n" - "\tadds r0, r7, 0\n" - "\tbl DeleteFirstMoveAndGiveMoveToMon\n" - "_08041D52:\n" - "\tadds r0, r5, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r5, r0, 16\n" - "\tcmp r5, 0x39\n" - "\tbls _08041D16\n" - "_08041D5C:\n" - "\tmov r1, r8\n" - "\tlsls r0, r1, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x3\n" - "\tbls _08041CFA\n" - "\tmovs r6, 0\n" - "\tmov r2, r9\n" - "\tldrh r0, [r2]\n" - "\tldr r3, _08041E20 @ =gHatchedEggFinalMoves\n" - "\tmov r10, r3\n" - "\tcmp r0, 0\n" - "\tbeq _08041DC6\n" - "\tmov r4, r9\n" - "\tldr r0, _08041E24 @ =gHatchedEggMotherMoves\n" - "\tmov r9, r0\n" - "\tmov r12, r10\n" - "_08041D7C:\n" - "\tmovs r5, 0\n" - "\tlsls r2, r6, 1\n" - "\tadds r6, 0x1\n" - "\tmov r8, r6\n" - "\tadds r3, r2, r4\n" - "_08041D86:\n" - "\tlsls r0, r5, 1\n" - "\tadd r0, r9\n" - "\tldrh r2, [r3]\n" - "\tadds r1, r2, 0\n" - "\tldrh r0, [r0]\n" - "\tcmp r1, r0\n" - "\tbne _08041DA8\n" - "\tcmp r1, 0\n" - "\tbeq _08041DA8\n" - "\tldr r1, [sp]\n" - "\tadds r0, r1, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tstr r0, [sp]\n" - "\tlsls r1, 1\n" - "\tadd r1, r12\n" - "\tstrh r2, [r1]\n" - "_08041DA8:\n" - "\tadds r0, r5, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r5, r0, 16\n" - "\tcmp r5, 0x3\n" - "\tbls _08041D86\n" - "\tmov r1, r8\n" - "\tlsls r0, r1, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x3\n" - "\tbhi _08041DC6\n" - "\tlsls r0, r6, 1\n" - "\tadds r0, r4\n" - "\tldrh r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _08041D7C\n" - "_08041DC6:\n" - "\tmovs r6, 0\n" - "\tmov r2, r10\n" - "\tldrh r0, [r2]\n" - "\tcmp r0, 0\n" - "\tbeq _08041E50\n" - "_08041DD0:\n" - "\tmovs r5, 0\n" - "\tadds r3, r6, 0x1\n" - "\tmov r8, r3\n" - "\tldr r0, [sp, 0x4]\n" - "\tcmp r5, r0\n" - "\tbcs _08041E38\n" - "\tldr r2, _08041E18 @ =0x0000ffff\n" - "_08041DDE:\n" - "\tldr r1, _08041E28 @ =gHatchedEggLevelUpMoves\n" - "\tlsls r0, r5, 1\n" - "\tadds r0, r1\n" - "\tldrh r1, [r0]\n" - "\tcmp r1, 0\n" - "\tbeq _08041E2C\n" - "\tlsls r0, r6, 1\n" - "\tmov r3, r10\n" - "\tadds r4, r0, r3\n" - "\tldrh r0, [r4]\n" - "\tcmp r0, r1\n" - "\tbne _08041E2C\n" - "\tadds r1, r0, 0\n" - "\tadds r0, r7, 0\n" - "\tstr r2, [sp, 0x8]\n" - "\tbl GiveMoveToMon\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tldr r2, [sp, 0x8]\n" - "\tcmp r0, r2\n" - "\tbne _08041E38\n" - "\tldrh r1, [r4]\n" - "\tadds r0, r7, 0\n" - "\tbl DeleteFirstMoveAndGiveMoveToMon\n" - "\tb _08041E38\n" - "\t.align 2, 0\n" - "_08041E14: .4byte gHatchedEggFatherMoves\n" - "_08041E18: .4byte 0x0000ffff\n" - "_08041E1C: .4byte 0x00000121\n" - "_08041E20: .4byte gHatchedEggFinalMoves\n" - "_08041E24: .4byte gHatchedEggMotherMoves\n" - "_08041E28: .4byte gHatchedEggLevelUpMoves\n" - "_08041E2C:\n" - "\tadds r0, r5, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r5, r0, 16\n" - "\tldr r0, [sp, 0x4]\n" - "\tcmp r5, r0\n" - "\tbcc _08041DDE\n" - "_08041E38:\n" - "\tmov r1, r8\n" - "\tlsls r0, r1, 16\n" - "\tlsrs r6, r0, 16\n" - "\tcmp r6, 0x3\n" - "\tbhi _08041E50\n" - "\tldr r0, _08041E60 @ =gHatchedEggFinalMoves\n" - "\tlsls r1, r6, 1\n" - "\tadds r1, r0\n" - "\tldrh r1, [r1]\n" - "\tmov r10, r0\n" - "\tcmp r1, 0\n" - "\tbne _08041DD0\n" - "_08041E50:\n" - "\tadd sp, 0xC\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_08041E60: .4byte gHatchedEggFinalMoves"); -} -#endif static void RemoveEggFromDayCare(struct DayCare *daycare) { @@ -971,7 +627,7 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent // Determine which of the daycare mons is the mother and father of the egg. // The 0th index of the parentSlots array is considered the mother slot, and the // 1st index is the father slot. - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { species[i] = GetBoxMonData(&daycare->mons[i], MON_DATA_SPECIES); if (species[i] == SPECIES_DITTO) @@ -1079,169 +735,47 @@ void GiveEggFromDaycare(void) _GiveEggFromDaycare(&gSaveBlock1.daycare); } -#ifdef NONMATCHING static bool8 _ShouldEggHatch(struct DayCare *daycare) { struct BoxPokemon *parent; u32 i; - int v0; - int steps; - v0 = 0; - for (i=0, parent=&daycare->mons[0]; i<2; parent++, i++) + int numParents; + + numParents = 0; + for (i = 0; i < DAYCARE_MON_COUNT; i++) { - if (GetBoxMonData(parent, MON_DATA_SANITY_BIT2, v0)) + parent = &daycare->mons[i]; + if (GetBoxMonData(parent, MON_DATA_SANITY_BIT2)) { daycare->misc.countersEtc.steps[i]++; - v0++; + numParents++; } } - if (daycare->misc.countersEtc.pendingEggPersonality == 0 && v0 == 2 && daycare->misc.extra.misc[4] == 0xff && GetDaycareCompatibilityScore(daycare) > (u32)((u32)(Random() * 100) / 0xffff)) - { + + if (daycare->misc.countersEtc.pendingEggPersonality == 0 && numParents == 2 && (daycare->misc.countersEtc.steps[1] % 256) == 255 && GetDaycareCompatibilityScore(daycare) > (u32)(Random() * 100) / 0xffff) TriggerPendingDaycareEgg(); - } - if ((++daycare->misc.countersEtc.eggCycleStepsRemaining) == 0xff) + + if (++daycare->misc.countersEtc.eggCycleStepsRemaining == 255) { - for (i=0; imons[0], spc=species, ids=otIds, gnd=genders, egg1=&eggGroups[0][0], egg2=&eggGroups[0][1]; i<2; spc++, egg1+=2, egg2+=2, parent++, i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { - *spc = GetBoxMonData(parent, MON_DATA_SPECIES); - *ids++ = GetBoxMonData(parent, MON_DATA_OT_ID); - *gnd++ = GetGenderFromSpeciesAndPersonality(*spc, GetBoxMonData(parent, MON_DATA_PERSONALITY)); - *egg1 = gBaseStats[*spc].eggGroup1; - *egg2 = gBaseStats[*spc].eggGroup2; - } - if (eggGroups[0][0] == 0xf) - { - return 0; + species[i] = GetBoxMonData(&daycare->mons[i], MON_DATA_SPECIES); + otIds[i] = GetBoxMonData(&daycare->mons[i], MON_DATA_OT_ID); + personality = GetBoxMonData(&daycare->mons[i], MON_DATA_PERSONALITY); + genders[i] = GetGenderFromSpeciesAndPersonality(species[i], personality); + eggGroups[i][0] = gBaseStats[species[i]].eggGroup1; + eggGroups[i][1] = gBaseStats[species[i]].eggGroup2; } - if (eggGroups[1][0] == 0xf) - { + + if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED) return 0; - } - if (eggGroups[0][0] == 0xd && eggGroups[1][0] == 0xd) - { + + if (eggGroups[0][0] == EGG_GROUP_DITTO && eggGroups[1][0] == EGG_GROUP_DITTO) return 0; - } - else if (eggGroups[0][0] == 0xd || eggGroups[1][0] == 0xd) + + if (eggGroups[0][0] == EGG_GROUP_DITTO || eggGroups[1][0] == EGG_GROUP_DITTO) { if (otIds[0] == otIds[1]) - { return 20; - } - return 50; + else + return 50; } + if (genders[0] == genders[1] || genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS) - { return 0; - } + if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) - { return 0; - } + if (species[0] == species[1]) { if (otIds[0] == otIds[1]) - { return 50; - } - return 70; + else + return 70; } + + if (otIds[0] != otIds[1]) + return 50; else - { - if (otIds[0] != otIds[1]) - { - return 50; - } return 20; - } -} -#else -NAKED -static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0x2C\n" - "\tmovs r1, 0\n" - "\tmov r8, r1\n" - "\tmov r2, sp\n" - "\tadds r2, 0x8\n" - "\tstr r2, [sp, 0x1C]\n" - "\tadd r1, sp, 0xC\n" - "\tmov r10, r1\n" - "\tadds r2, 0xC\n" - "\tstr r2, [sp, 0x20]\n" - "\tmov r1, sp\n" - "\tadds r1, 0x2\n" - "\tldr r2, _08042488 @ =gBaseStats\n" - "\tmov r9, r2\n" - "\tldr r5, [sp, 0x1C]\n" - "\tadds r7, r1, 0\n" - "\tmov r6, sp\n" - "\tldr r1, [sp, 0x20]\n" - "\tstr r1, [sp, 0x24]\n" - "\tmov r2, r10\n" - "\tstr r2, [sp, 0x28]\n" - "\tadds r4, r0, 0\n" - "_0804240E:\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0xB\n" - "\tbl GetBoxMonData\n" - "\tstrh r0, [r5]\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0x1\n" - "\tbl GetBoxMonData\n" - "\tldr r1, [sp, 0x28]\n" - "\tstm r1!, {r0}\n" - "\tstr r1, [sp, 0x28]\n" - "\tadds r0, r4, 0\n" - "\tmovs r1, 0\n" - "\tbl GetBoxMonData\n" - "\tadds r1, r0, 0\n" - "\tldrh r0, [r5]\n" - "\tbl GetGenderFromSpeciesAndPersonality\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tldr r2, [sp, 0x24]\n" - "\tstm r2!, {r0}\n" - "\tstr r2, [sp, 0x24]\n" - "\tldrh r1, [r5]\n" - "\tlsls r0, r1, 3\n" - "\tsubs r0, r1\n" - "\tlsls r0, 2\n" - "\tadd r0, r9\n" - "\tldrb r0, [r0, 0x14]\n" - "\tstrh r0, [r6]\n" - "\tldrh r1, [r5]\n" - "\tlsls r0, r1, 3\n" - "\tsubs r0, r1\n" - "\tlsls r0, 2\n" - "\tadd r0, r9\n" - "\tldrb r0, [r0, 0x15]\n" - "\tstrh r0, [r7]\n" - "\tadds r5, 0x2\n" - "\tadds r7, 0x4\n" - "\tadds r6, 0x4\n" - "\tadds r4, 0x50\n" - "\tmovs r0, 0x1\n" - "\tadd r8, r0\n" - "\tmov r1, r8\n" - "\tcmp r1, 0x1\n" - "\tbls _0804240E\n" - "\tmov r0, sp\n" - "\tldrh r1, [r0]\n" - "\tcmp r1, 0xF\n" - "\tbeq _08042484\n" - "\tldrh r0, [r0, 0x4]\n" - "\tcmp r0, 0xF\n" - "\tbeq _08042484\n" - "\tcmp r1, 0xD\n" - "\tbne _0804248C\n" - "\tcmp r0, 0xD\n" - "\tbne _08042490\n" - "_08042484:\n" - "\tmovs r0, 0\n" - "\tb _080424E4\n" - "\t.align 2, 0\n" - "_08042488: .4byte gBaseStats\n" - "_0804248C:\n" - "\tcmp r0, 0xD\n" - "\tbne _0804249C\n" - "_08042490:\n" - "\tldr r1, [sp, 0xC]\n" - "\tmov r2, r10\n" - "\tldr r0, [r2, 0x4]\n" - "\tcmp r1, r0\n" - "\tbeq _080424DE\n" - "\tb _080424E2\n" - "_0804249C:\n" - "\tldr r0, [sp, 0x14]\n" - "\tldr r2, [sp, 0x20]\n" - "\tldr r1, [r2, 0x4]\n" - "\tcmp r0, r1\n" - "\tbeq _08042484\n" - "\tcmp r0, 0xFF\n" - "\tbeq _08042484\n" - "\tcmp r1, 0xFF\n" - "\tbeq _08042484\n" - "\tadd r1, sp, 0x4\n" - "\tmov r0, sp\n" - "\tbl EggGroupsOverlap\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _08042484\n" - "\tldr r0, [sp, 0x1C]\n" - "\tldrh r1, [r0, 0x2]\n" - "\tldrh r0, [r0]\n" - "\tcmp r0, r1\n" - "\tbne _080424D4\n" - "\tldr r1, [sp, 0xC]\n" - "\tmov r2, r10\n" - "\tldr r0, [r2, 0x4]\n" - "\tcmp r1, r0\n" - "\tbeq _080424E2\n" - "\tmovs r0, 0x46\n" - "\tb _080424E4\n" - "_080424D4:\n" - "\tldr r1, [sp, 0xC]\n" - "\tmov r2, r10\n" - "\tldr r0, [r2, 0x4]\n" - "\tcmp r1, r0\n" - "\tbne _080424E2\n" - "_080424DE:\n" - "\tmovs r0, 0x14\n" - "\tb _080424E4\n" - "_080424E2:\n" - "\tmovs r0, 0x32\n" - "_080424E4:\n" - "\tadd sp, 0x2C\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r1}\n" - "\tbx r1"); } -#endif u8 GetDaycareCompatibilityScoreFromSave(void) { @@ -1619,7 +981,7 @@ static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) u8 i; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { GetBoxMonNick(&daycare->mons[i], monNames[i]); AppendMonGenderSymbol(monNames[i], &daycare->mons[i]); @@ -1638,7 +1000,7 @@ static void GetDaycareLevelMenuLevelText(struct DayCare *daycare, u8 *dest) u8 level; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { level = GetLevelAfterDaycareSteps(&daycare->mons[i], daycare->misc.countersEtc.steps[i]); dest[0] = 0x34; -- cgit v1.2.3 From ed3367f9f60bf5e0ae9bf6367b903609b76afbe4 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 30 May 2018 18:05:50 -0500 Subject: Fix some sym_common fake-matching symbols --- src/battle/battle_2.c | 2 +- src/battle/battle_4.c | 4 ++-- src/battle_tower.c | 3 +-- src/braille_puzzles.c | 2 +- src/choose_party.c | 9 ++++----- src/tv.c | 12 +++++------- 6 files changed, 14 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 728a1bdf7..79d60125e 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -3698,7 +3698,7 @@ void sub_8010874(void) ewram160C9 = 6; ewram16113 = 0; for (i = 0; i < 11; i++) - gBattleResults.unk36[i] = 0; + gBattleResults.usedBalls[i] = 0; gBattleResults.battleTurnCounter = 0; gBattleResults.playerFaintCounter = 0; gBattleResults.opponentFaintCounter = 0; diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index bb36c3520..d1435d8ea 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -15770,8 +15770,8 @@ void atkEF_handleballthrow(void) } else { - if (gBattleResults.unk36[gLastUsedItem - ITEM_ULTRA_BALL] < 0xFF) - gBattleResults.unk36[gLastUsedItem - ITEM_ULTRA_BALL]++; + if (gBattleResults.usedBalls[gLastUsedItem - ITEM_ULTRA_BALL] < 0xFF) + gBattleResults.usedBalls[gLastUsedItem - ITEM_ULTRA_BALL]++; } } if (odds > 254) //poke caught diff --git a/src/battle_tower.c b/src/battle_tower.c index 99e8af4b2..4de8eba1f 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -284,7 +284,6 @@ extern u16 gTrainerBattleOpponent; extern u16 gBattleTypeFlags; extern u8 gSelectedOrderFromParty[]; extern u8 gBattleOutcome; -extern struct Pokemon gUnknown_030042FC[]; extern struct BattlePokemon gBattleMons[]; void sub_8134548(void) @@ -1795,7 +1794,7 @@ void sub_8135AC4(void) playerRecord->greeting[i] = gSaveBlock1.easyChats.unk2B28[i]; for (i = 0; i < 3; i++) - sub_803AF78(&gUnknown_030042FC[gSaveBlock2.battleTower.selectedPartyMons[i]], &playerRecord->party[i]); + sub_803AF78(&gPlayerParty[gSaveBlock2.battleTower.selectedPartyMons[i] - 1], &playerRecord->party[i]); SetBattleTowerRecordChecksum(&gSaveBlock2.battleTower.playerRecord); SaveCurrentWinStreak(); diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index f81861ca0..3cf1661b5 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -84,7 +84,7 @@ bool8 ShouldDoBrailleStrengthEffect(void) void DoBrailleStrengthEffect(void) { - FieldEffectActiveListRemove(0x28); + FieldEffectActiveListRemove(FLDEFF_USE_STRENGTH); MapGridSetMetatileIdAt(14, 26, 554); MapGridSetMetatileIdAt(15, 26, 555); MapGridSetMetatileIdAt(16, 26, 556); diff --git a/src/choose_party.c b/src/choose_party.c index 5aed5b22e..e81f53a1b 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -25,7 +25,6 @@ extern u8 gLastFieldPokeMenuOpened; extern u8 gUnknown_020384F0; extern struct UnknownPokemonStruct2 gMultiPartnerParty[3]; extern u8 gUnknown_0202E8F6; -extern struct Pokemon gUnknown_030042FC[]; extern const u16 gBattleTowerBannedSpecies[]; EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0}; @@ -204,13 +203,13 @@ static u8 sub_81220C8(void) { u8 j; - ewram1B000.unk282 = GetMonData(&gUnknown_030042FC[gSelectedOrderFromParty[i]], MON_DATA_SPECIES); - ewram1B000.unk280 = GetMonData(&gUnknown_030042FC[gSelectedOrderFromParty[i]], MON_DATA_HELD_ITEM); + ewram1B000.unk282 = GetMonData(&gPlayerParty[gSelectedOrderFromParty[i] - 1], MON_DATA_SPECIES); + ewram1B000.unk280 = GetMonData(&gPlayerParty[gSelectedOrderFromParty[i] - 1], MON_DATA_HELD_ITEM); for (j = i + 1; j < 3; j++) { - if (ewram1B000.unk282 == GetMonData(&gUnknown_030042FC[gSelectedOrderFromParty[j]], MON_DATA_SPECIES)) + if (ewram1B000.unk282 == GetMonData(&gPlayerParty[gSelectedOrderFromParty[j] - 1], MON_DATA_SPECIES)) return 0x12; - if (ewram1B000.unk280 != 0 && ewram1B000.unk280 == GetMonData(&gUnknown_030042FC[gSelectedOrderFromParty[j]], MON_DATA_HELD_ITEM)) + if (ewram1B000.unk280 != 0 && ewram1B000.unk280 == GetMonData(&gPlayerParty[gSelectedOrderFromParty[j] - 1], MON_DATA_HELD_ITEM)) return 0x13; } } diff --git a/src/tv.c b/src/tv.c index 234091d58..f95a73bea 100644 --- a/src/tv.c +++ b/src/tv.c @@ -70,7 +70,6 @@ extern u16 gSpecialVar_LastTalked; extern u8 gSpecialVar_ContestCategory; extern u8 gSpecialVar_ContestRank; -extern u8 gUnknown_03004316[11]; extern u8 gBattleOutcome; extern u16 gLastUsedItem; @@ -447,7 +446,6 @@ bool8 sub_80BF1B4(u8); void sub_80BF20C(void); extern u8 gSpecialVar_ContestCategory; extern u8 gSpecialVar_ContestRank; -extern u8 gUnknown_03004316[11]; extern u8 gBattleOutcome; void InterviewBefore_FanClubLetter(void); @@ -667,7 +665,7 @@ void GabbyAndTyBeforeInterview(void) { for (i=0; i<11; i++) { - if (gBattleResults.unk36[i] != 0) + if (gBattleResults.usedBalls[i] != 0) { gSaveBlock1.gabbyAndTyData.valA_3 = 1; break; @@ -832,7 +830,7 @@ void PutPokemonTodayCaughtOnAir(void) if (gUnknown_03005D38.var0 != -1 && sub_80BF1B4(TVSHOW_POKEMON_TODAY_CAUGHT) != 1) { for (i = 0; i < 11; i++) - total += gBattleResults.unk36[i]; + total += gBattleResults.usedBalls[i]; if (total != 0 || gBattleResults.unk5_1 != 0) { struct TVShowPokemonToday *pokemonToday; @@ -849,7 +847,7 @@ void PutPokemonTodayCaughtOnAir(void) else { for (i = 0; i < 11; i++) - total += gBattleResults.unk36[i]; + total += gBattleResults.usedBalls[i]; if (total > 0xff) total = 0xff; item = gLastUsedItem; @@ -893,8 +891,8 @@ void sub_80BE074(void) if (sub_80BF77C(0xffff) == 0) { - for (i = 0, total = 0; i < ARRAY_COUNT(gUnknown_03004316); i++) - total += gUnknown_03004316[i]; + for (i = 0, total = 0; i < 11; i++) + total += gBattleResults.usedBalls[i]; if (total > 0xff) total = 0xff; if (total > 2 && gBattleOutcome == 1) -- cgit v1.2.3 From 244f1af5708f66e215f716f41246f4d6e80cc92f Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 30 May 2018 18:06:33 -0500 Subject: Fix rotating_gate nonmatching function --- src/berry_blender.c | 55 ++++++-------------- src/cable_car_util.c | 8 --- src/rotating_gate.c | 142 +++------------------------------------------------ 3 files changed, 22 insertions(+), 183 deletions(-) (limited to 'src') diff --git a/src/berry_blender.c b/src/berry_blender.c index b8df29ec6..50c9aa700 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1,52 +1,27 @@ #include "global.h" +#include "berry.h" #include "decompress.h" -#include "palette.h" #include "event_data.h" +#include "ewram.h" +#include "item.h" +#include "link.h" +#include "m4a.h" #include "main.h" -#include "text_window.h" #include "menu.h" -#include "strings2.h" -#include "sound.h" -#include "constants/songs.h" -#include "berry.h" -#include "string_util.h" -#include "link.h" -#include "task.h" +#include "menu_cursor.h" #include "overworld.h" -#include "item.h" -#include "constants/items.h" +#include "palette.h" +#include "pokeblock.h" #include "random.h" #include "save.h" -#include "menu_cursor.h" +#include "sound.h" +#include "string_util.h" +#include "strings2.h" +#include "task.h" +#include "text_window.h" #include "trig.h" -#include "pokeblock.h" -#include "ewram.h" - -//needed to match Blender_ControlHitPitch -struct MusicPlayerInfo -{ - struct SongHeader *songHeader; - u32 status; - u8 trackCount; - u8 priority; - u8 cmd; - u8 unk_B; - u32 clock; - u8 gap[8]; - u8 *memAccArea; - u16 tempoD; - u16 tempoU; - u16 tempoI; - u16 tempoC; - u16 fadeOI; - u16 fadeOC; - u16 fadeOV; - struct MusicPlayerTrack *tracks; - struct ToneData *tone; - u32 ident; - u32 func; - u32 intp; -}; +#include "constants/songs.h" +#include "constants/items.h" #define BLENDER_SCORE_BEST 0 #define BLENDER_SCORE_GOOD 1 diff --git a/src/cable_car_util.c b/src/cable_car_util.c index 02bfbc195..85c87a07b 100644 --- a/src/cable_car_util.c +++ b/src/cable_car_util.c @@ -1,14 +1,6 @@ #include "global.h" #include "cable_car_util.h" -// static types - -// static declarations - -// rodata - -// text - void CableCarUtil_FillWrapped(void *dest, u16 value, u8 left, u8 top, u8 width, u8 height) { u8 i; diff --git a/src/rotating_gate.c b/src/rotating_gate.c index f5e8fa99a..2d2d4437d 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -872,18 +872,14 @@ static void RotatingGate_DestroyGatesOutsideViewport(void) } } -#ifdef NONMATCHING -static int RotatingGate_CanRotate(u8 gateId, int rotationDirection) +int RotatingGate_CanRotate(u8 gateId, int rotationDirection) { const struct Coords8 *armPos; u8 orientation; - s16 x; - s16 y; - int shape; - int i; - int j; + s16 x, y; + u8 shape; + int i, j; int armOrientation; - const u8 *gateArmCollisionData; u8 armIndex; if (rotationDirection == ROTATE_ANTICLOCKWISE) @@ -902,146 +898,22 @@ static int RotatingGate_CanRotate(u8 gateId, int rotationDirection) // Loop through the gate's "arms" clockwise (north, south, east, west) for (i = GATE_ARM_NORTH; i <= GATE_ARM_WEST; i++) { - armOrientation = orientation + i; - gateArmCollisionData = sRotatingGate_ArmLayout[shape][i]; - // Ensure that no part of the arm collides with the map for (j = 0; j < GATE_ARM_MAX_LENGTH; j++) { + armOrientation = orientation + i; armIndex = 2 * (armOrientation % 4) + j; - if (*gateArmCollisionData) + if (sRotatingGate_ArmLayout[shape][i * 2 + j]) { - if (MapGridIsImpassableAt( - armPos[armIndex].deltaX + x, armPos[armIndex].deltaY + y) == 1) + if (MapGridIsImpassableAt(x + armPos[armIndex].deltaX, y + armPos[armIndex].deltaY) == 1) return 0; } - gateArmCollisionData++; } } return 1; } -#else -NAKED -static int RotatingGate_CanRotate(u8 a, int puzzleType) -{ - 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 r4, r0, 24\n\ - cmp r1, 0x1\n\ - bne _080C7EAC\n\ - ldr r0, _080C7EA8 @ =sRotatingGate_ArmPositionsAntiClockwiseRotation\n\ - mov r10, r0\n\ - b _080C7EB8\n\ - .align 2, 0\n\ -_080C7EA8: .4byte sRotatingGate_ArmPositionsAntiClockwiseRotation\n\ -_080C7EAC:\n\ - cmp r1, 0x2\n\ - beq _080C7EB4\n\ -_080C7EB0:\n\ - movs r0, 0\n\ - b _080C7F48\n\ -_080C7EB4:\n\ - ldr r1, _080C7F58 @ =sRotatingGate_ArmPositionsClockwiseRotation\n\ - mov r10, r1\n\ -_080C7EB8:\n\ - adds r0, r4, 0\n\ - bl RotatingGate_GetGateOrientation\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - str r0, [sp]\n\ - ldr r0, _080C7F5C @ =gRotatingGate_PuzzleConfig\n\ - ldr r1, [r0]\n\ - lsls r0, r4, 3\n\ - adds r0, r1\n\ - ldrb r2, [r0, 0x4]\n\ - ldrh r1, [r0]\n\ - adds r1, 0x7\n\ - ldrh r0, [r0, 0x2]\n\ - adds r0, 0x7\n\ - movs r3, 0\n\ - lsls r2, 3\n\ - str r2, [sp, 0x4]\n\ - lsls r1, 16\n\ - asrs r1, 16\n\ - mov r9, r1\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - mov r8, r0\n\ -_080C7EE8:\n\ - movs r6, 0\n\ - ldr r2, [sp]\n\ - adds r7, r2, r3\n\ - lsls r0, r3, 1\n\ - adds r5, r7, 0\n\ - ldr r1, [sp, 0x4]\n\ - adds r0, r1\n\ - ldr r2, _080C7F60 @ =sRotatingGate_ArmLayout\n\ - adds r4, r0, r2\n\ -_080C7EFA:\n\ - adds r0, r5, 0\n\ - cmp r5, 0\n\ - bge _080C7F02\n\ - adds r0, r7, 0x3\n\ -_080C7F02:\n\ - asrs r0, 2\n\ - lsls r0, 2\n\ - subs r0, r5, r0\n\ - lsls r0, 1\n\ - adds r0, r6\n\ - lsls r0, 24\n\ - lsrs r1, r0, 24\n\ - ldrb r0, [r4]\n\ - cmp r0, 0\n\ - beq _080C7F38\n\ - lsls r1, 2\n\ - add r1, r10\n\ - movs r0, 0\n\ - ldrsb r0, [r1, r0]\n\ - add r0, r9\n\ - ldrb r1, [r1, 0x1]\n\ - lsls r1, 24\n\ - asrs r1, 24\n\ - add r1, r8\n\ - str r3, [sp, 0x8]\n\ - bl MapGridIsImpassableAt\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - ldr r3, [sp, 0x8]\n\ - cmp r0, 0x1\n\ - beq _080C7EB0\n\ -_080C7F38:\n\ - adds r4, 0x1\n\ - adds r6, 0x1\n\ - cmp r6, 0x1\n\ - ble _080C7EFA\n\ - adds r3, 0x1\n\ - cmp r3, 0x3\n\ - ble _080C7EE8\n\ - movs r0, 0x1\n\ -_080C7F48:\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 {r1}\n\ - bx r1\n\ - .align 2, 0\n\ -_080C7F58: .4byte sRotatingGate_ArmPositionsClockwiseRotation\n\ -_080C7F5C: .4byte gRotatingGate_PuzzleConfig\n\ -_080C7F60: .4byte sRotatingGate_ArmLayout\n\ -.syntax divided\n"); -} -#endif static int RotatingGate_HasArm(u8 gateId, u8 armInfo) { -- cgit v1.2.3 From 41578b45d0b4b43354ca88237f7c2fdfa24f3d32 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 30 May 2018 18:06:44 -0500 Subject: Fix nonmatching in decoration --- src/decoration.c | 47 ++++++----------------------------------------- 1 file changed, 6 insertions(+), 41 deletions(-) (limited to 'src') diff --git a/src/decoration.c b/src/decoration.c index 6c1953677..448e684ad 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1856,48 +1856,13 @@ void sub_80FECE0(u8 decoCat) sub_8072AB0(gDecorations[gUnknown_020388D0[decoCat]].description, 0x80, 0x68, 0x68, 0x30, 0x1); } #elif GERMAN -NAKED -void sub_80FECE0(u8 decoCat) +int sub_80FECE0(u8 decoCat) { - asm(".syntax unified\n\ - push {lr}\n\ - sub sp, 0x8\n\ - lsls r0, 24\n\ - lsrs r2, r0, 24\n\ - ldr r0, _080FED18 @ =gUnknown_020388D5\n\ - ldrb r0, [r0]\n\ - cmp r2, r0\n\ - beq _080FED24\n\ - ldr r1, _080FED1C @ =gDecorations\n\ - ldr r0, _080FED20 @ =gUnknown_020388D0\n\ - ldr r0, [r0]\n\ - adds r0, r2\n\ - ldrb r0, [r0]\n\ - lsls r0, 5\n\ - adds r1, 0x18\n\ - adds r0, r1\n\ - ldr r0, [r0]\n\ - movs r1, 0x30\n\ - str r1, [sp]\n\ - movs r1, 0x1\n\ - str r1, [sp, 0x4]\n\ - movs r1, 0x80\n\ - movs r2, 0x68\n\ - movs r3, 0x68\n\ - bl sub_8072AB0\n\ - movs r0, 0x1\n\ - b _080FED26\n\ - .align 2, 0\n\ -_080FED18: .4byte gUnknown_020388D5\n\ -_080FED1C: .4byte gDecorations\n\ -_080FED20: .4byte gUnknown_020388D0\n\ -_080FED24:\n\ - movs r0, 0\n\ -_080FED26:\n\ - add sp, 0x8\n\ - pop {r1}\n\ - bx r1\n\ - .syntax divided\n"); + if (decoCat == gUnknown_020388D5) + return FALSE; + + sub_8072AB0(gDecorations[gUnknown_020388D0[decoCat]].description, 0x80, 0x68, 0x68, 0x30, 0x1); + return TRUE; } #endif -- cgit v1.2.3 From 49a5bda839e5873e74017192ba1a33851897b025 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 5 Jun 2018 17:53:03 -0500 Subject: Label/document field_control_avatar.c and a few misc things --- src/battle/battle_setup.c | 8 +- src/braille_puzzles.c | 4 +- src/debug/kagaya_debug_menu.c | 2 +- src/event_obj_lock.c | 12 +- src/event_object_movement.c | 3 +- src/field_control_avatar.c | 480 ++++++++++++++++++++++-------------------- src/field_effect.c | 4 +- src/field_fadetransition.c | 2 +- src/fldeff_cut.c | 2 +- src/item_menu.c | 8 +- src/item_use.c | 4 +- src/menu.c | 2 +- src/metatile_behavior.c | 8 +- src/overworld.c | 30 +-- src/pokemon_menu.c | 2 +- src/start_menu.c | 2 +- src/wild_encounter.c | 12 +- 17 files changed, 304 insertions(+), 281 deletions(-) (limited to 'src') diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index b5c362258..47211b718 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -484,8 +484,8 @@ static void Task_BattleStart(u8 taskId) if (IsBattleTransitionDone() == TRUE) { SetMainCallback2(sub_800E7C4); - prev_quest_postbuffer_cursor_backup_reset(); - overworld_poison_timer_set(); + RestartWildEncounterImmunitySteps(); + ClearPoisonStepCounter(); DestroyTask(taskId); } break; @@ -876,8 +876,8 @@ static void CB2_StartFirstBattle(void) gBattleTypeFlags = BATTLE_TYPE_FIRST_BATTLE; gMain.savedCallback = CB2_EndFirstBattle; SetMainCallback2(sub_800E7C4); - prev_quest_postbuffer_cursor_backup_reset(); - overworld_poison_timer_set(); + RestartWildEncounterImmunitySteps(); + ClearPoisonStepCounter(); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); } diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 3cf1661b5..7f26f0a9b 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -185,7 +185,7 @@ void Task_BrailleWait(u8 taskId) data[0] = 4; break; } - sub_8064E2C(); + ScriptUnfreezeEventObjects(); DestroyTask(taskId); ScriptContext2_Disable(); break; @@ -195,7 +195,7 @@ void Task_BrailleWait(u8 taskId) data[0] = 4; break; case 4: - sub_8064E2C(); + ScriptUnfreezeEventObjects(); ScriptContext1_SetupScript(S_OpenRegiceChamber); DestroyTask(taskId); break; diff --git a/src/debug/kagaya_debug_menu.c b/src/debug/kagaya_debug_menu.c index 7bb5cc1d6..89a36b2da 100644 --- a/src/debug/kagaya_debug_menu.c +++ b/src/debug/kagaya_debug_menu.c @@ -170,7 +170,7 @@ u8 debug_sub_80B0800(void) u8 r2; CloseMenu(); - r2 = sub_8068F18(); + r2 = TrySetDiveWarp(); if (r2 != 0) { gFieldEffectArguments[0] = 0; diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 624cf0b35..33f37e87e 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -86,22 +86,22 @@ void LockSelectedEventObject(void) } } -void sub_8064E2C(void) +void ScriptUnfreezeEventObjects(void) { - u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80A2178(); UnfreezeEventObjects(); } void unref_sub_8064E5C(void) { - u8 objectId; + u8 playerObjectId; if (gEventObjects[gSelectedEventObject].active) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); - objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + playerObjectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80A2178(); UnfreezeEventObjects(); } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 319274f98..d128bf30f 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -4603,8 +4603,7 @@ bool8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject) bool8 EventObjectClearHeldMovementIfFinished(struct EventObject *eventObject) { - u8 heldMovementStatus; - heldMovementStatus = EventObjectCheckHeldMovementStatus(eventObject); + u8 heldMovementStatus = EventObjectCheckHeldMovementStatus(eventObject); if (heldMovementStatus != 0 && heldMovementStatus != 16) EventObjectClearHeldMovementIfActive(eventObject); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 1252f0296..dc35d6fb5 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -38,8 +38,8 @@ extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; extern u8 gUnknown_020297ED; -static EWRAM_DATA u8 gUnknown_0202E8C0 = 0; -static EWRAM_DATA u16 gUnknown_0202E8C2 = 0; +static EWRAM_DATA u8 sWildEncounterImmunitySteps = 0; +static EWRAM_DATA u16 sPreviousPlayerMetatileBehavior = 0; u8 gSelectedEventObject; @@ -82,40 +82,44 @@ extern u8 S_EggHatch[]; extern u8 gUnknown_0815FD0D[]; extern u8 gUnknown_081C6BDE[]; -static void player_get_pos_to_and_height(struct MapPosition *); -static void player_get_next_pos_and_height(struct MapPosition *); -static u16 cur_mapdata_block_role_at_player_pos(int); -static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c); -static u8 *TryGetScriptOnPressingA(struct MapPosition *position, u8 b, u8 c); -static u8 *sub_8068364(struct MapPosition *, u8, u8); -static u8 *TryGetInvisibleEventObjectScript(struct MapPosition *, u8, u8 c); -static u8 *sub_8068500(struct MapPosition *, u8, u8); -static u8 *TryGetFieldMoveScript(struct MapPosition *, u8, u8); -static bool32 sub_8068770(void); -static bool32 sub_80687A4(void); -static bool8 sub_80687E4(struct MapPosition *, u16, u16); -static void happiness_algorithm_step(void); -static bool8 overworld_poison_step(void); -static bool8 is_it_battle_time_3(u16); +static void GetPlayerPosition(struct MapPosition *); +static void GetInFrontOfPlayerPosition(struct MapPosition *); +static u16 GetPlayerCurMetatileBehavior(int); +static bool8 TryStartInteractionScript(struct MapPosition*, u16, u8); +static u8 *GetInteractionScript(struct MapPosition*, u8, u8); +static u8 *GetInteractedEventObjectScript(struct MapPosition *, u8, u8); +static u8 *GetInteractedBackgroundEventScript(struct MapPosition *, u8, u8); +static u8 *GetInteractedMetatileScript(struct MapPosition *, u8, u8); +static u8 *GetInteractedWaterScript(struct MapPosition *, u8, u8); +static bool32 TrySetupDiveDownScript(void); +static bool32 TrySetupDiveEmergeScript(void); +static bool8 TryStartStepBasedScript(struct MapPosition *, u16, u16); +static void UpdateHappinessStep(void); +static bool8 UpdatePoisonStepCounter(void); +static bool8 CheckStandardWildEncounter(u16); static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8); -static bool8 sub_8068B30(u16); -static bool8 is_non_stair_warp_tile(u16, u8); -static s8 map_warp_check_packed(struct MapHeader *, struct MapPosition *); +static bool8 IsWarpMetatileBehavior(u16); +static bool8 IsArrowWarpMetatileBehavior(u16, u8); +static s8 FindWarpEventByPosition(struct MapHeader *, struct MapPosition *); static void sub_8068C30(struct MapHeader *, s8, struct MapPosition *); static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); -static s8 map_warp_check(struct MapHeader *, u16, u16, u8); -static u8 *mapheader_trigger_activate_at(struct MapHeader *, u16, u16, u8); -static struct BgEvent *FindInvisibleEventObjectByPosition(struct MapHeader *, u16, u16, u8);; +static s8 FindWarpEventByCoordsAndId(struct MapHeader *, u16, u16, u8); +static u8 *GetCoordEventScriptAtPosition(struct MapHeader *, u16, u16, u8); +static struct BgEvent *FindBackgroundEventByPosition(struct MapHeader *, u16, u16, u8); +static bool8 TryStartCoordEventScript(struct MapPosition *); +static bool8 TryStartWarpEventScript(struct MapPosition *, u16); +static bool8 TryStartCrackedFloorHoleScript(u16); +static bool8 TryStartStepCountScript(void); -void FieldClearPlayerInput(struct FieldInput *input) +void ClearPlayerFieldInput(struct FieldInput *input) { input->pressedAButton = 0; - input->input_field_0_1 = 0; + input->checkStandardWildEncounter = 0; input->pressedStartButton = 0; input->pressedSelectButton = 0; input->input_field_0_4 = 0; input->input_field_0_5 = 0; - input->input_field_0_6 = 0; + input->tookStep = 0; input->pressedBButton = 0; input->input_field_1_0 = 0; input->input_field_1_1 = 0; @@ -124,13 +128,13 @@ void FieldClearPlayerInput(struct FieldInput *input) input->dpadDirection = 0; } -void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) +void GetPlayerFieldInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) { - u8 r6 = gPlayerAvatar.tileTransitionState; - u8 r9 = gPlayerAvatar.runningState; - bool8 forcedMove = MetatileBehavior_IsMoveTile(cur_mapdata_block_role_at_player_pos(r9)); + u8 tileTransitionState = gPlayerAvatar.tileTransitionState; + u8 runningState = gPlayerAvatar.runningState; + bool8 forcedMove = MetatileBehavior_IsMoveTile(GetPlayerCurMetatileBehavior(runningState)); - if ((r6 == 2 && forcedMove == FALSE) || r6 == 0) + if ((tileTransitionState == T_TILE_CENTER && forcedMove == FALSE) || tileTransitionState == T_NOT_MOVING) { if (GetPlayerSpeed() != 4) { @@ -143,19 +147,22 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) if (newKeys & B_BUTTON) input->pressedBButton = TRUE; } + if (heldKeys & (DPAD_UP | DPAD_DOWN | DPAD_LEFT | DPAD_RIGHT)) { input->input_field_0_4 = TRUE; input->input_field_0_5 = TRUE; } } + if (forcedMove == FALSE) { - if (r6 == 2 && r9 == 2) - input->input_field_0_6 = TRUE; - if (forcedMove == FALSE && r6 == 2) - input->input_field_0_1 = TRUE; + if (tileTransitionState == T_TILE_CENTER && runningState == MOVING) + input->tookStep = TRUE; + if (forcedMove == FALSE && tileTransitionState == T_TILE_CENTER) + input->checkStandardWildEncounter = TRUE; } + if (heldKeys & DPAD_UP) input->dpadDirection = DIR_NORTH; else if (heldKeys & DPAD_DOWN) @@ -164,19 +171,21 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) input->dpadDirection = DIR_WEST; else if (heldKeys & DPAD_RIGHT) input->dpadDirection = DIR_EAST; + #if DEBUG if ((heldKeys & R_BUTTON) && input->pressedStartButton) { input->input_field_1_2 = TRUE; input->pressedStartButton = FALSE; } + if (gUnknown_020297ED) { if (heldKeys & R_BUTTON) { input->input_field_1_1 = TRUE; - input->input_field_0_6 = FALSE; - input->input_field_0_1 = FALSE; + input->tookStep = FALSE; + input->checkStandardWildEncounter = FALSE; input->input_field_0_4 = FALSE; input->input_field_0_5 = FALSE; if (newKeys & SELECT_BUTTON) @@ -185,23 +194,24 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) input->pressedSelectButton = FALSE; } } + if (heldKeys & L_BUTTON) input->input_field_1_3 = TRUE; } #endif } -int sub_8068024(struct FieldInput *input) +int ProcessPlayerFieldInput(struct FieldInput *input) { struct MapPosition position; - u8 r6; - u16 r4; + u8 playerDirection; + u16 metatileBehavior; - r6 = GetPlayerFacingDirection(); - player_get_pos_to_and_height(&position); - r4 = MapGridGetMetatileBehaviorAt(position.x, position.y); + playerDirection = GetPlayerFacingDirection(); + GetPlayerPosition(&position); + metatileBehavior = MapGridGetMetatileBehaviorAt(position.x, position.y); #if DEBUG - if (input->input_field_1_3 && dive_warp(&position, r4) == TRUE) + if (input->input_field_1_3 && dive_warp(&position, metatileBehavior) == TRUE) return TRUE; #endif @@ -219,31 +229,33 @@ int sub_8068024(struct FieldInput *input) mapheader_run_first_tag2_script_list_match() == 1) return TRUE; - if (input->pressedBButton && sub_80687A4() == 1) + if (input->pressedBButton && TrySetupDiveEmergeScript() == TRUE) return TRUE; - if (input->input_field_0_6) + if (input->tookStep) { IncrementGameStat(GAME_STAT_STEPS); - if (sub_80687E4(&position, r4, r6) == 1) + if (TryStartStepBasedScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } - if (input->input_field_0_1 && is_it_battle_time_3(r4) == 1) + if (input->checkStandardWildEncounter && CheckStandardWildEncounter(metatileBehavior) == TRUE) return TRUE; - if (input->input_field_0_4 && input->dpadDirection == r6) + if (input->input_field_0_4 && input->dpadDirection == playerDirection) { - if (mapheader_run_first_tag2_script_list_match_conditionally(&position, r4, r6) == 1) + if (mapheader_run_first_tag2_script_list_match_conditionally(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } - player_get_next_pos_and_height(&position); - r4 = MapGridGetMetatileBehaviorAt(position.x, position.y); - if (input->pressedAButton && sub_80681F0(&position, r4, r6) == 1) + + GetInFrontOfPlayerPosition(&position); + metatileBehavior = MapGridGetMetatileBehaviorAt(position.x, position.y); + if (input->pressedAButton && TryStartInteractionScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; - if (input->input_field_0_5 && input->dpadDirection == r6) + + if (input->input_field_0_5 && input->dpadDirection == playerDirection) { - if (map_warp_consider_2_to_inside(&position, r4, r6) == 1) + if (map_warp_consider_2_to_inside(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } - if (input->pressedAButton && sub_8068770() == 1) + if (input->pressedAButton && TrySetupDiveDownScript() == TRUE) return TRUE; if (input->pressedStartButton) { @@ -251,7 +263,7 @@ int sub_8068024(struct FieldInput *input) sub_8071310(); return TRUE; } - if (input->pressedSelectButton && sub_80A6D1C() == TRUE) + if (input->pressedSelectButton && UseRegisteredKeyItem() == TRUE) return TRUE; #if DEBUG @@ -271,13 +283,13 @@ int sub_8068024(struct FieldInput *input) return FALSE; } -static void player_get_pos_to_and_height(struct MapPosition *position) +static void GetPlayerPosition(struct MapPosition *position) { PlayerGetDestCoords(&position->x, &position->y); position->height = PlayerGetZCoord(); } -static void player_get_next_pos_and_height(struct MapPosition *position) +static void GetInFrontOfPlayerPosition(struct MapPosition *position) { s16 x, y; @@ -289,7 +301,7 @@ static void player_get_next_pos_and_height(struct MapPosition *position) position->height = 0; } -static u16 cur_mapdata_block_role_at_player_pos(int unused) +static u16 GetPlayerCurMetatileBehavior(int runningState) { s16 x, y; @@ -297,13 +309,13 @@ static u16 cur_mapdata_block_role_at_player_pos(int unused) return MapGridGetMetatileBehaviorAt(x, y); } -static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c) +static bool8 TryStartInteractionScript(struct MapPosition *position, u16 metatileBehavior, u8 direction) { - u8 *script = TryGetScriptOnPressingA(position, b, c); - + u8 *script = GetInteractionScript(position, metatileBehavior, direction); if (script == NULL) return FALSE; + // Play computer noise for PC-related scripts. if (script != gUnknown_0815281E && script != gUnknown_08152C39 && script != gUnknown_0815F36C @@ -315,98 +327,105 @@ static bool8 sub_80681F0(struct MapPosition *position, u16 b, u8 c) return TRUE; } -static u8 *TryGetScriptOnPressingA(struct MapPosition *position, u8 b, u8 c) +static u8 *GetInteractionScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - u8 *script; - - script = sub_8068364(position, b, c); + u8 *script = GetInteractedEventObjectScript(position, metatileBehavior, direction); if (script != NULL) return script; - script = TryGetInvisibleEventObjectScript(position, b, c); + + script = GetInteractedBackgroundEventScript(position, metatileBehavior, direction); if (script != NULL) return script; - script = sub_8068500(position, b, c); + + script = GetInteractedMetatileScript(position, metatileBehavior, direction); if (script != NULL) return script; - script = TryGetFieldMoveScript(position, b, c); + + script = GetInteractedWaterScript(position, metatileBehavior, direction); if (script != NULL) return script; return NULL; } -u8 *sub_80682A8(struct MapPosition *position, u8 unused, u8 c) +u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - u8 r3; + u8 eventObjectId; s32 i; if (!MetatileBehavior_IsCounter(MapGridGetMetatileBehaviorAt(position->x, position->y))) - r3 = GetEventObjectIdByXYZ(position->x, position->y, position->height); + eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height); else - r3 = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[c].x, position->y + gUnknown_0821664C[c].y, position->height); - if (r3 == 16 || gEventObjects[r3].localId == 0xFF) + eventObjectId = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[direction].x, position->y + gUnknown_0821664C[direction].y, position->height); + + if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) return NULL; + for (i = 0; i < 4; i++) { - if (gLinkPlayerEventObjects[i].active == TRUE && gLinkPlayerEventObjects[i].eventObjId == r3) + if (gLinkPlayerEventObjects[i].active == TRUE && gLinkPlayerEventObjects[i].eventObjId == eventObjectId) return NULL; } - gSelectedEventObject = r3; - gSpecialVar_LastTalked = gEventObjects[r3].localId; - gSpecialVar_Facing = c; - return GetEventObjectScriptPointerByEventObjectId(r3); + + gSelectedEventObject = eventObjectId; + gSpecialVar_LastTalked = gEventObjects[eventObjectId].localId; + gSpecialVar_Facing = direction; + return GetEventObjectScriptPointerByEventObjectId(eventObjectId); } -static u8 *sub_8068364(struct MapPosition *position, u8 b, u8 c) +static u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - u8 r3; + u8 eventObjectId; u8 *script; - r3 = GetEventObjectIdByXYZ(position->x, position->y, position->height); - if (r3 == 16 || gEventObjects[r3].localId == 0xFF) + eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height); + if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) { - if (MetatileBehavior_IsCounter(b) != TRUE) + if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE) return NULL; - r3 = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[c].x, position->y + gUnknown_0821664C[c].y, position->height); - if (r3 == 16 || gEventObjects[r3].localId == 0xFF) + + // Look for an event object on the other side of the counter. + eventObjectId = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[direction].x, position->y + gUnknown_0821664C[direction].y, position->height); + if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) return NULL; } - //_080683E8 - gSelectedEventObject = r3; - gSpecialVar_LastTalked = gEventObjects[r3].localId; - gSpecialVar_Facing = c; - script = GetEventObjectScriptPointerByEventObjectId(r3); + + gSelectedEventObject = eventObjectId; + gSpecialVar_LastTalked = gEventObjects[eventObjectId].localId; + gSpecialVar_Facing = direction; + script = GetEventObjectScriptPointerByEventObjectId(eventObjectId); script = GetRamScript(gSpecialVar_LastTalked, script); return script; } -static u8 *TryGetInvisibleEventObjectScript(struct MapPosition *position, u8 unused, u8 c) +static u8 *GetInteractedBackgroundEventScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { - struct BgEvent *bgEvent = FindInvisibleEventObjectByPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); + struct BgEvent *bgEvent = FindBackgroundEventByPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); if (bgEvent == NULL) return NULL; if (bgEvent->bgUnion.script == NULL) return gUnknown_081C6C02; + switch (bgEvent->kind) { case 0: default: return bgEvent->bgUnion.script; case 1: - if (c != 2) + if (direction != DIR_NORTH) return NULL; break; case 2: - if (c != 1) + if (direction != DIR_SOUTH) return NULL; break; case 3: - if (c != 4) + if (direction != DIR_EAST) return NULL; break; case 4: - if (c != 3) + if (direction != DIR_WEST) return NULL; break; case 5: @@ -418,7 +437,7 @@ static u8 *TryGetInvisibleEventObjectScript(struct MapPosition *position, u8 unu return NULL; return HiddenItemScript; case 8: - if (c == 2) + if (direction == DIR_NORTH) { gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId; if (sub_80BC050()) @@ -426,63 +445,67 @@ static u8 *TryGetInvisibleEventObjectScript(struct MapPosition *position, u8 unu } return NULL; } + return bgEvent->bgUnion.script; } -static u8 *sub_8068500(struct MapPosition *position, u8 b, u8 c) +static u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 metatileBehavior, u8 direction) { s8 height; - if (MetatileBehavior_IsPlayerFacingTVScreen(b, c) == TRUE) + if (MetatileBehavior_IsPlayerFacingTVScreen(metatileBehavior, direction) == TRUE) return Event_TV; - if (MetatileBehavior_IsPC(b) == TRUE) + if (MetatileBehavior_IsPC(metatileBehavior) == TRUE) return gUnknown_081A0009; - if (MetatileBehavior_IsClosedSootopolisGymDoor(b) == TRUE) + if (MetatileBehavior_IsClosedSootopolisGymDoor(metatileBehavior) == TRUE) return ClosedSootopolisGymDoorScript; - if (is_tile_x84(b) == TRUE) + if (is_tile_x84(metatileBehavior) == TRUE) return gUnknown_081A4363; - if (MetatileBehavior_IsPokeblockFeeder(b) == TRUE) + if (MetatileBehavior_IsPokeblockFeeder(metatileBehavior) == TRUE) return gUnknown_081C346A; - if (MetatileBehavior_IsTrickHousePuzzleDoor(b) == TRUE) + if (MetatileBehavior_IsTrickHousePuzzleDoor(metatileBehavior) == TRUE) return gUnknown_081616E1; - if (MetatileBehavior_IsRegionMap(b) == TRUE) + if (MetatileBehavior_IsRegionMap(metatileBehavior) == TRUE) return Event_WorldMap; - if (sub_805791C(b) == TRUE) + if (sub_805791C(metatileBehavior) == TRUE) return S_RunningShoesManual; - if (MetatileBehavior_IsPictureBookShelf(b) == TRUE) + if (MetatileBehavior_IsPictureBookShelf(metatileBehavior) == TRUE) return PictureBookShelfScript; - if (MetatileBehavior_IsBookShelf(b) == TRUE) + if (MetatileBehavior_IsBookShelf(metatileBehavior) == TRUE) return BookshelfScript; - if (MetatileBehavior_IsPokeCenterBookShelf(b) == TRUE) + if (MetatileBehavior_IsPokeCenterBookShelf(metatileBehavior) == TRUE) return PokemonCenterBookshelfScript; - if (MetatileBehavior_IsVase(b) == TRUE) + if (MetatileBehavior_IsVase(metatileBehavior) == TRUE) return VaseScript; - if (MetatileBehavior_IsTrashCan(b) == TRUE) + if (MetatileBehavior_IsTrashCan(metatileBehavior) == TRUE) return TrashCanScript; - if (MetatileBehavior_IsShopShelf(b) == TRUE) + if (MetatileBehavior_IsShopShelf(metatileBehavior) == TRUE) return ShopShelfScript; - if (MetatileBehavior_IsBlueprint(b) == TRUE) + if (MetatileBehavior_IsBlueprint(metatileBehavior) == TRUE) return BlueprintScript; + height = position->height; if (height == MapGridGetZCoordAt(position->x, position->y)) { - if (MetatileBehavior_IsSecretBasePC(b) == TRUE) + if (MetatileBehavior_IsSecretBasePC(metatileBehavior) == TRUE) return gUnknown_0815F36C; - if (sub_805724C(b) == TRUE) + if (sub_805724C(metatileBehavior) == TRUE) return gUnknown_0815F43A; - if (sub_8057364(b) == TRUE) + if (sub_8057364(metatileBehavior) == TRUE) return gUnknown_0815F523; - if (sub_8057378(b) == TRUE) + if (sub_8057378(metatileBehavior) == TRUE) return gUnknown_0815F528; } + return NULL; } -static u8 *TryGetFieldMoveScript(struct MapPosition *unused1, u8 b, u8 unused2) +static u8 *GetInteractedWaterScript(struct MapPosition *unused1, u8 metatileBehavior, u8 direction) { if (FlagGet(FLAG_BADGE05_GET) == TRUE && PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE) return UseSurfScript; - if (MetatileBehavior_IsWaterfall(b) == TRUE) + + if (MetatileBehavior_IsWaterfall(metatileBehavior) == TRUE) { if (FlagGet(FLAG_BADGE08_GET) == TRUE && IsPlayerSurfingNorth() == TRUE) return S_UseWaterfall; @@ -492,9 +515,9 @@ static u8 *TryGetFieldMoveScript(struct MapPosition *unused1, u8 b, u8 unused2) return NULL; } -static bool32 sub_8068770(void) +static bool32 TrySetupDiveDownScript(void) { - if (FlagGet(FLAG_BADGE07_GET) && sub_8068F18() == 2) + if (FlagGet(FLAG_BADGE07_GET) && TrySetDiveWarp() == 2) { ScriptContext1_SetupScript(UseDiveScript); return TRUE; @@ -502,9 +525,9 @@ static bool32 sub_8068770(void) return FALSE; } -static bool32 sub_80687A4(void) +static bool32 TrySetupDiveEmergeScript(void) { - if (FlagGet(FLAG_BADGE07_GET) && gMapHeader.mapType == MAP_TYPE_UNDERWATER && sub_8068F18() == 1) + if (FlagGet(FLAG_BADGE07_GET) && gMapHeader.mapType == MAP_TYPE_UNDERWATER && TrySetDiveWarp() == 1) { ScriptContext1_SetupScript(S_UseDiveUnderwater); return TRUE; @@ -512,24 +535,24 @@ static bool32 sub_80687A4(void) return FALSE; } -static bool8 sub_80687E4(struct MapPosition *position, u16 b, u16 unused) +static bool8 TryStartStepBasedScript(struct MapPosition *position, u16 metatileBehavior, u16 direction) { - if (mapheader_trigger_activate_at__run_now(position) == TRUE) + if (TryStartCoordEventScript(position) == TRUE) return TRUE; - if (sub_8068A64(position, b) == TRUE) + if (TryStartWarpEventScript(position, metatileBehavior) == TRUE) return TRUE; - if (sub_8068870(b) == TRUE) + if (TryStartCrackedFloorHoleScript(metatileBehavior) == TRUE) return TRUE; - if (sub_8068894() == TRUE) + if (TryStartStepCountScript() == TRUE) return TRUE; if (UpdateRepelCounter() == TRUE) return TRUE; return FALSE; } -bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *position) +bool8 TryStartCoordEventScript(struct MapPosition *position) { - u8 *script = mapheader_trigger_activate_at(&gMapHeader, position->x - 7, position->y - 7, position->height); + u8 *script = GetCoordEventScriptAtPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); if (script == NULL) return FALSE; @@ -537,10 +560,9 @@ bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *position) return TRUE; } -//can be u8, u16, or u32 -bool8 sub_8068870(u16 a) +bool8 TryStartCrackedFloorHoleScript(u16 metatileBehavior) { - if (MetatileBehavior_IsCrackedFloorHole(a)) + if (MetatileBehavior_IsCrackedFloorHole(metatileBehavior)) { ScriptContext1_SetupScript(S_FallDownHole); return TRUE; @@ -548,11 +570,11 @@ bool8 sub_8068870(u16 a) return FALSE; } -bool8 sub_8068894(void) +bool8 TryStartStepCountScript(void) { IncrementRematchStepCounter(); - happiness_algorithm_step(); - if (overworld_poison_step() == TRUE) + UpdateHappinessStep(); + if (UpdatePoisonStepCounter() == TRUE) { ScriptContext1_SetupScript(gUnknown_081A14B8); return TRUE; @@ -573,12 +595,12 @@ bool8 sub_8068894(void) return FALSE; } -void unref_sub_80688F8(void) +void Unref_ClearHappinessStepCounter(void) { VarSet(VAR_HAPPINESS_STEP_COUNTER, 0); } -static void happiness_algorithm_step(void) +static void UpdateHappinessStep(void) { u16 *ptr = GetVarPointer(VAR_HAPPINESS_STEP_COUNTER); int i; @@ -596,12 +618,12 @@ static void happiness_algorithm_step(void) } } -void overworld_poison_timer_set(void) +void ClearPoisonStepCounter(void) { VarSet(VAR_POISON_STEP_COUNTER, 0); } -static bool8 overworld_poison_step(void) +static bool8 UpdatePoisonStepCounter(void) { u16 *ptr; @@ -626,75 +648,75 @@ static bool8 overworld_poison_step(void) return FALSE; } -void prev_quest_postbuffer_cursor_backup_reset(void) +void RestartWildEncounterImmunitySteps(void) { - gUnknown_0202E8C0 = 0; + // Starts at 0 and counts up to 4 steps. + sWildEncounterImmunitySteps = 0; } -static bool8 is_it_battle_time_3(u16 a) +static bool8 CheckStandardWildEncounter(u16 metatileBehavior) { - if (gUnknown_0202E8C0 < 4) + if (sWildEncounterImmunitySteps < 4) { - gUnknown_0202E8C0++; - gUnknown_0202E8C2 = a; + sWildEncounterImmunitySteps++; + sPreviousPlayerMetatileBehavior = metatileBehavior; return FALSE; } - if (StandardWildEncounter(a, gUnknown_0202E8C2) == TRUE) + + if (StandardWildEncounter(metatileBehavior, sPreviousPlayerMetatileBehavior) == TRUE) { - gUnknown_0202E8C0 = 0; - gUnknown_0202E8C2 = a; + sWildEncounterImmunitySteps = 0; + sPreviousPlayerMetatileBehavior = metatileBehavior; return TRUE; } - else - { - gUnknown_0202E8C2 = a; - return FALSE; - } + + sPreviousPlayerMetatileBehavior = metatileBehavior; + return FALSE; } -static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 b, u8 c) +static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 metatileBehavior, u8 direction) { - s8 r6 = map_warp_check_packed(&gMapHeader, position); + s8 warpEventId = FindWarpEventByPosition(&gMapHeader, position); - if (is_non_stair_warp_tile(b, c) == TRUE && r6 != -1) + if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != -1) { walkrun_find_lowest_active_bit_in_bitfield(); - sub_8068C30(&gMapHeader, r6, position); + sub_8068C30(&gMapHeader, warpEventId, position); sub_8080E88(); return TRUE; } return FALSE; } -bool8 sub_8068A64(struct MapPosition *position, u16 b) +bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileBehavior) { - s8 r4 = map_warp_check_packed(&gMapHeader, position); + s8 warpEventId = FindWarpEventByPosition(&gMapHeader, position); - if (r4 != -1 && sub_8068B30(b) == TRUE) + if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { walkrun_find_lowest_active_bit_in_bitfield(); - sub_8068C30(&gMapHeader, r4, position); - if (MetatileBehavior_IsEscalator(b) == TRUE) + sub_8068C30(&gMapHeader, warpEventId, position); + if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE) { - sub_8080F2C(b); + sub_8080F2C(metatileBehavior); return TRUE; } - if (MetatileBehavior_IsLavaridgeB1FWarp(b) == TRUE) + if (MetatileBehavior_IsLavaridgeB1FWarp(metatileBehavior) == TRUE) { sub_8080F48(); return TRUE; } - if (MetatileBehavior_IsLavaridge1FWarp(b) == TRUE) + if (MetatileBehavior_IsLavaridge1FWarp(metatileBehavior) == TRUE) { sub_8080F58(); return TRUE; } - if (MetatileBehavior_IsAquaHideoutWarp(b) == TRUE) + if (MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) == TRUE) { sub_8080F68(); return TRUE; } - if (MetatileBehavior_IsMtPyreHole(b) == TRUE) + if (MetatileBehavior_IsMtPyreHole(metatileBehavior) == TRUE) { ScriptContext1_SetupScript(gUnknown_081C6BDE); return TRUE; @@ -705,44 +727,44 @@ bool8 sub_8068A64(struct MapPosition *position, u16 b) return FALSE; } -static bool8 sub_8068B30(u16 a) +static bool8 IsWarpMetatileBehavior(u16 metatileBehavior) { - if (MetatileBehavior_IsWarpDoor(a) != TRUE - && MetatileBehavior_IsLadder(a) != TRUE - && MetatileBehavior_IsEscalator(a) != TRUE - && MetatileBehavior_IsNonAnimDoor(a) != TRUE - && MetatileBehavior_IsLavaridgeB1FWarp(a) != TRUE - && MetatileBehavior_IsLavaridge1FWarp(a) != TRUE - && MetatileBehavior_IsAquaHideoutWarp(a) != TRUE - && MetatileBehavior_IsMtPyreHole(a) != TRUE) + if (MetatileBehavior_IsWarpDoor(metatileBehavior) != TRUE + && MetatileBehavior_IsLadder(metatileBehavior) != TRUE + && MetatileBehavior_IsEscalator(metatileBehavior) != TRUE + && MetatileBehavior_IsNonAnimDoor(metatileBehavior) != TRUE + && MetatileBehavior_IsLavaridgeB1FWarp(metatileBehavior) != TRUE + && MetatileBehavior_IsLavaridge1FWarp(metatileBehavior) != TRUE + && MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) != TRUE + && MetatileBehavior_IsMtPyreHole(metatileBehavior) != TRUE) return FALSE; return TRUE; } -static bool8 is_non_stair_warp_tile(u16 a, u8 b) +static bool8 IsArrowWarpMetatileBehavior(u16 metatileBehavior, u8 direction) { - switch (b) + switch (direction) { - case 2: - return MetatileBehavior_IsNorthArrowWarp(a); - case 1: - return MetatileBehavior_IsSouthArrowWarp(a); - case 3: - return MetatileBehavior_IsWestArrowWarp(a); - case 4: - return MetatileBehavior_IsEastArrowWarp(a); + case DIR_NORTH: + return MetatileBehavior_IsNorthArrowWarp(metatileBehavior); + case DIR_SOUTH: + return MetatileBehavior_IsSouthArrowWarp(metatileBehavior); + case DIR_WEST: + return MetatileBehavior_IsWestArrowWarp(metatileBehavior); + case DIR_EAST: + return MetatileBehavior_IsEastArrowWarp(metatileBehavior); } return FALSE; } -static s8 map_warp_check_packed(struct MapHeader *mapHeader, struct MapPosition *position) +static s8 FindWarpEventByPosition(struct MapHeader *mapHeader, struct MapPosition *position) { - return map_warp_check(mapHeader, position->x - 7, position->y - 7, position->height); + return FindWarpEventByCoordsAndId(mapHeader, position->x - 7, position->y - 7, position->height); } -static void sub_8068C30(struct MapHeader *unused, s8 b, struct MapPosition *position) +static void sub_8068C30(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position) { - struct WarpEvent *warpEvent = &gMapHeader.events->warps[b]; + struct WarpEvent *warpEvent = &gMapHeader.events->warps[warpEventId]; if (warpEvent->mapNum == 0x7F) { @@ -756,28 +778,28 @@ static void sub_8068C30(struct MapHeader *unused, s8 b, struct MapPosition *posi sub_80535C4(position->x, position->y); mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->unk7, warpEvent->mapNum); if (mapHeader->events->warps[warpEvent->mapGroup].mapNum == 0x7F) - saved_warp2_set(mapHeader->events->warps[b].mapGroup, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, b); + saved_warp2_set(mapHeader->events->warps[warpEventId].mapGroup, gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, warpEventId); } } -static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 b, u8 c) +static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 metatileBehavior, u8 direction) { - s8 r4; + s8 warpEventId; - if (c == 2) + if (direction == DIR_NORTH) { - if (sub_80571C0(b) == TRUE) + if (sub_80571C0(metatileBehavior) == TRUE) { sub_80BC038(position, gMapHeader.events); return TRUE; } - if (MetatileBehavior_IsWarpDoor(b) == TRUE) + if (MetatileBehavior_IsWarpDoor(metatileBehavior) == TRUE) { - r4 = map_warp_check_packed(&gMapHeader, position); - if (r4 != -1 && sub_8068B30(b) == TRUE) + warpEventId = FindWarpEventByPosition(&gMapHeader, position); + if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { walkrun_find_lowest_active_bit_in_bitfield(); - sub_8068C30(&gMapHeader, r4, position); + sub_8068C30(&gMapHeader, warpEventId, position); sub_8080EF0(); return TRUE; } @@ -786,7 +808,7 @@ static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 b, return FALSE; } -static s8 map_warp_check(struct MapHeader *mapHeader, u16 x, u16 y, u8 warpId) +static s8 FindWarpEventByCoordsAndId(struct MapHeader *mapHeader, u16 x, u16 y, u8 warpId) { s32 i; struct WarpEvent *warpEvent = mapHeader->events->warps; @@ -803,7 +825,7 @@ static s8 map_warp_check(struct MapHeader *mapHeader, u16 x, u16 y, u8 warpId) return -1; } -static u8 *trigger_activate(struct CoordEvent *coordEvent) +static u8 *TryRunCoordEventScript(struct CoordEvent *coordEvent) { if (coordEvent != NULL) { @@ -823,7 +845,7 @@ static u8 *trigger_activate(struct CoordEvent *coordEvent) return NULL; } -static u8 *mapheader_trigger_activate_at(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) +static u8 *GetCoordEventScriptAtPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) { s32 i; struct CoordEvent *coordEvents = mapHeader->events->coordEvents; @@ -835,7 +857,7 @@ static u8 *mapheader_trigger_activate_at(struct MapHeader *mapHeader, u16 x, u16 { if (coordEvents[i].elevation == elevation || coordEvents[i].elevation == 0) { - u8 *script = trigger_activate(&coordEvents[i]); + u8 *script = TryRunCoordEventScript(&coordEvents[i]); if (script != NULL) return script; } @@ -844,12 +866,12 @@ static u8 *mapheader_trigger_activate_at(struct MapHeader *mapHeader, u16 x, u16 return NULL; } -u8 *sub_8068E24(struct MapPosition *position) +u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position) { - return mapheader_trigger_activate_at(&gMapHeader, position->x - 7, position->y - 7, position->height); + return GetCoordEventScriptAtPosition(&gMapHeader, position->x - 7, position->y - 7, position->height); } -static struct BgEvent *FindInvisibleEventObjectByPosition(struct MapHeader *mapHeader, u16 b, u16 c, u8 d) +static struct BgEvent *FindBackgroundEventByPosition(struct MapHeader *mapHeader, u16 x, u16 y, u8 elevation) { u8 i; struct BgEvent *bgEvents = mapHeader->events->bgEvents; @@ -857,20 +879,20 @@ static struct BgEvent *FindInvisibleEventObjectByPosition(struct MapHeader *mapH for (i = 0; i < bgEventCount; i++) { - if ((u16)bgEvents[i].x == b && (u16)bgEvents[i].y == c) + if ((u16)bgEvents[i].x == x && (u16)bgEvents[i].y == y) { - if (bgEvents[i].unk4 == d || bgEvents[i].unk4 == 0) + if (bgEvents[i].elevation == elevation || bgEvents[i].elevation == 0) return &bgEvents[i]; } } return NULL; } -bool8 dive_warp(struct MapPosition *position, u16 b) +bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) { - if (gMapHeader.mapType == MAP_TYPE_UNDERWATER && sub_805750C(b) == 0) + if (gMapHeader.mapType == MAP_TYPE_UNDERWATER && !MetatileBehavior_IsNotSurfacable(metatileBehavior)) { - if (sub_80538B0(position->x - 7, position->y - 7)) + if (SetDiveWarpEmerge(position->x - 7, position->y - 7)) { walkrun_find_lowest_active_bit_in_bitfield(); sp13E_warp_to_last_warp(); @@ -878,9 +900,9 @@ bool8 dive_warp(struct MapPosition *position, u16 b) return TRUE; } } - else if (sub_80574EC(b) == TRUE) + else if (MetatileBehavior_IsDiveable(metatileBehavior) == TRUE) { - if (sub_80538D0(position->x - 7, position->y - 7)) + if (SetDiveWarpDive(position->x - 7, position->y - 7)) { walkrun_find_lowest_active_bit_in_bitfield(); sp13E_warp_to_last_warp(); @@ -891,21 +913,21 @@ bool8 dive_warp(struct MapPosition *position, u16 b) return FALSE; } -u8 sub_8068F18(void) +u8 TrySetDiveWarp(void) { s16 x, y; - u8 r5; + u8 metatileBehavior; PlayerGetDestCoords(&x, &y); - r5 = MapGridGetMetatileBehaviorAt(x, y); - if (gMapHeader.mapType == MAP_TYPE_UNDERWATER && sub_805750C(r5) == 0) + metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (gMapHeader.mapType == MAP_TYPE_UNDERWATER && !MetatileBehavior_IsNotSurfacable(metatileBehavior)) { - if (sub_80538B0(x - 7, y - 7) == TRUE) + if (SetDiveWarpEmerge(x - 7, y - 7) == TRUE) return 1; } - else if (sub_80574EC(r5) == TRUE) + else if (MetatileBehavior_IsDiveable(metatileBehavior) == TRUE) { - if (sub_80538D0(x - 7, y - 7) == TRUE) + if (SetDiveWarpDive(x - 7, y - 7) == TRUE) return 2; } return 0; @@ -913,12 +935,12 @@ u8 sub_8068F18(void) u8 *GetEventObjectScriptPointerPlayerFacing(void) { - u8 r4; + u8 direction; struct MapPosition position; - r4 = GetPlayerMovementDirection(); - player_get_next_pos_and_height(&position); - return sub_8068364(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), r4); + direction = GetPlayerMovementDirection(); + GetInFrontOfPlayerPosition(&position); + return GetInteractedEventObjectScript(&position, MapGridGetMetatileBehaviorAt(position.x, position.y), direction); } int SetCableClubWarp(void) @@ -926,8 +948,8 @@ int SetCableClubWarp(void) struct MapPosition position; GetPlayerMovementDirection(); //unnecessary - player_get_pos_to_and_height(&position); + GetPlayerPosition(&position); MapGridGetMetatileBehaviorAt(position.x, position.y); //unnecessary - sub_8068C30(&gMapHeader, map_warp_check_packed(&gMapHeader, &position), &position); + sub_8068C30(&gMapHeader, FindWarpEventByPosition(&gMapHeader, &position), &position); return 0; } diff --git a/src/field_effect.c b/src/field_effect.c index 24609254a..2005f88be 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -18,6 +18,7 @@ #include "event_object_movement.h" #include "metatile_behavior.h" #include "field_camera.h" +#include "field_control_avatar.h" #include "field_effect.h" #include "field_fadetransition.h" #include "fieldmap.h" @@ -1623,8 +1624,7 @@ bool8 sub_8087058(struct Task *task, struct EventObject *eventObject) return FALSE; } -void Task_Dive(u8); -extern int dive_warp(struct MapPosition *, u16); +static void Task_Dive(u8); bool8 FldEff_UseDive(void) { diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 7a65c696a..8610edca2 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -339,7 +339,7 @@ void task_mpl_807E3C8(u8 taskId) { ScriptContext2_Disable(); DestroyTask(taskId); - sub_8064E2C(); + ScriptUnfreezeEventObjects(); } } diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index ce580a65c..58409b4f3 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -374,7 +374,7 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) for (i = 1; i < 8; i++) DestroySprite(&gSprites[eCutGrassSpriteArray[i]]); FieldEffectStop(&gSprites[eCutGrassSpriteArray[0]], FLDEFF_CUT_GRASS); - sub_8064E2C(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); } diff --git a/src/item_menu.c b/src/item_menu.c index 78c342e90..da77760dd 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -54,7 +54,7 @@ extern void Shop_FadeReturnToMartMenu(void); extern void sub_80546B8(u8); extern void sub_804E990(u8); extern void sub_802E424(u8); -extern void sub_8064E2C(void); +extern void ScriptUnfreezeEventObjects(void); struct UnknownStruct2 { @@ -2733,7 +2733,7 @@ void CleanUpOverworldMessage(u8 taskId) { Menu_EraseWindowRect(0, 13, 29, 19); DestroyTask(taskId); - sub_8064E2C(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); } @@ -3346,10 +3346,10 @@ static void OnItemSelect_PC(u8 taskId) } } -bool32 sub_80A6D1C(void) +bool32 UseRegisteredKeyItem(void) { HideMapNamePopup(); - if (gSaveBlock1.registeredItem != 0) + if (gSaveBlock1.registeredItem != ITEM_NONE) { if (CheckBagHasItem(gSaveBlock1.registeredItem, 1) == TRUE) { diff --git a/src/item_use.c b/src/item_use.c index 5dfaa942d..69fcd51de 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -204,7 +204,7 @@ void ItemUseOnFieldCB_Bike(u8 taskId) if (ItemId_GetSecondaryId(gSpecialVar_ItemId) == 1) GetOnOffBike(4); - sub_8064E2C(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); DestroyTask(taskId); } @@ -312,7 +312,7 @@ void RunItemfinderResults(u8 taskId) void ExitItemfinder(u8 taskId) { Menu_EraseWindowRect(0, 14, 29, 19); - sub_8064E2C(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); DestroyTask(taskId); } diff --git a/src/menu.c b/src/menu.c index ba3199d5a..60aaeba32 100644 --- a/src/menu.c +++ b/src/menu.c @@ -54,7 +54,7 @@ void CloseMenu(void) { PlaySE(SE_SELECT); Menu_EraseScreen(); - sub_8064E2C(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); Menu_DestroyCursor(); } diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index d05ba0b89..b8a490dde 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -891,15 +891,17 @@ bool8 sub_80574D8(u8 var) return FALSE; } -bool8 sub_80574EC(u8 var) +bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior) { - if (var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER || var == MB_SOOTOPOLIS_DEEP_WATER) + if (metatileBehavior == MB_SEMI_DEEP_WATER + || metatileBehavior == MB_DEEP_WATER + || metatileBehavior == MB_SOOTOPOLIS_DEEP_WATER) return TRUE; else return FALSE; } -bool8 sub_805750C(u8 var) +bool8 MetatileBehavior_IsNotSurfacable(u8 var) { if (var == MB_NO_SURFACING || var == MB_SEAWEED_NO_SURFACING) return TRUE; diff --git a/src/overworld.c b/src/overworld.c index c27ac999f..fa7fa84e3 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -560,9 +560,9 @@ struct MapConnection *GetMapConnection(u8 dir) return NULL; } -bool8 sub_8053850(u8 dir, u16 x, u16 y) +static bool8 SetDiveWarp(u8 direction, u16 x, u16 y) { - struct MapConnection *connection = GetMapConnection(dir); + struct MapConnection *connection = GetMapConnection(direction); if (connection != NULL) { @@ -578,14 +578,14 @@ bool8 sub_8053850(u8 dir, u16 x, u16 y) return TRUE; } -bool8 sub_80538B0(u16 x, u16 y) +bool8 SetDiveWarpEmerge(u16 x, u16 y) { - return sub_8053850(CONNECTION_EMERGE, x, y); + return SetDiveWarp(CONNECTION_EMERGE, x, y); } -bool8 sub_80538D0(u16 x, u16 y) +bool8 SetDiveWarpDive(u16 x, u16 y) { - return sub_8053850(CONNECTION_DIVE, x, y); + return SetDiveWarp(CONNECTION_DIVE, x, y); } void sub_80538F0(u8 mapGroup, u8 mapNum) @@ -599,7 +599,7 @@ void sub_80538F0(u8 mapGroup, u8 mapNum) LoadEventObjTemplatesFromHeader(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); - prev_quest_postbuffer_cursor_backup_reset(); + RestartWildEncounterImmunitySteps(); TryUpdateRandomTrainerRematches(mapGroup, mapNum); DoTimeBasedEvents(); SetSav1WeatherFromCurrMapHeader(); @@ -634,7 +634,7 @@ void sub_8053994(u32 a1) v3 = Overworld_MapTypeIsIndoors(gMapHeader.mapType); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); - prev_quest_postbuffer_cursor_backup_reset(); + RestartWildEncounterImmunitySteps(); TryUpdateRandomTrainerRematches(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum); if (a1 != 1) DoTimeBasedEvents(); @@ -1183,21 +1183,21 @@ bool32 is_c1_link_related_active(void) void c1_overworld_normal(u16 newKeys, u16 heldKeys) { - struct FieldInput inputStruct; + struct FieldInput fieldInput; sub_8059204(); - FieldClearPlayerInput(&inputStruct); - FieldGetPlayerInput(&inputStruct, newKeys, heldKeys); + ClearPlayerFieldInput(&fieldInput); + GetPlayerFieldInput(&fieldInput, newKeys, heldKeys); if (!ScriptContext2_IsEnabled()) { - if (sub_8068024(&inputStruct) == 1) + if (ProcessPlayerFieldInput(&fieldInput) == 1) { ScriptContext2_Enable(); HideMapNamePopup(); } else { - player_step(inputStruct.dpadDirection, newKeys, heldKeys); + player_step(fieldInput.dpadDirection, newKeys, heldKeys); } } } @@ -2304,7 +2304,7 @@ u8 *sub_8055648(struct UnkStruct_8054FF8 *a1) { if (a1->c != 2) return 0; - return sub_8068E24(&a1->sub); + return GetCoordEventScriptAtMapPosition(&a1->sub); } bool32 sub_8055660(struct UnkStruct_8054FF8 *a1) @@ -2344,7 +2344,7 @@ u8 *sub_805568C(struct UnkStruct_8054FF8 *a1) return TradeRoom_ReadTrainerCard2; } - return sub_80682A8(&unkStruct, a1->field_C, a1->d); + return GetInteractedLinkPlayerScript(&unkStruct, a1->field_C, a1->d); } u16 sub_8055758(u8 *script) diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c index 441dc0842..df8621b4b 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon_menu.c @@ -883,7 +883,7 @@ static void sub_808ADAC(void) static bool8 SetUpFieldMove_Dive(void) { - gFieldEffectArguments[1] = sub_8068F18(); + gFieldEffectArguments[1] = TrySetDiveWarp(); if (gFieldEffectArguments[1]) { gFieldCallback = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/start_menu.c b/src/start_menu.c index 2a07313a4..5c437178c 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -588,7 +588,7 @@ static u8 SaveCallback2(void) case SAVE_SUCCESS: case SAVE_ERROR: Menu_EraseScreen(); - sub_8064E2C(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); return TRUE; } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 7e5dac594..99594d3f2 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -4105,7 +4105,7 @@ static bool8 DoGlobalWildEncounterDiceRoll(void) return TRUE; } -bool8 StandardWildEncounter(u16 a, u16 b) +bool8 StandardWildEncounter(u16 curMetatileBehavior, u16 prevMetatileBehavior) { u16 headerNum; struct Roamer *roamer; @@ -4117,11 +4117,11 @@ bool8 StandardWildEncounter(u16 a, u16 b) headerNum = GetCurrentMapWildMonHeader(); if (headerNum != 0xFFFF) { - if (MetatileBehavior_IsLandWildEncounter(a) == TRUE) + if (MetatileBehavior_IsLandWildEncounter(curMetatileBehavior) == TRUE) { if (gWildMonHeaders[headerNum].landMonsInfo) { - if (b != a && !DoGlobalWildEncounterDiceRoll()) + if (prevMetatileBehavior != curMetatileBehavior && !DoGlobalWildEncounterDiceRoll()) return 0; if (DoWildEncounterTest(gWildMonHeaders[headerNum].landMonsInfo->encounterRate, 0) == TRUE) @@ -4150,12 +4150,12 @@ bool8 StandardWildEncounter(u16 a, u16 b) } } } - else if (MetatileBehavior_IsWaterWildEncounter(a) == TRUE - || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(a) == TRUE)) + else if (MetatileBehavior_IsWaterWildEncounter(curMetatileBehavior) == TRUE + || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(curMetatileBehavior) == TRUE)) { if (gWildMonHeaders[headerNum].waterMonsInfo) { - if (b != a && !DoGlobalWildEncounterDiceRoll()) + if (prevMetatileBehavior != curMetatileBehavior && !DoGlobalWildEncounterDiceRoll()) return 0; if (DoWildEncounterTest(gWildMonHeaders[headerNum].waterMonsInfo->encounterRate, 0) == TRUE) -- cgit v1.2.3 From dc6fb7be6a6391f705b052906d0b566e9eb0891e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 7 Jun 2018 17:06:59 -0500 Subject: Fix fake-matching DrawMonDescriptorStatus() --- src/choose_party.c | 16 ++++++++-------- src/party_menu.c | 32 ++++++++++++++++---------------- src/pokemon_menu.c | 8 ++++---- src/script_pokemon_util_80F99CC.c | 8 ++++---- 4 files changed, 32 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/src/choose_party.c b/src/choose_party.c index e81f53a1b..6f1481c45 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -31,7 +31,7 @@ EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0}; extern u8 sub_806BD58(u8, u8); extern void PartyMenuPrintMonsLevelOrStatus(void); -extern void sub_806BC3C(u8, u8); +extern void DrawMonDescriptorStatus(u8, u8); extern u8 GetMonStatusAndPokerus(); extern void PartyMenuPrintHP(); extern bool8 sub_80F9344(void); @@ -130,16 +130,16 @@ bool8 SetupBattleTowerPartyMenu(void) { if (gSelectedOrderFromParty[j] == i + 1) { - sub_806BC3C(i, j * 14 + 0x1C); + DrawMonDescriptorStatus(i, j * 14 + 0x1C); break; } } if (j == 3) { if (IsMonAllowedInBattleTower(&gPlayerParty[i]) == TRUE) - sub_806BC3C(i, 0x70); + DrawMonDescriptorStatus(i, 0x70); else - sub_806BC3C(i, 0x7E); + DrawMonDescriptorStatus(i, 0x7E); } } ewram1B000_alt.setupState++; @@ -453,7 +453,7 @@ static void BattleTowerEntryMenuCallback_Enter(u8 taskId) if (gSelectedOrderFromParty[i] == 0) { gSelectedOrderFromParty[i] = gLastFieldPokeMenuOpened + 1; - sub_806BC3C(gLastFieldPokeMenuOpened, i * 14 + 0x1C); + DrawMonDescriptorStatus(gLastFieldPokeMenuOpened, i * 14 + 0x1C); if (i == 2) SelectBattleTowerOKButton(taskId); BattleTowerEntryMenuCallback_Exit(taskId); @@ -505,11 +505,11 @@ static void BattleTowerEntryMenuCallback_NoEntry(u8 taskId) break; // exit loop } } - sub_806BC3C(gLastFieldPokeMenuOpened, 0x70); + DrawMonDescriptorStatus(gLastFieldPokeMenuOpened, 0x70); if (gSelectedOrderFromParty[0] != 0) - sub_806BC3C(gSelectedOrderFromParty[0] - 1, 0x1C); + DrawMonDescriptorStatus(gSelectedOrderFromParty[0] - 1, 0x1C); if (gSelectedOrderFromParty[1] != 0) - sub_806BC3C(gSelectedOrderFromParty[1] - 1, 0x2A); + DrawMonDescriptorStatus(gSelectedOrderFromParty[1] - 1, 0x2A); BattleTowerEntryMenuCallback_Exit(taskId); } diff --git a/src/party_menu.c b/src/party_menu.c index 8887bb554..785d86007 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -1213,29 +1213,29 @@ void sub_806BBEC(u8 a) } } -void sub_806BC3C(u8 monIndex, u8 b) +// Draws the descriptor text in the mon's party bubble. +// Descriptor texts are things like "ABLE", "NOT ABLE", "LEARNED", etc. +void DrawMonDescriptorStatus(u8 monIndex, u8 descriptorOffset) { - u16 *vramPtr = gUnknown_08376918[IsDoubleBattle()][monIndex]; u8 i; - u16 var1; + u32 offset; + u16 *vramPtr = gUnknown_08376918[IsDoubleBattle()][monIndex]; + int paletteNum = 0; - for (i = 0, var1 = (b / 7) * 32; i <= PARTY_SIZE; i++) + for (i = 0; i < 7; i++) { - u32 offset = i + var1; - vramPtr[i] = gUnknown_08E9A300[offset] + 0x10C; - vramPtr[i + 0x20] = gUnknown_08E9A300[offset + 0x20] + 0x10C; + offset = i + (descriptorOffset / 7) * 32; + vramPtr[i] = paletteNum | (gUnknown_08E9A300[offset] + 0x10C); + vramPtr[i + 0x20] = paletteNum | (gUnknown_08E9A300[offset + 0x20] + 0x10C); } - - // Some dead code was likely optimized out, but the compiler still think r8 was used. - asm("":::"r8"); } -void unref_sub_806BCB8(u8 a) +void unref_sub_806BCB8(u8 descriptorOffset) { u8 i; for (i = 0; i < gPlayerPartyCount; i++) - sub_806BC3C(i, a); + DrawMonDescriptorStatus(i, descriptorOffset); } // This is ultimately unreferenced, since it's caller is unreferenced. @@ -1250,19 +1250,19 @@ void sub_806BCE8() switch (GetMonGender(&gPlayerParty[i])) { case MON_MALE: - sub_806BC3C(i, 0x54); + DrawMonDescriptorStatus(i, 0x54); break; case MON_FEMALE: - sub_806BC3C(i, 0x62); + DrawMonDescriptorStatus(i, 0x62); break; default: - sub_806BC3C(i, 0x46); + DrawMonDescriptorStatus(i, 0x46); break; } } else { - sub_806BC3C(i, 0x46); + DrawMonDescriptorStatus(i, 0x46); } } } diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c index df8621b4b..bafa32afa 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon_menu.c @@ -944,11 +944,11 @@ static void sub_808AE8C(void) gUnknown_020297ED == 0 && #endif (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) || !CanMonLearnTMHM(&gPlayerParty[i], arg))) - sub_806BC3C(i, 0x9A); + DrawMonDescriptorStatus(i, 0x9A); else if (pokemon_has_move(&gPlayerParty[i], ItemIdToBattleMoveId(gSpecialVar_ItemId))) - sub_806BC3C(i, 0xA8); + DrawMonDescriptorStatus(i, 0xA8); else - sub_806BC3C(i, 0x8C); + DrawMonDescriptorStatus(i, 0x8C); } } } @@ -963,7 +963,7 @@ static void sub_808AF20(void) if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) || !GetEvolutionTargetSpecies(&gPlayerParty[i], 3, gSpecialVar_ItemId)) { sub_806D668(i); - sub_806BC3C(i, 0); + DrawMonDescriptorStatus(i, 0); } } } diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c index 7612c44e1..b292265a6 100644 --- a/src/script_pokemon_util_80F99CC.c +++ b/src/script_pokemon_util_80F99CC.c @@ -144,11 +144,11 @@ void sub_80F9C00(void) case 0: case 3: case 4: - sub_806BC3C(i, 0x7E); + DrawMonDescriptorStatus(i, 0x7E); break; case 1: case 2: - sub_806BC3C(i, 0x70); + DrawMonDescriptorStatus(i, 0x70); break; } } @@ -246,9 +246,9 @@ void sub_80F9E1C(void) for (i = 0; i < gPlayerPartyCount; i++) { if (!sub_8040574(&gPlayerParty[i])) - sub_806BC3C(i, 0x9A); + DrawMonDescriptorStatus(i, 0x9A); else - sub_806BC3C(i, 0x8C); + DrawMonDescriptorStatus(i, 0x8C); } } -- cgit v1.2.3 From 01609145aec678783addc26ded6e390b4fb94c06 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 6 Jun 2018 08:25:29 -0500 Subject: Move metatile_behaviors.h into include/constants --- src/fldeff_cut.c | 3 ++- src/fldeff_secretpower.c | 3 ++- src/metatile_behavior.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 58409b4f3..c8c3325df 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -1,3 +1,4 @@ + #include "global.h" #include "field_camera.h" #include "field_effect.h" @@ -6,7 +7,6 @@ #include "fieldmap.h" #include "event_obj_lock.h" #include "metatile_behavior.h" -#include "metatile_behaviors.h" #include "pokemon_menu.h" #include "overworld.h" #include "rom6.h" @@ -18,6 +18,7 @@ #include "ewram.h" #include "constants/field_effects.h" #include "constants/event_objects.h" +#include "constants/metatile_behaviors.h" #include "constants/songs.h" extern void (*gFieldCallback)(void); diff --git a/src/fldeff_secretpower.c b/src/fldeff_secretpower.c index fd8791cb8..47a8bd608 100644 --- a/src/fldeff_secretpower.c +++ b/src/fldeff_secretpower.c @@ -1,10 +1,10 @@ + #include "global.h" #include "event_data.h" #include "fieldmap.h" #include "field_effect.h" #include "field_player_avatar.h" #include "metatile_behavior.h" -#include "metatile_behaviors.h" #include "overworld.h" #include "pokemon_menu.h" #include "rom6.h" @@ -12,6 +12,7 @@ #include "secret_base.h" #include "sound.h" #include "constants/field_effects.h" +#include "constants/metatile_behaviors.h" #include "constants/songs.h" extern u8 DoSecretBaseCaveFieldEffectScript[]; diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index b8a490dde..7c8149d87 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -1,6 +1,6 @@ #include "global.h" #include "metatile_behavior.h" -#include "metatile_behaviors.h" +#include "constants/metatile_behaviors.h" #define TILE_ATTRIBUTES(three, two, one) (((one) ? 1 : 0) | ((two) ? 2 : 0) | ((three) ? 4 : 0)) -- cgit v1.2.3 From f73ea3d931cad4d4e99bbeb664aca6a0344ea1c7 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 6 Jun 2018 08:42:17 -0500 Subject: Define the missing metatile behavior constants --- src/metatile_behavior.c | 480 ++++++++++++++++++++++++------------------------ 1 file changed, 240 insertions(+), 240 deletions(-) (limited to 'src') diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 7c8149d87..04e7d8102 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -6,246 +6,246 @@ static const u8 sTileBitAttributes[] = { - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, TRUE), - TILE_ATTRIBUTES(TRUE, TRUE, TRUE), - TILE_ATTRIBUTES(TRUE, TRUE, TRUE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, TRUE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), - TILE_ATTRIBUTES(FALSE, FALSE, FALSE) + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORMAL + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_01 + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_TALL_GRASS + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_LONG_GRASS + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_04 + TILE_ATTRIBUTES(FALSE, FALSE, TRUE), // MB_05 + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_DEEP_SAND + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHORT_GRASS + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_CAVE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LONG_GRASS_SOUTH_EDGE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NO_RUNNING + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_0B + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MOUNTAIN_TOP + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BATTLE_PYRAMID_WARP + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_MOSSDEEP_GYM_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MT_PYRE_HOLE + TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_POND_WATER + TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEMI_DEEP_WATER + TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_DEEP_WATER + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATERFALL + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOOTOPOLIS_DEEP_WATER + TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_OCEAN_WATER + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PUDDLE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHALLOW_WATER + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_18 + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NO_SURFACING + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1A + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_STAIRS_OUTSIDE_ABANDONED_SHIP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHOAL_CAVE_ENTRANCE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1F + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ICE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SAND + TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_23 + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_ASHGRASS + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_25 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_THIN_ICE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_ICE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HOT_SPRINGS + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LAVARIDGE_GYM_B1F_WARP + TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED_NO_SURFACING + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_REFLECTION_UNDER_BRIDGE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2C + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2F + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_EAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_WEST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTHEAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTHWEST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTHEAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTHWEST + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_EAST + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_WEST + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_NORTH + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_SOUTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_3C + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_3D + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHEAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHWEST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_EAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_WEST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_NORTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_SOUTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_EAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_WEST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_NORTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_SOUTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_8_FLOOR + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_49 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_4A + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4B + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4C + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4F + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_EASTWARD_CURRENT + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WESTWARD_CURRENT + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NORTHWARD_CURRENT + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOUTHWARD_CURRENT + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_54 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_55 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_56 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_57 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_58 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_59 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5A + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5B + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5C + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5F + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NON_ANIMATED_DOOR + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LADDER + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_EAST_ARROW_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WEST_ARROW_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORTH_ARROW_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SOUTH_ARROW_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_FLOOR_HOLE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_AQUA_HIDEOUT_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LAVARIDGE_GYM_1F_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ANIMATED_DOOR + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UP_ESCALATOR + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DOWN_ESCALATOR + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_DOOR + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_SOUTH_ARROW_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DEEP_SOUTH_WARP + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_6F + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_WARP_OR_BRIDGE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_71 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_1 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_2 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_VERTICAL_LOG_1 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_VERTICAL_LOG_2 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_1 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_2 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_FORTREE_BRIDGE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_79 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_1 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_2 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_3 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_4 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_7E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE110_BRIDGE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_COUNTER + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_81 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_82 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_84 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_REGION_MAP + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TELEVISION + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEBLOCK_FEEDER + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_88 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SLOT_MACHINE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROULETTE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CLOSED_SOOTOPOLIS_GYM_DOOR + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_DOOR + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_8D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_8E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_QUESTIONNAIRE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_RED_CAVE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_91 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BROWN_CAVE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_93 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_YELLOW_CAVE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_95 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_1 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_97 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_SHRUB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_99 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BLUE_CAVE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9B + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_2 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9F + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BERRY_TREE_SOIL + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A1 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A2 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A3 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A4 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A5 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A6 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AD + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_PC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B1 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B2 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B3 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B4 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B5 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B6 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B7 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B8 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B9 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BA + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BB + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BC + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BD + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BF + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BED + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C1 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C2 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C3 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C4 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C5 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C6 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CD + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CF + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MUDDY_SLOPE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BUMPY_SLOPE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_FLOOR + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ISOLATED_VERTICAL_RAIL + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ISOLATED_HORIZONTAL_RAIL + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_VERTICAL_RAIL + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HORIZONTAL_RAIL + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_D7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_D8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_D9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DD + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PICTURE_BOOK_SHELF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BOOKSHELF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEMON_CENTER_BOOKSHELF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_VASE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRASH_CAN + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SHOP_SHELF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BLUEPRINT + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_E7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_E8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_E9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE) // MB_F0 }; // only used as default case for checking jump landing in field_ground_effect. -- cgit v1.2.3 From 0a2c709535bd79d8b62f3e8aafda9171670c1ecf Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 7 Jun 2018 19:46:44 -0500 Subject: Label all metatile behaviors and functions --- src/battle/battle_setup.c | 8 +- src/bike.c | 2 +- src/debug/nakamura_debug_menu.c | 4 +- src/decoration.c | 85 ++-- src/event_object_movement.c | 2 +- src/field_camera.c | 125 +++--- src/field_control_avatar.c | 20 +- src/field_effect.c | 10 +- src/field_effect_helpers.c | 2 +- src/field_fadetransition.c | 4 +- src/field_player_avatar.c | 112 +++--- src/field_specials.c | 56 +-- src/field_tasks.c | 24 +- src/fldeff_cut.c | 8 +- src/fldeff_decoration.c | 20 +- src/metatile_behavior.c | 865 ++++++++++++++++++++++------------------ src/rom6.c | 2 +- src/secret_base.c | 22 +- src/trainer_see.c | 2 +- src/wild_encounter.c | 2 +- 20 files changed, 730 insertions(+), 645 deletions(-) (limited to 'src') diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index 47211b718..f53959cc2 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -663,7 +663,7 @@ s8 BattleSetup_GetTerrain(void) case MAP_TYPE_ROUTE: break; case MAP_TYPE_UNDERGROUND: - if (sub_80574C4(tileBehavior)) + if (MetatileBehavior_IsIndoorEncounter(tileBehavior)) return BATTLE_TERRAIN_BUILDING; if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) return BATTLE_TERRAIN_POND; @@ -678,15 +678,15 @@ s8 BattleSetup_GetTerrain(void) return BATTLE_TERRAIN_WATER; return BATTLE_TERRAIN_PLAIN; } - if (sub_8057568(tileBehavior)) + if (MetatileBehavior_IsOceanWater(tileBehavior)) return BATTLE_TERRAIN_WATER; if (MetatileBehavior_IsSurfableWaterOrUnderwater(tileBehavior)) return BATTLE_TERRAIN_POND; - if (sub_80574D8(tileBehavior)) + if (MetatileBehavior_IsMountainTop(tileBehavior)) return BATTLE_TERRAIN_MOUNTAIN; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) { - if (sub_8057450(tileBehavior)) + if (MetatileBehavior_GetBridgeType(tileBehavior)) return BATTLE_TERRAIN_POND; if (MetatileBehavior_IsBridge(tileBehavior) == TRUE) return BATTLE_TERRAIN_WATER; diff --git a/src/bike.c b/src/bike.c index e1539ab7d..db37167f3 100644 --- a/src/bike.c +++ b/src/bike.c @@ -577,7 +577,7 @@ static void AcroBikeTransition_Moving(u8 direction) } else { - npc_use_some_d2s(direction); + PlayerRideWaterCurrent(direction); } } diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index 760b10d01..a20d58319 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -761,7 +761,7 @@ static u16 FishingPoints_CountFishingTilesInMapThird(u8 a0) { for (x = 0; x < gMapHeader.mapData->width; x++) { - if (sub_805759C(MapGridGetMetatileBehaviorAt(x + 7, y + 7)) == TRUE) + if (MetatileBehavior_IsFeebasEncounterable(MapGridGetMetatileBehaviorAt(x + 7, y + 7)) == TRUE) { retval++; } @@ -787,7 +787,7 @@ static u16 FishingPoints_GetIndexOfCurrentFishingSpot(void) { for (xx = 0; xx < gMapHeader.mapData->width; xx++) { - if (sub_805759C(MapGridGetMetatileBehaviorAt(xx + 7, yy + 7)) == TRUE) + if (MetatileBehavior_IsFeebasEncounterable(MapGridGetMetatileBehaviorAt(xx + 7, yy + 7)) == TRUE) { retval++; if (x == xx && y == yy) diff --git a/src/decoration.c b/src/decoration.c index 448e684ad..47dcae2dc 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2074,9 +2074,9 @@ u16 sub_80FF1B0(u8 decoId, u8 a1) void sub_80FF1EC(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decIdx) { u16 i; - u16 j; // r10 + u16 j; u16 behavior; - u16 flags; // r8 + u16 collision; u16 v0; u16 v1; s16 x; @@ -2089,27 +2089,23 @@ void sub_80FF1EC(u16 mapX, u16 mapY, u8 decWidth, u8 decHeight, u16 decIdx) { x = mapX + j; behavior = GetBehaviorByMetatileId(0x200 + gDecorations[decIdx].tiles[i * decWidth + j]); - if (sub_8057288(behavior) == 1 || (gDecorations[decIdx].permission != DECORPERM_PASS_FLOOR && (behavior >> 12))) - { - flags = 0xc00; - } else - { - flags = 0x000; - } - if (gDecorations[decIdx].permission != DECORPERM_NA_WALL && sub_80572B0(MapGridGetMetatileBehaviorAt(x, decBottom)) == 1) - { + if (MetatileBehavior_IsSecretBaseImpassable(behavior) == TRUE || (gDecorations[decIdx].permission != DECORPERM_PASS_FLOOR && (behavior >> 12) != 0)) + collision = 0xc00; // impassable collision + else + collision = 0x000; // passable collision + + if (gDecorations[decIdx].permission != DECORPERM_NA_WALL && MetatileBehavior_IsSecretBaseNorthWall(MapGridGetMetatileBehaviorAt(x, decBottom)) == 1) v0 = 1; - } else - { + else v0 = 0; - } + v1 = sub_80FF1B0(gDecorations[decIdx].id, i * decWidth + j); if (v1 != 0xffff) { - MapGridSetMetatileEntryAt(x, decBottom, (gDecorations[decIdx].tiles[i * decWidth + j] + (0x200 | v0)) | flags | v1); + MapGridSetMetatileEntryAt(x, decBottom, (gDecorations[decIdx].tiles[i * decWidth + j] + (0x200 | v0)) | collision | v1); } else { - MapGridSetMetatileIdAt(x, decBottom, (gDecorations[decIdx].tiles[i * decWidth + j] + (0x200 | v0)) | flags); + MapGridSetMetatileIdAt(x, decBottom, (gDecorations[decIdx].tiles[i * decWidth + j] + (0x200 | v0)) | collision); } } } @@ -2372,9 +2368,9 @@ void sub_80FFB08(u8 taskId) DisplayItemMessageOnField(taskId, gSecretBaseText_CancelDecorating, sub_8100248, 0); } -bool8 sub_80FFB6C(u8 a0, u16 a1) +bool8 sub_80FFB6C(u8 metatileBehavior, u16 layerType) { - if (sub_8057274(a0) != 1 || a1 != 0) + if (MetatileBehavior_IsBlockDecoration(metatileBehavior) != TRUE || layerType != 0) { return FALSE; } @@ -2390,15 +2386,15 @@ bool8 sub_80FFB94(u8 taskId, s16 x, s16 y, u16 decoId) return TRUE; } -bool8 sub_80FFBDC(u16 a0, const struct Decoration *decoration) +bool8 sub_80FFBDC(u16 metatileBehavior, const struct Decoration *decoration) { - if (sub_8057274(a0) != 1) + if (MetatileBehavior_IsBlockDecoration(metatileBehavior) != TRUE) { - if (decoration->id == DECOR_SOLID_BOARD && sub_8057300(a0) == 1) + if (decoration->id == DECOR_SOLID_BOARD && MetatileBehavior_IsSecretBaseHole(metatileBehavior) == TRUE) { return TRUE; } - if (sub_805729C(a0)) + if (MetatileBehavior_IsNormal(metatileBehavior)) { return TRUE; } @@ -2413,7 +2409,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) u8 i; u8 j; u8 behaviorAt; - u16 behaviorBy; + u16 layerType; u8 mapY; u8 mapX; s16 curY; @@ -2431,12 +2427,12 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) { curX = gTasks[taskId].data[0] + j; behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); - behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & 0xf000; + layerType = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & 0xf000; if (!sub_80FFBDC(behaviorAt, decoration)) { return FALSE; } - if (!sub_80FFB94(taskId, curX, curY, behaviorBy)) + if (!sub_80FFB94(taskId, curX, curY, layerType)) { return FALSE; } @@ -2456,12 +2452,12 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) { curX = gTasks[taskId].data[0] + j; behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); - behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & 0xf000; - if (!sub_805729C(behaviorAt) && !sub_80FFB6C(behaviorAt, behaviorBy)) + layerType = GetBehaviorByMetatileId(0x200 + decoration->tiles[(mapY - 1 - i) * mapX + j]) & 0xf000; + if (!MetatileBehavior_IsNormal(behaviorAt) && !sub_80FFB6C(behaviorAt, layerType)) { return FALSE; } - if (!sub_80FFB94(taskId, curX, curY, behaviorBy)) + if (!sub_80FFB94(taskId, curX, curY, layerType)) { return FALSE; } @@ -2476,12 +2472,12 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) { curX = gTasks[taskId].data[0] + j; behaviorAt = MapGridGetMetatileBehaviorAt(curX, curY); - behaviorBy = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & 0xf000; - if (!sub_805729C(behaviorAt) && !sub_80572B0(behaviorAt)) + layerType = GetBehaviorByMetatileId(0x200 + decoration->tiles[j]) & 0xf000; + if (!MetatileBehavior_IsNormal(behaviorAt) && !MetatileBehavior_IsSecretBaseNorthWall(behaviorAt)) { return FALSE; } - if (!sub_80FFB94(taskId, curX, curY, behaviorBy)) + if (!sub_80FFB94(taskId, curX, curY, layerType)) { return FALSE; } @@ -2499,7 +2495,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) for (j=0; jshape == DECORSHAPE_1x2) { - if (!sub_80572EC(behaviorAt)) + if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) { return FALSE; } } - else if (!sub_80572D8(behaviorAt)) + else if (!MetatileBehavior_IsSecretBaseLargeMatEdge(behaviorAt)) { - if (!sub_80572EC(behaviorAt)) + if (!MetatileBehavior_IsLargeMatCenter(behaviorAt)) { return FALSE; } @@ -2776,7 +2772,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tadds r5, r1, 0\n" "\tands r5, r0\n" "\tadds r0, r4, 0\n" - "\tbl sub_805729C\n" + "\tbl MetatileBehavior_IsNormal\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbne _080FFE0C\n" @@ -2881,12 +2877,12 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tadds r5, r1, 0\n" "\tands r5, r0\n" "\tadds r0, r4, 0\n" - "\tbl sub_805729C\n" + "\tbl MetatileBehavior_IsNormal\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbne _080FFEDA\n" "\tadds r0, r4, 0\n" - "\tbl sub_80572B0\n" + "\tbl MetatileBehavior_IsSecretBaseNorthWall\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbne _080FFEDA\n" @@ -2964,7 +2960,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tbl MapGridGetMetatileBehaviorAt\n" "\tlsls r0, 24\n" "\tlsrs r0, 24\n" - "\tbl sub_80572B0\n" + "\tbl MetatileBehavior_IsSecretBaseNorthWall\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbeq _080FFFF4\n" @@ -3030,7 +3026,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tbne _080FFFF8\n" "_080FFFE8:\n" "\tadds r0, r4, 0\n" - "\tbl sub_80572EC\n" + "\tbl MetatileBehavior_IsLargeMatCenter\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbne _08100004\n" @@ -3039,7 +3035,7 @@ bool8 sub_80FFC24(u8 taskId, const struct Decoration *decoration) "\tb _08100026\n" "_080FFFF8:\n" "\tadds r0, r4, 0\n" - "\tbl sub_80572D8\n" + "\tbl MetatileBehavior_IsSecretBaseLargeMatEdge\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbeq _080FFFE8\n" @@ -3804,7 +3800,7 @@ void sub_8100FB4(u8 taskId) void sub_8101024(u8 taskId) { - u8 mtBehavior; + u8 metatileBehavior; s16 *data; sub_8101460(taskId); if (gUnknown_02039234 != 0) @@ -3813,8 +3809,9 @@ void sub_8101024(u8 taskId) } else { data = gTasks[taskId].data; - mtBehavior = MapGridGetMetatileBehaviorAt(data[0], data[1]); - if (MetatileBehavior_IsSecretBasePC(mtBehavior) == TRUE || sub_805738C(mtBehavior) == TRUE) + metatileBehavior = MapGridGetMetatileBehaviorAt(data[0], data[1]); + if (MetatileBehavior_IsSecretBasePC(metatileBehavior) == TRUE + || MetatileBehavior_IsPlayerRoomPCOn(metatileBehavior) == TRUE) { gSprites[gUnknown_020391A8].invisible = 0; gSprites[gUnknown_020391A8].callback = SpriteCallbackDummy; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index d128bf30f..0b2e66f25 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -7174,7 +7174,7 @@ void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags) *flags |= GROUND_EFFECT_FLAG_DEEP_SAND; } else if (MetatileBehavior_IsSandOrDeepSand(eventObj->previousMetatileBehavior) - || MetatileBehavior_IsUnusedFootprintMetatile(eventObj->previousMetatileBehavior)) + || MetatileBehavior_IsFootprints(eventObj->previousMetatileBehavior)) { *flags |= GROUND_EFFECT_FLAG_SAND; } diff --git a/src/field_camera.c b/src/field_camera.c index 2d4d4eabd..6eae4e1b9 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -204,13 +204,13 @@ static void RedrawMapSliceWest(struct UnknownStruct *a, struct MapData *mapData) } } -void CurrentMapDrawMetatileAt(int a, int b) +void CurrentMapDrawMetatileAt(int x, int y) { - int offset = MapPosToBgTilemapOffset(&gUnknown_03000590, a, b); + int offset = MapPosToBgTilemapOffset(&gUnknown_03000590, x, y); if (offset >= 0) { - DrawMetatileAt(gMapHeader.mapData, offset, a, b); + DrawMetatileAt(gMapHeader.mapData, offset, x, y); gUnknown_03000590.unk4 = TRUE; } } @@ -226,74 +226,87 @@ void DrawDoorMetatileAt(int x, int y, u16 *arr) } } -static void DrawMetatileAt(struct MapData *mapData, u16 b, int c, int d) +static void DrawMetatileAt(struct MapData *mapData, u16 offset, int x, int y) { - u16 metatileId = MapGridGetMetatileIdAt(c, d); u16 *metatiles; + u16 metatileId = MapGridGetMetatileIdAt(x, y); - if (metatileId > 1024) + if (metatileId > 0x400) metatileId = 0; - if (metatileId < 512) + + if (metatileId < 0x200) + { metatiles = mapData->primaryTileset->metatiles; + } else { metatiles = mapData->secondaryTileset->metatiles; - metatileId -= 512; + metatileId -= 0x200; } - DrawMetatile(MapGridGetMetatileLayerTypeAt(c, d), metatiles + metatileId * 8, b); + + DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset); } -static void DrawMetatile(s32 a, u16 *b, u16 c) +static void DrawMetatile(s32 metatileLayerType, u16 *metatiles, u16 offset) { - switch (a) + switch (metatileLayerType) { - case 2: - gBGTilemapBuffers[3][c] = b[0]; - gBGTilemapBuffers[3][c + 1] = b[1]; - gBGTilemapBuffers[3][c + 0x20] = b[2]; - gBGTilemapBuffers[3][c + 0x21] = b[3]; - - gBGTilemapBuffers[2][c] = 0; - gBGTilemapBuffers[2][c + 1] = 0; - gBGTilemapBuffers[2][c + 0x20] = 0; - gBGTilemapBuffers[2][c + 0x21] = 0; - - gBGTilemapBuffers[1][c] = b[4]; - gBGTilemapBuffers[1][c + 1] = b[5]; - gBGTilemapBuffers[1][c + 0x20] = b[6]; - gBGTilemapBuffers[1][c + 0x21] = b[7]; + case 2: // LAYER_TYPE_ + // Draw metatile's bottom layer to the bottom background layer. + gBGTilemapBuffers[3][offset] = metatiles[0]; + gBGTilemapBuffers[3][offset + 1] = metatiles[1]; + gBGTilemapBuffers[3][offset + 0x20] = metatiles[2]; + gBGTilemapBuffers[3][offset + 0x21] = metatiles[3]; + + // Draw transparent tiles to the middle background layer. + gBGTilemapBuffers[2][offset] = 0; + gBGTilemapBuffers[2][offset + 1] = 0; + gBGTilemapBuffers[2][offset + 0x20] = 0; + gBGTilemapBuffers[2][offset + 0x21] = 0; + + // Draw metatile's top layer to the top background layer. + gBGTilemapBuffers[1][offset] = metatiles[4]; + gBGTilemapBuffers[1][offset + 1] = metatiles[5]; + gBGTilemapBuffers[1][offset + 0x20] = metatiles[6]; + gBGTilemapBuffers[1][offset + 0x21] = metatiles[7]; break; - case 1: - gBGTilemapBuffers[3][c] = b[0]; - gBGTilemapBuffers[3][c + 1] = b[1]; - gBGTilemapBuffers[3][c + 0x20] = b[2]; - gBGTilemapBuffers[3][c + 0x21] = b[3]; - - gBGTilemapBuffers[2][c] = b[4]; - gBGTilemapBuffers[2][c + 1] = b[5]; - gBGTilemapBuffers[2][c + 0x20] = b[6]; - gBGTilemapBuffers[2][c + 0x21] = b[7]; - - gBGTilemapBuffers[1][c] = 0; - gBGTilemapBuffers[1][c + 1] = 0; - gBGTilemapBuffers[1][c + 0x20] = 0; - gBGTilemapBuffers[1][c + 0x21] = 0; + case 1: // LAYER_TYPE_COVERED_BY_OBJECTS + // Draw metatile's bottom layer to the bottom background layer. + gBGTilemapBuffers[3][offset] = metatiles[0]; + gBGTilemapBuffers[3][offset + 1] = metatiles[1]; + gBGTilemapBuffers[3][offset + 0x20] = metatiles[2]; + gBGTilemapBuffers[3][offset + 0x21] = metatiles[3]; + + // Draw metatile's top layer to the middle background layer. + gBGTilemapBuffers[2][offset] = metatiles[4]; + gBGTilemapBuffers[2][offset + 1] = metatiles[5]; + gBGTilemapBuffers[2][offset + 0x20] = metatiles[6]; + gBGTilemapBuffers[2][offset + 0x21] = metatiles[7]; + + // Draw transparent tiles to the top background layer. + gBGTilemapBuffers[1][offset] = 0; + gBGTilemapBuffers[1][offset + 1] = 0; + gBGTilemapBuffers[1][offset + 0x20] = 0; + gBGTilemapBuffers[1][offset + 0x21] = 0; break; - case 0: - gBGTilemapBuffers[3][c] = 0x3014; - gBGTilemapBuffers[3][c + 1] = 0x3014; - gBGTilemapBuffers[3][c + 0x20] = 0x3014; - gBGTilemapBuffers[3][c + 0x21] = 0x3014; - - gBGTilemapBuffers[2][c] = b[0]; - gBGTilemapBuffers[2][c + 1] = b[1]; - gBGTilemapBuffers[2][c + 0x20] = b[2]; - gBGTilemapBuffers[2][c + 0x21] = b[3]; - - gBGTilemapBuffers[1][c] = b[4]; - gBGTilemapBuffers[1][c + 1] = b[5]; - gBGTilemapBuffers[1][c + 0x20] = b[6]; - gBGTilemapBuffers[1][c + 0x21] = b[7]; + case 0: // LAYER_TYPE_NORMAL + // Draw garbage to the bottom background layer. + gBGTilemapBuffers[3][offset] = 0x3014; + gBGTilemapBuffers[3][offset + 1] = 0x3014; + gBGTilemapBuffers[3][offset + 0x20] = 0x3014; + gBGTilemapBuffers[3][offset + 0x21] = 0x3014; + + // Draw metatile's bottom layer to the middle background layer. + gBGTilemapBuffers[2][offset] = metatiles[0]; + gBGTilemapBuffers[2][offset + 1] = metatiles[1]; + gBGTilemapBuffers[2][offset + 0x20] = metatiles[2]; + gBGTilemapBuffers[2][offset + 0x21] = metatiles[3]; + + // Draw metatile's top layer to the top background layer, which covers event object sprites. + gBGTilemapBuffers[1][offset] = metatiles[4]; + gBGTilemapBuffers[1][offset + 1] = metatiles[5]; + gBGTilemapBuffers[1][offset + 0x20] = metatiles[6]; + gBGTilemapBuffers[1][offset + 0x21] = metatiles[7]; break; } } diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index dc35d6fb5..273378c14 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -54,7 +54,7 @@ extern u8 gUnknown_081C6C02[]; extern u8 HiddenItemScript[]; extern u8 Event_TV[]; extern u8 gUnknown_081A0009[]; -extern u8 ClosedSootopolisGymDoorScript[]; +extern u8 ClosedSootopolisDoorScript[]; extern u8 gUnknown_081A4363[]; extern u8 gUnknown_081C346A[]; extern u8 gUnknown_081616E1[]; @@ -132,7 +132,7 @@ void GetPlayerFieldInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) { u8 tileTransitionState = gPlayerAvatar.tileTransitionState; u8 runningState = gPlayerAvatar.runningState; - bool8 forcedMove = MetatileBehavior_IsMoveTile(GetPlayerCurMetatileBehavior(runningState)); + bool8 forcedMove = MetatileBehavior_IsForcedMovementTile(GetPlayerCurMetatileBehavior(runningState)); if ((tileTransitionState == T_TILE_CENTER && forcedMove == FALSE) || tileTransitionState == T_NOT_MOVING) { @@ -457,9 +457,9 @@ static u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 metatile return Event_TV; if (MetatileBehavior_IsPC(metatileBehavior) == TRUE) return gUnknown_081A0009; - if (MetatileBehavior_IsClosedSootopolisGymDoor(metatileBehavior) == TRUE) - return ClosedSootopolisGymDoorScript; - if (is_tile_x84(metatileBehavior) == TRUE) + if (MetatileBehavior_IsClosedSootopolisDoor(metatileBehavior) == TRUE) + return ClosedSootopolisDoorScript; + if (MetatileBehavior_IsLinkBattleRecords(metatileBehavior) == TRUE) return gUnknown_081A4363; if (MetatileBehavior_IsPokeblockFeeder(metatileBehavior) == TRUE) return gUnknown_081C346A; @@ -467,7 +467,7 @@ static u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 metatile return gUnknown_081616E1; if (MetatileBehavior_IsRegionMap(metatileBehavior) == TRUE) return Event_WorldMap; - if (sub_805791C(metatileBehavior) == TRUE) + if (MetatileBehavior_IsRunningShoesManual(metatileBehavior) == TRUE) return S_RunningShoesManual; if (MetatileBehavior_IsPictureBookShelf(metatileBehavior) == TRUE) return PictureBookShelfScript; @@ -489,11 +489,11 @@ static u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 metatile { if (MetatileBehavior_IsSecretBasePC(metatileBehavior) == TRUE) return gUnknown_0815F36C; - if (sub_805724C(metatileBehavior) == TRUE) + if (MetatileBehavior_IsRecordMixingSecretBasePC(metatileBehavior) == TRUE) return gUnknown_0815F43A; - if (sub_8057364(metatileBehavior) == TRUE) + if (MetatileBehavior_IsSecretBaseSandOrnament(metatileBehavior) == TRUE) return gUnknown_0815F523; - if (sub_8057378(metatileBehavior) == TRUE) + if (MetatileBehavior_IsSecretBaseShieldOrToyTV(metatileBehavior) == TRUE) return gUnknown_0815F528; } @@ -788,7 +788,7 @@ static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 met if (direction == DIR_NORTH) { - if (sub_80571C0(metatileBehavior) == TRUE) + if (MetatileBehavior_IsOpenSecretBaseDoor(metatileBehavior) == TRUE) { sub_80BC038(position, gMapHeader.events); return TRUE; diff --git a/src/field_effect.c b/src/field_effect.c index 2005f88be..93a97aa7f 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2836,7 +2836,7 @@ void sub_80889E4(struct Task *task) if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { sub_8059BF4(); - EventObjectSetHeldMovement(eventObject, 0x39); + EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); task->data[0]++; } } @@ -2968,7 +2968,7 @@ void sub_8088CA0(struct Task *task) gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(1); sub_8059BF4(); - EventObjectSetHeldMovement(eventObject, 0x39); + EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); task->data[0]++; } } @@ -3008,7 +3008,7 @@ void sub_8088D94(struct Task *task) task->data[0]++; task->data[2] = 16; SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02); + EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], MOVEMENT_ACTION_FACE_LEFT); } } @@ -3033,7 +3033,7 @@ void sub_8088E2C(struct Task *task) sub_805B980(eventObject, GetPlayerAvatarGraphicsIdByStateId(PLAYER_AVATAR_STATE_SURFING)); StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); eventObject->inanimate = 1; - EventObjectSetHeldMovement(eventObject, 0x48); + EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT); if (task->data[15] & 0x08) { DestroySprite(&gSprites[eventObject->fieldEffectSpriteId]); @@ -3343,7 +3343,7 @@ void sub_8089414(struct Task *task) sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; sub_8059BF4(); - EventObjectSetHeldMovement(eventObject, 0x39); + EventObjectSetHeldMovement(eventObject, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); task->data[0]++; } } diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 11f6e12b2..73082bdb7 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -62,7 +62,7 @@ static void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite) u8 whichElement; u16 unk_8041e2c[] = {0x0c, 0x1c, 0x2c}; sprite->data[2] = 0; - if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(eventObject->previousMetatileBehavior)) || (whichElement = sub_8057450(eventObject->currentMetatileBehavior)))) + if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = MetatileBehavior_GetBridgeType(eventObject->previousMetatileBehavior)) || (whichElement = MetatileBehavior_GetBridgeType(eventObject->currentMetatileBehavior)))) { sprite->data[2] = unk_8041e2c[whichElement - 1]; npc_pal_op_A(eventObject, sprite->oam.paletteNum); diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index 8610edca2..a9dc78dfa 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -231,7 +231,7 @@ void sub_8080B9C(u8 taskId) u8 eventObjId; sub_8080958(1); eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectSetHeldMovement(&gEventObjects[eventObjId], 8); + EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_DOWN); task->data[0] = 2; } break; @@ -573,7 +573,7 @@ void sub_808115C(u8 taskId) eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); EventObjectClearHeldMovementIfActive(&gEventObjects[eventObjId]); eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectSetHeldMovement(&gEventObjects[eventObjId], 9); + EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_UP); task->data[0] = 2; } break; diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index f17cd9bc6..dac26ff32 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -50,11 +50,11 @@ static void PlayCollisionSoundIfNotFacingWarp(u8 a); static void sub_8059D60(struct EventObject *a); static void StartStrengthAnim(u8 a, u8 b); static void DoPlayerMatJump(void); -static void sub_805A06C(void); +static void DoPlayerMatSpin(void); u8 debug_sub_805F2B0(u8); u8 debug_sub_805F2DC(u8); -static bool8 (*const gUnknown_0830FB58[])(u8) = +static bool8 (*const sForcedMovementTestFuncs[])(u8) = { MetatileBehavior_IsTrickHouseSlipperyFloor, MetatileBehavior_IsIce_2, @@ -71,30 +71,30 @@ static bool8 (*const gUnknown_0830FB58[])(u8) = MetatileBehavior_IsSlideWest, MetatileBehavior_IsSlideEast, MetatileBehavior_IsWaterfall, - MetatileBehavior_0xBB, - MetatileBehavior_0xBC, + MetatileBehavior_IsSecretBaseJumpMat, + MetatileBehavior_IsSecretBaseSpinMat, MetatileBehavior_IsMuddySlope, }; -static bool8 (*const gUnknown_0830FBA0[])(void) = +static bool8 (*const sForcedMovementFuncs[])(void) = { ForcedMovement_None, ForcedMovement_Slip, ForcedMovement_Slip, - sub_8058AAC, - sub_8058AC4, - sub_8058ADC, - sub_8058AF4, - sub_8058B0C, - sub_8058B24, - sub_8058B3C, - sub_8058B54, + ForcedMovement_WalkSouth, + ForcedMovement_WalkNorth, + ForcedMovement_WalkWest, + ForcedMovement_WalkEast, + ForcedMovement_RideCurrentSouth, + ForcedMovement_RideCurrentNorth, + ForcedMovement_RideCurrentWest, + ForcedMovement_RideCurrentEast, ForcedMovement_SlideSouth, ForcedMovement_SlideNorth, ForcedMovement_SlideWest, ForcedMovement_SlideEast, - sub_8058B0C, - ForcedMovement_MatJump, - sub_8058C10, + ForcedMovement_RideCurrentSouth, + ForcedMovement_SecretBaseJumpMat, + ForcedMovement_SecretBaseSpinMat, ForcedMovement_MuddySlope, }; static void (*const gUnknown_0830FBEC[])(u8, u16) = @@ -188,12 +188,12 @@ static u8 (*const sPlayerAvatarSecretBaseMatJump[])(struct Task *, struct EventO { PlayerAvatar_DoSecretBaseMatJump, }; -static u8 (*const gUnknown_0830FC98[])(struct Task *, struct EventObject *) = +static u8 (*const sPlayerAvatarSecretBaseMatSpin[])(struct Task *, struct EventObject *) = { - sub_805A0D8, - sub_805A100, - sub_805A178, - sub_805A1B8, + PlayerAvatar_SecretBaseMatSpinStep0, + PlayerAvatar_SecretBaseMatSpinStep1, + PlayerAvatar_SecretBaseMatSpinStep2, + PlayerAvatar_SecretBaseMatSpinStep3, }; movement_type_empty_callback(MovementType_Player); @@ -267,7 +267,7 @@ static bool8 TryDoMetatileBehaviorForcedMovement(void) if (gUnknown_020297ED != 0 && (gMain.heldKeys & R_BUTTON)) return 0; #endif - return gUnknown_0830FBA0[GetForcedMovementByMetatileBehavior()](); + return sForcedMovementFuncs[GetForcedMovementByMetatileBehavior()](); } static u8 GetForcedMovementByMetatileBehavior(void) @@ -276,11 +276,11 @@ static u8 GetForcedMovementByMetatileBehavior(void) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_5)) { - u8 r5 = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior; + u8 metatileBehavior = gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior; for (i = 0; i < 18; i++) { - if (gUnknown_0830FB58[i](r5)) + if (sForcedMovementTestFuncs[i](metatileBehavior)) return i + 1; } } @@ -344,44 +344,44 @@ bool8 ForcedMovement_Slip(void) return DoForcedMovementInCurrentDirection(PlayerGoSpeed2); } -bool8 sub_8058AAC(void) +bool8 ForcedMovement_WalkSouth(void) { return DoForcedMovement(DIR_SOUTH, PlayerGoSpeed1); } -bool8 sub_8058AC4(void) +bool8 ForcedMovement_WalkNorth(void) { return DoForcedMovement(DIR_NORTH, PlayerGoSpeed1); } -bool8 sub_8058ADC(void) +bool8 ForcedMovement_WalkWest(void) { return DoForcedMovement(DIR_WEST, PlayerGoSpeed1); } -bool8 sub_8058AF4(void) +bool8 ForcedMovement_WalkEast(void) { return DoForcedMovement(DIR_EAST, PlayerGoSpeed1); } -bool8 sub_8058B0C(void) +bool8 ForcedMovement_RideCurrentSouth(void) { - return DoForcedMovement(DIR_SOUTH, npc_use_some_d2s); + return DoForcedMovement(DIR_SOUTH, PlayerRideWaterCurrent); } -bool8 sub_8058B24(void) +bool8 ForcedMovement_RideCurrentNorth(void) { - return DoForcedMovement(DIR_NORTH, npc_use_some_d2s); + return DoForcedMovement(DIR_NORTH, PlayerRideWaterCurrent); } -bool8 sub_8058B3C(void) +bool8 ForcedMovement_RideCurrentWest(void) { - return DoForcedMovement(DIR_WEST, npc_use_some_d2s); + return DoForcedMovement(DIR_WEST, PlayerRideWaterCurrent); } -bool8 sub_8058B54(void) +bool8 ForcedMovement_RideCurrentEast(void) { - return DoForcedMovement(DIR_EAST, npc_use_some_d2s); + return DoForcedMovement(DIR_EAST, PlayerRideWaterCurrent); } static u8 ForcedMovement_Slide(u8 direction, void (*b)(u8)) @@ -413,15 +413,15 @@ bool8 ForcedMovement_SlideEast(void) return ForcedMovement_Slide(DIR_EAST, PlayerGoSpeed2); } -bool8 ForcedMovement_MatJump(void) +bool8 ForcedMovement_SecretBaseJumpMat(void) { DoPlayerMatJump(); return TRUE; } -bool8 sub_8058C10(void) +bool8 ForcedMovement_SecretBaseSpinMat(void) { - sub_805A06C(); + DoPlayerMatSpin(); return TRUE; } @@ -783,7 +783,7 @@ void PlayerGoSpeed2(u8 a) PlayerSetAnimId(GetWalkFastMovementAction(a), 2); } -void npc_use_some_d2s(u8 a) +void PlayerRideWaterCurrent(u8 a) { PlayerSetAnimId(GetRideWaterCurrentMovementAction(a), 2); } @@ -1305,22 +1305,22 @@ u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *event /* Some field effect */ -static void sub_805A08C(u8 taskId); +static void PlayerAvatar_DoSecretBaseMatSpin(u8 taskId); -static void sub_805A06C(void) +static void DoPlayerMatSpin(void) { - u8 taskId = CreateTask(sub_805A08C, 0xFF); + u8 taskId = CreateTask(PlayerAvatar_DoSecretBaseMatSpin, 0xFF); - sub_805A08C(taskId); + PlayerAvatar_DoSecretBaseMatSpin(taskId); } -static void sub_805A08C(u8 taskId) +static void PlayerAvatar_DoSecretBaseMatSpin(u8 taskId) { - while (gUnknown_0830FC98[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])) + while (sPlayerAvatarSecretBaseMatSpin[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])) ; } -u8 sub_805A0D8(struct Task *task, struct EventObject *eventObject) +u8 PlayerAvatar_SecretBaseMatSpinStep0(struct Task *task, struct EventObject *eventObject) { task->data[0]++; task->data[1] = eventObject->movementDirection; @@ -1330,7 +1330,7 @@ u8 sub_805A0D8(struct Task *task, struct EventObject *eventObject) return 1; } -u8 sub_805A100(struct Task *task, struct EventObject *eventObject) +u8 PlayerAvatar_SecretBaseMatSpinStep1(struct Task *task, struct EventObject *eventObject) { u8 directions[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; @@ -1348,26 +1348,32 @@ u8 sub_805A100(struct Task *task, struct EventObject *eventObject) return 0; } -u8 sub_805A178(struct Task *task, struct EventObject *eventObject) +u8 PlayerAvatar_SecretBaseMatSpinStep2(struct Task *task, struct EventObject *eventObject) { - const u8 arr[] = {16, 16, 17, 18, 19}; + const u8 actions[] = { + MOVEMENT_ACTION_DELAY_1, + MOVEMENT_ACTION_DELAY_1, + MOVEMENT_ACTION_DELAY_2, + MOVEMENT_ACTION_DELAY_4, + MOVEMENT_ACTION_DELAY_8, + }; if (EventObjectClearHeldMovementIfFinished(eventObject)) { - EventObjectSetHeldMovement(eventObject, arr[task->data[2]]); + EventObjectSetHeldMovement(eventObject, actions[task->data[2]]); task->data[0] = 1; } return 0; } -u8 sub_805A1B8(struct Task *task, struct EventObject *eventObject) +u8 PlayerAvatar_SecretBaseMatSpinStep3(struct Task *task, struct EventObject *eventObject) { if (EventObjectClearHeldMovementIfFinished(eventObject)) { EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(GetOppositeDirection(task->data[1]))); ScriptContext2_Disable(); gPlayerAvatar.preventStep = FALSE; - DestroyTask(FindTaskIdByFunc(sub_805A08C)); + DestroyTask(FindTaskIdByFunc(PlayerAvatar_DoSecretBaseMatSpin)); } return 0; } diff --git a/src/field_specials.c b/src/field_specials.c index 829a933bf..cb400dc2d 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -54,7 +54,7 @@ EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE; EWRAM_DATA u8 gBikeCollisions = 0; EWRAM_DATA u32 gBikeCyclingTimer = 0; EWRAM_DATA u8 gUnknown_02039258 = 0; -EWRAM_DATA u8 gUnknown_02039259 = 0; +EWRAM_DATA u8 gPetalburgGymSlidingDoorIndex = 0; EWRAM_DATA u8 gUnknown_0203925A = 0; EWRAM_DATA u8 gUnknown_0203925B = 0; EWRAM_DATA u8 gUnknown_0203925C = 0; @@ -552,26 +552,26 @@ void MauvilleGymSpecial3(void) } } -static void Task_PetalburgGym(u8); -static void PetalburgGymFunc(u8, u16); +static void Task_SlideOpenPetalburgGymDoors(u8); +static void SetPetalburgGymDoorTiles(u8, u16); const u8 gUnknown_083F8370[] = {0, 1, 1, 1, 1}; -const u16 gUnknown_083F8376[] = {0x218, 0x219, 0x21a, 0x21b, 0x21c}; +const u16 gPetalburgGymSlidingDoorMetatiles[] = {0x218, 0x219, 0x21a, 0x21b, 0x21c}; -void PetalburgGymSpecial1(void) +void PetalburgGymSlideOpenDoors(void) { gUnknown_02039258 = 0; - gUnknown_02039259 = 0; + gPetalburgGymSlidingDoorIndex = 0; PlaySE(SE_KI_GASYAN); - CreateTask(Task_PetalburgGym, 8); + CreateTask(Task_SlideOpenPetalburgGymDoors, 8); } -static void Task_PetalburgGym(u8 taskId) +static void Task_SlideOpenPetalburgGymDoors(u8 taskId) { - if (gUnknown_083F8370[gUnknown_02039259] == gUnknown_02039258) + if (gUnknown_083F8370[gPetalburgGymSlidingDoorIndex] == gUnknown_02039258) { - PetalburgGymFunc(gSpecialVar_0x8004, gUnknown_083F8376[gUnknown_02039259]); + SetPetalburgGymDoorTiles(gSpecialVar_0x8004, gPetalburgGymSlidingDoorMetatiles[gPetalburgGymSlidingDoorIndex]); gUnknown_02039258 = 0; - if ((++gUnknown_02039259) == 5) + if ((++gPetalburgGymSlidingDoorIndex) == 5) { DestroyTask(taskId); EnableBothScriptContexts(); @@ -583,74 +583,76 @@ static void Task_PetalburgGym(u8 taskId) } } -static void PetalburgGymFunc(u8 a0, u16 a1) +static void SetPetalburgGymDoorTiles(u8 roomIndex, u16 metatile) { u16 x[4]; u16 y[4]; u8 i; - u8 nDoors = 0; - switch (a0) + u8 numDoors = 0; + switch (roomIndex) { case 1: - nDoors = 2; + numDoors = 2; x[0] = 1; x[1] = 7; y[0] = 0x68; y[1] = 0x68; break; case 2: - nDoors = 2; + numDoors = 2; x[0] = 1; x[1] = 7; y[0] = 0x4e; y[1] = 0x4e; break; case 3: - nDoors = 2; + numDoors = 2; x[0] = 1; x[1] = 7; y[0] = 0x5b; y[1] = 0x5b; break; case 4: - nDoors = 1; + numDoors = 1; x[0] = 7; y[0] = 0x27; break; case 5: - nDoors = 2; + numDoors = 2; x[0] = 1; x[1] = 7; y[0] = 0x34; y[1] = 0x34; break; case 6: - nDoors = 1; + numDoors = 1; x[0] = 1; y[0] = 0x41; break; case 7: - nDoors = 1; + numDoors = 1; x[0] = 7; y[0] = 0xd; break; case 8: - nDoors = 1; + numDoors = 1; x[0] = 1; y[0] = 0x1a; break; } - for (i=0; i y2) { return FALSE; } } - else if (sub_80576B4(metatileBehavior)) + else if (MetatileBehavior_IsPacifidlogVerticalLog2(metatileBehavior)) { if (y1 < y2) { return FALSE; } } - else if (sub_80576C8(metatileBehavior)) + else if (MetatileBehavior_IsPacifidlogHorizontalLog1(metatileBehavior)) { if (x1 > x2) { return FALSE; } } - else if (sub_80576DC(metatileBehavior)) + else if (MetatileBehavior_IsPacifidlogHorizontalLog2(metatileBehavior)) { if (x1 < x2) { @@ -335,28 +335,28 @@ bool32 sub_806972C(s16 x1, s16 y1, s16 x2, s16 y2) bool32 sub_80697C8(s16 x1, s16 y1, s16 x2, s16 y2) { s8 metatileBehavior = MapGridGetMetatileBehaviorAt(x1, y1); - if (sub_80576A0(metatileBehavior)) + if (MetatileBehavior_IsPacifidlogVerticalLog1(metatileBehavior)) { if (y1 < y2) { return FALSE; } } - else if (sub_80576B4(metatileBehavior)) + else if (MetatileBehavior_IsPacifidlogVerticalLog2(metatileBehavior)) { if (y1 > y2) { return FALSE; } } - else if (sub_80576C8(metatileBehavior)) + else if (MetatileBehavior_IsPacifidlogHorizontalLog1(metatileBehavior)) { if (x1 < x2) { return FALSE; } } - else if (sub_80576DC(metatileBehavior)) + else if (MetatileBehavior_IsPacifidlogHorizontalLog2(metatileBehavior)) { if (x1 > x2) { diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index c8c3325df..14c4ea018 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -90,7 +90,7 @@ void Debug_SetUpFieldMove_Cut(void) { s16 x, y; u8 i, j; - u8 metatile; + u8 metatileBehavior; if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) { @@ -108,9 +108,9 @@ void Debug_SetUpFieldMove_Cut(void) x = j - 1 + gPlayerFacingPosition.x; if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) { - metatile = MapGridGetMetatileBehaviorAt(x, y); - if (MetatileBehavior_IsPokeGrass(metatile) == TRUE - || MetatileBehavior_IsAshGrass(metatile) == TRUE) + metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsPokeGrass(metatileBehavior) == TRUE + || MetatileBehavior_IsAshGrass(metatileBehavior) == TRUE) { gLastFieldPokeMenuOpened = 0; FieldCallback_CutGrass(); diff --git a/src/fldeff_decoration.c b/src/fldeff_decoration.c index ea0eb96c5..d65a23e95 100644 --- a/src/fldeff_decoration.c +++ b/src/fldeff_decoration.c @@ -78,7 +78,7 @@ extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[36] static void sub_80C68EC(u8); static void DoBalloonSoundEffect(s16); -void sub_80C68A4(s16 metatileId, s16 x, s16 y) +void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y) { u8 taskId = CreateTask(sub_80C68EC, 0); @@ -162,7 +162,7 @@ static void sub_80C6A14(u8 taskId) } } -void sub_80C6A54(s16 x, s16 y) +void ShatterSecretBaseBreakableDoor(s16 x, s16 y) { u8 dir = GetPlayerFacingDirection(); if (dir == DIR_SOUTH) @@ -178,11 +178,11 @@ void sub_80C6A54(s16 x, s16 y) } } -static void Task_DecorationSoundEffect(u8 taskId) +static void Task_SecretBaseMusicNoteMatSound(u8 taskId) { if (gTasks[taskId].data[1] == 7) { - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].data[0]) // metatileId { case 632: PlaySE(SE_TOY_C); @@ -218,14 +218,14 @@ static void Task_DecorationSoundEffect(u8 taskId) } } -void DoDecorationSoundEffect(s16 arg) +void PlaySecretBaseMusicNoteMatSound(s16 metatileId) { - u8 taskId = CreateTask(Task_DecorationSoundEffect, 5); - gTasks[taskId].data[0] = arg; + u8 taskId = CreateTask(Task_SecretBaseMusicNoteMatSound, 5); + gTasks[taskId].data[0] = metatileId; gTasks[taskId].data[1] = 0; } -void SpriteCB_YellowCave4Sparkle(struct Sprite *sprite) +void SpriteCB_GlitterMatSparkle(struct Sprite *sprite) { sprite->data[0]++; if (sprite->data[0] == 8) @@ -234,7 +234,7 @@ void SpriteCB_YellowCave4Sparkle(struct Sprite *sprite) DestroySprite(sprite); } -void DoYellowCave4Sparkle(void) +void DoSecretBaseGlitterMatSparkle(void) { s16 x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x; s16 y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y; @@ -247,7 +247,7 @@ void DoYellowCave4Sparkle(void) gSprites[spriteId].coordOffsetEnabled = TRUE; gSprites[spriteId].oam.priority = 1; gSprites[spriteId].oam.paletteNum = 5; - gSprites[spriteId].callback = SpriteCB_YellowCave4Sparkle; + gSprites[spriteId].callback = SpriteCB_GlitterMatSparkle; gSprites[spriteId].data[0] = 0; } } diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index 04e7d8102..c941310fb 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -2,58 +2,58 @@ #include "metatile_behavior.h" #include "constants/metatile_behaviors.h" -#define TILE_ATTRIBUTES(three, two, one) (((one) ? 1 : 0) | ((two) ? 2 : 0) | ((three) ? 4 : 0)) +#define TILE_ATTRIBUTES(unused, surfable, wildEncounter) (((wildEncounter) ? 1 : 0) | ((surfable) ? 2 : 0) | ((unused) ? 4 : 0)) static const u8 sTileBitAttributes[] = { TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORMAL - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_01 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_WALL TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_TALL_GRASS TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_LONG_GRASS - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_04 - TILE_ATTRIBUTES(FALSE, FALSE, TRUE), // MB_05 - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_DEEP_SAND + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_04 + TILE_ATTRIBUTES(FALSE, FALSE, TRUE), // MB_UNUSED_05 + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_UNUSED_DEEP_SAND TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHORT_GRASS - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_CAVE + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_UNUSED_CAVE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LONG_GRASS_SOUTH_EDGE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NO_RUNNING - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_0B + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_INDOOR_ENCOUNTER TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MOUNTAIN_TOP - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BATTLE_PYRAMID_WARP + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_GLITTER_MATTTLE_PYRAMID_WARP TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_MOSSDEEP_GYM_WARP TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MT_PYRE_HOLE TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_POND_WATER TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEMI_DEEP_WATER - TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_DEEP_WATER + TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_UNUSED_DEEP_WATER TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATERFALL TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOOTOPOLIS_DEEP_WATER TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_OCEAN_WATER TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PUDDLE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHALLOW_WATER - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_18 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_SOOTOPOLIS_DEEP_WATER TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NO_SURFACING - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1A + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_STAIRS_OUTSIDE_ABANDONED_SHIP TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHOAL_CAVE_ENTRANCE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1D - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1E - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_1F + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1F TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ICE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SAND TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_23 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_23 TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_ASHGRASS - TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_25 + TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_FOOTPRINTS TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_THIN_ICE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_ICE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HOT_SPRINGS TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LAVARIDGE_GYM_B1F_WARP TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED_NO_SURFACING TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_REFLECTION_UNDER_BRIDGE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2C - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2D - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2E - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_2F + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2C + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2F TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_EAST TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_WEST TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTH @@ -66,8 +66,8 @@ static const u8 sTileBitAttributes[] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_WEST TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_NORTH TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_SOUTH - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_3C - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_3D + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_NORTHEAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_NORTHWEST TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHEAST TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHWEST TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_EAST @@ -79,32 +79,32 @@ static const u8 sTileBitAttributes[] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_NORTH TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_SOUTH TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_8_FLOOR - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_49 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_4A - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4B - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4C - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4D - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4E - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_4F - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_EASTWARD_CURRENT + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_49 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_4A + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4B + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4C + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4F + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_UNUSED_EASTWARD_CURRENT TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WESTWARD_CURRENT TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NORTHWARD_CURRENT TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOUTHWARD_CURRENT - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_54 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_55 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_56 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_57 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_58 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_59 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5A - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5B - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5C - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5D - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5E - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_5F + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_54 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_55 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_56 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_57 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_58 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_59 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5A + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5B + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5C + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5D + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5F TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NON_ANIMATED_DOOR TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LADDER - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_EAST_ARROW_WARP + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_EAST_ARROW_WARP TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WEST_ARROW_WARP TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORTH_ARROW_WARP TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SOUTH_ARROW_WARP @@ -116,10 +116,10 @@ static const u8 sTileBitAttributes[] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DOWN_ESCALATOR TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_DOOR TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_SOUTH_ARROW_WARP - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DEEP_SOUTH_WARP - TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_6F + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_DEEP_SOUTH_WARP + TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_UNUSED_6F TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_WARP_OR_BRIDGE - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_71 + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_71 TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_1 TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_2 TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_VERTICAL_LOG_1 @@ -127,93 +127,93 @@ static const u8 sTileBitAttributes[] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_1 TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_2 TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_FORTREE_BRIDGE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_79 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_79 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_1 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_2 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_3 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_4 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_7E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_7E TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROUTE110_BRIDGE TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_COUNTER - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_81 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_82 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_81 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_82 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PC - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_84 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_LINK_BATTLE_RECORDS TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_REGION_MAP TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TELEVISION TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEBLOCK_FEEDER - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_88 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_88 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SLOT_MACHINE TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROULETTE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CLOSED_SOOTOPOLIS_GYM_DOOR + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CLOSED_SOOTOPOLIS_DOOR TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_DOOR - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_8D - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_8E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PETALBURG_GYM_DOOR + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_RUNNING_SHOES_MANUAL TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_QUESTIONNAIRE TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_RED_CAVE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_91 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_RED_CAVE_OPEN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BROWN_CAVE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_93 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_YELLOW_CAVE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_95 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_1 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_97 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_1_OPEN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_SHRUB - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_99 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_SHRUB_OPEN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BLUE_CAVE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9B + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_2 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9D - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9E - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_9F - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BERRY_TREE_SOIL - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A1 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A2 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A3 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A4 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A5 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A6 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A7 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A8 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_A9 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AA - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AB - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AC - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AD - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_AF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_2_OPEN + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9E + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9F + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_BREAKABLE_DOORRRY_TREE_SOIL + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A1 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A2 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A3 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A4 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A5 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A6 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AD + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AF TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_PC - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B1 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B2 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B3 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B4 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B5 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B6 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_B7 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B8 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_B9 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BA - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BB - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BC - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BD - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BF - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BED - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C1 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C2 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C3 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C4 - TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_C5 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C6 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C7 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C8 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C9 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CA - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CB - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CC - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CD - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_RECORD_MIXING_SECRET_BASE_PC + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_UNUSED + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BLOCK_DECORATION + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_DECORATION + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_LARGE_MAT_EDGE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_B6 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_NORTH_WALL + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_BALLOON + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_IMPASSABLE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_GLITTER_MAT + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_JUMP_MAT + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_SPIN_MAT + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_MUSIC_NOTE_MAT + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_BREAKABLE_DOOR + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SAND_ORNAMENT + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTH_AND_NORTH + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_WEST_AND_EAST + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_HOLE + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LARGE_MAT_CENTER + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_SHIELD_OR_TOY_TV + TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PLAYER_ROOM_PC_ON + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C6 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CD + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CF TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MUDDY_SLOPE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BUMPY_SLOPE TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_FLOOR @@ -221,15 +221,15 @@ static const u8 sTileBitAttributes[] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ISOLATED_HORIZONTAL_RAIL TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_VERTICAL_RAIL TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HORIZONTAL_RAIL - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_D7 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_D8 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_D9 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DA - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DB - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DC - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DD - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_DF + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DD + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DF TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PICTURE_BOOK_SHELF TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BOOKSHELF TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEMON_CENTER_BOOKSHELF @@ -237,621 +237,652 @@ static const u8 sTileBitAttributes[] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRASH_CAN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SHOP_SHELF TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BLUEPRINT - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_E7 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_E8 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_E9 - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EA - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EB - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EC - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EE - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_EF - TILE_ATTRIBUTES(FALSE, FALSE, FALSE) // MB_F0 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_E7 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_E8 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_E9 + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EA + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EB + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EC + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_ED + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EE + TILE_ATTRIBUTES(FALSE, FALSE, FALSE) // MB_UNUSED_EF }; // only used as default case for checking jump landing in field_ground_effect. -bool8 MetatileBehavior_IsATile(u8 var) +bool8 MetatileBehavior_IsATile(u8 metatileBehavior) { return TRUE; } -bool8 MetatileBehavior_IsEncounterTile(u8 var) +bool8 MetatileBehavior_IsEncounterTile(u8 metatileBehavior) { - if ((sTileBitAttributes[var] & 1) != 0) + if (sTileBitAttributes[metatileBehavior] & 1) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsJumpEast(u8 var) +bool8 MetatileBehavior_IsJumpEast(u8 metatileBehavior) { - if (var == MB_JUMP_EAST) + if (metatileBehavior == MB_JUMP_EAST) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsJumpWest(u8 var) +bool8 MetatileBehavior_IsJumpWest(u8 metatileBehavior) { - if (var == MB_JUMP_WEST) + if (metatileBehavior == MB_JUMP_WEST) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsJumpNorth(u8 var) +bool8 MetatileBehavior_IsJumpNorth(u8 metatileBehavior) { - if (var == MB_JUMP_NORTH) + if (metatileBehavior == MB_JUMP_NORTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsJumpSouth(u8 var) +bool8 MetatileBehavior_IsJumpSouth(u8 metatileBehavior) { - if (var == MB_JUMP_SOUTH) + if (metatileBehavior == MB_JUMP_SOUTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPokeGrass(u8 var) +bool8 MetatileBehavior_IsPokeGrass(u8 metatileBehavior) { - if (var == MB_TALL_GRASS || var == MB_LONG_GRASS) + if (metatileBehavior == MB_TALL_GRASS || metatileBehavior == MB_LONG_GRASS) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSandOrDeepSand(u8 var) +bool8 MetatileBehavior_IsSandOrDeepSand(u8 metatileBehavior) { - if (var == MB_SAND || var == MB_DEEP_SAND) + if (metatileBehavior == MB_SAND || metatileBehavior == MB_UNUSED_DEEP_SAND) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsDeepSand(u8 var) +bool8 MetatileBehavior_IsDeepSand(u8 metatileBehavior) { - if (var == MB_DEEP_SAND) + if (metatileBehavior == MB_UNUSED_DEEP_SAND) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsReflective(u8 var) +bool8 MetatileBehavior_IsReflective(u8 metatileBehavior) { - if (var == MB_POND_WATER || var == MB_PUDDLE || var == MB_1A || var == MB_ICE || var == MB_SOOTOPOLIS_DEEP_WATER || var == MB_REFLECTION_UNDER_BRIDGE) + if (metatileBehavior == MB_POND_WATER + || metatileBehavior == MB_PUDDLE + || metatileBehavior == MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 + || metatileBehavior == MB_ICE + || metatileBehavior == MB_SOOTOPOLIS_DEEP_WATER + || metatileBehavior == MB_REFLECTION_UNDER_BRIDGE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsIce(u8 var) +bool8 MetatileBehavior_IsIce(u8 metatileBehavior) { - if (var == MB_ICE) + if (metatileBehavior == MB_ICE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWarpDoor(u8 var) +bool8 MetatileBehavior_IsWarpDoor(u8 metatileBehavior) { - if (var == MB_ANIMATED_DOOR) + if (metatileBehavior == MB_ANIMATED_DOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsDoor(u8 var) +bool8 MetatileBehavior_IsDoor(u8 metatileBehavior) { - if (var == MB_8D || var == MB_ANIMATED_DOOR) + if (metatileBehavior == MB_PETALBURG_GYM_DOOR + || metatileBehavior == MB_ANIMATED_DOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsEscalator(u8 var) +bool8 MetatileBehavior_IsEscalator(u8 metatileBehavior) { - if (var == MB_UP_ESCALATOR || var == MB_DOWN_ESCALATOR) + if (metatileBehavior == MB_UP_ESCALATOR + || metatileBehavior == MB_DOWN_ESCALATOR) return TRUE; else return FALSE; } -bool8 unref_sub_8056EE0(u8 var) +bool8 Unref_MetatileBehavior_IsUnused04(u8 metatileBehavior) { - if (var == MB_04) + if (metatileBehavior == MB_UNUSED_04) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsLadder(u8 var) +bool8 MetatileBehavior_IsLadder(u8 metatileBehavior) { - if (var == MB_LADDER) + if (metatileBehavior == MB_LADDER) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsNonAnimDoor(u8 var) +bool8 MetatileBehavior_IsNonAnimDoor(u8 metatileBehavior) { - if (var == MB_NON_ANIMATED_DOOR || var == MB_WATER_DOOR || var == MB_DEEP_SOUTH_WARP) + if (metatileBehavior == MB_NON_ANIMATED_DOOR + || metatileBehavior == MB_WATER_DOOR + || metatileBehavior == MB_UNUSED_DEEP_SOUTH_WARP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsDeepSouthWarp(u8 var) +bool8 MetatileBehavior_IsDeepSouthWarp(u8 metatileBehavior) { - if (var == MB_DEEP_SOUTH_WARP) + if (metatileBehavior == MB_UNUSED_DEEP_SOUTH_WARP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8 var) +bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8 metatileBehavior) { - if ((sTileBitAttributes[var] & 2) != 0) + if ((sTileBitAttributes[metatileBehavior] & 2) != 0) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsEastArrowWarp(u8 var) +bool8 MetatileBehavior_IsEastArrowWarp(u8 metatileBehavior) { - if (var == MB_EAST_ARROW_WARP) + if (metatileBehavior == MB_UNUSED_EAST_ARROW_WARP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWestArrowWarp(u8 var) +bool8 MetatileBehavior_IsWestArrowWarp(u8 metatileBehavior) { - if (var == MB_WEST_ARROW_WARP) + if (metatileBehavior == MB_WEST_ARROW_WARP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsNorthArrowWarp(u8 var) +bool8 MetatileBehavior_IsNorthArrowWarp(u8 metatileBehavior) { - if (var == MB_NORTH_ARROW_WARP || var == MB_STAIRS_OUTSIDE_ABANDONED_SHIP) + if (metatileBehavior == MB_NORTH_ARROW_WARP + || metatileBehavior == MB_STAIRS_OUTSIDE_ABANDONED_SHIP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSouthArrowWarp(u8 var) +bool8 MetatileBehavior_IsSouthArrowWarp(u8 metatileBehavior) { - if (var == MB_SOUTH_ARROW_WARP || var == MB_WATER_SOUTH_ARROW_WARP || var == MB_SHOAL_CAVE_ENTRANCE) + if (metatileBehavior == MB_SOUTH_ARROW_WARP + || metatileBehavior == MB_WATER_SOUTH_ARROW_WARP + || metatileBehavior == MB_SHOAL_CAVE_ENTRANCE) return TRUE; else return FALSE; } -// unused -bool8 MetatileBehavior_IsArrowWarp(u8 var) +bool8 Unref_MetatileBehavior_IsArrowWarp(u8 metatileBehavior) { - u8 var2 = 0; + u8 isArrowWarp = FALSE; - if (MetatileBehavior_IsEastArrowWarp(var) - || MetatileBehavior_IsWestArrowWarp(var) - || MetatileBehavior_IsNorthArrowWarp(var) - || MetatileBehavior_IsSouthArrowWarp(var)) + if (MetatileBehavior_IsEastArrowWarp(metatileBehavior) + || MetatileBehavior_IsWestArrowWarp(metatileBehavior) + || MetatileBehavior_IsNorthArrowWarp(metatileBehavior) + || MetatileBehavior_IsSouthArrowWarp(metatileBehavior)) { - var2 = 1; + isArrowWarp = TRUE; } - return var2; + + return isArrowWarp; } -bool8 MetatileBehavior_IsMoveTile(u8 var) +bool8 MetatileBehavior_IsForcedMovementTile(u8 metatileBehavior) { - if ((var >= MB_WALK_EAST && var <= MB_TRICK_HOUSE_PUZZLE_8_FLOOR) || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT) - || var == MB_MUDDY_SLOPE || var == MB_CRACKED_FLOOR || var == MB_WATERFALL || var == MB_ICE || var == MB_BB || var == MB_BC) + if ((metatileBehavior >= MB_WALK_EAST && metatileBehavior <= MB_TRICK_HOUSE_PUZZLE_8_FLOOR) + || (metatileBehavior >= MB_UNUSED_EASTWARD_CURRENT && metatileBehavior <= MB_SOUTHWARD_CURRENT) + || metatileBehavior == MB_MUDDY_SLOPE + || metatileBehavior == MB_CRACKED_FLOOR + || metatileBehavior == MB_WATERFALL + || metatileBehavior == MB_ICE + || metatileBehavior == MB_SECRET_BASE_JUMP_MAT + || metatileBehavior == MB_SECRET_BASE_SPIN_MAT) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsIce_2(u8 var) +bool8 MetatileBehavior_IsIce_2(u8 metatileBehavior) { - if (var == MB_ICE) + if (metatileBehavior == MB_ICE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 var) +bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 metatileBehavior) { - if (var == MB_TRICK_HOUSE_PUZZLE_8_FLOOR) + if (metatileBehavior == MB_TRICK_HOUSE_PUZZLE_8_FLOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_0x05(u8 var) +bool8 Unref_MetatileBehavior_IsUnused05(u8 metatileBehavior) { - if (var == MB_05) + if (metatileBehavior == MB_UNUSED_05) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWalkNorth(u8 var) +bool8 MetatileBehavior_IsWalkNorth(u8 metatileBehavior) { - if (var == MB_WALK_NORTH) + if (metatileBehavior == MB_WALK_NORTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWalkSouth(u8 var) +bool8 MetatileBehavior_IsWalkSouth(u8 metatileBehavior) { - if (var == MB_WALK_SOUTH) + if (metatileBehavior == MB_WALK_SOUTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWalkWest(u8 var) +bool8 MetatileBehavior_IsWalkWest(u8 metatileBehavior) { - if (var == MB_WALK_WEST) + if (metatileBehavior == MB_WALK_WEST) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWalkEast(u8 var) +bool8 MetatileBehavior_IsWalkEast(u8 metatileBehavior) { - if (var == MB_WALK_EAST) + if (metatileBehavior == MB_WALK_EAST) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsNorthwardCurrent(u8 var) +bool8 MetatileBehavior_IsNorthwardCurrent(u8 metatileBehavior) { - if (var == MB_NORTHWARD_CURRENT) + if (metatileBehavior == MB_NORTHWARD_CURRENT) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSouthwardCurrent(u8 var) +bool8 MetatileBehavior_IsSouthwardCurrent(u8 metatileBehavior) { - if (var == MB_SOUTHWARD_CURRENT) + if (metatileBehavior == MB_SOUTHWARD_CURRENT) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWestwardCurrent(u8 var) +bool8 MetatileBehavior_IsWestwardCurrent(u8 metatileBehavior) { - if (var == MB_WESTWARD_CURRENT) + if (metatileBehavior == MB_WESTWARD_CURRENT) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsEastwardCurrent(u8 var) +bool8 MetatileBehavior_IsEastwardCurrent(u8 metatileBehavior) { - if (var == MB_EASTWARD_CURRENT) + if (metatileBehavior == MB_UNUSED_EASTWARD_CURRENT) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSlideNorth(u8 var) +bool8 MetatileBehavior_IsSlideNorth(u8 metatileBehavior) { - if (var == MB_SLIDE_NORTH) + if (metatileBehavior == MB_SLIDE_NORTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSlideSouth(u8 var) +bool8 MetatileBehavior_IsSlideSouth(u8 metatileBehavior) { - if (var == MB_SLIDE_SOUTH) + if (metatileBehavior == MB_SLIDE_SOUTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSlideWest(u8 var) +bool8 MetatileBehavior_IsSlideWest(u8 metatileBehavior) { - if (var == MB_SLIDE_WEST) + if (metatileBehavior == MB_SLIDE_WEST) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSlideEast(u8 var) +bool8 MetatileBehavior_IsSlideEast(u8 metatileBehavior) { - if (var == MB_SLIDE_EAST) + if (metatileBehavior == MB_SLIDE_EAST) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsCounter(u8 var) +bool8 MetatileBehavior_IsCounter(u8 metatileBehavior) { - if (var == MB_COUNTER) + if (metatileBehavior == MB_COUNTER) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir) +bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 metatileBehavior, u8 playerDir) { - if (playerDir != CONNECTION_NORTH) // if the player isn't facing north, forget about it. + if (playerDir != DIR_NORTH) return FALSE; - else if (tile == MB_TELEVISION) // is the player's north tile a TV? + else if (metatileBehavior == MB_TELEVISION) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPC(u8 var) +bool8 MetatileBehavior_IsPC(u8 metatileBehavior) { - if (var == MB_PC) + if (metatileBehavior == MB_PC) return TRUE; else return FALSE; } -bool8 is_tile_x84(u8 var) +bool8 MetatileBehavior_IsLinkBattleRecords(u8 metatileBehavior) { - if (var == MB_84) + if (metatileBehavior == MB_LINK_BATTLE_RECORDS) return TRUE; else return FALSE; } -bool8 sub_80571C0(u8 var) +bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8 metatileBehavior) { - if (var == MB_91 || var == MB_93 || var == MB_95 || var == MB_97 - || var == MB_99 || var == MB_9B || var == MB_9D) + if (metatileBehavior == MB_SECRET_BASE_SPOT_RED_CAVE_OPEN + || metatileBehavior == MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN + || metatileBehavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN + || metatileBehavior == MB_SECRET_BASE_SPOT_TREE_1_OPEN + || metatileBehavior == MB_SECRET_BASE_SPOT_SHRUB_OPEN + || metatileBehavior == MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN + || metatileBehavior == MB_SECRET_BASE_SPOT_TREE_2_OPEN) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSecretBaseCave(u8 var) +bool8 MetatileBehavior_IsSecretBaseCave(u8 metatileBehavior) { - if (var == MB_SECRET_BASE_SPOT_RED_CAVE || var == MB_SECRET_BASE_SPOT_BROWN_CAVE || var == MB_SECRET_BASE_SPOT_YELLOW_CAVE || var == MB_SECRET_BASE_SPOT_BLUE_CAVE) + if (metatileBehavior == MB_SECRET_BASE_SPOT_RED_CAVE + || metatileBehavior == MB_SECRET_BASE_SPOT_BROWN_CAVE + || metatileBehavior == MB_SECRET_BASE_SPOT_YELLOW_CAVE + || metatileBehavior == MB_SECRET_BASE_SPOT_BLUE_CAVE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSecretBaseTree(u8 var) +bool8 MetatileBehavior_IsSecretBaseTree(u8 metatileBehavior) { - if (var == MB_SECRET_BASE_SPOT_TREE_1 || var == MB_SECRET_BASE_SPOT_TREE_2) + if (metatileBehavior == MB_SECRET_BASE_SPOT_TREE_1 + || metatileBehavior == MB_SECRET_BASE_SPOT_TREE_2) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSecretBaseShrub(u8 var) +bool8 MetatileBehavior_IsSecretBaseShrub(u8 metatileBehavior) { - if (var == MB_SECRET_BASE_SPOT_SHRUB) + if (metatileBehavior == MB_SECRET_BASE_SPOT_SHRUB) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSecretBasePC(u8 var) +bool8 MetatileBehavior_IsSecretBasePC(u8 metatileBehavior) { - if (var == MB_SECRET_BASE_PC) + if (metatileBehavior == MB_SECRET_BASE_PC) return TRUE; else return FALSE; } -bool8 sub_805724C(u8 var) +bool8 MetatileBehavior_IsRecordMixingSecretBasePC(u8 metatileBehavior) { - if (var == MB_B1) + if (metatileBehavior == MB_RECORD_MIXING_SECRET_BASE_PC) return TRUE; else return FALSE; } -bool8 unref_sub_8057260(u8 var) +bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2(u8 metatileBehavior) { - if (var == MB_B2) + if (metatileBehavior == MB_SECRET_BASE_UNUSED) return TRUE; else return FALSE; } -bool8 sub_8057274(u8 var) +bool8 MetatileBehavior_IsBlockDecoration(u8 metatileBehavior) { - if (var == MB_B3) + if (metatileBehavior == MB_BLOCK_DECORATION) return TRUE; else return FALSE; } -bool8 sub_8057288(u8 var) +bool8 MetatileBehavior_IsSecretBaseImpassable(u8 metatileBehavior) { - if (var == MB_B9) + if (metatileBehavior == MB_SECRET_BASE_IMPASSABLE) return TRUE; else return FALSE; } -bool8 sub_805729C(u8 var) +bool8 MetatileBehavior_IsNormal(u8 metatileBehavior) { - if (var == MB_NORMAL) + if (metatileBehavior == MB_NORMAL) return TRUE; else return FALSE; } -bool8 sub_80572B0(u8 var) +bool8 MetatileBehavior_IsSecretBaseNorthWall(u8 metatileBehavior) { - if (var == MB_B7) + if (metatileBehavior == MB_SECRET_BASE_NORTH_WALL) return TRUE; else return FALSE; } -bool8 unref_sub_80572C4(u8 var) +bool8 Unref_MetatileBehavior_IsSecretBaseUnused_B2_2(u8 metatileBehavior) { - if (var == MB_B2) + if (metatileBehavior == MB_SECRET_BASE_UNUSED) return TRUE; else return FALSE; } -bool8 sub_80572D8(u8 var) +bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8 metatileBehavior) { - if (var == MB_B5) + if (metatileBehavior == MB_SECRET_BASE_LARGE_MAT_EDGE) return TRUE; else return FALSE; } -bool8 sub_80572EC(u8 var) +bool8 MetatileBehavior_IsLargeMatCenter(u8 metatileBehavior) { - if (var == MB_C3) + if (metatileBehavior == MB_LARGE_MAT_CENTER) return TRUE; else return FALSE; } -bool8 sub_8057300(u8 var) +bool8 MetatileBehavior_IsSecretBaseHole(u8 metatileBehavior) { - if (var == MB_C2) + if (metatileBehavior == MB_SECRET_BASE_HOLE) return TRUE; else return FALSE; } -bool8 sub_8057314(u8 var) +bool8 MetatileBehavior_IsSecretBaseBalloon(u8 metatileBehavior) { - if (var == MB_B8) + if (metatileBehavior == MB_SECRET_BASE_BALLOON) return TRUE; else return FALSE; } -bool8 sub_8057328(u8 var) +bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8 metatileBehavior) { - if (var == MB_BE) + if (metatileBehavior == MB_SECRET_BASE_BREAKABLE_DOOR) return TRUE; else return FALSE; } -bool8 sub_805733C(u8 var) +bool8 MetatileBehavior_IsSecretBaseMusicNoteMat(u8 metatileBehavior) { - if (var == MB_BD) + if (metatileBehavior == MB_SECRET_BASE_MUSIC_NOTE_MAT) return TRUE; else return FALSE; } -bool8 sub_8057350(u8 var) +bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8 metatileBehavior) { - if (var == MB_BA) + if (metatileBehavior == MB_SECRET_BASE_GLITTER_MAT) return TRUE; else return FALSE; } -bool8 sub_8057364(u8 var) +bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8 metatileBehavior) { - if (var == MB_BF) + if (metatileBehavior == MB_SECRET_BASE_SAND_ORNAMENT) return TRUE; else return FALSE; } -bool8 sub_8057378(u8 var) +bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(u8 metatileBehavior) { - if (var == MB_C4) + if (metatileBehavior == MB_SECRET_BASE_SHIELD_OR_TOY_TV) return TRUE; else return FALSE; } -bool8 sub_805738C(u8 var) +bool8 MetatileBehavior_IsPlayerRoomPCOn(u8 metatileBehavior) { - if (var == MB_C5) + if (metatileBehavior == MB_PLAYER_ROOM_PC_ON) return TRUE; else return FALSE; } -bool8 MetatileBehavior_HasRipples(u8 var) +bool8 MetatileBehavior_HasRipples(u8 metatileBehavior) { - if (var == MB_POND_WATER || var == MB_PUDDLE || var == MB_SOOTOPOLIS_DEEP_WATER) + if (metatileBehavior == MB_POND_WATER + || metatileBehavior == MB_PUDDLE + || metatileBehavior == MB_SOOTOPOLIS_DEEP_WATER) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPuddle(u8 var) +bool8 MetatileBehavior_IsPuddle(u8 metatileBehavior) { - if (var == MB_PUDDLE) + if (metatileBehavior == MB_PUDDLE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsTallGrass(u8 var) +bool8 MetatileBehavior_IsTallGrass(u8 metatileBehavior) { - if (var == MB_TALL_GRASS) + if (metatileBehavior == MB_TALL_GRASS) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsLongGrass(u8 var) +bool8 MetatileBehavior_IsLongGrass(u8 metatileBehavior) { - if (var == MB_LONG_GRASS) + if (metatileBehavior == MB_LONG_GRASS) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsBerryTreeSoil(u8 var) +bool8 MetatileBehavior_IsBerryTreeSoil(u8 metatileBehavior) { - if (var == MB_BERRY_TREE_SOIL) + if (metatileBehavior == MB_SECRET_BASE_BREAKABLE_DOORRRY_TREE_SOIL) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsAshGrass(u8 var) +bool8 MetatileBehavior_IsAshGrass(u8 metatileBehavior) { - if (var == MB_ASHGRASS) + if (metatileBehavior == MB_ASHGRASS) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8 var) +bool8 MetatileBehavior_IsFootprints(u8 metatileBehavior) { - if (var == MB_25) + // MB_FOOTPRINTS is not used by any metatiles. + if (metatileBehavior == MB_FOOTPRINTS) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsBridge(u8 var) +bool8 MetatileBehavior_IsBridge(u8 metatileBehavior) { - if (var >= MB_WARP_OR_BRIDGE && var <= MB_ROUTE120_NORTH_BRIDGE_2) + if (metatileBehavior >= MB_WARP_OR_BRIDGE + && metatileBehavior <= MB_ROUTE120_NORTH_BRIDGE_2) return TRUE; else return FALSE; } -u8 sub_8057450(u8 var) +u8 MetatileBehavior_GetBridgeType(u8 metatileBehavior) { - u8 result = var - MB_WARP_OR_BRIDGE; + u8 result = metatileBehavior - MB_WARP_OR_BRIDGE; if (result > 3) result = 0; @@ -859,33 +890,35 @@ u8 sub_8057450(u8 var) return result; } -bool8 MetatileBehavior_IsLandWildEncounter(u8 var) +bool8 MetatileBehavior_IsLandWildEncounter(u8 metatileBehavior) { - if (MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && MetatileBehavior_IsEncounterTile(var) == TRUE) + if (MetatileBehavior_IsSurfableWaterOrUnderwater(metatileBehavior) == FALSE + && MetatileBehavior_IsEncounterTile(metatileBehavior) == TRUE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWaterWildEncounter(u8 var) +bool8 MetatileBehavior_IsWaterWildEncounter(u8 metatileBehavior) { - if (MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && MetatileBehavior_IsEncounterTile(var) == TRUE) + if (MetatileBehavior_IsSurfableWaterOrUnderwater(metatileBehavior) == TRUE + && MetatileBehavior_IsEncounterTile(metatileBehavior) == TRUE) return TRUE; else return FALSE; } -bool8 sub_80574C4(u8 var) +bool8 MetatileBehavior_IsIndoorEncounter(u8 metatileBehavior) { - if (var == MB_0B) + if (metatileBehavior == MB_INDOOR_ENCOUNTER) return TRUE; else return FALSE; } -bool8 sub_80574D8(u8 var) +bool8 MetatileBehavior_IsMountainTop(u8 metatileBehavior) { - if (var == MB_MOUNTAIN_TOP) + if (metatileBehavior == MB_MOUNTAIN_TOP) return TRUE; else return FALSE; @@ -894,416 +927,450 @@ bool8 sub_80574D8(u8 var) bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior) { if (metatileBehavior == MB_SEMI_DEEP_WATER - || metatileBehavior == MB_DEEP_WATER + || metatileBehavior == MB_UNUSED_DEEP_WATER || metatileBehavior == MB_SOOTOPOLIS_DEEP_WATER) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsNotSurfacable(u8 var) +bool8 MetatileBehavior_IsNotSurfacable(u8 metatileBehavior) { - if (var == MB_NO_SURFACING || var == MB_SEAWEED_NO_SURFACING) + if (metatileBehavior == MB_NO_SURFACING + || metatileBehavior == MB_SEAWEED_NO_SURFACING) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsShallowFlowingWater(u8 var) +bool8 MetatileBehavior_IsShallowFlowingWater(u8 metatileBehavior) { - if (var == MB_SHALLOW_WATER || var == MB_STAIRS_OUTSIDE_ABANDONED_SHIP || var == MB_SHOAL_CAVE_ENTRANCE) + if (metatileBehavior == MB_SHALLOW_WATER + || metatileBehavior == MB_STAIRS_OUTSIDE_ABANDONED_SHIP + || metatileBehavior == MB_SHOAL_CAVE_ENTRANCE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsThinIce(u8 var) +bool8 MetatileBehavior_IsThinIce(u8 metatileBehavior) { - if (var == MB_THIN_ICE) + if (metatileBehavior == MB_THIN_ICE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsCrackedIce(u8 var) +bool8 MetatileBehavior_IsCrackedIce(u8 metatileBehavior) { - if (var == MB_CRACKED_ICE) + if (metatileBehavior == MB_CRACKED_ICE) return TRUE; else return FALSE; } -bool8 sub_8057568(u8 var) +bool8 MetatileBehavior_IsOceanWater(u8 metatileBehavior) { - if (var == MB_OCEAN_WATER || var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER) + if (metatileBehavior == MB_OCEAN_WATER + || metatileBehavior == MB_SEMI_DEEP_WATER + || metatileBehavior == MB_UNUSED_DEEP_WATER) return TRUE; else return FALSE; } -bool8 unref_sub_8057584(u8 var) +bool8 Unref_MetatileBehavior_IsUnusedSootopolisWater(u8 metatileBehavior) { - if (var == MB_18 || var == MB_1A) + if (metatileBehavior == MB_UNUSED_SOOTOPOLIS_DEEP_WATER + || metatileBehavior == MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2) return TRUE; else return FALSE; } -bool8 sub_805759C(u8 var) +bool8 MetatileBehavior_IsFeebasEncounterable(u8 metatileBehavior) { - if (MetatileBehavior_IsSurfableWaterOrUnderwater(var) && MetatileBehavior_IsWaterfall(var) == FALSE) + if (MetatileBehavior_IsSurfableWaterOrUnderwater(metatileBehavior) + && MetatileBehavior_IsWaterfall(metatileBehavior) == FALSE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsEastBlocked(u8 var) +bool8 MetatileBehavior_IsEastBlocked(u8 metatileBehavior) { - if (var == MB_IMPASSABLE_EAST || var == MB_IMPASSABLE_NORTHEAST || var == MB_IMPASSABLE_SOUTHEAST || var == MB_C1 || var == MB_BE) + if (metatileBehavior == MB_IMPASSABLE_EAST + || metatileBehavior == MB_IMPASSABLE_NORTHEAST + || metatileBehavior == MB_IMPASSABLE_SOUTHEAST + || metatileBehavior == MB_IMPASSABLE_WEST_AND_EAST + || metatileBehavior == MB_SECRET_BASE_BREAKABLE_DOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWestBlocked(u8 var) +bool8 MetatileBehavior_IsWestBlocked(u8 metatileBehavior) { - if (var == MB_IMPASSABLE_WEST || var == MB_IMPASSABLE_NORTHWEST || var == MB_IMPASSABLE_SOUTHWEST || var == MB_C1 || var == MB_BE) + if (metatileBehavior == MB_IMPASSABLE_WEST + || metatileBehavior == MB_IMPASSABLE_NORTHWEST + || metatileBehavior == MB_IMPASSABLE_SOUTHWEST + || metatileBehavior == MB_IMPASSABLE_WEST_AND_EAST + || metatileBehavior == MB_SECRET_BASE_BREAKABLE_DOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsNorthBlocked(u8 var) +bool8 MetatileBehavior_IsNorthBlocked(u8 metatileBehavior) { - if (var == MB_IMPASSABLE_NORTH || var == MB_IMPASSABLE_NORTHEAST || var == MB_IMPASSABLE_NORTHWEST || var == MB_BED) + if (metatileBehavior == MB_IMPASSABLE_NORTH + || metatileBehavior == MB_IMPASSABLE_NORTHEAST + || metatileBehavior == MB_IMPASSABLE_NORTHWEST + || metatileBehavior == MB_IMPASSABLE_SOUTH_AND_NORTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSouthBlocked(u8 var) +bool8 MetatileBehavior_IsSouthBlocked(u8 metatileBehavior) { - if (var == MB_IMPASSABLE_SOUTH || var == MB_IMPASSABLE_SOUTHEAST || var == MB_IMPASSABLE_SOUTHWEST || var == MB_BED) + if (metatileBehavior == MB_IMPASSABLE_SOUTH + || metatileBehavior == MB_IMPASSABLE_SOUTHEAST + || metatileBehavior == MB_IMPASSABLE_SOUTHWEST + || metatileBehavior == MB_IMPASSABLE_SOUTH_AND_NORTH) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsShortGrass(u8 var) +bool8 MetatileBehavior_IsShortGrass(u8 metatileBehavior) { - if (var == MB_SHORT_GRASS) + if (metatileBehavior == MB_SHORT_GRASS) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsHotSprings(u8 var) +bool8 MetatileBehavior_IsHotSprings(u8 metatileBehavior) { - if (var == MB_HOT_SPRINGS) + if (metatileBehavior == MB_HOT_SPRINGS) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsWaterfall(u8 var) +bool8 MetatileBehavior_IsWaterfall(u8 metatileBehavior) { - if (var == MB_WATERFALL) + if (metatileBehavior == MB_WATERFALL) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsFortreeBridge(u8 var) +bool8 MetatileBehavior_IsFortreeBridge(u8 metatileBehavior) { - if (var == MB_FORTREE_BRIDGE) + if (metatileBehavior == MB_FORTREE_BRIDGE) return TRUE; else return FALSE; } -bool8 sub_80576A0(u8 var) +bool8 MetatileBehavior_IsPacifidlogVerticalLog1(u8 metatileBehavior) { - if (var == MB_PACIFIDLOG_VERTICAL_LOG_1) + if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_1) return TRUE; else return FALSE; } -bool8 sub_80576B4(u8 var) +bool8 MetatileBehavior_IsPacifidlogVerticalLog2(u8 metatileBehavior) { - if (var == MB_PACIFIDLOG_VERTICAL_LOG_2) + if (metatileBehavior == MB_PACIFIDLOG_VERTICAL_LOG_2) return TRUE; else return FALSE; } -bool8 sub_80576C8(u8 var) +bool8 MetatileBehavior_IsPacifidlogHorizontalLog1(u8 metatileBehavior) { - if (var == MB_PACIFIDLOG_HORIZONTAL_LOG_1) + if (metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_1) return TRUE; else return FALSE; } -bool8 sub_80576DC(u8 var) +bool8 MetatileBehavior_IsPacifidlogHorizontalLog2(u8 metatileBehavior) { - if (var == MB_PACIFIDLOG_HORIZONTAL_LOG_2) + if (metatileBehavior == MB_PACIFIDLOG_HORIZONTAL_LOG_2) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPacifidlogLog(u8 var) +bool8 MetatileBehavior_IsPacifidlogLog(u8 metatileBehavior) { - if (var >= MB_PACIFIDLOG_VERTICAL_LOG_1 && var <= MB_PACIFIDLOG_HORIZONTAL_LOG_2) + if (metatileBehavior >= MB_PACIFIDLOG_VERTICAL_LOG_1 + && metatileBehavior <= MB_PACIFIDLOG_HORIZONTAL_LOG_2) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8 var) +bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8 metatileBehavior) { - if (var == MB_TRICK_HOUSE_PUZZLE_DOOR) + if (metatileBehavior == MB_TRICK_HOUSE_PUZZLE_DOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsRegionMap(u8 var) +bool8 MetatileBehavior_IsRegionMap(u8 metatileBehavior) { - if (var == MB_REGION_MAP) + if (metatileBehavior == MB_REGION_MAP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsClosedSootopolisGymDoor(u8 var) +bool8 MetatileBehavior_IsClosedSootopolisDoor(u8 metatileBehavior) { - if (var == MB_CLOSED_SOOTOPOLIS_GYM_DOOR) + if (metatileBehavior == MB_CLOSED_SOOTOPOLIS_DOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsRoulette(u8 var) +bool8 MetatileBehavior_IsRoulette(u8 metatileBehavior) { - if (var == MB_ROULETTE) + if (metatileBehavior == MB_ROULETTE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPokeblockFeeder(u8 var) +bool8 MetatileBehavior_IsPokeblockFeeder(u8 metatileBehavior) { - if (var == MB_POKEBLOCK_FEEDER) + if (metatileBehavior == MB_POKEBLOCK_FEEDER) return TRUE; else return FALSE; } -bool8 MetatileBehavior_0xBB(u8 var) +bool8 MetatileBehavior_IsSecretBaseJumpMat(u8 metatileBehavior) { - if (var == MB_BB) + if (metatileBehavior == MB_SECRET_BASE_JUMP_MAT) return TRUE; else return FALSE; } -bool8 MetatileBehavior_0xBC(u8 var) +bool8 MetatileBehavior_IsSecretBaseSpinMat(u8 metatileBehavior) { - if (var == MB_BC) + if (metatileBehavior == MB_SECRET_BASE_SPIN_MAT) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 var) +bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8 metatileBehavior) { - if (var == MB_LAVARIDGE_GYM_B1F_WARP) + if (metatileBehavior == MB_LAVARIDGE_GYM_B1F_WARP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsLavaridge1FWarp(u8 var) +bool8 MetatileBehavior_IsLavaridge1FWarp(u8 metatileBehavior) { - if (var == MB_LAVARIDGE_GYM_1F_WARP) + if (metatileBehavior == MB_LAVARIDGE_GYM_1F_WARP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsAquaHideoutWarp(u8 var) +bool8 MetatileBehavior_IsAquaHideoutWarp(u8 metatileBehavior) { - if (var == MB_AQUA_HIDEOUT_WARP) + if (metatileBehavior == MB_AQUA_HIDEOUT_WARP) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSurfableFishableWater(u8 var) +bool8 MetatileBehavior_IsSurfableFishableWater(u8 metatileBehavior) { - if (var == MB_POND_WATER || var == MB_OCEAN_WATER || var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER || var == MB_SOOTOPOLIS_DEEP_WATER || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT)) + if (metatileBehavior == MB_POND_WATER + || metatileBehavior == MB_OCEAN_WATER + || metatileBehavior == MB_SEMI_DEEP_WATER + || metatileBehavior == MB_UNUSED_DEEP_WATER + || metatileBehavior == MB_SOOTOPOLIS_DEEP_WATER + || (metatileBehavior >= MB_UNUSED_EASTWARD_CURRENT && metatileBehavior <= MB_SOUTHWARD_CURRENT)) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsMtPyreHole(u8 var) +bool8 MetatileBehavior_IsMtPyreHole(u8 metatileBehavior) { - if (var == MB_MT_PYRE_HOLE) + if (metatileBehavior == MB_MT_PYRE_HOLE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsCrackedFloorHole(u8 var) +bool8 MetatileBehavior_IsCrackedFloorHole(u8 metatileBehavior) { - if (var == MB_CRACKED_FLOOR_HOLE) + if (metatileBehavior == MB_CRACKED_FLOOR_HOLE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsCrackedFloor(u8 var) +bool8 MetatileBehavior_IsCrackedFloor(u8 metatileBehavior) { - if (var == MB_CRACKED_FLOOR) + if (metatileBehavior == MB_CRACKED_FLOOR) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsMuddySlope(u8 var) +bool8 MetatileBehavior_IsMuddySlope(u8 metatileBehavior) { - if (var == MB_MUDDY_SLOPE) + if (metatileBehavior == MB_MUDDY_SLOPE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsBumpySlope(u8 var) +bool8 MetatileBehavior_IsBumpySlope(u8 metatileBehavior) { - if (var == MB_BUMPY_SLOPE) + if (metatileBehavior == MB_BUMPY_SLOPE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsIsolatedVerticalRail(u8 var) +bool8 MetatileBehavior_IsIsolatedVerticalRail(u8 metatileBehavior) { - if (var == MB_ISOLATED_VERTICAL_RAIL) + if (metatileBehavior == MB_ISOLATED_VERTICAL_RAIL) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8 var) +bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8 metatileBehavior) { - if (var == MB_ISOLATED_HORIZONTAL_RAIL) + if (metatileBehavior == MB_ISOLATED_HORIZONTAL_RAIL) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsVerticalRail(u8 var) +bool8 MetatileBehavior_IsVerticalRail(u8 metatileBehavior) { - if (var == MB_VERTICAL_RAIL) + if (metatileBehavior == MB_VERTICAL_RAIL) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsHorizontalRail(u8 var) +bool8 MetatileBehavior_IsHorizontalRail(u8 metatileBehavior) { - if (var == MB_HORIZONTAL_RAIL) + if (metatileBehavior == MB_HORIZONTAL_RAIL) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsSeaweed(u8 var) +bool8 MetatileBehavior_IsSeaweed(u8 metatileBehavior) { - if (var == MB_SEAWEED || var == MB_SEAWEED_NO_SURFACING) + if (metatileBehavior == MB_SEAWEED + || metatileBehavior == MB_SEAWEED_NO_SURFACING) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsRunningDisallowed(u8 var) +bool8 MetatileBehavior_IsRunningDisallowed(u8 metatileBehavior) { - if (var == MB_NO_RUNNING || var == MB_LONG_GRASS || var == MB_HOT_SPRINGS || MetatileBehavior_IsPacifidlogLog(var) != FALSE) + if (metatileBehavior == MB_NO_RUNNING + || metatileBehavior == MB_LONG_GRASS + || metatileBehavior == MB_HOT_SPRINGS + || MetatileBehavior_IsPacifidlogLog(metatileBehavior)) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsCuttableGrass(u8 var) +bool8 MetatileBehavior_IsCuttableGrass(u8 metatileBehavior) { - if (var == MB_TALL_GRASS || var == MB_LONG_GRASS || var == MB_ASHGRASS || var == MB_LONG_GRASS_SOUTH_EDGE) + if (metatileBehavior == MB_TALL_GRASS + || metatileBehavior == MB_LONG_GRASS + || metatileBehavior == MB_ASHGRASS + || metatileBehavior == MB_LONG_GRASS_SOUTH_EDGE) return TRUE; else return FALSE; } -bool8 sub_805791C(u8 var) +bool8 MetatileBehavior_IsRunningShoesManual(u8 metatileBehavior) { - if (var == MB_8E) + if (metatileBehavior == MB_RUNNING_SHOES_MANUAL) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPictureBookShelf(u8 var) +bool8 MetatileBehavior_IsPictureBookShelf(u8 metatileBehavior) { - if (var == MB_PICTURE_BOOK_SHELF) + if (metatileBehavior == MB_PICTURE_BOOK_SHELF) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsBookShelf(u8 var) +bool8 MetatileBehavior_IsBookShelf(u8 metatileBehavior) { - if (var == MB_BOOKSHELF) + if (metatileBehavior == MB_BOOKSHELF) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsPokeCenterBookShelf(u8 var) +bool8 MetatileBehavior_IsPokeCenterBookShelf(u8 metatileBehavior) { - if (var == MB_POKEMON_CENTER_BOOKSHELF) + if (metatileBehavior == MB_POKEMON_CENTER_BOOKSHELF) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsVase(u8 var) +bool8 MetatileBehavior_IsVase(u8 metatileBehavior) { - if (var == MB_VASE) + if (metatileBehavior == MB_VASE) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsTrashCan(u8 var) +bool8 MetatileBehavior_IsTrashCan(u8 metatileBehavior) { - if (var == MB_TRASH_CAN) + if (metatileBehavior == MB_TRASH_CAN) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsShopShelf(u8 var) +bool8 MetatileBehavior_IsShopShelf(u8 metatileBehavior) { - if (var == MB_SHOP_SHELF) + if (metatileBehavior == MB_SHOP_SHELF) return TRUE; else return FALSE; } -bool8 MetatileBehavior_IsBlueprint(u8 var) +bool8 MetatileBehavior_IsBlueprint(u8 metatileBehavior) { - if (var == MB_BLUEPRINT) + if (metatileBehavior == MB_BLUEPRINT) return TRUE; else return FALSE; diff --git a/src/rom6.c b/src/rom6.c index 7fcd9808a..be14f1731 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -74,7 +74,7 @@ static void task08_080C9820(u8 taskId) else { sub_8059BF4(); - EventObjectSetHeldMovement(&gEventObjects[eventObjId], 0x39); + EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); gTasks[taskId].func = sub_810B3DC; } } diff --git a/src/secret_base.c b/src/secret_base.c index deee1ade0..1a4b765a0 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -510,7 +510,7 @@ void sub_80BBDD0(void) gSpecialVar_0x8006 = roomdecorpos[decidx] >> 4; gSpecialVar_0x8007 = roomdecorpos[decidx] & 0xF; metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7); - if (sub_80572D8(metatile) == TRUE || sub_80572EC(metatile) == TRUE) + if (MetatileBehavior_IsSecretBaseLargeMatEdge(metatile) == TRUE || MetatileBehavior_IsLargeMatCenter(metatile) == TRUE) { gSpecialVar_Result = gMapHeader.events->eventObjects[objid].graphicsId + VAR_0x3F20; VarSet(gSpecialVar_Result, gDecorations[roomdecor[decidx]].tiles[0]); @@ -1309,7 +1309,7 @@ void sub_80BCE90() void sub_80BCF1C(u8 taskId) { s16 x, y; - u32 behavior; + u32 metatileBehavior; s16 *taskData = gTasks[taskId].data; switch (taskData[1]) @@ -1325,15 +1325,15 @@ void sub_80BCF1C(u8 taskId) taskData[2] = x; taskData[3] = y; - behavior = MapGridGetMetatileBehaviorAt(x, y); - if (sub_8057350(behavior) == TRUE) - DoYellowCave4Sparkle(); - else if (sub_8057314(behavior) == TRUE) - sub_80C68A4(MapGridGetMetatileIdAt(x, y), x, y); - else if (sub_8057328(behavior) == TRUE) - sub_80C6A54(x, y); - else if (sub_805733C(behavior) == TRUE) - DoDecorationSoundEffect(MapGridGetMetatileIdAt(x, y)); + metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsSecretBaseGlitterMat(metatileBehavior) == TRUE) + DoSecretBaseGlitterMatSparkle(); + else if (MetatileBehavior_IsSecretBaseBalloon(metatileBehavior) == TRUE) + PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y); + else if (MetatileBehavior_IsSecretBaseBreakableDoor(metatileBehavior) == TRUE) + ShatterSecretBaseBreakableDoor(x, y); + else if (MetatileBehavior_IsSecretBaseMusicNoteMat(metatileBehavior) == TRUE) + PlaySecretBaseMusicNoteMatSound(MapGridGetMetatileIdAt(x, y)); } break; case 2: diff --git a/src/trainer_see.c b/src/trainer_see.c index c03295540..902a67fdf 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -299,7 +299,7 @@ static bool8 sub_808441C(u8 taskId, struct Task *task, struct EventObject *train } else { - EventObjectSetHeldMovement(trainerObj, 0x3E); + EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACITON_FACE_PLAYER); task->data[0]++; } } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 99594d3f2..ad11bf566 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3727,7 +3727,7 @@ static u16 GetRoute119WaterTileNum(s16 x, s16 y, u8 section) { for (xCur = 0; xCur < gMapHeader.mapData->width; xCur++) { - if (sub_805759C(MapGridGetMetatileBehaviorAt(xCur + 7, yCur + 7)) == TRUE) + if (MetatileBehavior_IsFeebasEncounterable(MapGridGetMetatileBehaviorAt(xCur + 7, yCur + 7)) == TRUE) { tileNum++; if (x == xCur && y == yCur) -- cgit v1.2.3 From e3333643b8ebb9b04610ff390d257f58210832e8 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 8 Jun 2018 09:21:49 -0500 Subject: Label field_camera --- src/decoration.c | 18 +-- src/event_object_movement.c | 28 ++--- src/field_camera.c | 285 ++++++++++++++++++++++---------------------- src/overworld.c | 12 +- 4 files changed, 172 insertions(+), 171 deletions(-) (limited to 'src') diff --git a/src/decoration.c b/src/decoration.c index 47dcae2dc..4c9e4509a 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2272,13 +2272,13 @@ void AddDecorationIconObjectFromEventObject(struct UnkStruct_02038900 * unk_0203 sub_8100874(unk_02038900); sub_810070C(unk_02038900->palette, ((u16 *)gMapHeader.mapData->secondaryTileset->metatiles + 8 * unk_02038900->decoration->tiles[0])[7] >> 12); LoadSpritePalette(&gUnknown_083EC954); - gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data[0]; - gUnknown_03004880.unk4 = CreateSprite(&gSpriteTemplate_83EC93C, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 0); + gUnknown_020391A8 = gSprites[gFieldCamera.trackedSpriteId].data[0]; + gFieldCamera.trackedSpriteId = CreateSprite(&gSpriteTemplate_83EC93C, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 0); } else { - gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data[0]; - gUnknown_03004880.unk4 = AddPseudoEventObject(unk_02038900->decoration->tiles[0], sub_81009A8, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 1); - gSprites[gUnknown_03004880.unk4].oam.priority = 1; + gUnknown_020391A8 = gSprites[gFieldCamera.trackedSpriteId].data[0]; + gFieldCamera.trackedSpriteId = AddPseudoEventObject(unk_02038900->decoration->tiles[0], sub_81009A8, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 1); + gSprites[gFieldCamera.trackedSpriteId].oam.priority = 1; } } @@ -2299,7 +2299,7 @@ void SetUpPlacingDecorationPlayerAvatar(u8 taskId, struct UnkStruct_02038900 *un } gSprites[gUnknown_020391A9].oam.priority = 1; DestroySprite(&gSprites[gUnknown_020391A8]); - gUnknown_020391A8 = gUnknown_03004880.unk4; + gUnknown_020391A8 = gFieldCamera.trackedSpriteId; } void sub_80FF960(u8 taskId) @@ -3723,9 +3723,9 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) { GetPlayerFacingDirection(); Menu_EraseWindowRect(0, 0, 29, 19); - gUnknown_020391A8 = gSprites[gUnknown_03004880.unk4].data[0]; + gUnknown_020391A8 = gSprites[gFieldCamera.trackedSpriteId].data[0]; sub_81016C8(); - gUnknown_03004880.unk4 = CreateSprite(&gSpriteTemplate_83ECA88, 0x78, 0x50, 0); + gFieldCamera.trackedSpriteId = CreateSprite(&gSpriteTemplate_83ECA88, 0x78, 0x50, 0); if (gSaveBlock2.playerGender == MALE) { gUnknown_020391A9 = AddPseudoEventObject(0xc1, SpriteCallbackDummy, 0x88, 0x48, 0); @@ -3735,7 +3735,7 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) } gSprites[gUnknown_020391A9].oam.priority = 1; DestroySprite(&gSprites[gUnknown_020391A8]); - gUnknown_020391A8 = gUnknown_03004880.unk4; + gUnknown_020391A8 = gFieldCamera.trackedSpriteId; gSprites[gUnknown_020391A8].oam.priority = 1; } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 0b2e66f25..4ab740702 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1949,12 +1949,12 @@ void UpdateEventObjectsForCameraUpdate(s16 cameraDeltaX, s16 cameraDeltaY) RemoveEventObjectsOutsideView(); } -u8 AddCameraObject(u8 a) +u8 AddCameraObject(u8 trackedSpriteId) { u8 spriteId = CreateSprite(&gCameraSpriteTemplate, 0, 0, 4); gSprites[spriteId].invisible = TRUE; - gSprites[spriteId].data[0] = a; + gSprites[spriteId].data[0] = trackedSpriteId; return spriteId; } @@ -4476,29 +4476,29 @@ void sub_8060388(s16 x1, s16 y1, s16 *x2, s16 *y2) { *x2 = (x1 - gSaveBlock1.pos.x) << 4; *y2 = (y1 - gSaveBlock1.pos.y) << 4; - *x2 -= gUnknown_0300489C; - *y2 -= gUnknown_03004898; + *x2 -= gTotalCameraPixelOffsetX; + *y2 -= gTotalCameraPixelOffsetY; } void sub_80603CC(s16 x1, s16 y1, s16 *x2, s16 *y2) { s16 x3; s16 y3; - x3 = -gUnknown_0300489C - gUnknown_03004880.unk10; - y3 = -gUnknown_03004898 - gUnknown_03004880.unk14; - if (gUnknown_03004880.unk10 > 0) + x3 = -gTotalCameraPixelOffsetX - gFieldCamera.curMovementOffsetX; + y3 = -gTotalCameraPixelOffsetY - gFieldCamera.curMovementOffsetY; + if (gFieldCamera.curMovementOffsetX > 0) { x3 += 0x10; } - if (gUnknown_03004880.unk10 < 0) + if (gFieldCamera.curMovementOffsetX < 0) { x3 -= 0x10; } - if (gUnknown_03004880.unk14 > 0) + if (gFieldCamera.curMovementOffsetY > 0) { y3 += 0x10; } - if (gUnknown_03004880.unk14 < 0) + if (gFieldCamera.curMovementOffsetY < 0) { y3 -= 0x10; } @@ -4517,19 +4517,19 @@ void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) { *x = 0; *y = 0; - if (gUnknown_03004880.unk10 > 0) + if (gFieldCamera.curMovementOffsetX > 0) { (*x)++; } - if (gUnknown_03004880.unk10 < 0) + if (gFieldCamera.curMovementOffsetX < 0) { (*x)--; } - if (gUnknown_03004880.unk14 > 0) + if (gFieldCamera.curMovementOffsetY > 0) { (*y)++; } - if (gUnknown_03004880.unk14 < 0) + if (gFieldCamera.curMovementOffsetY < 0) { (*y)--; } diff --git a/src/field_camera.c b/src/field_camera.c index 6eae4e1b9..fa8f1a582 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -9,62 +9,62 @@ EWRAM_DATA bool8 gUnusedBikeCameraAheadPanback = FALSE; -struct UnknownStruct +struct FieldCameraOffset { - u8 unk0; - u8 unk1; - u8 unk2; - u8 unk3; - bool8 unk4; + u8 xPixelOffset; + u8 yPixelOffset; + u8 xTileOffset; + u8 yTileOffset; + bool8 copyBGToVRAM; }; -static struct UnknownStruct gUnknown_03000590; -static u16 gUnknown_03000598; -static s16 gUnknown_0300059A; +static struct FieldCameraOffset sFieldCameraOffset; +static u16 sHorizontalCameraPan; +static s16 sVerticalCameraPan; static u8 gUnknown_0300059C; -static void (*gUnknown_030005A0)(void); +static void (*sFieldCameraPanningCallback)(void); -struct CameraSomething gUnknown_03004880; -u16 gUnknown_03004898; -u16 gUnknown_0300489C; +struct FieldCamera gFieldCamera; +u16 gTotalCameraPixelOffsetY; +u16 gTotalCameraPixelOffsetX; -static void RedrawMapSliceNorth(struct UnknownStruct *a, struct MapData *mapData); -static void RedrawMapSliceSouth(struct UnknownStruct *a, struct MapData *mapData); -static void RedrawMapSliceEast(struct UnknownStruct *a, struct MapData *mapData); -static void RedrawMapSliceWest(struct UnknownStruct *a, struct MapData *mapData); -static s32 MapPosToBgTilemapOffset(struct UnknownStruct *a, s32 x, s32 y); +static void RedrawMapSliceNorth(struct FieldCameraOffset*, struct MapData*); +static void RedrawMapSliceSouth(struct FieldCameraOffset*, struct MapData*); +static void RedrawMapSliceEast(struct FieldCameraOffset*, struct MapData*); +static void RedrawMapSliceWest(struct FieldCameraOffset*, struct MapData*); +static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset*, s32, s32); -static void DrawWholeMapViewInternal(int x, int y, struct MapData *mapData); -static void DrawMetatileAt(struct MapData *mapData, u16, int, int); -static void DrawMetatile(s32 a, u16 *b, u16 c); +static void DrawWholeMapViewInternal(int x, int y, struct MapData*); +static void DrawMetatileAt(struct MapData*, u16, int, int); +static void DrawMetatile(s32, u16*, u16); static void CameraPanningCB_PanAhead(void); -static void move_tilemap_camera_to_upper_left_corner_(struct UnknownStruct *a) +static void move_tilemap_camera_to_upper_left_corner_(struct FieldCameraOffset *cameraOffset) { - a->unk2 = 0; - a->unk3 = 0; - a->unk0 = 0; - a->unk1 = 0; - a->unk4 = TRUE; + cameraOffset->xTileOffset = 0; + cameraOffset->yTileOffset = 0; + cameraOffset->xPixelOffset = 0; + cameraOffset->yPixelOffset = 0; + cameraOffset->copyBGToVRAM = TRUE; } -static void tilemap_move_something(struct UnknownStruct *a, u32 b, u32 c) +static void tilemap_move_something(struct FieldCameraOffset *cameraOffset, u32 b, u32 c) { - a->unk2 += b; - a->unk2 %= 32; - a->unk3 += c; - a->unk3 %= 32; + cameraOffset->xTileOffset += b; + cameraOffset->xTileOffset %= 32; + cameraOffset->yTileOffset += c; + cameraOffset->yTileOffset %= 32; } -static void coords8_add(struct UnknownStruct *a, u32 b, u32 c) +static void coords8_add(struct FieldCameraOffset *cameraOffset, u32 b, u32 c) { - a->unk0 += b; - a->unk1 += c; + cameraOffset->xPixelOffset += b; + cameraOffset->yPixelOffset += c; } void move_tilemap_camera_to_upper_left_corner(void) { - move_tilemap_camera_to_upper_left_corner_(&gUnknown_03000590); + move_tilemap_camera_to_upper_left_corner_(&sFieldCameraOffset); CpuFill16(0, gBGTilemapBuffers[2], 0x800); CpuFill16(0, gBGTilemapBuffers[1], 0x800); CpuFill16(0x3014, gBGTilemapBuffers[3], 0x800); @@ -72,32 +72,32 @@ void move_tilemap_camera_to_upper_left_corner(void) void sub_8057A58(void) { - *gBGHOffsetRegs[1] = gUnknown_03000590.unk0 + gUnknown_03000598; - *gBGVOffsetRegs[1] = gUnknown_03000590.unk1 + gUnknown_0300059A + 8; - *gBGHOffsetRegs[2] = gUnknown_03000590.unk0 + gUnknown_03000598; - *gBGVOffsetRegs[2] = gUnknown_03000590.unk1 + gUnknown_0300059A + 8; - *gBGHOffsetRegs[3] = gUnknown_03000590.unk0 + gUnknown_03000598; - *gBGVOffsetRegs[3] = gUnknown_03000590.unk1 + gUnknown_0300059A + 8; - - if (gUnknown_03000590.unk4) + *gBGHOffsetRegs[1] = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan; + *gBGVOffsetRegs[1] = sFieldCameraOffset.yPixelOffset + sVerticalCameraPan + 8; + *gBGHOffsetRegs[2] = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan; + *gBGVOffsetRegs[2] = sFieldCameraOffset.yPixelOffset + sVerticalCameraPan + 8; + *gBGHOffsetRegs[3] = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan; + *gBGVOffsetRegs[3] = sFieldCameraOffset.yPixelOffset + sVerticalCameraPan + 8; + + if (sFieldCameraOffset.copyBGToVRAM) { DmaCopy16(3, gBGTilemapBuffers[1], (void *)(VRAM + 0xE800), 0x800); DmaCopy16(3, gBGTilemapBuffers[2], (void *)(VRAM + 0xE000), 0x800); DmaCopy16(3, gBGTilemapBuffers[3], (void *)(VRAM + 0xF000), 0x800); - gUnknown_03000590.unk4 = FALSE; + sFieldCameraOffset.copyBGToVRAM = FALSE; } } void sub_8057B14(u16 *a, u16 *b) { - *a = gUnknown_03000590.unk0 + gUnknown_03000598; - *b = gUnknown_03000590.unk1 + gUnknown_0300059A + 8; + *a = sFieldCameraOffset.xPixelOffset + sHorizontalCameraPan; + *b = sFieldCameraOffset.yPixelOffset + sVerticalCameraPan + 8; } void DrawWholeMapView(void) { DrawWholeMapViewInternal(gSaveBlock1.pos.x, gSaveBlock1.pos.y, gMapHeader.mapData); - gUnknown_03000590.unk4 = TRUE; + sFieldCameraOffset.copyBGToVRAM = TRUE; } static void DrawWholeMapViewInternal(int x, int y, struct MapData *mapData) @@ -109,13 +109,13 @@ static void DrawWholeMapViewInternal(int x, int y, struct MapData *mapData) for (i = 0; i < 32; i += 2) { - temp = gUnknown_03000590.unk3 + i; + temp = sFieldCameraOffset.yTileOffset + i; if (temp >= 32) temp -= 32; r6 = temp * 32; for (j = 0; j < 32; j += 2) { - temp = gUnknown_03000590.unk2 + j; + temp = sFieldCameraOffset.xTileOffset + j; if (temp >= 32) temp -= 32; DrawMetatileAt(mapData, r6 + temp, x + j / 2, y + i / 2); @@ -123,81 +123,81 @@ static void DrawWholeMapViewInternal(int x, int y, struct MapData *mapData) } } -static void RedrawMapSlicesForCameraUpdate(struct UnknownStruct *a, int x, int y) +static void RedrawMapSlicesForCameraUpdate(struct FieldCameraOffset *cameraOffset, int x, int y) { struct MapData *mapData = gMapHeader.mapData; if (x > 0) - RedrawMapSliceWest(a, mapData); + RedrawMapSliceWest(cameraOffset, mapData); if (x < 0) - RedrawMapSliceEast(a, mapData); + RedrawMapSliceEast(cameraOffset, mapData); if (y > 0) - RedrawMapSliceNorth(a, mapData); + RedrawMapSliceNorth(cameraOffset, mapData); if (y < 0) - RedrawMapSliceSouth(a, mapData); - a->unk4 = TRUE; + RedrawMapSliceSouth(cameraOffset, mapData); + cameraOffset->copyBGToVRAM = TRUE; } -static void RedrawMapSliceNorth(struct UnknownStruct *a, struct MapData *mapData) +static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) { u8 i; u8 temp; u32 r7; - temp = a->unk3 + 28; + temp = cameraOffset->yTileOffset + 28; if (temp >= 32) temp -= 32; r7 = temp * 32; for (i = 0; i < 32; i += 2) { - temp = a->unk2 + i; + temp = cameraOffset->xTileOffset + i; if (temp >= 32) temp -= 32; DrawMetatileAt(mapData, r7 + temp, gSaveBlock1.pos.x + i / 2, gSaveBlock1.pos.y + 14); } } -static void RedrawMapSliceSouth(struct UnknownStruct *a, struct MapData *mapData) +static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) { u8 i; u8 temp; - u32 r7 = a->unk3 * 32; + u32 r7 = cameraOffset->yTileOffset * 32; for (i = 0; i < 32; i += 2) { - temp = a->unk2 + i; + temp = cameraOffset->xTileOffset + i; if (temp >= 32) temp -= 32; DrawMetatileAt(mapData, r7 + temp, gSaveBlock1.pos.x + i / 2, gSaveBlock1.pos.y); } } -static void RedrawMapSliceEast(struct UnknownStruct *a, struct MapData *mapData) +static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) { u8 i; u8 temp; - u32 r6 = a->unk2; + u32 r6 = cameraOffset->xTileOffset; for (i = 0; i < 32; i += 2) { - temp = a->unk3 + i; + temp = cameraOffset->yTileOffset + i; if (temp >= 32) temp -= 32; DrawMetatileAt(mapData, temp * 32 + r6, gSaveBlock1.pos.x, gSaveBlock1.pos.y + i / 2); } } -static void RedrawMapSliceWest(struct UnknownStruct *a, struct MapData *mapData) +static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) { u8 i; u8 temp; - u8 r5 = a->unk2 + 28; + u8 r5 = cameraOffset->xTileOffset + 28; if (r5 >= 32) r5 -= 32; for (i = 0; i < 32; i += 2) { - temp = a->unk3 + i; + temp = cameraOffset->yTileOffset + i; if (temp >= 32) temp -= 32; DrawMetatileAt(mapData, temp * 32 + r5, gSaveBlock1.pos.x + 14, gSaveBlock1.pos.y + i / 2); @@ -206,23 +206,23 @@ static void RedrawMapSliceWest(struct UnknownStruct *a, struct MapData *mapData) void CurrentMapDrawMetatileAt(int x, int y) { - int offset = MapPosToBgTilemapOffset(&gUnknown_03000590, x, y); + int offset = MapPosToBgTilemapOffset(&sFieldCameraOffset, x, y); if (offset >= 0) { DrawMetatileAt(gMapHeader.mapData, offset, x, y); - gUnknown_03000590.unk4 = TRUE; + sFieldCameraOffset.copyBGToVRAM = TRUE; } } void DrawDoorMetatileAt(int x, int y, u16 *arr) { - int offset = MapPosToBgTilemapOffset(&gUnknown_03000590, x, y); + int offset = MapPosToBgTilemapOffset(&sFieldCameraOffset, x, y); if (offset >= 0) { DrawMetatile(1, arr, offset); - gUnknown_03000590.unk4 = TRUE; + sFieldCameraOffset.copyBGToVRAM = TRUE; } } @@ -311,51 +311,52 @@ static void DrawMetatile(s32 metatileLayerType, u16 *metatiles, u16 offset) } } -static s32 MapPosToBgTilemapOffset(struct UnknownStruct *a, s32 x, s32 y) +static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset *cameraOffset, s32 x, s32 y) { x -= gSaveBlock1.pos.x; x *= 2; if (x >= 32 || x < 0) return -1; - x = x + a->unk2; + x = x + cameraOffset->xTileOffset; if (x >= 32) x -= 32; y = (y - gSaveBlock1.pos.y) * 2; if (y >= 32 || y < 0) return -1; - y = y + a->unk3; + y = y + cameraOffset->yTileOffset; if (y >= 32) y -= 32; return y * 32 + x; } -static void CameraUpdateCallback(struct CameraSomething *a) +static void CameraUpdateCallback(struct FieldCamera *fieldCamera) { - if (a->unk4 != 0) + if (fieldCamera->trackedSpriteId != 0) { - a->unk8 = gSprites[a->unk4].data[2]; - a->unkC = gSprites[a->unk4].data[3]; + fieldCamera->movementSpeedX = gSprites[fieldCamera->trackedSpriteId].data[2]; + fieldCamera->movementSpeedY = gSprites[fieldCamera->trackedSpriteId].data[3]; } } void ResetCameraUpdateInfo(void) { - gUnknown_03004880.unk8 = 0; - gUnknown_03004880.unkC = 0; - gUnknown_03004880.unk10 = 0; - gUnknown_03004880.unk14 = 0; - gUnknown_03004880.unk4 = 0; - gUnknown_03004880.callback = NULL; + gFieldCamera.movementSpeedX = 0; + gFieldCamera.movementSpeedY = 0; + gFieldCamera.curMovementOffsetX = 0; + gFieldCamera.curMovementOffsetY = 0; + gFieldCamera.trackedSpriteId = 0; + gFieldCamera.callback = NULL; } -u32 InitCameraUpdateCallback(u8 a) +u32 InitCameraUpdateCallback(u8 trackedSpriteId) { - if (gUnknown_03004880.unk4 != 0) - DestroySprite(&gSprites[gUnknown_03004880.unk4]); - gUnknown_03004880.unk4 = AddCameraObject(a); - gUnknown_03004880.callback = CameraUpdateCallback; + if (gFieldCamera.trackedSpriteId != 0) + DestroySprite(&gSprites[gFieldCamera.trackedSpriteId]); + + gFieldCamera.trackedSpriteId = AddCameraObject(trackedSpriteId); + gFieldCamera.callback = CameraUpdateCallback; return 0; } @@ -363,54 +364,54 @@ void CameraUpdate(void) { int deltaX; int deltaY; - int r0; - int r1; - int r7; - int r8; - - if (gUnknown_03004880.callback != NULL) - gUnknown_03004880.callback(&gUnknown_03004880); - r7 = gUnknown_03004880.unk8; - r8 = gUnknown_03004880.unkC; + int curMovementOffsetY; + int curMovementOffsetX; + int movementSpeedX; + int movementSpeedY; + + if (gFieldCamera.callback != NULL) + gFieldCamera.callback(&gFieldCamera); + movementSpeedX = gFieldCamera.movementSpeedX; + movementSpeedY = gFieldCamera.movementSpeedY; deltaX = 0; deltaY = 0; - r1 = gUnknown_03004880.unk10; - r0 = gUnknown_03004880.unk14; + curMovementOffsetX = gFieldCamera.curMovementOffsetX; + curMovementOffsetY = gFieldCamera.curMovementOffsetY; - if (r1 == 0 && r7 != 0) + if (curMovementOffsetX == 0 && movementSpeedX != 0) { - if (r7 > 0) + if (movementSpeedX > 0) deltaX = 1; else deltaX = -1; } - if (r0 == 0 && r8 != 0) + if (curMovementOffsetY == 0 && movementSpeedY != 0) { - if (r8 > 0) + if (movementSpeedY > 0) deltaY = 1; else deltaY = -1; } - if (r1 != 0 && r1 == -r7) + if (curMovementOffsetX != 0 && curMovementOffsetX == -movementSpeedX) { - if (r7 > 0) + if (movementSpeedX > 0) deltaX = 1; else deltaX = -1; } - if (r0 != 0 && r0 == -r8) + if (curMovementOffsetY != 0 && curMovementOffsetY == -movementSpeedY) { - if (r8 > 0) + if (movementSpeedY > 0) deltaX = 1; else deltaX = -1; } - gUnknown_03004880.unk10 += r7; - gUnknown_03004880.unk10 = gUnknown_03004880.unk10 - 16 * (gUnknown_03004880.unk10 / 16); - gUnknown_03004880.unk14 += r8; - gUnknown_03004880.unk14 = gUnknown_03004880.unk14 - 16 * (gUnknown_03004880.unk14 / 16); + gFieldCamera.curMovementOffsetX += movementSpeedX; + gFieldCamera.curMovementOffsetX = gFieldCamera.curMovementOffsetX - 16 * (gFieldCamera.curMovementOffsetX / 16); + gFieldCamera.curMovementOffsetY += movementSpeedY; + gFieldCamera.curMovementOffsetY = gFieldCamera.curMovementOffsetY - 16 * (gFieldCamera.curMovementOffsetY / 16); if (deltaX != 0 || deltaY != 0) { @@ -418,50 +419,50 @@ void CameraUpdate(void) UpdateEventObjectsForCameraUpdate(deltaX, deltaY); RotatingGatePuzzleCameraUpdate(deltaX, deltaY); ResetBerryTreeSparkleFlags(); - tilemap_move_something(&gUnknown_03000590, deltaX * 2, deltaY * 2); - RedrawMapSlicesForCameraUpdate(&gUnknown_03000590, deltaX * 2, deltaY * 2); + tilemap_move_something(&sFieldCameraOffset, deltaX * 2, deltaY * 2); + RedrawMapSlicesForCameraUpdate(&sFieldCameraOffset, deltaX * 2, deltaY * 2); } - coords8_add(&gUnknown_03000590, r7, r8); - gUnknown_0300489C -= r7; - gUnknown_03004898 -= r8; + coords8_add(&sFieldCameraOffset, movementSpeedX, movementSpeedY); + gTotalCameraPixelOffsetX -= movementSpeedX; + gTotalCameraPixelOffsetY -= movementSpeedY; } -void camera_move_and_redraw(int a, int b) +void MoveCameraAndRedrawMap(int deltaX, int deltaY) { - CameraMove(a, b); - UpdateEventObjectsForCameraUpdate(a, b); + CameraMove(deltaX, deltaY); + UpdateEventObjectsForCameraUpdate(deltaX, deltaY); DrawWholeMapView(); - gUnknown_0300489C -= a * 16; - gUnknown_03004898 -= b * 16; + gTotalCameraPixelOffsetX -= deltaX * 16; + gTotalCameraPixelOffsetY -= deltaY * 16; } -void SetCameraPanningCallback(void (*a)(void)) +void SetCameraPanningCallback(void (*callback)(void)) { - gUnknown_030005A0 = a; + sFieldCameraPanningCallback = callback; } void SetCameraPanning(s16 a, s16 b) { - gUnknown_03000598 = a; - gUnknown_0300059A = b + 32; + sHorizontalCameraPan = a; + sVerticalCameraPan = b + 32; } void InstallCameraPanAheadCallback(void) { - gUnknown_030005A0 = CameraPanningCB_PanAhead; + sFieldCameraPanningCallback = CameraPanningCB_PanAhead; gUnknown_0300059C = 0; - gUnknown_03000598 = 0; - gUnknown_0300059A = 32; + sHorizontalCameraPan = 0; + sVerticalCameraPan = 32; } void UpdateCameraPanning(void) { - if (gUnknown_030005A0 != NULL) - gUnknown_030005A0(); + if (sFieldCameraPanningCallback != NULL) + sFieldCameraPanningCallback(); //Update sprite offset of overworld objects - gSpriteCoordOffsetX = gUnknown_0300489C - gUnknown_03000598; - gSpriteCoordOffsetY = gUnknown_03004898 - gUnknown_0300059A - 8; + gSpriteCoordOffsetX = gTotalCameraPixelOffsetX - sHorizontalCameraPan; + gSpriteCoordOffsetY = gTotalCameraPixelOffsetY - sVerticalCameraPan - 8; } static void CameraPanningCB_PanAhead(void) @@ -489,21 +490,21 @@ static void CameraPanningCB_PanAhead(void) var = GetPlayerMovementDirection(); if (var == 2) { - if (gUnknown_0300059A > -8) - gUnknown_0300059A -= 2; + if (sVerticalCameraPan > -8) + sVerticalCameraPan -= 2; } else if (var == 1) { - if (gUnknown_0300059A < 72) - gUnknown_0300059A += 2; + if (sVerticalCameraPan < 72) + sVerticalCameraPan += 2; } - else if (gUnknown_0300059A < 32) + else if (sVerticalCameraPan < 32) { - gUnknown_0300059A += 2; + sVerticalCameraPan += 2; } - else if (gUnknown_0300059A > 32) + else if (sVerticalCameraPan > 32) { - gUnknown_0300059A -= 2; + sVerticalCameraPan -= 2; } } } diff --git a/src/overworld.c b/src/overworld.c index fa7fa84e3..a85cde128 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -62,8 +62,8 @@ struct UnkTVStruct }; extern u8 gUnknown_020297ED; -extern u16 gUnknown_03004898; -extern u16 gUnknown_0300489C; +extern u16 gTotalCameraPixelOffsetY; +extern u16 gTotalCameraPixelOffsetX; extern u8 S_WhiteOut[]; extern u8 gUnknown_0819FC9F[]; @@ -1822,8 +1822,8 @@ void sub_8054D4C(u32 a1) void sub_8054D90(void) { - gUnknown_0300489C = 0; - gUnknown_03004898 = 0; + gTotalCameraPixelOffsetX = 0; + gTotalCameraPixelOffsetY = 0; sub_805AA98(); TrySpawnEventObjects(0, 0); mapheader_run_first_tag4_script_list_match(); @@ -1833,8 +1833,8 @@ void mli4_mapscripts_and_other(void) { s16 x, y; struct UnkPlayerStruct *player; - gUnknown_0300489C = 0; - gUnknown_03004898 = 0; + gTotalCameraPixelOffsetX = 0; + gTotalCameraPixelOffsetY = 0; sub_805AA98(); sav1_camera_get_focus_coords(&x, &y); player = sub_8053AA8(); -- cgit v1.2.3 From 4fa88f1a8fb21f4f6491446d8137853ed08825db Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 8 Jun 2018 18:56:07 -0500 Subject: Fix find/replace mistake --- src/metatile_behavior.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index c941310fb..67509da7c 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -166,7 +166,7 @@ static const u8 sTileBitAttributes[] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_2_OPEN TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9E TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9F - TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_BREAKABLE_DOORRRY_TREE_SOIL + TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BERRY_TREE_SOIL TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A1 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A2 TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A3 @@ -848,7 +848,7 @@ bool8 MetatileBehavior_IsLongGrass(u8 metatileBehavior) bool8 MetatileBehavior_IsBerryTreeSoil(u8 metatileBehavior) { - if (metatileBehavior == MB_SECRET_BASE_BREAKABLE_DOORRRY_TREE_SOIL) + if (metatileBehavior == MB_BERRY_TREE_SOIL) return TRUE; else return FALSE; -- cgit v1.2.3 From c5bcb67bb871a445b20bbc0c226bc290dc5ba6bc Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 8 Jun 2018 19:59:00 -0500 Subject: Label decoration_inventory --- src/decoration.c | 15 ++--- src/decoration_inventory.c | 135 ++++++++++++++++++++------------------------- src/scrcmd.c | 6 +- src/trader.c | 6 +- 4 files changed, 75 insertions(+), 87 deletions(-) (limited to 'src') diff --git a/src/decoration.c b/src/decoration.c index 4c9e4509a..96cf61548 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -19,6 +19,7 @@ #include "event_data.h" #include "field_weather.h" #include "decoration.h" +#include "decoration_inventory.h" #include "shop.h" #include "ewram.h" @@ -1555,7 +1556,7 @@ void sub_80FE470(u8 decoCat, u8 left, u8 top, u8 palIdx) // PrintDecorationCateg strptr[2] = palIdx; strptr += 3; strptr = StringCopy(strptr, gUnknown_083EC5E4[decoCat]); - strptr = sub_8072C14(strptr, sub_8134194(decoCat), 0x56, 1); + strptr = sub_8072C14(strptr, GetNumDecorationsInInventoryCategory(decoCat), 0x56, 1); *strptr++ = 0xba; strptr = sub_8072C14(strptr, gDecorationInventories[decoCat].size, 0x68, 1); strptr[0] = EXT_CTRL_CODE_BEGIN; @@ -1609,10 +1610,10 @@ void sub_80FE604(u8 taskId) gUnknown_020388F6 = Menu_GetCursorPos(); if (gUnknown_020388F6 != 8) { - gUnknown_020388D5 = sub_8134194(gUnknown_020388F6); + gUnknown_020388D5 = GetNumDecorationsInInventoryCategory(gUnknown_020388F6); if (gUnknown_020388D5) { - sub_8134104(gUnknown_020388F6); + SortDecorationInventory(gUnknown_020388F6); gUnknown_020388D0 = gDecorationInventories[gUnknown_020388F6].items; sub_80FEF50(taskId); ClearVerticalScrollIndicatorPalettes(); @@ -2022,7 +2023,7 @@ void sub_80FF098(u8 taskId) { gUnknown_020388F4--; } - sub_8134104(gUnknown_020388F6); + SortDecorationInventory(gUnknown_020388F6); sub_80FED90(taskId); sub_80FEF28(); } @@ -2042,7 +2043,7 @@ void sub_80FF114(u8 taskId) } void sub_80FF160(u8 taskId) { - if (!sub_81341D4()) + if (!GetNumDecorationsInInventory()) { DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0); } else @@ -4190,7 +4191,7 @@ void sub_81016F4(void) void sub_8101700(u8 taskId) { - if (!sub_81341D4()) + if (!GetNumDecorationsInInventory()) { DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0); } else @@ -4203,7 +4204,7 @@ void sub_8101700(u8 taskId) void sub_8101750(u8 taskId) { - if (!sub_81341D4()) + if (!GetNumDecorationsInInventory()) { DisplayItemMessageOnField(taskId, gSecretBaseText_NoDecors, sub_80FE428, 0); } else diff --git a/src/decoration_inventory.c b/src/decoration_inventory.c index d4ef2d589..feec11670 100644 --- a/src/decoration_inventory.c +++ b/src/decoration_inventory.c @@ -1,9 +1,9 @@ #include "global.h" -#include "constants/decorations.h" -#include "sprite.h" -#include "task.h" #include "decoration.h" #include "decoration_inventory.h" +#include "sprite.h" +#include "task.h" +#include "constants/decorations.h" #define DECOR_INV(ptr) {.items = ptr, .size = sizeof ptr} @@ -18,154 +18,141 @@ struct DecorationInventory const gDecorationInventories[] = { DECOR_INV(gSaveBlock1.decorCushion) }; -void ClearDecorationInventory(u8 invIdx) +void ClearDecorationInventory(u8 category) { u8 i; - for (i=0; i gDecorationInventories[invIdx].items[j])) + if (gDecorationInventories[category].items[j] != 0 && (gDecorationInventories[category].items[i] == DECOR_NONE || gDecorationInventories[category].items[i] > gDecorationInventories[category].items[j])) { - tmp = gDecorationInventories[invIdx].items[i]; - gDecorationInventories[invIdx].items[i] = gDecorationInventories[invIdx].items[j]; - gDecorationInventories[invIdx].items[j] = tmp; + tmp = gDecorationInventories[category].items[i]; + gDecorationInventories[category].items[i] = gDecorationInventories[category].items[j]; + gDecorationInventories[category].items[j] = tmp; } } } } -u8 sub_8134194(u8 invIdx) +u8 GetNumDecorationsInInventoryCategory(u8 category) { u8 i; - u8 count; - count = 0; - for (i=0; iunk5[gSpecialVar_0x8005], gSaveBlock2.playerName); trader->unk1[gSpecialVar_0x8005] = gSpecialVar_0x8006; -- cgit v1.2.3 From 2e80477ea11c265e69658b852c57097fd8a21492 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 10 Jun 2018 11:01:29 -0500 Subject: Label move_tutor_menu.c --- src/battle/battle_records.c | 2 +- src/berry_blender.c | 28 +- src/choose_party.c | 4 +- src/clear_save_data_menu.c | 2 +- src/debug/mori_debug_menu.c | 4 +- src/debug/sound_check_menu.c | 4 +- src/debug/start_menu_debug.c | 2 +- src/debug/watanabe_debug_menu.c | 2 +- src/decoration.c | 10 +- src/diploma.c | 2 +- src/easy_chat_2.c | 2 +- src/field_effect.c | 8 +- src/field_message_box.c | 2 +- src/field_screen_effect.c | 2 +- src/item_menu.c | 18 +- src/learn_move.c | 1066 --------------------------------------- src/link.c | 4 +- src/mail.c | 4 +- src/main_menu.c | 12 +- src/mauville_man.c | 2 +- src/menu.c | 22 +- src/money.c | 2 +- src/move_tutor_menu.c | 1063 ++++++++++++++++++++++++++++++++++++++ src/mystery_event_menu.c | 8 +- src/overworld.c | 12 +- src/party_menu.c | 4 +- src/player_pc.c | 2 +- src/pokeblock.c | 6 +- src/pokemon_3.c | 12 +- src/pokemon_storage_system_4.c | 6 +- src/pokemon_summary_screen.c | 22 +- src/pokenav_before.c | 2 +- src/reset_rtc_screen.c | 8 +- src/roulette.c | 2 +- src/save_failed_screen.c | 2 +- src/script_menu.c | 2 +- src/secret_base.c | 4 +- src/start_menu.c | 8 +- src/starter_choose.c | 6 +- src/strings.c | 4 +- src/text.c | 12 +- src/trade.c | 4 +- src/trainer_card.c | 6 +- src/wallclock.c | 2 +- 44 files changed, 1199 insertions(+), 1202 deletions(-) delete mode 100644 src/learn_move.c create mode 100644 src/move_tutor_menu.c (limited to 'src') diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c index 4375fc32f..fed8d6575 100644 --- a/src/battle/battle_records.c +++ b/src/battle/battle_records.c @@ -335,7 +335,7 @@ static void PrintWinStreak(const u8 *str, u16 streak, u8 left, u8 top) Menu_PrintText(str, left, top); if (streak > 9999) streak = 9999; - sub_8072C14(gStringVar1, streak, 24, 1); + AlignInt1InMenuWindow(gStringVar1, streak, 24, 1); Menu_PrintText(gOtherText_WinStreak, left + 7, top); } diff --git a/src/berry_blender.c b/src/berry_blender.c index 50c9aa700..4531ea546 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -3014,24 +3014,24 @@ bool8 Blender_PrintBlendingResults(void) textPtr[1] = CHAR_PERIOD; textPtr[2] = CHAR_SPACE; textPtr += 3; - textPtr = sub_8072C74(textPtr, gLinkPlayers[place].name, 88, 0); - sub_8072C74(textPtr, text[0], 157, 0); + textPtr = AlignStringInMenuWindow(textPtr, gLinkPlayers[place].name, 88, 0); + AlignStringInMenuWindow(textPtr, text[0], 157, 0); Menu_PrintText(gBerryBlenderData->stringVar, 5, gUnknown_082165E9[gBerryBlenderData->playersNo] + (i * gUnknown_082165EE[gBerryBlenderData->playersNo])); } ConvertIntToDecimalStringN(text[0], gBerryBlenderData->max_RPM % 100, 2, 2); textPtr = gBerryBlenderData->stringVar; textPtr = StringCopy(textPtr, gOtherText_MaxSpeed); - textPtr = sub_8072C14(textPtr, gBerryBlenderData->max_RPM / 100, 121, 1); + textPtr = AlignInt1InMenuWindow(textPtr, gBerryBlenderData->max_RPM / 100, 121, 1); #ifdef ENGLISH textPtr[0] = CHAR_SPACE; textPtr[1] = CHAR_PERIOD; textPtr[2] = CHAR_SPACE; textPtr += 3; - textPtr = sub_8072C74(textPtr, text[0], 142, 1); + textPtr = AlignStringInMenuWindow(textPtr, text[0], 142, 1); #else *textPtr++ = CHAR_COMMA; - textPtr = sub_8072C74(textPtr, text[0], 136, 1); + textPtr = AlignStringInMenuWindow(textPtr, text[0], 136, 1); #endif StringCopy(textPtr, gOtherText_RPM); Menu_PrintText(gBerryBlenderData->stringVar, 5, 13); @@ -3045,13 +3045,13 @@ bool8 Blender_PrintBlendingResults(void) textPtr = StringCopy(textPtr, gOtherText_RequiredTime); #ifdef ENGLISH - textPtr = sub_8072C74(textPtr, text[0], 102, 1); + textPtr = AlignStringInMenuWindow(textPtr, text[0], 102, 1); #else - textPtr = sub_8072C74(textPtr, text[0], 99, 1); + textPtr = AlignStringInMenuWindow(textPtr, text[0], 99, 1); #endif textPtr = StringAppend(textPtr, gOtherText_Min); - textPtr = sub_8072C74(textPtr, text[1], 136, 1); + textPtr = AlignStringInMenuWindow(textPtr, text[1], 136, 1); StringCopy(textPtr, gOtherText_Sec); Menu_PrintText(gBerryBlenderData->stringVar, 5, 15); @@ -3222,9 +3222,9 @@ static bool8 Blender_PrintBlendingRanking(void) txtPtr = StringCopy(txtPtr, gLinkPlayers[place].name); - txtPtr = sub_8072C14(txtPtr, gBerryBlenderData->scores[place][BLENDER_SCORE_BEST], 108, 1); - txtPtr = sub_8072C14(txtPtr, gBerryBlenderData->scores[place][BLENDER_SCORE_GOOD], 132, 1); - txtPtr = sub_8072C14(txtPtr, gBerryBlenderData->scores[place][BLENDER_SCORE_MISS], 156, 1); + txtPtr = AlignInt1InMenuWindow(txtPtr, gBerryBlenderData->scores[place][BLENDER_SCORE_BEST], 108, 1); + txtPtr = AlignInt1InMenuWindow(txtPtr, gBerryBlenderData->scores[place][BLENDER_SCORE_GOOD], 132, 1); + txtPtr = AlignInt1InMenuWindow(txtPtr, gBerryBlenderData->scores[place][BLENDER_SCORE_MISS], 156, 1); Menu_PrintText(gBerryBlenderData->stringVar, 5, i * gUnknown_082165F3[gBerryBlenderData->playersNo] + 8); } @@ -3257,8 +3257,8 @@ void debug_sub_80524BC(void) FreeAllSpritePalettes(); ResetTasks(); SetVBlankCallback(VBlankCB1_BerryBlender); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); SeedRng(gMain.vblankCounter1); REG_DISPCNT = 0x1540; RunTasks(); @@ -3503,7 +3503,7 @@ void ShowBerryBlenderRecordWindow(void) for (i = 0; i < 3; i++) { u32 record = gSaveBlock1.berryBlenderRecords[i]; - u8* txtPtr = sub_8072C14(text, record / 100, 18, 1); + u8* txtPtr = AlignInt1InMenuWindow(text, record / 100, 18, 1); #ifdef ENGLISH txtPtr[0] = CHAR_SPACE; diff --git a/src/choose_party.c b/src/choose_party.c index 6f1481c45..8aef949cb 100644 --- a/src/choose_party.c +++ b/src/choose_party.c @@ -230,7 +230,7 @@ static const struct MenuAction2 sBattleTowerEntryMenuItems[] = {OtherText_Summary, BattleTowerEntryMenuCallback_Summary}, {OtherText_Enter2, BattleTowerEntryMenuCallback_Enter}, {OtherText_NoEntry, BattleTowerEntryMenuCallback_NoEntry}, - {gUnknownText_Exit, BattleTowerEntryMenuCallback_Exit}, + {gOtherText_Exit, BattleTowerEntryMenuCallback_Exit}, }; static const u8 gUnknown_084017D0[] = {1, 0, 3}; @@ -780,7 +780,7 @@ static const struct MenuAction2 sDaycareStorageMenuItems[] = { {OtherText_Store, DaycareStorageMenuCallback_Store}, {OtherText_Summary, DaycareStorageMenuCallback_Summary}, - {gUnknownText_Exit, DaycareStorageMenuCallback_Exit}, + {gOtherText_Exit, DaycareStorageMenuCallback_Exit}, }; static const u8 gUnknown_08401808[] = {0, 1, 2}; diff --git a/src/clear_save_data_menu.c b/src/clear_save_data_menu.c index b7f648887..05130a214 100644 --- a/src/clear_save_data_menu.c +++ b/src/clear_save_data_menu.c @@ -134,7 +134,7 @@ static u8 InitClearSaveDataScreen(void) ResetSpriteData(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, FADE_COLOR_WHITE); ime = REG_IME; diff --git a/src/debug/mori_debug_menu.c b/src/debug/mori_debug_menu.c index 767f4cda0..4f798ecb3 100644 --- a/src/debug/mori_debug_menu.c +++ b/src/debug/mori_debug_menu.c @@ -2,7 +2,7 @@ #include "mori_debug_menu.h" #include "data2.h" #include "daycare.h" -#include "learn_move.h" +#include "move_tutor_menu.h" #include "link.h" #include "main.h" #include "menu.h" @@ -136,7 +136,7 @@ u8 MoriDebugMenu_10000Steps(void) u8 MoriDebugMenu_MoveTutor(void) { - TeachMoveTutorMove(); + DisplayMoveTutorMenu(); CloseMenu(); return 1; } diff --git a/src/debug/sound_check_menu.c b/src/debug/sound_check_menu.c index 935f5cd67..1fcf52f38 100644 --- a/src/debug/sound_check_menu.c +++ b/src/debug/sound_check_menu.c @@ -133,7 +133,7 @@ void CB2_StartSoundCheckMenu(void) ResetTasks(); ResetSpriteData(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_WIN0H = WIN_RANGE(0, 0); REG_WIN0V = WIN_RANGE(0, 0); @@ -1218,7 +1218,7 @@ void Task_InitCryTest(u8 taskId) u8 zero; Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); gSoundTestCryNum = 1; ResetSpriteData(); FreeAllSpritePalettes(); diff --git a/src/debug/start_menu_debug.c b/src/debug/start_menu_debug.c index b16b15a0a..1f0cb5f60 100644 --- a/src/debug/start_menu_debug.c +++ b/src/debug/start_menu_debug.c @@ -685,7 +685,7 @@ void DebugMenu_8077048(void) u8 DebugMenu_807706C(void) { - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); DebugMenu_8077004(); DebugMenu_807719C(); DebugMenu_80771EC(); diff --git a/src/debug/watanabe_debug_menu.c b/src/debug/watanabe_debug_menu.c index 86b8f6b0b..ed6a1d18d 100644 --- a/src/debug/watanabe_debug_menu.c +++ b/src/debug/watanabe_debug_menu.c @@ -210,7 +210,7 @@ void debug_80C35DC(void) LoadSpriteSheet(stru_83F8828); LoadSpritePalette(stru_83F8838); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); } void debug_80C36F4(void) diff --git a/src/decoration.c b/src/decoration.c index 96cf61548..e31624540 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1411,7 +1411,7 @@ const struct MenuAction2 gUnknown_083EC604[] = { {SecretBaseText_Decorate, sub_80FF160}, {SecretBaseText_PutAway, sub_8100A0C}, {SecretBaseText_Toss, sub_8101700}, - {gUnknownText_Exit, gpu_pal_decompress_alloc_tag_and_upload} + {gOtherText_Exit, gpu_pal_decompress_alloc_tag_and_upload} }; const u8 *const gUnknown_083EC624[] = { @@ -1556,9 +1556,9 @@ void sub_80FE470(u8 decoCat, u8 left, u8 top, u8 palIdx) // PrintDecorationCateg strptr[2] = palIdx; strptr += 3; strptr = StringCopy(strptr, gUnknown_083EC5E4[decoCat]); - strptr = sub_8072C14(strptr, GetNumDecorationsInInventoryCategory(decoCat), 0x56, 1); + strptr = AlignInt1InMenuWindow(strptr, GetNumDecorationsInInventoryCategory(decoCat), 0x56, 1); *strptr++ = 0xba; - strptr = sub_8072C14(strptr, gDecorationInventories[decoCat].size, 0x68, 1); + strptr = AlignInt1InMenuWindow(strptr, gDecorationInventories[decoCat].size, 0x68, 1); strptr[0] = EXT_CTRL_CODE_BEGIN; strptr[1] = 5; strptr[2] = v0; @@ -1580,7 +1580,7 @@ void sub_80FE528(u8 taskId) // PrintDecorationCategorySelectionMenuStrings sub_80FE470(decoCat, 1, 2 * decoCat + 1, 255); // Unselectable } } - Menu_PrintText(gUnknownText_Exit, 1, 17); + Menu_PrintText(gOtherText_Exit, 1, 17); } void sub_80FE5AC(u8 taskId) @@ -1806,7 +1806,7 @@ void sub_80FEABC(u8 taskId, u8 dummy1) } if (i == gUnknown_020388D5) { - sub_8072A18(gUnknownText_Exit, 0x08, 8 * ni, 0x68, 1); + sub_8072A18(gOtherText_Exit, 0x08, 8 * ni, 0x68, 1); break; } if (gUnknown_020388D0[i]) diff --git a/src/diploma.c b/src/diploma.c index a6026d423..5a1e1254b 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -69,7 +69,7 @@ void CB2_ShowDiploma(void) FreeAllSpritePalettes(); LoadPalette(gDiplomaPalettes, 0, 64); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); DisplayDiplomaText(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); diff --git a/src/easy_chat_2.c b/src/easy_chat_2.c index 530c2ae5e..7cf4d87b9 100644 --- a/src/easy_chat_2.c +++ b/src/easy_chat_2.c @@ -1182,7 +1182,7 @@ void sub_80E9368(u8 a) gEasyChatStruct->unk9F8E[2] = 1; if (r4 != NULL) { - sub_8072C74(gEasyChatStruct->unk9F8E + 3, r4, 240, 2); + AlignStringInMenuWindow(gEasyChatStruct->unk9F8E + 3, r4, 240, 2); Menu_PrintText(gEasyChatStruct->unk9F8E, 0, 0); } else diff --git a/src/field_effect.c b/src/field_effect.c index 93a97aa7f..8c00476d7 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2438,8 +2438,8 @@ void sub_8088380(struct Task *task) IntrCallback callback; LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback); SetVBlankCallback(callback); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); FreeResourcesAndDestroySprite(&gSprites[task->data[15]]); FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); DestroyTask(FindTaskIdByFunc(sub_8088120)); @@ -2561,8 +2561,8 @@ void sub_808862C(struct Task *task) CpuFill32(0, (void *)VRAM + bg0cnt, 0x800); LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&intrCallback); SetVBlankCallback(intrCallback); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); FreeResourcesAndDestroySprite(&gSprites[task->data[15]]); FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON); DestroyTask(FindTaskIdByFunc(sub_808847C)); diff --git a/src/field_message_box.c b/src/field_message_box.c index 5eec7a14b..44fd4ac49 100644 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -20,7 +20,7 @@ void InitFieldMessageBox(void) { sMessageBoxMode = FIELD_MESSAGE_BOX_HIDDEN; TextWindow_SetDlgFrameBaseTileNum(gMenuTextWindowContentTileOffset); - Text_InitWindowWithTemplate(&gFieldMessageBoxWindow, &gWindowTemplate_81E6CE4); + Text_InitWindowWithTemplate(&gFieldMessageBoxWindow, &gMenuTextWindowTemplate); } static void Task_FieldMessageBox(u8 taskId) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 61301c5a9..b314699c5 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -265,7 +265,7 @@ static void sub_80816A8(u8 taskId) break; case 5: Menu_EraseWindowRect(0, 0, 29, 19); - LoadFontDefaultPalette(&gWindowTemplate_81E6CE4); + LoadFontDefaultPalette(&gMenuTextWindowTemplate); REG_WIN0H = 255; REG_DISPCNT = data[6]; REG_BLDCNT = data[7]; diff --git a/src/item_menu.c b/src/item_menu.c index da77760dd..5fbfb775e 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1115,9 +1115,9 @@ static void sub_80A41E0(u8 *a, u16 b, const u8 *c, u16 d, u8 e) a[1] = 0x13; a[2] = 0x18; a += 3; - a = sub_8072C74(a, c, 0x78 - (e + 1) * 6, 0); + a = AlignStringInMenuWindow(a, c, 0x78 - (e + 1) * 6, 0); *a++ = CHAR_MULT_SIGN; - sub_8072C14(a, d, 0x78, 1); + AlignInt1InMenuWindow(a, d, 0x78, 1); } static u8 *sub_80A425C(u8 taskId, u8 *text, u8 c) @@ -1145,7 +1145,7 @@ static bool8 sub_80A42B0(u8 itemPos, int b) if (sReturnLocation == RETURN_TO_FIELD_5) return TRUE; r5 = itemPos * 2 + 2; - sub_8072C74(gStringVar1, gOtherText_CloseBag, 0x78, 0); + AlignStringInMenuWindow(gStringVar1, gOtherText_CloseBag, 0x78, 0); Menu_PrintText(gStringVar1, 14, r5); ptr = gBGTilemapBuffers[2] + 14 + r5 * 32; ptr[0] = 0x4F; @@ -1179,9 +1179,9 @@ static void sub_80A4380(u16 a, int b, int c, int d) r5 = i * 2 + 2; text = gStringVar1; text = sub_80A425C(a, text, i); - text = sub_8072C74(text, ItemId_GetName(gCurrentBagPocketItemSlots[r4].itemId), 0x66, 0); + text = AlignStringInMenuWindow(text, ItemId_GetName(gCurrentBagPocketItemSlots[r4].itemId), 0x66, 0); *text++ = CHAR_MULT_SIGN; - sub_8072C14(text, gCurrentBagPocketItemSlots[r4].quantity, 0x78, 1); + AlignInt1InMenuWindow(text, gCurrentBagPocketItemSlots[r4].quantity, 0x78, 1); Menu_PrintText(gStringVar1, 14, r5); } } @@ -1203,9 +1203,9 @@ static void sub_80A444C(u16 a, int b, int c, int d) text = gStringVar1; text = sub_80A425C(a, text, i); #if ENGLISH - sub_8072C74(text, ItemId_GetName(gCurrentBagPocketItemSlots[slot].itemId), 0x60, 0); + AlignStringInMenuWindow(text, ItemId_GetName(gCurrentBagPocketItemSlots[slot].itemId), 0x60, 0); #else - sub_8072C74(text, ItemId_GetName(gCurrentBagPocketItemSlots[slot].itemId), 0x63, 0); + AlignStringInMenuWindow(text, ItemId_GetName(gCurrentBagPocketItemSlots[slot].itemId), 0x63, 0); #endif Menu_PrintText(gStringVar1, 14, r5); if (gUnknown_02038558) @@ -1272,7 +1272,7 @@ static void sub_80A4548(u16 a, int b, int c, int d) text[2] = 0x18; text += 3; moveName = gMoveNames[ItemIdToBattleMoveId(gCurrentBagPocketItemSlots[r4].itemId)]; - sub_8072C74(text, moveName, 0x78, 0); + AlignStringInMenuWindow(text, moveName, 0x78, 0); } Menu_PrintText(gStringVar1, 14, sp10); } @@ -1450,7 +1450,7 @@ _080A4634:\n\ adds r0, r6, 0\n\ movs r2, 0x78\n\ movs r3, 0\n\ - bl sub_8072C74\n\ + bl AlignStringInMenuWindow\n\ _080A46AE:\n\ ldr r0, _080A46F8 @ =gStringVar1\n\ movs r1, 0xE\n\ diff --git a/src/learn_move.c b/src/learn_move.c deleted file mode 100644 index 17cdbf54e..000000000 --- a/src/learn_move.c +++ /dev/null @@ -1,1066 +0,0 @@ -#include "global.h" -#include "contest.h" -#include "data2.h" -#include "field_fadetransition.h" -#include "main.h" -#include "menu.h" -#include "menu_cursor.h" -#include "learn_move.h" -#include "palette.h" -#include "pokemon.h" -#include "pokemon_summary_screen.h" -#include "overworld.h" -#include "script.h" -#include "constants/songs.h" -#include "sound.h" -#include "sprite.h" -#include "string_util.h" -#include "strings.h" -#include "strings2.h" -#include "task.h" -#include "trig.h" -#include "ewram.h" - -extern u16 gSpecialVar_0x8004; -extern u16 gSpecialVar_0x8005; -extern u8 gTileBuffer[]; - -extern const struct WindowTemplate gWindowTemplate_81E6CE4; -extern const struct WindowTemplate gWindowTemplate_81E7240; -extern const u8 *const gContestEffectStrings[]; -extern const u8 *const gMoveDescriptions[]; -extern const u8 gTypeNames[][7]; -extern const u8 *const gUnknown_083CAF70[]; - -#ifdef GERMAN -extern const u8 deuOtherText_ForgotAndLearned[]; -#endif - - -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; -}; - -static struct LearnMoveStruct *sLearnMoveStruct; - -const u16 gDexArrows_Pal[] = INCBIN_U16("graphics/pokedex/arrows.gbapal"); - -const u8 gDexArrows_Gfx[] = INCBIN_U8("graphics/pokedex/arrows.4bpp"); - -const u8 gUnknown_08402CF8[][4] = -{ - { 0, 0, 9, 13}, - {10, 0, 29, 7}, - { 2, 14, 27, 19}, - {10, 8, 29, 13}, -}; - -struct UnknownStruct1 -{ - const u8 *unk0; - u8 unk4; - u8 unk5; - u8 unk6; -}; - -const struct UnknownStruct1 gUnknown_08402D08[][4] = -{ - { - {OtherText_Battle, 1, 1, 0}, - {OtherText_Power, 1, 4, 1}, - {OtherText_Accuracy, 1, 9, 2}, - {NULL, 0, 0, 0}, - }, - { - {OtherText_Contest, 1, 1, 0}, - {OtherText_Appeal, 1, 4, 1}, - {OtherText_Jam, 1, 9, 2}, - {NULL, 0, 0, 0}, - }, -}; - -// XXX: What are these for? -const u32 unkDataFF00FFEF = 0xFF00FFEF; -const u8 *const gTileBuffer_ = gTileBuffer; - -const struct OamData gOamData_8402D50 = {.shape = 0}; -const struct OamData gOamData_8402D58 = {.shape = 2}; -const struct OamData gOamData_8402D60 = {.shape = 1}; - -const union AnimCmd gSpriteAnim_8402D68[] = -{ - ANIMCMD_FRAME(2, 5), - ANIMCMD_END, -}; - -const union AnimCmd gSpriteAnim_8402D70[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -const union AnimCmd *const gSpriteAnimTable_8402D78[] = -{ - gSpriteAnim_8402D68, - gSpriteAnim_8402D70, -}; - -const struct SpriteSheet gUnknown_08402D80 = {gDexArrows_Gfx, sizeof(gDexArrows_Gfx), 5525}; -const struct SpritePalette gUnknown_08402D88 = {gDexArrows_Pal, 5526}; - -void sub_8133300(struct Sprite *); -const struct SpriteTemplate gSpriteTemplate_8402D90 = -{ - .tileTag = 5525, - .paletteTag = 5526, - .oam = &gOamData_8402D58, - .anims = gSpriteAnimTable_8402D78, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8133300, -}; - -const union AnimCmd gSpriteAnim_8402DA8[] = -{ - ANIMCMD_FRAME(4, 5), - ANIMCMD_END, -}; - -const union AnimCmd gSpriteAnim_8402DB0[] = -{ - ANIMCMD_FRAME(6, 5), - ANIMCMD_END, -}; - -const union AnimCmd *const gSpriteAnimTable_8402DB8[] = -{ - gSpriteAnim_8402DA8, - gSpriteAnim_8402DB0, -}; - -const struct SpriteTemplate gSpriteTemplate_8402DC0 = -{ - .tileTag = 5525, - .paletteTag = 5526, - .oam = &gOamData_8402D60, - .anims = gSpriteAnimTable_8402DB8, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8133300, -}; - -const union AnimCmd gSpriteAnim_8402DD8[] = -{ - ANIMCMD_FRAME(8, 5), - ANIMCMD_END, -}; - -const union AnimCmd gSpriteAnim_8402DE0[] = -{ - ANIMCMD_FRAME(9, 5), - ANIMCMD_END, -}; - -const union AnimCmd gSpriteAnim_8402DE8[] = -{ - ANIMCMD_FRAME(10, 5), - ANIMCMD_END, -}; - -const union AnimCmd gSpriteAnim_8402DF0[] = -{ - ANIMCMD_FRAME(11, 5), - ANIMCMD_END, -}; - -const union AnimCmd *const gSpriteAnimTable_8402DF8[] = -{ - gSpriteAnim_8402DD8, - gSpriteAnim_8402DE0, - gSpriteAnim_8402DE8, - gSpriteAnim_8402DF0, -}; - -const struct SpriteTemplate gSpriteTemplate_8402E08 = -{ - .tileTag = 5525, - .paletteTag = 5526, - .oam = &gOamData_8402D50, - .anims = gSpriteAnimTable_8402DF8, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8133300, -}; - -const u8 gString_AkitoMori[] = _("あきと"); // programmer Akito Mori? - -void sub_813269C(u8); -void CB2_InitLearnMove(void); -void CB2_LearnMove(void); -void LearnMoveMain(void); -void DrawLearnMoveMenuWindow(void); -void sub_8133030(bool8); -u8 sub_81330E8(void); -void sub_8133140(u8); -u8 sub_8133248(void); -void ClearLearnMoveVars(void); -void sub_8133358(void); -void sub_8133558(void); -void sub_813362C(void); -void sub_8133800(void); -void sub_8133AEC(bool8, int); -void sub_8133CA4(void); - -void VBlankCB_LearnMove(void) -{ - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); -} - -void TeachMoveTutorMove(void) -{ - ScriptContext2_Enable(); - CreateTask(sub_813269C, 10); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); -} - -void sub_813269C(u8 taskId) -{ - if (!gPaletteFade.active) - { - SetMainCallback2(CB2_InitLearnMove); - gFieldCallback = sub_8080990; - DestroyTask(taskId); - } -} - -void CB2_InitLearnMove(void) -{ - REG_DISPCNT = 0; - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - sLearnMoveStruct = eLearnMoveStruct; - ClearLearnMoveVars(); - sLearnMoveStruct->partyMon = gSpecialVar_0x8004; - sub_8133558(); - SetVBlankCallback(VBlankCB_LearnMove); - - Text_LoadWindowTemplate(&gWindowTemplate_81E7240); - InitMenuWindow(&gWindowTemplate_81E7240); - Menu_EraseScreen(); - - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); - Menu_EraseScreen(); - - REG_BG0VOFS = 0; - REG_BG0VOFS = 0; // huh? - REG_BG1HOFS = 0; - REG_BG1HOFS = 0; // huh? - - LoadSpriteSheet(&gUnknown_08402D80); - LoadSpritePalette(&gUnknown_08402D88); - sub_8133358(); - FillPalette(0, 0, 2); - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); - SetMainCallback2(CB2_LearnMove); -} - -void sub_81327A4(void) -{ - ResetSpriteData(); - FreeAllSpritePalettes(); - ResetTasks(); - sLearnMoveStruct = eLearnMoveStruct; - sub_8133558(); - sLearnMoveStruct->unk2C6 = gSpecialVar_0x8005; - SetVBlankCallback(VBlankCB_LearnMove); - - Text_LoadWindowTemplate(&gWindowTemplate_81E7240); - InitMenuWindow(&gWindowTemplate_81E7240); - Menu_EraseScreen(); - - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); - Menu_EraseScreen(); - - REG_DISPCNT = 0x1340; - REG_BG0VOFS = 0; - REG_BG0HOFS = 0; - REG_BG1HOFS = 0; - REG_BG1HOFS = 0; // huh? - - LoadSpriteSheet(&gUnknown_08402D80); - LoadSpritePalette(&gUnknown_08402D88); - sub_8133358(); - FillPalette(0, 0, 2); - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); - SetMainCallback2(CB2_LearnMove); -} - -void CB2_LearnMove(void) -{ - LearnMoveMain(); - if (sLearnMoveStruct->unk1D) - { - sLearnMoveStruct->unk1D = FALSE; - MenuCursor_SetPos814AD7C(0x58, (sLearnMoveStruct->unk18 * 2 + 1) * 8); - } - if (sLearnMoveStruct->unk1E != 0) - { - sLearnMoveStruct->unk1E = 0; - sub_8133800(); - } - if (sLearnMoveStruct->unk2C3) - { - sub_8133AEC(sLearnMoveStruct->showContestInfo, 1); - sLearnMoveStruct->unk2C3 = FALSE; - } - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); -} - -void sub_81328E8(const u8 *a) -{ - StringExpandPlaceholders(gStringVar4, a); - MenuPrintMessage(gStringVar4, 3, 15); -} - -void LearnMoveMain(void) -{ - switch (sLearnMoveStruct->state) - { - case 0: - sLearnMoveStruct->state++; - DrawLearnMoveMenuWindow(); - sub_8133030(FALSE); - sub_8133800(); - gSprites[1].pos1.x = 0x48; - sLearnMoveStruct->unk2C3 = TRUE; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); - REG_DISPCNT = 0x1340; - break; - case 1: - if (!gPaletteFade.active) - sLearnMoveStruct->state = 4; - break; - case 2: - sLearnMoveStruct->state++; - break; - case 3: - sub_8133030(FALSE); - sub_8133800(); - sLearnMoveStruct->unk2C3 = TRUE; - sLearnMoveStruct->state++; - gSprites[1].pos1.x = 0x48; - break; - case 4: - if (sub_81330E8() == 0) - sub_813362C(); - return; - case 5: - sub_8133140(0); - sub_8133800(); - sLearnMoveStruct->unk2C3 = TRUE; - gSprites[1].pos1.x = 0x48; - sLearnMoveStruct->state++; - break; - case 6: - if (sub_8133248() == 0) - sub_813362C(); - break; - case 8: - if (Menu_UpdateWindowText()) - { - DisplayYesNoMenu(21, 7, 1); - sLearnMoveStruct->state++; - } - break; - case 9: - { - s8 selection = Menu_ProcessInputNoWrap_(); - - if (selection == 0) - { - sub_8133CA4(); - if (GiveMoveToMon(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->movesToLearn[sLearnMoveStruct->menuSelection]) != 0xFFFF) - { - sub_81328E8(gOtherText_PokeLearnedMove); - gSpecialVar_0x8004 = 1; - sLearnMoveStruct->state = 31; - } - else - { - sLearnMoveStruct->state = 16; - } - } - else if (selection == -1 || selection == 1) - { - sub_8133CA4(); - if (sLearnMoveStruct->showContestInfo == FALSE) - sLearnMoveStruct->state = 3; - if (sLearnMoveStruct->showContestInfo == TRUE) - sLearnMoveStruct->state = 5; - } - } - break; - case 12: - if (Menu_UpdateWindowText()) - { - DisplayYesNoMenu(21, 7, 1); - sLearnMoveStruct->state++; - } - break; - case 13: - { - s8 selection = Menu_ProcessInputNoWrap_(); - - if (selection == 0) - { - sub_8133CA4(); - gSpecialVar_0x8004 = selection; - sLearnMoveStruct->state = 14; - } - else if (selection == -1 || selection == 1) - { - sub_8133CA4(); - if (sLearnMoveStruct->showContestInfo == FALSE) - sLearnMoveStruct->state = 3; - if (sLearnMoveStruct->showContestInfo == TRUE) - sLearnMoveStruct->state = 5; - } - } - break; - case 16: - sub_81328E8(gOtherText_DeleteOlderMove); - sLearnMoveStruct->state++; - break; - case 17: - if (Menu_UpdateWindowText()) - { - DisplayYesNoMenu(21, 7, 1); - sLearnMoveStruct->state = 18; - } - break; - case 18: - { - s8 var = Menu_ProcessInputNoWrap_(); - - if (var == 0) - { - sub_8133CA4(); - sub_81328E8(gOtherText_WhichMoveToForget); - sLearnMoveStruct->state = 19; - } - else if (var == -1 || var == 1) - { - sub_8133CA4(); - sLearnMoveStruct->state = 24; - } - } - break; - case 24: - sub_81328E8(gOtherText_StopLearningMove); - sLearnMoveStruct->state++; - break; - case 25: - if (Menu_UpdateWindowText()) - { - sLearnMoveStruct->state = 26; - DisplayYesNoMenu(21, 7, 1); - } - break; - case 26: - { - s8 var = Menu_ProcessInputNoWrap_(); - - if (var == 0) - { - sub_8133CA4(); - sLearnMoveStruct->state = 27; - } - else if (var == -1 || var == 1) - { - sub_8133CA4(); - - // What's the point? It gets set to 16, anyway. - if (sLearnMoveStruct->showContestInfo == FALSE) - sLearnMoveStruct->state = 3; - if (sLearnMoveStruct->showContestInfo == TRUE) - sLearnMoveStruct->state = 5; - sLearnMoveStruct->state = 16; - } - } - break; - case 27: - if (Menu_UpdateWindowText()) - { - if (sLearnMoveStruct->showContestInfo == FALSE) - sLearnMoveStruct->state = 3; - if (sLearnMoveStruct->showContestInfo == TRUE) - sLearnMoveStruct->state = 5; - } - break; - case 19: - if (Menu_UpdateWindowText()) - { - sLearnMoveStruct->state = 20; - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); - } - break; - case 20: - if (!gPaletteFade.active) - { - ShowSelectMovePokemonSummaryScreen(gPlayerParty, sLearnMoveStruct->partyMon, gPlayerPartyCount - 1, sub_81327A4, sLearnMoveStruct->movesToLearn[sLearnMoveStruct->menuSelection]); - sLearnMoveStruct->state = 28; - } - break; - case 21: - if (Menu_UpdateWindowText()) - sLearnMoveStruct->state = 14; - break; - case 22: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); - break; - case 14: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); - sLearnMoveStruct->state++; - break; - case 15: - if (!gPaletteFade.active) - SetMainCallback2(c2_exit_to_overworld_2_switch); - break; - case 28: - BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); - sLearnMoveStruct->state++; - DrawLearnMoveMenuWindow(); - sub_8133800(); - if (sLearnMoveStruct->showContestInfo == FALSE) - sub_8133030(TRUE); - if (sLearnMoveStruct->showContestInfo == TRUE) - { - gSprites[1].pos1.x = 0x48; - sub_8133140(1); - } - sub_8133AEC(sLearnMoveStruct->showContestInfo, 1); - break; - case 29: - if (!gPaletteFade.active) - { - if (sLearnMoveStruct->unk2C6 == 4) - { - sLearnMoveStruct->state = 24; - } - else - { - u16 moveId = GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_MOVE1 + sLearnMoveStruct->unk2C6); - - StringCopy(gStringVar3, gMoveNames[moveId]); - RemoveMonPPBonus(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->unk2C6); - SetMonMoveSlot(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->movesToLearn[sLearnMoveStruct->menuSelection], sLearnMoveStruct->unk2C6); - StringCopy(gStringVar2, gMoveNames[sLearnMoveStruct->movesToLearn[sLearnMoveStruct->menuSelection]]); - sub_81328E8(gOtherText_ForgotMove123); - sLearnMoveStruct->state = 30; - gSpecialVar_0x8004 = 1; - } - } - break; - case 30: - if (Menu_UpdateWindowText()) - { -#ifdef ENGLISH - sub_81328E8(gOtherText_ForgotOrDidNotLearnMove); -#else - sub_81328E8(deuOtherText_ForgotAndLearned); -#endif - sLearnMoveStruct->state = 31; - PlayFanfare(BGM_FANFA1); - } - break; - case 31: - if (Menu_UpdateWindowText()) - { - PlayFanfare(BGM_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 DrawLearnMoveMenuWindow(void) -{ - u32 i; - - BasicInitMenuWindow(&gWindowTemplate_81E7240); - for (i = 0; i < 4; i++) - { - Menu_DrawStdWindowFrame( - gUnknown_08402CF8[i][0], - gUnknown_08402CF8[i][1], - gUnknown_08402CF8[i][2], - gUnknown_08402CF8[i][3]); - } - BasicInitMenuWindow(&gWindowTemplate_81E6CE4); -} - -void sub_8133030(bool8 a) -{ - s32 i; - - gSprites[sLearnMoveStruct->spriteIDs[0]].invisible = FALSE; - gSprites[sLearnMoveStruct->spriteIDs[1]].invisible = FALSE; - - for (i = 0; i < 16; i++) - gSprites[sLearnMoveStruct->spriteIDs[i + 4]].invisible = TRUE; - - for (i = 0; gUnknown_08402D08[0][i].unk0 != NULL; i++) - { - sub_8072C74(gTileBuffer, gUnknown_08402D08[0][i].unk0, 64, 2); - Menu_PrintText(gTileBuffer, gUnknown_08402D08[0][i].unk4, gUnknown_08402D08[0][i].unk5); - } - - if (!a) - sub_8072AB0(gOtherText_TeachWhichMove, 24, 120, 192, 32, 1); -} - -u8 sub_81330E8(void) -{ - u32 result = (gMain.newKeys & DPAD_LEFT) || (gMain.newKeys & DPAD_RIGHT); - - if (gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR - && ((gMain.newKeys & L_BUTTON) || (gMain.newKeys & R_BUTTON))) - result++; - - if (result != 0) - { - PlaySE(SE_SELECT); - sLearnMoveStruct->state = 5; - sLearnMoveStruct->showContestInfo = TRUE; - } - - return result; -} - -void sub_8133140(bool8 a) -{ - s32 i; - - gSprites[sLearnMoveStruct->spriteIDs[0]].invisible = FALSE; - gSprites[sLearnMoveStruct->spriteIDs[1]].invisible = FALSE; - - for (i = 0; i < 16; i++) - gSprites[sLearnMoveStruct->spriteIDs[i + 4]].invisible = FALSE; - - for (i = 0; gUnknown_08402D08[0][i].unk0 != NULL; i++) - { - sub_8072C74(gTileBuffer, gUnknown_08402D08[1][i].unk0, 64, 2); - Menu_PrintText(gTileBuffer, gUnknown_08402D08[1][i].unk4, gUnknown_08402D08[1][i].unk5); - if (i != 0) - { - Menu_EraseWindowRect( - gUnknown_08402D08[1][i].unk4, - gUnknown_08402D08[1][i].unk5 + 2, - gUnknown_08402D08[1][i].unk4 + 7, - gUnknown_08402D08[1][i].unk5 + 3); - } - } - - if (!a) - sub_8072AB0(gOtherText_TeachWhichMove, 24, 120, 192, 32, 1); -} - -u8 sub_8133248(void) -{ - u32 result = (gMain.newKeys & DPAD_LEFT) || (gMain.newKeys & DPAD_RIGHT); - - if (gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR - && ((gMain.newKeys & L_BUTTON) || (gMain.newKeys & R_BUTTON))) - result++; - - if (result != 0) - { - PlaySE(SE_SELECT); - sLearnMoveStruct->state = 3; - sLearnMoveStruct->showContestInfo = FALSE; - } - - return result; -} - -void ClearLearnMoveVars(void) -{ - s32 i; - - sLearnMoveStruct->state = 0; - sLearnMoveStruct->unk2 = 0; - sLearnMoveStruct->unk19 = 0; - sLearnMoveStruct->unk18 = 0; - sLearnMoveStruct->unk1C = 0; - sLearnMoveStruct->numMenuChoices = 0; - sLearnMoveStruct->menuSelection = 0; - sLearnMoveStruct->unk1D = FALSE; - sLearnMoveStruct->unk1E = 0; - sLearnMoveStruct->unk2C3 = FALSE; - sLearnMoveStruct->showContestInfo = FALSE; - for (i = 0; i < 20; i++) - sLearnMoveStruct->movesToLearn[i] = 0; -} - -void sub_8133300(struct Sprite *sprite) -{ - s16 var = (sprite->data[1] * 10) & 0xFF; - - switch (sprite->data[0]) - { - case 0: - break; - case 1: - sprite->pos2.x = Sin(var, 3) * sprite->data[2]; - break; - case 2: - sprite->pos2.y = Sin(var, 1) * sprite->data[2]; - break; - } - sprite->data[1]++; -} - -void sub_8133358(void) -{ - s32 i; - - sLearnMoveStruct->spriteIDs[0] = CreateSprite(&gSpriteTemplate_8402D90, 8, 16, 0); - gSprites[sLearnMoveStruct->spriteIDs[0]].data[0] = 1; - gSprites[sLearnMoveStruct->spriteIDs[0]].data[2] = -1; - - sLearnMoveStruct->spriteIDs[1] = CreateSprite(&gSpriteTemplate_8402D90, 72, 16, 0); - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[1]], 1); - gSprites[sLearnMoveStruct->spriteIDs[1]].data[0] = 1; - gSprites[sLearnMoveStruct->spriteIDs[1]].data[2] = 1; - - sLearnMoveStruct->spriteIDs[2] = CreateSprite(&gSpriteTemplate_8402DC0, 160, 4, 0); - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[2]], 1); - gSprites[sLearnMoveStruct->spriteIDs[2]].data[0] = 2; - gSprites[sLearnMoveStruct->spriteIDs[2]].data[2] = -1; - - sLearnMoveStruct->spriteIDs[3] = CreateSprite(&gSpriteTemplate_8402DC0, 160, 60, 0); - gSprites[sLearnMoveStruct->spriteIDs[3]].data[0] = 2; - gSprites[sLearnMoveStruct->spriteIDs[3]].data[2] = 1; - - for (i = 0; i < 8; i++) - { - sLearnMoveStruct->spriteIDs[i + 4] = CreateSprite(&gSpriteTemplate_8402E08, (i - (i / 4) * 4) * 8 + 0x1C, (i / 4) * 8 + 0x34, 0); - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[i + 4]], 2); - } - - for (i = 0; i < 8; i++) - { - sLearnMoveStruct->spriteIDs[i + 12] = CreateSprite(&gSpriteTemplate_8402E08, (i - (i / 4) * 4) * 8 + 0x1C, (i / 4) * 8 + 0x5C, 0); - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[i + 12]], 2); - } - - for (i = 0; i < 20; i++) - gSprites[sLearnMoveStruct->spriteIDs[i]].invisible = TRUE; - - CreateBlendedOutlineCursor(16, 0xFFFF, 12, 0x2D9F, 18); -} - -void sub_8133558(void) -{ - s32 i; - u8 nickname[POKEMON_NAME_LENGTH + 1]; - - sLearnMoveStruct->numMenuChoices = GetMoveRelearnerMoves(&gPlayerParty[sLearnMoveStruct->partyMon], sLearnMoveStruct->movesToLearn); - for (i = 0; i < sLearnMoveStruct->numMenuChoices; i++) - StringCopy(sLearnMoveStruct->moveNames[i], gMoveNames[sLearnMoveStruct->movesToLearn[i]]); - GetMonData(&gPlayerParty[sLearnMoveStruct->partyMon], MON_DATA_NICKNAME, nickname); - StringCopy10(gStringVar1, nickname); - StringCopy(sLearnMoveStruct->moveNames[sLearnMoveStruct->numMenuChoices], gUnknownText_Exit); - sLearnMoveStruct->numMenuChoices++; -} - -void sub_813360C(s8 delta) -{ - sLearnMoveStruct->unk1C = sLearnMoveStruct->unk18; - sLearnMoveStruct->unk18 += delta; - sLearnMoveStruct->unk1D = TRUE; -} - -void sub_813362C(void) -{ - if (gMain.newAndRepeatedKeys & DPAD_UP) - { - if (sLearnMoveStruct->menuSelection != 0) - { - PlaySE(SE_SELECT); - sLearnMoveStruct->menuSelection--; - sLearnMoveStruct->unk2C3 = TRUE; - if (sLearnMoveStruct->unk18 != 0) - { - sub_813360C(-1); - } - else if (sLearnMoveStruct->unk19 != 0) - { - sLearnMoveStruct->unk19--; - sLearnMoveStruct->unk1E++; - } - } - } - else if (gMain.newAndRepeatedKeys & DPAD_DOWN) - { - if (sLearnMoveStruct->menuSelection < sLearnMoveStruct->numMenuChoices - 1) - { - PlaySE(SE_SELECT); - sLearnMoveStruct->menuSelection++; - sLearnMoveStruct->unk2C3 = TRUE; - if (sLearnMoveStruct->unk18 != 2) - { - sub_813360C(1); - } - else if (sLearnMoveStruct->unk19 != sLearnMoveStruct->numMenuChoices - 3) - { - sLearnMoveStruct->unk19++; - sLearnMoveStruct->unk1E++; - } - } - } - else if (gMain.newKeys & A_BUTTON) - { - PlaySE(SE_SELECT); - if (sLearnMoveStruct->menuSelection != sLearnMoveStruct->numMenuChoices - 1) - { - sLearnMoveStruct->state = 8; - StringCopy(gStringVar2, sLearnMoveStruct->moveNames[sLearnMoveStruct->menuSelection]); - StringExpandPlaceholders(gStringVar4, gOtherText_TeachSpecificMove); - MenuPrintMessage(gStringVar4, 3, 15); - } - else - { - StringExpandPlaceholders(gStringVar4, gOtherText_GiveUpTeachingMove); - MenuPrintMessage(gStringVar4, 3, 15); - sLearnMoveStruct->state = 12; - } - } - else if (gMain.newKeys & B_BUTTON) - { - PlaySE(SE_SELECT); - sLearnMoveStruct->state = 12; - StringExpandPlaceholders(gStringVar4, gOtherText_GiveUpTeachingMove); - MenuPrintMessage(gStringVar4, 3, 15); - } - if (sLearnMoveStruct->numMenuChoices > 3) - { - gSprites[2].invisible = FALSE; - gSprites[3].invisible = FALSE; - if (sLearnMoveStruct->unk19 == 0) - gSprites[2].invisible = TRUE; - else if (sLearnMoveStruct->unk19 == sLearnMoveStruct->numMenuChoices - 3) - gSprites[3].invisible = TRUE; - } -} - -void sub_8133800(void) -{ - u8 r6 = sLearnMoveStruct->unk19; - u8 *str = gTileBuffer; - s32 i; - - for (i = 0; i < 3; i++) - { - if (r6 >= sLearnMoveStruct->numMenuChoices) - { - str = sub_8072C74(str, gEmptyString_81E72B0, 0x90, 0); - } - else if (r6 == sLearnMoveStruct->numMenuChoices - 1) - { - str = sub_8072C74(str, gUnknownText_Exit, 0x90, 0); - } - else - { - u16 moveId = sLearnMoveStruct->movesToLearn[r6]; - - if (sLearnMoveStruct->showContestInfo) - str = sub_8072C74(str, gUnknown_083CAF70[gContestMoves[moveId].contestCategory], 0x27, 0); - else - str = sub_8072C74(str, gTypeNames[gBattleMoves[moveId].type], 0x27, 0); - - str = sub_8072C74(str, sLearnMoveStruct->moveNames[r6], 0x72, 0); - - str[0] = CHAR_P; - str[1] = CHAR_P; - str[2] = CHAR_SLASH; - str += 3; - - str = sub_8072C14(str, gBattleMoves[moveId].pp, 0x90, 0); - } - *str++ = CHAR_NEWLINE; - r6++; - } - *str = EOS; - Menu_PrintText(gTileBuffer, 11, 1); - sub_813360C(0); -} - -const u8 gUnknown_08402E24[7][3] = -{ - {11, 1, 1}, - { 3, 6, 2}, - {24, 1, 3}, - { 3, 11, 4}, - { 5, 4, 5}, - { 3, 6, 6}, - { 3, 11, 7}, -}; - -const u8 gUnknown_08402E39[] = {0, 1, 2, 3}; -const u8 gUnknown_08402E3D[] = {4, 5, 6}; - -void PrintMoveInfo(u16 moveId, const u8 *b) -{ - u8 str[0x34]; - u8 numHearts; - u8 i; - - StringCopy(str, gExpandedPlaceholder_Empty); - switch (b[2]) - { - case 1: - break; - case 2: - if (gBattleMoves[moveId].power < 2) - sub_8072C74(str, gOtherText_ThreeDashes2, 32, 2); - else - sub_8072C14(str, gBattleMoves[moveId].power, 32, 2); - Menu_PrintText(str, b[0], b[1]); - break; - case 4: - if (gBattleMoves[moveId].accuracy == 0) - sub_8072C74(str, gOtherText_ThreeDashes2, 32, 2); - else - sub_8072C14(str, gBattleMoves[moveId].accuracy, 32, 2); - Menu_PrintText(str, b[0], b[1]); - break; - case 6: - Menu_EraseWindowRect(b[0], b[1], b[0], b[1] + 1); - numHearts = gContestEffects[gContestMoves[moveId].effect].appeal / 10; - if (numHearts == 255) - numHearts = 0; - for (i = 0; i < 8; i++) - { - if (i < numHearts) - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[i + 4]], 1); - else - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[i + 4]], 0); - } - break; - case 7: - Menu_EraseWindowRect(b[0], b[1], b[0], b[1] + 1); - numHearts = gContestEffects[gContestMoves[moveId].effect].jam / 10; - if (numHearts == 255) - numHearts = 0; - for (i = 0; i < 8; i++) - { - if (i < numHearts) - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[i + 12]], 3); - else - StartSpriteAnim(&gSprites[sLearnMoveStruct->spriteIDs[i + 12]], 2); - } - break; - } -} - -void sub_8133AEC(bool8 contestInfo, int unused) -{ - u16 i; - - if (sLearnMoveStruct->menuSelection != sLearnMoveStruct->numMenuChoices - 1) - { - u16 moveId = sLearnMoveStruct->movesToLearn[sLearnMoveStruct->menuSelection]; - - if (contestInfo) - { - for (i = 0; i < 16; i++) - gSprites[sLearnMoveStruct->spriteIDs[i + 4]].invisible = FALSE; - for (i = 0; i < 3; i++) - PrintMoveInfo(moveId, gUnknown_08402E24[gUnknown_08402E3D[i]]); - sub_8072AB0(gContestEffectStrings[gContestMoves[moveId].effect], 0x58, 0x48, 0x90, 32, 1); - } - else - { - u8 var; - - for (i = 0; i < 4; i++) - PrintMoveInfo(moveId, gUnknown_08402E24[gUnknown_08402E39[i]]); - var = sub_8072A18(gMoveDescriptions[moveId - 1], 0x58, 0x48, 0x90, 1); - if (var < 2) - { - u8 r1 = var * 2 + 9; - - Menu_BlankWindowRect(11, r1, 28, 12); - } - } - } - else - { - if (contestInfo) - { - Menu_EraseWindowRect(gUnknown_08402E24[5][0], gUnknown_08402E24[5][1], gUnknown_08402E24[5][0], gUnknown_08402E24[5][1] + 1); - Menu_EraseWindowRect(gUnknown_08402E24[6][0], gUnknown_08402E24[6][1], gUnknown_08402E24[6][0], gUnknown_08402E24[6][1] + 1); - for (i = 0; i < 16; i++) - gSprites[sLearnMoveStruct->spriteIDs[i + 4]].invisible = TRUE; - } - else - { - Menu_EraseWindowRect(gUnknown_08402E24[1][0], gUnknown_08402E24[1][1], gUnknown_08402E24[1][0] + 3, gUnknown_08402E24[1][1] + 1); - Menu_EraseWindowRect(gUnknown_08402E24[3][0], gUnknown_08402E24[3][1], gUnknown_08402E24[3][0] + 3, gUnknown_08402E24[3][1] + 1); - } - Menu_EraseWindowRect(11, 9, 28, 12); - } -} - -void sub_8133CA4(void) -{ - Menu_EraseWindowRect(21, 7, 27, 12); - sub_8133AEC(sLearnMoveStruct->showContestInfo, 0); -} diff --git a/src/link.c b/src/link.c index 8b168c0a2..a4bd87333 100644 --- a/src/link.c +++ b/src/link.c @@ -241,8 +241,8 @@ void LinkTestScreen(void) FreeAllSpritePalettes(); ResetTasks(); SetVBlankCallback(VBlankCB_LinkTest); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow((struct WindowTemplate *)&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow((struct WindowTemplate *)&gMenuTextWindowTemplate); ResetBlockSend(); gLinkType = 0x1111; OpenLink(); diff --git a/src/mail.c b/src/mail.c index ca698e23c..9833b1c2d 100644 --- a/src/mail.c +++ b/src/mail.c @@ -1124,8 +1124,8 @@ void debug_sub_810D388(void) FreeAllSpritePalettes(); break; case 4: - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); Menu_EraseScreen(); break; case 5: diff --git a/src/main_menu.c b/src/main_menu.c index e574b7b0e..886995b16 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -233,7 +233,7 @@ u32 InitMainMenu(u8 a1) ResetSpriteData(); FreeAllSpritePalettes(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow((struct WindowTemplate *)&gWindowTemplate_81E6CE4); + InitMenuWindow((struct WindowTemplate *)&gMenuTextWindowTemplate); if (a1) BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); @@ -704,12 +704,12 @@ void PrintPlayTime(void) #if defined(ENGLISH) Menu_PrintText(gMainMenuString_Time, 16, 3); FormatPlayTime(playTime, gSaveBlock2.playTimeHours, gSaveBlock2.playTimeMinutes, 1); - sub_8072C74(alignedPlayTime, playTime, 48, 1); + AlignStringInMenuWindow(alignedPlayTime, playTime, 48, 1); Menu_PrintText(alignedPlayTime, 22, 3); #elif defined(GERMAN) Menu_PrintTextPixelCoords(gMainMenuString_Time, 124, 24, TRUE); FormatPlayTime(playTime, gSaveBlock2.playTimeHours, gSaveBlock2.playTimeMinutes, 1); - sub_8072C74(alignedPlayTime, playTime, 40, 1); + AlignStringInMenuWindow(alignedPlayTime, playTime, 40, 1); Menu_PrintText(alignedPlayTime, 23, 3); #endif } @@ -719,7 +719,7 @@ void PrintPokedexCount(void) u8 buffer[16]; Menu_PrintText(gMainMenuString_Pokedex, 2, 5); - sub_8072C14(buffer, GetPokedexSeenCount(), 18, 0); + AlignInt1InMenuWindow(buffer, GetPokedexSeenCount(), 18, 0); Menu_PrintText(buffer, 9, 5); } @@ -749,7 +749,7 @@ void PrintBadgeCount(void) static void Task_NewGameSpeech1(u8 taskId) { Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow((struct WindowTemplate *)&gWindowTemplate_81E6CE4); + InitMenuWindow((struct WindowTemplate *)&gMenuTextWindowTemplate); REG_WIN0H = 0; REG_WIN0V = 0; REG_WININ = 0; @@ -1372,7 +1372,7 @@ void CB_ContinueNewGameSpeechPart2() AddBirchSpeechObjects(taskId); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow((struct WindowTemplate *)&gWindowTemplate_81E6CE4); + InitMenuWindow((struct WindowTemplate *)&gMenuTextWindowTemplate); if (gSaveBlock2.playerGender != MALE) { diff --git a/src/mauville_man.c b/src/mauville_man.c index b3e13ef64..e22809242 100644 --- a/src/mauville_man.c +++ b/src/mauville_man.c @@ -689,7 +689,7 @@ static void Task_BardSong(u8 taskId) { case 0: // Initialize song PrepareSongText(); - Text_InitWindowWithTemplate(gMenuWindowPtr, &gWindowTemplate_81E6CE4); + Text_InitWindowWithTemplate(gMenuWindowPtr, &gMenuTextWindowTemplate); Text_InitWindow8002EB0(gMenuWindowPtr, gStringVar4, 2, 4, 15); task->data[1] = 0; task->data[2] = 0; diff --git a/src/menu.c b/src/menu.c index 60aaeba32..891644750 100644 --- a/src/menu.c +++ b/src/menu.c @@ -441,7 +441,7 @@ static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, const struct MenuAction maxWidth = 0; for (i = 0; i < menuItemCount; i++) { - u8 width = (sub_8072CA4(menuItems[i].text) + 7) / 8; + u8 width = (GetStringWidthInMenuWindow(menuItems[i].text) + 7) / 8; if (width > maxWidth) maxWidth = width; @@ -498,7 +498,7 @@ static void sub_8072620(u8 left, u8 top, u8 menuItemCount, const struct MenuActi maxWidth = 0; for (i = 0; i < menuItemCount; i++) { - u8 width = (sub_8072CA4(menuItems[i].text) + 7) / 8; + u8 width = (GetStringWidthInMenuWindow(menuItems[i].text) + 7) / 8; if (width > maxWidth) maxWidth = width; @@ -733,11 +733,11 @@ void MenuPrint_RightAligned(const u8 *str, u8 left, u8 top) Text_InitWindow8004D38(gMenuWindowPtr, str, gMenuTextTileOffset, left, top); } -void sub_8072B80(const u8 *a1, u8 a2, u8 a3, const u8 *a4) +void sub_8072B80(const u8 *src, u8 a2, u8 a3, const u8 *a4) { u8 buffer[64]; u8 width = GetStringWidth(gMenuWindowPtr, a4); - AlignString(gMenuWindowPtr, buffer, a1, width, 1); + AlignString(gMenuWindowPtr, buffer, src, width, 1); Text_InitWindowAndPrintText(gMenuWindowPtr, buffer, gMenuTextTileOffset, a2, a3); } @@ -746,22 +746,22 @@ void sub_8072BD8(const u8 *a1, u8 a2, u8 a3, u16 a4) Text_InitWindow8004DB0(gMenuWindowPtr, a1, gMenuTextTileOffset, a2, a3, a4); } -u8 *sub_8072C14(u8 *a1, s32 a2, u8 a3, u8 a4) +u8 *AlignInt1InMenuWindow(u8 *dest, s32 value, u8 alignAmount, u8 alignType) { - return AlignInt1(gMenuWindowPtr, a1, a2, a3, a4); + return AlignInt1(gMenuWindowPtr, dest, value, alignAmount, alignType); } -u8 *sub_8072C44(u8 *a1, s32 a2, u8 a3, u8 a4) +u8 *AlignInt2InMenuWindow(u8 *dest, s32 value, u8 alignAmount, u8 alignType) { - return AlignInt2(gMenuWindowPtr, a1, a2, a3, a4); + return AlignInt2(gMenuWindowPtr, dest, value, alignAmount, alignType); } -u8 *sub_8072C74(u8 *a1, const u8 *a2, u8 a3, u8 a4) +u8 *AlignStringInMenuWindow(u8 *dest, const u8 *src, u8 alignAmount, u8 alignType) { - return AlignString(gMenuWindowPtr, a1, a2, a3, a4); + return AlignString(gMenuWindowPtr, dest, src, alignAmount, alignType); } -u8 sub_8072CA4(const u8 *str) +u8 GetStringWidthInMenuWindow(const u8 *str) { return GetStringWidth(gMenuWindowPtr, str); } diff --git a/src/money.c b/src/money.c index 1081d5063..12a8b71ff 100644 --- a/src/money.c +++ b/src/money.c @@ -141,7 +141,7 @@ void PrintMoneyAmount(u32 amount, u8 size, u8 x, u8 y) u8 stringWidth; GetMoneyAmountText(buffer, amount, size); - stringWidth = sub_8072CA4(buffer); + stringWidth = GetStringWidthInMenuWindow(buffer); if (stringWidth >= (size + 1) * 8) { diff --git a/src/move_tutor_menu.c b/src/move_tutor_menu.c new file mode 100644 index 000000000..7e1365391 --- /dev/null +++ b/src/move_tutor_menu.c @@ -0,0 +1,1063 @@ +#include "global.h" +#include "contest.h" +#include "data2.h" +#include "ewram.h" +#include "field_fadetransition.h" +#include "main.h" +#include "menu.h" +#include "menu_cursor.h" +#include "move_tutor_menu.h" +#include "overworld.h" +#include "palette.h" +#include "pokemon.h" +#include "pokemon_summary_screen.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "strings.h" +#include "strings2.h" +#include "task.h" +#include "trig.h" +#include "constants/songs.h" + +extern u16 gSpecialVar_0x8004; +extern u16 gSpecialVar_0x8005; +extern u8 gTileBuffer[]; + +extern const struct WindowTemplate gMenuTextWindowTemplate; +extern const struct WindowTemplate gMoveTutorMenuFramesWindowTemplate; +extern const u8 *const gContestEffectStrings[]; +extern const u8 *const gMoveDescriptions[]; +extern const u8 gTypeNames[][7]; +extern const u8 *const gContestCategoryNames[]; + +#ifdef GERMAN +extern const u8 deuOtherText_ForgotAndLearned[]; +#endif + +static void InitMoveTutorMenuWaitFade(u8); +static void CB2_InitMoveTutorMenu(void); +static void CB2_MoveTutorMenu(void); +static void MoveTutorMain(void); +static void DrawLearnMoveMenuWindow(void); +static void DrawBattleMoveInfoHeaders(bool8); +static u8 ChangeToContestMoveInfoWindow(void); +static void DrawContestMoveInfoHeaders(bool8); +static u8 ChangeToBattleMoveInfoWindow(void); +static void ResetMoveTutorMenu(void); +static void InitMoveTutorMenuSprites(void); +static void InitMoveTutorMenuStrings(void); +static void HandleMoveTutorMenuInput(void); +static void DrawMoveSelectionWindow(void); +static void DrawMoveInfoWindow(bool8, int); +static void RedrawMoveInfoWindow(void); +static void UpdateMoveTutorMenuCursorPosition(struct Sprite *); + +struct MoveTutorMenu +{ + u8 state; + u8 filler1; + u8 unk2; + u8 spriteIDs[20]; + u8 filler17; + u8 cursorPos; + u8 curMenuChoice; + u8 numMenuChoices; + u8 menuSelection; + u8 previousCursorPos; + bool8 redrawCursor; + bool8 redrawMoveSelectionWindow; + u16 movesToLearn[MAX_MOVE_TUTOR_MOVES]; + u8 filler48[10]; + u8 moveNames[6][25]; + u8 fillerE8[475]; + bool8 redrawMoveInfoWindow; + bool8 showContestInfo; + u8 partyMonIndex; + u8 forgetMoveIndex; +}; + +static struct MoveTutorMenu *sMoveTutorMenu; + +const u16 gMoveTutorMenuArrows_Pal[] = INCBIN_U16("graphics/move_tutor_menu/arrows.gbapal"); + +const u8 gMoveTutorMenuArrows_Gfx[] = INCBIN_U8("graphics/move_tutor_menu/arrows.4bpp"); + +const u8 gMoveTutorMenuWindowFrameDimensions[][4] = +{ + { 0, 0, 9, 13}, + {10, 0, 29, 7}, + { 2, 14, 27, 19}, + {10, 8, 29, 13}, +}; + +struct MoveTutorMoveInfoHeaders +{ + const u8 *text; + u8 left; + u8 right; + u8 index; // unused +}; + +const struct MoveTutorMoveInfoHeaders gMoveTutorMoveInfoHeaders[][4] = +{ + { + {OtherText_Battle, 1, 1, 0}, + {OtherText_Power, 1, 4, 1}, + {OtherText_Accuracy, 1, 9, 2}, + {NULL, 0, 0, 0}, + }, + { + {OtherText_Contest, 1, 1, 0}, + {OtherText_Appeal, 1, 4, 1}, + {OtherText_Jam, 1, 9, 2}, + {NULL, 0, 0, 0}, + }, +}; + +// XXX: What are these for? +const u32 unkDataFF00FFEF = 0xFF00FFEF; +const u8 *const gTileBuffer_ = gTileBuffer; + +const struct OamData gOamData_8402D50 = {.shape = 0}; +const struct OamData gOamData_8402D58 = {.shape = 2}; +const struct OamData gOamData_8402D60 = {.shape = 1}; + +const union AnimCmd gSpriteAnim_8402D68[] = +{ + ANIMCMD_FRAME(2, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_8402D70[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_8402D78[] = +{ + gSpriteAnim_8402D68, + gSpriteAnim_8402D70, +}; + +const struct SpriteSheet gMoveTutorMenuArrowsSpriteSheet = {gMoveTutorMenuArrows_Gfx, sizeof(gMoveTutorMenuArrows_Gfx), 5525}; +const struct SpritePalette gMoveTutorMenuArrowsPalette = {gMoveTutorMenuArrows_Pal, 5526}; + +const struct SpriteTemplate gSpriteTemplate_8402D90 = +{ + .tileTag = 5525, + .paletteTag = 5526, + .oam = &gOamData_8402D58, + .anims = gSpriteAnimTable_8402D78, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateMoveTutorMenuCursorPosition, +}; + +const union AnimCmd gSpriteAnim_8402DA8[] = +{ + ANIMCMD_FRAME(4, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_8402DB0[] = +{ + ANIMCMD_FRAME(6, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_8402DB8[] = +{ + gSpriteAnim_8402DA8, + gSpriteAnim_8402DB0, +}; + +const struct SpriteTemplate gSpriteTemplate_8402DC0 = +{ + .tileTag = 5525, + .paletteTag = 5526, + .oam = &gOamData_8402D60, + .anims = gSpriteAnimTable_8402DB8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateMoveTutorMenuCursorPosition, +}; + +const union AnimCmd gSpriteAnim_8402DD8[] = +{ + ANIMCMD_FRAME(8, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_8402DE0[] = +{ + ANIMCMD_FRAME(9, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_8402DE8[] = +{ + ANIMCMD_FRAME(10, 5), + ANIMCMD_END, +}; + +const union AnimCmd gSpriteAnim_8402DF0[] = +{ + ANIMCMD_FRAME(11, 5), + ANIMCMD_END, +}; + +const union AnimCmd *const gSpriteAnimTable_8402DF8[] = +{ + gSpriteAnim_8402DD8, + gSpriteAnim_8402DE0, + gSpriteAnim_8402DE8, + gSpriteAnim_8402DF0, +}; + +const struct SpriteTemplate gSpriteTemplate_8402E08 = +{ + .tileTag = 5525, + .paletteTag = 5526, + .oam = &gOamData_8402D50, + .anims = gSpriteAnimTable_8402DF8, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateMoveTutorMenuCursorPosition, +}; + +const u8 gString_AkitoMori[] = _("あきと"); // programmer Akito Mori? + +static void VBlankCB_MoveTutorMenu(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void DisplayMoveTutorMenu(void) +{ + ScriptContext2_Enable(); + CreateTask(InitMoveTutorMenuWaitFade, 10); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); +} + +static void InitMoveTutorMenuWaitFade(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(CB2_InitMoveTutorMenu); + gFieldCallback = sub_8080990; + DestroyTask(taskId); + } +} + +static void CB2_InitMoveTutorMenu(void) +{ + REG_DISPCNT = 0; + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + sMoveTutorMenu = eMoveTutorMenu; + ResetMoveTutorMenu(); + sMoveTutorMenu->partyMonIndex = gSpecialVar_0x8004; + InitMoveTutorMenuStrings(); + SetVBlankCallback(VBlankCB_MoveTutorMenu); + + Text_LoadWindowTemplate(&gMoveTutorMenuFramesWindowTemplate); + InitMenuWindow(&gMoveTutorMenuFramesWindowTemplate); + Menu_EraseScreen(); + + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); + Menu_EraseScreen(); + + REG_BG0VOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1HOFS = 0; + + LoadSpriteSheet(&gMoveTutorMenuArrowsSpriteSheet); + LoadSpritePalette(&gMoveTutorMenuArrowsPalette); + InitMoveTutorMenuSprites(); + FillPalette(0, 0, 2); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + SetMainCallback2(CB2_MoveTutorMenu); +} + +void CB2_ReturnToMoveTutorMenu(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + sMoveTutorMenu = eMoveTutorMenu; + InitMoveTutorMenuStrings(); + sMoveTutorMenu->forgetMoveIndex = gSpecialVar_0x8005; + SetVBlankCallback(VBlankCB_MoveTutorMenu); + + Text_LoadWindowTemplate(&gMoveTutorMenuFramesWindowTemplate); + InitMenuWindow(&gMoveTutorMenuFramesWindowTemplate); + Menu_EraseScreen(); + + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); + Menu_EraseScreen(); + + REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP; + REG_BG0VOFS = 0; + REG_BG0HOFS = 0; + REG_BG1HOFS = 0; + REG_BG1HOFS = 0; + + LoadSpriteSheet(&gMoveTutorMenuArrowsSpriteSheet); + LoadSpritePalette(&gMoveTutorMenuArrowsPalette); + InitMoveTutorMenuSprites(); + FillPalette(0, 0, 2); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + SetMainCallback2(CB2_MoveTutorMenu); +} + +static void CB2_MoveTutorMenu(void) +{ + MoveTutorMain(); + if (sMoveTutorMenu->redrawCursor) + { + sMoveTutorMenu->redrawCursor = FALSE; + MenuCursor_SetPos814AD7C(0x58, (sMoveTutorMenu->cursorPos * 2 + 1) * 8); + } + if (sMoveTutorMenu->redrawMoveSelectionWindow) + { + sMoveTutorMenu->redrawMoveSelectionWindow = 0; + DrawMoveSelectionWindow(); + } + if (sMoveTutorMenu->redrawMoveInfoWindow) + { + DrawMoveInfoWindow(sMoveTutorMenu->showContestInfo, 1); + sMoveTutorMenu->redrawMoveInfoWindow = FALSE; + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void PrintMainMoveTutorMenuText(const u8 *str) +{ + StringExpandPlaceholders(gStringVar4, str); + MenuPrintMessage(gStringVar4, 3, 15); +} + +static void MoveTutorMain(void) +{ + switch (sMoveTutorMenu->state) + { + case 0: + sMoveTutorMenu->state++; + DrawLearnMoveMenuWindow(); + DrawBattleMoveInfoHeaders(FALSE); + DrawMoveSelectionWindow(); + gSprites[1].pos1.x = 0x48; + sMoveTutorMenu->redrawMoveInfoWindow = TRUE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); + REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_1D_MAP; + break; + case 1: + if (!gPaletteFade.active) + sMoveTutorMenu->state = 4; + break; + case 2: + sMoveTutorMenu->state++; + break; + case 3: + DrawBattleMoveInfoHeaders(FALSE); + DrawMoveSelectionWindow(); + sMoveTutorMenu->redrawMoveInfoWindow = TRUE; + sMoveTutorMenu->state++; + gSprites[1].pos1.x = 0x48; + break; + case 4: + if (!ChangeToContestMoveInfoWindow()) + HandleMoveTutorMenuInput(); + return; + case 5: + DrawContestMoveInfoHeaders(FALSE); + DrawMoveSelectionWindow(); + sMoveTutorMenu->redrawMoveInfoWindow = TRUE; + gSprites[1].pos1.x = 0x48; + sMoveTutorMenu->state++; + break; + case 6: + if (!ChangeToBattleMoveInfoWindow()) + HandleMoveTutorMenuInput(); + break; + case 8: + if (Menu_UpdateWindowText()) + { + DisplayYesNoMenu(21, 7, 1); + sMoveTutorMenu->state++; + } + break; + case 9: + { + s8 selection = Menu_ProcessInputNoWrap_(); + if (selection == 0) + { + RedrawMoveInfoWindow(); + if (GiveMoveToMon(&gPlayerParty[sMoveTutorMenu->partyMonIndex], sMoveTutorMenu->movesToLearn[sMoveTutorMenu->menuSelection]) != 0xFFFF) + { + PrintMainMoveTutorMenuText(gOtherText_PokeLearnedMove); + gSpecialVar_0x8004 = 1; + sMoveTutorMenu->state = 31; + } + else + { + sMoveTutorMenu->state = 16; + } + } + else if (selection == -1 || selection == 1) + { + RedrawMoveInfoWindow(); + if (sMoveTutorMenu->showContestInfo == FALSE) + sMoveTutorMenu->state = 3; + if (sMoveTutorMenu->showContestInfo == TRUE) + sMoveTutorMenu->state = 5; + } + } + break; + case 12: + if (Menu_UpdateWindowText()) + { + DisplayYesNoMenu(21, 7, 1); + sMoveTutorMenu->state++; + } + break; + case 13: + { + s8 selection = Menu_ProcessInputNoWrap_(); + + if (selection == 0) + { + RedrawMoveInfoWindow(); + gSpecialVar_0x8004 = selection; + sMoveTutorMenu->state = 14; + } + else if (selection == -1 || selection == 1) + { + RedrawMoveInfoWindow(); + if (sMoveTutorMenu->showContestInfo == FALSE) + sMoveTutorMenu->state = 3; + if (sMoveTutorMenu->showContestInfo == TRUE) + sMoveTutorMenu->state = 5; + } + } + break; + case 16: + PrintMainMoveTutorMenuText(gOtherText_DeleteOlderMove); + sMoveTutorMenu->state++; + break; + case 17: + if (Menu_UpdateWindowText()) + { + DisplayYesNoMenu(21, 7, 1); + sMoveTutorMenu->state = 18; + } + break; + case 18: + { + s8 var = Menu_ProcessInputNoWrap_(); + + if (var == 0) + { + RedrawMoveInfoWindow(); + PrintMainMoveTutorMenuText(gOtherText_WhichMoveToForget); + sMoveTutorMenu->state = 19; + } + else if (var == -1 || var == 1) + { + RedrawMoveInfoWindow(); + sMoveTutorMenu->state = 24; + } + } + break; + case 24: + PrintMainMoveTutorMenuText(gOtherText_StopLearningMove); + sMoveTutorMenu->state++; + break; + case 25: + if (Menu_UpdateWindowText()) + { + sMoveTutorMenu->state = 26; + DisplayYesNoMenu(21, 7, 1); + } + break; + case 26: + { + s8 var = Menu_ProcessInputNoWrap_(); + + if (var == 0) + { + RedrawMoveInfoWindow(); + sMoveTutorMenu->state = 27; + } + else if (var == -1 || var == 1) + { + RedrawMoveInfoWindow(); + + // What's the point? It gets set to 16, anyway. + if (sMoveTutorMenu->showContestInfo == FALSE) + sMoveTutorMenu->state = 3; + if (sMoveTutorMenu->showContestInfo == TRUE) + sMoveTutorMenu->state = 5; + sMoveTutorMenu->state = 16; + } + } + break; + case 27: + if (Menu_UpdateWindowText()) + { + if (sMoveTutorMenu->showContestInfo == FALSE) + sMoveTutorMenu->state = 3; + if (sMoveTutorMenu->showContestInfo == TRUE) + sMoveTutorMenu->state = 5; + } + break; + case 19: + if (Menu_UpdateWindowText()) + { + sMoveTutorMenu->state = 20; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); + } + break; + case 20: + if (!gPaletteFade.active) + { + ShowSelectMovePokemonSummaryScreen(gPlayerParty, sMoveTutorMenu->partyMonIndex, gPlayerPartyCount - 1, CB2_ReturnToMoveTutorMenu, sMoveTutorMenu->movesToLearn[sMoveTutorMenu->menuSelection]); + sMoveTutorMenu->state = 28; + } + break; + case 21: + if (Menu_UpdateWindowText()) + sMoveTutorMenu->state = 14; + break; + case 22: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); + sMoveTutorMenu->state++; + break; + case 15: + if (!gPaletteFade.active) + SetMainCallback2(c2_exit_to_overworld_2_switch); + break; + case 28: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); + sMoveTutorMenu->state++; + DrawLearnMoveMenuWindow(); + DrawMoveSelectionWindow(); + if (sMoveTutorMenu->showContestInfo == FALSE) + DrawBattleMoveInfoHeaders(TRUE); + if (sMoveTutorMenu->showContestInfo == TRUE) + { + gSprites[1].pos1.x = 0x48; + DrawContestMoveInfoHeaders(TRUE); + } + DrawMoveInfoWindow(sMoveTutorMenu->showContestInfo, 1); + break; + case 29: + if (!gPaletteFade.active) + { + if (sMoveTutorMenu->forgetMoveIndex == 4) + { + sMoveTutorMenu->state = 24; + } + else + { + u16 moveId = GetMonData(&gPlayerParty[sMoveTutorMenu->partyMonIndex], MON_DATA_MOVE1 + sMoveTutorMenu->forgetMoveIndex); + + StringCopy(gStringVar3, gMoveNames[moveId]); + RemoveMonPPBonus(&gPlayerParty[sMoveTutorMenu->partyMonIndex], sMoveTutorMenu->forgetMoveIndex); + SetMonMoveSlot(&gPlayerParty[sMoveTutorMenu->partyMonIndex], sMoveTutorMenu->movesToLearn[sMoveTutorMenu->menuSelection], sMoveTutorMenu->forgetMoveIndex); + StringCopy(gStringVar2, gMoveNames[sMoveTutorMenu->movesToLearn[sMoveTutorMenu->menuSelection]]); + PrintMainMoveTutorMenuText(gOtherText_ForgotMove123); + sMoveTutorMenu->state = 30; + gSpecialVar_0x8004 = 1; + } + } + break; + case 30: + if (Menu_UpdateWindowText()) + { +#ifdef GERMAN + PrintMainMoveTutorMenuText(deuOtherText_ForgotAndLearned); +#else + PrintMainMoveTutorMenuText(gOtherText_ForgotOrDidNotLearnMove); +#endif + sMoveTutorMenu->state = 31; + PlayFanfare(BGM_FANFA1); + } + break; + case 31: + if (Menu_UpdateWindowText()) + { + PlayFanfare(BGM_FANFA1); + sMoveTutorMenu->state = 32; + } + break; + case 32: + if (IsFanfareTaskInactive()) + sMoveTutorMenu->state = 33; + break; + case 33: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sMoveTutorMenu->state = 14; + } + break; + } +} + +static void DrawLearnMoveMenuWindow(void) +{ + u32 i; + + BasicInitMenuWindow(&gMoveTutorMenuFramesWindowTemplate); + for (i = 0; i < 4; i++) + { + Menu_DrawStdWindowFrame( + gMoveTutorMenuWindowFrameDimensions[i][0], + gMoveTutorMenuWindowFrameDimensions[i][1], + gMoveTutorMenuWindowFrameDimensions[i][2], + gMoveTutorMenuWindowFrameDimensions[i][3]); + } + BasicInitMenuWindow(&gMenuTextWindowTemplate); +} + +static void DrawBattleMoveInfoHeaders(bool8 noTeachMoveText) +{ + s32 i; + + gSprites[sMoveTutorMenu->spriteIDs[0]].invisible = FALSE; + gSprites[sMoveTutorMenu->spriteIDs[1]].invisible = FALSE; + + for (i = 0; i < 16; i++) + gSprites[sMoveTutorMenu->spriteIDs[i + 4]].invisible = TRUE; + + for (i = 0; gMoveTutorMoveInfoHeaders[0][i].text != NULL; i++) + { + AlignStringInMenuWindow(gTileBuffer, gMoveTutorMoveInfoHeaders[0][i].text, 64, 2); + Menu_PrintText(gTileBuffer, gMoveTutorMoveInfoHeaders[0][i].left, gMoveTutorMoveInfoHeaders[0][i].right); + } + + if (!noTeachMoveText) + sub_8072AB0(gOtherText_TeachWhichMove, 24, 120, 192, 32, 1); +} + +static u8 ChangeToContestMoveInfoWindow(void) +{ + u32 result = (gMain.newKeys & DPAD_LEFT) || (gMain.newKeys & DPAD_RIGHT); + + if (gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR + && ((gMain.newKeys & L_BUTTON) || (gMain.newKeys & R_BUTTON))) + result++; + + if (result != 0) + { + PlaySE(SE_SELECT); + sMoveTutorMenu->state = 5; + sMoveTutorMenu->showContestInfo = TRUE; + } + + return result; +} + +static void DrawContestMoveInfoHeaders(bool8 noTeachMoveText) +{ + s32 i; + + gSprites[sMoveTutorMenu->spriteIDs[0]].invisible = FALSE; + gSprites[sMoveTutorMenu->spriteIDs[1]].invisible = FALSE; + + for (i = 0; i < 16; i++) + gSprites[sMoveTutorMenu->spriteIDs[i + 4]].invisible = FALSE; + + for (i = 0; gMoveTutorMoveInfoHeaders[0][i].text != NULL; i++) + { + AlignStringInMenuWindow(gTileBuffer, gMoveTutorMoveInfoHeaders[1][i].text, 64, 2); + Menu_PrintText(gTileBuffer, gMoveTutorMoveInfoHeaders[1][i].left, gMoveTutorMoveInfoHeaders[1][i].right); + if (i != 0) + { + Menu_EraseWindowRect( + gMoveTutorMoveInfoHeaders[1][i].left, + gMoveTutorMoveInfoHeaders[1][i].right + 2, + gMoveTutorMoveInfoHeaders[1][i].left + 7, + gMoveTutorMoveInfoHeaders[1][i].right + 3); + } + } + + if (!noTeachMoveText) + sub_8072AB0(gOtherText_TeachWhichMove, 24, 120, 192, 32, 1); +} + +static u8 ChangeToBattleMoveInfoWindow(void) +{ + u32 result = (gMain.newKeys & DPAD_LEFT) || (gMain.newKeys & DPAD_RIGHT); + + if (gSaveBlock2.optionsButtonMode == OPTIONS_BUTTON_MODE_LR + && ((gMain.newKeys & L_BUTTON) || (gMain.newKeys & R_BUTTON))) + result++; + + if (result != 0) + { + PlaySE(SE_SELECT); + sMoveTutorMenu->state = 3; + sMoveTutorMenu->showContestInfo = FALSE; + } + + return result; +} + +static void ResetMoveTutorMenu(void) +{ + s32 i; + + sMoveTutorMenu->state = 0; + sMoveTutorMenu->unk2 = 0; + sMoveTutorMenu->curMenuChoice = 0; + sMoveTutorMenu->cursorPos = 0; + sMoveTutorMenu->previousCursorPos = 0; + sMoveTutorMenu->numMenuChoices = 0; + sMoveTutorMenu->menuSelection = 0; + sMoveTutorMenu->redrawCursor = FALSE; + sMoveTutorMenu->redrawMoveSelectionWindow = 0; + sMoveTutorMenu->redrawMoveInfoWindow = FALSE; + sMoveTutorMenu->showContestInfo = FALSE; + for (i = 0; i < MAX_MOVE_TUTOR_MOVES; i++) + sMoveTutorMenu->movesToLearn[i] = 0; +} + +static void UpdateMoveTutorMenuCursorPosition(struct Sprite *sprite) +{ + s16 var = (sprite->data[1] * 10) & 0xFF; + + switch (sprite->data[0]) + { + case 0: + break; + case 1: + sprite->pos2.x = Sin(var, 3) * sprite->data[2]; + break; + case 2: + sprite->pos2.y = Sin(var, 1) * sprite->data[2]; + break; + } + sprite->data[1]++; +} + +static void InitMoveTutorMenuSprites(void) +{ + s32 i; + + sMoveTutorMenu->spriteIDs[0] = CreateSprite(&gSpriteTemplate_8402D90, 8, 16, 0); + gSprites[sMoveTutorMenu->spriteIDs[0]].data[0] = 1; + gSprites[sMoveTutorMenu->spriteIDs[0]].data[2] = -1; + + sMoveTutorMenu->spriteIDs[1] = CreateSprite(&gSpriteTemplate_8402D90, 72, 16, 0); + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[1]], 1); + gSprites[sMoveTutorMenu->spriteIDs[1]].data[0] = 1; + gSprites[sMoveTutorMenu->spriteIDs[1]].data[2] = 1; + + sMoveTutorMenu->spriteIDs[2] = CreateSprite(&gSpriteTemplate_8402DC0, 160, 4, 0); + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[2]], 1); + gSprites[sMoveTutorMenu->spriteIDs[2]].data[0] = 2; + gSprites[sMoveTutorMenu->spriteIDs[2]].data[2] = -1; + + sMoveTutorMenu->spriteIDs[3] = CreateSprite(&gSpriteTemplate_8402DC0, 160, 60, 0); + gSprites[sMoveTutorMenu->spriteIDs[3]].data[0] = 2; + gSprites[sMoveTutorMenu->spriteIDs[3]].data[2] = 1; + + for (i = 0; i < 8; i++) + { + sMoveTutorMenu->spriteIDs[i + 4] = CreateSprite(&gSpriteTemplate_8402E08, (i - (i / 4) * 4) * 8 + 0x1C, (i / 4) * 8 + 0x34, 0); + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[i + 4]], 2); + } + + for (i = 0; i < 8; i++) + { + sMoveTutorMenu->spriteIDs[i + 12] = CreateSprite(&gSpriteTemplate_8402E08, (i - (i / 4) * 4) * 8 + 0x1C, (i / 4) * 8 + 0x5C, 0); + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[i + 12]], 2); + } + + for (i = 0; i < 20; i++) + gSprites[sMoveTutorMenu->spriteIDs[i]].invisible = TRUE; + + CreateBlendedOutlineCursor(16, 0xFFFF, 12, 0x2D9F, 18); +} + +static void InitMoveTutorMenuStrings(void) +{ + s32 i; + u8 nickname[POKEMON_NAME_LENGTH + 1]; + + sMoveTutorMenu->numMenuChoices = GetMoveTutorMoves(&gPlayerParty[sMoveTutorMenu->partyMonIndex], sMoveTutorMenu->movesToLearn); + for (i = 0; i < sMoveTutorMenu->numMenuChoices; i++) + StringCopy(sMoveTutorMenu->moveNames[i], gMoveNames[sMoveTutorMenu->movesToLearn[i]]); + GetMonData(&gPlayerParty[sMoveTutorMenu->partyMonIndex], MON_DATA_NICKNAME, nickname); + StringCopy10(gStringVar1, nickname); + StringCopy(sMoveTutorMenu->moveNames[sMoveTutorMenu->numMenuChoices], gOtherText_Exit); + sMoveTutorMenu->numMenuChoices++; +} + +static void MoveCursorPos(s8 delta) +{ + sMoveTutorMenu->previousCursorPos = sMoveTutorMenu->cursorPos; + sMoveTutorMenu->cursorPos += delta; + sMoveTutorMenu->redrawCursor = TRUE; +} + +static void HandleMoveTutorMenuInput(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + if (sMoveTutorMenu->menuSelection != 0) + { + PlaySE(SE_SELECT); + sMoveTutorMenu->menuSelection--; + sMoveTutorMenu->redrawMoveInfoWindow = TRUE; + if (sMoveTutorMenu->cursorPos != 0) + { + MoveCursorPos(-1); + } + else if (sMoveTutorMenu->curMenuChoice != 0) + { + sMoveTutorMenu->curMenuChoice--; + sMoveTutorMenu->redrawMoveSelectionWindow++; + } + } + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + if (sMoveTutorMenu->menuSelection < sMoveTutorMenu->numMenuChoices - 1) + { + PlaySE(SE_SELECT); + sMoveTutorMenu->menuSelection++; + sMoveTutorMenu->redrawMoveInfoWindow = TRUE; + if (sMoveTutorMenu->cursorPos != 2) + { + MoveCursorPos(1); + } + else if (sMoveTutorMenu->curMenuChoice != sMoveTutorMenu->numMenuChoices - 3) + { + sMoveTutorMenu->curMenuChoice++; + sMoveTutorMenu->redrawMoveSelectionWindow++; + } + } + } + else if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if (sMoveTutorMenu->menuSelection != sMoveTutorMenu->numMenuChoices - 1) + { + sMoveTutorMenu->state = 8; + StringCopy(gStringVar2, sMoveTutorMenu->moveNames[sMoveTutorMenu->menuSelection]); + StringExpandPlaceholders(gStringVar4, gOtherText_TeachSpecificMove); + MenuPrintMessage(gStringVar4, 3, 15); + } + else + { + StringExpandPlaceholders(gStringVar4, gOtherText_GiveUpTeachingMove); + MenuPrintMessage(gStringVar4, 3, 15); + sMoveTutorMenu->state = 12; + } + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + sMoveTutorMenu->state = 12; + StringExpandPlaceholders(gStringVar4, gOtherText_GiveUpTeachingMove); + MenuPrintMessage(gStringVar4, 3, 15); + } + if (sMoveTutorMenu->numMenuChoices > 3) + { + gSprites[2].invisible = FALSE; + gSprites[3].invisible = FALSE; + if (sMoveTutorMenu->curMenuChoice == 0) + gSprites[2].invisible = TRUE; + else if (sMoveTutorMenu->curMenuChoice == sMoveTutorMenu->numMenuChoices - 3) + gSprites[3].invisible = TRUE; + } +} + +static void DrawMoveSelectionWindow(void) +{ + u8 menuChoice = sMoveTutorMenu->curMenuChoice; + u8 *str = gTileBuffer; + s32 i; + + for (i = 0; i < 3; i++) + { + if (menuChoice >= sMoveTutorMenu->numMenuChoices) + { + str = AlignStringInMenuWindow(str, gEmptyString_81E72B0, 0x90, 0); + } + else if (menuChoice == sMoveTutorMenu->numMenuChoices - 1) + { + str = AlignStringInMenuWindow(str, gOtherText_Exit, 0x90, 0); + } + else + { + u16 moveId = sMoveTutorMenu->movesToLearn[menuChoice]; + + if (sMoveTutorMenu->showContestInfo) + str = AlignStringInMenuWindow(str, gContestCategoryNames[gContestMoves[moveId].contestCategory], 0x27, 0); + else + str = AlignStringInMenuWindow(str, gTypeNames[gBattleMoves[moveId].type], 0x27, 0); + + str = AlignStringInMenuWindow(str, sMoveTutorMenu->moveNames[menuChoice], 0x72, 0); + + str[0] = CHAR_P; + str[1] = CHAR_P; + str[2] = CHAR_SLASH; + str += 3; + + str = AlignInt1InMenuWindow(str, gBattleMoves[moveId].pp, 0x90, 0); + } + *str++ = CHAR_NEWLINE; + menuChoice++; + } + *str = EOS; + Menu_PrintText(gTileBuffer, 11, 1); + MoveCursorPos(0); +} + +static const u8 sMoveInfoTextCoords[7][3] = +{ + {11, 1, 1}, + { 3, 6, 2}, + {24, 1, 3}, + { 3, 11, 4}, + { 5, 4, 5}, + { 3, 6, 6}, + { 3, 11, 7}, +}; + +static const u8 sBattleMoveInfoCoordIds[] = {0, 1, 2, 3}; +static const u8 sContestMoveInfoCoordIds[] = {4, 5, 6}; + +void PrintMoveInfo(u16 moveId, const u8 *moveInfoCoords) +{ + u8 str[0x34]; + u8 numHearts; + u8 i; + + StringCopy(str, gExpandedPlaceholder_Empty); + switch (moveInfoCoords[2]) + { + case 1: + break; + case 2: + if (gBattleMoves[moveId].power < 2) + AlignStringInMenuWindow(str, gOtherText_ThreeDashes2, 32, 2); + else + AlignInt1InMenuWindow(str, gBattleMoves[moveId].power, 32, 2); + Menu_PrintText(str, moveInfoCoords[0], moveInfoCoords[1]); + break; + case 4: + if (gBattleMoves[moveId].accuracy == 0) + AlignStringInMenuWindow(str, gOtherText_ThreeDashes2, 32, 2); + else + AlignInt1InMenuWindow(str, gBattleMoves[moveId].accuracy, 32, 2); + Menu_PrintText(str, moveInfoCoords[0], moveInfoCoords[1]); + break; + case 6: + Menu_EraseWindowRect(moveInfoCoords[0], moveInfoCoords[1], moveInfoCoords[0], moveInfoCoords[1] + 1); + numHearts = gContestEffects[gContestMoves[moveId].effect].appeal / 10; + if (numHearts == 255) + numHearts = 0; + for (i = 0; i < 8; i++) + { + if (i < numHearts) + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[i + 4]], 1); + else + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[i + 4]], 0); + } + break; + case 7: + Menu_EraseWindowRect(moveInfoCoords[0], moveInfoCoords[1], moveInfoCoords[0], moveInfoCoords[1] + 1); + numHearts = gContestEffects[gContestMoves[moveId].effect].jam / 10; + if (numHearts == 255) + numHearts = 0; + for (i = 0; i < 8; i++) + { + if (i < numHearts) + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[i + 12]], 3); + else + StartSpriteAnim(&gSprites[sMoveTutorMenu->spriteIDs[i + 12]], 2); + } + break; + } +} + +static void DrawMoveInfoWindow(bool8 contestInfo, int unused) +{ + u16 i; + + if (sMoveTutorMenu->menuSelection != sMoveTutorMenu->numMenuChoices - 1) + { + u16 moveId = sMoveTutorMenu->movesToLearn[sMoveTutorMenu->menuSelection]; + + if (contestInfo) + { + for (i = 0; i < 16; i++) + gSprites[sMoveTutorMenu->spriteIDs[i + 4]].invisible = FALSE; + for (i = 0; i < 3; i++) + PrintMoveInfo(moveId, sMoveInfoTextCoords[sContestMoveInfoCoordIds[i]]); + sub_8072AB0(gContestEffectStrings[gContestMoves[moveId].effect], 0x58, 0x48, 0x90, 32, 1); + } + else + { + u8 var; + + for (i = 0; i < 4; i++) + PrintMoveInfo(moveId, sMoveInfoTextCoords[sBattleMoveInfoCoordIds[i]]); + var = sub_8072A18(gMoveDescriptions[moveId - 1], 0x58, 0x48, 0x90, 1); + if (var < 2) + { + u8 r1 = var * 2 + 9; + + Menu_BlankWindowRect(11, r1, 28, 12); + } + } + } + else + { + if (contestInfo) + { + Menu_EraseWindowRect(sMoveInfoTextCoords[5][0], sMoveInfoTextCoords[5][1], sMoveInfoTextCoords[5][0], sMoveInfoTextCoords[5][1] + 1); + Menu_EraseWindowRect(sMoveInfoTextCoords[6][0], sMoveInfoTextCoords[6][1], sMoveInfoTextCoords[6][0], sMoveInfoTextCoords[6][1] + 1); + for (i = 0; i < 16; i++) + gSprites[sMoveTutorMenu->spriteIDs[i + 4]].invisible = TRUE; + } + else + { + Menu_EraseWindowRect(sMoveInfoTextCoords[1][0], sMoveInfoTextCoords[1][1], sMoveInfoTextCoords[1][0] + 3, sMoveInfoTextCoords[1][1] + 1); + Menu_EraseWindowRect(sMoveInfoTextCoords[3][0], sMoveInfoTextCoords[3][1], sMoveInfoTextCoords[3][0] + 3, sMoveInfoTextCoords[3][1] + 1); + } + Menu_EraseWindowRect(11, 9, 28, 12); + } +} + +static void RedrawMoveInfoWindow(void) +{ + Menu_EraseWindowRect(21, 7, 27, 12); + DrawMoveInfoWindow(sMoveTutorMenu->showContestInfo, 0); +} diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 53659bdb4..b39804b79 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -47,8 +47,8 @@ void CB2_InitMysteryEventMenu(void) FreeAllSpritePalettes(); ResetTasks(); SetVBlankCallback(VBlankCB); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); Menu_EraseScreen(); REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON; REG_BLDCNT = 0; @@ -394,8 +394,8 @@ void debug_sub_815D15C(void) FreeAllSpritePalettes(); ResetTasks(); SetVBlankCallback(VBlankCB); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); Menu_EraseScreen(); REG_DISPCNT = DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_MODE_0; REG_BLDCNT = 0; diff --git a/src/overworld.c b/src/overworld.c index a85cde128..47e23ad35 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1124,8 +1124,8 @@ void CB2_InitTestMenu(void) ResetSpriteData(); ResetTasks(); ScanlineEffect_Stop(); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); debug_sub_8076B68(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); REG_IE |= 1; @@ -1550,7 +1550,7 @@ bool32 sub_805483C(u8 *a1) sub_8054814(); sub_8054C54(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); (*a1)++; break; case 5: @@ -1616,7 +1616,7 @@ bool32 sub_805493C(u8 *a1, u32 a2) sub_8054814(); sub_8054C54(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); (*a1)++; break; case 5: @@ -1706,7 +1706,7 @@ bool32 sub_8054A9C(u8 *a1) sub_8054814(); sub_8054C54(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); (*a1)++; break; case 4: @@ -1772,7 +1772,7 @@ void sub_8054C2C(void) sub_8054814(); sub_8054C54(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); mapdata_load_assets_to_gpu_and_full_redraw(); } diff --git a/src/party_menu.c b/src/party_menu.c index 785d86007..a39300825 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -3427,10 +3427,10 @@ void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP) { u32 *var; register u8 *stringVar1 asm("r2") = gStringVar1; - register u8 *textPtr asm("r2") = sub_8072C14(stringVar1, currentHP, 15, 1); + register u8 *textPtr asm("r2") = AlignInt1InMenuWindow(stringVar1, currentHP, 15, 1); textPtr[0] = CHAR_SLASH; - sub_8072C14(++textPtr, maxHP, 35, 1); + AlignInt1InMenuWindow(++textPtr, maxHP, 35, 1); var = 0; CpuFastSet(&var, gUnknown_02039460, 0x1000040); diff --git a/src/player_pc.c b/src/player_pc.c index 27427ecaa..e52666a50 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -135,7 +135,7 @@ static const struct MenuAction2 gPCText_ItemPCOptionsText[] = { PCText_WithdrawItem, ItemStorage_Withdraw }, { PCText_DepositItem, ItemStorage_Deposit }, { PCText_TossItem, ItemStorage_Toss }, - { gUnknownText_Exit, ItemStorage_Exit } + { gOtherText_Exit, ItemStorage_Exit } }; static const struct YesNoFuncTable ResumeFromTossYesNoFuncList[] = // ResumeFromTossYesNoFuncList diff --git a/src/pokeblock.c b/src/pokeblock.c index 4087cbbb0..a24cb32cf 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -486,7 +486,7 @@ static void sub_810BB88(u8 a0) y = (i - a0) << 1; if (i == gUnknown_02039248.unk2) { - buf = sub_8072C74(gStringVar1, gContestStatsText_StowCase, 0x78, 0); + buf = AlignStringInMenuWindow(gStringVar1, gContestStatsText_StowCase, 0x78, 0); Menu_PrintText(gStringVar1, 15, y + 1); if (i != a0 + 8) { @@ -494,7 +494,7 @@ static void sub_810BB88(u8 a0) } break; } - buf = sub_8072C74(gStringVar1, gPokeblockNames[gSaveBlock1.pokeblocks[i].color], 0x5e, 0); + buf = AlignStringInMenuWindow(gStringVar1, gPokeblockNames[gSaveBlock1.pokeblocks[i].color], 0x5e, 0); buf[0] = EXT_CTRL_CODE_BEGIN; buf[1] = 0x14; buf[2] = 0x06; @@ -615,7 +615,7 @@ static void sub_810BDAC(bool8 flag) BasicInitMenuWindow(&gWindowTemplate_81E6E34); if (gUnknown_02039248.unk0 + gUnknown_02039248.unk1 != gUnknown_02039248.unk2) { - sub_8072C14(gStringVar1, sub_810C9E8(&gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1]), 16, 1); + AlignInt1InMenuWindow(gStringVar1, sub_810C9E8(&gSaveBlock1.pokeblocks[gUnknown_02039248.unk0 + gUnknown_02039248.unk1]), 16, 1); Menu_PrintText(gStringVar1, 11, 17); } else diff --git a/src/pokemon_3.c b/src/pokemon_3.c index abf1ef9c6..c6eda8bca 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -10,6 +10,7 @@ #include "link.h" #include "m4a.h" #include "main.h" +#include "move_tutor_menu.h" #include "pokemon.h" #include "random.h" #include "overworld.h" @@ -993,18 +994,18 @@ u32 CanMonLearnTMHM(struct Pokemon *mon, u8 tm) } } -u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) +u8 GetMoveTutorMoves(struct Pokemon *mon, u16 *moves) { - u16 learnedMoves[4]; + u16 knownMoves[4]; u8 numMoves = 0; u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u8 level = GetMonData(mon, MON_DATA_LEVEL, 0); int i, j, k; for (i = 0; i < 4; i++) - learnedMoves[i] = GetMonData(mon, MON_DATA_MOVE1 + i, 0); + knownMoves[i] = GetMonData(mon, MON_DATA_MOVE1 + i, 0); - for (i = 0; i < 20; i++) + for (i = 0; i < MAX_MOVE_TUTOR_MOVES; i++) { u16 moveLevel; @@ -1012,10 +1013,9 @@ u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) break; moveLevel = gLevelUpLearnsets[species][i] & 0xFE00; - if (moveLevel <= (level << 9)) { - for (j = 0; j < 4 && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++) + for (j = 0; j < 4 && knownMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++) ; if (j == 4) diff --git a/src/pokemon_storage_system_4.c b/src/pokemon_storage_system_4.c index 00e7c10d2..2d156c159 100644 --- a/src/pokemon_storage_system_4.c +++ b/src/pokemon_storage_system_4.c @@ -912,7 +912,7 @@ void sub_809A23C(u8 boxId) gPokemonStorageSystemPtr->unk_0d08 |= 0x10000 << tagIdx; sub_809A1BC(gPokemonStorageSystemPtr->unk_08ca, gPokemonStorage.boxNames[boxId]); LoadSpriteSheet(&spriteSheet); - r6 = sub_809A6D0(sub_8072CA4(gPokemonStorage.boxNames[boxId])); + r6 = sub_809A6D0(GetStringWidthInMenuWindow(gPokemonStorage.boxNames[boxId])); for (i = 0; i < 2; i++) { u8 spriteId = CreateSprite(&gSpriteTemplate_83BB2B8, r6 + i * 32, 0x1c, 23); @@ -947,7 +947,7 @@ void sub_809A3D0(u8 boxId, s8 a1) sub_809A1BC(gPokemonStorageSystemPtr->unk_08ca, gPokemonStorage.boxNames[boxId]); LoadSpriteSheet(&spriteSheet); LoadPalette(gUnknown_083BB0A8[gPokemonStorage.wallpaper[boxId]], r8, 0x04); - x = sub_809A6D0(sub_8072CA4(gPokemonStorage.boxNames[boxId])); + x = sub_809A6D0(GetStringWidthInMenuWindow(gPokemonStorage.boxNames[boxId])); x2 = x + a1 * 192; for (i = 0; i < 2; i++) { @@ -2061,7 +2061,7 @@ void sub_809C04C(void *pokemon, u8 a1) buf = gPokemonStorageSystemPtr->unk_1259 + 8; buf[0] = 0x34; // LV buf = gPokemonStorageSystemPtr->unk_1259 + 9; - buf = sub_8072C14(buf, gPokemonStorageSystemPtr->unk_11f8, 0x22, STR_CONV_MODE_RIGHT_ALIGN); + buf = AlignInt1InMenuWindow(buf, gPokemonStorageSystemPtr->unk_11f8, 0x22, STR_CONV_MODE_RIGHT_ALIGN); buf[0] = EXT_CTRL_CODE_BEGIN; buf[1] = 0x11; // CLEAR buf[2] = 8; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index d369347fc..7fc422125 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -9,12 +9,12 @@ #include "event_data.h" #include "ewram.h" #include "item.h" -#include "learn_move.h" #include "link.h" #include "m4a.h" #include "main.h" #include "menu.h" #include "menu_helpers.h" +#include "move_tutor_menu.h" #include "overworld.h" #include "palette.h" #include "party_menu.h" @@ -2577,9 +2577,9 @@ static void sub_809FF64(struct Pokemon *mon) ConvertIntToDecimalString(buffer, GetMonData(mon, MON_DATA_SPEED)); sub_8072BD8(buffer, 27, 11, 18); - buffer = sub_8072C14(buffer, GetMonData(mon, MON_DATA_HP), 24, 1); + buffer = AlignInt1InMenuWindow(buffer, GetMonData(mon, MON_DATA_HP), 24, 1); *buffer++ = CHAR_SLASH; - buffer = sub_8072C14(buffer, GetMonData(mon, MON_DATA_MAX_HP), 48, 1); + buffer = AlignInt1InMenuWindow(buffer, GetMonData(mon, MON_DATA_MAX_HP), 48, 1); Menu_PrintTextPixelCoords(gStringVar1, 126, 56, 1); } @@ -2651,9 +2651,9 @@ static void sub_80A015C(struct Pokemon *mon) maxPP = CalculatePPWithBonus(move, ppBonuses, i); buffer = gStringVar1; - buffer = sub_8072C14(buffer, curPP, 14, 1); + buffer = AlignInt1InMenuWindow(buffer, curPP, 14, 1); *buffer++ = CHAR_SLASH; - sub_8072C14(buffer, maxPP, 32, 1); + AlignInt1InMenuWindow(buffer, maxPP, 32, 1); Menu_PrintText(gStringVar1, 25, (2 * i) + 4); } } @@ -2687,9 +2687,9 @@ static void sub_80A029C(struct Pokemon *mon) buffer = gStringVar1; pp = gBattleMoves[move].pp; - buffer = sub_8072C14(buffer, pp, 14, 1); + buffer = AlignInt1InMenuWindow(buffer, pp, 14, 1); *buffer++ = CHAR_SLASH; - buffer = sub_8072C14(buffer, pp, 32, 1); + buffer = AlignInt1InMenuWindow(buffer, pp, 32, 1); Menu_PrintText(gStringVar1, 25, 12); } @@ -2769,26 +2769,26 @@ static void sub_80A04CC(u16 move) if (gBattleMoves[move].power <= 1) { buffer = gStringVar1; - buffer = sub_8072C74(buffer, gOtherText_ThreeDashes2, 21, 1); + buffer = AlignStringInMenuWindow(buffer, gOtherText_ThreeDashes2, 21, 1); Menu_PrintText(gStringVar1, 7, 15); } else { buffer = gStringVar1; - buffer = sub_8072C14(buffer, gBattleMoves[move].power, 21, 1); + buffer = AlignInt1InMenuWindow(buffer, gBattleMoves[move].power, 21, 1); Menu_PrintText(gStringVar1, 7, 15); } if (gBattleMoves[move].accuracy == 0) { buffer = gStringVar1; - buffer = sub_8072C74(buffer, gOtherText_ThreeDashes2, 21, 1); + buffer = AlignStringInMenuWindow(buffer, gOtherText_ThreeDashes2, 21, 1); Menu_PrintText(gStringVar1, 7, 17); } else { buffer = gStringVar1; - buffer = sub_8072C14(buffer, gBattleMoves[move].accuracy, 21, 1); + buffer = AlignInt1InMenuWindow(buffer, gBattleMoves[move].accuracy, 21, 1); Menu_PrintText(gStringVar1, 7, 17); } } diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 61baea929..49df4863e 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -3851,7 +3851,7 @@ void sub_80EF428(u8 a, u8 b) } tileBuffer = gUnknown_083DFEC8; - sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2); + AlignStringInMenuWindow(&tileBuffer[0x800], pcText, 0xC0, 2); Menu_PrintText(&tileBuffer[0x800], 3, 17); } diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index d8c07f2bb..52ec0a919 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -278,10 +278,10 @@ void ResetRtcScreen_PrintTime(u8 x, u8 y, u16 days, u8 hours, u8 minutes, u8 sec hours %= 24; minutes %= 60; seconds %= 60; - sub_8072C44(gStringVar1, days, 24, 1); + AlignInt2InMenuWindow(gStringVar1, days, 24, 1); dest = StringCopy(dest, gStringVar1); dest = StringCopy(dest, gOtherText_Day); - sub_8072C44(gStringVar1, hours, 18, 1); + AlignInt2InMenuWindow(gStringVar1, hours, 18, 1); dest = StringCopy(dest, gStringVar1); dest = StringCopy(dest, gUnknown_08376500); dest = ConvertIntToDecimalStringN(dest, minutes, STR_CONV_MODE_LEADING_ZEROS, 2); @@ -426,8 +426,8 @@ void CB2_InitResetRtcScreen(void) ResetSpriteData(); ResetTasks(); ResetPaletteFade(); - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); REG_DISPCNT = 4352; SetVBlankCallback(VBlankCB_ResetRtcScreen); SetMainCallback2(CB2_ResetRtcScreen); diff --git a/src/roulette.c b/src/roulette.c index 49627dade..ab60e089a 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -436,7 +436,7 @@ void sub_8115384(void) break; case 0x2: Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); LoadPalette(&gUnknown_083F86BC, 0x0, 0x1C0); gMain.state++; break; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c index d73c90fb3..f5544bc65 100644 --- a/src/save_failed_screen.c +++ b/src/save_failed_screen.c @@ -122,7 +122,7 @@ static void CB2_SaveFailedScreen(void) LoadPalette(&gBirchBagGrassPal, 0, sizeof(gBirchBagGrassPal)); LoadPalette(&gSaveFailedClockPal, 0x100, sizeof(gSaveFailedClockPal)); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); Menu_DrawStdWindowFrame(13, CLOCK_WIN_TOP, 16, CLOCK_WIN_TOP + 3); // clock window Menu_DrawStdWindowFrame(1, MSG_WIN_TOP, 28, 19); // message window Menu_PrintText(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1); diff --git a/src/script_menu.c b/src/script_menu.c index 615004be3..1a7489c82 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -622,7 +622,7 @@ bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 multichoiceId, u8 ig static u16 GetStringWidthInTilesForScriptMenu(const u8 *str) { // each tile on screen is 8x8, so it needs the number of tiles and not pixels, hence the division by 8. - return (Text_GetStringWidthFromWindowTemplate((struct WindowTemplate *)&gWindowTemplate_81E6CE4, str) + 7) / 8; + return (Text_GetStringWidthFromWindowTemplate((struct WindowTemplate *)&gMenuTextWindowTemplate, str) + 7) / 8; } static void DrawMultichoiceMenu(u8 left, u8 top, u8 count, const struct MenuAction *list, u8 ignoreBPress, u8 cursorPos) diff --git a/src/secret_base.c b/src/secret_base.c index 1a4b765a0..60ce80af5 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -98,7 +98,7 @@ const u8 gUnknown_083D1374[] = { const struct MenuAction2 gUnknown_083D13D4[] = { {SecretBaseText_DelRegist, sub_80BCA84}, - {gUnknownText_Exit, sub_80BCBF8} + {gOtherText_Exit, sub_80BCBF8} }; const struct YesNoFuncTable gUnknown_083D13E4 = { @@ -1011,7 +1011,7 @@ void sub_80BC6B0(u8 taskId) if (n < 8) { Menu_BlankWindowRect(18, 2 * n + 2, 28, 2 * n + 3); - Menu_PrintText(gUnknownText_Exit, 18, 2 * n + 2); + Menu_PrintText(gOtherText_Exit, 18, 2 * n + 2); DestroyVerticalScrollIndicator(BOTTOM_ARROW); if (n != 7) Menu_BlankWindowRect(18, ((n << 25) + (1 << 26)) >> 24, 28, 18); // the shifts are needed to match diff --git a/src/start_menu.c b/src/start_menu.c index 5c437178c..2024ba89a 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -300,7 +300,7 @@ static void BuildStartMenuActions_Link(void) //Show number of safari balls left static void DisplaySafariBallsWindow(void) { - sub_8072C44(gStringVar1, gNumSafariBalls, 12, 1); + AlignInt2InMenuWindow(gStringVar1, gNumSafariBalls, 12, 1); Menu_DrawStdWindowFrame(0, 0, 10, 5); Menu_PrintText(gOtherText_SafariStock, 1, 1); } @@ -379,7 +379,7 @@ void CreateStartMenuTask(void (*func)(u8)) { u8 taskId; - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); taskId = CreateTask(Task_StartMenu, 0x50); SetTaskFuncWithFollowupFunc(taskId, Task_StartMenu, func); } @@ -865,8 +865,8 @@ static bool32 sub_80719FC(u8 *step) ScanlineEffect_Clear(); break; case 2: - Text_LoadWindowTemplate(&gWindowTemplate_81E6CE4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + Text_LoadWindowTemplate(&gMenuTextWindowTemplate); + InitMenuWindow(&gMenuTextWindowTemplate); REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_BG0_ON; break; case 3: diff --git a/src/starter_choose.c b/src/starter_choose.c index 836925e77..4e430015e 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -295,7 +295,7 @@ void CB2_ChooseStarter(void) LoadCompressedObjectPic(&gUnknown_083F77A4[0]); LoadSpritePalettes(gUnknown_083F77B4); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB(0, 0, 0)); savedIme = REG_IME; @@ -534,7 +534,7 @@ static void CreateStarterPokemonLabel(u8 prevSelection, u8 selection) AddTextColorCtrlCode(labelText, 0, 15, 8); //Copy Pokemon name to label - sub_8072C74(labelText + 5, gSpeciesNames[species], 0x6B, 1); + AlignStringInMenuWindow(labelText + 5, gSpeciesNames[species], 0x6B, 1); Menu_PrintText( labelText, gStarterChoose_LabelCoords[selection][0], @@ -663,7 +663,7 @@ _0810A8CA:\n\ adds r0, r7, 0\n\ movs r2, 0x70\n\ movs r3, 0x2\n\ - bl sub_8072C74\n\ + bl AlignStringInMenuWindow\n\ adds r2, r5, 0x2\n\ lsls r2, 24\n\ lsrs r2, 24\n\ diff --git a/src/strings.c b/src/strings.c index 0f599db72..cded04f96 100644 --- a/src/strings.c +++ b/src/strings.c @@ -159,7 +159,7 @@ const u8 OtherText_CheckTag[] = _("CHECK TAG"); const u8 OtherText_Confirm[] = _("CONFIRM"); const u8 gOtherText_Walk[] = _("WALK"); -const u8 gUnknownText_Exit[] = _("EXIT"); +const u8 gOtherText_Exit[] = _("EXIT"); const u8 gOtherText_CancelNoTerminator[] = _("CANCEL"); const u8 gOtherText_CancelWithTerminator[] = _("$CANCEL"); // with terminator at beginning? @@ -1085,7 +1085,7 @@ const u8 OtherText_CheckTag[] = _("PRÜFEN"); const u8 OtherText_Confirm[] = _("O.K."); const u8 gOtherText_Walk[] = _("LAUFEN"); -const u8 gUnknownText_Exit[] = _("BEENDEN"); +const u8 gOtherText_Exit[] = _("BEENDEN"); const u8 gOtherText_CancelNoTerminator[] = _("ZURÜCK"); const u8 gOtherText_CancelWithTerminator[] = _("$ZURÜCK"); diff --git a/src/text.c b/src/text.c index 234e6085d..c2f78276b 100644 --- a/src/text.c +++ b/src/text.c @@ -618,7 +618,7 @@ const struct WindowTemplate gWindowTemplate_81E6CC8 = BG_SCREEN_ADDR(15), // tilemap }; -const struct WindowTemplate gWindowTemplate_81E6CE4 = +const struct WindowTemplate gMenuTextWindowTemplate = { 0, // BG number 2, // BG character base block @@ -1647,7 +1647,7 @@ const struct WindowTemplate gWindowTemplate_81E7224 = BG_SCREEN_ADDR(31), // tilemap }; -const struct WindowTemplate gWindowTemplate_81E7240 = +const struct WindowTemplate gMoveTutorMenuFramesWindowTemplate = { 1, // BG number 2, // BG character base block @@ -3458,7 +3458,7 @@ u8 *AlignInt1(struct Window *win, u8 *dest, s32 value, u8 alignAmount, u8 alignT case 0: ConvertIntToDecimalString(temp, value); dest = StringCopy(dest, temp); - dest[0] = 0xFC; + dest[0] = EXT_CTRL_CODE_BEGIN; dest[1] = 19; dest[2] = alignAmount; dest += 3; @@ -3469,7 +3469,7 @@ u8 *AlignInt1(struct Window *win, u8 *dest, s32 value, u8 alignAmount, u8 alignT width = GetStringWidth(win, temp); if (alignAmount > width) { - dest[0] = 0xFC; + dest[0] = EXT_CTRL_CODE_BEGIN; dest[1] = 19; dest[2] = alignAmount - width; dest += 3; @@ -3481,7 +3481,7 @@ u8 *AlignInt1(struct Window *win, u8 *dest, s32 value, u8 alignAmount, u8 alignT width = GetStringWidth(win, temp); if (alignAmount > width) { - dest[0] = 0xFC; + dest[0] = EXT_CTRL_CODE_BEGIN; dest[1] = 19; dest[2] = (alignAmount - width) / 2; dest += 3; @@ -3489,7 +3489,7 @@ u8 *AlignInt1(struct Window *win, u8 *dest, s32 value, u8 alignAmount, u8 alignT dest = StringCopy(dest, temp); if (alignAmount > width) { - dest[0] = 0xFC; + dest[0] = EXT_CTRL_CODE_BEGIN; dest[1] = 19; dest[2] = alignAmount; dest += 3; diff --git a/src/trade.c b/src/trade.c index 4bed5d92b..8d7f5b1fc 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1089,7 +1089,7 @@ static void sub_8047EC0(void) ResetTasks(); sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5)); SetVBlankCallback(sub_80489F4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); Text_LoadWindowTemplate(&gWindowTemplate_81E6F84); Text_InitWindowWithTemplate(&gUnknown_03004824->window, &gWindowTemplate_81E6F84); gUnknown_03004824->unk_007a = TextWindow_SetBaseTileNum(20); @@ -1269,7 +1269,7 @@ static void sub_80484F4(void) ResetTasks(); sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5)); SetVBlankCallback(sub_80489F4); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); Text_LoadWindowTemplate(&gWindowTemplate_81E6F84); Text_InitWindowWithTemplate(&gUnknown_03004824->window, &gWindowTemplate_81E6F84); gUnknown_03004824->unk_007a = TextWindow_SetBaseTileNum(20); diff --git a/src/trainer_card.c b/src/trainer_card.c index 52be7b521..541a4a061 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -1452,7 +1452,7 @@ static void TrainerCard_Front_GetPlayTimeString(u8 *arg1, s16 colon) playTimeMinutes = ewram0_2.displayedCard.playTimeMinutes; } FormatPlayTime(buffer, playTimeHours, playTimeMinutes, colon); - sub_8072C74(arg1, buffer, 48, 1); + AlignStringInMenuWindow(arg1, buffer, 48, 1); } static void TrainerCard_PrintEasyChatPhrase(void) @@ -1548,10 +1548,10 @@ static void TrainerCard_Back_PrintBattleTower(void) if (ewram0_2.showBattleTowerStatus != 0) { - sub_8072C44(buffer, ewram0_2.displayedCard.battleTowerWins, 24, 1); + AlignInt2InMenuWindow(buffer, ewram0_2.displayedCard.battleTowerWins, 24, 1); Menu_PrintTextPixelCoords(buffer, 112, 120, 0); - sub_8072C44(buffer, ewram0_2.displayedCard.battleTowerLosses, 24, 1); + AlignInt2InMenuWindow(buffer, ewram0_2.displayedCard.battleTowerLosses, 24, 1); Menu_PrintTextPixelCoords(buffer, 149, 120, 0); } } diff --git a/src/wallclock.c b/src/wallclock.c index e500a3777..bdef8e0f4 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -222,7 +222,7 @@ static void LoadWallClockGraphics(void) LoadCompressedObjectPic(&gUnknown_083F7A90[0]); LoadSpritePalettes(gUnknown_083F7AA0); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); - InitMenuWindow(&gWindowTemplate_81E6CE4); + InitMenuWindow(&gMenuTextWindowTemplate); } static void WallClockInit(void) -- cgit v1.2.3 From 9f4c26032a8957ddf7635252c02005d61b77394e Mon Sep 17 00:00:00 2001 From: Avara <31101124+Mother-Of-Dragons@users.noreply.github.com> Date: Thu, 14 Jun 2018 14:12:56 +0100 Subject: updated labels --- src/tileset_anim.c | 554 +++++++++++++++++++++++++++-------------------------- 1 file changed, 280 insertions(+), 274 deletions(-) (limited to 'src') diff --git a/src/tileset_anim.c b/src/tileset_anim.c index abd38edad..a39bdd385 100644 --- a/src/tileset_anim.c +++ b/src/tileset_anim.c @@ -60,158 +60,164 @@ static void sub_807399C(u16); static void sub_8073974(u16); static void sub_80739EC(u16); -static const u8 TilesetAnimTiles_General_0_1[] = INCBIN_U8("data/tilesets/primary/general/anim/0/1.4bpp"); -static const u8 TilesetAnimTiles_General_0_0[] = INCBIN_U8("data/tilesets/primary/general/anim/0/0.4bpp"); -static const u8 TilesetAnimTiles_General_0_2[] = INCBIN_U8("data/tilesets/primary/general/anim/0/2.4bpp"); +static const u8 gTilesetAnims_General0_Frame1[] = INCBIN_U8("data/tilesets/primary/general/anim/0/1.4bpp"); +static const u8 gTilesetAnims_General0_Frame0[] = INCBIN_U8("data/tilesets/primary/general/anim/0/0.4bpp"); +static const u8 gTilesetAnims_General0_Frame2[] = INCBIN_U8("data/tilesets/primary/general/anim/0/2.4bpp"); asm(".space 32"); -static const u8 *const gTilesetAnimTable_General_0[] = +static const u8 *const gTilesetAnims_General0[] = { - TilesetAnimTiles_General_0_0, - TilesetAnimTiles_General_0_1, - TilesetAnimTiles_General_0_0, - TilesetAnimTiles_General_0_2, + gTilesetAnims_General0_Frame0, + gTilesetAnims_General0_Frame1, + gTilesetAnims_General0_Frame0, + gTilesetAnims_General0_Frame2, }; -static const u8 TilesetAnimTiles_General_1_0[] = INCBIN_U8("data/tilesets/primary/general/anim/1/0.4bpp"); -static const u8 TilesetAnimTiles_General_1_1[] = INCBIN_U8("data/tilesets/primary/general/anim/1/1.4bpp"); -static const u8 TilesetAnimTiles_General_1_2[] = INCBIN_U8("data/tilesets/primary/general/anim/1/2.4bpp"); -static const u8 TilesetAnimTiles_General_1_3[] = INCBIN_U8("data/tilesets/primary/general/anim/1/3.4bpp"); -static const u8 TilesetAnimTiles_General_1_4[] = INCBIN_U8("data/tilesets/primary/general/anim/1/4.4bpp"); -static const u8 TilesetAnimTiles_General_1_5[] = INCBIN_U8("data/tilesets/primary/general/anim/1/5.4bpp"); -static const u8 TilesetAnimTiles_General_1_6[] = INCBIN_U8("data/tilesets/primary/general/anim/1/6.4bpp"); -static const u8 TilesetAnimTiles_General_1_7[] = INCBIN_U8("data/tilesets/primary/general/anim/1/7.4bpp"); - -static const u8 *const gTilesetAnimTable_General_1[] = -{ - TilesetAnimTiles_General_1_0, - TilesetAnimTiles_General_1_1, - TilesetAnimTiles_General_1_2, - TilesetAnimTiles_General_1_3, - TilesetAnimTiles_General_1_4, - TilesetAnimTiles_General_1_5, - TilesetAnimTiles_General_1_6, - TilesetAnimTiles_General_1_7, +static const u8 gTilesetAnims_General1_Frame0[] = INCBIN_U8("data/tilesets/primary/general/anim/1/0.4bpp"); +static const u8 gTilesetAnims_General1_Frame1[] = INCBIN_U8("data/tilesets/primary/general/anim/1/1.4bpp"); +static const u8 gTilesetAnims_General1_Frame2[] = INCBIN_U8("data/tilesets/primary/general/anim/1/2.4bpp"); +static const u8 gTilesetAnims_General1_Frame3[] = INCBIN_U8("data/tilesets/primary/general/anim/1/3.4bpp"); +static const u8 gTilesetAnims_General1_Frame4[] = INCBIN_U8("data/tilesets/primary/general/anim/1/4.4bpp"); +static const u8 gTilesetAnims_General1_Frame5[] = INCBIN_U8("data/tilesets/primary/general/anim/1/5.4bpp"); +static const u8 gTilesetAnims_General1_Frame6[] = INCBIN_U8("data/tilesets/primary/general/anim/1/6.4bpp"); +static const u8 gTilesetAnims_General1_Frame7[] = INCBIN_U8("data/tilesets/primary/general/anim/1/7.4bpp"); + +static const u8 *const gTilesetAnims_General1[] = +{ + gTilesetAnims_General1_Frame0, + gTilesetAnims_General1_Frame1, + gTilesetAnims_General1_Frame2, + gTilesetAnims_General1_Frame3, + gTilesetAnims_General1_Frame4, + gTilesetAnims_General1_Frame5, + gTilesetAnims_General1_Frame6, + gTilesetAnims_General1_Frame7, }; -static const u8 TilesetAnimTiles_General_2_0[] = INCBIN_U8("data/tilesets/primary/general/anim/2/0.4bpp"); -static const u8 TilesetAnimTiles_General_2_1[] = INCBIN_U8("data/tilesets/primary/general/anim/2/1.4bpp"); -static const u8 TilesetAnimTiles_General_2_2[] = INCBIN_U8("data/tilesets/primary/general/anim/2/2.4bpp"); -static const u8 TilesetAnimTiles_General_2_3[] = INCBIN_U8("data/tilesets/primary/general/anim/2/3.4bpp"); -static const u8 TilesetAnimTiles_General_2_4[] = INCBIN_U8("data/tilesets/primary/general/anim/2/4.4bpp"); +static const u8 gTilesetAnims_General2_Frame0[] = INCBIN_U8("data/tilesets/primary/general/anim/2/0.4bpp"); +static const u8 gTilesetAnims_General2_Frame1[] = INCBIN_U8("data/tilesets/primary/general/anim/2/1.4bpp"); +static const u8 gTilesetAnims_General2_Frame2[] = INCBIN_U8("data/tilesets/primary/general/anim/2/2.4bpp"); +static const u8 gTilesetAnims_General2_Frame3[] = INCBIN_U8("data/tilesets/primary/general/anim/2/3.4bpp"); +static const u8 gTilesetAnims_General2_Frame4[] = INCBIN_U8("data/tilesets/primary/general/anim/2/4.4bpp"); static const u8 TilesetAnimTiles_General_2_5[] = INCBIN_U8("data/tilesets/primary/general/anim/2/5.4bpp"); -static const u8 TilesetAnimTiles_General_2_6[] = INCBIN_U8("data/tilesets/primary/general/anim/2/6.4bpp"); - -static const u8 *const gTilesetAnimTable_General_2[] = -{ - TilesetAnimTiles_General_2_0, - TilesetAnimTiles_General_2_1, - TilesetAnimTiles_General_2_2, - TilesetAnimTiles_General_2_3, - TilesetAnimTiles_General_2_4, - TilesetAnimTiles_General_2_5, - TilesetAnimTiles_General_2_6, - TilesetAnimTiles_General_2_0, +static const u8 gTilesetAnims_General2_Frame6[] = INCBIN_U8("data/tilesets/primary/general/anim/2/6.4bpp"); + +static const u8 *const gTilesetAnims_General2[] = +{ + gTilesetAnims_General2_Frame0, + gTilesetAnims_General2_Frame1, + gTilesetAnims_General2_Frame2, + gTilesetAnims_General2_Frame3, + gTilesetAnims_General2_Frame4, + TilesetAnimTiles_General_2_5, + gTilesetAnims_General2_Frame6, + gTilesetAnims_General2_Frame0, }; -static const u8 TilesetAnimTiles_General_3_0[] = INCBIN_U8("data/tilesets/primary/general/anim/3/0.4bpp"); -static const u8 TilesetAnimTiles_General_3_1[] = INCBIN_U8("data/tilesets/primary/general/anim/3/1.4bpp"); -static const u8 TilesetAnimTiles_General_3_2[] = INCBIN_U8("data/tilesets/primary/general/anim/3/2.4bpp"); -static const u8 TilesetAnimTiles_General_3_3[] = INCBIN_U8("data/tilesets/primary/general/anim/3/3.4bpp"); +static const u8 gTilesetAnims_General3_Frame0[] = INCBIN_U8("data/tilesets/primary/general/anim/3/0.4bpp"); +static const u8 gTilesetAnims_General3_Frame1[] = INCBIN_U8("data/tilesets/primary/general/anim/3/1.4bpp"); +static const u8 gTilesetAnims_General3_Frame2[] = INCBIN_U8("data/tilesets/primary/general/anim/3/2.4bpp"); +static const u8 gTilesetAnims_General3_Frame3[] = INCBIN_U8("data/tilesets/primary/general/anim/3/3.4bpp"); -static const u8 *const gTilesetAnimTable_General_3[] = +static const u8 *const gTilesetAnims_General3[] = { - TilesetAnimTiles_General_3_0, - TilesetAnimTiles_General_3_1, - TilesetAnimTiles_General_3_2, - TilesetAnimTiles_General_3_3, + gTilesetAnims_General3_Frame0, + gTilesetAnims_General3_Frame1, + gTilesetAnims_General3_Frame2, + gTilesetAnims_General3_Frame3, }; -static const u8 TilesetAnimTiles_General_4_0[] = INCBIN_U8("data/tilesets/primary/general/anim/4/0.4bpp"); -static const u8 TilesetAnimTiles_General_4_1[] = INCBIN_U8("data/tilesets/primary/general/anim/4/1.4bpp"); -static const u8 TilesetAnimTiles_General_4_2[] = INCBIN_U8("data/tilesets/primary/general/anim/4/2.4bpp"); -static const u8 TilesetAnimTiles_General_4_3[] = INCBIN_U8("data/tilesets/primary/general/anim/4/3.4bpp"); +static const u8 gTilesetAnims_General4_Frame0[] = INCBIN_U8("data/tilesets/primary/general/anim/4/0.4bpp"); +static const u8 gTilesetAnims_General4_Frame1[] = INCBIN_U8("data/tilesets/primary/general/anim/4/1.4bpp"); +static const u8 gTilesetAnims_General4_Frame2[] = INCBIN_U8("data/tilesets/primary/general/anim/4/2.4bpp"); +static const u8 gTilesetAnims_General4_Frame3[] = INCBIN_U8("data/tilesets/primary/general/anim/4/3.4bpp"); -static const u8 *const gTilesetAnimTable_General_4[] = +static const u8 *const gTilesetAnims_General4[] = { - TilesetAnimTiles_General_4_0, - TilesetAnimTiles_General_4_1, - TilesetAnimTiles_General_4_2, - TilesetAnimTiles_General_4_3, + gTilesetAnims_General4_Frame0, + gTilesetAnims_General4_Frame1, + gTilesetAnims_General4_Frame2, + gTilesetAnims_General4_Frame3, }; -static const u8 TilesetAnimTiles_Lavaridge_0[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/0.4bpp"); -static const u8 TilesetAnimTiles_Lavaridge_1[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/1.4bpp"); -static const u8 TilesetAnimTiles_Lavaridge_2[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/2.4bpp"); -static const u8 TilesetAnimTiles_Lavaridge_3[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/3.4bpp"); +static const u8 gTilesetAnims_Lavaridge0_Frame0[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/0.4bpp"); +static const u8 gTilesetAnims_Lavaridge0_Frame1[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/1.4bpp"); +static const u8 gTilesetAnims_Lavaridge0_Frame2[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/2.4bpp"); +static const u8 gTilesetAnims_Lavaridge0_Frame3[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/3.4bpp"); -static const u8 *const gTilesetAnimTable_Lavaridge[] = +static const u8 *const gTilesetAnims_Lavaridge0[] = { - TilesetAnimTiles_Lavaridge_0, - TilesetAnimTiles_Lavaridge_1, - TilesetAnimTiles_Lavaridge_2, - TilesetAnimTiles_Lavaridge_3, + gTilesetAnims_Lavaridge0_Frame0, + gTilesetAnims_Lavaridge0_Frame1, + gTilesetAnims_Lavaridge0_Frame2, + gTilesetAnims_Lavaridge0_Frame3, }; -static const u8 TilesetAnimTiles_Pacifidlog_0_0[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/0.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_0_1[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/1.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_0_2[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/2.4bpp"); +static const u8 gTilesetAnims_Pacifidlog0_Frame0[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/0.4bpp"); +static const u8 gTilesetAnims_Pacifidlog0_Frame1[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/1.4bpp"); +static const u8 gTilesetAnims_Pacifidlog0_Frame2[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/2.4bpp"); -static const u8 *const gTilesetAnimTable_Pacifidlog_0[] = +static const u8 *const gTilesetAnims_Pacifidlog0[] = { - TilesetAnimTiles_Pacifidlog_0_0, - TilesetAnimTiles_Pacifidlog_0_1, - TilesetAnimTiles_Pacifidlog_0_2, - TilesetAnimTiles_Pacifidlog_0_1, + gTilesetAnims_Pacifidlog0_Frame0, + gTilesetAnims_Pacifidlog0_Frame1, + gTilesetAnims_Pacifidlog0_Frame2, + gTilesetAnims_Pacifidlog0_Frame1, }; -static const u8 TilesetAnimTiles_Underwater_0[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/0.4bpp"); -static const u8 TilesetAnimTiles_Underwater_1[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/1.4bpp"); -static const u8 TilesetAnimTiles_Underwater_2[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/2.4bpp"); -static const u8 TilesetAnimTiles_Underwater_3[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/3.4bpp"); +static const u8 gTilesetAnims_Underwater0_Frame0[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/0.4bpp"); +static const u8 gTilesetAnims_Underwater0_Frame1[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/1.4bpp"); +static const u8 gTilesetAnims_Underwater0_Frame2[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/2.4bpp"); +static const u8 gTilesetAnims_Underwater0_Frame3[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/3.4bpp"); -static const u8 *const gTilesetAnimTable_Underwater[] = +static const u8 *const gTilesetAnims_Underwater0[] = { - TilesetAnimTiles_Underwater_0, - TilesetAnimTiles_Underwater_1, - TilesetAnimTiles_Underwater_2, - TilesetAnimTiles_Underwater_3, + gTilesetAnims_Underwater0_Frame0, + gTilesetAnims_Underwater0_Frame1, + gTilesetAnims_Underwater0_Frame2, + gTilesetAnims_Underwater0_Frame3 }; -static const u8 TilesetAnimTiles_Pacifidlog_1_0[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_1_1[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_1_2[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_1_3[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_1_4[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_1_5[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_1_6[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"); -static const u8 TilesetAnimTiles_Pacifidlog_1_7[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"); - -static const u8 *const gTilesetAnimTable_Pacifidlog_1[] = -{ - TilesetAnimTiles_Pacifidlog_1_0, - TilesetAnimTiles_Pacifidlog_1_1, - TilesetAnimTiles_Pacifidlog_1_2, - TilesetAnimTiles_Pacifidlog_1_3, - TilesetAnimTiles_Pacifidlog_1_4, - TilesetAnimTiles_Pacifidlog_1_5, - TilesetAnimTiles_Pacifidlog_1_6, - TilesetAnimTiles_Pacifidlog_1_7, +const u16 gTilesetAnims_Pacifidlog1_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"); + +const u16 gTilesetAnims_Pacifidlog1_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"); + +const u16 gTilesetAnims_Pacifidlog1_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"); + +const u16 gTilesetAnims_Pacifidlog1_Frame3[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"); + +const u16 gTilesetAnims_Pacifidlog1_Frame4[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"); + +const u16 gTilesetAnims_Pacifidlog1_Frame5[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"); + +const u16 gTilesetAnims_Pacifidlog1_Frame6[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"); + +const u16 gTilesetAnims_Pacifidlog1_Frame7[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"); + +const u16 *const gTilesetAnims_Pacifidlog1[] = { + gTilesetAnims_Pacifidlog1_Frame0, + gTilesetAnims_Pacifidlog1_Frame1, + gTilesetAnims_Pacifidlog1_Frame2, + gTilesetAnims_Pacifidlog1_Frame3, + gTilesetAnims_Pacifidlog1_Frame4, + gTilesetAnims_Pacifidlog1_Frame5, + gTilesetAnims_Pacifidlog1_Frame6, + gTilesetAnims_Pacifidlog1_Frame7 }; -static const u8 TilesetAnimTiles_Mauville_0_0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/0.4bpp"); -static const u8 TilesetAnimTiles_Mauville_0_1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/1.4bpp"); -static const u8 TilesetAnimTiles_Mauville_0_2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/2.4bpp"); -static const u8 TilesetAnimTiles_Mauville_0_3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/3.4bpp"); -static const u8 TilesetAnimTiles_Mauville_0_4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/4.4bpp"); +static const u8 gTilesetAnims_Mauville0a_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/0.4bpp"); +static const u8 gTilesetAnims_Mauville0a_Frame1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/1.4bpp"); +static const u8 gTilesetAnims_Mauville0a_Frame2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/2.4bpp"); +static const u8 gTilesetAnims_Mauville0a_Frame3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/3.4bpp"); +static const u8 gTilesetAnims_Mauville0a_Frame4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/4.4bpp"); -static const u8 TilesetAnimTiles_Mauville_1_0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/0.4bpp"); -static const u8 TilesetAnimTiles_Mauville_1_1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/1.4bpp"); -static const u8 TilesetAnimTiles_Mauville_1_2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/2.4bpp"); -static const u8 TilesetAnimTiles_Mauville_1_3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/3.4bpp"); -static const u8 TilesetAnimTiles_Mauville_1_4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/4.4bpp"); +static const u8 gTilesetAnims_Mauville0b_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/0.4bpp"); +static const u8 gTilesetAnims_Mauville0b_Frame1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/1.4bpp"); +static const u8 gTilesetAnims_Mauville0b_Frame2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/2.4bpp"); +static const u8 gTilesetAnims_Mauville0b_Frame3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/3.4bpp"); +static const u8 gTilesetAnims_Mauville0b_Frame4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/4.4bpp"); -static const void *const gUnknown_0837BAE4[] = +static const void *const gTilesetAnims_MauvilleVDests0[] = { (void *)(VRAM + 0x4C00), (void *)(VRAM + 0x4C80), @@ -223,7 +229,7 @@ static const void *const gUnknown_0837BAE4[] = (void *)(VRAM + 0x4F80), }; -static const void *const gUnknown_0837BB04[] = +static const void *const gTilesetAnims_MauvilleVDests1[] = { (void *)(VRAM + 0x5000), (void *)(VRAM + 0x5080), @@ -237,62 +243,62 @@ static const void *const gUnknown_0837BB04[] = static const u8 *const gTilesetAnimTable_Mauville_0A[] = { - TilesetAnimTiles_Mauville_0_0, - TilesetAnimTiles_Mauville_0_0, - TilesetAnimTiles_Mauville_0_1, - TilesetAnimTiles_Mauville_0_2, - TilesetAnimTiles_Mauville_0_3, - TilesetAnimTiles_Mauville_0_3, - TilesetAnimTiles_Mauville_0_3, - TilesetAnimTiles_Mauville_0_3, - TilesetAnimTiles_Mauville_0_3, - TilesetAnimTiles_Mauville_0_3, - TilesetAnimTiles_Mauville_0_2, - TilesetAnimTiles_Mauville_0_1, + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville0a_Frame1, + gTilesetAnims_Mauville0a_Frame2, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame2, + gTilesetAnims_Mauville0a_Frame1, }; static const u8 *const gTilesetAnimTable_Mauville_1A[] = { - TilesetAnimTiles_Mauville_1_0, - TilesetAnimTiles_Mauville_1_0, - TilesetAnimTiles_Mauville_1_1, - TilesetAnimTiles_Mauville_1_2, - TilesetAnimTiles_Mauville_1_3, - TilesetAnimTiles_Mauville_1_3, - TilesetAnimTiles_Mauville_1_3, - TilesetAnimTiles_Mauville_1_3, - TilesetAnimTiles_Mauville_1_3, - TilesetAnimTiles_Mauville_1_3, - TilesetAnimTiles_Mauville_1_2, - TilesetAnimTiles_Mauville_1_1, + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville0b_Frame1, + gTilesetAnims_Mauville0b_Frame2, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame2, + gTilesetAnims_Mauville0b_Frame1, }; static const u8 *const gTilesetAnimTable_Mauville_0B[] = { - TilesetAnimTiles_Mauville_0_0, - TilesetAnimTiles_Mauville_0_0, - TilesetAnimTiles_Mauville_0_4, - TilesetAnimTiles_Mauville_0_4, + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville0a_Frame4, + gTilesetAnims_Mauville0a_Frame4, }; static const u8 *const gTilesetAnimTable_Mauville_1B[] = { - TilesetAnimTiles_Mauville_1_0, - TilesetAnimTiles_Mauville_1_0, - TilesetAnimTiles_Mauville_1_4, - TilesetAnimTiles_Mauville_1_4, + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville0b_Frame4, + gTilesetAnims_Mauville0b_Frame4, }; -static const u8 TilesetAnimTiles_Rustboro_0_0[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/0.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_0_1[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/1.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_0_2[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/2.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_0_3[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/3.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_0_4[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/4.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_0_5[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/5.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_0_6[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/6.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_0_7[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/7.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame0[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/0.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame1[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/1.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame2[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/2.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame3[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/3.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame4[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/4.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame5[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/5.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame6[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/6.4bpp"); +static const u8 gTilesetAnims_Rustboro0_Frame7[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/7.4bpp"); -static const void *const gUnknown_0837BFA4[] = +static const void *const gTilesetAnims_RustboroVDests0[] = { (void *)(VRAM + 0x5000), (void *)(VRAM + 0x5080), @@ -304,57 +310,57 @@ static const void *const gUnknown_0837BFA4[] = (void *)(VRAM + 0x5380), }; -static const u8 *const gTilesetAnimTable_Rustboro_0[] = +static const u8 *const gTilesetAnims_Rustboro0[] = { - TilesetAnimTiles_Rustboro_0_0, - TilesetAnimTiles_Rustboro_0_1, - TilesetAnimTiles_Rustboro_0_2, - TilesetAnimTiles_Rustboro_0_3, - TilesetAnimTiles_Rustboro_0_4, - TilesetAnimTiles_Rustboro_0_5, - TilesetAnimTiles_Rustboro_0_6, - TilesetAnimTiles_Rustboro_0_7, + gTilesetAnims_Rustboro0_Frame0, + gTilesetAnims_Rustboro0_Frame1, + gTilesetAnims_Rustboro0_Frame2, + gTilesetAnims_Rustboro0_Frame3, + gTilesetAnims_Rustboro0_Frame4, + gTilesetAnims_Rustboro0_Frame5, + gTilesetAnims_Rustboro0_Frame6, + gTilesetAnims_Rustboro0_Frame7, }; -static const u8 TilesetAnimTiles_Rustboro_1_0[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/1/0.4bpp"); -static const u8 TilesetAnimTiles_Rustboro_1_1[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/1/1.4bpp"); +static const u8 gTilesetAnims_Rustboro1_Frame0[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/1/0.4bpp"); +static const u8 gTilesetAnims_Rustboro1_Frame1[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/1/1.4bpp"); -static const u8 *const gTilesetAnimTable_Rustboro_1[] = +static const u8 *const gTilesetAnims_Rustboro1[] = { - TilesetAnimTiles_Rustboro_1_0, - TilesetAnimTiles_Rustboro_1_1, + gTilesetAnims_Rustboro1_Frame0, + gTilesetAnims_Rustboro1_Frame1, }; -static const u8 TilesetAnimTiles_Cave_0[] = INCBIN_U8("data/tilesets/secondary/cave/anim/0.4bpp"); -static const u8 TilesetAnimTiles_Cave_1[] = INCBIN_U8("data/tilesets/secondary/cave/anim/1.4bpp"); -static const u8 TilesetAnimTiles_Cave_2[] = INCBIN_U8("data/tilesets/secondary/cave/anim/2.4bpp"); -static const u8 TilesetAnimTiles_Cave_3[] = INCBIN_U8("data/tilesets/secondary/cave/anim/3.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_Cave0_Frame0[] = INCBIN_U8("data/tilesets/secondary/cave/anim/0.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_Cave0_Frame1[] = INCBIN_U8("data/tilesets/secondary/cave/anim/1.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_Cave0_Frame2[] = INCBIN_U8("data/tilesets/secondary/cave/anim/2.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_Cave0_Frame3[] = INCBIN_U8("data/tilesets/secondary/cave/anim/3.4bpp"); // unused anim tiles for cave -static const u8 TilesetAnimTiles_Cave_4[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/0.4bpp"); -static const u8 TilesetAnimTiles_Cave_5[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/1.4bpp"); -static const u8 TilesetAnimTiles_Cave_6[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/2.4bpp"); -static const u8 TilesetAnimTiles_Cave_7[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/3.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_CaveUnused_Frame0[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/0.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_CaveUnused_Frame1[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/1.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_CaveUnused_Frame2[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/2.4bpp"); +static const u8 gTilesetAnims_Lavaridge1_CaveUnused_Frame3[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/3.4bpp"); asm(".space 32"); -static const u8 *const gTilesetAnimTable_Cave[] = +static const u8 *const gTilesetAnims_Lavaridge1_Cave0[] = { - TilesetAnimTiles_Cave_0, - TilesetAnimTiles_Cave_1, - TilesetAnimTiles_Cave_2, - TilesetAnimTiles_Cave_3, + gTilesetAnims_Lavaridge1_Cave0_Frame0, + gTilesetAnims_Lavaridge1_Cave0_Frame1, + gTilesetAnims_Lavaridge1_Cave0_Frame2, + gTilesetAnims_Lavaridge1_Cave0_Frame3, }; -static const u8 TilesetAnimTiles_EverGrande_0[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/0.4bpp"); -static const u8 TilesetAnimTiles_EverGrande_1[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/1.4bpp"); -static const u8 TilesetAnimTiles_EverGrande_2[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/2.4bpp"); -static const u8 TilesetAnimTiles_EverGrande_3[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/3.4bpp"); -static const u8 TilesetAnimTiles_EverGrande_4[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/4.4bpp"); -static const u8 TilesetAnimTiles_EverGrande_5[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/5.4bpp"); -static const u8 TilesetAnimTiles_EverGrande_6[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/6.4bpp"); -static const u8 TilesetAnimTiles_EverGrande_7[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/7.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame0[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/0.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame1[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/1.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame2[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/2.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame3[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/3.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame4[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/4.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame5[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/5.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame6[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/6.4bpp"); +static const u8 gTilesetAnims_EverGrande0_Frame7[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/7.4bpp"); asm(".space 32"); -static const void *const gUnknown_0837C93C[] = +static const void *const gTilesetAnims_EverGrandeVDests0[] = { (void *)(VRAM + 0x5C00), (void *)(VRAM + 0x5C80), @@ -366,88 +372,88 @@ static const void *const gUnknown_0837C93C[] = (void *)(VRAM + 0x5F80), }; -static const u8 *const gTilesetAnimTable_EverGrande[] = +static const u8 *const gTilesetAnims_EverGrande0[] = { - TilesetAnimTiles_EverGrande_0, - TilesetAnimTiles_EverGrande_1, - TilesetAnimTiles_EverGrande_2, - TilesetAnimTiles_EverGrande_3, - TilesetAnimTiles_EverGrande_4, - TilesetAnimTiles_EverGrande_5, - TilesetAnimTiles_EverGrande_6, - TilesetAnimTiles_EverGrande_7, + gTilesetAnims_EverGrande0_Frame0, + gTilesetAnims_EverGrande0_Frame1, + gTilesetAnims_EverGrande0_Frame2, + gTilesetAnims_EverGrande0_Frame3, + gTilesetAnims_EverGrande0_Frame4, + gTilesetAnims_EverGrande0_Frame5, + gTilesetAnims_EverGrande0_Frame6, + gTilesetAnims_EverGrande0_Frame7, }; -static const u8 TilesetAnimTiles_Building_0[] = INCBIN_U8("data/tilesets/primary/building/anim/0.4bpp"); -static const u8 TilesetAnimTiles_Building_1[] = INCBIN_U8("data/tilesets/primary/building/anim/1.4bpp"); +static const u8 gTilesetAnims_InsideBuilding0_Frame0[] = INCBIN_U8("data/tilesets/primary/building/anim/0.4bpp"); +static const u8 gTilesetAnims_InsideBuilding0_Frame1[] = INCBIN_U8("data/tilesets/primary/building/anim/1.4bpp"); -static const u8 *const gTilesetAnimTable_Building[] = +static const u8 *const gTilesetAnims_InsideBuilding0[] = { - TilesetAnimTiles_Building_0, - TilesetAnimTiles_Building_1, + gTilesetAnims_InsideBuilding0_Frame0, + gTilesetAnims_InsideBuilding0_Frame1, }; -static const u8 TilesetAnimTiles_SootopolisGym_0_0[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp"); -static const u8 TilesetAnimTiles_SootopolisGym_0_1[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp"); -static const u8 TilesetAnimTiles_SootopolisGym_0_2[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp"); -static const u8 TilesetAnimTiles_SootopolisGym_1_0[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp"); -static const u8 TilesetAnimTiles_SootopolisGym_1_1[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp"); -static const u8 TilesetAnimTiles_SootopolisGym_1_2[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp"); +static const u8 gTilesetAnims_SootopolisGym0_Frame0[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp"); +static const u8 gTilesetAnims_SootopolisGym0_Frame1[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp"); +static const u8 gTilesetAnims_SootopolisGym0_Frame2[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp"); +static const u8 gTilesetAnims_SootopolisGym1_Frame0[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp"); +static const u8 gTilesetAnims_SootopolisGym1_Frame1[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp"); +static const u8 gTilesetAnims_SootopolisGym1_Frame2[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp"); -static const u8 *const gTilesetAnimTable_SootopolisGym_0[] = +static const u8 *const gTilesetAnims_SootopolisGym0[] = { - TilesetAnimTiles_SootopolisGym_0_0, - TilesetAnimTiles_SootopolisGym_0_1, - TilesetAnimTiles_SootopolisGym_0_2, + gTilesetAnims_SootopolisGym0_Frame0, + gTilesetAnims_SootopolisGym0_Frame1, + gTilesetAnims_SootopolisGym0_Frame2, }; -static const u8 *const gTilesetAnimTable_SootopolisGym_1[] = +static const u8 *const gTilesetAnims_SootopolisGym1[] = { - TilesetAnimTiles_SootopolisGym_1_0, - TilesetAnimTiles_SootopolisGym_1_1, - TilesetAnimTiles_SootopolisGym_1_2, + gTilesetAnims_SootopolisGym1_Frame0, + gTilesetAnims_SootopolisGym1_Frame1, + gTilesetAnims_SootopolisGym1_Frame2, }; -static const u8 TilesetAnimTiles_EliteFour_1_0[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/1/0.4bpp"); -static const u8 TilesetAnimTiles_EliteFour_1_1[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/1/1.4bpp"); -static const u8 TilesetAnimTiles_EliteFour_0_0[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/0.4bpp"); -static const u8 TilesetAnimTiles_EliteFour_0_1[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/1.4bpp"); -static const u8 TilesetAnimTiles_EliteFour_0_2[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/2.4bpp"); -static const u8 TilesetAnimTiles_EliteFour_0_3[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/3.4bpp"); +static const u8 gTilesetAnims_EliteFour0_Frame0[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/1/0.4bpp"); +static const u8 gTilesetAnims_EliteFour0_Frame1[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/1/1.4bpp"); +static const u8 gTilesetAnims_EliteFour1_Frame0[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/0.4bpp"); +static const u8 gTilesetAnims_EliteFour1_Frame1[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/1.4bpp"); +static const u8 gTilesetAnims_EliteFour1_Frame2[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/2.4bpp"); +static const u8 gTilesetAnims_EliteFour1_Frame3[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/3.4bpp"); asm(".space 32"); -static const u8 *const gTilesetAnimTable_EliteFour_0[] = +static const u8 *const gTilesetAnims_EliteFour1[] = { - TilesetAnimTiles_EliteFour_0_0, - TilesetAnimTiles_EliteFour_0_1, - TilesetAnimTiles_EliteFour_0_2, - TilesetAnimTiles_EliteFour_0_3, + gTilesetAnims_EliteFour1_Frame0, + gTilesetAnims_EliteFour1_Frame1, + gTilesetAnims_EliteFour1_Frame2, + gTilesetAnims_EliteFour1_Frame3, }; -static const u8 *const gTilesetAnimTable_EliteFour_1[] = +static const u8 *const gTilesetAnims_EliteFour0[] = { - TilesetAnimTiles_EliteFour_1_0, - TilesetAnimTiles_EliteFour_1_1, + gTilesetAnims_EliteFour0_Frame0, + gTilesetAnims_EliteFour0_Frame1, }; -static const u8 TilesetAnimTiles_MauvilleGym_0[] = INCBIN_U8("data/tilesets/secondary/mauville_gym/anim/0.4bpp"); -static const u8 TilesetAnimTiles_MauvilleGym_1[] = INCBIN_U8("data/tilesets/secondary/mauville_gym/anim/1.4bpp"); +static const u8 gTilesetAnims_MauvilleGym0_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville_gym/anim/0.4bpp"); +static const u8 gTilesetAnims_MauvilleGym0_Frame1[] = INCBIN_U8("data/tilesets/secondary/mauville_gym/anim/1.4bpp"); asm(".space 32"); -static const u8 *const gTilesetAnimTable_MauvilleGym[] = +static const u8 *const gTilesetAnims_MauvilleGym0[] = { - TilesetAnimTiles_MauvilleGym_0, - TilesetAnimTiles_MauvilleGym_1, + gTilesetAnims_MauvilleGym0_Frame0, + gTilesetAnims_MauvilleGym0_Frame1, }; -static const u8 TilesetAnimTiles_BikeShop_0[] = INCBIN_U8("data/tilesets/secondary/bike_shop/anim/0.4bpp"); -static const u8 TilesetAnimTiles_BikeShop_1[] = INCBIN_U8("data/tilesets/secondary/bike_shop/anim/1.4bpp"); +static const u8 gTilesetAnims_BikeShop0_Frame0[] = INCBIN_U8("data/tilesets/secondary/bike_shop/anim/0.4bpp"); +static const u8 gTilesetAnims_BikeShop0_Frame1[] = INCBIN_U8("data/tilesets/secondary/bike_shop/anim/1.4bpp"); asm(".space 32"); -static const u8 *const gTilesetAnimTable_BikeShop[] = +static const u8 *const gTilesetAnims_BikeShop0[] = { - TilesetAnimTiles_BikeShop_0, - TilesetAnimTiles_BikeShop_1, + gTilesetAnims_BikeShop0_Frame0, + gTilesetAnims_BikeShop0_Frame1, }; static void ClearTilesetAnimDmas(void) @@ -578,28 +584,28 @@ static void sub_8073070(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], BG_TILE_ADDR(127), 0x80); + QueueTilesetAnimDma(gTilesetAnims_General0[v1], BG_TILE_ADDR(127), 0x80); } static void sub_8073098(u16 a1) { u8 v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], BG_TILE_ADDR(108), 0x3c0); + QueueTilesetAnimDma(gTilesetAnims_General1[v1], BG_TILE_ADDR(108), 0x3c0); } static void sub_80730C0(u16 a1) { int v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], BG_TILE_ADDR(116), 0x140); + QueueTilesetAnimDma(gTilesetAnims_General2[v1], BG_TILE_ADDR(116), 0x140); } static void sub_80730E8(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], BG_TILE_ADDR(124), 0xc0); + QueueTilesetAnimDma(gTilesetAnims_General3[v1], BG_TILE_ADDR(124), 0xc0); } void TilesetCB_Petalburg(void) @@ -815,30 +821,30 @@ static void sub_807361C(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], BG_TILE_ADDR(120), 0x140); + QueueTilesetAnimDma(gTilesetAnims_General4[v1], BG_TILE_ADDR(120), 0x140); } static void sub_8073644(u8 a1) { u8 v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(200), 0x80); + QueueTilesetAnimDma(gTilesetAnims_Lavaridge0[v1], BG_TILE_ADDR(200), 0x80); v1 = (a1 + 2) % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(201), 0x80); + QueueTilesetAnimDma(gTilesetAnims_Lavaridge0[v1], BG_TILE_ADDR(201), 0x80); } static void sub_807368C(u8 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], BG_TILE_ADDR(244), 0x3c0); + QueueTilesetAnimDma(gTilesetAnims_Pacifidlog0[v1], BG_TILE_ADDR(244), 0x3c0); } static void sub_80736B4(u8 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], BG_TILE_ADDR(252), 0x80); + QueueTilesetAnimDma(gTilesetAnims_Underwater0[v1], BG_TILE_ADDR(252), 0x80); } static void sub_80736DC(u8 a1) @@ -855,14 +861,14 @@ static void sub_8073704(u16 a1, u8 a2) if (a1 < 12) { v1 = a1 % 12; - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_0A[v1], gUnknown_0837BAE4[a2], 0x80); - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_1A[v1], gUnknown_0837BB04[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Mauville_0A[v1], gTilesetAnims_MauvilleVDests0[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Mauville_1A[v1], gTilesetAnims_MauvilleVDests1[a2], 0x80); } else { v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_0B[v1], gUnknown_0837BAE4[a2], 0x80); - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_1B[v1], gUnknown_0837BB04[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Mauville_0B[v1], gTilesetAnims_MauvilleVDests0[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnimTable_Mauville_1B[v1], gTilesetAnims_MauvilleVDests1[a2], 0x80); } } @@ -872,9 +878,9 @@ static void sub_80737A4(u16 a1, u8 a2) a1 -= a2; v1 = a1 % 8; - if (gTilesetAnimTable_Rustboro_0[v1]) + if (gTilesetAnims_Rustboro0[v1]) { - QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_0[v1], gUnknown_0837BFA4[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnims_Rustboro0[v1], gTilesetAnims_RustboroVDests0[a2], 0x80); } } @@ -882,14 +888,14 @@ static void sub_80737E0(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], BG_TILE_ADDR(240), 0x80); + QueueTilesetAnimDma(gTilesetAnims_Rustboro1[v1], BG_TILE_ADDR(240), 0x80); } static void sub_8073808(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(168), 0x80); + QueueTilesetAnimDma(gTilesetAnims_Lavaridge1_Cave0[v1], BG_TILE_ADDR(168), 0x80); } static void sub_8073830(u16 a1, u8 a2) @@ -897,14 +903,14 @@ static void sub_8073830(u16 a1, u8 a2) int v1; a1 -= a2; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_EverGrande[v1], gUnknown_0837C93C[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnims_EverGrande0[v1], gTilesetAnims_EverGrandeVDests0[a2], 0x80); } static void sub_8073868(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(232), 0x80); + QueueTilesetAnimDma(gTilesetAnims_Lavaridge1_Cave0[v1], BG_TILE_ADDR(232), 0x80); } static void sub_8073890(u16 a1) @@ -951,41 +957,41 @@ static void sub_8073904(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], BG_TILE_ADDR(124), 0x80); + QueueTilesetAnimDma(gTilesetAnims_InsideBuilding0[v1], BG_TILE_ADDR(124), 0x80); } static void sub_807392C(u16 a1) { int v1; v1 = a1 % 3; - QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], BG_TILE_ADDR(252), 0x180); - QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], BG_TILE_ADDR(244), 0x280); + QueueTilesetAnimDma(gTilesetAnims_SootopolisGym0[v1], BG_TILE_ADDR(252), 0x180); + QueueTilesetAnimDma(gTilesetAnims_SootopolisGym1[v1], BG_TILE_ADDR(244), 0x280); } static void sub_8073974(u16 a1) { int v1; v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], BG_TILE_ADDR(254), 0x20); + QueueTilesetAnimDma(gTilesetAnims_EliteFour1[v1], BG_TILE_ADDR(254), 0x20); } static void sub_807399C(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], BG_TILE_ADDR(248), 0x80); + QueueTilesetAnimDma(gTilesetAnims_EliteFour0[v1], BG_TILE_ADDR(248), 0x80); } static void sub_80739C4(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], BG_TILE_ADDR(164), 0x200); + QueueTilesetAnimDma(gTilesetAnims_MauvilleGym0[v1], BG_TILE_ADDR(164), 0x200); } static void sub_80739EC(u16 a1) { int v1; v1 = a1 % 2; - QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], BG_TILE_ADDR(252), 0x120); + QueueTilesetAnimDma(gTilesetAnims_BikeShop0[v1], BG_TILE_ADDR(252), 0x120); } -- cgit v1.2.3 From c76eade7f2212b97a9f16364f07ce926179ed58a Mon Sep 17 00:00:00 2001 From: Avara <31101124+Mother-Of-Dragons@users.noreply.github.com> Date: Thu, 14 Jun 2018 14:31:12 +0100 Subject: updated labels of tileset_anim.c to match Emerald --- src/tileset_anim.c | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/tileset_anim.c b/src/tileset_anim.c index a39bdd385..5bb74bea2 100644 --- a/src/tileset_anim.c +++ b/src/tileset_anim.c @@ -99,7 +99,7 @@ static const u8 gTilesetAnims_General2_Frame1[] = INCBIN_U8("data/tilesets/prima static const u8 gTilesetAnims_General2_Frame2[] = INCBIN_U8("data/tilesets/primary/general/anim/2/2.4bpp"); static const u8 gTilesetAnims_General2_Frame3[] = INCBIN_U8("data/tilesets/primary/general/anim/2/3.4bpp"); static const u8 gTilesetAnims_General2_Frame4[] = INCBIN_U8("data/tilesets/primary/general/anim/2/4.4bpp"); -static const u8 TilesetAnimTiles_General_2_5[] = INCBIN_U8("data/tilesets/primary/general/anim/2/5.4bpp"); +static const u8 gTilesetAnims_General2_Frame5[] = INCBIN_U8("data/tilesets/primary/general/anim/2/5.4bpp"); static const u8 gTilesetAnims_General2_Frame6[] = INCBIN_U8("data/tilesets/primary/general/anim/2/6.4bpp"); static const u8 *const gTilesetAnims_General2[] = @@ -109,7 +109,7 @@ static const u8 *const gTilesetAnims_General2[] = gTilesetAnims_General2_Frame2, gTilesetAnims_General2_Frame3, gTilesetAnims_General2_Frame4, - TilesetAnimTiles_General_2_5, + gTilesetAnims_General2_Frame5, gTilesetAnims_General2_Frame6, gTilesetAnims_General2_Frame0, }; @@ -178,23 +178,17 @@ static const u8 *const gTilesetAnims_Underwater0[] = gTilesetAnims_Underwater0_Frame3 }; -const u16 gTilesetAnims_Pacifidlog1_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame0[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame1[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame2[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame3[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame4[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame5[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame6[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"); +static const u8 gTilesetAnims_Pacifidlog1_Frame7[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"); -const u16 gTilesetAnims_Pacifidlog1_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"); - -const u16 gTilesetAnims_Pacifidlog1_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"); - -const u16 gTilesetAnims_Pacifidlog1_Frame3[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"); - -const u16 gTilesetAnims_Pacifidlog1_Frame4[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"); - -const u16 gTilesetAnims_Pacifidlog1_Frame5[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"); - -const u16 gTilesetAnims_Pacifidlog1_Frame6[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"); - -const u16 gTilesetAnims_Pacifidlog1_Frame7[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"); - -const u16 *const gTilesetAnims_Pacifidlog1[] = { +static const u8 *const gTilesetAnims_Pacifidlog1[] = +{ gTilesetAnims_Pacifidlog1_Frame0, gTilesetAnims_Pacifidlog1_Frame1, gTilesetAnims_Pacifidlog1_Frame2, @@ -202,7 +196,7 @@ const u16 *const gTilesetAnims_Pacifidlog1[] = { gTilesetAnims_Pacifidlog1_Frame4, gTilesetAnims_Pacifidlog1_Frame5, gTilesetAnims_Pacifidlog1_Frame6, - gTilesetAnims_Pacifidlog1_Frame7 + gTilesetAnims_Pacifidlog1_Frame7, }; static const u8 gTilesetAnims_Mauville0a_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/0.4bpp"); @@ -851,7 +845,7 @@ static void sub_80736DC(u8 a1) { int v1; v1 = a1 % 8; - QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], BG_TILE_ADDR(252), 0x100); + QueueTilesetAnimDma(gTilesetAnims_Pacifidlog1[v1], BG_TILE_ADDR(252), 0x100); } static void sub_8073704(u16 a1, u8 a2) -- cgit v1.2.3 From 83dce1b577933edec6af208f8cdf1e99c49a1389 Mon Sep 17 00:00:00 2001 From: Avara <31101124+Mother-Of-Dragons@users.noreply.github.com> Date: Thu, 14 Jun 2018 14:32:51 +0100 Subject: updated labels of tileset_anim.c to match Emerald --- src/tileset_anim.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/tileset_anim.c b/src/tileset_anim.c index 5bb74bea2..3f93ee7f5 100644 --- a/src/tileset_anim.c +++ b/src/tileset_anim.c @@ -196,7 +196,7 @@ static const u8 *const gTilesetAnims_Pacifidlog1[] = gTilesetAnims_Pacifidlog1_Frame4, gTilesetAnims_Pacifidlog1_Frame5, gTilesetAnims_Pacifidlog1_Frame6, - gTilesetAnims_Pacifidlog1_Frame7, + gTilesetAnims_Pacifidlog1_Frame7 }; static const u8 gTilesetAnims_Mauville0a_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/0.4bpp"); -- cgit v1.2.3 From be5a199f5b1cc13f39b7d4f7eaa80fb08929d9a3 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 14 Jun 2018 21:58:31 -0500 Subject: Update some event_object_movement things to sync with emerald --- src/bike.c | 2 +- .../field_event_obj/movement_action_func_tables.h | 44 +++++++++--------- .../field_event_obj/movement_type_func_tables.h | 6 +-- src/event_object_movement.c | 52 +++++++++++----------- src/field_effect.c | 2 +- src/trainer_see.c | 4 +- 6 files changed, 54 insertions(+), 56 deletions(-) (limited to 'src') diff --git a/src/bike.c b/src/bike.c index db37167f3..f0f996b6b 100644 --- a/src/bike.c +++ b/src/bike.c @@ -675,7 +675,7 @@ static void AcroBikeTransition_SideJump(u8 direction) playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; PlaySE(SE_JITE_PYOKO); playerEventObj->facingDirectionLocked = 1; - PlayerSetAnimId(sub_80608A4(direction), 2); + PlayerSetAnimId(GetJumpMovementAction(direction), 2); } static void AcroBikeTransition_TurnJump(u8 direction) diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h index 819545343..61871a2ca 100644 --- a/src/data/field_event_obj/movement_action_func_tables.h +++ b/src/data/field_event_obj/movement_action_func_tables.h @@ -156,10 +156,10 @@ u8 MovementAction_SetFixedPriority_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_ClearFixedPriority_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_InitAffineAnim_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_ClearAffineAnim_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine0_Step1(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step0(struct EventObject *, struct Sprite *); -u8 MovementAction_WalkDownAffine1_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine_Step1(struct EventObject *, struct Sprite *); u8 MovementAction_AcroWheelieFaceDown_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_AcroWheelieFaceUp_Step0(struct EventObject *, struct Sprite *); u8 MovementAction_AcroWheelieFaceLeft_Step0(struct EventObject *, struct Sprite *); @@ -329,8 +329,8 @@ u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct EventObject *, struct Sprite *); -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *); u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *); @@ -422,10 +422,10 @@ u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT - gMovementActionFuncs_SlideDown, // MOVEMENT_ACITON_SLIDE_DOWN - gMovementActionFuncs_SlideUp, // MOVEMENT_ACITON_SLIDE_UP - gMovementActionFuncs_SlideLeft, // MOVEMENT_ACITON_SLIDE_LEFT - gMovementActionFuncs_SlideRight, // MOVEMENT_ACITON_SLIDE_RIGHT + gMovementActionFuncs_SlideDown, // MOVEMENT_ACTION_SLIDE_DOWN + gMovementActionFuncs_SlideUp, // MOVEMENT_ACTION_SLIDE_UP + gMovementActionFuncs_SlideLeft, // MOVEMENT_ACTION_SLIDE_LEFT + gMovementActionFuncs_SlideRight, // MOVEMENT_ACTION_SLIDE_RIGHT gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT @@ -439,10 +439,10 @@ u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION - gMovementActionFuncs_JumpDown, // MOVEMENT_ACITON_JUMP_DOWN - gMovementActionFuncs_JumpUp, // MOVEMENT_ACITON_JUMP_UP - gMovementActionFuncs_JumpLeft, // MOVEMENT_ACITON_JUMP_LEFT - gMovementActionFuncs_JumpRight, // MOVEMENT_ACITON_JUMP_RIGHT + gMovementActionFuncs_JumpDown, // MOVEMENT_ACTION_JUMP_DOWN + gMovementActionFuncs_JumpUp, // MOVEMENT_ACTION_JUMP_UP + gMovementActionFuncs_JumpLeft, // MOVEMENT_ACTION_JUMP_LEFT + gMovementActionFuncs_JumpRight, // MOVEMENT_ACTION_JUMP_RIGHT gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT @@ -469,8 +469,8 @@ u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM - gMovementActionFuncs_WalkDownAffine0, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_0 - gMovementActionFuncs_WalkDownAffine1, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 + gMovementActionFuncs_WalkDownStartAffine, // MOVEMENT_ACTION_WALK_DOWN_START_AFFINE + gMovementActionFuncs_WalkDownAffine, // MOVEMENT_ACTION_WALK_DOWN_AFFINE_1 gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT @@ -1081,15 +1081,15 @@ u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct MovementAction_Finish }; -u8 (*const gMovementActionFuncs_WalkDownAffine0[])(struct EventObject *, struct Sprite *) = { - MovementAction_WalkDownAffine0_Step0, - MovementAction_WalkDownAffine0_Step1, +u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkDownStartAffine_Step0, + MovementAction_WalkDownStartAffine_Step1, MovementAction_PauseSpriteAnim }; -u8 (*const gMovementActionFuncs_WalkDownAffine1[])(struct EventObject *, struct Sprite *) = { - MovementAction_WalkDownAffine1_Step0, - MovementAction_WalkDownAffine1_Step1, +u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkDownAffine_Step0, + MovementAction_WalkDownAffine_Step1, MovementAction_PauseSpriteAnim }; diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/field_event_obj/movement_type_func_tables.h index ccbdac99c..b038d5b20 100644 --- a/src/data/field_event_obj/movement_type_func_tables.h +++ b/src/data/field_event_obj/movement_type_func_tables.h @@ -416,17 +416,17 @@ u8 (*const gMovementTypeFuncs_Hidden[])(struct EventObject *, struct Sprite *) = u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct EventObject *, struct Sprite *) = { MovementType_WalkInPlace_Step0, - MovementType_WalkInPlace_Step1 + MovementType_MoveInPlace_Step1 }; u8 (*const gMovementTypeFuncs_JogInPlace[])(struct EventObject *, struct Sprite *) = { MovementType_JogInPlace_Step0, - MovementType_WalkInPlace_Step1 + MovementType_MoveInPlace_Step1 }; u8 (*const gMovementTypeFuncs_RunInPlace[])(struct EventObject *, struct Sprite *) = { MovementType_RunInPlace_Step0, - MovementType_WalkInPlace_Step1 + MovementType_MoveInPlace_Step1 }; u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *) = { diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 4ab740702..60bd09ca9 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -819,11 +819,11 @@ const u8 gJumpInPlaceTurnAroundMovementActions[] = { MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT, }; const u8 gJumpMovementActions[] = { - MOVEMENT_ACITON_JUMP_DOWN, - MOVEMENT_ACITON_JUMP_DOWN, - MOVEMENT_ACITON_JUMP_UP, - MOVEMENT_ACITON_JUMP_LEFT, - MOVEMENT_ACITON_JUMP_RIGHT, + MOVEMENT_ACTION_JUMP_DOWN, + MOVEMENT_ACTION_JUMP_DOWN, + MOVEMENT_ACTION_JUMP_UP, + MOVEMENT_ACTION_JUMP_LEFT, + MOVEMENT_ACTION_JUMP_RIGHT, }; const u8 gJumpSpecialMovementActions[] = { MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, @@ -1182,19 +1182,17 @@ void RemoveEventObject(struct EventObject *eventObject) void RemoveEventObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { u8 eventObjectId; - - if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) - return; - FlagSet(GetEventObjectFlagIdByEventObjectId(eventObjectId)); - RemoveEventObject(&gEventObjects[eventObjectId]); + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) + { + FlagSet(GetEventObjectFlagIdByEventObjectId(eventObjectId)); + RemoveEventObject(&gEventObjects[eventObjectId]); + } } void RemoveEventObjectInternal(struct EventObject *eventObject) { struct SpriteFrameImage image; - const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - - image.size = gfxInfo->size; + image.size = GetEventObjectGraphicsInfo(eventObject->graphicsId)->size; gSprites[eventObject->spriteId].images = ℑ DestroySprite(&gSprites[eventObject->spriteId]); } @@ -4028,7 +4026,7 @@ bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *eventObject, struct Sp direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetSingleMovement(eventObject, sprite, sub_80608A4(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetJumpMovementAction(direction)); if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); @@ -4079,7 +4077,7 @@ void MovementType_TreeDisguise(struct Sprite *sprite) EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); eventObject->directionSequenceIndex = 1; - sprite->data[7] ++; + sprite->data[7]++; } UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } @@ -4099,7 +4097,7 @@ void MovementType_MountainDisguise(struct Sprite *sprite) EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); eventObject->directionSequenceIndex = 1; - sprite->data[7] ++; + sprite->data[7]++; } UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } @@ -4111,7 +4109,7 @@ void MovementType_Hidden(struct Sprite *sprite) gEventObjects[sprite->data[0]].fixedPriority = 1; sprite->subspriteMode = 2; sprite->oam.priority = 3; - sprite->data[7] ++; + sprite->data[7]++; } UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); } @@ -4127,7 +4125,7 @@ u8 MovementType_Hidden_Step0(struct EventObject *eventObject, struct Sprite *spr return 0; } -u8 MovementType_WalkInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementType_MoveInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (EventObjectExecSingleMovementAction(eventObject, sprite)) { @@ -4660,7 +4658,7 @@ dirn_to_anim(GetPlayerRunMovementAction, gPlayerRunMovementActions) dirn_to_anim(GetJump2MovementAction, gJump2MovementActions) dirn_to_anim(GetJumpInPlaceMovementAction, gJumpInPlaceMovementActions) dirn_to_anim(GetJumpInPlaceTurnAroundMovementAction, gJumpInPlaceTurnAroundMovementActions) -dirn_to_anim(sub_80608A4, gJumpMovementActions) +dirn_to_anim(GetJumpMovementAction, gJumpMovementActions) dirn_to_anim(GetJumpSpecialMovementAction, gJumpSpecialMovementActions) dirn_to_anim(GetWalkInPlaceSlowMovementAction, gWalkInPlaceSlowMovementActions) dirn_to_anim(GetWalkInPlaceNormalMovementAction, gWalkInPlaceNormalMovementActions) @@ -6364,17 +6362,17 @@ bool8 MovementAction_ClearAffineAnim_Step0(struct EventObject *eventObject, stru return TRUE; } -bool8 MovementAction_WalkDownAffine0_Step1(struct EventObject *, struct Sprite *); +bool8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkDownAffine0_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8060ED8(eventObject, sprite, DIR_SOUTH); sprite->affineAnimPaused = 0; StartSpriteAffineAnimIfDifferent(sprite, 0); - return MovementAction_WalkDownAffine0_Step1(eventObject, sprite); + return MovementAction_WalkDownStartAffine_Step1(eventObject, sprite); } -bool8 MovementAction_WalkDownAffine0_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (an_walk_any_2(eventObject, sprite)) { @@ -6385,17 +6383,17 @@ bool8 MovementAction_WalkDownAffine0_Step1(struct EventObject *eventObject, stru return FALSE; } -bool8 MovementAction_WalkDownAffine1_Step1(struct EventObject *, struct Sprite *); +bool8 MovementAction_WalkDownAffine_Step1(struct EventObject *, struct Sprite *); -bool8 MovementAction_WalkDownAffine1_Step0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8060ED8(eventObject, sprite, DIR_SOUTH); sprite->affineAnimPaused = 0; ChangeSpriteAffineAnimIfDifferent(sprite, 1); - return MovementAction_WalkDownAffine1_Step1(eventObject, sprite); + return MovementAction_WalkDownAffine_Step1(eventObject, sprite); } -bool8 MovementAction_WalkDownAffine1_Step1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_WalkDownAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) { if (an_walk_any_2(eventObject, sprite)) { diff --git a/src/field_effect.c b/src/field_effect.c index 8c00476d7..91794a07a 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1834,7 +1834,7 @@ bool8 sub_8087548(struct Task *task, struct EventObject *eventObject, struct Spr eventObject->invisible = 0; CameraObjectReset1(); PlaySE(SE_W091); - EventObjectSetHeldMovement(eventObject, sub_80608A4(DIR_EAST)); + EventObjectSetHeldMovement(eventObject, GetJumpMovementAction(DIR_EAST)); } return FALSE; } diff --git a/src/trainer_see.c b/src/trainer_see.c index 902a67fdf..dfbab1e3a 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -299,7 +299,7 @@ static bool8 sub_808441C(u8 taskId, struct Task *task, struct EventObject *train } else { - EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACITON_FACE_PLAYER); + EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); task->data[0]++; } } @@ -361,7 +361,7 @@ static bool8 sub_80845C8(u8 taskId, struct Task *task, struct EventObject *train if (!EventObjectIsMovementOverridden(trainerObj) || EventObjectClearHeldMovementIfFinished(trainerObj)) { - EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACITON_FACE_PLAYER); + EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER); task->data[0]++; } return FALSE; -- cgit v1.2.3 From 1ebc745b7fc598feb758dbe5b32d5716a474fa37 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Sun, 17 Jun 2018 22:42:19 +0100 Subject: Decompile sub_80DDB6C --- src/ghost.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/ghost.c (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c new file mode 100644 index 000000000..07a9061c6 --- /dev/null +++ b/src/ghost.c @@ -0,0 +1,21 @@ +#include "global.h" +#include "rom_8077ABC.h" + +extern s16 gBattleAnimArgs[]; +extern u8 gAnimBankTarget; + +void sub_80DDBD8(struct Sprite *); + +void sub_80DDB6C(struct Sprite *sprite) { + InitAnimSpritePos(sprite, 1); + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sub_8078BD4(sprite); + sprite->callback = sub_80DDBD8; + sprite->data[6] = 0x10; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = sprite->data[6]; +} \ No newline at end of file -- cgit v1.2.3 From 9d7ddede2362428c1bd569f0dff137d6bb65c0d1 Mon Sep 17 00:00:00 2001 From: MCboy Date: Mon, 18 Jun 2018 02:42:25 +0430 Subject: decompiled sub_80DA034 into C special thanks to some guys over at prets discord :) --- src/battle/anim/flying.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index ec40e26c4..5c865b7a8 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -6,6 +6,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +void sub_80DA05C(struct Sprite *sprite); void sub_80DA034(struct Sprite *sprite); void sub_80DA16C(struct Sprite *sprite); void sub_80DA208(struct Sprite *sprite); @@ -23,6 +24,15 @@ void sub_80DB458(struct Sprite *sprite); void sub_80DB564(struct Sprite *sprite); void sub_80DB5E4(struct Sprite *sprite); +void sub_80DA034(struct Sprite *sprite) +{ + sub_8078764(sprite, 0); + sprite->pos1.y += 0x14; + sprite->data[1] = 0xBF; + sprite->callback = sub_80DA05C; + sub_80DA05C(sprite); +} + const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA380 = { .tileTag = 10009, -- cgit v1.2.3 From ba16882b301fa964207257648b2522bec6458341 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Mon, 18 Jun 2018 00:49:11 +0100 Subject: Decompile sub_80DDBD8 --- src/ghost.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 07a9061c6..6c3f11f61 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -1,10 +1,15 @@ #include "global.h" #include "rom_8077ABC.h" +#include "sound.h" +#include "trig.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankTarget; +extern u8 gUnknown_0202F7D2; void sub_80DDBD8(struct Sprite *); +void sub_80DDC4C(struct Sprite *); +void sub_80DDCC8(struct Sprite *); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -18,4 +23,26 @@ void sub_80DDB6C(struct Sprite *sprite) { sprite->data[6] = 0x10; REG_BLDCNT = 0x3F40; REG_BLDALPHA = sprite->data[6]; +} + +void sub_80DDBD8(struct Sprite *sprite) { + s16 r0; + s16 r2; + sub_80DDCC8(sprite); + if (TranslateAnimSpriteByDeltas(sprite)) { + sprite->callback = sub_80DDC4C; + return; + } + sprite->pos2.x += Sin(sprite->data[5], 10); + sprite->pos2.y += Cos(sprite->data[5], 15); + r2 = sprite->data[5]; + sprite->data[5] = (sprite->data[5] + 5) & 0xFF; + r0 = sprite->data[5]; + if (r2 != 0) { + if (r2 <= 0xC4) + return; + } + if (r0 <= 0) + return; + PlaySE12WithPanning(0xC4, gUnknown_0202F7D2); } \ No newline at end of file -- cgit v1.2.3 From bb9a76b4bc399b3808d18a6aa8379f33de0de0c0 Mon Sep 17 00:00:00 2001 From: MCboy Date: Mon, 18 Jun 2018 05:08:03 +0430 Subject: Update flying.c --- src/battle/anim/flying.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index 5c865b7a8..84217cae6 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -6,7 +6,6 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -void sub_80DA05C(struct Sprite *sprite); void sub_80DA034(struct Sprite *sprite); void sub_80DA16C(struct Sprite *sprite); void sub_80DA208(struct Sprite *sprite); @@ -33,6 +32,18 @@ void sub_80DA034(struct Sprite *sprite) sub_80DA05C(sprite); } +void sub_80DA05C(struct Sprite *sprite) +{ + sprite->pos2.x = Sin(sprite->data[1], 0x20); + sprite->pos2.y = Cos(sprite->data[1], 0x8); + sprite->data[1] = (sprite->data[1] + 5) & 0xFF; + ++sprite->data[0]; + if(sprite->data[0] == 0x47 ) + { + DestroyAnimSprite(sprite); + } +} + const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA380 = { .tileTag = 10009, -- cgit v1.2.3 From e05011b4665c57c00fda9201e67556f54bf22aab Mon Sep 17 00:00:00 2001 From: MCboy Date: Mon, 18 Jun 2018 05:21:36 +0430 Subject: issue fixed? --- src/battle/anim/flying.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index 84217cae6..2f4fa6287 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -1,12 +1,14 @@ #include "global.h" +#include "sprite.h" #include "rom_8077ABC.h" #include "battle_anim.h" +#include "trig.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; -void sub_80DA034(struct Sprite *sprite); +void sub_80DA05C(struct Sprite *sprite); void sub_80DA16C(struct Sprite *sprite); void sub_80DA208(struct Sprite *sprite); void sub_80DA300(struct Sprite *sprite); -- cgit v1.2.3 From 093d767eb6a943a5ef19fee69ab24398c3f7fa7b Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Mon, 18 Jun 2018 07:14:06 +0100 Subject: Decompile sub_80DDC4C (I didn't actually do this one, shinny did) --- src/ghost.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 6c3f11f61..042707bfb 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -45,4 +45,32 @@ void sub_80DDBD8(struct Sprite *sprite) { if (r0 <= 0) return; PlaySE12WithPanning(0xC4, gUnknown_0202F7D2); +} + +void sub_80DDC4C(struct Sprite *sprite) +{ + s16 r2; + s16 r0; + sprite->data[0] = 1; + TranslateAnimSpriteByDeltas(sprite); + sprite->pos2.x += Sin(sprite->data[5],10); + sprite->pos2.y += Cos(sprite->data[5],15); + + r2 = sprite->data[5]; + sprite->data[5] = (sprite->data[5] + 5) & 0xFF; + r0 = sprite->data[5]; + + if(r2 == 0 || r2 > 0xC4) + { + if(r0 > 0) + PlaySE(0xC4); + } + + if(sprite->data[6] == 0) + { + sprite->invisible = TRUE; + sprite->callback = sub_807861C; + } + else + sub_80DDCC8(sprite); } \ No newline at end of file -- cgit v1.2.3 From 346b9deadcbbd1f11a1e1081dca540211e1bc0fa Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Mon, 18 Jun 2018 07:15:14 +0100 Subject: Decompile sub_80DDCC8 (I didn't actually do this one, shinny did) --- src/ghost.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 042707bfb..6c7e36190 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -73,4 +73,38 @@ void sub_80DDC4C(struct Sprite *sprite) } else sub_80DDCC8(sprite); +} + +void sub_80DDCC8(struct Sprite *sprite) +{ + + s16 r0; + if(sprite->data[6] > 0xFF) + { + if(++sprite->data[6] == 0x10d) + sprite->data[6] = 0; + return; + } + + r0 = sprite->data[7]; + sprite->data[7]++; + + if((r0 & 0xFF) == 0) + { + sprite->data[7] &= 0xff00; + if((sprite->data[7] & 0x100) != 0) + sprite->data[6]++; + else + sprite->data[6]--; + } + else + return; + + REG_BLDALPHA = ((16 - sprite->data[6]) << 8) | sprite->data[6]; + if(sprite->data[6] == 0 || sprite->data[6] == 16) + { + sprite->data[7] ^= 0x100; + } + if(sprite->data[6] == 0) + sprite->data[6] = 0x100; } \ No newline at end of file -- cgit v1.2.3 From 67c8820a607da664acb4d1513f2fa6db8941548c Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Mon, 18 Jun 2018 07:17:19 +0100 Subject: Decompile sub_80DDD58 (I didn't actually do this one, shinny did) --- src/ghost.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 6c7e36190..c14a60fdf 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -10,6 +10,7 @@ extern u8 gUnknown_0202F7D2; void sub_80DDBD8(struct Sprite *); void sub_80DDC4C(struct Sprite *); void sub_80DDCC8(struct Sprite *); +void sub_80DDD78(struct Sprite *); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -107,4 +108,11 @@ void sub_80DDCC8(struct Sprite *sprite) } if(sprite->data[6] == 0) sprite->data[6] = 0x100; +} + +void sub_80DDD58(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + sprite->callback = sub_80DDD78; + sub_80DDD78(sprite); } \ No newline at end of file -- cgit v1.2.3 From a08baefa117414a69afa7dcff41c740c1ae59715 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Mon, 18 Jun 2018 09:45:40 +0100 Subject: Decompile sub_80DDD78 --- src/ghost.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index c14a60fdf..a78ac7de3 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -1,4 +1,5 @@ #include "global.h" +#include "battle_anim.h" #include "rom_8077ABC.h" #include "sound.h" #include "trig.h" @@ -115,4 +116,23 @@ void sub_80DDD58(struct Sprite *sprite) sub_8078764(sprite, 1); sprite->callback = sub_80DDD78; sub_80DDD78(sprite); +} + +void sub_80DDD78(struct Sprite *sprite) { + u16 temp1; + sprite->pos2.x = Sin(sprite->data[0], 32); + sprite->pos2.y = Cos(sprite->data[0], 8); + temp1 = sprite->data[0] - 65; + if (temp1 <= 130) { + sprite->oam.priority = 2; + } else { + sprite->oam.priority = 1; + } + sprite->data[0] = (sprite->data[0] + 0x13) & 0xFF; + sprite->data[2] += 80; + sprite->pos2.y += sprite->data[2] >> 8; + sprite->data[7] += 1; + if (sprite->data[7] == 0x3D) { + DestroyAnimSprite(sprite); + } } \ No newline at end of file -- cgit v1.2.3 From 3237628ea71fdf645160481e62ed52a5579c3d74 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Mon, 18 Jun 2018 15:13:35 +0100 Subject: Decompile sub_80DDDF0 --- src/ghost.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index a78ac7de3..6591ad5af 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -12,6 +12,7 @@ void sub_80DDBD8(struct Sprite *); void sub_80DDC4C(struct Sprite *); void sub_80DDCC8(struct Sprite *); void sub_80DDD78(struct Sprite *); +void sub_80DDE7C(u8 taskId); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -135,4 +136,19 @@ void sub_80DDD78(struct Sprite *sprite) { if (sprite->data[7] == 0x3D) { DestroyAnimSprite(sprite); } +} + +void sub_80DDDF0(u8 r5) { + u8 r4; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = 0x1000; + r4 = GetAnimBattlerSpriteId(0); + sub_8078E70(r4, 1); + obj_id_set_rotscale(r4, 0x80, 0x80, 0); + gSprites[r4].invisible = FALSE; + gTasks[r5].data[0] = 0x80; + gTasks[r5].data[1] = *gBattleAnimArgs; + gTasks[r5].data[2] = 0; + gTasks[r5].data[3] = 0x10; + gTasks[r5].func = &sub_80DDE7C; } \ No newline at end of file -- cgit v1.2.3 From 41a5fc73fd85701aa761b22f7068e590d926bea0 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Mon, 18 Jun 2018 15:34:48 +0100 Subject: Decompile sub_80DDE7C --- src/ghost.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 6591ad5af..e77f26fb1 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -13,6 +13,7 @@ void sub_80DDC4C(struct Sprite *); void sub_80DDCC8(struct Sprite *); void sub_80DDD78(struct Sprite *); void sub_80DDE7C(u8 taskId); +void sub_80DDED0(u8 taskId); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -151,4 +152,17 @@ void sub_80DDDF0(u8 r5) { gTasks[r5].data[2] = 0; gTasks[r5].data[3] = 0x10; gTasks[r5].func = &sub_80DDE7C; +} + +void sub_80DDE7C(u8 taskId) { + gTasks[taskId].data[10] += 1; + if (gTasks[taskId].data[10] == 3) { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[2] += 1; + gTasks[taskId].data[3] -= 1; + REG_BLDALPHA = gTasks[taskId].data[3] << 8 | gTasks[taskId].data[2]; + if (gTasks[taskId].data[2] != 9) + return; + gTasks[taskId].func = &sub_80DDED0; + } } \ No newline at end of file -- cgit v1.2.3 From ad0bb29c4b5802a526722ab15a63396c437dc943 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 16 Jun 2018 18:31:23 -0500 Subject: Label various overworld-related things --- src/cable_car.c | 2 +- src/decoration.c | 2 +- src/event_object_movement.c | 38 ++-- src/field_camera.c | 6 +- src/field_control_avatar.c | 14 +- src/field_effect.c | 50 +++-- src/field_fadetransition.c | 74 ++++---- src/field_screen_effect.c | 115 ++++++------ src/field_specials.c | 18 +- src/fieldmap.c | 4 +- src/fldeff_flash.c | 138 +++++++------- src/item_use.c | 2 +- src/new_game.c | 2 +- src/overworld.c | 431 ++++++++++++++++++++++---------------------- src/safari_zone.c | 2 +- src/scrcmd.c | 19 +- src/secret_base.c | 6 +- src/time_events.c | 2 +- 18 files changed, 463 insertions(+), 462 deletions(-) (limited to 'src') diff --git a/src/cable_car.c b/src/cable_car.c index bae6f020a..c4276c733 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -439,7 +439,7 @@ static void sub_8123740(void) DmaFill16Large(3, 0, VRAM, VRAM_SIZE, 0x1000); DmaFill32Defvars(3, 0, OAM, OAM_SIZE); DmaFill16Defvars(3, 0, PLTT, PLTT_SIZE); - warp_in(); + WarpIntoMap(); gFieldCallback = NULL; SetMainCallback2(CB2_LoadMap); } diff --git a/src/decoration.c b/src/decoration.c index e31624540..8eff1270f 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2039,7 +2039,7 @@ void sub_80FF114(u8 taskId) { DrawWholeMapView(); Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]); - warp_in(); + WarpIntoMap(); } void sub_80FF160(u8 taskId) { diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 60bd09ca9..01460539c 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -729,7 +729,7 @@ bool8 (*const gDirectionBlockedMetatileFuncs[])(u8) = { MetatileBehavior_IsWestBlocked }; -const struct Coords16 gDirectionToVectors[] = { +static const struct Coords16 sDirectionToVectors[] = { { 0, 0}, { 0, 1}, { 0, -1}, @@ -4445,14 +4445,14 @@ void sub_8060288(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 Unref_MovePixelCoords(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) @@ -4460,13 +4460,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; } @@ -7871,32 +7871,32 @@ void UnfreezeEventObjects(void) static 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; } static 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; } static 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; } static 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; } static 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; } static void oamt_npc_ministep_reset(struct Sprite *sprite, u8 direction, u8 a3) diff --git a/src/field_camera.c b/src/field_camera.c index fa8f1a582..efd2e2d8c 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -24,9 +24,9 @@ static s16 sVerticalCameraPan; static u8 gUnknown_0300059C; static void (*sFieldCameraPanningCallback)(void); -struct FieldCamera gFieldCamera; -u16 gTotalCameraPixelOffsetY; -u16 gTotalCameraPixelOffsetX; +extern struct FieldCamera gFieldCamera; +extern u16 gTotalCameraPixelOffsetY; +extern u16 gTotalCameraPixelOffsetX; static void RedrawMapSliceNorth(struct FieldCameraOffset*, struct MapData*); static void RedrawMapSliceSouth(struct FieldCameraOffset*, struct MapData*); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 273378c14..a973b80ca 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -356,7 +356,7 @@ u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehav if (!MetatileBehavior_IsCounter(MapGridGetMetatileBehaviorAt(position->x, position->y))) eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height); else - eventObjectId = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[direction].x, position->y + gUnknown_0821664C[direction].y, position->height); + eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) return NULL; @@ -385,7 +385,7 @@ static u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8 metat return NULL; // Look for an event object on the other side of the counter. - eventObjectId = GetEventObjectIdByXYZ(position->x + gUnknown_0821664C[direction].x, position->y + gUnknown_0821664C[direction].y, position->height); + eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) return NULL; } @@ -680,7 +680,7 @@ static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct Map if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != -1) { - walkrun_find_lowest_active_bit_in_bitfield(); + StoreInitialPlayerAvatarState(); sub_8068C30(&gMapHeader, warpEventId, position); sub_8080E88(); return TRUE; @@ -694,7 +694,7 @@ bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileBehavior if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { - walkrun_find_lowest_active_bit_in_bitfield(); + StoreInitialPlayerAvatarState(); sub_8068C30(&gMapHeader, warpEventId, position); if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE) { @@ -798,7 +798,7 @@ static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 met warpEventId = FindWarpEventByPosition(&gMapHeader, position); if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { - walkrun_find_lowest_active_bit_in_bitfield(); + StoreInitialPlayerAvatarState(); sub_8068C30(&gMapHeader, warpEventId, position); sub_8080EF0(); return TRUE; @@ -894,7 +894,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) { if (SetDiveWarpEmerge(position->x - 7, position->y - 7)) { - walkrun_find_lowest_active_bit_in_bitfield(); + StoreInitialPlayerAvatarState(); sp13E_warp_to_last_warp(); PlaySE(SE_W291); return TRUE; @@ -904,7 +904,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) { if (SetDiveWarpDive(position->x - 7, position->y - 7)) { - walkrun_find_lowest_active_bit_in_bitfield(); + StoreInitialPlayerAvatarState(); sp13E_warp_to_last_warp(); PlaySE(SE_W291); return TRUE; diff --git a/src/field_effect.c b/src/field_effect.c index 91794a07a..47698aee4 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1107,7 +1107,7 @@ void task00_8084310(u8 taskId) if (!FieldEffectActiveListContains(FLDEFF_USE_FLY)) { Overworld_ResetStateAfterFly(); - warp_in(); + WarpIntoMap(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08084390; DestroyTask(taskId); @@ -1150,7 +1150,6 @@ void c3_080843F8(u8 taskId) } } -extern void pal_fill_for_map_transition(void); void sub_8086774(u8); extern void CameraObjectReset2(void); extern void CameraObjectReset1(void); @@ -1286,14 +1285,13 @@ bool8 sub_80869F8(struct Task *task) void sub_8086A68(u8); extern void sub_80B4824(u8); -extern void sub_8053FF8(void); -extern void fade_8080918(void); +extern void TryFadeOutOldMapMusic(void); void sub_8086B98(struct Task *); void sub_8086BE4(struct Task *); void sub_8086C30(void); void sub_8086C40(void); -bool8 sub_8054034(void); +bool8 BGMusicStopped(void); void sub_8086C94(void); void sub_80B483C(void); void sub_8086CBC(u8); @@ -1408,16 +1406,16 @@ void sub_8086BE4(struct Task *task) void sub_8086C30(void) { - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); } void sub_8086C40(void) { - if (!gPaletteFade.active && sub_8054034() == TRUE) + if (!gPaletteFade.active && BGMusicStopped() == TRUE) { sub_80B483C(); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_8086C94; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_8086A68)); @@ -1767,17 +1765,17 @@ bool8 sub_80872E4(struct Task *task, struct EventObject *eventObject, struct Spr bool8 sub_80873D8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); task->data[0]++; return FALSE; } bool8 sub_80873F4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (!gPaletteFade.active && sub_8054034() == TRUE) + if (!gPaletteFade.active && BGMusicStopped() == TRUE) { - warp_in(); + WarpIntoMap(); gFieldCallback = mapldr_080851BC; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_80871D0)); @@ -1930,8 +1928,8 @@ bool8 sub_80877AC(struct Task *task, struct EventObject *eventObject, struct Spr { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); task->data[0]++; } return FALSE; @@ -1942,9 +1940,9 @@ void mapldr_080859D4(void); bool8 sub_80877D4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (!gPaletteFade.active && sub_8054034() == TRUE) + if (!gPaletteFade.active && BGMusicStopped() == TRUE) { - warp_in(); + WarpIntoMap(); gFieldCallback = sub_8086748; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_808766C)); @@ -1995,17 +1993,17 @@ void sub_8087914(struct Task *task) u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; if (task->data[14] != 0 && (--task->data[14]) == 0) { - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); } eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { - if (task->data[14] == 0 && !gPaletteFade.active && sub_8054034() == TRUE) + if (task->data[14] == 0 && !gPaletteFade.active && BGMusicStopped() == TRUE) { SetEventObjectDirection(eventObject, task->data[15]); sub_8053678(); - warp_in(); + WarpIntoMap(); gFieldCallback = mapldr_080859D4; SetMainCallback2(CB2_LoadMap); DestroyTask(FindTaskIdByFunc(sub_80878C4)); @@ -2157,17 +2155,17 @@ static void TeleportFieldEffectTask3(struct Task *task) if (task->data[4] >= 0xa8) { task->data[0]++; - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); } } static void TeleportFieldEffectTask4(struct Task *task) { - if (!gPaletteFade.active && sub_8054034() == TRUE) + if (!gPaletteFade.active && BGMusicStopped() == TRUE) { Overworld_SetWarpDestToLastHealLoc(); - warp_in(); + WarpIntoMap(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08085D88; DestroyTask(FindTaskIdByFunc(ExecuteTeleportFieldEffectTask)); @@ -3062,7 +3060,7 @@ void sub_8088F10(struct Task *task) { if (sub_8088FA4(task->data[1])) { - fade_8080918(); + WarpFadeScreen(); task->data[0]++; } } diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index a9dc78dfa..c52dc98c6 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -39,35 +39,35 @@ void palette_bg_fill_black(void) void pal_fill_for_map_transition(void) { - u8 map_light = get_map_type_from_warp0(); - switch (fade_type_for_given_maplight_pair(map_light, Overworld_GetMapTypeOfSaveblockLocation())) + u8 previousMapType = GetLastUsedWarpMapType(); + switch (GetMapPairFadeFromType(previousMapType, Overworld_GetMapTypeOfSaveblockLocation())) { case 0: - FadeScreen(0, 0); + FadeScreen(FADE_FROM_BLACK, 0); palette_bg_fill_black(); break; case 1: - FadeScreen(2, 0); + FadeScreen(FADE_FROM_WHITE, 0); palette_bg_fill_white(); } } void pal_fill_black(void) { - FadeScreen(0, 0); + FadeScreen(FADE_FROM_BLACK, 0); palette_bg_fill_black(); } -void fade_8080918(void) +void WarpFadeScreen(void) { - u8 light_level = Overworld_GetMapTypeOfSaveblockLocation(); - switch (sub_810CDB8(light_level, warp1_get_mapheader()->mapType)) + u8 currentMapType = Overworld_GetMapTypeOfSaveblockLocation(); + switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) { case 0: - FadeScreen(1, 0); + FadeScreen(FADE_TO_BLACK, 0); break; case 1: - FadeScreen(3, 0); + FadeScreen(FADE_TO_WHITE, 0); } } @@ -358,7 +358,7 @@ void sub_8080E44(void) CreateTask(task_mpl_807E3C8, 10); } -bool32 sub_8080E64(void) +static bool32 PaletteFadeActive(void) { return gPaletteFade.active; } @@ -374,8 +374,8 @@ bool32 sub_8080E70(void) void sub_8080E88(void) { ScriptContext2_Enable(); - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); PlayRainSoundEffect(); PlaySE(SE_KAIDAN); gFieldCallback = mapldr_default; @@ -385,8 +385,8 @@ void sub_8080E88(void) void sp13E_warp_to_last_warp(void) { ScriptContext2_Enable(); - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); PlayRainSoundEffect(); gFieldCallback = mapldr_default; CreateTask(task0A_fade_n_map_maybe, 10); @@ -426,8 +426,8 @@ void sub_8080F58(void) void sub_8080F68(void) { ScriptContext2_Enable(); - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); PlaySE(SE_TK_WARPIN); CreateTask(task0A_fade_n_map_maybe, 10); gFieldCallback = sub_8080B78; @@ -436,12 +436,12 @@ void sub_8080F68(void) void sub_8080F9C(void) { ScriptContext2_Enable(); - fade_8080918(); + WarpFadeScreen(); CreateTask(task0A_fade_n_map_maybe, 10); gFieldCallback = sub_80C791C; } -void sub_8080FC4(u8 taskId) +static void WaitCableClubWarp(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -452,13 +452,11 @@ void sub_8080FC4(u8 taskId) task->data[0]++; break; case 1: - if (!sub_8080E64() && sub_8054034()) - { + if (!PaletteFadeActive() && BGMusicStopped()) task->data[0]++; - } break; case 2: - warp_in(); + WarpIntoMap(); SetMainCallback2(sub_8054588); DestroyTask(taskId); break; @@ -468,10 +466,10 @@ void sub_8080FC4(u8 taskId) void DoCableClubWarp(void) { ScriptContext2_Enable(); - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); PlaySE(SE_KAIDAN); - CreateTask(sub_8080FC4, 10); + CreateTask(WaitCableClubWarp, 10); } void sub_8081050(u8 taskId) @@ -482,13 +480,13 @@ void sub_8081050(u8 taskId) { case 0: ClearLinkCallback_2(); - FadeScreen(1, 0); - sub_8053FF8(); + FadeScreen(FADE_TO_BLACK, 0); + TryFadeOutOldMapMusic(); PlaySE(SE_KAIDAN); data[0]++; break; case 1: - if (!sub_8080E64() && sub_8054034()) + if (!PaletteFadeActive() && BGMusicStopped()) { sub_800832C(); data[0]++; @@ -497,7 +495,7 @@ void sub_8081050(u8 taskId) case 2: if (!gReceivedRemoteLinkPlayers) { - warp_in(); + WarpIntoMap(); SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); } @@ -538,13 +536,13 @@ void task0A_fade_n_map_maybe(u8 taskId) task->data[0]++; break; case 1: - if (!sub_8080E64() && sub_8054034()) + if (!PaletteFadeActive() && BGMusicStopped()) { task->data[0]++; } break; case 2: - warp_in(); + WarpIntoMap(); SetMainCallback2(CB2_LoadMap); DestroyTask(taskId); break; @@ -595,8 +593,8 @@ void sub_808115C(u8 taskId) } break; case 4: - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); PlayRainSoundEffect(); task->data[0] = 0; task->func = task0A_fade_n_map_maybe; @@ -616,13 +614,13 @@ void sub_80812C8(u8 taskId) task->data[0]++; break; case 1: - if (!sub_8080E64() && sub_8054034()) + if (!PaletteFadeActive() && BGMusicStopped()) { task->data[0]++; } break; case 2: - warp_in(); + WarpIntoMap(); SetMainCallback2(sub_8054534); DestroyTask(taskId); break; @@ -632,8 +630,8 @@ void sub_80812C8(u8 taskId) void sub_8081334(void) { ScriptContext2_Enable(); - sub_8053FF8(); - fade_8080918(); + TryFadeOutOldMapMusic(); + WarpFadeScreen(); PlayRainSoundEffect(); PlaySE(SE_KAIDAN); gFieldCallback = sub_8080B60; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index b314699c5..13bc1bd63 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -9,71 +9,78 @@ #include "text.h" #include "scanline_effect.h" -const static u16 gUnknown_0839ACDC[] = { 0xC8, 0x48, 0x38, 0x28, 0x18, 0x0 }; +const static u16 sFlashLevelPixelRadii[] = { 200, 72, 56, 40, 24, 0 }; const s32 gMaxFlashLevel = 4; -const static struct ScanlineEffectParams gUnknown_0839ACEC = +const static struct ScanlineEffectParams sFlashEffectParams = { (void *)REG_ADDR_WIN0H, ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1, 1 }; -static void sub_808136C(u16 *dest, u32 a2, s32 a3, s32 a4) +static void SetFlashScanlineffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right) { - if (a2 <= 0xA0) + if (y <= 160) { - if (a3 < 0) - a3 = 0; - if (a3 > 255) - a3 = 255; - if (a4 < 0) - a4 = 0; - if (a4 > 255) - a4 = 255; - dest[a2] = (a3 << 8) | a4; + if (left < 0) + left = 0; + if (left > 255) + left = 255; + if (right < 0) + right = 0; + if (right > 255) + right = 255; + dest[y] = (left << 8) | right; } } -static void sub_8081398(u16 *dest, s32 a2, s32 a3, s32 a4) +static void SetFlashScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 centerY, s32 radius) { - s32 v1 = a4; - s32 v2 = a4; + s32 r = radius; + s32 v2 = radius; s32 v3 = 0; - while (v1 >= v3) + while (r >= v3) { - sub_808136C(dest, a3 - v3, a2 - v1, a2 + v1); - sub_808136C(dest, a3 + v3, a2 - v1, a2 + v1); - sub_808136C(dest, a3 - v1, a2 - v3, a2 + v3); - sub_808136C(dest, a3 + v1, a2 - v3, a2 + v3); + SetFlashScanlineffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r); + SetFlashScanlineffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r); + SetFlashScanlineffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3); + SetFlashScanlineffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3); v2 -= (v3 * 2) - 1; v3++; if (v2 < 0) { - v2 += 2 * (v1 - 1); - v1--; + v2 += 2 * (r - 1); + r--; } } } -static void sub_8081424(u8 taskId) +#define tFlashCenterX data[1] +#define tFlashCenterY data[2] +#define tCurFlashRadius data[3] +#define tDestFlashRadius data[4] +#define tFlashRadiusDelta data[5] +#define tClearScanlineEffect data[6] + +static void UpdateFlashLevelEffect(u8 taskId) { s16 *data = gTasks[taskId].data; switch (data[0]) { case 0: - sub_8081398(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], data[1], data[2], data[3]); + SetFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius); data[0] = 1; break; case 1: - sub_8081398(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], data[1], data[2], data[3]); + SetFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius); data[0] = 0; - data[3] += data[5]; - if (data[3] > data[4]) + tCurFlashRadius += tFlashRadiusDelta; + if (tCurFlashRadius > tDestFlashRadius) { - if (data[6] == 1) + if (tClearScanlineEffect == 1) { ScanlineEffect_Stop(); data[0] = 2; @@ -93,7 +100,7 @@ static void sub_8081424(u8 taskId) static void sub_80814E8(u8 taskId) { - if (!FuncIsActiveTask(sub_8081424)) + if (!FuncIsActiveTask(UpdateFlashLevelEffect)) { EnableBothScriptContexts(); DestroyTask(taskId); @@ -106,41 +113,46 @@ static void sub_8081510(void) CreateTask(sub_80814E8, 80); } -static u8 sub_8081534(s32 a1, s32 a2, s32 a3, s32 a4, s32 a5, u8 a6) +static u8 sub_8081534(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta) { - u8 taskId = CreateTask(sub_8081424, 80); + u8 taskId = CreateTask(UpdateFlashLevelEffect, 80); s16 *data = gTasks[taskId].data; - data[3] = a3; - data[4] = a4; - data[1] = a1; - data[2] = a2; - data[6] = a5; + tCurFlashRadius = initialFlashRadius; + tDestFlashRadius = destFlashRadius; + tFlashCenterX = centerX; + tFlashCenterY = centerY; + tClearScanlineEffect = clearScanlineEffect; - if (a3 < a4) - data[5] = a6; + if (initialFlashRadius < destFlashRadius) + tFlashRadiusDelta = delta; else - data[5] = -a6; + tFlashRadiusDelta = -delta; return taskId; } -void sub_8081594(u8 a1) +#undef tCurFlashRadius +#undef tDestFlashRadius +#undef tFlashRadiusDelta +#undef tClearScanlineEffect + +void sub_8081594(u8 flashLevel) { - u8 flashLevel = Overworld_GetFlashLevel(); + u8 curFlashLevel = Overworld_GetFlashLevel(); u8 value = 0; - if (!a1) + if (!flashLevel) value = 1; - sub_8081534(120, 80, gUnknown_0839ACDC[flashLevel], gUnknown_0839ACDC[a1], value, 1); + sub_8081534(120, 80, sFlashLevelPixelRadii[curFlashLevel], sFlashLevelPixelRadii[flashLevel], value, 1); sub_8081510(); ScriptContext2_Enable(); } -void sub_80815E0(u8 a1) +void WriteFlashScanlineEffectBuffer(u8 flashLevel) { - if (a1) + if (flashLevel) { - sub_8081398(&gScanlineEffectRegBuffers[0][0], 120, 80, gUnknown_0839ACDC[a1]); + SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], 120, 80, sFlashLevelPixelRadii[flashLevel]); CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480); } } @@ -208,10 +220,9 @@ static void sub_80816A8(u8 taskId) REG_BLDALPHA = 1804; REG_WININ = 63; REG_WINOUT = 30; - sub_8081398(&gScanlineEffectRegBuffers[0][0], data[2], data[3], 1); + SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], data[2], data[3], 1); CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480); - //ScanlineEffect_SetParams(gUnknown_0839ACEC[0], gUnknown_0839ACEC[1], gUnknown_0839ACEC[2]); - ScanlineEffect_SetParams(gUnknown_0839ACEC); + ScanlineEffect_SetParams(sFlashEffectParams); data[0] = 1; break; case 1: @@ -221,7 +232,7 @@ static void sub_80816A8(u8 taskId) data[0] = 2; break; case 2: - if (!FuncIsActiveTask(sub_8081424)) + if (!FuncIsActiveTask(UpdateFlashLevelEffect)) { EnableBothScriptContexts(); data[0] = 3; @@ -323,7 +334,7 @@ void sub_8081924(void) static void task50_0807F0C8(u8 taskId) { - if (sub_8054034() == TRUE) + if (BGMusicStopped() == TRUE) { DestroyTask(taskId); EnableBothScriptContexts(); diff --git a/src/field_specials.c b/src/field_specials.c index cb400dc2d..f7b14dad8 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -21,6 +21,7 @@ #include "constants/species.h" #include "constants/abilities.h" #include "constants/moves.h" +#include "constants/weather.h" #include "text.h" #include "wallclock.h" #include "tv.h" @@ -42,7 +43,7 @@ #define CHAR_DECIMAL_SEPARATOR CHAR_COMMA #endif -extern struct WarpData gUnknown_020297F0; +extern struct WarpData gLastUsedWarp; extern u8 gBattleOutcome; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; @@ -207,7 +208,7 @@ u16 GetRecordedCyclingRoadResults(void) { } void UpdateCyclingRoadState(void) { - if (gUnknown_020297F0.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE) && gUnknown_020297F0.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE)) + if (gLastUsedWarp.mapNum == MAP_NUM(ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE) && gLastUsedWarp.mapGroup == MAP_GROUP(ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE)) { return; } @@ -2009,17 +2010,17 @@ bool8 FoundBlackGlasses(void) void SetRoute119Weather(void) { - if (is_map_type_1_2_3_5_or_6(get_map_type_from_warp0()) != TRUE) + if (is_map_type_1_2_3_5_or_6(GetLastUsedWarpMapType()) != TRUE) { - SetSav1Weather(0x14); + SetSav1Weather(WEATHER_ROUTE119_CYCLE); } } void SetRoute123Weather(void) { - if (is_map_type_1_2_3_5_or_6(get_map_type_from_warp0()) != TRUE) + if (is_map_type_1_2_3_5_or_6(GetLastUsedWarpMapType()) != TRUE) { - SetSav1Weather(0x15); + SetSav1Weather(WEATHER_ROUTE123_CYCLE); } } @@ -2027,13 +2028,12 @@ u8 GetLeadMonIndex(void) { u8 i; u8 partyCount = CalculatePlayerPartyCount(); - for (i=0; i= NUM_GAME_STATS) + if (stat >= NUM_GAME_STATS) return 0; - return gSaveBlock1.gameStats[index]; + return gSaveBlock1.gameStats[stat]; } -void SetGameStat(u8 index, u32 value) +void SetGameStat(u8 stat, u32 value) { - if (index < NUM_GAME_STATS) - gSaveBlock1.gameStats[index] = value; + if (stat < NUM_GAME_STATS) + gSaveBlock1.gameStats[stat] = value; } void LoadEventObjTemplatesFromHeader(void) @@ -342,7 +342,7 @@ static void mapdata_load_assets_to_gpu_and_full_redraw(void) cur_mapheader_run_tileset_funcs_after_some_cpuset(); } -static struct MapData *get_mapdata_header(void) +static struct MapData *GetCurrentMapData(void) { u16 mapDataId = gSaveBlock1.mapDataId; if (mapDataId) @@ -352,10 +352,10 @@ static struct MapData *get_mapdata_header(void) static void ApplyCurrentWarp(void) { - gUnknown_020297F0 = gSaveBlock1.location; + gLastUsedWarp = gSaveBlock1.location; gSaveBlock1.location = gWarpDestination; - gUnknown_02029800 = sDummyWarpData; - gUnknown_02029808 = sDummyWarpData; + gFixedDiveWarp = sDummyWarpData; + gFixedHoleWarp = sDummyWarpData; } static void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) @@ -367,7 +367,7 @@ static void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId warp->y = y; } -static bool32 warp_data_is_not_neg_1(struct WarpData *warp) +static bool32 IsDummyWarp(struct WarpData *warp) { if (warp->mapGroup != -1) return FALSE; @@ -387,25 +387,25 @@ struct MapHeader *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 map return gMapGroups[mapGroup][mapNum]; } -struct MapHeader *const warp1_get_mapheader(void) +struct MapHeader *const GetDestinationWarpMapHeader(void) { return Overworld_GetMapHeaderByGroupAndId(gWarpDestination.mapGroup, gWarpDestination.mapNum); } -static void set_current_map_header_from_sav1_save_old_name(void) +static void LoadCurrentMapData(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum); gSaveBlock1.mapDataId = gMapHeader.mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gMapHeader.mapData = GetCurrentMapData(); } static void LoadSaveblockMapHeader(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum); - gMapHeader.mapData = get_mapdata_header(); + gMapHeader.mapData = GetCurrentMapData(); } -void sub_80533CC(void) +static void SetPlayerCoordsFromWarp(void) { if (gSaveBlock1.location.warpId >= 0 && gSaveBlock1.location.warpId < gMapHeader.events->warpCount) { @@ -424,11 +424,11 @@ void sub_80533CC(void) } } -void warp_in(void) +void WarpIntoMap(void) { ApplyCurrentWarp(); - set_current_map_header_from_sav1_save_old_name(); - sub_80533CC(); + LoadCurrentMapData(); + SetPlayerCoordsFromWarp(); } void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) @@ -495,31 +495,27 @@ void sub_8053678(void) gWarpDestination = gSaveBlock1.warp4; } -void sub_8053690(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - SetWarpData(&gUnknown_02029800, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gFixedDiveWarp, mapGroup, mapNum, warpId, x, y); } -static void warp1_set_to_warp2(void) +static void SetFixedDiveWarpAsDestination(void) { - gWarpDestination = gUnknown_02029800; + gWarpDestination = gFixedDiveWarp; } -void sub_80536E4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - SetWarpData(&gUnknown_02029808, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gFixedHoleWarp, mapGroup, mapNum, warpId, x, y); } -void sub_8053720(s16 x, s16 y) +void SetFixedHoleWarpAsDestination(s16 x, s16 y) { - if (warp_data_is_not_neg_1(&gUnknown_02029808) == TRUE) - { - gWarpDestination = gUnknown_020297F0; - } + if (IsDummyWarp(&gFixedHoleWarp) == TRUE) + gWarpDestination = gLastUsedWarp; else - { - Overworld_SetWarpDestination(gUnknown_02029808.mapGroup, gUnknown_02029808.mapNum, -1, x, y); - } + Overworld_SetWarpDestination(gFixedHoleWarp.mapGroup, gFixedHoleWarp.mapNum, -1, x, y); } void sub_8053778(void) @@ -563,7 +559,6 @@ struct MapConnection *GetMapConnection(u8 dir) static bool8 SetDiveWarp(u8 direction, u16 x, u16 y) { struct MapConnection *connection = GetMapConnection(direction); - if (connection != NULL) { Overworld_SetWarpDestination(connection->mapGroup, connection->mapNum, -1, x, y); @@ -571,10 +566,12 @@ static bool8 SetDiveWarp(u8 direction, u16 x, u16 y) else { mapheader_run_script_with_tag_x6(); - if (warp_data_is_not_neg_1(&gUnknown_02029800)) + if (IsDummyWarp(&gFixedDiveWarp)) return FALSE; - warp1_set_to_warp2(); + + SetFixedDiveWarpAsDestination(); } + return TRUE; } @@ -595,7 +592,7 @@ void sub_80538F0(u8 mapGroup, u8 mapNum) Overworld_SetWarpDestination(mapGroup, mapNum, -1, -1, -1); sub_8053F0C(); ApplyCurrentWarp(); - set_current_map_header_from_sav1_save_old_name(); + LoadCurrentMapData(); LoadEventObjTemplatesFromHeader(); ClearTempFieldEventData(); ResetCyclingRoadChallengeData(); @@ -628,7 +625,7 @@ void sub_8053994(u32 a1) bool8 v2; bool8 v3; - set_current_map_header_from_sav1_save_old_name(); + LoadCurrentMapData(); LoadEventObjTemplatesFromHeader(); v2 = is_map_type_1_2_3_5_or_6(gMapHeader.mapType); v3 = Overworld_MapTypeIsIndoors(gMapHeader.mapType); @@ -655,82 +652,82 @@ void sub_8053994(u32 a1) } } -void player_avatar_init_params_reset(void) +void ResetInitialPlayerAvatarState(void) { - gUnknown_02029810.player_field_1 = 1; - gUnknown_02029810.player_field_0 = 1; + gInitialPlayerAvatarState.direction = DIR_SOUTH; + gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ON_FOOT; } -void walkrun_find_lowest_active_bit_in_bitfield(void) +void StoreInitialPlayerAvatarState(void) { - gUnknown_02029810.player_field_1 = GetPlayerFacingDirection(); + gInitialPlayerAvatarState.direction = GetPlayerFacingDirection(); if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE)) - gUnknown_02029810.player_field_0 = 2; + gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_MACH_BIKE; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE)) - gUnknown_02029810.player_field_0 = 4; + gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ACRO_BIKE; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - gUnknown_02029810.player_field_0 = 8; + gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_SURFING; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_UNDERWATER)) - gUnknown_02029810.player_field_0 = 16; + gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_UNDERWATER; else - gUnknown_02029810.player_field_0 = 1; + gInitialPlayerAvatarState.transitionFlags = PLAYER_AVATAR_FLAG_ON_FOOT; } -struct UnkPlayerStruct *sub_8053AA8(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_8053B00(&gUnknown_02029810, v2, mapType); - playerStruct.player_field_0 = v4; - playerStruct.player_field_1 = sub_8053B60(&gUnknown_02029810, v4, v2, mapType); - gUnknown_02029810 = playerStruct; - return &gUnknown_02029810; -} - -u8 sub_8053B00(struct UnkPlayerStruct *playerStruct, u16 a2, u8 a3) -{ - if (a3 != 8 && FlagGet(FLAG_SYS_CRUISE_MODE)) - return 1; - if (a3 == 5) - return 16; - if (MetatileBehavior_IsSurfableWaterOrUnderwater(a2) == 1) - return 8; + 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 GetAdjustedInitialTransitionFlags(struct InitialPlayerAvatarState *playerStruct, u16 metatileBehavior, u8 mapType) +{ + if (mapType != MAP_TYPE_INDOOR && FlagGet(FLAG_SYS_CRUISE_MODE)) + return PLAYER_AVATAR_FLAG_ON_FOOT; + if (mapType == MAP_TYPE_UNDERWATER) + return PLAYER_AVATAR_FLAG_UNDERWATER; + if (MetatileBehavior_IsSurfableWaterOrUnderwater(metatileBehavior) == TRUE) + return PLAYER_AVATAR_FLAG_SURFING; if (Overworld_IsBikingAllowed() != TRUE) - return 1; - if (playerStruct->player_field_0 == 2) - return 2; - if (playerStruct->player_field_0 != 4) - return 1; - return 4; -} - -u8 sub_8053B60(struct UnkPlayerStruct *playerStruct, u8 a2, u16 a3, u8 a4) -{ - if (FlagGet(FLAG_SYS_CRUISE_MODE) && a4 == 6) - return 4; - if (MetatileBehavior_IsDeepSouthWarp(a3) == TRUE) - return 2; - if (MetatileBehavior_IsNonAnimDoor(a3) == TRUE || MetatileBehavior_IsDoor(a3) == TRUE) - return 1; - if (MetatileBehavior_IsSouthArrowWarp(a3) == TRUE) - return 2; - if (MetatileBehavior_IsNorthArrowWarp(a3) == TRUE) - return 1; - if (MetatileBehavior_IsWestArrowWarp(a3) == TRUE) - return 4; - if (MetatileBehavior_IsEastArrowWarp(a3) == TRUE) - return 3; - if ((playerStruct->player_field_0 == 16 && a2 == 8) - || (playerStruct->player_field_0 == 8 && a2 == 16)) - return playerStruct->player_field_1; - if (MetatileBehavior_IsLadder(a3) == TRUE) - return playerStruct->player_field_1; - return 1; -} - -u16 cur_mapdata_block_role_at_screen_center_acc_to_sav1(void) + return PLAYER_AVATAR_FLAG_ON_FOOT; + if (playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_MACH_BIKE) + return PLAYER_AVATAR_FLAG_MACH_BIKE; + if (playerStruct->transitionFlags != PLAYER_AVATAR_FLAG_ACRO_BIKE) + return PLAYER_AVATAR_FLAG_ON_FOOT; + return PLAYER_AVATAR_FLAG_ACRO_BIKE; +} + +static u8 GetAdjustedInitialDirection(struct InitialPlayerAvatarState *playerStruct, u8 transitionFlags, u16 metatileBehavior, u8 mapType) +{ + if (FlagGet(FLAG_SYS_CRUISE_MODE) && mapType == MAP_TYPE_6) + return DIR_EAST; + if (MetatileBehavior_IsDeepSouthWarp(metatileBehavior) == TRUE) + return DIR_NORTH; + if (MetatileBehavior_IsNonAnimDoor(metatileBehavior) == TRUE || MetatileBehavior_IsDoor(metatileBehavior) == TRUE) + return DIR_SOUTH; + if (MetatileBehavior_IsSouthArrowWarp(metatileBehavior) == TRUE) + return DIR_NORTH; + if (MetatileBehavior_IsNorthArrowWarp(metatileBehavior) == TRUE) + return DIR_SOUTH; + if (MetatileBehavior_IsWestArrowWarp(metatileBehavior) == TRUE) + return DIR_EAST; + if (MetatileBehavior_IsEastArrowWarp(metatileBehavior) == TRUE) + return DIR_WEST; + if ((playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_UNDERWATER && transitionFlags == PLAYER_AVATAR_FLAG_SURFING) + || (playerStruct->transitionFlags == PLAYER_AVATAR_FLAG_SURFING && transitionFlags == PLAYER_AVATAR_FLAG_UNDERWATER)) + return playerStruct->direction; + if (MetatileBehavior_IsLadder(metatileBehavior) == TRUE) + return playerStruct->direction; + return DIR_SOUTH; +} + +u16 GetCenterScreenMetatileBehavior(void) { return MapGridGetMetatileBehaviorAt(gSaveBlock1.pos.x + 7, gSaveBlock1.pos.y + 7); } @@ -787,7 +784,7 @@ u8 Overworld_GetFlashLevel(void) void sub_8053D14(u16 mapDataId) { gSaveBlock1.mapDataId = mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gMapHeader.mapData = GetCurrentMapData(); } static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp) @@ -949,14 +946,14 @@ void Overworld_ChangeMusicTo(u16 newMusic) u8 GetMapMusicFadeoutSpeed(void) { - struct MapHeader *mapHeader = warp1_get_mapheader(); + struct MapHeader *mapHeader = GetDestinationWarpMapHeader(); if (Overworld_MapTypeIsIndoors(mapHeader->mapType) == TRUE) return 2; else return 4; } -void sub_8053FF8(void) +void TryFadeOutOldMapMusic(void) { u16 music = GetWarpDestinationMusic(); if (FlagGet(FLAG_SPECIAL_FLAG_1) != TRUE && music != GetCurrentMapMusic()) @@ -966,7 +963,7 @@ void sub_8053FF8(void) } } -bool8 sub_8054034(void) +bool8 BGMusicStopped(void) { return IsNotWaitingForBGMStop(); } @@ -1054,9 +1051,9 @@ u8 Overworld_GetMapTypeOfSaveblockLocation(void) return GetMapTypeByWarpData(&gSaveBlock1.location); } -u8 get_map_type_from_warp0(void) +u8 GetLastUsedWarpMapType(void) { - return GetMapTypeByWarpData(&gUnknown_020297F0); + return GetMapTypeByWarpData(&gLastUsedWarp); } bool8 is_map_type_1_2_3_5_or_6(u8 mapType) @@ -1246,7 +1243,7 @@ void sub_80543DC(u16 (*a1)(u32)) gUnknown_03000584 = a1; } -void sub_80543E8(void) +static void RunFieldCallback(void) { if (gFieldCallback != NULL) gFieldCallback(); @@ -1261,7 +1258,7 @@ void CB2_NewGame(void) StopMapMusic(); ResetSafariZoneFlag_(); NewGameInitData(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); PlayTimeCounter_Start(); ScriptContext1_Init(); ScriptContext2_Disable(); @@ -1274,14 +1271,12 @@ void CB2_NewGame(void) #if DEBUG -extern void (*gFieldCallback)(void); - void debug_sub_8058C00(void) { FieldClearVBlankHBlankCallbacks(); StopMapMusic(); ResetSafariZoneFlag_(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); PlayTimeCounter_Start(); ScriptContext1_Init(); ScriptContext2_Disable(); @@ -1309,7 +1304,7 @@ void CB2_WhiteOut(void) StopMapMusic(); ResetSafariZoneFlag_(); DoWhiteOut(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); ScriptContext1_Init(); ScriptContext2_Disable(); gFieldCallback = sub_8080B60; @@ -1363,7 +1358,7 @@ void sub_8054588(void) SetMainCallback2(c2_80567AC); } -void c2_80567AC(void) +static void c2_80567AC(void) { if (sub_805483C(&gMain.state)) { @@ -1472,7 +1467,7 @@ void CB2_ContinueSavedGame(void) { ClearSecretBase2Field_9(); sub_8053778(); - warp_in(); + WarpIntoMap(); SetMainCallback2(CB2_LoadMap); } else @@ -1509,19 +1504,19 @@ void VBlankCB_Field(void) sub_8072E74(); } -void sub_8054814(void) +static void InitCurrentFlashLevelScanlineEffect(void) { - u8 val = Overworld_GetFlashLevel(); - if (val) + u8 flashLevel = Overworld_GetFlashLevel(); + if (flashLevel) { - sub_80815E0(val); - ScanlineEffect_SetParams(gUnknown_08216694); + WriteFlashScanlineEffectBuffer(flashLevel); + ScanlineEffect_SetParams(sFlashEffectParams); } } -bool32 sub_805483C(u8 *a1) +static bool32 sub_805483C(u8 *state) { - switch (*a1) + switch (*state) { case 0: FieldClearVBlankHBlankCallbacks(); @@ -1529,60 +1524,60 @@ bool32 sub_805483C(u8 *a1) ScriptContext2_Disable(); sub_8054F70(); sub_8054BA8(); - (*a1)++; + (*state)++; break; case 1: sub_8053994(1); - (*a1)++; + (*state)++; break; case 2: sub_8054D4C(1); - (*a1)++; + (*state)++; break; case 3: sub_8054E98(); sub_8054D90(); sub_8054EC8(); sub_8054E60(); - (*a1)++; + (*state)++; break; case 4: - sub_8054814(); - sub_8054C54(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gMenuTextWindowTemplate); - (*a1)++; + (*state)++; break; case 5: move_tilemap_camera_to_upper_left_corner(); - (*a1)++; + (*state)++; break; case 6: sub_8056D28(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 7: sub_8056D38(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 8: apply_map_tileset1_tileset2_palette(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 9: DrawWholeMapView(); - (*a1)++; + (*state)++; break; case 10: cur_mapheader_run_tileset_funcs_after_some_cpuset(); - (*a1)++; + (*state)++; break; case 12: - sub_80543E8(); - (*a1)++; + RunFieldCallback(); + (*state)++; break; case 11: - (*a1)++; + (*state)++; break; case 13: return 1; @@ -1590,67 +1585,67 @@ bool32 sub_805483C(u8 *a1) return 0; } -bool32 sub_805493C(u8 *a1, u32 a2) +bool32 sub_805493C(u8 *state, u32 a2) { - switch (*a1) + switch (*state) { case 0: FieldClearVBlankHBlankCallbacks(); sub_8053994(a2); - (*a1)++; + (*state)++; break; case 1: sub_8054BA8(); - (*a1)++; + (*state)++; break; case 2: sub_8054D4C(a2); - (*a1)++; + (*state)++; break; case 3: mli4_mapscripts_and_other(); sub_8054E34(); - (*a1)++; + (*state)++; break; case 4: - sub_8054814(); - sub_8054C54(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gMenuTextWindowTemplate); - (*a1)++; + (*state)++; break; case 5: move_tilemap_camera_to_upper_left_corner(); - (*a1)++; + (*state)++; break; case 6: sub_8056D28(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 7: sub_8056D38(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 8: apply_map_tileset1_tileset2_palette(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 9: DrawWholeMapView(); - (*a1)++; + (*state)++; break; case 10: cur_mapheader_run_tileset_funcs_after_some_cpuset(); - (*a1)++; + (*state)++; break; case 11: if (gMapHeader.flags == 1 && sub_80BBB24() == 1) ShowMapNamePopup(); - (*a1)++; + (*state)++; break; case 12: - sub_80543E8(); - (*a1)++; + RunFieldCallback(); + (*state)++; break; case 13: return 1; @@ -1658,24 +1653,24 @@ bool32 sub_805493C(u8 *a1, u32 a2) return 0; } -bool32 sub_8054A4C(u8 *a1) +bool32 sub_8054A4C(u8 *state) { - switch (*a1) + switch (*state) { case 0: sub_8054BA8(); sub_8054D4C(0); sub_8054E20(); sub_8054E34(); - (*a1)++; + (*state)++; break; case 1: sub_8054C2C(); - (*a1)++; + (*state)++; break; case 2: - sub_80543E8(); - (*a1)++; + RunFieldCallback(); + (*state)++; break; case 3: return 1; @@ -1683,67 +1678,67 @@ bool32 sub_8054A4C(u8 *a1) return 0; } -bool32 sub_8054A9C(u8 *a1) +bool32 sub_8054A9C(u8 *state) { - switch (*a1) + switch (*state) { case 0: FieldClearVBlankHBlankCallbacks(); sub_8054BA8(); - (*a1)++; + (*state)++; break; case 1: sub_8054D4C(1); - (*a1)++; + (*state)++; break; case 2: sub_8054F48(); sub_8054E20(); sub_8054E7C(); - (*a1)++; + (*state)++; break; case 3: - sub_8054814(); - sub_8054C54(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gMenuTextWindowTemplate); - (*a1)++; + (*state)++; break; case 4: move_tilemap_camera_to_upper_left_corner(); - (*a1)++; + (*state)++; break; case 5: sub_8056D28(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 6: sub_8056D38(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 7: apply_map_tileset1_tileset2_palette(gMapHeader.mapData); - (*a1)++; + (*state)++; break; case 8: DrawWholeMapView(); - (*a1)++; + (*state)++; break; case 9: cur_mapheader_run_tileset_funcs_after_some_cpuset(); - (*a1)++; + (*state)++; break; case 12: - sub_80543E8(); - (*a1)++; + RunFieldCallback(); + (*state)++; break; case 10: case 11: - (*a1)++; + (*state)++; break; case 13: SetFieldVBlankCallback(); - (*a1)++; + (*state)++; return 1; } return 0; @@ -1769,14 +1764,14 @@ void sub_8054BA8(void) void sub_8054C2C(void) { - sub_8054814(); - sub_8054C54(); + InitCurrentFlashLevelScanlineEffect(); + InitOverworldGraphicsRegisters(); Text_LoadWindowTemplate(&gWindowTemplate_81E6C3C); InitMenuWindow(&gMenuTextWindowTemplate); mapdata_load_assets_to_gpu_and_full_redraw(); } -void sub_8054C54(void) +static void InitOverworldGraphicsRegisters(void) { REG_MOSAIC = 0; REG_WININ = 7967; @@ -1832,15 +1827,15 @@ void sub_8054D90(void) void mli4_mapscripts_and_other(void) { s16 x, y; - struct UnkPlayerStruct *player; + struct InitialPlayerAvatarState *initialPlayerAvatarState; gTotalCameraPixelOffsetX = 0; gTotalCameraPixelOffsetY = 0; sub_805AA98(); sav1_camera_get_focus_coords(&x, &y); - player = sub_8053AA8(); - InitPlayerAvatar(x, y, player->player_field_1, gSaveBlock2.playerGender); - SetPlayerAvatarTransitionFlags(player->player_field_0); - player_avatar_init_params_reset(); + initialPlayerAvatarState = GetInitialPlayerAvatarState(); + InitPlayerAvatar(x, y, initialPlayerAvatarState->direction, gSaveBlock2.playerGender); + SetPlayerAvatarTransitionFlags(initialPlayerAvatarState->transitionFlags); + ResetInitialPlayerAvatarState(); TrySpawnEventObjects(0, 0); ResetBerryTreeSparkleFlags(); mapheader_run_first_tag4_script_list_match(); @@ -2327,8 +2322,8 @@ u8 *sub_805568C(struct UnkStruct_8054FF8 *a1) return 0; unkStruct = a1->sub; - unkStruct.x += gUnknown_0821664C[a1->d].x; - unkStruct.y += gUnknown_0821664C[a1->d].y; + unkStruct.x += gDirectionToVectors[a1->d].x; + unkStruct.y += gDirectionToVectors[a1->d].y; unkStruct.height = 0; linkPlayerId = GetLinkPlayerIdAt(unkStruct.x, unkStruct.y); diff --git a/src/safari_zone.c b/src/safari_zone.c index 7cc8e16a0..9272da902 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -102,7 +102,7 @@ void sub_80C824C(void) else if (gBattleOutcome == 8) { ScriptContext2_RunNewScript(&gUnknown_081C340A); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_8080E44; SetMainCallback2(CB2_LoadMap); } diff --git a/src/scrcmd.c b/src/scrcmd.c index ca49dc0df..d37e1180d 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -42,6 +42,7 @@ #include "sound.h" #include "string_util.h" #include "tv.h" +#include "constants/maps.h" typedef u16 (*SpecialFunc)(void); typedef void (*NativeFunc)(void); @@ -725,7 +726,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_8080E88(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -739,7 +740,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; } @@ -753,7 +754,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_8080EF0(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -765,12 +766,12 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) u16 y; PlayerGetDestCoords(&x, &y); - if (mapGroup == 0xFF && mapNum == 0xFF) - sub_8053720(x - 7, y - 7); + if (mapGroup == MAP_GROUP(UNDEFINED) && mapNum == MAP_NUM(UNDEFINED)) + 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; } @@ -784,7 +785,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_8080F68(); - player_avatar_init_params_reset(); + ResetInitialPlayerAvatarState(); return TRUE; } @@ -820,7 +821,7 @@ bool8 ScrCmd_setdivewarp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_8053690(mapGroup, mapNum, warpId, x, y); + SetFixedDiveWarp(mapGroup, mapNum, warpId, x, y); return FALSE; } @@ -832,7 +833,7 @@ bool8 ScrCmd_setholewarp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_80536E4(mapGroup, mapNum, warpId, x, y); + SetFixedHoleWarp(mapGroup, mapNum, warpId, x, y); return FALSE; } diff --git a/src/secret_base.c b/src/secret_base.c index 60ce80af5..69c7171d6 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -363,7 +363,7 @@ void sub_80BBA48(u8 taskid) if (gSaveBlock1.secretBases[curbaseid].sbr_field_10 < 0xff) gSaveBlock1.secretBases[curbaseid].sbr_field_10++; sub_80BBA14(); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_8080990; SetMainCallback2(CB2_LoadMap); DestroyTask(taskid); @@ -416,7 +416,7 @@ void sub_80BBBEC(u8 taskid) { idx = 4 * (gCurrentSecretBaseId / 10); Overworld_SetWarpDestination(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum, -1, gUnknown_083D1374[idx + 2], gUnknown_083D1374[idx + 3]); - warp_in(); + WarpIntoMap(); gFieldCallback = sub_80BBB90; SetMainCallback2(CB2_LoadMap); DestroyTask(taskid); @@ -578,7 +578,7 @@ void sub_80BC074(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(); diff --git a/src/time_events.c b/src/time_events.c index 4bd732788..d3acdaf2f 100644 --- a/src/time_events.c +++ b/src/time_events.c @@ -81,7 +81,7 @@ void UpdateShoalTideFlag(void) 1, }; - if (is_map_type_1_2_3_5_or_6(get_map_type_from_warp0())) + if (is_map_type_1_2_3_5_or_6(GetLastUsedWarpMapType())) { RtcCalcLocalTime(); if (tide[gLocalTime.hours]) -- cgit v1.2.3 From c6207577802db057298917089e427a6ab9e6edf9 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 16 Jun 2018 18:47:13 -0500 Subject: Fix typo --- src/field_screen_effect.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 13bc1bd63..4e5965ee3 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -20,7 +20,7 @@ const static struct ScanlineEffectParams sFlashEffectParams = 1 }; -static void SetFlashScanlineffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right) +static void SetFlashScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right) { if (y <= 160) { @@ -43,10 +43,10 @@ static void SetFlashScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 c s32 v3 = 0; while (r >= v3) { - SetFlashScanlineffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r); - SetFlashScanlineffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r); - SetFlashScanlineffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3); - SetFlashScanlineffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3); + SetFlashScanlineEffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r); + SetFlashScanlineEffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r); + SetFlashScanlineEffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3); + SetFlashScanlineEffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3); v2 -= (v3 * 2) - 1; v3++; if (v2 < 0) -- cgit v1.2.3 From ef31712404dc6336569b273e01f44d0ebdd31860 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Wed, 20 Jun 2018 11:45:16 +0100 Subject: Decompile sub_80DDED0 --- src/ghost.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index e77f26fb1..092677523 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -165,4 +165,22 @@ void sub_80DDE7C(u8 taskId) { return; gTasks[taskId].func = &sub_80DDED0; } +} + +void sub_80DDED0(u8 taskId) { + u8 r1; + if (gTasks[taskId].data[1] > 0) { + gTasks[taskId].data[1] -= 1; + return; + } + r1 = GetAnimBattlerSpriteId(0); + gTasks[taskId].data[0] += 8; + if (gTasks[taskId].data[0] <= 0xFF) { + obj_id_set_rotscale(r1, gTasks[taskId].data[0], gTasks[taskId].data[0], 0); + return; + } + sub_8078F40(r1); + DestroyAnimVisualTask(taskId); + REG_BLDCNT = 0; + REG_BLDALPHA = 0; } \ No newline at end of file -- cgit v1.2.3 From 6afdc9b4b1ec9215e58d562bd5db2b8dfd3df466 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Wed, 20 Jun 2018 12:37:55 +0100 Subject: Decompile sub_80DDF40 --- src/ghost.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 092677523..e854036f0 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -7,6 +7,7 @@ extern s16 gBattleAnimArgs[]; extern u8 gAnimBankTarget; extern u8 gUnknown_0202F7D2; +extern u8 gAnimBankAttacker; void sub_80DDBD8(struct Sprite *); void sub_80DDC4C(struct Sprite *); @@ -14,6 +15,7 @@ void sub_80DDCC8(struct Sprite *); void sub_80DDD78(struct Sprite *); void sub_80DDE7C(u8 taskId); void sub_80DDED0(u8 taskId); +void sub_80DDFE8(struct Sprite *); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -183,4 +185,21 @@ void sub_80DDED0(u8 taskId) { DestroyAnimVisualTask(taskId); REG_BLDCNT = 0; REG_BLDALPHA = 0; +} + +void sub_80DDF40(struct Sprite *sprite) { + u16 r5, r6; + r5 = sprite->pos1.x; + r6 = sprite->pos1.y; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[0]; + sprite->data[2] = gBattleAnimArgs[1]; + sprite->data[3] = gBattleAnimArgs[2]; + sprite->data[4] = sprite->pos1.x << 4; + sprite->data[5] = sprite->pos1.y << 4; + sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); + sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); + sprite->callback = &sub_80DDFE8; } \ No newline at end of file -- cgit v1.2.3 From 195d759f7c24910512c7758b2927cef943f83444 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Wed, 20 Jun 2018 16:12:12 +0100 Subject: Decompile sub_80DDFE8 --- src/ghost.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index e854036f0..d44df6818 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -202,4 +202,45 @@ void sub_80DDF40(struct Sprite *sprite) { sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); sprite->callback = &sub_80DDFE8; +} + +void sub_80DDFE8(struct Sprite *sprite) { + switch (sprite->data[0]) { + case 0: + sprite->data[4] += sprite->data[6]; + sprite->data[5] += sprite->data[7]; + sprite->pos1.x = sprite->data[4] >> 4; + sprite->pos1.y = sprite->data[5] >> 4; + sprite->data[1] -= 1; + if (sprite->data[1] > 0) + break; + sprite->data[0] += 1; + break; + case 1: + sprite->data[2] -= 1; + if (sprite->data[2] > 0) + break; + sprite->data[1] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sprite->data[4] = sprite->pos1.x << 4; + sprite->data[5] = sprite->pos1.y << 4; + sprite->data[6] = ((sprite->data[1] - sprite->pos1.x) << 4) / sprite->data[3]; + sprite->data[7] = ((sprite->data[2] - sprite->pos1.y) << 4) / sprite->data[3]; + sprite->data[0] += 1; + break; + case 2: + sprite->data[4] += sprite->data[6]; + sprite->data[5] += sprite->data[7]; + sprite->pos1.x = sprite->data[4] >> 4; + sprite->pos1.y = sprite->data[5] >> 4; + sprite->data[3] -= 1; + if (sprite->data[3] > 0) + break; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sprite->data[0] += 1; + break; + case 3: + move_anim_8074EE0(sprite); + } } \ No newline at end of file -- cgit v1.2.3 From 413b8dbd46d992cd50a267fcac3767ce16e9bd3b Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Wed, 20 Jun 2018 16:14:56 +0100 Subject: Decompile sub_80DE0FC --- src/ghost.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index d44df6818..fdb2e52fa 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -16,6 +16,7 @@ void sub_80DDD78(struct Sprite *); void sub_80DDE7C(u8 taskId); void sub_80DDED0(u8 taskId); void sub_80DDFE8(struct Sprite *); +void sub_80DE114(struct Sprite *); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -243,4 +244,9 @@ void sub_80DDFE8(struct Sprite *sprite) { case 3: move_anim_8074EE0(sprite); } +} + +void sub_80DE0FC(struct Sprite *sprite) { + sub_8078764(sprite, 1); + sprite->callback = &sub_80DE114; } \ No newline at end of file -- cgit v1.2.3 From 2aab62a699a278e74246a33cf16d98550a913a67 Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 21 Jun 2018 02:26:48 +0430 Subject: decompiled a few functions --- src/battle/anim/flying.c | 276 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 274 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index 2f4fa6287..1277ab0bd 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -1,19 +1,25 @@ #include "global.h" -#include "sprite.h" -#include "rom_8077ABC.h" +#include "battle.h" #include "battle_anim.h" +#include "palette.h" +#include "rom_8077ABC.h" #include "trig.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern u8 gAnimVisualTaskCount; +void sub_80785E4(struct Sprite *sprite); void sub_80DA05C(struct Sprite *sprite); void sub_80DA16C(struct Sprite *sprite); +void sub_80DA1EC(struct Sprite *sprite); void sub_80DA208(struct Sprite *sprite); void sub_80DA300(struct Sprite *sprite); +void sub_80DA348(struct Sprite *sprite); void sub_80DA38C(struct Sprite *sprite); void sub_80DA4D8(struct Sprite *sprite); +void sub_80DA410(struct Sprite *sprite); void sub_80DAD30(struct Sprite *sprite); void sub_80DAD84(struct Sprite *sprite); void sub_80DB000(struct Sprite *sprite); @@ -25,6 +31,8 @@ void sub_80DB458(struct Sprite *sprite); void sub_80DB564(struct Sprite *sprite); void sub_80DB5E4(struct Sprite *sprite); +void sub_80DA0DC(u8 taskId); + void sub_80DA034(struct Sprite *sprite) { sub_8078764(sprite, 0); @@ -46,6 +54,270 @@ void sub_80DA05C(struct Sprite *sprite) } } +void sub_80DA09C(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[1]; + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x2719); + gTasks[taskId].func = sub_80DA0DC; +} + +#ifdef NONMATCHING +void sub_80DA0DC(u8 taskId) +{ + gTasks[taskId].data[10]++; + if(gTasks[taskId].data[10] == gTasks[taskId].data[1]) + { + u16 r0; + u16 r2; + s32 i; + + gTasks[taskId].data[10] = 0; + r0 = gTasks[taskId].data[2]; + r2 = gPlttBufferFaded[r0 * 8]; + for(i = 0; i < 8; i++) + gPlttBufferFaded[r0 * 8 + i + 0x107] = gPlttBufferFaded[r0 * 8 + i + 0x107]; + gTasks[taskId].data[2] = ((r0 + 0x101) * 2) + r2; + } + gTasks[taskId].data[0] = gTasks[taskId].data[0] * 32; + if(gTasks[taskId].data[0] == 0) + { + DestroyAnimVisualTask(taskId); + } +} +#else +NAKED +void sub_80DA0DC(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + ldr r2, _080DA15C @ =gTasks\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r3, r0, r2\n\ + ldrh r0, [r3, 0x1C]\n\ + adds r1, r0, 0x1\n\ + strh r1, [r3, 0x1C]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + movs r4, 0xA\n\ + ldrsh r1, [r3, r4]\n\ + adds r7, r2, 0\n\ + cmp r0, r1\n\ + bne _080DA13A\n\ + movs r0, 0\n\ + strh r0, [r3, 0x1C]\n\ + ldrb r0, [r3, 0xC]\n\ + ldr r2, _080DA160 @ =gPlttBufferFaded\n\ + lsls r0, 4\n\ + movs r3, 0x84\n\ + lsls r3, 1\n\ + adds r1, r0, r3\n\ + lsls r1, 1\n\ + adds r1, r2\n\ + ldrh r6, [r1]\n\ + movs r4, 0x7\n\ + mov r12, r0\n\ + ldr r0, _080DA164 @ =0x00000107\n\ + add r0, r12\n\ + lsls r0, 1\n\ + adds r3, r0, r2\n\ +_080DA122:\n\ + ldrh r0, [r3]\n\ + strh r0, [r1]\n\ + subs r3, 0x2\n\ + subs r1, 0x2\n\ + subs r4, 0x1\n\ + cmp r4, 0\n\ + bgt _080DA122\n\ + ldr r0, _080DA168 @ =0x00000101\n\ + add r0, r12\n\ + lsls r0, 1\n\ + adds r0, r2\n\ + strh r6, [r0]\n\ +_080DA13A:\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r0, r7\n\ + ldrh r1, [r0, 0x8]\n\ + subs r1, 0x1\n\ + strh r1, [r0, 0x8]\n\ + lsls r1, 16\n\ + cmp r1, 0\n\ + bne _080DA154\n\ + adds r0, r5, 0\n\ + bl DestroyAnimVisualTask\n\ +_080DA154:\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080DA15C: .4byte gTasks\n\ +_080DA160: .4byte gPlttBufferFaded\n\ +_080DA164: .4byte 0x00000107\n\ +_080DA168: .4byte 0x00000101\n\ + .syntax divided\n"); +} +#endif + +void sub_80DA16C(struct Sprite *sprite) +{ + InitAnimSpritePos(sprite, 1); + if (GetBattlerSide(gAnimBankAttacker) != 0) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + InitAnimSpriteTranslationDeltas(sprite); + sprite->callback = sub_80785E4; + StoreSpriteCallbackInData(sprite, sub_80DA1EC); +} + +void sub_80DA1EC(struct Sprite *sprite) +{ + if (TranslateAnimSpriteByDeltas(sprite) != 0) + { + DestroyAnimSprite(sprite); + } +} + +void sub_80DA208(struct Sprite *sprite) +{ + if (GetBattlerSide(gAnimBankAttacker) != 0) + { + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } + + if (IsContest()) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } + + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[4]; + + if (gBattleAnimArgs[6] == 0) + { + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + } + else + { + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + } + + sprite->data[2] = sprite->data[2] + gBattleAnimArgs[2]; + sprite->data[4] = sprite->data[4] + gBattleAnimArgs[3]; + sprite->callback = StartTranslateAnimSpriteByDeltas; + + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + SeekSpriteAnim(sprite, gBattleAnimArgs[5]); +} + +void sub_80DA300(struct Sprite *sprite) +{ + + InitAnimSpritePos(sprite, 1); + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->callback = sub_80DA348; + gSprites[GetAnimBattlerSpriteId(0)].invisible = 1; +} + +void sub_80DA348(struct Sprite *sprite) +{ + if (sprite->data[0] > 0) + { + sprite->data[0]--; + } + else + { + sprite->data[2] += sprite->data[1]; + sprite->pos2.y -= (sprite->data[2] >> 8); + } + + if (sprite->pos1.y + sprite->pos2.y < -32) + { + DestroyAnimSprite(sprite); + } +} + +void sub_80DA38C(struct Sprite *sprite) +{ + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + { + sprite->pos1.x = 272; + sprite->pos1.y = -32; + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->pos1.x = -32; + sprite->pos1.y = -32; + } + + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + + InitAnimSpriteTranslationDeltas(sprite); + sprite->callback = sub_80DA410; +} + +void sub_80DA410(struct Sprite *sprite) +{ + sprite->data[0] = 1; + TranslateAnimSpriteByDeltas(sprite); + + if (((u16)sprite->data[3] >> 8) > 200) + { + sprite->pos1.x += sprite->pos2.x; + sprite->pos2.x = 0; + sprite->data[3] &= 0xFF; + } + + if ((u32)(sprite->pos1.x + sprite->pos2.x + 32) > 304 || sprite->pos1.y + sprite->pos2.y > 160) + { + gSprites[GetAnimBattlerSpriteId(0)].invisible = 0; + DestroyAnimSprite(sprite); + } +} + +void sub_80DA48C(struct Sprite *sprite) +{ + if (sprite->data[0]-- <= 0) + { + if (sprite->oam.affineMode & 1) + { + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = 0; + } + + DestroySprite(sprite); + gAnimVisualTaskCount--; + } +} + +void sub_80DA4D8(struct Sprite *sprite) +{ + +} + const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA380 = { .tileTag = 10009, -- cgit v1.2.3 From ddcee9140701808ad70f4e903b837178b1d85496 Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 21 Jun 2018 02:35:42 +0430 Subject: whoops --- src/battle/anim/flying.c | 5 ----- 1 file changed, 5 deletions(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index 1277ab0bd..05138485b 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -313,11 +313,6 @@ void sub_80DA48C(struct Sprite *sprite) } } -void sub_80DA4D8(struct Sprite *sprite) -{ - -} - const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA380 = { .tileTag = 10009, -- cgit v1.2.3 From 9d9aef1b42f3ff6923824daf3fe07c562a661ac0 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 20 Jun 2018 17:47:23 -0500 Subject: Update file permissions --- src/battle/anim/current.c | 0 src/battle/anim/egg.c | 0 src/battle/anim/flying.c | 0 src/battle/anim/ghost.c | 0 src/battle/anim/ground.c | 0 src/battle/anim/ice.c | 0 src/battle/anim/normal.c | 0 src/battle/battle_ai_switch_items.c | 0 src/battle/battle_anim_812C144.c | 0 src/data/field_event_obj/event_object_graphics.h | 0 src/data/field_event_obj/field_effect_object_graphics.h | 0 11 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 src/battle/anim/current.c mode change 100755 => 100644 src/battle/anim/egg.c mode change 100755 => 100644 src/battle/anim/flying.c mode change 100755 => 100644 src/battle/anim/ghost.c mode change 100755 => 100644 src/battle/anim/ground.c mode change 100755 => 100644 src/battle/anim/ice.c mode change 100755 => 100644 src/battle/anim/normal.c mode change 100755 => 100644 src/battle/battle_ai_switch_items.c mode change 100755 => 100644 src/battle/battle_anim_812C144.c mode change 100755 => 100644 src/data/field_event_obj/event_object_graphics.h mode change 100755 => 100644 src/data/field_event_obj/field_effect_object_graphics.h (limited to 'src') diff --git a/src/battle/anim/current.c b/src/battle/anim/current.c old mode 100755 new mode 100644 diff --git a/src/battle/anim/egg.c b/src/battle/anim/egg.c old mode 100755 new mode 100644 diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c old mode 100755 new mode 100644 diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c old mode 100755 new mode 100644 diff --git a/src/battle/anim/ground.c b/src/battle/anim/ground.c old mode 100755 new mode 100644 diff --git a/src/battle/anim/ice.c b/src/battle/anim/ice.c old mode 100755 new mode 100644 diff --git a/src/battle/anim/normal.c b/src/battle/anim/normal.c old mode 100755 new mode 100644 diff --git a/src/battle/battle_ai_switch_items.c b/src/battle/battle_ai_switch_items.c old mode 100755 new mode 100644 diff --git a/src/battle/battle_anim_812C144.c b/src/battle/battle_anim_812C144.c old mode 100755 new mode 100644 diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h old mode 100755 new mode 100644 diff --git a/src/data/field_event_obj/field_effect_object_graphics.h b/src/data/field_event_obj/field_effect_object_graphics.h old mode 100755 new mode 100644 -- cgit v1.2.3 From 87930e9c06112256c977fd9fcb0f71aa31eccaba Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 21 Jun 2018 03:17:30 +0430 Subject: changed code a bit --- src/battle/anim/flying.c | 923 +++++++++++++++++++++++------------------------ 1 file changed, 461 insertions(+), 462 deletions(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index 05138485b..dcb248128 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -33,604 +33,603 @@ void sub_80DB5E4(struct Sprite *sprite); void sub_80DA0DC(u8 taskId); -void sub_80DA034(struct Sprite *sprite) +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA380 = { - sub_8078764(sprite, 0); - sprite->pos1.y += 0x14; - sprite->data[1] = 0xBF; - sprite->callback = sub_80DA05C; - sub_80DA05C(sprite); -} + .tileTag = 10009, + .paletteTag = 10009, + .oam = &gOamData_837DF7C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DA034, +}; -void sub_80DA05C(struct Sprite *sprite) +const union AffineAnimCmd gSpriteAffineAnim_83DA398[] = { - sprite->pos2.x = Sin(sprite->data[1], 0x20); - sprite->pos2.y = Cos(sprite->data[1], 0x8); - sprite->data[1] = (sprite->data[1] + 5) & 0xFF; - ++sprite->data[0]; - if(sprite->data[0] == 0x47 ) - { - DestroyAnimSprite(sprite); - } -} + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24), + AFFINEANIMCMD_END, +}; -void sub_80DA09C(u8 taskId) +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA3B0[] = { - gTasks[taskId].data[0] = gBattleAnimArgs[1]; - gTasks[taskId].data[1] = gBattleAnimArgs[0]; - gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x2719); - gTasks[taskId].func = sub_80DA0DC; -} + gSpriteAffineAnim_83DA398, +}; -#ifdef NONMATCHING -void sub_80DA0DC(u8 taskId) -{ - gTasks[taskId].data[10]++; - if(gTasks[taskId].data[10] == gTasks[taskId].data[1]) - { - u16 r0; - u16 r2; - s32 i; - - gTasks[taskId].data[10] = 0; - r0 = gTasks[taskId].data[2]; - r2 = gPlttBufferFaded[r0 * 8]; - for(i = 0; i < 8; i++) - gPlttBufferFaded[r0 * 8 + i + 0x107] = gPlttBufferFaded[r0 * 8 + i + 0x107]; - gTasks[taskId].data[2] = ((r0 + 0x101) * 2) + r2; - } - gTasks[taskId].data[0] = gTasks[taskId].data[0] * 32; - if(gTasks[taskId].data[0] == 0) - { - DestroyAnimVisualTask(taskId); - } -} -#else -NAKED -void sub_80DA0DC(u8 taskId) +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA3B4 = { - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - ldr r2, _080DA15C @ =gTasks\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r3, r0, r2\n\ - ldrh r0, [r3, 0x1C]\n\ - adds r1, r0, 0x1\n\ - strh r1, [r3, 0x1C]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - movs r4, 0xA\n\ - ldrsh r1, [r3, r4]\n\ - adds r7, r2, 0\n\ - cmp r0, r1\n\ - bne _080DA13A\n\ - movs r0, 0\n\ - strh r0, [r3, 0x1C]\n\ - ldrb r0, [r3, 0xC]\n\ - ldr r2, _080DA160 @ =gPlttBufferFaded\n\ - lsls r0, 4\n\ - movs r3, 0x84\n\ - lsls r3, 1\n\ - adds r1, r0, r3\n\ - lsls r1, 1\n\ - adds r1, r2\n\ - ldrh r6, [r1]\n\ - movs r4, 0x7\n\ - mov r12, r0\n\ - ldr r0, _080DA164 @ =0x00000107\n\ - add r0, r12\n\ - lsls r0, 1\n\ - adds r3, r0, r2\n\ -_080DA122:\n\ - ldrh r0, [r3]\n\ - strh r0, [r1]\n\ - subs r3, 0x2\n\ - subs r1, 0x2\n\ - subs r4, 0x1\n\ - cmp r4, 0\n\ - bgt _080DA122\n\ - ldr r0, _080DA168 @ =0x00000101\n\ - add r0, r12\n\ - lsls r0, 1\n\ - adds r0, r2\n\ - strh r6, [r0]\n\ -_080DA13A:\n\ - lsls r0, r5, 2\n\ - adds r0, r5\n\ - lsls r0, 3\n\ - adds r0, r7\n\ - ldrh r1, [r0, 0x8]\n\ - subs r1, 0x1\n\ - strh r1, [r0, 0x8]\n\ - lsls r1, 16\n\ - cmp r1, 0\n\ - bne _080DA154\n\ - adds r0, r5, 0\n\ - bl DestroyAnimVisualTask\n\ -_080DA154:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080DA15C: .4byte gTasks\n\ -_080DA160: .4byte gPlttBufferFaded\n\ -_080DA164: .4byte 0x00000107\n\ -_080DA168: .4byte 0x00000101\n\ - .syntax divided\n"); -} -#endif + .tileTag = 10009, + .paletteTag = 10009, + .oam = &gOamData_837DFDC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA3B0, + .callback = sub_80DA16C, +}; -void sub_80DA16C(struct Sprite *sprite) +const union AnimCmd gSpriteAnim_83DA3CC[] = { - InitAnimSpritePos(sprite, 1); - if (GetBattlerSide(gAnimBankAttacker) != 0) - gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; - sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; - InitAnimSpriteTranslationDeltas(sprite); - sprite->callback = sub_80785E4; - StoreSpriteCallbackInData(sprite, sub_80DA1EC); -} + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(0, 3, .hFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE), + ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; -void sub_80DA1EC(struct Sprite *sprite) +const union AnimCmd *const gSpriteAnimTable_83DA3E0[] = { - if (TranslateAnimSpriteByDeltas(sprite) != 0) - { - DestroyAnimSprite(sprite); - } -} + gSpriteAnim_83DA3CC, +}; -void sub_80DA208(struct Sprite *sprite) +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA3E4 = { - if (GetBattlerSide(gAnimBankAttacker) != 0) - { - gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - gBattleAnimArgs[2] = -gBattleAnimArgs[2]; - gBattleAnimArgs[3] = -gBattleAnimArgs[3]; - } - - if (IsContest()) - { - gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - gBattleAnimArgs[3] = -gBattleAnimArgs[3]; - } - - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); - sprite->pos1.x += gBattleAnimArgs[0]; - sprite->pos1.y += gBattleAnimArgs[1]; - sprite->data[0] = gBattleAnimArgs[4]; - - if (gBattleAnimArgs[6] == 0) - { - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); - sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); - } - else - { - SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); - } - - sprite->data[2] = sprite->data[2] + gBattleAnimArgs[2]; - sprite->data[4] = sprite->data[4] + gBattleAnimArgs[3]; - sprite->callback = StartTranslateAnimSpriteByDeltas; - - StoreSpriteCallbackInData(sprite, DestroyAnimSprite); - SeekSpriteAnim(sprite, gBattleAnimArgs[5]); -} + .tileTag = 10154, + .paletteTag = 10154, + .oam = &gOamData_837DF54, + .anims = gSpriteAnimTable_83DA3E0, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DA208, +}; -void sub_80DA300(struct Sprite *sprite) +const union AffineAnimCmd gSpriteAffineAnim_83DA3FC[] = { + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), + AFFINEANIMCMD_END, +}; - InitAnimSpritePos(sprite, 1); - sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[1] = gBattleAnimArgs[3]; - sprite->callback = sub_80DA348; - gSprites[GetAnimBattlerSpriteId(0)].invisible = 1; -} - -void sub_80DA348(struct Sprite *sprite) +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA424[] = { - if (sprite->data[0] > 0) - { - sprite->data[0]--; - } - else - { - sprite->data[2] += sprite->data[1]; - sprite->pos2.y -= (sprite->data[2] >> 8); - } + gSpriteAffineAnim_83DA3FC, +}; - if (sprite->pos1.y + sprite->pos2.y < -32) - { - DestroyAnimSprite(sprite); - } -} +const union AffineAnimCmd gSpriteAffineAnim_83DA428[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1), + AFFINEANIMCMD_END, +}; -void sub_80DA38C(struct Sprite *sprite) +const union AffineAnimCmd gSpriteAffineAnim_83DA438[] = { - if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) - { - sprite->pos1.x = 272; - sprite->pos1.y = -32; - StartSpriteAffineAnim(sprite, 1); - } - else - { - sprite->pos1.x = -32; - sprite->pos1.y = -32; - } + AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1), + AFFINEANIMCMD_END, +}; - sprite->data[0] = gBattleAnimArgs[0]; - sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); - sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA448[] = +{ + gSpriteAffineAnim_83DA428, + gSpriteAffineAnim_83DA438, +}; - InitAnimSpriteTranslationDeltas(sprite); - sprite->callback = sub_80DA410; -} +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA450 = +{ + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA424, + .callback = sub_80DA300, +}; -void sub_80DA410(struct Sprite *sprite) +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA468 = { - sprite->data[0] = 1; - TranslateAnimSpriteByDeltas(sprite); + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DF9C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA448, + .callback = sub_80DA38C, +}; - if (((u16)sprite->data[3] >> 8) > 200) - { - sprite->pos1.x += sprite->pos2.x; - sprite->pos2.x = 0; - sprite->data[3] &= 0xFF; - } +const union AnimCmd gSpriteAnim_83DA480[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; - if ((u32)(sprite->pos1.x + sprite->pos2.x + 32) > 304 || sprite->pos1.y + sprite->pos2.y > 160) - { - gSprites[GetAnimBattlerSpriteId(0)].invisible = 0; - DestroyAnimSprite(sprite); - } -} +const union AnimCmd gSpriteAnim_83DA488[] = +{ + ANIMCMD_FRAME(16, 0, .hFlip = TRUE), + ANIMCMD_END, +}; -void sub_80DA48C(struct Sprite *sprite) +const union AnimCmd *const gSpriteAnimTable_83DA490[] = { - if (sprite->data[0]-- <= 0) - { - if (sprite->oam.affineMode & 1) - { - FreeOamMatrix(sprite->oam.matrixNum); - sprite->oam.affineMode = 0; - } - - DestroySprite(sprite); - gAnimVisualTaskCount--; - } -} + gSpriteAnim_83DA480, + gSpriteAnim_83DA488, +}; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA380 = +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA498 = { - .tileTag = 10009, - .paletteTag = 10009, - .oam = &gOamData_837DF7C, - .anims = gDummySpriteAnimTable, + .tileTag = 10270, + .paletteTag = 10270, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83DA490, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DA034, + .callback = sub_80DA4D8, }; -const union AffineAnimCmd gSpriteAffineAnim_83DA398[] = -{ - AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), - AFFINEANIMCMD_FRAME(0xA, 0x0, 0, 24), - AFFINEANIMCMD_END, -}; +const u16 gUnknownPalette_83DA4B0[] = INCBIN_U16("graphics/unknown/unknown_3DA4B0.gbapal"); -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA3B0[] = +const struct SpriteTemplate gSpriteTemplate_83DA4D0 = { - gSpriteAffineAnim_83DA398, + .tileTag = 10155, + .paletteTag = 10155, + .oam = &gOamData_837DF2C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DAD30, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA3B4 = +const struct SpriteTemplate gSpriteTemplate_83DA4E8 = { - .tileTag = 10009, - .paletteTag = 10009, - .oam = &gOamData_837DFDC, - .anims = gDummySpriteAnimTable, + .tileTag = 10270, + .paletteTag = 10270, + .oam = &gOamData_837DF94, + .anims = gSpriteAnimTable_83DA490, .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DA3B0, - .callback = sub_80DA16C, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DAD84, }; -const union AnimCmd gSpriteAnim_83DA3CC[] = +const union AnimCmd gSpriteAnim_83DA500[] = { - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(0, 3, .hFlip = TRUE), - ANIMCMD_FRAME(0, 3, .vFlip = TRUE), - ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE), - ANIMCMD_JUMP(0), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(16, 1), + ANIMCMD_FRAME(8, 1, .hFlip = TRUE), + ANIMCMD_FRAME(0, 1, .hFlip = TRUE), + ANIMCMD_END, }; -const union AnimCmd *const gSpriteAnimTable_83DA3E0[] = +const union AnimCmd *const gSpriteAnimTable_83DA518[] = { - gSpriteAnim_83DA3CC, + gSpriteAnim_83DA500, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA3E4 = +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA51C = { - .tileTag = 10154, - .paletteTag = 10154, + .tileTag = 10162, + .paletteTag = 10162, .oam = &gOamData_837DF54, - .anims = gSpriteAnimTable_83DA3E0, + .anims = gSpriteAnimTable_83DA518, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DA208, + .callback = sub_80DB000, }; -const union AffineAnimCmd gSpriteAffineAnim_83DA3FC[] = +const union AffineAnimCmd gSpriteAffineAnim_83DA534[] = { AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), - AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), + AFFINEANIMCMD_FRAME(0xFFEC, 0x0, 0, 7), + AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, 0, 5), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA424[] = +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA564[] = { - gSpriteAffineAnim_83DA3FC, + gSpriteAffineAnim_83DA534, }; -const union AffineAnimCmd gSpriteAffineAnim_83DA428[] = +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA568 = { - AFFINEANIMCMD_FRAME(0x0, 0x0, 50, 1), - AFFINEANIMCMD_END, + .tileTag = 10156, + .paletteTag = 10156, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_83DA564, + .callback = sub_80DB194, }; -const union AffineAnimCmd gSpriteAffineAnim_83DA438[] = +const union AffineAnimCmd gSpriteAffineAnim_83DA580[] = { - AFFINEANIMCMD_FRAME(0x0, 0x0, -40, 1), + AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA448[] = +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA590[] = { - gSpriteAffineAnim_83DA428, - gSpriteAffineAnim_83DA438, + gSpriteAffineAnim_83DA580, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA450 = +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA594 = { .tileTag = 10156, .paletteTag = 10156, .oam = &gOamData_837DFFC, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DA424, - .callback = sub_80DA300, + .affineAnims = gSpriteAffineAnimTable_83DA590, + .callback = sub_80DB1F4, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA468 = +const union AffineAnimCmd gSpriteAffineAnim_83DA5AC[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), + AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA5D4[] = +{ + gSpriteAffineAnim_83DA5AC, +}; + +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA5D8 = { .tileTag = 10156, .paletteTag = 10156, - .oam = &gOamData_837DF9C, + .oam = &gOamData_837DFFC, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DA448, - .callback = sub_80DA38C, + .affineAnims = gSpriteAffineAnimTable_83DA5D4, + .callback = sub_80DB288, }; -const union AnimCmd gSpriteAnim_83DA480[] = +const union AffineAnimCmd gSpriteAffineAnim_83DA5F0[] = { - ANIMCMD_FRAME(0, 0), - ANIMCMD_END, + AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0), + AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12), + AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 11), + AFFINEANIMCMD_END, }; -const union AnimCmd gSpriteAnim_83DA488[] = +const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA610[] = { - ANIMCMD_FRAME(16, 0, .hFlip = TRUE), - ANIMCMD_END, + gSpriteAffineAnim_83DA5F0, }; -const union AnimCmd *const gSpriteAnimTable_83DA490[] = +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA614 = { - gSpriteAnim_83DA480, - gSpriteAnim_83DA488, + .tileTag = 10272, + .paletteTag = 10272, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_80DB374, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA498 = +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA62C = { - .tileTag = 10270, - .paletteTag = 10270, - .oam = &gOamData_837DF94, - .anims = gSpriteAnimTable_83DA490, + .tileTag = 10273, + .paletteTag = 10273, + .oam = &gOamData_837DF24, + .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DA4D8, + .callback = sub_80DB458, }; -const u16 gUnknownPalette_83DA4B0[] = INCBIN_U16("graphics/unknown/unknown_3DA4B0.gbapal"); - -const struct SpriteTemplate gSpriteTemplate_83DA4D0 = +const struct SpriteTemplate gSpriteTemplate_83DA644 = { - .tileTag = 10155, - .paletteTag = 10155, - .oam = &gOamData_837DF2C, + .tileTag = 10212, + .paletteTag = 10212, + .oam = &gOamData_837E05C, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DAD30, + .callback = sub_80DB564, }; -const struct SpriteTemplate gSpriteTemplate_83DA4E8 = +const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA65C = { - .tileTag = 10270, - .paletteTag = 10270, - .oam = &gOamData_837DF94, - .anims = gSpriteAnimTable_83DA490, + .tileTag = 10284, + .paletteTag = 10284, + .oam = &gOamData_837DFFC, + .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DAD84, + .callback = sub_80DB5E4, }; -const union AnimCmd gSpriteAnim_83DA500[] = +void sub_80DA034(struct Sprite *sprite) +{ + sub_8078764(sprite, 0); + sprite->pos1.y += 20; + sprite->data[1] = 0xBF; + sprite->callback = sub_80DA05C; + sub_80DA05C(sprite); +} + +void sub_80DA05C(struct Sprite *sprite) +{ + sprite->pos2.x = Sin(sprite->data[1], 0x20); + sprite->pos2.y = Cos(sprite->data[1], 0x8); + sprite->data[1] = (sprite->data[1] + 5) & 0xFF; + if(++sprite->data[0] == 0x47) + { + DestroyAnimSprite(sprite); + } +} + +void sub_80DA09C(u8 taskId) +{ + gTasks[taskId].data[0] = gBattleAnimArgs[1]; + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x2719); + gTasks[taskId].func = sub_80DA0DC; +} + +#ifdef NONMATCHING +void sub_80DA0DC(u8 taskId) +{ + gTasks[taskId].data[10]++; + if(gTasks[taskId].data[10] == gTasks[taskId].data[1]) + { + u16 r0; + u16 r2; + s32 i; + + gTasks[taskId].data[10] = 0; + r0 = gTasks[taskId].data[2]; + r2 = gPlttBufferFaded[r0 * 8]; + for(i = 0; i < 8; i++) + gPlttBufferFaded[r0 * 8 + i + 0x107] = gPlttBufferFaded[r0 * 8 + i + 0x107]; + gTasks[taskId].data[2] = ((r0 + 0x101) * 2) + r2; + } + gTasks[taskId].data[0] = gTasks[taskId].data[0] * 32; + if(gTasks[taskId].data[0] == 0) + { + DestroyAnimVisualTask(taskId); + } +} +#else +NAKED +void sub_80DA0DC(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + ldr r2, _080DA15C @ =gTasks\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r3, r0, r2\n\ + ldrh r0, [r3, 0x1C]\n\ + adds r1, r0, 0x1\n\ + strh r1, [r3, 0x1C]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + movs r4, 0xA\n\ + ldrsh r1, [r3, r4]\n\ + adds r7, r2, 0\n\ + cmp r0, r1\n\ + bne _080DA13A\n\ + movs r0, 0\n\ + strh r0, [r3, 0x1C]\n\ + ldrb r0, [r3, 0xC]\n\ + ldr r2, _080DA160 @ =gPlttBufferFaded\n\ + lsls r0, 4\n\ + movs r3, 0x84\n\ + lsls r3, 1\n\ + adds r1, r0, r3\n\ + lsls r1, 1\n\ + adds r1, r2\n\ + ldrh r6, [r1]\n\ + movs r4, 0x7\n\ + mov r12, r0\n\ + ldr r0, _080DA164 @ =0x00000107\n\ + add r0, r12\n\ + lsls r0, 1\n\ + adds r3, r0, r2\n\ +_080DA122:\n\ + ldrh r0, [r3]\n\ + strh r0, [r1]\n\ + subs r3, 0x2\n\ + subs r1, 0x2\n\ + subs r4, 0x1\n\ + cmp r4, 0\n\ + bgt _080DA122\n\ + ldr r0, _080DA168 @ =0x00000101\n\ + add r0, r12\n\ + lsls r0, 1\n\ + adds r0, r2\n\ + strh r6, [r0]\n\ +_080DA13A:\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r0, r7\n\ + ldrh r1, [r0, 0x8]\n\ + subs r1, 0x1\n\ + strh r1, [r0, 0x8]\n\ + lsls r1, 16\n\ + cmp r1, 0\n\ + bne _080DA154\n\ + adds r0, r5, 0\n\ + bl DestroyAnimVisualTask\n\ +_080DA154:\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080DA15C: .4byte gTasks\n\ +_080DA160: .4byte gPlttBufferFaded\n\ +_080DA164: .4byte 0x00000107\n\ +_080DA168: .4byte 0x00000101\n\ + .syntax divided\n"); +} +#endif + +void sub_80DA16C(struct Sprite *sprite) { - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(8, 1), - ANIMCMD_FRAME(16, 1), - ANIMCMD_FRAME(8, 1, .hFlip = TRUE), - ANIMCMD_FRAME(0, 1, .hFlip = TRUE), - ANIMCMD_END, -}; + InitAnimSpritePos(sprite, 1); + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2) + gBattleAnimArgs[2]; + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3) + gBattleAnimArgs[3]; + InitAnimSpriteTranslationDeltas(sprite); + sprite->callback = sub_80785E4; + StoreSpriteCallbackInData(sprite, sub_80DA1EC); +} -const union AnimCmd *const gSpriteAnimTable_83DA518[] = +void sub_80DA1EC(struct Sprite *sprite) { - gSpriteAnim_83DA500, -}; + if (TranslateAnimSpriteByDeltas(sprite) != 0) + { + DestroyAnimSprite(sprite); + } +} -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA51C = +void sub_80DA208(struct Sprite *sprite) { - .tileTag = 10162, - .paletteTag = 10162, - .oam = &gOamData_837DF54, - .anims = gSpriteAnimTable_83DA518, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DB000, -}; + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + { + gBattleAnimArgs[0] = -gBattleAnimArgs[0]; + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[2] = -gBattleAnimArgs[2]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } -const union AffineAnimCmd gSpriteAffineAnim_83DA534[] = -{ - AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), - AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), - AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), - AFFINEANIMCMD_FRAME(0xFFEC, 0x0, 0, 7), - AFFINEANIMCMD_FRAME(0xFFEC, 0xFFEC, 0, 5), - AFFINEANIMCMD_END, -}; + if (IsContest()) + { + gBattleAnimArgs[1] = -gBattleAnimArgs[1]; + gBattleAnimArgs[3] = -gBattleAnimArgs[3]; + } -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA564[] = -{ - gSpriteAffineAnim_83DA534, -}; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = gBattleAnimArgs[4]; -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA568 = -{ - .tileTag = 10156, - .paletteTag = 10156, - .oam = &gOamData_837DFFC, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DA564, - .callback = sub_80DB194, -}; + if (gBattleAnimArgs[6] == 0) + { + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + } + else + { + SetAverageBattlerPositions(gAnimBankTarget, 1, &sprite->data[2], &sprite->data[4]); + } -const union AffineAnimCmd gSpriteAffineAnim_83DA580[] = -{ - AFFINEANIMCMD_FRAME(0xA0, 0x100, 0, 0), - AFFINEANIMCMD_END, -}; + sprite->data[2] = sprite->data[2] + gBattleAnimArgs[2]; + sprite->data[4] = sprite->data[4] + gBattleAnimArgs[3]; + sprite->callback = StartTranslateAnimSpriteByDeltas; -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA590[] = -{ - gSpriteAffineAnim_83DA580, -}; + StoreSpriteCallbackInData(sprite, DestroyAnimSprite); + SeekSpriteAnim(sprite, gBattleAnimArgs[5]); +} -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA594 = +void sub_80DA300(struct Sprite *sprite) { - .tileTag = 10156, - .paletteTag = 10156, - .oam = &gOamData_837DFFC, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DA590, - .callback = sub_80DB1F4, -}; -const union AffineAnimCmd gSpriteAffineAnim_83DA5AC[] = -{ - AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), - AFFINEANIMCMD_FRAME(0x28, 0x0, 0, 6), - AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 5), - AFFINEANIMCMD_FRAME(0xFFF0, 0x20, 0, 10), - AFFINEANIMCMD_END, -}; + InitAnimSpritePos(sprite, 1); + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->callback = sub_80DA348; + gSprites[GetAnimBattlerSpriteId(0)].invisible = 1; +} -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA5D4[] = +void sub_80DA348(struct Sprite *sprite) { - gSpriteAffineAnim_83DA5AC, -}; + if (sprite->data[0] > 0) + { + sprite->data[0]--; + } + else + { + sprite->data[2] += sprite->data[1]; + sprite->pos2.y -= (sprite->data[2] >> 8); + } -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA5D8 = -{ - .tileTag = 10156, - .paletteTag = 10156, - .oam = &gOamData_837DFFC, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gSpriteAffineAnimTable_83DA5D4, - .callback = sub_80DB288, -}; + if (sprite->pos1.y + sprite->pos2.y < -32) + { + DestroyAnimSprite(sprite); + } +} -const union AffineAnimCmd gSpriteAffineAnim_83DA5F0[] = +void sub_80DA38C(struct Sprite *sprite) { - AFFINEANIMCMD_FRAME(0x100, 0x0, 0, 0), - AFFINEANIMCMD_FRAME(0x0, 0x20, 0, 12), - AFFINEANIMCMD_FRAME(0x0, 0xFFE0, 0, 11), - AFFINEANIMCMD_END, -}; + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + { + sprite->pos1.x = 272; + sprite->pos1.y = -32; + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->pos1.x = -32; + sprite->pos1.y = -32; + } -const union AffineAnimCmd *const gSpriteAffineAnimTable_83DA610[] = -{ - gSpriteAffineAnim_83DA5F0, -}; + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA614 = -{ - .tileTag = 10272, - .paletteTag = 10272, - .oam = &gOamData_837DFFC, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DB374, -}; + InitAnimSpriteTranslationDeltas(sprite); + sprite->callback = sub_80DA410; +} -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA62C = +void sub_80DA410(struct Sprite *sprite) { - .tileTag = 10273, - .paletteTag = 10273, - .oam = &gOamData_837DF24, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DB458, -}; + sprite->data[0] = 1; + TranslateAnimSpriteByDeltas(sprite); -const struct SpriteTemplate gSpriteTemplate_83DA644 = -{ - .tileTag = 10212, - .paletteTag = 10212, - .oam = &gOamData_837E05C, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DB564, -}; + if (((u16)sprite->data[3] >> 8) > 200) + { + sprite->pos1.x += sprite->pos2.x; + sprite->pos2.x = 0; + sprite->data[3] &= 0xFF; + } -const struct SpriteTemplate gBattleAnimSpriteTemplate_83DA65C = + if ((u32)(sprite->pos1.x + sprite->pos2.x + 32) > 304 || sprite->pos1.y + sprite->pos2.y > 160) + { + gSprites[GetAnimBattlerSpriteId(0)].invisible = 0; + DestroyAnimSprite(sprite); + } +} + +void sub_80DA48C(struct Sprite *sprite) { - .tileTag = 10284, - .paletteTag = 10284, - .oam = &gOamData_837DFFC, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80DB5E4, -}; + if (sprite->data[0]-- <= 0) + { + if (sprite->oam.affineMode & 1) + { + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = 0; + } + + DestroySprite(sprite); + gAnimVisualTaskCount--; + } +} -- cgit v1.2.3 From c80206e701bc8a290cb2c01afb12cb2e03bf473a Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 20 Jun 2018 17:47:33 -0500 Subject: Rename map attribute structs to MapLayout --- src/debug/nakamura_debug_menu.c | 8 +-- src/decoration.c | 14 +++--- src/field_camera.c | 52 +++++++++---------- src/field_tasks.c | 4 +- src/fieldmap.c | 108 ++++++++++++++++++++-------------------- src/item_use.c | 12 ++--- src/overworld.c | 52 +++++++++---------- src/region_map.c | 20 ++++---- src/secret_base.c | 6 +-- src/shop.c | 8 +-- src/tileset_anim.c | 12 ++--- src/wild_encounter.c | 2 +- 12 files changed, 149 insertions(+), 149 deletions(-) (limited to 'src') diff --git a/src/debug/nakamura_debug_menu.c b/src/debug/nakamura_debug_menu.c index a20d58319..508dc048e 100644 --- a/src/debug/nakamura_debug_menu.c +++ b/src/debug/nakamura_debug_menu.c @@ -752,14 +752,14 @@ static const u8 Str_843E58D[] = _( static u16 FishingPoints_CountFishingTilesInMapThird(u8 a0) { u16 retval = 0; - u16 height = gMapHeader.mapData->height / 3; + u16 height = gMapHeader.mapLayout->height / 3; u16 y; u16 x; u16 start = height * a0; for (y = start; y < start + height; y++) { - for (x = 0; x < gMapHeader.mapData->width; x++) + for (x = 0; x < gMapHeader.mapLayout->width; x++) { if (MetatileBehavior_IsFeebasEncounterable(MapGridGetMetatileBehaviorAt(x + 7, y + 7)) == TRUE) { @@ -783,9 +783,9 @@ static u16 FishingPoints_GetIndexOfCurrentFishingSpot(void) x -= 7; y -= 7; - for (yy = 0; yy < gMapHeader.mapData->height; yy++) + for (yy = 0; yy < gMapHeader.mapLayout->height; yy++) { - for (xx = 0; xx < gMapHeader.mapData->width; xx++) + for (xx = 0; xx < gMapHeader.mapLayout->width; xx++) { if (MetatileBehavior_IsFeebasEncounterable(MapGridGetMetatileBehaviorAt(xx + 7, yy + 7)) == TRUE) { diff --git a/src/decoration.c b/src/decoration.c index e31624540..2a70a3835 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2271,7 +2271,7 @@ void AddDecorationIconObjectFromEventObject(struct UnkStruct_02038900 * unk_0203 sub_81008BC(unk_02038900); sub_8100930(unk_02038900->decoration->shape); sub_8100874(unk_02038900); - sub_810070C(unk_02038900->palette, ((u16 *)gMapHeader.mapData->secondaryTileset->metatiles + 8 * unk_02038900->decoration->tiles[0])[7] >> 12); + sub_810070C(unk_02038900->palette, ((u16 *)gMapHeader.mapLayout->secondaryTileset->metatiles + 8 * unk_02038900->decoration->tiles[0])[7] >> 12); LoadSpritePalette(&gUnknown_083EC954); gUnknown_020391A8 = gSprites[gFieldCamera.trackedSpriteId].data[0]; gFieldCamera.trackedSpriteId = CreateSprite(&gSpriteTemplate_83EC93C, gUnknown_083EC900[unk_02038900->decoration->shape].x, gUnknown_083EC900[unk_02038900->decoration->shape].y, 0); @@ -3206,7 +3206,7 @@ bool8 sub_810038C(u8 taskId) { data[1]++; return FALSE; - } else if (gUnknown_020391AA == DIR_NORTH && data[1] - 7 >= gMapHeader.mapData->height) + } else if (gUnknown_020391AA == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height) { data[1]--; return FALSE; @@ -3214,7 +3214,7 @@ bool8 sub_810038C(u8 taskId) { data[0]++; return FALSE; - } else if (gUnknown_020391AA == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapData->width) + } else if (gUnknown_020391AA == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width) { data[0]--; return FALSE; @@ -3336,7 +3336,7 @@ void sub_810070C(u16 *a0, u16 a1) u16 i; for (i=0; i<16; i++) { - a0[i] = ((u16 *)gMapHeader.mapData->primaryTileset->palettes)[16 * a1 + i]; + a0[i] = ((u16 *)gMapHeader.mapLayout->primaryTileset->palettes)[16 * a1 + i]; } } @@ -3352,7 +3352,7 @@ void sub_8100740(u8 *dest, u16 flags) } for (i=0; i<32; i++) { - buffer[i] = ((u8 *)gMapHeader.mapData->primaryTileset->tiles)[flags * 32 + i]; + buffer[i] = ((u8 *)gMapHeader.mapLayout->primaryTileset->tiles)[flags * 32 + i]; } switch (mode) { @@ -3398,7 +3398,7 @@ void sub_8100874(struct UnkStruct_02038900 *unk_02038900) u16 sub_810089C(u16 a0) { - return ((u16 *)gMapHeader.mapData->secondaryTileset->metatiles)[a0] & 0xfff; + return ((u16 *)gMapHeader.mapLayout->secondaryTileset->metatiles)[a0] & 0xfff; } const u8 Unknown_3EC660[] = {0, 1, 2, 3}; @@ -3665,7 +3665,7 @@ void sub_8100B6C(void) { for (k=0; kmap)[(x + k) + gMapHeader.mapData->width * (y - j)] | 0x3000); + MapGridSetMetatileEntryAt(x + 7 + k, y + 7 - j, ((u16 *)gMapHeader.mapLayout->map)[(x + k) + gMapHeader.mapLayout->width * (y - j)] | 0x3000); } } sub_8100A60(gUnknown_020391B4[i].decorId); diff --git a/src/field_camera.c b/src/field_camera.c index fa8f1a582..3765107fd 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -28,14 +28,14 @@ struct FieldCamera gFieldCamera; u16 gTotalCameraPixelOffsetY; u16 gTotalCameraPixelOffsetX; -static void RedrawMapSliceNorth(struct FieldCameraOffset*, struct MapData*); -static void RedrawMapSliceSouth(struct FieldCameraOffset*, struct MapData*); -static void RedrawMapSliceEast(struct FieldCameraOffset*, struct MapData*); -static void RedrawMapSliceWest(struct FieldCameraOffset*, struct MapData*); +static void RedrawMapSliceNorth(struct FieldCameraOffset*, struct MapLayout*); +static void RedrawMapSliceSouth(struct FieldCameraOffset*, struct MapLayout*); +static void RedrawMapSliceEast(struct FieldCameraOffset*, struct MapLayout*); +static void RedrawMapSliceWest(struct FieldCameraOffset*, struct MapLayout*); static s32 MapPosToBgTilemapOffset(struct FieldCameraOffset*, s32, s32); -static void DrawWholeMapViewInternal(int x, int y, struct MapData*); -static void DrawMetatileAt(struct MapData*, u16, int, int); +static void DrawWholeMapViewInternal(int x, int y, struct MapLayout*); +static void DrawMetatileAt(struct MapLayout*, u16, int, int); static void DrawMetatile(s32, u16*, u16); static void CameraPanningCB_PanAhead(void); @@ -96,11 +96,11 @@ void sub_8057B14(u16 *a, u16 *b) void DrawWholeMapView(void) { - DrawWholeMapViewInternal(gSaveBlock1.pos.x, gSaveBlock1.pos.y, gMapHeader.mapData); + DrawWholeMapViewInternal(gSaveBlock1.pos.x, gSaveBlock1.pos.y, gMapHeader.mapLayout); sFieldCameraOffset.copyBGToVRAM = TRUE; } -static void DrawWholeMapViewInternal(int x, int y, struct MapData *mapData) +static void DrawWholeMapViewInternal(int x, int y, struct MapLayout *mapLayout) { u8 i; u8 j; @@ -118,27 +118,27 @@ static void DrawWholeMapViewInternal(int x, int y, struct MapData *mapData) temp = sFieldCameraOffset.xTileOffset + j; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r6 + temp, x + j / 2, y + i / 2); + DrawMetatileAt(mapLayout, r6 + temp, x + j / 2, y + i / 2); } } } static void RedrawMapSlicesForCameraUpdate(struct FieldCameraOffset *cameraOffset, int x, int y) { - struct MapData *mapData = gMapHeader.mapData; + struct MapLayout *mapLayout = gMapHeader.mapLayout; if (x > 0) - RedrawMapSliceWest(cameraOffset, mapData); + RedrawMapSliceWest(cameraOffset, mapLayout); if (x < 0) - RedrawMapSliceEast(cameraOffset, mapData); + RedrawMapSliceEast(cameraOffset, mapLayout); if (y > 0) - RedrawMapSliceNorth(cameraOffset, mapData); + RedrawMapSliceNorth(cameraOffset, mapLayout); if (y < 0) - RedrawMapSliceSouth(cameraOffset, mapData); + RedrawMapSliceSouth(cameraOffset, mapLayout); cameraOffset->copyBGToVRAM = TRUE; } -static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) +static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -153,11 +153,11 @@ static void RedrawMapSliceNorth(struct FieldCameraOffset *cameraOffset, struct M temp = cameraOffset->xTileOffset + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r7 + temp, gSaveBlock1.pos.x + i / 2, gSaveBlock1.pos.y + 14); + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1.pos.x + i / 2, gSaveBlock1.pos.y + 14); } } -static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) +static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -168,11 +168,11 @@ static void RedrawMapSliceSouth(struct FieldCameraOffset *cameraOffset, struct M temp = cameraOffset->xTileOffset + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r7 + temp, gSaveBlock1.pos.x + i / 2, gSaveBlock1.pos.y); + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1.pos.x + i / 2, gSaveBlock1.pos.y); } } -static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) +static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -183,11 +183,11 @@ static void RedrawMapSliceEast(struct FieldCameraOffset *cameraOffset, struct Ma temp = cameraOffset->yTileOffset + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, temp * 32 + r6, gSaveBlock1.pos.x, gSaveBlock1.pos.y + i / 2); + DrawMetatileAt(mapLayout, temp * 32 + r6, gSaveBlock1.pos.x, gSaveBlock1.pos.y + i / 2); } } -static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, struct MapData *mapData) +static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -200,7 +200,7 @@ static void RedrawMapSliceWest(struct FieldCameraOffset *cameraOffset, struct Ma temp = cameraOffset->yTileOffset + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, temp * 32 + r5, gSaveBlock1.pos.x + 14, gSaveBlock1.pos.y + i / 2); + DrawMetatileAt(mapLayout, temp * 32 + r5, gSaveBlock1.pos.x + 14, gSaveBlock1.pos.y + i / 2); } } @@ -210,7 +210,7 @@ void CurrentMapDrawMetatileAt(int x, int y) if (offset >= 0) { - DrawMetatileAt(gMapHeader.mapData, offset, x, y); + DrawMetatileAt(gMapHeader.mapLayout, offset, x, y); sFieldCameraOffset.copyBGToVRAM = TRUE; } } @@ -226,7 +226,7 @@ void DrawDoorMetatileAt(int x, int y, u16 *arr) } } -static void DrawMetatileAt(struct MapData *mapData, u16 offset, int x, int y) +static void DrawMetatileAt(struct MapLayout *mapLayout, u16 offset, int x, int y) { u16 *metatiles; u16 metatileId = MapGridGetMetatileIdAt(x, y); @@ -236,11 +236,11 @@ static void DrawMetatileAt(struct MapData *mapData, u16 offset, int x, int y) if (metatileId < 0x200) { - metatiles = mapData->primaryTileset->metatiles; + metatiles = mapLayout->primaryTileset->metatiles; } else { - metatiles = mapData->secondaryTileset->metatiles; + metatiles = mapLayout->secondaryTileset->metatiles; metatileId -= 0x200; } diff --git a/src/field_tasks.c b/src/field_tasks.c index 25a4efc58..ea2058965 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -611,8 +611,8 @@ bool32 sub_8069D34(s16 x, s16 y) void SetSootopolisGymCrackedIceMetatiles(void) { s32 x, y; - s32 width = gMapHeader.mapData->width; - s32 height = gMapHeader.mapData->height; + s32 width = gMapHeader.mapLayout->width; + s32 height = gMapHeader.mapLayout->height; for (x = 0; x < width; x++) { for (y = 0; y < height; y++) diff --git a/src/fieldmap.c b/src/fieldmap.c index 7383bb174..7d0aaf2f8 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -25,7 +25,7 @@ EWRAM_DATA struct MapHeader gMapHeader = {0}; EWRAM_DATA struct Camera gCamera = {0}; EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0}; -struct BackupMapData gUnknown_03004870; +struct BackupMapLayout gUnknown_03004870; static const struct ConnectionFlags sDummyConnectionFlags = {0}; @@ -53,19 +53,19 @@ void sub_8055FC0(void) void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader) { - struct MapData *mapData; + struct MapLayout *mapLayout; int width; int height; - mapData = mapHeader->mapData; + mapLayout = mapHeader->mapLayout; CpuFastFill16(0x03ff, gUnknown_02029828, sizeof(gUnknown_02029828)); gUnknown_03004870.map = gUnknown_02029828; - width = mapData->width + 15; + width = mapLayout->width + 15; gUnknown_03004870.width = width; - height = mapData->height + 14; + height = mapLayout->height + 14; gUnknown_03004870.height = height; if (width * height <= 0x2800) { - map_copy_with_padding(mapData->map, mapData->width, mapData->height); + map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height); sub_80560AC(mapHeader); } } @@ -129,8 +129,8 @@ void sub_8056134(int x, int y, struct MapHeader *mapHeader, int x2, int y2, int u16 *dest; int mapWidth; - mapWidth = mapHeader->mapData->width; - src = &mapHeader->mapData->map[mapWidth * y2 + x2]; + mapWidth = mapHeader->mapLayout->width; + src = &mapHeader->mapLayout->map[mapWidth * y2 + x2]; dest = &gUnknown_03004870.map[gUnknown_03004870.width * y + x]; for (i = 0; i < height; i++) @@ -150,9 +150,9 @@ void fillSouthConnection(struct MapHeader *mapHeader, struct MapHeader *connecte if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; + cWidth = connectedMapHeader->mapLayout->width; x = offset + 7; - y = mapHeader->mapData->height + 7; + y = mapHeader->mapLayout->height + 7; if (x < 0) { x2 = -x; @@ -196,8 +196,8 @@ void fillNorthConnection(struct MapHeader *mapHeader, struct MapHeader *connecte if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; - cHeight = connectedMapHeader->mapData->height; + cWidth = connectedMapHeader->mapLayout->width; + cHeight = connectedMapHeader->mapLayout->height; x = offset + 7; y2 = cHeight - 7; if (x < 0) @@ -245,8 +245,8 @@ void fillWestConnection(struct MapHeader *mapHeader, struct MapHeader *connected int cWidth, cHeight; if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; - cHeight = connectedMapHeader->mapData->height; + cWidth = connectedMapHeader->mapLayout->width; + cHeight = connectedMapHeader->mapLayout->height; y = offset + 7; x2 = cWidth - 7; if (y < 0) @@ -291,8 +291,8 @@ void fillEastConnection(struct MapHeader *mapHeader, struct MapHeader *connected int cHeight; if (connectedMapHeader) { - cHeight = connectedMapHeader->mapData->height; - x = mapHeader->mapData->width + 7; + cHeight = connectedMapHeader->mapLayout->height; + x = mapHeader->mapLayout->width + 7; y = offset + 7; if (y < 0) { @@ -352,10 +352,10 @@ u8 MapGridGetZCoordAt(int x, int y) } else { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = gMapHeader.mapData->border[i]; + block = gMapHeader.mapLayout->border[i]; block |= 0xc00; } if (block == 0x3ff) @@ -378,10 +378,10 @@ u8 MapGridIsImpassableAt(int x, int y) } else { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = gMapHeader.mapData->border[i]; + block = gMapHeader.mapLayout->border[i]; block |= 0xc00; } if (block == 0x3ff) @@ -396,7 +396,7 @@ u32 MapGridGetMetatileIdAt(int x, int y) u16 block; int i; int j; - struct MapData *mapData; + struct MapLayout *mapLayout; u16 *border; u16 block2; @@ -407,17 +407,17 @@ u32 MapGridGetMetatileIdAt(int x, int y) } else { - mapData = gMapHeader.mapData; + mapLayout = gMapHeader.mapLayout; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = mapData->border[i] | 0xc00; + block = mapLayout->border[i] | 0xc00; } if (block == 0x3ff) { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; j = (x + 1) & 1; j += ((y + 1) & 1) * 2; - block2 = gMapHeader.mapData->border[j]; + block2 = gMapHeader.mapLayout->border[j]; block2 |= 0xc00; return block2 & block; } @@ -465,12 +465,12 @@ u32 GetBehaviorByMetatileId(u16 metatile) u16 *attributes; if (metatile <= 0x1ff) { - attributes = gMapHeader.mapData->primaryTileset->metatileAttributes; + attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes; return attributes[metatile]; } else if (metatile <= 0x3ff) { - attributes = gMapHeader.mapData->secondaryTileset->metatileAttributes; + attributes = gMapHeader.mapLayout->secondaryTileset->metatileAttributes; return attributes[metatile - 0x200]; } else @@ -600,7 +600,7 @@ void sub_80566F0(u8 a1) int GetMapBorderIdAt(int x, int y) { - struct MapData *mapData; + struct MapLayout *mapLayout; u16 block, block2; int i, j; if (x >= 0 && x < gUnknown_03004870.width @@ -616,10 +616,10 @@ int GetMapBorderIdAt(int x, int y) } else { - mapData = gMapHeader.mapData; + mapLayout = gMapHeader.mapLayout; j = (x + 1) & 1; j += ((y + 1) & 1) * 2; - block2 = 0xc00 | mapData->border[j]; + block2 = 0xc00 | mapLayout->border[j]; if (block2 == 0x3ff) { goto fail; @@ -696,7 +696,7 @@ void sub_8056918(struct MapConnection *connection, int direction, int x, int y) gSaveBlock1.pos.y -= connection->offset; break; case CONNECTION_WEST: - gSaveBlock1.pos.x = mapHeader->mapData->width; + gSaveBlock1.pos.x = mapHeader->mapLayout->width; gSaveBlock1.pos.y -= connection->offset; break; case CONNECTION_SOUTH: @@ -705,7 +705,7 @@ void sub_8056918(struct MapConnection *connection, int direction, int x, int y) break; case CONNECTION_NORTH: gSaveBlock1.pos.x -= connection->offset; - gSaveBlock1.pos.y = mapHeader->mapData->height; + gSaveBlock1.pos.y = mapHeader->mapLayout->height; break; } } @@ -768,10 +768,10 @@ bool8 sub_8056ABC(u8 direction, int x, int y, struct MapConnection *connection) { case CONNECTION_SOUTH: case CONNECTION_NORTH: - return sub_8056B20(x, gMapHeader.mapData->width, mapHeader->mapData->width, connection->offset); + return sub_8056B20(x, gMapHeader.mapLayout->width, mapHeader->mapLayout->width, connection->offset); case CONNECTION_WEST: case CONNECTION_EAST: - return sub_8056B20(y, gMapHeader.mapData->height, mapHeader->mapData->height, connection->offset); + return sub_8056B20(y, gMapHeader.mapLayout->height, mapHeader->mapLayout->height, connection->offset); } return FALSE; } @@ -812,10 +812,10 @@ int sub_8056B60(struct MapConnection *connection, int x, int y) { case CONNECTION_SOUTH: case CONNECTION_NORTH: - return sub_8056B4C(x - connection->offset, mapHeader->mapData->width); + return sub_8056B4C(x - connection->offset, mapHeader->mapLayout->width); case CONNECTION_WEST: case CONNECTION_EAST: - return sub_8056B4C(y - connection->offset, mapHeader->mapData->height); + return sub_8056B4C(y - connection->offset, mapHeader->mapLayout->height); } return FALSE; } @@ -839,9 +839,9 @@ struct MapConnection *sub_8056BA0(s16 x, s16 y) direction = connection->direction; if ((direction == CONNECTION_DIVE || direction == CONNECTION_EMERGE) || (direction == CONNECTION_NORTH && y > 6) - || (direction == CONNECTION_SOUTH && y < gMapHeader.mapData->height + 7) + || (direction == CONNECTION_SOUTH && y < gMapHeader.mapLayout->height + 7) || (direction == CONNECTION_WEST && x > 6) - || (direction == CONNECTION_EAST && x < gMapHeader.mapData->width + 7)) + || (direction == CONNECTION_EAST && x < gMapHeader.mapLayout->width + 7)) { continue; } @@ -916,42 +916,42 @@ void sub_8056CBC(struct Tileset *tileset, int offset, int size) } } -void sub_8056D28(struct MapData *mapData) +void sub_8056D28(struct MapLayout *mapLayout) { void *src = (void*)(BG_VRAM); - sub_8056C98(mapData->primaryTileset, src); + sub_8056C98(mapLayout->primaryTileset, src); } -void sub_8056D38(struct MapData *mapData) +void sub_8056D38(struct MapLayout *mapLayout) { void *src = (void*)(BG_VRAM + 0x4000); - sub_8056C98(mapData->secondaryTileset, src); + sub_8056C98(mapLayout->secondaryTileset, src); } -void apply_map_tileset1_palette(struct MapData *mapData) +void apply_map_tileset1_palette(struct MapLayout *mapLayout) { - sub_8056CBC(mapData->primaryTileset, 0, 0xc0); + sub_8056CBC(mapLayout->primaryTileset, 0, 0xc0); } -void apply_map_tileset2_palette(struct MapData *mapData) +void apply_map_tileset2_palette(struct MapLayout *mapLayout) { - sub_8056CBC(mapData->secondaryTileset, 0x60, 0xc0); + sub_8056CBC(mapLayout->secondaryTileset, 0x60, 0xc0); } -void copy_map_tileset1_tileset2_to_vram(struct MapData *mapData) +void copy_map_tileset1_tileset2_to_vram(struct MapLayout *mapLayout) { - if (mapData) + if (mapLayout) { - sub_8056D28(mapData); - sub_8056D38(mapData); + sub_8056D28(mapLayout); + sub_8056D38(mapLayout); } } -void apply_map_tileset1_tileset2_palette(struct MapData *mapData) +void apply_map_tileset1_tileset2_palette(struct MapLayout *mapLayout) { - if (mapData) + if (mapLayout) { - apply_map_tileset1_palette(mapData); - apply_map_tileset2_palette(mapData); + apply_map_tileset1_palette(mapLayout); + apply_map_tileset2_palette(mapLayout); } } diff --git a/src/item_use.c b/src/item_use.c index 69fcd51de..e6087d1f9 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -384,23 +384,23 @@ bool8 sub_80C9688(struct MapConnection *connection, int x, int y) case 2: localOffset = connection->offset + 7; localX = x - localOffset; - localLength = mapHeader->mapData->height - 7; + localLength = mapHeader->mapLayout->height - 7; localY = localLength + y; // additions are reversed for some reason break; case 1: localOffset = connection->offset + 7; localX = x - localOffset; - localLength = gMapHeader.mapData->height + 7; + localLength = gMapHeader.mapLayout->height + 7; localY = y - localLength; break; case 3: - localLength = mapHeader->mapData->width - 7; + localLength = mapHeader->mapLayout->width - 7; localX = localLength + x; // additions are reversed for some reason localOffset = connection->offset + 7; localY = y - localOffset; break; case 4: - localLength = gMapHeader.mapData->width + 7; + localLength = gMapHeader.mapLayout->width + 7; localX = x - localLength; localOffset = connection->offset + 7; localY = y - localOffset; @@ -417,8 +417,8 @@ void sub_80C9720(u8 taskId) { s16 x, y; s16 curX, curY; - s16 width = gMapHeader.mapData->width + 7; - s16 height = gMapHeader.mapData->height + 7; + s16 width = gMapHeader.mapLayout->width + 7; + s16 height = gMapHeader.mapLayout->height + 7; PlayerGetDestCoords(&x, &y); diff --git a/src/overworld.c b/src/overworld.c index 47e23ad35..6a44afb04 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -86,7 +86,7 @@ extern u8 TradeRoom_PromptToCancelLink[]; extern u8 TradeRoom_TerminateLink[]; extern u8 gUnknown_081A4508[]; -extern struct MapData * const gMapAttributes[]; +extern struct MapLayout * const gMapLayouts[]; extern struct MapHeader * const * const gMapGroups[]; extern s32 gMaxFlashLevel; @@ -336,17 +336,17 @@ void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType) static void mapdata_load_assets_to_gpu_and_full_redraw(void) { move_tilemap_camera_to_upper_left_corner(); - copy_map_tileset1_tileset2_to_vram(gMapHeader.mapData); - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + copy_map_tileset1_tileset2_to_vram(gMapHeader.mapLayout); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); DrawWholeMapView(); cur_mapheader_run_tileset_funcs_after_some_cpuset(); } -static struct MapData *get_mapdata_header(void) +static struct MapLayout *GetMapLayout(void) { - u16 mapDataId = gSaveBlock1.mapDataId; - if (mapDataId) - return gMapAttributes[mapDataId - 1]; + u16 mapLayoutId = gSaveBlock1.mapLayoutId; + if (mapLayoutId) + return gMapLayouts[mapLayoutId - 1]; return NULL; } @@ -395,14 +395,14 @@ struct MapHeader *const warp1_get_mapheader(void) static void set_current_map_header_from_sav1_save_old_name(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum); - gSaveBlock1.mapDataId = gMapHeader.mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gSaveBlock1.mapLayoutId = gMapHeader.mapLayoutId; + gMapHeader.mapLayout = GetMapLayout(); } static void LoadSaveblockMapHeader(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.location.mapGroup, gSaveBlock1.location.mapNum); - gMapHeader.mapData = get_mapdata_header(); + gMapHeader.mapLayout = GetMapLayout(); } void sub_80533CC(void) @@ -419,8 +419,8 @@ void sub_80533CC(void) } else { - gSaveBlock1.pos.x = gMapHeader.mapData->width / 2; - gSaveBlock1.pos.y = gMapHeader.mapData->height / 2; + gSaveBlock1.pos.x = gMapHeader.mapLayout->width / 2; + gSaveBlock1.pos.y = gMapHeader.mapLayout->height / 2; } } @@ -608,8 +608,8 @@ void sub_80538F0(u8 mapGroup, u8 mapNum) Overworld_ClearSavedMusic(); mapheader_run_script_with_tag_x3(); not_trainer_hill_battle_pyramid(); - sub_8056D38(gMapHeader.mapData); - apply_map_tileset2_palette(gMapHeader.mapData); + sub_8056D38(gMapHeader.mapLayout); + apply_map_tileset2_palette(gMapHeader.mapLayout); for (paletteIndex = 6; paletteIndex < 12; paletteIndex++) ApplyWeatherGammaShiftToPal(paletteIndex); @@ -784,10 +784,10 @@ u8 Overworld_GetFlashLevel(void) return gSaveBlock1.flashLevel; } -void sub_8053D14(u16 mapDataId) +void sub_8053D14(u16 mapLayoutId) { - gSaveBlock1.mapDataId = mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gSaveBlock1.mapLayoutId = mapLayoutId; + gMapHeader.mapLayout = GetMapLayout(); } static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp) @@ -1558,15 +1558,15 @@ bool32 sub_805483C(u8 *a1) (*a1)++; break; case 6: - sub_8056D28(gMapHeader.mapData); + sub_8056D28(gMapHeader.mapLayout); (*a1)++; break; case 7: - sub_8056D38(gMapHeader.mapData); + sub_8056D38(gMapHeader.mapLayout); (*a1)++; break; case 8: - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*a1)++; break; case 9: @@ -1624,15 +1624,15 @@ bool32 sub_805493C(u8 *a1, u32 a2) (*a1)++; break; case 6: - sub_8056D28(gMapHeader.mapData); + sub_8056D28(gMapHeader.mapLayout); (*a1)++; break; case 7: - sub_8056D38(gMapHeader.mapData); + sub_8056D38(gMapHeader.mapLayout); (*a1)++; break; case 8: - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*a1)++; break; case 9: @@ -1714,15 +1714,15 @@ bool32 sub_8054A9C(u8 *a1) (*a1)++; break; case 5: - sub_8056D28(gMapHeader.mapData); + sub_8056D28(gMapHeader.mapLayout); (*a1)++; break; case 6: - sub_8056D38(gMapHeader.mapData); + sub_8056D38(gMapHeader.mapLayout); (*a1)++; break; case 7: - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*a1)++; break; case 8: diff --git a/src/region_map.c b/src/region_map.c index 81ecd7c1b..74062f435 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -628,8 +628,8 @@ static void InitializeCursorPosition(void) case 5: gRegionMap->mapSectionId = gMapHeader.regionMapSectionId; gRegionMap->playerIsInCave = FALSE; - mapWidth = gMapHeader.mapData->width; - mapHeight = gMapHeader.mapData->height; + mapWidth = gMapHeader.mapLayout->width; + mapHeight = gMapHeader.mapLayout->height; x = gSaveBlock1.pos.x; y = gSaveBlock1.pos.y; if (gRegionMap->mapSectionId == MAPSEC_UNDERWATER_128) @@ -640,8 +640,8 @@ static void InitializeCursorPosition(void) mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.warp4.mapGroup, gSaveBlock1.warp4.mapNum); gRegionMap->mapSectionId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = gSaveBlock1.warp4.x; y = gSaveBlock1.warp4.y; break; @@ -649,8 +649,8 @@ static void InitializeCursorPosition(void) mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.warp2.mapGroup, gSaveBlock1.warp2.mapNum); gRegionMap->mapSectionId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = gSaveBlock1.warp2.x; y = gSaveBlock1.warp2.y; break; @@ -671,8 +671,8 @@ static void InitializeCursorPosition(void) gRegionMap->mapSectionId = mapHeader->regionMapSectionId; } gRegionMap->playerIsInCave = FALSE; - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = r4->x; y = r4->y; } @@ -758,14 +758,14 @@ static void sub_80FB600(void) u16 r1; gRegionMap->mapSectionId = mapHeader->regionMapSectionId; - r1 = mapHeader->mapData->width / gRegionMapLocations[gRegionMap->mapSectionId].width; + r1 = mapHeader->mapLayout->width / gRegionMapLocations[gRegionMap->mapSectionId].width; if (r1 == 0) r1 = 1; x = sp2 / r1; if (x >= gRegionMapLocations[gRegionMap->mapSectionId].width) x = gRegionMapLocations[gRegionMap->mapSectionId].width - 1; - r1 = mapHeader->mapData->height / gRegionMapLocations[gRegionMap->mapSectionId].height; + r1 = mapHeader->mapLayout->height / gRegionMapLocations[gRegionMap->mapSectionId].height; if (r1 == 0) r1 = 1; y = sp4 / r1; diff --git a/src/secret_base.c b/src/secret_base.c index 60ce80af5..0812d2ac6 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -241,11 +241,11 @@ void sub_80BB764(s16 *arg1, s16 *arg2, u16 arg3) { s16 x, y; - for (y=0; yheight; y++) + for (y=0; yheight; y++) { - for (x=0; xwidth; x++) + for (x=0; xwidth; x++) { - if ((gMapHeader.mapData->map[y * gMapHeader.mapData->width + x] & 0x3ff) == arg3) + if ((gMapHeader.mapLayout->map[y * gMapHeader.mapLayout->width + x] & 0x3ff) == arg3) { *arg1 = x; *arg2 = y; diff --git a/src/shop.c b/src/shop.c index 88719e25e..8a5da1117 100644 --- a/src/shop.c +++ b/src/shop.c @@ -409,16 +409,16 @@ static void Shop_DrawViewportTiles(void) s32 r3 = MapGridGetMetatileLayerTypeAt(facingX + x, facingY + y); if (metatileId < 512) - BuyMenuDrawMapMetatile(x, y, (u16 *)gMapHeader.mapData->primaryTileset->metatiles + metatileId * 8, r3); + BuyMenuDrawMapMetatile(x, y, (u16 *)gMapHeader.mapLayout->primaryTileset->metatiles + metatileId * 8, r3); else - BuyMenuDrawMapMetatile(x, y, (u16 *)gMapHeader.mapData->secondaryTileset->metatiles + (metatileId - 512) * 8, r3); + BuyMenuDrawMapMetatile(x, y, (u16 *)gMapHeader.mapLayout->secondaryTileset->metatiles + (metatileId - 512) * 8, r3); } else { if (metatileId < 512) - BuyMenuDrawMapPartialMetatile(x, y, (u16 *)gMapHeader.mapData->primaryTileset->metatiles + metatileId * 8); + BuyMenuDrawMapPartialMetatile(x, y, (u16 *)gMapHeader.mapLayout->primaryTileset->metatiles + metatileId * 8); else - BuyMenuDrawMapPartialMetatile(x, y, (u16 *)gMapHeader.mapData->secondaryTileset->metatiles + (metatileId - 512) * 8); + BuyMenuDrawMapPartialMetatile(x, y, (u16 *)gMapHeader.mapLayout->secondaryTileset->metatiles + (metatileId - 512) * 8); } if (y == 0 && x != 0 && x != 6) diff --git a/src/tileset_anim.c b/src/tileset_anim.c index abd38edad..25f561c96 100644 --- a/src/tileset_anim.c +++ b/src/tileset_anim.c @@ -518,11 +518,11 @@ static void StartTileset1Animation(void) gTileset1AnimFrame = 0; gTileset1AnimLength = 0; gTileset1AnimCallback = 0; - if (gMapHeader.mapData->primaryTileset) + if (gMapHeader.mapLayout->primaryTileset) { - if (gMapHeader.mapData->primaryTileset->callback) + if (gMapHeader.mapLayout->primaryTileset->callback) { - gMapHeader.mapData->primaryTileset->callback(); + gMapHeader.mapLayout->primaryTileset->callback(); } } } @@ -532,11 +532,11 @@ static void StartTileset2Animation(void) gTileset2AnimFrame = 0; gTileset2AnimLength = 0; gTileset2AnimCallback = 0; - if (gMapHeader.mapData->secondaryTileset) + if (gMapHeader.mapLayout->secondaryTileset) { - if (gMapHeader.mapData->secondaryTileset->callback) + if (gMapHeader.mapLayout->secondaryTileset->callback) { - gMapHeader.mapData->secondaryTileset->callback(); + gMapHeader.mapLayout->secondaryTileset->callback(); } } } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index ad11bf566..133f8b3aa 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3725,7 +3725,7 @@ static u16 GetRoute119WaterTileNum(s16 x, s16 y, u8 section) for (yCur = yMin; yCur <= yMax; yCur++) { - for (xCur = 0; xCur < gMapHeader.mapData->width; xCur++) + for (xCur = 0; xCur < gMapHeader.mapLayout->width; xCur++) { if (MetatileBehavior_IsFeebasEncounterable(MapGridGetMetatileBehaviorAt(xCur + 7, yCur + 7)) == TRUE) { -- cgit v1.2.3 From 2c7a4e1406b078cf9bcc2a16e92a58497390aa17 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 20 Jun 2018 17:47:51 -0500 Subject: Use MUS_ prefix instead of BGM_ prefix for songs --- src/battle/battle_2.c | 8 +- src/battle/battle_setup.c | 36 +++---- src/battle/pokeball.c | 2 +- src/berry_blender.c | 6 +- src/bike.c | 4 +- src/cable_car.c | 2 +- src/cable_club.c | 4 +- src/contest.c | 2 +- src/credits.c | 4 +- src/data/battle_strings_en.h | 4 +- src/debug/sound_check_menu.c | 252 +++++++++++++++++++++---------------------- src/evolution_scene.c | 20 ++-- src/field_effect.c | 2 +- src/hall_of_fame.c | 2 +- src/main_menu.c | 2 +- src/mauville_man.c | 2 +- src/move_tutor_menu.c | 4 +- src/overworld.c | 24 ++--- src/party_menu.c | 2 +- src/pokemon_3.c | 30 +++--- src/roulette.c | 4 +- src/slot_machine.c | 14 +-- src/sound.c | 24 ++--- src/trade.c | 6 +- 24 files changed, 230 insertions(+), 230 deletions(-) (limited to 'src') diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 79d60125e..11ddd6b71 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -6339,7 +6339,7 @@ void HandleEndTurn_BattleWon(void) { case TRAINER_CLASS_ELITE_FOUR: case TRAINER_CLASS_CHAMPION: - PlayBGM(BGM_KACHI5); + PlayBGM(MUS_KACHI5); break; case TRAINER_CLASS_TEAM_AQUA: case TRAINER_CLASS_TEAM_MAGMA: @@ -6347,13 +6347,13 @@ void HandleEndTurn_BattleWon(void) case TRAINER_CLASS_AQUA_LEADER: case TRAINER_CLASS_MAGMA_ADMIN: case TRAINER_CLASS_MAGMA_LEADER: - PlayBGM(BGM_KACHI4); + PlayBGM(MUS_KACHI4); break; case TRAINER_CLASS_LEADER: - PlayBGM(BGM_KACHI3); + PlayBGM(MUS_KACHI3); break; default: - PlayBGM(BGM_KACHI1); + PlayBGM(MUS_KACHI1); break; } } diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c index f53959cc2..8c5f68902 100644 --- a/src/battle/battle_setup.c +++ b/src/battle/battle_setup.c @@ -587,7 +587,7 @@ void ScrSpecial_StartRayquazaBattle(void) ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = BATTLE_TYPE_LEGENDARY; - CreateBattleStartTask(B_TRANSITION_BLUR, BGM_BATTLE34); + CreateBattleStartTask(B_TRANSITION_BLUR, MUS_BATTLE34); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); } @@ -598,9 +598,9 @@ void ScrSpecial_StartGroudonKyogreBattle(void) gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_KYOGRE_GROUDON; if (gGameVersion == VERSION_RUBY) - CreateBattleStartTask(B_TRANSITION_SHARDS, BGM_BATTLE34); // GROUDON + CreateBattleStartTask(B_TRANSITION_SHARDS, MUS_BATTLE34); // GROUDON else - CreateBattleStartTask(B_TRANSITION_RIPPLE, BGM_BATTLE34); // KYOGRE + CreateBattleStartTask(B_TRANSITION_RIPPLE, MUS_BATTLE34); // KYOGRE IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); } @@ -610,7 +610,7 @@ void ScrSpecial_StartRegiBattle(void) ScriptContext2_Enable(); gMain.savedCallback = CB2_EndScriptedWildBattle; gBattleTypeFlags = BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_REGI; - CreateBattleStartTask(B_TRANSITION_GRID_SQUARES, BGM_BATTLE36); + CreateBattleStartTask(B_TRANSITION_GRID_SQUARES, MUS_BATTLE36); IncrementGameStat(GAME_STAT_TOTAL_BATTLES); IncrementGameStat(GAME_STAT_WILD_BATTLES); } @@ -1172,46 +1172,46 @@ void PlayTrainerEncounterMusic(void) switch (sub_803FC58(gTrainerBattleOpponent)) { case TRAINER_ENCOUNTER_MUSIC_MALE: - music = BGM_BOYEYE; + music = MUS_BOYEYE; break; case TRAINER_ENCOUNTER_MUSIC_FEMALE: - music = BGM_GIRLEYE; + music = MUS_GIRLEYE; break; case TRAINER_ENCOUNTER_MUSIC_GIRL: - music = BGM_SYOUJOEYE; + music = MUS_SYOUJOEYE; break; case TRAINER_ENCOUNTER_MUSIC_INTENSE: - music = BGM_HAGESHII; + music = MUS_HAGESHII; break; case TRAINER_ENCOUNTER_MUSIC_COOL: - music = BGM_KAKKOII; + music = MUS_KAKKOII; break; case TRAINER_ENCOUNTER_MUSIC_AQUA: - music = BGM_AQA_0; + music = MUS_AQA_0; break; case TRAINER_ENCOUNTER_MUSIC_MAGMA: - music = BGM_MGM0; + music = MUS_MGM0; break; case TRAINER_ENCOUNTER_MUSIC_SWIMMER: - music = BGM_SWIMEYE; + music = MUS_SWIMEYE; break; case TRAINER_ENCOUNTER_MUSIC_TWINS: - music = BGM_HUTAGO; + music = MUS_HUTAGO; break; case TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR: - music = BGM_SITENNOU; + music = MUS_SITENNOU; break; case TRAINER_ENCOUNTER_MUSIC_HIKER: - music = BGM_YAMA_EYE; + music = MUS_YAMA_EYE; break; case TRAINER_ENCOUNTER_MUSIC_INTERVIEWER: - music = BGM_INTER_V; + music = MUS_INTER_V; break; case TRAINER_ENCOUNTER_MUSIC_RICH: - music = BGM_TEST; + music = MUS_TEST; break; default: - music = BGM_AYASII; + music = MUS_AYASII; } PlayNewMapMusic(music); } diff --git a/src/battle/pokeball.c b/src/battle/pokeball.c index be2adbf1b..c619141a1 100644 --- a/src/battle/pokeball.c +++ b/src/battle/pokeball.c @@ -815,7 +815,7 @@ static void sub_8046FBC(struct Sprite *sprite) { gDoingBattleAnim = 0; m4aMPlayAllStop(); - PlaySE(BGM_FANFA5); + PlaySE(MUS_FANFA5); } else if (sprite->data[4] == 315) { diff --git a/src/berry_blender.c b/src/berry_blender.c index 4531ea546..8bf669a92 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1245,7 +1245,7 @@ static void sub_804E9F8(void) { gBerryBlenderData->field_178 = GetCurrentMapMusic(); } - PlayBGM(BGM_CYCLING); + PlayBGM(MUS_CYCLING); break; case 100: Menu_DrawStdWindowFrame(0, 13, 29, 19); @@ -1507,7 +1507,7 @@ static void sub_804F378(void) { gBerryBlenderData->field_178 = GetCurrentMapMusic(); } - PlayBGM(BGM_CYCLING); + PlayBGM(MUS_CYCLING); PlaySE(SE_MOTER); Blender_ControlHitPitch(); break; @@ -3524,7 +3524,7 @@ static void sub_8052BD0(u8 taskID) { if (gTasks[taskID].data[0] == 0) { - PlayFanfare(BGM_FANFA1); + PlayFanfare(MUS_FANFA1); gTasks[taskID].data[0]++; } if (IsFanfareTaskInactive()) diff --git a/src/bike.c b/src/bike.c index f0f996b6b..41090a375 100644 --- a/src/bike.c +++ b/src/bike.c @@ -1001,8 +1001,8 @@ void GetOnOffBike(u8 var) else { SetPlayerAvatarTransitionFlags(var); - Overworld_SetSavedMusic(BGM_CYCLING); - Overworld_ChangeMusicTo(BGM_CYCLING); + Overworld_SetSavedMusic(MUS_CYCLING); + Overworld_ChangeMusicTo(MUS_CYCLING); } } diff --git a/src/cable_car.c b/src/cable_car.c index bae6f020a..7dcd8db1b 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -386,7 +386,7 @@ static void CableCarMainCallback_Setup(void) break; case 7: BeginNormalPaletteFade(0xFFFFFFFF, 3, 16, 0, RGB(0, 0, 0)); - FadeInNewBGM(BGM_ROPEWAY, 1); + FadeInNewBGM(MUS_ROPEWAY, 1); sub_8123FBC(1); gMain.state++; break; diff --git a/src/cable_club.c b/src/cable_club.c index 0da23c5f3..1e1f0af07 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -766,9 +766,9 @@ static void sub_808382C(u8 taskId) break; case 5: if (gLinkPlayers[0].trainerId & 1) - current_map_music_set__default_for_battle(BGM_BATTLE32); + current_map_music_set__default_for_battle(MUS_BATTLE32); else - current_map_music_set__default_for_battle(BGM_BATTLE20); + current_map_music_set__default_for_battle(MUS_BATTLE20); switch (gSpecialVar_0x8004) { diff --git a/src/contest.c b/src/contest.c index fcadd8ae1..9dff08ea7 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1584,7 +1584,7 @@ void sub_80AC2CC(u8 taskId) { case 0: sub_80B1EA8(-1, 1); - PlayFanfare(BGM_ME_ZANNEN); + PlayFanfare(MUS_ME_ZANNEN); gTasks[taskId].data[10]++; break; case 1: diff --git a/src/credits.c b/src/credits.c index b99bc56bd..1a810492b 100644 --- a/src/credits.c +++ b/src/credits.c @@ -497,7 +497,7 @@ void sub_81439D0(void) SetVBlankCallback(vblank_8143948); - m4aSongNumStart(BGM_THANKFOR); + m4aSongNumStart(MUS_THANKFOR); SetMainCallback2(sub_814395C); gUnknown_02039325 = 0; @@ -741,7 +741,7 @@ static void task_a_8144080(u8 taskIdA) } if (gTasks[taskIdA].data[TDA_0] == 6840) - m4aSongNumStart(BGM_END); + m4aSongNumStart(MUS_END); gTasks[taskIdA].data[TDA_0] -= 1; } diff --git a/src/data/battle_strings_en.h b/src/data/battle_strings_en.h index 67eb70ee1..7ae5467dd 100644 --- a/src/data/battle_strings_en.h +++ b/src/data/battle_strings_en.h @@ -747,8 +747,8 @@ const u8 BattleText_BallBrokeOhNo[] = _("Oh, no!\nThe POKéMON broke free!"); const u8 BattleText_BallBrokeAppeared[] = _("Aww!\nIt appeared to be caught!"); const u8 BattleText_BallBrokeAlmost[] = _("Aargh!\nAlmost had it!"); const u8 BattleText_BallBrokeSoClose[] = _("Shoot!\nIt was so close, too!"); -const u8 BattleText_BallCaught1[] = _("Gotcha!\n{STRING 3} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}\p"); -const u8 BattleText_BallCaught2[] = _("Gotcha!\n{STRING 3} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}{PAUSE 127}"); +const u8 BattleText_BallCaught1[] = _("Gotcha!\n{STRING 3} was caught!{UNKNOWN_A}{PLAY_BGM MUS_KACHI22}\p"); +const u8 BattleText_BallCaught2[] = _("Gotcha!\n{STRING 3} was caught!{UNKNOWN_A}{PLAY_BGM MUS_KACHI22}{PAUSE 127}"); const u8 BattleText_GiveNickname[] = _("Give a nickname to the\ncaptured {STRING 3}?"); const u8 BattleText_SentToPC[] = _("{STRING 3} was sent to\n{STRING 35} PC."); const u8 BattleText_Someone[] = _("someone’s"); diff --git a/src/debug/sound_check_menu.c b/src/debug/sound_check_menu.c index 1fcf52f38..d57c699da 100644 --- a/src/debug/sound_check_menu.c +++ b/src/debug/sound_check_menu.c @@ -19,7 +19,7 @@ // window selections enum { - BGM_WINDOW, + MUS_WINDOW, SE_WINDOW }; @@ -151,7 +151,7 @@ void CB2_StartSoundCheckMenu(void) SetMainCallback2(CB2_SoundCheckMenu); REG_DISPCNT = 0x7140; taskId = CreateTask(Task_InitSoundCheckMenu, 0); - gTasks[taskId].tWindowSelected = BGM_WINDOW; + gTasks[taskId].tWindowSelected = MUS_WINDOW; gTasks[taskId].tBgmIndex = 0; gTasks[taskId].tSeIndex = 0; gTasks[taskId].data[3] = 0; @@ -196,7 +196,7 @@ extern const u8 *const gSENames[]; void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText { HighlightSelectedWindow(gTasks[taskId].tWindowSelected); - PrintSoundNumber(gTasks[taskId].tBgmIndex + BGM_STOP, 7, 8); // print by BGM index + PrintSoundNumber(gTasks[taskId].tBgmIndex + MUS_STOP, 7, 8); // print by BGM index sub_80BA79C(gBGMNames[gTasks[taskId].tBgmIndex], 11, 8); PrintSoundNumber(gTasks[taskId].tSeIndex, 7, 15); sub_80BA79C(gSENames[gTasks[taskId].tSeIndex], 11, 15); @@ -247,19 +247,19 @@ bool8 Task_ProcessSoundCheckMenuInput(u8 taskId) { if (gTasks[taskId].tBgmIndex != 0) { - m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP); - m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP); + m4aSongNumStop(gTasks[taskId].data[3] + MUS_STOP); + m4aSongNumStart(gTasks[taskId].tBgmIndex + MUS_STOP); gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex; } else { - m4aSongNumStop(gTasks[taskId].data[3] + BGM_STOP); + m4aSongNumStop(gTasks[taskId].data[3] + MUS_STOP); gTasks[taskId].data[3] = 0; } } else if (gTasks[taskId].tBgmIndex != 0) { - m4aSongNumStart(gTasks[taskId].tBgmIndex + BGM_STOP); + m4aSongNumStart(gTasks[taskId].tBgmIndex + MUS_STOP); gTasks[taskId].data[3] = gTasks[taskId].tBgmIndex; } } @@ -346,7 +346,7 @@ void HighlightSelectedWindow(u8 windowType) { switch (windowType) { - case BGM_WINDOW: + case MUS_WINDOW: default: REG_WIN1H = WIN_RANGE(17, 223); REG_WIN1V = WIN_RANGE(41, 87); @@ -819,124 +819,124 @@ void sub_80BB1D4(void) } #define SOUND_LIST_BGM \ - X(BGM_STOP, "STOP") \ - X(BGM_TETSUJI, "TETSUJI") \ - X(BGM_FIELD13, "FIELD13") \ - X(BGM_KACHI22, "KACHI22") \ - X(BGM_KACHI2, "KACHI2") \ - X(BGM_KACHI3, "KACHI3") \ - X(BGM_KACHI5, "KACHI5") \ - X(BGM_PCC, "PCC") \ - X(BGM_NIBI, "NIBI") \ - X(BGM_SUIKUN, "SUIKUN") \ - X(BGM_DOORO1, "DOORO1") \ - X(BGM_DOORO_X1, "DOORO-X1") \ - X(BGM_DOORO_X3, "DOORO-X3") \ - X(BGM_MACHI_S2, "MACHI-S2") \ - X(BGM_MACHI_S4, "MACHI-S4") \ - X(BGM_GIM, "GIM") \ - X(BGM_NAMINORI, "NAMINORI") \ - X(BGM_DAN01, "DAN01") \ - X(BGM_FANFA1, "FANFA1") \ - X(BGM_ME_ASA, "ME-ASA") \ - X(BGM_ME_BACHI, "ME-BACHI") \ - X(BGM_FANFA4, "FANFA4") \ - X(BGM_FANFA5, "FANFA5") \ - X(BGM_ME_WAZA, "ME-WAZA") \ - X(BGM_BIJYUTU, "BIJYUTU") \ - X(BGM_DOORO_X4, "DOORO-X4") \ - X(BGM_FUNE_KAN, "FUNE-KAN") \ - X(BGM_ME_SHINKA, "ME-SHINKA") \ - X(BGM_SHINKA, "SHINKA") \ - X(BGM_ME_WASURE, "ME-WASURE") \ - X(BGM_SYOUJOEYE, "SYOUJOEYE") \ - X(BGM_BOYEYE, "BOYEYE") \ - X(BGM_DAN02, "DAN02") \ - X(BGM_MACHI_S3, "MACHI-S3") \ - X(BGM_ODAMAKI, "ODAMAKI") \ - X(BGM_B_TOWER, "B-TOWER") \ - X(BGM_SWIMEYE, "SWIMEYE") \ - X(BGM_DAN03, "DAN03") \ - X(BGM_ME_KINOMI, "ME-KINOMI") \ - X(BGM_ME_TAMA, "ME-TAMA") \ - X(BGM_ME_B_BIG, "ME-B-BIG") \ - X(BGM_ME_B_SMALL, "ME-B-SMALL") \ - X(BGM_ME_ZANNEN, "ME-ZANNEN") \ - X(BGM_BD_TIME, "BD-TIME") \ - X(BGM_TEST1, "TEST1") \ - X(BGM_TEST2, "TEST2") \ - X(BGM_TEST3, "TEST3") \ - X(BGM_TEST4, "TEST4") \ - X(BGM_TEST, "TEST") \ - X(BGM_GOMACHI0, "GOMACHI0") \ - X(BGM_GOTOWN, "GOTOWN") \ - X(BGM_POKECEN, "POKECEN") \ - X(BGM_NEXTROAD, "NEXTROAD") \ - X(BGM_GRANROAD, "GRANROAD") \ - X(BGM_CYCLING, "CYCLING") \ - X(BGM_FRIENDLY, "FRIENDLY") \ - X(BGM_MISHIRO, "MISHIRO") \ - X(BGM_TOZAN, "TOZAN") \ - X(BGM_GIRLEYE, "GIRLEYE") \ - X(BGM_MINAMO, "MINAMO") \ - X(BGM_ASHROAD, "ASHROAD") \ - X(BGM_EVENT0, "EVENT0") \ - X(BGM_DEEPDEEP, "DEEPDEEP") \ - X(BGM_KACHI1, "KACHI1") \ - X(BGM_TITLE3, "TITLE3") \ - X(BGM_DEMO1, "DEMO1") \ - X(BGM_GIRL_SUP, "GIRL-SUP") \ - X(BGM_HAGESHII, "HAGESHII") \ - X(BGM_KAKKOII, "KAKKOII") \ - X(BGM_KAZANBAI, "KAZANBAI") \ - X(BGM_AQA_0, "AQA-0") \ - X(BGM_TSURETEK, "TSURETEK") \ - X(BGM_BOY_SUP, "BOY-SUP") \ - X(BGM_RAINBOW, "RAINBOW") \ - X(BGM_AYASII, "AYASII") \ - X(BGM_KACHI4, "KACHI4") \ - X(BGM_ROPEWAY, "ROPEWAY") \ - X(BGM_CASINO, "CASINO") \ - X(BGM_HIGHTOWN, "HIGHTOWN") \ - X(BGM_SAFARI, "SAFARI") \ - X(BGM_C_ROAD, "C-ROAD") \ - X(BGM_AJITO, "AJITO") \ - X(BGM_M_BOAT, "M-BOAT") \ - X(BGM_M_DUNGON, "M-DUNGON") \ - X(BGM_FINECITY, "FINECITY") \ - X(BGM_MACHUPI, "MACHUPI") \ - X(BGM_P_SCHOOL, "P-SCHOOL") \ - X(BGM_DENDOU, "DENDOU") \ - X(BGM_TONEKUSA, "TONEKUSA") \ - X(BGM_MABOROSI, "MABOROSI") \ - X(BGM_CON_FAN, "CON-FAN") \ - X(BGM_CONTEST0, "CONTEST0") \ - X(BGM_MGM0, "MGM0") \ - X(BGM_T_BATTLE, "T-BATTLE") \ - X(BGM_OOAME, "OOAME") \ - X(BGM_HIDERI, "HIDERI") \ - X(BGM_RUNECITY, "RUNECITY") \ - X(BGM_CON_K, "CON-K") \ - X(BGM_EIKOU_R, "EIKOU-R") \ - X(BGM_KARAKURI, "KARAKURI") \ - X(BGM_HUTAGO, "HUTAGO") \ - X(BGM_SITENNOU, "SITENNOU") \ - X(BGM_YAMA_EYE, "YAMA-EYE") \ - X(BGM_CONLOBBY, "CONLOBBY") \ - X(BGM_INTER_V, "INTER-V") \ - X(BGM_DAIGO, "DAIGO") \ - X(BGM_THANKFOR, "THANKFOR") \ - X(BGM_END, "END") \ - X(BGM_BATTLE27, "BATTLE27") \ - X(BGM_BATTLE31, "BATTLE31") \ - X(BGM_BATTLE20, "BATTLE20") \ - X(BGM_BATTLE32, "BATTLE32") \ - X(BGM_BATTLE33, "BATTLE33") \ - X(BGM_BATTLE36, "BATTLE36") \ - X(BGM_BATTLE34, "BATTLE34") \ - X(BGM_BATTLE35, "BATTLE35") \ - X(BGM_BATTLE38, "BATTLE38") \ - X(BGM_BATTLE30, "BATTLE30") + X(MUS_STOP, "STOP") \ + X(MUS_TETSUJI, "TETSUJI") \ + X(MUS_FIELD13, "FIELD13") \ + X(MUS_KACHI22, "KACHI22") \ + X(MUS_KACHI2, "KACHI2") \ + X(MUS_KACHI3, "KACHI3") \ + X(MUS_KACHI5, "KACHI5") \ + X(MUS_PCC, "PCC") \ + X(MUS_NIBI, "NIBI") \ + X(MUS_SUIKUN, "SUIKUN") \ + X(MUS_DOORO1, "DOORO1") \ + X(MUS_DOORO_X1, "DOORO-X1") \ + X(MUS_DOORO_X3, "DOORO-X3") \ + X(MUS_MACHI_S2, "MACHI-S2") \ + X(MUS_MACHI_S4, "MACHI-S4") \ + X(MUS_GIM, "GIM") \ + X(MUS_NAMINORI, "NAMINORI") \ + X(MUS_DAN01, "DAN01") \ + X(MUS_FANFA1, "FANFA1") \ + X(MUS_ME_ASA, "ME-ASA") \ + X(MUS_ME_BACHI, "ME-BACHI") \ + X(MUS_FANFA4, "FANFA4") \ + X(MUS_FANFA5, "FANFA5") \ + X(MUS_ME_WAZA, "ME-WAZA") \ + X(MUS_BIJYUTU, "BIJYUTU") \ + X(MUS_DOORO_X4, "DOORO-X4") \ + X(MUS_FUNE_KAN, "FUNE-KAN") \ + X(MUS_ME_SHINKA, "ME-SHINKA") \ + X(MUS_SHINKA, "SHINKA") \ + X(MUS_ME_WASURE, "ME-WASURE") \ + X(MUS_SYOUJOEYE, "SYOUJOEYE") \ + X(MUS_BOYEYE, "BOYEYE") \ + X(MUS_DAN02, "DAN02") \ + X(MUS_MACHI_S3, "MACHI-S3") \ + X(MUS_ODAMAKI, "ODAMAKI") \ + X(MUS_B_TOWER, "B-TOWER") \ + X(MUS_SWIMEYE, "SWIMEYE") \ + X(MUS_DAN03, "DAN03") \ + X(MUS_ME_KINOMI, "ME-KINOMI") \ + X(MUS_ME_TAMA, "ME-TAMA") \ + X(MUS_ME_B_BIG, "ME-B-BIG") \ + X(MUS_ME_B_SMALL, "ME-B-SMALL") \ + X(MUS_ME_ZANNEN, "ME-ZANNEN") \ + X(MUS_BD_TIME, "BD-TIME") \ + X(MUS_TEST1, "TEST1") \ + X(MUS_TEST2, "TEST2") \ + X(MUS_TEST3, "TEST3") \ + X(MUS_TEST4, "TEST4") \ + X(MUS_TEST, "TEST") \ + X(MUS_GOMACHI0, "GOMACHI0") \ + X(MUS_GOTOWN, "GOTOWN") \ + X(MUS_POKECEN, "POKECEN") \ + X(MUS_NEXTROAD, "NEXTROAD") \ + X(MUS_GRANROAD, "GRANROAD") \ + X(MUS_CYCLING, "CYCLING") \ + X(MUS_FRIENDLY, "FRIENDLY") \ + X(MUS_MISHIRO, "MISHIRO") \ + X(MUS_TOZAN, "TOZAN") \ + X(MUS_GIRLEYE, "GIRLEYE") \ + X(MUS_MINAMO, "MINAMO") \ + X(MUS_ASHROAD, "ASHROAD") \ + X(MUS_EVENT0, "EVENT0") \ + X(MUS_DEEPDEEP, "DEEPDEEP") \ + X(MUS_KACHI1, "KACHI1") \ + X(MUS_TITLE3, "TITLE3") \ + X(MUS_DEMO1, "DEMO1") \ + X(MUS_GIRL_SUP, "GIRL-SUP") \ + X(MUS_HAGESHII, "HAGESHII") \ + X(MUS_KAKKOII, "KAKKOII") \ + X(MUS_KAZANBAI, "KAZANBAI") \ + X(MUS_AQA_0, "AQA-0") \ + X(MUS_TSURETEK, "TSURETEK") \ + X(MUS_BOY_SUP, "BOY-SUP") \ + X(MUS_RAINBOW, "RAINBOW") \ + X(MUS_AYASII, "AYASII") \ + X(MUS_KACHI4, "KACHI4") \ + X(MUS_ROPEWAY, "ROPEWAY") \ + X(MUS_CASINO, "CASINO") \ + X(MUS_HIGHTOWN, "HIGHTOWN") \ + X(MUS_SAFARI, "SAFARI") \ + X(MUS_C_ROAD, "C-ROAD") \ + X(MUS_AJITO, "AJITO") \ + X(MUS_M_BOAT, "M-BOAT") \ + X(MUS_M_DUNGON, "M-DUNGON") \ + X(MUS_FINECITY, "FINECITY") \ + X(MUS_MACHUPI, "MACHUPI") \ + X(MUS_P_SCHOOL, "P-SCHOOL") \ + X(MUS_DENDOU, "DENDOU") \ + X(MUS_TONEKUSA, "TONEKUSA") \ + X(MUS_MABOROSI, "MABOROSI") \ + X(MUS_CON_FAN, "CON-FAN") \ + X(MUS_CONTEST0, "CONTEST0") \ + X(MUS_MGM0, "MGM0") \ + X(MUS_T_BATTLE, "T-BATTLE") \ + X(MUS_OOAME, "OOAME") \ + X(MUS_HIDERI, "HIDERI") \ + X(MUS_RUNECITY, "RUNECITY") \ + X(MUS_CON_K, "CON-K") \ + X(MUS_EIKOU_R, "EIKOU-R") \ + X(MUS_KARAKURI, "KARAKURI") \ + X(MUS_HUTAGO, "HUTAGO") \ + X(MUS_SITENNOU, "SITENNOU") \ + X(MUS_YAMA_EYE, "YAMA-EYE") \ + X(MUS_CONLOBBY, "CONLOBBY") \ + X(MUS_INTER_V, "INTER-V") \ + X(MUS_DAIGO, "DAIGO") \ + X(MUS_THANKFOR, "THANKFOR") \ + X(MUS_END, "END") \ + X(MUS_BATTLE27, "BATTLE27") \ + X(MUS_BATTLE31, "BATTLE31") \ + X(MUS_BATTLE20, "BATTLE20") \ + X(MUS_BATTLE32, "BATTLE32") \ + X(MUS_BATTLE33, "BATTLE33") \ + X(MUS_BATTLE36, "BATTLE36") \ + X(MUS_BATTLE34, "BATTLE34") \ + X(MUS_BATTLE35, "BATTLE35") \ + X(MUS_BATTLE38, "BATTLE38") \ + X(MUS_BATTLE30, "BATTLE30") #define SOUND_LIST_SE \ X(SE_STOP, "STOP") \ diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 48d5dd82c..182f85d8d 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -567,14 +567,14 @@ static void Task_EvolutionScene(u8 taskID) case 3: // wait for cry, play tu du SE if (IsCryFinished()) { - PlaySE(BGM_ME_SHINKA); + PlaySE(MUS_ME_SHINKA); gTasks[taskID].tState++; } break; case 4: // play evolution music and fade screen black if (!IsSEPlaying()) { - PlayNewMapMusic(BGM_SHINKA); + PlayNewMapMusic(MUS_SHINKA); gTasks[taskID].tState++; BeginNormalPaletteFade(0x1C, 4, 0, 16, RGB(0, 0, 0)); } @@ -642,7 +642,7 @@ static void Task_EvolutionScene(u8 taskID) { StringExpandPlaceholders(gStringVar4, BattleText_FinishEvo); Text_InitWindow8002EB0(&gUnknown_03004210, gStringVar4, 144, 2, 15); - PlayBGM(BGM_FANFA5); + PlayBGM(MUS_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies)); CalculateMonStats(mon); @@ -719,7 +719,7 @@ static void Task_EvolutionScene(u8 taskID) if (gUnknown_03004210.state == 0 && !IsSEPlaying()) { sub_8024CEC(); - PlayFanfare(BGM_FANFA1); + PlayFanfare(MUS_FANFA1); StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[3]); Text_InitWindow8002EB0(&gUnknown_03004210, gDisplayedStringBattle, 144, 2, 15); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter @@ -908,15 +908,15 @@ static void Task_TradeEvolutionScene(u8 taskID) case 2: if (IsCryFinished()) { - m4aSongNumStop(BGM_SHINKA); - PlaySE(BGM_ME_SHINKA); + m4aSongNumStop(MUS_SHINKA); + PlaySE(MUS_ME_SHINKA); gTasks[taskID].tState++; } break; case 3: if (!IsSEPlaying()) { - PlayBGM(BGM_SHINKA); + PlayBGM(MUS_SHINKA); gTasks[taskID].tState++; BeginNormalPaletteFade(0x1C, 4, 0, 16, RGB(0, 0, 0)); } @@ -984,7 +984,7 @@ static void Task_TradeEvolutionScene(u8 taskID) { StringExpandPlaceholders(gStringVar4, BattleText_FinishEvo); Text_InitWindow8002EB0(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15); - PlayFanfare(BGM_FANFA5); + PlayFanfare(MUS_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies)); CalculateMonStats(mon); @@ -1016,7 +1016,7 @@ static void Task_TradeEvolutionScene(u8 taskID) } else { - PlayBGM(BGM_SHINKA); + PlayBGM(MUS_SHINKA); Text_InitWindow8002EB0(&gUnknown_03004828->window, gOtherText_LinkStandby2, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tState++; } @@ -1033,7 +1033,7 @@ static void Task_TradeEvolutionScene(u8 taskID) if (gUnknown_03004828->window.state == 0 && !IsSEPlaying()) { sub_8024CEC(); - PlayFanfare(BGM_FANFA1); + PlayFanfare(MUS_FANFA1); StrCpyDecodeToDisplayedStringBattle(gBattleStringsTable[3]); Text_InitWindow8002EB0(&gUnknown_03004828->window, gDisplayedStringBattle, gUnknown_03004828->textWindowBaseTileNum, 2, 15); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter diff --git a/src/field_effect.c b/src/field_effect.c index 91794a07a..98b43aa22 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -918,7 +918,7 @@ void PokeballGlowEffect_1(struct Sprite *sprite) sprite->data[3] = 0; if (sprite->data[5]) { - PlayFanfare(BGM_ME_ASA); + PlayFanfare(MUS_ME_ASA); } } } diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 5bd0d229b..2536f4898 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -451,7 +451,7 @@ static bool8 sub_8141E64(void) if (!gPaletteFade.active) { SetMainCallback2(CB2_HallOfFame); - PlayBGM(BGM_DENDOU); + PlayBGM(MUS_DENDOU); return 0; } break; diff --git a/src/main_menu.c b/src/main_menu.c index 886995b16..93d9be77a 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -774,7 +774,7 @@ static void Task_NewGameSpeech1(u8 taskId) gTasks[taskId].data[3] = 0xFF; gTasks[taskId].tFrameCounter = 216; //Wait 3.6 seconds (216 frames) before starting speech - PlayBGM(BGM_DOORO_X4); + PlayBGM(MUS_DOORO_X4); } static void Task_NewGameSpeech2(u8 taskId) diff --git a/src/mauville_man.c b/src/mauville_man.c index e22809242..bfdfe9cf1 100644 --- a/src/mauville_man.c +++ b/src/mauville_man.c @@ -745,7 +745,7 @@ static void Task_BardSong(u8 taskId) case 3: if (gStringVar4[task->tCharIndex] == EOS) { - FadeInNewBGM(BGM_POKECEN, 6); + FadeInNewBGM(MUS_POKECEN, 6); m4aMPlayFadeOutTemporarily(&gMPlay_SE2, 2); EnableBothScriptContexts(); DestroyTask(taskId); diff --git a/src/move_tutor_menu.c b/src/move_tutor_menu.c index 7e1365391..0ecc82a72 100644 --- a/src/move_tutor_menu.c +++ b/src/move_tutor_menu.c @@ -602,13 +602,13 @@ static void MoveTutorMain(void) PrintMainMoveTutorMenuText(gOtherText_ForgotOrDidNotLearnMove); #endif sMoveTutorMenu->state = 31; - PlayFanfare(BGM_FANFA1); + PlayFanfare(MUS_FANFA1); } break; case 31: if (Menu_UpdateWindowText()) { - PlayFanfare(BGM_FANFA1); + PlayFanfare(MUS_FANFA1); sMoveTutorMenu->state = 32; } break; diff --git a/src/overworld.c b/src/overworld.c index 6a44afb04..579d119b0 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -50,9 +50,9 @@ #include "wild_encounter.h" #ifdef SAPPHIRE -#define LEGENDARY_MUSIC BGM_OOAME // Heavy Rain +#define LEGENDARY_MUSIC MUS_OOAME // Heavy Rain #else -#define LEGENDARY_MUSIC BGM_HIDERI // Drought +#define LEGENDARY_MUSIC MUS_HIDERI // Drought #endif struct UnkTVStruct @@ -831,7 +831,7 @@ static u16 GetLocationMusic(struct WarpData *warp) if (ShouldLegendaryMusicPlayAtLocation(warp) == TRUE) return LEGENDARY_MUSIC; else if (IsInfiltratedWeatherInstitute(warp) == TRUE) - return BGM_TOZAN; + return MUS_TOZAN; else return Overworld_GetMapHeaderByGroupAndId(warp->mapGroup, warp->mapNum)->music; } @@ -844,7 +844,7 @@ u16 GetCurrLocationDefaultMusic(void) if (gSaveBlock1.location.mapGroup == MAP_GROUP(ROUTE111) && gSaveBlock1.location.mapNum == MAP_NUM(ROUTE111) && GetSav1Weather() == 8) - return BGM_ASHROAD; + return MUS_ASHROAD; music = GetLocationMusic(&gSaveBlock1.location); if (music != 0x7FFF) @@ -854,9 +854,9 @@ u16 GetCurrLocationDefaultMusic(void) else { if (gSaveBlock1.pos.x < 24) - return BGM_DOORO_X1; + return MUS_DOORO_X1; else - return BGM_GRANROAD; + return MUS_GRANROAD; } } @@ -871,9 +871,9 @@ u16 GetWarpDestinationMusic(void) { if (gSaveBlock1.location.mapGroup == MAP_GROUP(MAUVILLE_CITY) && gSaveBlock1.location.mapNum == MAP_NUM(MAUVILLE_CITY)) - return BGM_DOORO_X1; + return MUS_DOORO_X1; else - return BGM_GRANROAD; + return MUS_GRANROAD; } } @@ -891,9 +891,9 @@ void Overworld_PlaySpecialMapMusic(void) if (gSaveBlock1.savedMusic) music = gSaveBlock1.savedMusic; else if (Overworld_GetMapTypeOfSaveblockLocation() == MAP_TYPE_UNDERWATER) - music = BGM_DEEPDEEP; + music = MUS_DEEPDEEP; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - music = BGM_NAMINORI; + music = MUS_NAMINORI; } if (music != GetCurrentMapMusic()) @@ -918,10 +918,10 @@ void sub_8053F0C(void) u16 currentMusic = GetCurrentMapMusic(); if (newMusic != LEGENDARY_MUSIC) { - if (currentMusic == BGM_DEEPDEEP || currentMusic == BGM_NAMINORI) + if (currentMusic == MUS_DEEPDEEP || currentMusic == MUS_NAMINORI) return; if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) - newMusic = BGM_NAMINORI; + newMusic = MUS_NAMINORI; } if (newMusic != currentMusic) { diff --git a/src/party_menu.c b/src/party_menu.c index a39300825..a4b7b0ffa 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -3975,7 +3975,7 @@ void Task_TeamMonTMMove3(u8 taskId) { if (gUnknown_0202E8F6 == 0) { - PlayFanfare(BGM_FANFA1); + PlayFanfare(MUS_FANFA1); gTasks[taskId].func = Task_TeamMonTMMove4; } } diff --git a/src/pokemon_3.c b/src/pokemon_3.c index c6eda8bca..30e9503cd 100644 --- a/src/pokemon_3.c +++ b/src/pokemon_3.c @@ -1108,48 +1108,48 @@ void ClearBattleMonForms(void) gBattleMonForms[i] = 0; } -u16 GetBGM_ForBattle(void) +u16 GetMUS_ForBattle(void) { if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) - return BGM_BATTLE34; + return MUS_BATTLE34; if (gBattleTypeFlags & BATTLE_TYPE_REGI) - return BGM_BATTLE36; + return MUS_BATTLE36; if (gBattleTypeFlags & BATTLE_TYPE_LINK) - return BGM_BATTLE20; + return MUS_BATTLE20; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { switch (gTrainers[gTrainerBattleOpponent].trainerClass) { case 2: case 0x31: - return BGM_BATTLE30; + return MUS_BATTLE30; case 3: case 4: case 0x32: case 0x33: - return BGM_BATTLE31; + return MUS_BATTLE31; case 0x19: - return BGM_BATTLE32; + return MUS_BATTLE32; case 0x20: - return BGM_BATTLE33; + return MUS_BATTLE33; case 0x2E: if (!StringCompare(gTrainers[gTrainerBattleOpponent].trainerName, BattleText_Wally)) - return BGM_BATTLE20; - return BGM_BATTLE35; + return MUS_BATTLE20; + return MUS_BATTLE35; case 0x18: - return BGM_BATTLE38; + return MUS_BATTLE38; default: - return BGM_BATTLE20; + return MUS_BATTLE20; } } - return BGM_BATTLE27; + return MUS_BATTLE27; } void sub_80408BC(void) { ResetMapMusic(); m4aMPlayAllStop(); - PlayBGM(GetBGM_ForBattle()); + PlayBGM(GetMUS_ForBattle()); } void current_map_music_set__default_for_battle(u16 song) @@ -1159,7 +1159,7 @@ void current_map_music_set__default_for_battle(u16 song) if (song) PlayNewMapMusic(song); else - PlayNewMapMusic(GetBGM_ForBattle()); + PlayNewMapMusic(GetMUS_ForBattle()); } const u8 *GetMonSpritePal(struct Pokemon *mon) diff --git a/src/roulette.c b/src/roulette.c index ab60e089a..c8804a543 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1055,13 +1055,13 @@ void sub_8116638(u8 taskid) case 0x2: if (gTasks[taskid].data[0x2] == 0xC) { - PlayFanfare(BGM_ME_B_BIG); + PlayFanfare(MUS_ME_B_BIG); Menu_DrawStdWindowFrame(0x0, 0xE, 0x1D, 0x13); Menu_PrintText(&gUnknown_081C41A5, 0x1, 0xF); } else { - PlayFanfare(BGM_ME_B_SMALL); + PlayFanfare(MUS_ME_B_SMALL); Menu_DrawStdWindowFrame(0x0, 0xE, 0x1D, 0x13); Menu_PrintText(&gUnknown_081C4199, 0x1, 0xF); } diff --git a/src/slot_machine.c b/src/slot_machine.c index ccd7e4353..3de87e0f7 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -927,17 +927,17 @@ bool8 sub_81020C8(struct Task *task) } if (eSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) { - PlayFanfare(BGM_ME_B_BIG); + PlayFanfare(MUS_ME_B_BIG); sub_8104CAC(6); } else if (eSlotMachine->matchedSymbols & (1 << SLOT_MACHINE_MATCHED_777_MIXED)) { - PlayFanfare(BGM_ME_B_BIG); + PlayFanfare(MUS_ME_B_BIG); sub_8104CAC(5); } else { - PlayFanfare(BGM_ME_B_SMALL); + PlayFanfare(MUS_ME_B_SMALL); sub_8104CAC(2); } if (eSlotMachine->matchedSymbols & ((1 << SLOT_MACHINE_MATCHED_777_MIXED) | (1 << SLOT_MACHINE_MATCHED_777_BLUE) | (1 << SLOT_MACHINE_MATCHED_777_RED))) @@ -2682,7 +2682,7 @@ static void sub_810437C(struct Task *task) sub_810545C(); sub_8102680(); StopMapMusic(); - PlayNewMapMusic(BGM_BD_TIME); + PlayNewMapMusic(MUS_BD_TIME); } static void sub_81043EC(struct Task *task) @@ -2818,7 +2818,7 @@ static void sub_81046C0(struct Task *task) { task->data[4] = 0xa0; StartSpriteAnimIfDifferent(gSprites + eSlotMachine->unk3F, 5); - PlayFanfare(BGM_ME_ZANNEN); + PlayFanfare(MUS_ME_ZANNEN); } else { @@ -2830,7 +2830,7 @@ static void sub_81046C0(struct Task *task) sub_8104098(); eSlotMachine->pikaPower = 0; } - PlayFanfare(BGM_ME_B_SMALL); + PlayFanfare(MUS_ME_B_SMALL); } } } @@ -2906,7 +2906,7 @@ static void sub_81048CC(struct Task *task) task->data[4] = 4; task->data[5] = 0; StopMapMusic(); - PlayFanfare(BGM_ME_ZANNEN); + PlayFanfare(MUS_ME_ZANNEN); PlaySE(SE_W153); } diff --git a/src/sound.c b/src/sound.c index 159ad3f70..5b41acbc6 100644 --- a/src/sound.c +++ b/src/sound.c @@ -44,18 +44,18 @@ extern struct ToneData voicegroup_84549C0[]; static const struct Fanfare sFanfares[] = { - { BGM_FANFA1, 80 }, - { BGM_FANFA4, 160 }, - { BGM_FANFA5, 220 }, - { BGM_ME_WAZA, 220 }, - { BGM_ME_ASA, 160 }, - { BGM_ME_BACHI, 340 }, - { BGM_ME_WASURE, 180 }, - { BGM_ME_KINOMI, 120 }, - { BGM_ME_TAMA, 710 }, - { BGM_ME_B_BIG, 250 }, - { BGM_ME_B_SMALL, 150 }, - { BGM_ME_ZANNEN, 160 }, + { MUS_FANFA1, 80 }, + { MUS_FANFA4, 160 }, + { MUS_FANFA5, 220 }, + { MUS_ME_WAZA, 220 }, + { MUS_ME_ASA, 160 }, + { MUS_ME_BACHI, 340 }, + { MUS_ME_WASURE, 180 }, + { MUS_ME_KINOMI, 120 }, + { MUS_ME_TAMA, 710 }, + { MUS_ME_B_BIG, 250 }, + { MUS_ME_B_SMALL, 150 }, + { MUS_ME_ZANNEN, 160 }, }; static void Task_Fanfare(u8 taskId); diff --git a/src/trade.c b/src/trade.c index 8d7f5b1fc..50de29b7f 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1208,7 +1208,7 @@ static void sub_8047EC0(void) sub_8048C70(); gMain.state ++; nullsub_5(7, 0); - PlayBGM(BGM_P_SCHOOL); + PlayBGM(MUS_P_SCHOOL); break; case 14: sub_804ACF4(1); @@ -4812,7 +4812,7 @@ static bool8 sub_804C29C(void) gSprites[gUnknown_03004828->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_03004828->tradeSpecies[0]].y_offset; gUnknown_03004828->unk_00c4 ++; gUnknown_03004828->unk_0124 = GetCurrentMapMusic(); - PlayBGM(BGM_SHINKA); + PlayBGM(MUS_SHINKA); break; case 1: if (gUnknown_03004828->bg2hofs > 0) @@ -5195,7 +5195,7 @@ static bool8 sub_804C29C(void) case 68: if (++ gUnknown_03004828->unk_00c0 == 4) { - PlayFanfare(BGM_FANFA5); + PlayFanfare(MUS_FANFA5); } if (gUnknown_03004828->unk_00c0 == 0xf0) { -- cgit v1.2.3 From b6465675b63085ebcdbcd576110733edc2c06b4a Mon Sep 17 00:00:00 2001 From: MCboy Date: Thu, 21 Jun 2018 03:28:07 +0430 Subject: ugh not again --- src/battle/anim/flying.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index dcb248128..0decda6cd 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -11,6 +11,7 @@ extern u8 gAnimBankTarget; extern u8 gAnimVisualTaskCount; void sub_80785E4(struct Sprite *sprite); +void sub_80DA034(struct Sprite *sprite); void sub_80DA05C(struct Sprite *sprite); void sub_80DA16C(struct Sprite *sprite); void sub_80DA1EC(struct Sprite *sprite); -- cgit v1.2.3 From 8a17a182522adb139153713a7ae2d293d3866a7e Mon Sep 17 00:00:00 2001 From: Avara <31101124+Mother-Of-Dragons@users.noreply.github.com> Date: Fri, 22 Jun 2018 00:50:37 +0100 Subject: updated labels of tileset_anim.c --- src/tileset_anim.c | 106 ++++++++++++++++++++++++++--------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) (limited to 'src') diff --git a/src/tileset_anim.c b/src/tileset_anim.c index 3f93ee7f5..25c261593 100644 --- a/src/tileset_anim.c +++ b/src/tileset_anim.c @@ -199,17 +199,17 @@ static const u8 *const gTilesetAnims_Pacifidlog1[] = gTilesetAnims_Pacifidlog1_Frame7 }; -static const u8 gTilesetAnims_Mauville0a_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/0.4bpp"); -static const u8 gTilesetAnims_Mauville0a_Frame1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/1.4bpp"); -static const u8 gTilesetAnims_Mauville0a_Frame2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/2.4bpp"); -static const u8 gTilesetAnims_Mauville0a_Frame3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/3.4bpp"); -static const u8 gTilesetAnims_Mauville0a_Frame4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/4.4bpp"); - -static const u8 gTilesetAnims_Mauville0b_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/0.4bpp"); -static const u8 gTilesetAnims_Mauville0b_Frame1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/1.4bpp"); -static const u8 gTilesetAnims_Mauville0b_Frame2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/2.4bpp"); -static const u8 gTilesetAnims_Mauville0b_Frame3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/3.4bpp"); -static const u8 gTilesetAnims_Mauville0b_Frame4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/4.4bpp"); +static const u8 gTilesetAnims_Mauville0_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/0.4bpp"); +static const u8 gTilesetAnims_Mauville0_Frame1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/1.4bpp"); +static const u8 gTilesetAnims_Mauville0_Frame2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/2.4bpp"); +static const u8 gTilesetAnims_Mauville0_Frame3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/3.4bpp"); +static const u8 gTilesetAnims_Mauville0_Frame4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/4.4bpp"); + +static const u8 gTilesetAnims_Mauville1_Frame0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/0.4bpp"); +static const u8 gTilesetAnims_Mauville1_Frame1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/1.4bpp"); +static const u8 gTilesetAnims_Mauville1_Frame2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/2.4bpp"); +static const u8 gTilesetAnims_Mauville1_Frame3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/3.4bpp"); +static const u8 gTilesetAnims_Mauville1_Frame4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/4.4bpp"); static const void *const gTilesetAnims_MauvilleVDests0[] = { @@ -235,52 +235,52 @@ static const void *const gTilesetAnims_MauvilleVDests1[] = (void *)(VRAM + 0x5380), }; -static const u8 *const gTilesetAnimTable_Mauville_0A[] = -{ - gTilesetAnims_Mauville0a_Frame0, - gTilesetAnims_Mauville0a_Frame0, - gTilesetAnims_Mauville0a_Frame1, - gTilesetAnims_Mauville0a_Frame2, - gTilesetAnims_Mauville0a_Frame3, - gTilesetAnims_Mauville0a_Frame3, - gTilesetAnims_Mauville0a_Frame3, - gTilesetAnims_Mauville0a_Frame3, - gTilesetAnims_Mauville0a_Frame3, - gTilesetAnims_Mauville0a_Frame3, - gTilesetAnims_Mauville0a_Frame2, - gTilesetAnims_Mauville0a_Frame1, +static const u8 *const gTilesetAnims_Mauville0[] = +{ + gTilesetAnims_Mauville0_Frame0, + gTilesetAnims_Mauville0_Frame0, + gTilesetAnims_Mauville0_Frame1, + gTilesetAnims_Mauville0_Frame2, + gTilesetAnims_Mauville0_Frame3, + gTilesetAnims_Mauville0_Frame3, + gTilesetAnims_Mauville0_Frame3, + gTilesetAnims_Mauville0_Frame3, + gTilesetAnims_Mauville0_Frame3, + gTilesetAnims_Mauville0_Frame3, + gTilesetAnims_Mauville0_Frame2, + gTilesetAnims_Mauville0_Frame1, }; -static const u8 *const gTilesetAnimTable_Mauville_1A[] = -{ - gTilesetAnims_Mauville0b_Frame0, - gTilesetAnims_Mauville0b_Frame0, - gTilesetAnims_Mauville0b_Frame1, - gTilesetAnims_Mauville0b_Frame2, - gTilesetAnims_Mauville0b_Frame3, - gTilesetAnims_Mauville0b_Frame3, - gTilesetAnims_Mauville0b_Frame3, - gTilesetAnims_Mauville0b_Frame3, - gTilesetAnims_Mauville0b_Frame3, - gTilesetAnims_Mauville0b_Frame3, - gTilesetAnims_Mauville0b_Frame2, - gTilesetAnims_Mauville0b_Frame1, +static const u8 *const gTilesetAnims_Mauville1[] = +{ + gTilesetAnims_Mauville1_Frame0, + gTilesetAnims_Mauville1_Frame0, + gTilesetAnims_Mauville1_Frame1, + gTilesetAnims_Mauville1_Frame2, + gTilesetAnims_Mauville1_Frame3, + gTilesetAnims_Mauville1_Frame3, + gTilesetAnims_Mauville1_Frame3, + gTilesetAnims_Mauville1_Frame3, + gTilesetAnims_Mauville1_Frame3, + gTilesetAnims_Mauville1_Frame3, + gTilesetAnims_Mauville1_Frame2, + gTilesetAnims_Mauville1_Frame1, }; -static const u8 *const gTilesetAnimTable_Mauville_0B[] = +static const u8 *const gTilesetAnims_Mauville2[] = { - gTilesetAnims_Mauville0a_Frame0, - gTilesetAnims_Mauville0a_Frame0, - gTilesetAnims_Mauville0a_Frame4, - gTilesetAnims_Mauville0a_Frame4, + gTilesetAnims_Mauville0_Frame0, + gTilesetAnims_Mauville0_Frame0, + gTilesetAnims_Mauville0_Frame4, + gTilesetAnims_Mauville0_Frame4, }; -static const u8 *const gTilesetAnimTable_Mauville_1B[] = +static const u8 *const gTilesetAnims_Mauville3[] = { - gTilesetAnims_Mauville0b_Frame0, - gTilesetAnims_Mauville0b_Frame0, - gTilesetAnims_Mauville0b_Frame4, - gTilesetAnims_Mauville0b_Frame4, + gTilesetAnims_Mauville1_Frame0, + gTilesetAnims_Mauville1_Frame0, + gTilesetAnims_Mauville1_Frame4, + gTilesetAnims_Mauville1_Frame4, }; static const u8 gTilesetAnims_Rustboro0_Frame0[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/0.4bpp"); @@ -855,14 +855,14 @@ static void sub_8073704(u16 a1, u8 a2) if (a1 < 12) { v1 = a1 % 12; - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_0A[v1], gTilesetAnims_MauvilleVDests0[a2], 0x80); - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_1A[v1], gTilesetAnims_MauvilleVDests1[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnims_Mauville0[v1], gTilesetAnims_MauvilleVDests0[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnims_Mauville1[v1], gTilesetAnims_MauvilleVDests1[a2], 0x80); } else { v1 = a1 % 4; - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_0B[v1], gTilesetAnims_MauvilleVDests0[a2], 0x80); - QueueTilesetAnimDma(gTilesetAnimTable_Mauville_1B[v1], gTilesetAnims_MauvilleVDests1[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnims_Mauville2[v1], gTilesetAnims_MauvilleVDests0[a2], 0x80); + QueueTilesetAnimDma(gTilesetAnims_Mauville3[v1], gTilesetAnims_MauvilleVDests1[a2], 0x80); } } -- cgit v1.2.3 From d291ac9053837459191a55a8a48d4537d831648b Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Fri, 22 Jun 2018 13:53:44 +0100 Subject: Nonmatch sub_80DE114 --- src/ghost.c | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 94 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index fdb2e52fa..16f4241c0 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -249,4 +249,97 @@ void sub_80DDFE8(struct Sprite *sprite) { void sub_80DE0FC(struct Sprite *sprite) { sub_8078764(sprite, 1); sprite->callback = &sub_80DE114; -} \ No newline at end of file +} + +#ifdef NONMATCHING /* I couldn't do this one. */ +void sub_80DE114(struct Sprite *sprite) {} +#else +NAKED +void sub_80DE114(struct Sprite *sprite) { + asm_unified("\tpush {r4-r6,lr}\n" + "\tadds r3, r0, 0\n" + "\tmovs r5, 0\n" + "\tmovs r6, 0\n" + "\tadds r0, 0x3F\n" + "\tldrb r1, [r0]\n" + "\tmovs r0, 0x10\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _080DE1AA\n" + "\tadds r1, r3, 0\n" + "\tadds r1, 0x3E\n" + "\tldrb r2, [r1]\n" + "\tmovs r0, 0x4\n" + "\tands r0, r2\n" + "\tadds r4, r1, 0\n" + "\tcmp r0, 0\n" + "\tbne _080DE13E\n" + "\tmovs r0, 0x4\n" + "\torrs r0, r2\n" + "\tstrb r0, [r4]\n" + "_080DE13E:\n" + "\tmovs r1, 0x2E\n" + "\tldrsh r0, [r3, r1]\n" + "\tcmp r0, 0\n" + "\tbeq _080DE14E\n" + "\tcmp r0, 0x1\n" + "\tbeq _080DE158\n" + "\tmovs r6, 0x1\n" + "\tb _080DE162\n" + "_080DE14E:\n" + "\tmovs r1, 0x30\n" + "\tldrsh r0, [r3, r1]\n" + "\tcmp r0, 0x2\n" + "\tbne _080DE162\n" + "\tb _080DE166\n" + "_080DE158:\n" + "\tmovs r1, 0x30\n" + "\tldrsh r0, [r3, r1]\n" + "\tcmp r0, 0x4\n" + "\tbne _080DE162\n" + "\tmovs r5, 0x1\n" + "_080DE162:\n" + "\tcmp r5, 0\n" + "\tbeq _080DE198\n" + "_080DE166:\n" + "\tldrb r2, [r4]\n" + "\tlsls r0, r2, 29\n" + "\tlsrs r0, 31\n" + "\tmovs r1, 0x1\n" + "\teors r1, r0\n" + "\tlsls r1, 2\n" + "\tmovs r0, 0x5\n" + "\tnegs r0, r0\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4]\n" + "\tldrh r0, [r3, 0x32]\n" + "\tadds r0, 0x1\n" + "\tmovs r1, 0\n" + "\tstrh r0, [r3, 0x32]\n" + "\tstrh r1, [r3, 0x30]\n" + "\tlsls r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x5\n" + "\tbne _080DE1AA\n" + "\tstrh r1, [r3, 0x32]\n" + "\tldrh r0, [r3, 0x2E]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r3, 0x2E]\n" + "\tb _080DE1AA\n" + "_080DE198:\n" + "\tcmp r6, 0\n" + "\tbeq _080DE1A4\n" + "\tadds r0, r3, 0\n" + "\tbl DestroyAnimSprite\n" + "\tb _080DE1AA\n" + "_080DE1A4:\n" + "\tldrh r0, [r3, 0x30]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r3, 0x30]\n" + "_080DE1AA:\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0\n"); +} +#endif \ No newline at end of file -- cgit v1.2.3 From f9ea9e4fafb8b975bb3708fd2059c93f6d4d96f0 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Fri, 22 Jun 2018 14:29:43 +0100 Subject: Decompile sub_80DE1B0 --- src/ghost.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 16f4241c0..0c547a43f 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -17,6 +17,7 @@ void sub_80DDE7C(u8 taskId); void sub_80DDED0(u8 taskId); void sub_80DDFE8(struct Sprite *); void sub_80DE114(struct Sprite *); +void sub_80DE2DC(u8 taskId); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -342,4 +343,34 @@ void sub_80DE114(struct Sprite *sprite) { "\tpop {r0}\n" "\tbx r0\n"); } -#endif \ No newline at end of file +#endif + +void sub_80DE1B0(u8 taskId) { + struct Task *task; + + task = &gTasks[taskId]; + task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1); + if (task->data[0] < 0) { + DestroyAnimVisualTask(taskId); + return; + } + task->data[1] = 0; + task->data[2] = 15; + task->data[3] = 2; + task->data[4] = 0; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; + gSprites[task->data[0]].data[0] = 80; + if (GetBattlerSide(gAnimBankTarget) == 0) { + gSprites[task->data[0]].data[1] = 0xff70; + gSprites[task->data[0]].data[2] = 0x70; + } else { + gSprites[task->data[0]].data[1] = 0x90; + gSprites[task->data[0]].data[2] = 0xff90; + } + gSprites[task->data[0]].data[3] = 0; + gSprites[task->data[0]].data[4] = 0; + StoreSpriteCallbackInData(&gSprites[task->data[0]], SpriteCallbackDummy); + gSprites[task->data[0]].callback = &sub_8078394; + task->func = &sub_80DE2DC; +} \ No newline at end of file -- cgit v1.2.3 From 6bf9718737e6863ee66336549a7da450233a8df9 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Fri, 22 Jun 2018 15:47:46 +0100 Subject: Decompile sub_80DE2DC --- src/ghost.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 0c547a43f..3a13f0b7c 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -373,4 +373,41 @@ void sub_80DE1B0(u8 taskId) { StoreSpriteCallbackInData(&gSprites[task->data[0]], SpriteCallbackDummy); gSprites[task->data[0]].callback = &sub_8078394; task->func = &sub_80DE2DC; +} + +void sub_80DE2DC(u8 taskId) { + struct Task *task; + + task = &gTasks[taskId]; + switch (task->data[4]) { + case 0: + task->data[1] += 1; + task->data[5] = task->data[1] & 3; + if (task->data[5] == 1) { + if (task->data[2] > 0) + task->data[2] -= 1; + } + if (task->data[5] == 3) { + if (task->data[3] <= 15) + task->data[3] += 1; + } + REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; + if (task->data[3] != 16 || task->data[2] != 0) + break; + if (task->data[1] <= 80) + break; + obj_delete_but_dont_free_vram(&gSprites[task->data[0]]); + task->data[4] = 1; + break; + case 1: + task->data[6] += 1; + if (task->data[6] <= 1) + break; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + task->data[4] += 1; + break; + case 2: + DestroyAnimVisualTask(taskId); + } } \ No newline at end of file -- cgit v1.2.3 From 7f185ce187271334796162b95e1a378d0edabbd3 Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Fri, 22 Jun 2018 15:54:01 +0100 Subject: Decompile sub_80DE3AC --- src/ghost.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/ghost.c b/src/ghost.c index 3a13f0b7c..c5d19e082 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -18,6 +18,7 @@ void sub_80DDED0(u8 taskId); void sub_80DDFE8(struct Sprite *); void sub_80DE114(struct Sprite *); void sub_80DE2DC(u8 taskId); +void sub_80DE3D4(u8 taskId); void sub_80DDB6C(struct Sprite *sprite) { InitAnimSpritePos(sprite, 1); @@ -410,4 +411,13 @@ void sub_80DE2DC(u8 taskId) { case 2: DestroyAnimVisualTask(taskId); } +} + +void sub_80DE3AC(u8 taskId) { + struct Task *task; + + task = &gTasks[taskId]; + task->data[15] = 0; + task->func = &sub_80DE3D4; + sub_80DE3D4(taskId); } \ No newline at end of file -- cgit v1.2.3 From 9542764ca1ba1a698a7fcb5e2efe7f975eeaba3f Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Sat, 23 Jun 2018 17:08:29 +0100 Subject: Move everything into battle/anim/ghost.c --- src/battle/anim/ghost.c | 415 +++++++++++++++++++++++++++++++++++++++++++++++ src/ghost.c | 423 ------------------------------------------------ 2 files changed, 415 insertions(+), 423 deletions(-) delete mode 100644 src/ghost.c (limited to 'src') diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c index fd33d4782..c83f5f444 100755 --- a/src/battle/anim/ghost.c +++ b/src/battle/anim/ghost.c @@ -1,15 +1,28 @@ #include "global.h" +#include "sound.h" +#include "trig.h" #include "rom_8077ABC.h" #include "battle_anim.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; extern u8 gAnimBankTarget; +extern u8 gUnknown_0202F7D2; void sub_80DDB6C(struct Sprite *sprite); +void sub_80DDBD8(struct Sprite *); +void sub_80DDC4C(struct Sprite *); +void sub_80DDCC8(struct Sprite *); void sub_80DDD58(struct Sprite *sprite); +void sub_80DDD78(struct Sprite *); +void sub_80DDE7C(u8 taskId); +void sub_80DDED0(u8 taskId); void sub_80DDF40(struct Sprite *sprite); +void sub_80DDFE8(struct Sprite *); void sub_80DE0FC(struct Sprite *sprite); +void sub_80DE114(struct Sprite *); +void sub_80DE2DC(u8 taskId); +void sub_80DE3D4(u8 taskId); void sub_80DE7B8(struct Sprite *sprite); void sub_80DEF3C(struct Sprite *sprite); void sub_80DF0B8(struct Sprite *sprite); @@ -189,3 +202,405 @@ const struct SpriteTemplate gSpriteTemplate_83DAF98 = .affineAnims = gDummySpriteAffineAnimTable, .callback = sub_80DF49C, }; + +void sub_80DDB6C(struct Sprite *sprite) { + InitAnimSpritePos(sprite, 1); + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[1] = sprite->pos1.x; + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[3] = sprite->pos1.y; + sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sub_8078BD4(sprite); + sprite->callback = sub_80DDBD8; + sprite->data[6] = 0x10; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = sprite->data[6]; +} + +void sub_80DDBD8(struct Sprite *sprite) { + s16 r0; + s16 r2; + sub_80DDCC8(sprite); + if (TranslateAnimSpriteByDeltas(sprite)) { + sprite->callback = sub_80DDC4C; + return; + } + sprite->pos2.x += Sin(sprite->data[5], 10); + sprite->pos2.y += Cos(sprite->data[5], 15); + r2 = sprite->data[5]; + sprite->data[5] = (sprite->data[5] + 5) & 0xFF; + r0 = sprite->data[5]; + if (r2 != 0) { + if (r2 <= 0xC4) + return; + } + if (r0 <= 0) + return; + PlaySE12WithPanning(0xC4, gUnknown_0202F7D2); +} + +void sub_80DDC4C(struct Sprite *sprite) +{ + s16 r2; + s16 r0; + sprite->data[0] = 1; + TranslateAnimSpriteByDeltas(sprite); + sprite->pos2.x += Sin(sprite->data[5],10); + sprite->pos2.y += Cos(sprite->data[5],15); + + r2 = sprite->data[5]; + sprite->data[5] = (sprite->data[5] + 5) & 0xFF; + r0 = sprite->data[5]; + + if(r2 == 0 || r2 > 0xC4) + { + if(r0 > 0) + PlaySE(0xC4); + } + + if(sprite->data[6] == 0) + { + sprite->invisible = TRUE; + sprite->callback = sub_807861C; + } + else + sub_80DDCC8(sprite); +} + +void sub_80DDCC8(struct Sprite *sprite) +{ + + s16 r0; + if(sprite->data[6] > 0xFF) + { + if(++sprite->data[6] == 0x10d) + sprite->data[6] = 0; + return; + } + + r0 = sprite->data[7]; + sprite->data[7]++; + + if((r0 & 0xFF) == 0) + { + sprite->data[7] &= 0xff00; + if((sprite->data[7] & 0x100) != 0) + sprite->data[6]++; + else + sprite->data[6]--; + } + else + return; + + REG_BLDALPHA = ((16 - sprite->data[6]) << 8) | sprite->data[6]; + if(sprite->data[6] == 0 || sprite->data[6] == 16) + { + sprite->data[7] ^= 0x100; + } + if(sprite->data[6] == 0) + sprite->data[6] = 0x100; +} + +void sub_80DDD58(struct Sprite *sprite) +{ + sub_8078764(sprite, 1); + sprite->callback = sub_80DDD78; + sub_80DDD78(sprite); +} + +void sub_80DDD78(struct Sprite *sprite) { + u16 temp1; + sprite->pos2.x = Sin(sprite->data[0], 32); + sprite->pos2.y = Cos(sprite->data[0], 8); + temp1 = sprite->data[0] - 65; + if (temp1 <= 130) { + sprite->oam.priority = 2; + } else { + sprite->oam.priority = 1; + } + sprite->data[0] = (sprite->data[0] + 0x13) & 0xFF; + sprite->data[2] += 80; + sprite->pos2.y += sprite->data[2] >> 8; + sprite->data[7] += 1; + if (sprite->data[7] == 0x3D) { + DestroyAnimSprite(sprite); + } +} + +void sub_80DDDF0(u8 r5) { + u8 r4; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = 0x1000; + r4 = GetAnimBattlerSpriteId(0); + sub_8078E70(r4, 1); + obj_id_set_rotscale(r4, 0x80, 0x80, 0); + gSprites[r4].invisible = FALSE; + gTasks[r5].data[0] = 0x80; + gTasks[r5].data[1] = *gBattleAnimArgs; + gTasks[r5].data[2] = 0; + gTasks[r5].data[3] = 0x10; + gTasks[r5].func = &sub_80DDE7C; +} + +void sub_80DDE7C(u8 taskId) { + gTasks[taskId].data[10] += 1; + if (gTasks[taskId].data[10] == 3) { + gTasks[taskId].data[10] = 0; + gTasks[taskId].data[2] += 1; + gTasks[taskId].data[3] -= 1; + REG_BLDALPHA = gTasks[taskId].data[3] << 8 | gTasks[taskId].data[2]; + if (gTasks[taskId].data[2] != 9) + return; + gTasks[taskId].func = &sub_80DDED0; + } +} + +void sub_80DDED0(u8 taskId) { + u8 r1; + if (gTasks[taskId].data[1] > 0) { + gTasks[taskId].data[1] -= 1; + return; + } + r1 = GetAnimBattlerSpriteId(0); + gTasks[taskId].data[0] += 8; + if (gTasks[taskId].data[0] <= 0xFF) { + obj_id_set_rotscale(r1, gTasks[taskId].data[0], gTasks[taskId].data[0], 0); + return; + } + sub_8078F40(r1); + DestroyAnimVisualTask(taskId); + REG_BLDCNT = 0; + REG_BLDALPHA = 0; +} + +void sub_80DDF40(struct Sprite *sprite) { + u16 r5, r6; + r5 = sprite->pos1.x; + r6 = sprite->pos1.y; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[0]; + sprite->data[2] = gBattleAnimArgs[1]; + sprite->data[3] = gBattleAnimArgs[2]; + sprite->data[4] = sprite->pos1.x << 4; + sprite->data[5] = sprite->pos1.y << 4; + sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); + sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); + sprite->callback = &sub_80DDFE8; +} + +void sub_80DDFE8(struct Sprite *sprite) { + switch (sprite->data[0]) { + case 0: + sprite->data[4] += sprite->data[6]; + sprite->data[5] += sprite->data[7]; + sprite->pos1.x = sprite->data[4] >> 4; + sprite->pos1.y = sprite->data[5] >> 4; + sprite->data[1] -= 1; + if (sprite->data[1] > 0) + break; + sprite->data[0] += 1; + break; + case 1: + sprite->data[2] -= 1; + if (sprite->data[2] > 0) + break; + sprite->data[1] = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sprite->data[4] = sprite->pos1.x << 4; + sprite->data[5] = sprite->pos1.y << 4; + sprite->data[6] = ((sprite->data[1] - sprite->pos1.x) << 4) / sprite->data[3]; + sprite->data[7] = ((sprite->data[2] - sprite->pos1.y) << 4) / sprite->data[3]; + sprite->data[0] += 1; + break; + case 2: + sprite->data[4] += sprite->data[6]; + sprite->data[5] += sprite->data[7]; + sprite->pos1.x = sprite->data[4] >> 4; + sprite->pos1.y = sprite->data[5] >> 4; + sprite->data[3] -= 1; + if (sprite->data[3] > 0) + break; + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); + sprite->data[0] += 1; + break; + case 3: + move_anim_8074EE0(sprite); + } +} + +void sub_80DE0FC(struct Sprite *sprite) { + sub_8078764(sprite, 1); + sprite->callback = &sub_80DE114; +} + +#ifdef NONMATCHING /* I couldn't do this one. */ +void sub_80DE114(struct Sprite *sprite) {} +#else +NAKED +void sub_80DE114(struct Sprite *sprite) { + asm_unified("\tpush {r4-r6,lr}\n" + "\tadds r3, r0, 0\n" + "\tmovs r5, 0\n" + "\tmovs r6, 0\n" + "\tadds r0, 0x3F\n" + "\tldrb r1, [r0]\n" + "\tmovs r0, 0x10\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _080DE1AA\n" + "\tadds r1, r3, 0\n" + "\tadds r1, 0x3E\n" + "\tldrb r2, [r1]\n" + "\tmovs r0, 0x4\n" + "\tands r0, r2\n" + "\tadds r4, r1, 0\n" + "\tcmp r0, 0\n" + "\tbne _080DE13E\n" + "\tmovs r0, 0x4\n" + "\torrs r0, r2\n" + "\tstrb r0, [r4]\n" + "_080DE13E:\n" + "\tmovs r1, 0x2E\n" + "\tldrsh r0, [r3, r1]\n" + "\tcmp r0, 0\n" + "\tbeq _080DE14E\n" + "\tcmp r0, 0x1\n" + "\tbeq _080DE158\n" + "\tmovs r6, 0x1\n" + "\tb _080DE162\n" + "_080DE14E:\n" + "\tmovs r1, 0x30\n" + "\tldrsh r0, [r3, r1]\n" + "\tcmp r0, 0x2\n" + "\tbne _080DE162\n" + "\tb _080DE166\n" + "_080DE158:\n" + "\tmovs r1, 0x30\n" + "\tldrsh r0, [r3, r1]\n" + "\tcmp r0, 0x4\n" + "\tbne _080DE162\n" + "\tmovs r5, 0x1\n" + "_080DE162:\n" + "\tcmp r5, 0\n" + "\tbeq _080DE198\n" + "_080DE166:\n" + "\tldrb r2, [r4]\n" + "\tlsls r0, r2, 29\n" + "\tlsrs r0, 31\n" + "\tmovs r1, 0x1\n" + "\teors r1, r0\n" + "\tlsls r1, 2\n" + "\tmovs r0, 0x5\n" + "\tnegs r0, r0\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4]\n" + "\tldrh r0, [r3, 0x32]\n" + "\tadds r0, 0x1\n" + "\tmovs r1, 0\n" + "\tstrh r0, [r3, 0x32]\n" + "\tstrh r1, [r3, 0x30]\n" + "\tlsls r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x5\n" + "\tbne _080DE1AA\n" + "\tstrh r1, [r3, 0x32]\n" + "\tldrh r0, [r3, 0x2E]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r3, 0x2E]\n" + "\tb _080DE1AA\n" + "_080DE198:\n" + "\tcmp r6, 0\n" + "\tbeq _080DE1A4\n" + "\tadds r0, r3, 0\n" + "\tbl DestroyAnimSprite\n" + "\tb _080DE1AA\n" + "_080DE1A4:\n" + "\tldrh r0, [r3, 0x30]\n" + "\tadds r0, 0x1\n" + "\tstrh r0, [r3, 0x30]\n" + "_080DE1AA:\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0\n"); +} +#endif + +void sub_80DE1B0(u8 taskId) { + struct Task *task; + + task = &gTasks[taskId]; + task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1); + if (task->data[0] < 0) { + DestroyAnimVisualTask(taskId); + return; + } + task->data[1] = 0; + task->data[2] = 15; + task->data[3] = 2; + task->data[4] = 0; + REG_BLDCNT = 0x3F40; + REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; + gSprites[task->data[0]].data[0] = 80; + if (GetBattlerSide(gAnimBankTarget) == 0) { + gSprites[task->data[0]].data[1] = 0xff70; + gSprites[task->data[0]].data[2] = 0x70; + } else { + gSprites[task->data[0]].data[1] = 0x90; + gSprites[task->data[0]].data[2] = 0xff90; + } + gSprites[task->data[0]].data[3] = 0; + gSprites[task->data[0]].data[4] = 0; + StoreSpriteCallbackInData(&gSprites[task->data[0]], SpriteCallbackDummy); + gSprites[task->data[0]].callback = &sub_8078394; + task->func = &sub_80DE2DC; +} + +void sub_80DE2DC(u8 taskId) { + struct Task *task; + + task = &gTasks[taskId]; + switch (task->data[4]) { + case 0: + task->data[1] += 1; + task->data[5] = task->data[1] & 3; + if (task->data[5] == 1) { + if (task->data[2] > 0) + task->data[2] -= 1; + } + if (task->data[5] == 3) { + if (task->data[3] <= 15) + task->data[3] += 1; + } + REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; + if (task->data[3] != 16 || task->data[2] != 0) + break; + if (task->data[1] <= 80) + break; + obj_delete_but_dont_free_vram(&gSprites[task->data[0]]); + task->data[4] = 1; + break; + case 1: + task->data[6] += 1; + if (task->data[6] <= 1) + break; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + task->data[4] += 1; + break; + case 2: + DestroyAnimVisualTask(taskId); + } +} + +void sub_80DE3AC(u8 taskId) { + struct Task *task; + + task = &gTasks[taskId]; + task->data[15] = 0; + task->func = &sub_80DE3D4; + sub_80DE3D4(taskId); +} diff --git a/src/ghost.c b/src/ghost.c deleted file mode 100644 index c5d19e082..000000000 --- a/src/ghost.c +++ /dev/null @@ -1,423 +0,0 @@ -#include "global.h" -#include "battle_anim.h" -#include "rom_8077ABC.h" -#include "sound.h" -#include "trig.h" - -extern s16 gBattleAnimArgs[]; -extern u8 gAnimBankTarget; -extern u8 gUnknown_0202F7D2; -extern u8 gAnimBankAttacker; - -void sub_80DDBD8(struct Sprite *); -void sub_80DDC4C(struct Sprite *); -void sub_80DDCC8(struct Sprite *); -void sub_80DDD78(struct Sprite *); -void sub_80DDE7C(u8 taskId); -void sub_80DDED0(u8 taskId); -void sub_80DDFE8(struct Sprite *); -void sub_80DE114(struct Sprite *); -void sub_80DE2DC(u8 taskId); -void sub_80DE3D4(u8 taskId); - -void sub_80DDB6C(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); - sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[1] = sprite->pos1.x; - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 2); - sprite->data[3] = sprite->pos1.y; - sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); - sub_8078BD4(sprite); - sprite->callback = sub_80DDBD8; - sprite->data[6] = 0x10; - REG_BLDCNT = 0x3F40; - REG_BLDALPHA = sprite->data[6]; -} - -void sub_80DDBD8(struct Sprite *sprite) { - s16 r0; - s16 r2; - sub_80DDCC8(sprite); - if (TranslateAnimSpriteByDeltas(sprite)) { - sprite->callback = sub_80DDC4C; - return; - } - sprite->pos2.x += Sin(sprite->data[5], 10); - sprite->pos2.y += Cos(sprite->data[5], 15); - r2 = sprite->data[5]; - sprite->data[5] = (sprite->data[5] + 5) & 0xFF; - r0 = sprite->data[5]; - if (r2 != 0) { - if (r2 <= 0xC4) - return; - } - if (r0 <= 0) - return; - PlaySE12WithPanning(0xC4, gUnknown_0202F7D2); -} - -void sub_80DDC4C(struct Sprite *sprite) -{ - s16 r2; - s16 r0; - sprite->data[0] = 1; - TranslateAnimSpriteByDeltas(sprite); - sprite->pos2.x += Sin(sprite->data[5],10); - sprite->pos2.y += Cos(sprite->data[5],15); - - r2 = sprite->data[5]; - sprite->data[5] = (sprite->data[5] + 5) & 0xFF; - r0 = sprite->data[5]; - - if(r2 == 0 || r2 > 0xC4) - { - if(r0 > 0) - PlaySE(0xC4); - } - - if(sprite->data[6] == 0) - { - sprite->invisible = TRUE; - sprite->callback = sub_807861C; - } - else - sub_80DDCC8(sprite); -} - -void sub_80DDCC8(struct Sprite *sprite) -{ - - s16 r0; - if(sprite->data[6] > 0xFF) - { - if(++sprite->data[6] == 0x10d) - sprite->data[6] = 0; - return; - } - - r0 = sprite->data[7]; - sprite->data[7]++; - - if((r0 & 0xFF) == 0) - { - sprite->data[7] &= 0xff00; - if((sprite->data[7] & 0x100) != 0) - sprite->data[6]++; - else - sprite->data[6]--; - } - else - return; - - REG_BLDALPHA = ((16 - sprite->data[6]) << 8) | sprite->data[6]; - if(sprite->data[6] == 0 || sprite->data[6] == 16) - { - sprite->data[7] ^= 0x100; - } - if(sprite->data[6] == 0) - sprite->data[6] = 0x100; -} - -void sub_80DDD58(struct Sprite *sprite) -{ - sub_8078764(sprite, 1); - sprite->callback = sub_80DDD78; - sub_80DDD78(sprite); -} - -void sub_80DDD78(struct Sprite *sprite) { - u16 temp1; - sprite->pos2.x = Sin(sprite->data[0], 32); - sprite->pos2.y = Cos(sprite->data[0], 8); - temp1 = sprite->data[0] - 65; - if (temp1 <= 130) { - sprite->oam.priority = 2; - } else { - sprite->oam.priority = 1; - } - sprite->data[0] = (sprite->data[0] + 0x13) & 0xFF; - sprite->data[2] += 80; - sprite->pos2.y += sprite->data[2] >> 8; - sprite->data[7] += 1; - if (sprite->data[7] == 0x3D) { - DestroyAnimSprite(sprite); - } -} - -void sub_80DDDF0(u8 r5) { - u8 r4; - REG_BLDCNT = 0x3F40; - REG_BLDALPHA = 0x1000; - r4 = GetAnimBattlerSpriteId(0); - sub_8078E70(r4, 1); - obj_id_set_rotscale(r4, 0x80, 0x80, 0); - gSprites[r4].invisible = FALSE; - gTasks[r5].data[0] = 0x80; - gTasks[r5].data[1] = *gBattleAnimArgs; - gTasks[r5].data[2] = 0; - gTasks[r5].data[3] = 0x10; - gTasks[r5].func = &sub_80DDE7C; -} - -void sub_80DDE7C(u8 taskId) { - gTasks[taskId].data[10] += 1; - if (gTasks[taskId].data[10] == 3) { - gTasks[taskId].data[10] = 0; - gTasks[taskId].data[2] += 1; - gTasks[taskId].data[3] -= 1; - REG_BLDALPHA = gTasks[taskId].data[3] << 8 | gTasks[taskId].data[2]; - if (gTasks[taskId].data[2] != 9) - return; - gTasks[taskId].func = &sub_80DDED0; - } -} - -void sub_80DDED0(u8 taskId) { - u8 r1; - if (gTasks[taskId].data[1] > 0) { - gTasks[taskId].data[1] -= 1; - return; - } - r1 = GetAnimBattlerSpriteId(0); - gTasks[taskId].data[0] += 8; - if (gTasks[taskId].data[0] <= 0xFF) { - obj_id_set_rotscale(r1, gTasks[taskId].data[0], gTasks[taskId].data[0], 0); - return; - } - sub_8078F40(r1); - DestroyAnimVisualTask(taskId); - REG_BLDCNT = 0; - REG_BLDALPHA = 0; -} - -void sub_80DDF40(struct Sprite *sprite) { - u16 r5, r6; - r5 = sprite->pos1.x; - r6 = sprite->pos1.y; - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 3); - sprite->data[0] = 0; - sprite->data[1] = gBattleAnimArgs[0]; - sprite->data[2] = gBattleAnimArgs[1]; - sprite->data[3] = gBattleAnimArgs[2]; - sprite->data[4] = sprite->pos1.x << 4; - sprite->data[5] = sprite->pos1.y << 4; - sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); - sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); - sprite->callback = &sub_80DDFE8; -} - -void sub_80DDFE8(struct Sprite *sprite) { - switch (sprite->data[0]) { - case 0: - sprite->data[4] += sprite->data[6]; - sprite->data[5] += sprite->data[7]; - sprite->pos1.x = sprite->data[4] >> 4; - sprite->pos1.y = sprite->data[5] >> 4; - sprite->data[1] -= 1; - if (sprite->data[1] > 0) - break; - sprite->data[0] += 1; - break; - case 1: - sprite->data[2] -= 1; - if (sprite->data[2] > 0) - break; - sprite->data[1] = GetBattlerSpriteCoord(gAnimBankTarget, 2); - sprite->data[2] = GetBattlerSpriteCoord(gAnimBankTarget, 3); - sprite->data[4] = sprite->pos1.x << 4; - sprite->data[5] = sprite->pos1.y << 4; - sprite->data[6] = ((sprite->data[1] - sprite->pos1.x) << 4) / sprite->data[3]; - sprite->data[7] = ((sprite->data[2] - sprite->pos1.y) << 4) / sprite->data[3]; - sprite->data[0] += 1; - break; - case 2: - sprite->data[4] += sprite->data[6]; - sprite->data[5] += sprite->data[7]; - sprite->pos1.x = sprite->data[4] >> 4; - sprite->pos1.y = sprite->data[5] >> 4; - sprite->data[3] -= 1; - if (sprite->data[3] > 0) - break; - sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankTarget, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankTarget, 3); - sprite->data[0] += 1; - break; - case 3: - move_anim_8074EE0(sprite); - } -} - -void sub_80DE0FC(struct Sprite *sprite) { - sub_8078764(sprite, 1); - sprite->callback = &sub_80DE114; -} - -#ifdef NONMATCHING /* I couldn't do this one. */ -void sub_80DE114(struct Sprite *sprite) {} -#else -NAKED -void sub_80DE114(struct Sprite *sprite) { - asm_unified("\tpush {r4-r6,lr}\n" - "\tadds r3, r0, 0\n" - "\tmovs r5, 0\n" - "\tmovs r6, 0\n" - "\tadds r0, 0x3F\n" - "\tldrb r1, [r0]\n" - "\tmovs r0, 0x10\n" - "\tands r0, r1\n" - "\tcmp r0, 0\n" - "\tbeq _080DE1AA\n" - "\tadds r1, r3, 0\n" - "\tadds r1, 0x3E\n" - "\tldrb r2, [r1]\n" - "\tmovs r0, 0x4\n" - "\tands r0, r2\n" - "\tadds r4, r1, 0\n" - "\tcmp r0, 0\n" - "\tbne _080DE13E\n" - "\tmovs r0, 0x4\n" - "\torrs r0, r2\n" - "\tstrb r0, [r4]\n" - "_080DE13E:\n" - "\tmovs r1, 0x2E\n" - "\tldrsh r0, [r3, r1]\n" - "\tcmp r0, 0\n" - "\tbeq _080DE14E\n" - "\tcmp r0, 0x1\n" - "\tbeq _080DE158\n" - "\tmovs r6, 0x1\n" - "\tb _080DE162\n" - "_080DE14E:\n" - "\tmovs r1, 0x30\n" - "\tldrsh r0, [r3, r1]\n" - "\tcmp r0, 0x2\n" - "\tbne _080DE162\n" - "\tb _080DE166\n" - "_080DE158:\n" - "\tmovs r1, 0x30\n" - "\tldrsh r0, [r3, r1]\n" - "\tcmp r0, 0x4\n" - "\tbne _080DE162\n" - "\tmovs r5, 0x1\n" - "_080DE162:\n" - "\tcmp r5, 0\n" - "\tbeq _080DE198\n" - "_080DE166:\n" - "\tldrb r2, [r4]\n" - "\tlsls r0, r2, 29\n" - "\tlsrs r0, 31\n" - "\tmovs r1, 0x1\n" - "\teors r1, r0\n" - "\tlsls r1, 2\n" - "\tmovs r0, 0x5\n" - "\tnegs r0, r0\n" - "\tands r0, r2\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4]\n" - "\tldrh r0, [r3, 0x32]\n" - "\tadds r0, 0x1\n" - "\tmovs r1, 0\n" - "\tstrh r0, [r3, 0x32]\n" - "\tstrh r1, [r3, 0x30]\n" - "\tlsls r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x5\n" - "\tbne _080DE1AA\n" - "\tstrh r1, [r3, 0x32]\n" - "\tldrh r0, [r3, 0x2E]\n" - "\tadds r0, 0x1\n" - "\tstrh r0, [r3, 0x2E]\n" - "\tb _080DE1AA\n" - "_080DE198:\n" - "\tcmp r6, 0\n" - "\tbeq _080DE1A4\n" - "\tadds r0, r3, 0\n" - "\tbl DestroyAnimSprite\n" - "\tb _080DE1AA\n" - "_080DE1A4:\n" - "\tldrh r0, [r3, 0x30]\n" - "\tadds r0, 0x1\n" - "\tstrh r0, [r3, 0x30]\n" - "_080DE1AA:\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n"); -} -#endif - -void sub_80DE1B0(u8 taskId) { - struct Task *task; - - task = &gTasks[taskId]; - task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1); - if (task->data[0] < 0) { - DestroyAnimVisualTask(taskId); - return; - } - task->data[1] = 0; - task->data[2] = 15; - task->data[3] = 2; - task->data[4] = 0; - REG_BLDCNT = 0x3F40; - REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; - gSprites[task->data[0]].data[0] = 80; - if (GetBattlerSide(gAnimBankTarget) == 0) { - gSprites[task->data[0]].data[1] = 0xff70; - gSprites[task->data[0]].data[2] = 0x70; - } else { - gSprites[task->data[0]].data[1] = 0x90; - gSprites[task->data[0]].data[2] = 0xff90; - } - gSprites[task->data[0]].data[3] = 0; - gSprites[task->data[0]].data[4] = 0; - StoreSpriteCallbackInData(&gSprites[task->data[0]], SpriteCallbackDummy); - gSprites[task->data[0]].callback = &sub_8078394; - task->func = &sub_80DE2DC; -} - -void sub_80DE2DC(u8 taskId) { - struct Task *task; - - task = &gTasks[taskId]; - switch (task->data[4]) { - case 0: - task->data[1] += 1; - task->data[5] = task->data[1] & 3; - if (task->data[5] == 1) { - if (task->data[2] > 0) - task->data[2] -= 1; - } - if (task->data[5] == 3) { - if (task->data[3] <= 15) - task->data[3] += 1; - } - REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; - if (task->data[3] != 16 || task->data[2] != 0) - break; - if (task->data[1] <= 80) - break; - obj_delete_but_dont_free_vram(&gSprites[task->data[0]]); - task->data[4] = 1; - break; - case 1: - task->data[6] += 1; - if (task->data[6] <= 1) - break; - REG_BLDCNT = 0; - REG_BLDALPHA = 0; - task->data[4] += 1; - break; - case 2: - DestroyAnimVisualTask(taskId); - } -} - -void sub_80DE3AC(u8 taskId) { - struct Task *task; - - task = &gTasks[taskId]; - task->data[15] = 0; - task->func = &sub_80DE3D4; - sub_80DE3D4(taskId); -} \ No newline at end of file -- cgit v1.2.3 From 5bce0fec056737c1a562cc2be738a868e02117ba Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Sat, 23 Jun 2018 19:06:06 +0100 Subject: Remove clothing from sub_80DE114 --- src/battle/anim/ghost.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src') diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c index c83f5f444..98710c679 100755 --- a/src/battle/anim/ghost.c +++ b/src/battle/anim/ghost.c @@ -436,9 +436,7 @@ void sub_80DE0FC(struct Sprite *sprite) { sprite->callback = &sub_80DE114; } -#ifdef NONMATCHING /* I couldn't do this one. */ -void sub_80DE114(struct Sprite *sprite) {} -#else +/* NONMATCHING */ NAKED void sub_80DE114(struct Sprite *sprite) { asm_unified("\tpush {r4-r6,lr}\n" @@ -527,7 +525,6 @@ void sub_80DE114(struct Sprite *sprite) { "\tpop {r0}\n" "\tbx r0\n"); } -#endif void sub_80DE1B0(u8 taskId) { struct Task *task; -- cgit v1.2.3 From 65b5fe5f00a8d7381c1e3c5d7c3f4537459988c2 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 23 Jun 2018 15:39:40 -0500 Subject: Decompile more of battle_anim_812C144 --- src/battle/anim/dark.c | 2 +- src/battle/battle_anim.c | 6 +- src/battle/battle_anim_812C144.c | 238 +++++++++++++++++++++++++++++++++++++++ src/rom_8077ABC.c | 8 +- 4 files changed, 243 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/battle/anim/dark.c b/src/battle/anim/dark.c index a7026edff..59db85342 100644 --- a/src/battle/anim/dark.c +++ b/src/battle/anim/dark.c @@ -1024,7 +1024,7 @@ void sub_80E0A4C(u8 taskId) if (IsContest()) { - species = EWRAM_19348; + species = EWRAM_19348[0]; } else { diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c index f3b0056ac..ebfe2401d 100644 --- a/src/battle/battle_anim.c +++ b/src/battle/battle_anim.c @@ -1499,7 +1499,7 @@ void LaunchBattleAnimation(const u8 *const moveAnims[], u16 move, u8 isMoveAnim) else { for (i = 0; i < 4; i++) - gAnimSpeciesByBanks[i] = EWRAM_19348; + gAnimSpeciesByBanks[i] = EWRAM_19348[0]; } if (isMoveAnim == 0) @@ -1933,7 +1933,7 @@ void MoveBattlerSpriteToBG(u8 bank, u8 toBG_2) spriteId = gBankSpriteIds[bank]; gBattle_BG1_X = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32; - if (IsContest() != 0 && IsSpeciesNotUnown(EWRAM_19348) != 0) + if (IsContest() != 0 && IsSpeciesNotUnown(EWRAM_19348[0]) != 0) gBattle_BG1_X--; gBattle_BG1_Y = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32; gSprites[gBankSpriteIds[bank]].invisible = TRUE; @@ -1987,7 +1987,7 @@ static void sub_8076380(void) struct UnknownStruct2 s; u16 *ptr; - if (IsSpeciesNotUnown(EWRAM_19348)) + if (IsSpeciesNotUnown(EWRAM_19348[0])) { sub_8078914(&s); ptr = s.unk4; diff --git a/src/battle/battle_anim_812C144.c b/src/battle/battle_anim_812C144.c index 601e3c6df..cef1fb97c 100644 --- a/src/battle/battle_anim_812C144.c +++ b/src/battle/battle_anim_812C144.c @@ -1,12 +1,17 @@ #include "global.h" #include "battle.h" #include "battle_anim.h" +#include "contest.h" +#include "data2.h" +#include "decompress.h" +#include "ewram.h" #include "palette.h" #include "random.h" #include "rom_8077ABC.h" #include "scanline_effect.h" #include "sound.h" #include "trig.h" +#include "constants/songs.h" extern s16 gBattleAnimArgs[]; extern u8 gAnimBankAttacker; @@ -18,15 +23,25 @@ extern u16 gBattle_WIN0V; extern u16 gBattle_WIN1H; extern u16 gBattle_WIN1V; extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; extern const struct SpriteTemplate gBattleAnimSpriteTemplate_83D7220; extern const struct SpriteTemplate gSpriteTemplate_8402500; +extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E7C18[]; +extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E7BEC[]; extern const union AffineAnimCmd gUnknown_08402400[]; extern const union AffineAnimCmd gUnknown_084024B0[]; extern const union AffineAnimCmd gUnknown_08402518[]; extern const union AffineAnimCmd gUnknown_08402540[]; extern const union AffineAnimCmd gUnknown_08402590[]; +extern const u32 gUnknown_08D2AA98[]; +extern const u32 gUnknown_08D2A9E0[]; +extern const u16 gUnknown_08D2AA80[]; +extern const s8 gUnknown_084025C0[]; +extern u8 gBattleMonForms[]; +extern u8 gBankSpriteIds[]; extern u8 sub_8046234(s16 x, s16 y, u8 a3); @@ -1124,3 +1139,226 @@ void sub_812D790(u8 taskId) DestroyAnimVisualTask(taskId); } } + +void sub_812D7E8(u8 taskId) +{ + int i, j; + u8 position; + struct Struct_sub_8078914 subStruct; + u8 *dest; + u8 *src; + u16 *field_4; + u16 *ptr; + u16 stretch; + + switch (gTasks[taskId].data[0]) + { + case 0: + REG_MOSAIC = 0; + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) + REG_BG1CNT_BITFIELD.mosaic = 1; + else + REG_BG2CNT_BITFIELD.mosaic = 1; + + gTasks[taskId].data[10] = gBattleAnimArgs[0]; + gTasks[taskId].data[0]++; + break; + case 1: + if (gTasks[taskId].data[2]++ > 1) + { + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[1]++; + stretch = gTasks[taskId].data[1]; + REG_MOSAIC = (stretch << 4) | stretch; + if (stretch == 15) + gTasks[taskId].data[0]++; + } + break; + case 2: + sub_8031FC4(gAnimBankAttacker, gAnimBankTarget, gTasks[taskId].data[10]); + sub_8078954(&subStruct, gAnimBankAttacker); + + if (IsContest()) + position = 0; + else + position = GetBattlerPosition(gAnimBankAttacker); + + dest = gUnknown_081FAF4C[position] + (gBattleMonForms[gAnimBankAttacker] << 11); + src = subStruct.field_0; + DmaCopy32(3, dest, src, 0x800); + + if (IsContest()) + { + if (IsSpeciesNotUnown(EWRAM_19348[0]) != IsSpeciesNotUnown(EWRAM_19348[1])) + { + field_4 = (u16 *)subStruct.field_4; + for (i = 0; i < 8; i++) + { + for (j = 0; j < 4; j++) + { + u16 temp = field_4[j + i * 0x20]; + field_4[j + i * 0x20] = field_4[(7 - j) + i * 0x20]; + field_4[(7 - j) + i * 0x20] = temp; + } + } + + for (i = 0; i < 8; i++) + { + for (j = 0; j < 8; j++) + { + field_4[j + i * 0x20] ^= 0x400; + } + } + } + + ptr = EWRAM_19348; + if (IsSpeciesNotUnown(ptr[1])) + gSprites[gBankSpriteIds[gAnimBankAttacker]].affineAnims = gSpriteAffineAnimTable_81E7C18; + else + gSprites[gBankSpriteIds[gAnimBankAttacker]].affineAnims = gSpriteAffineAnimTable_81E7BEC; + + StartSpriteAffineAnim(&gSprites[gBankSpriteIds[gAnimBankAttacker]], 0); + } + + gTasks[taskId].data[0]++; + break; + case 3: + if (gTasks[taskId].data[2]++ > 1) + { + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[1]--; + stretch = gTasks[taskId].data[1]; + REG_MOSAIC = (stretch << 4) | stretch; + + if (stretch == 0) + gTasks[taskId].data[0]++; + } + break; + case 4: + REG_MOSAIC = 0; + if (GetBattlerPosition_permutated(gAnimBankAttacker) == 1) + REG_BG1CNT_BITFIELD.mosaic = 0; + else + REG_BG2CNT_BITFIELD.mosaic = 0; + + if (!IsContest()) + { + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_OPPONENT) + { + if (gTasks[taskId].data[10] == 0) + sub_8032984(gAnimBankAttacker, eTransformStatuses[gAnimBankAttacker].species); + } + } + + DestroyAnimVisualTask(taskId); + break; + } +} + +void c3_80DFBE4(u8 taskId) +{ + gBattleAnimArgs[7] = gSprites[gBankSpriteIds[gAnimBankAttacker]].invisible; + DestroyAnimVisualTask(taskId); +} + +void sub_812DB58(u8 taskId) +{ + sub_8031FC4(gAnimBankAttacker, gAnimBankTarget, 1); + DestroyAnimVisualTask(taskId); +} + +void sub_812DB84(u8 taskId) +{ + struct Struct_sub_8078914 subStruct; + + switch (gTasks[taskId].data[0]) + { + case 0: + REG_BLDCNT = BLDCNT_TGT2_BD | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 + | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1; + REG_BLDALPHA = 0x1000; + REG_BG1CNT_BITFIELD.screenSize = 0; + REG_BG1CNT_BITFIELD.priority = 1; + if (!IsContest()) + REG_BG1CNT_BITFIELD.charBaseBlock = 1; + + sub_8078914(&subStruct); + DmaClear32(3, subStruct.field_4, 0x1000); + LZDecompressVram(gUnknown_08D2AA98, subStruct.field_4); + LZDecompressVram(gUnknown_08D2A9E0, subStruct.field_0); + LoadCompressedPalette(gUnknown_08D2AA80, subStruct.field_8 * 16, 32); + if (IsContest()) + { + sub_80763FC(subStruct.field_8, (u16 *)subStruct.field_4, 0, 0); + gBattle_BG1_X = -56; + gBattle_BG1_Y = 0; + } + else + { + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + gBattle_BG1_X = -135; + else + gBattle_BG1_X = -10; + + gBattle_BG1_Y = 0; + } + + gTasks[taskId].data[10] = gBattle_BG1_X; + gTasks[taskId].data[11] = gBattle_BG1_Y; + + gTasks[taskId].data[0]++; + PlaySE12WithPanning(SE_W234, BattleAnimAdjustPanning(-64)); + break; + case 1: + if (gTasks[taskId].data[4]++ > 0) + { + gTasks[taskId].data[4] = 0; + if (++gTasks[taskId].data[1] > 12) + gTasks[taskId].data[1] = 12; + + REG_BLDALPHA = ((16 - gTasks[taskId].data[1]) << 8) | gTasks[taskId].data[1]; + + if (gTasks[taskId].data[1] == 12) + gTasks[taskId].data[0]++; + } + break; + case 2: + if (--gTasks[taskId].data[1] < 0) + gTasks[taskId].data[1] = 0; + + REG_BLDALPHA = ((16 - gTasks[taskId].data[1]) << 8) | gTasks[taskId].data[1]; + + if (gTasks[taskId].data[1] == 0) + { + gBattle_BG1_X = gUnknown_084025C0[gTasks[taskId].data[2]] + gTasks[taskId].data[10]; + if (++gTasks[taskId].data[2] == 4) + gTasks[taskId].data[0] = 4; + else + gTasks[taskId].data[0] = 3; + } + break; + case 3: + if (++gTasks[taskId].data[3] == 4) + { + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[0] = 1; + PlaySE12WithPanning(SE_W234, BattleAnimAdjustPanning(-64)); + } + break; + case 4: + sub_8078914(&subStruct); + DmaFill32Large(3, 0, subStruct.field_0, 0x2000, 0x1000); + DmaClear32(3, subStruct.field_4, 0x800); + + if (!IsContest()) + REG_BG1CNT_BITFIELD.charBaseBlock = 0; + + REG_BG1CNT_BITFIELD.priority = 1; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + DestroyAnimVisualTask(taskId); + break; + } +} diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c index 9c4cc2217..00ce3d8df 100644 --- a/src/rom_8077ABC.c +++ b/src/rom_8077ABC.c @@ -33,12 +33,6 @@ #define gTransformPersonalities gTransformedPersonalities #define gBattleMonSprites gBankSpriteIds -struct TransformStatus -{ - u16 unknown; - u16 species; -}; - struct Struct_gUnknown_0837F578 { u8 field_0; @@ -890,7 +884,7 @@ void sub_8078914(struct Struct_sub_8078914 *unk) } } -void sub_8078954(struct Struct_sub_8078914 *unk) +void sub_8078954(struct Struct_sub_8078914 *unk, u8 b) { if (IsContest()) { -- cgit v1.2.3 From f14c3be5e836ffffd65dbb54a37748a4b15620b3 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 23 Jun 2018 06:36:39 -0500 Subject: Document field_effect_helpers and other misc. things --- src/berry_tag_screen.c | 2 +- .../field_effect_object_template_pointers.h | 4 +- src/data/field_event_obj/field_effect_objects.h | 106 ++++---- src/event_object_movement.c | 208 +++++++------- src/field_effect.c | 42 +-- src/field_effect_helpers.c | 298 +++++++++++---------- src/field_player_avatar.c | 6 +- src/field_tasks.c | 33 ++- src/hof_pc.c | 1 - src/item_menu.c | 13 +- src/item_use.c | 167 ++++++------ src/overworld.c | 6 +- src/party_menu.c | 4 +- src/player_pc.c | 4 +- src/pokemon_menu.c | 24 +- src/secret_base.c | 1 - src/sprite.c | 1 - 17 files changed, 480 insertions(+), 440 deletions(-) (limited to 'src') diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 77f80d728..a8f797e28 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -238,7 +238,7 @@ static void sub_814640C(u8 taskId) { SetMainCallback2(sub_80A5B40); sub_80A7DD4(); - gpu_pal_allocator_reset__manage_upper_four(); + FreeAndReserveObjectSpritePalettes(); DestroyTask(taskId); } } diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h index 320af1ff8..682816ed9 100644 --- a/src/data/field_event_obj/field_effect_object_template_pointers.h +++ b/src/data/field_event_obj/field_effect_object_template_pointers.h @@ -26,7 +26,7 @@ const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17; const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18; const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19; const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown21; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Reflection; const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle; const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints; const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise; @@ -64,7 +64,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { &gFieldEffectSpriteTemplate_Unknown18, &gFieldEffectSpriteTemplate_Unknown19, &gFieldEffectSpriteTemplate_Unknown20, - &gFieldEffectSpriteTemplate_Unknown21, + &gFieldEffectSpriteTemplate_Reflection, &gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle, &gFieldEffectSpriteTemplate_DeepSandFootprints, &gFieldEffectSpriteTemplate_TreeDisguise, diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index 9d3ae343d..8533b3cdd 100644 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -34,13 +34,13 @@ const struct SpriteFrameImage gFieldEffectPicTable_ShadowExtraLarge[] = { obj_frame_tiles(gFieldEffectPic_ShadowExtraLarge) }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gFieldOamData_8x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gFieldOamData_8x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gFieldOamData_16x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, oamc_shadow}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gFieldOamData_16x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gFieldOamData_32x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, oamc_shadow}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gFieldOamData_32x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gFieldOamData_64x32, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, oamc_shadow}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gFieldOamData_64x32, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_TallGrass[] = { obj_frame_tiles(gFieldEffectPic_TallGrass_0), @@ -63,7 +63,7 @@ const union AnimCmd *const gFieldEffectAnimTable_TallGrass[] = { gFieldEffectAnim_83745E8 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_TallGrass, gFieldEffectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_TallGrass, gFieldEffectPicTable_TallGrass, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_Ripple[] = { obj_frame_tiles(gFieldEffectPic_Ripple_0), @@ -89,7 +89,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Ripple[] = { gFieldEffectAnim_8374644 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ripple, gFieldEffectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_8128800}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ripple, gFieldEffectPicTable_Ripple, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectPicTable_Ash[] = { obj_frame_tiles(gFieldEffectPic_Ash_0), @@ -112,7 +112,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Ash[] = { gFieldEffectAnim_83746AC }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ash, gFieldEffectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8127D84}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ash, gFieldEffectPicTable_Ash, gDummySpriteAffineAnimTable, UpdateAshFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_SurfBlob[] = { obj_frame_tiles(gFieldEffectPic_SurfBlob_0), @@ -147,7 +147,7 @@ const union AnimCmd *const gFieldEffectAnimTable_SurfBlob[] = { gFieldEffectAnim_8374710 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_SurfBlob, gFieldEffectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8127F7C}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_SurfBlob, gFieldEffectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_Arrow[] = { obj_frame_tiles(gFieldEffectPic_Arrow_0), @@ -210,7 +210,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Dust[] = { gFieldEffectAnim_83747F0 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Dust, gFieldEffectPicTable_Dust, gDummySpriteAffineAnimTable, sub_81287C4}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Dust, gFieldEffectPicTable_Dust, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_JumpTallGrass[] = { obj_frame_tiles(gFieldEffectPic_JumpTallGrass_0), @@ -231,7 +231,7 @@ const union AnimCmd *const gFieldEffectAnimTable_JumpTallGrass[] = { gFieldEffectAnim_837483C }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpTallGrass, gFieldEffectPicTable_JumpTallGrass, gDummySpriteAffineAnimTable, sub_81287C4}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpTallGrass, gFieldEffectPicTable_JumpTallGrass, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_SandFootprints[] = { obj_frame_tiles(gFieldEffectPic_SandFootprints_0), @@ -266,7 +266,7 @@ const union AnimCmd *const gFieldEffectAnimTable_SandFootprints[] = { gFieldEffectAnim_8374894 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_SandFootprints, gFieldEffectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8127584}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_SandFootprints, gFieldEffectPicTable_SandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_DeepSandFootprints[] = { obj_frame_tiles(gFieldEffectPic_DeepSandFootprints_0), @@ -301,7 +301,7 @@ const union AnimCmd *const gFieldEffectAnimTable_DeepSandFootprints[] = { gFieldEffectAnim_83748F0 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_DeepSandFootprints, gFieldEffectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8127584}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_DeepSandFootprints, gFieldEffectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_BikeTireTracks[] = { obj_frame_tiles(gFieldEffectPic_BikeTireTracks_0), @@ -362,7 +362,7 @@ const union AnimCmd *const gFieldEffectAnimTable_BikeTireTracks[] = { gFieldEffectAnim_837497C }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_BikeTireTracks, gFieldEffectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8127584}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_BikeTireTracks, gFieldEffectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_JumpBigSplash[] = { obj_frame_tiles(gFieldEffectPic_JumpBigSplash_0), @@ -383,7 +383,7 @@ const union AnimCmd *const gFieldEffectAnimTable_JumpBigSplash[] = { gFieldEffectAnim_83749E0 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpBigSplash, gFieldEffectPicTable_JumpBigSplash, gDummySpriteAffineAnimTable, sub_81287C4}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpBigSplash, gFieldEffectPicTable_JumpBigSplash, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_Splash[] = { obj_frame_tiles(gFieldEffectPic_Splash_0), @@ -413,7 +413,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Splash[] = { gFieldEffectAnim_8374A2C }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Splash, gFieldEffectPicTable_Splash, gDummySpriteAffineAnimTable, sub_81276B4}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Splash, gFieldEffectPicTable_Splash, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_JumpSmallSplash[] = { obj_frame_tiles(gFieldEffectPic_JumpSmallSplash_0), @@ -432,7 +432,7 @@ const union AnimCmd *const gFieldEffectAnimTable_JumpSmallSplash[] = { gFieldEffectAnim_8374A88 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpSmallSplash, gFieldEffectPicTable_JumpSmallSplash, gDummySpriteAffineAnimTable, sub_81287C4}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpSmallSplash, gFieldEffectPicTable_JumpSmallSplash, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_LongGrass[] = { obj_frame_tiles(gFieldEffectPic_LongGrass_0), @@ -456,7 +456,7 @@ const union AnimCmd *const gFieldEffectAnimTable_LongGrass[] = { gFieldEffectAnim_8374AD4 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_LongGrass, gFieldEffectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_LongGrass, gFieldEffectPicTable_LongGrass, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_JumpLongGrass[] = { obj_frame_tiles(gFieldEffectPic_JumpLongGrass_0), @@ -481,7 +481,7 @@ const union AnimCmd *const gFieldEffectAnimTable_JumpLongGrass[] = { gFieldEffectAnim_8374B40 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpLongGrass, gFieldEffectPicTable_JumpLongGrass, gDummySpriteAffineAnimTable, sub_81287C4}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpLongGrass, gFieldEffectPicTable_JumpLongGrass, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_Unknown17[] = { obj_frame_tiles(gFieldEffectPic_JumpLongGrass_5), @@ -512,7 +512,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Unknown17[] = { gFieldEffectAnim_8374BC0 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown17, gFieldEffectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_8128800}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown17, gFieldEffectPicTable_Unknown17, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectPicTable_Unknown18[] = { obj_frame_tiles(gFieldEffectPic_Unknown18_0), @@ -535,7 +535,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Unknown18[] = { gFieldEffectAnim_8374C24 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown18, gFieldEffectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_8128800}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown18, gFieldEffectPicTable_Unknown18, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectPicTable_Unknown19[] = { obj_frame_tiles(gFieldEffectPic_Unknown19_0), @@ -556,7 +556,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Unknown19[] = { gFieldEffectAnim_8374C7C }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown19, gFieldEffectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_8128800}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown19, gFieldEffectPicTable_Unknown19, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectPicTable_SandPile[] = { obj_frame_tiles(gFieldEffectPic_SandPile_0), @@ -575,7 +575,7 @@ const union AnimCmd *const gFieldEffectAnimTable_SandPile[] = { gFieldEffectAnim_8374CC4 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_SandPile, gFieldEffectPicTable_SandPile, gDummySpriteAffineAnimTable, sub_81282E0}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_SandPile, gFieldEffectPicTable_SandPile, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_Unknown20[] = { obj_frame_tiles(gFieldEffectPic_Unknown20_0), @@ -598,40 +598,40 @@ const union AnimCmd *const gFieldEffectAnimTable_Unknown20[] = { gFieldEffectAnim_8374D10 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown20, gFieldEffectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_8128800}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown20, gFieldEffectPicTable_Unknown20, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; -const union AffineAnimCmd gFieldEffectAffineAnim_8374D48[] = { +const union AffineAnimCmd gFieldEffectAffineAnim_WavyReflection[] = { AFFINEANIMCMD_FRAME(0xFF00, 0x100, -128, 0), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME( 1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), + AFFINEANIMCMD_FRAME(-1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), + AFFINEANIMCMD_FRAME(-1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), + AFFINEANIMCMD_FRAME( 1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), AFFINEANIMCMD_JUMP(1) }; -const union AffineAnimCmd gFieldEffectAffineAnim_8374D98[] = { +const union AffineAnimCmd gFieldEffectAffineAnim_WavyReflectionFlipped[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0x1, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), - AFFINEANIMCMD_FRAME(0xFFFF, 0x0, 0, 4), - AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 8), + AFFINEANIMCMD_FRAME(-1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), + AFFINEANIMCMD_FRAME( 1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), + AFFINEANIMCMD_FRAME( 1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), + AFFINEANIMCMD_FRAME(-1, 0, 0, 4), + AFFINEANIMCMD_FRAME( 0, 0, 0, 8), AFFINEANIMCMD_JUMP(1) }; -const union AffineAnimCmd *const gFieldEffectAffineAnimTable_Unknown21[] = { - gFieldEffectAffineAnim_8374D48, - gFieldEffectAffineAnim_8374D98 +const union AffineAnimCmd *const gFieldEffectAffineAnimTable_Reflection[] = { + gFieldEffectAffineAnim_WavyReflection, + gFieldEffectAffineAnim_WavyReflectionFlipped }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown21 = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectAffineAnimTable_Unknown21, SpriteCallbackDummy}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Reflection = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectAffineAnimTable_Reflection, SpriteCallbackDummy}; const struct SpriteFrameImage gFieldEffectPicTable_BerryTreeGrowthSparkle[] = { obj_frame_tiles(gFieldEffectPic_BerryTreeGrowthSparkle_0), @@ -670,7 +670,7 @@ const union AnimCmd *const gFieldEffectAnimTable_BerryTreeGrowthSparkle[] = { gFieldEffectAnim_8374E38 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_BerryTreeGrowthSparkle, gFieldEffectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_8128800}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_BerryTreeGrowthSparkle, gFieldEffectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim}; const struct SpriteFrameImage gFieldEffectPicTable_TreeDisguise[] = { obj_frame_tiles(gFieldEffectPic_TreeDisguise_0), @@ -703,7 +703,7 @@ const union AnimCmd *const gFieldEffectAnimTable_TreeDisguise[] = { gFieldEffectAnim_8374EE8 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_MountainDisguise[] = { obj_frame_tiles(gFieldEffectPic_MountainDisguise_0), @@ -736,7 +736,7 @@ const union AnimCmd *const gFieldEffectAnimTable_MountainDisguise[] = { gFieldEffectAnim_8374F68 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_MountainDisguise, gFieldEffectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_MountainDisguise, gFieldEffectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_SandDisguise[] = { obj_frame_tiles(gFieldEffectPic_SandDisguise_0), @@ -748,7 +748,7 @@ const struct SpriteFrameImage gFieldEffectPicTable_SandDisguise[] = { obj_frame_tiles(gFieldEffectPic_SandDisguise_6) }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_SandDisguise, gDummySpriteAffineAnimTable, sub_81285AC}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_SandDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_Bird[] = { obj_frame_tiles(gFieldEffectPic_Bird) @@ -780,7 +780,7 @@ const union AnimCmd *const gFieldEffectAnimTable_ShortGrass[] = { gFieldEffectAnim_8375034 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_ShortGrass, gFieldEffectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8127334}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_ShortGrass, gFieldEffectPicTable_ShortGrass, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_HotSpringsWater[] = { obj_frame_tiles(gFieldEffectPic_HotSpringsWater) @@ -795,7 +795,7 @@ const union AnimCmd *const gFieldEffectAnimTable_HotSpringsWater[] = { gFieldEffectAnim_8375064 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_HotSpringsWater, gFieldEffectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8127A7C}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_HotSpringsWater, gFieldEffectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_PopOutOfAsh[] = { obj_frame_tiles(gFieldEffectPic_PopOutOfAsh_0), @@ -872,7 +872,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Bubbles[] = { gFieldEffectAnim_8375188 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles = {0xFFFF, 0x1004, &gFieldOamData_16x32, gFieldEffectAnimTable_Bubbles, gFieldEffectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8128410}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles = {0xFFFF, 0x1004, &gFieldOamData_16x32, gFieldEffectAnimTable_Bubbles, gFieldEffectPicTable_Bubbles, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect}; const struct SpriteFrameImage gFieldEffectPicTable_Sparkle[] = { obj_frame_tiles(gFieldEffectPic_Sparkle_0), @@ -890,7 +890,7 @@ const union AnimCmd *const gFieldEffectAnimTable_Sparkle[] = { gFieldEffectAnim_83751D8 }; -const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle = {0xFFFF, 0x100F, &gFieldOamData_16x16, gFieldEffectAnimTable_Sparkle, gFieldEffectPicTable_Sparkle, gDummySpriteAffineAnimTable, sub_8128774}; +const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle = {0xFFFF, 0x100F, &gFieldOamData_16x16, gFieldEffectAnimTable_Sparkle, gFieldEffectPicTable_Sparkle, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect}; const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F}; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 01460539c..5d498c1ff 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -60,8 +60,9 @@ static bool8 EventObjectZCoordIsCompatible(struct EventObject*, u8); static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8, struct EventObjectTemplate*, u8); static void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *); static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); +static void CreateReflectionEffectSprites(void); -const u8 gUnknown_0830FD14[] = {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}; @@ -324,7 +325,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_0837377C[] = { +const struct SpritePalette sEventObjectSpritePalettes[] = { {gEventObjectPalette0, 0x1103}, {gEventObjectPalette1, 0x1104}, {gEventObjectPalette2, 0x1105}, @@ -355,121 +356,122 @@ const struct SpritePalette gUnknown_0837377C[] = { {NULL, 0x0000} }; -const u16 Palettes_837385C[] = { +const u16 gPlayerReflectionPaletteTags[] = { 0x1101, 0x1101, 0x1101, 0x1101 }; -const u16 Palettes_8373864[] = { +// These were probably intended to be used for the female player's reflection. +const u16 gUnusedPlayerReflectionPaletteTags[] = { 0x1111, 0x1111, 0x1111, 0x1111 }; -const u16 Palettes_837386C[] = { +const u16 gPlayerUnderwaterReflectionPaletteTags[] = { 0x1115, 0x1115, 0x1115, 0x1115 }; -const struct PairedPalettes gUnknown_08373874[] = { - {0x1100, Palettes_837385C}, - {0x1110, Palettes_837385C}, - {0x1115, Palettes_837386C}, +const struct ReflectionPaletteSet gPlayerReflectionPaletteSets[] = { + {0x1100, gPlayerReflectionPaletteTags}, + {0x1110, gPlayerReflectionPaletteTags}, + {0x1115, gPlayerUnderwaterReflectionPaletteTags}, {0x11FF, NULL} }; -const u16 Palettes_8373894[] = { +const u16 gQuintyPlumpReflectionPaletteTags[] = { 0x110C, 0x110C, 0x110C, 0x110C }; -const u16 Palettes_837389C[] = { +const u16 gTruckReflectionPaletteTags[] = { 0x110D, 0x110D, 0x110D, 0x110D }; -const u16 Palettes_83738A4[] = { +const u16 gMachokeMoverReflectionPaletteTags[] = { 0x110E, 0x110E, 0x110E, 0x110E }; -const u16 Palettes_83738AC[] = { +const u16 gMovingBoxReflectionPaletteTags[] = { 0x1112, 0x1112, 0x1112, 0x1112 }; -const u16 Palettes_83738B4[] = { +const u16 gCableCarReflectionPaletteTags[] = { 0x1113, 0x1113, 0x1113, 0x1113 }; -const u16 Palettes_83738BC[] = { +const u16 gSSTidalReflectionPaletteTags[] = { 0x1114, 0x1114, 0x1114, 0x1114 }; -const u16 Palettes_83738C4[] = { +const u16 gSubmarineShadowReflectionPaletteTags[] = { 0x111A, 0x111A, 0x111A, 0x111A }; -const u16 Palettes_83738CC[] = { +const u16 gKyogre2ReflectionPaletteTags[] = { 0x1117, 0x1117, 0x1117, 0x1117 }; -const u16 Palettes_83738D4[] = { +const u16 gGroudon2ReflectionPaletteTags[] = { 0x1119, 0x1119, 0x1119, 0x1119 }; -const u16 Palettes_83738DC[] = { +const u16 gInvisibleKecleonReflectionPaletteTags[] = { 0x1109, 0x1109, 0x1109, 0x1109 }; -const struct PairedPalettes gUnknown_083738E4[] = { - {0x1100, Palettes_837385C}, - {0x1110, Palettes_837385C}, - {0x110B, Palettes_8373894}, - {0x110D, Palettes_837389C}, - {0x110E, Palettes_83738A4}, - {0x1112, Palettes_83738AC}, - {0x1113, Palettes_83738B4}, - {0x1114, Palettes_83738BC}, - {0x1116, Palettes_83738CC}, - {0x1118, Palettes_83738D4}, - {0x1105, Palettes_83738DC}, - {0x111A, Palettes_83738C4}, +const struct ReflectionPaletteSet gSpecialObjectReflectionPaletteSets[] = { + {0x1100, gPlayerReflectionPaletteTags}, + {0x1110, gPlayerReflectionPaletteTags}, + {0x110B, gQuintyPlumpReflectionPaletteTags}, + {0x110D, gTruckReflectionPaletteTags}, + {0x110E, gMachokeMoverReflectionPaletteTags}, + {0x1112, gMovingBoxReflectionPaletteTags}, + {0x1113, gCableCarReflectionPaletteTags}, + {0x1114, gSSTidalReflectionPaletteTags}, + {0x1116, gKyogre2ReflectionPaletteTags}, + {0x1118, gGroudon2ReflectionPaletteTags}, + {0x1105, gInvisibleKecleonReflectionPaletteTags}, + {0x111A, gSubmarineShadowReflectionPaletteTags}, {0x11FF, NULL} }; -const u16 Unknown_837394C[] = { +const u16 gObjectPaletteTags0[] = { 0x1100, 0x1101, 0x1103, @@ -482,7 +484,7 @@ const u16 Unknown_837394C[] = { 0x110A }; -const u16 Unknown_8373960[] = { +const u16 gObjectPaletteTags1[] = { 0x1100, 0x1101, 0x1103, @@ -495,7 +497,7 @@ const u16 Unknown_8373960[] = { 0x110A }; -const u16 Unknown_8373974[] = { +const u16 gObjectPaletteTags2[] = { 0x1100, 0x1101, 0x1103, @@ -508,7 +510,7 @@ const u16 Unknown_8373974[] = { 0x110A }; -const u16 Unknown_8373988[] = { +const u16 gObjectPaletteTags3[] = { 0x1100, 0x1101, 0x1103, @@ -521,11 +523,11 @@ const u16 Unknown_8373988[] = { 0x110A }; -const u16 *const gUnknown_0837399C[] = { - Unknown_837394C, - Unknown_8373960, - Unknown_8373974, - Unknown_8373988 +const u16 *const gObjectPaletteTagSets[] = { + gObjectPaletteTags0, + gObjectPaletteTags1, + gObjectPaletteTags2, + gObjectPaletteTags3 }; #include "data/field_event_obj/berry_tree_graphics_tables.h" @@ -958,8 +960,11 @@ const u8 gUnknown_08375767[][4] = { #include "data/field_event_obj/movement_action_func_tables.h" -static u8 gUnknown_030005A4; -static u16 gUnknown_030005A6; +// There is code supporing multiple sets of player reflection palettes, but +// the data for each is identical. Perhaps non-water/ice reflections were planned. +static u8 sCurrentReflectionType; + +static u16 sCurrentSpecialObjectPaletteTag; extern struct LinkPlayerEventObject gLinkPlayerEventObjects[]; extern u8 gReservedSpritePaletteCount; @@ -989,16 +994,21 @@ static void ClearAllEventObjects(void) #endif } -void sub_805AA98(void) +void ResetEventObjects(void) { ClearLinkPlayerEventObjects(); ClearAllEventObjects(); ClearPlayerAvatarInfo(); - sub_805AAB0(); + CreateReflectionEffectSprites(); } -void sub_805AAB0(void) +static void CreateReflectionEffectSprites(void) { + // The reflection effect when an event object is standing over water or ice + // is driven by these two invisible sprites' callback functions. The callback + // continuously updates OAM rot/scale matrices using affine animations that scale + // the sprite up and down horizontally. The second one is needed to handle the inverted + // effect when the object is facing to the east. (The sprite has h-flip enabled). u8 spriteId = spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 0x1F); gSprites[spriteId].oam.affineMode = 1; InitSpriteAffineAnim(&gSprites[spriteId]); @@ -1223,9 +1233,9 @@ static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjTemplate eventObject = &gEventObjects[eventObjectId]; gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); if (gfxInfo->paletteSlot == 0) - npc_load_two_palettes__no_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + LoadPlayerObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); else if (gfxInfo->paletteSlot == 10) - npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); if (eventObject->movementType == MOVEMENT_TYPE_INVISIBLE) eventObject->invisible = TRUE; @@ -1330,7 +1340,7 @@ void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callba const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId); sprTemplate->tileTag = gfxInfo->tileTag; - sprTemplate->paletteTag = gfxInfo->paletteTag1; + sprTemplate->paletteTag = gfxInfo->paletteTag; sprTemplate->oam = gfxInfo->oam; sprTemplate->anims = gfxInfo->anims; sprTemplate->images = gfxInfo->images; @@ -1397,7 +1407,7 @@ u8 sub_805B410(u8 graphicsId, u8 b, s16 x, s16 y, u8 elevation, u8 direction) sprite->data[0] = b; sprite->data[1] = elevation; if (gfxInfo->paletteSlot == 10) - npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); if (subspriteTables != NULL) { SetSubspriteTables(sprite, subspriteTables); @@ -1497,7 +1507,7 @@ void sub_805B710(u16 a, u16 b) #endif } } - sub_805AAB0(); + CreateReflectionEffectSprites(); } extern void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); @@ -1529,9 +1539,9 @@ void sub_805B75C(u8 eventObjectId, s16 b, s16 c) sp0.images = &sp18; *(u16 *)&sp0.paletteTag = 0xFFFF; if (gfxInfo->paletteSlot == 0) - npc_load_two_palettes__no_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + LoadPlayerObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); if (gfxInfo->paletteSlot > 9) - npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); *(u16 *)&sp0.paletteTag = 0xFFFF; spriteId = CreateSprite(&sp0, 0, 0, 0); if (spriteId != 64) @@ -1547,7 +1557,7 @@ void sub_805B75C(u8 eventObjectId, s16 b, s16 c) if (eventObject->movementType == MOVEMENT_TYPE_PLAYER) { SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId); - eventObject->warpArrowSpriteId = sub_8126B54(); + eventObject->warpArrowSpriteId = CreateWarpArrowSprite(); } if (subspriteTables != NULL) SetSubspriteTables(sprite, subspriteTables); @@ -1591,9 +1601,9 @@ void sub_805B980(struct EventObject *eventObject, u8 graphicsId) gfxInfo = GetEventObjectGraphicsInfo(graphicsId); sprite = &gSprites[eventObject->spriteId]; if (gfxInfo->paletteSlot == 0) - pal_patch_for_npc(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + PatchObjectPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); if (gfxInfo->paletteSlot == 10) - npc_load_two_palettes__and_record(gfxInfo->paletteTag1, gfxInfo->paletteSlot); + LoadSpecialObjectReflectionPalette(gfxInfo->paletteTag, gfxInfo->paletteSlot); sprite->oam.shape = gfxInfo->oam->shape; sprite->oam.size = gfxInfo->oam->size; sprite->images = gfxInfo->images; @@ -1749,7 +1759,7 @@ void sub_805BD90(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; @@ -1760,7 +1770,7 @@ void sub_805BDF8(u16 tag) u16 paletteIndex = FindEventObjectPaletteIndexByTag(tag); if (paletteIndex != 0x11FF) //always happens. FindEventObjectPaletteIndexByTag returns u8 - sub_805BE58(&gUnknown_0837377C[paletteIndex]); + sub_805BE58(&sEventObjectSpritePalettes[paletteIndex]); } void unref_sub_805BE24(u16 *arr) @@ -1779,58 +1789,58 @@ u8 sub_805BE58(const struct SpritePalette *palette) return LoadSpritePalette(palette); } -void pal_patch_for_npc(u16 paletteTag, u16 paletteIndex) +void PatchObjectPalette(u16 paletteTag, u16 paletteIndex) { u8 index = paletteIndex; u8 tagPaletteIndex = FindEventObjectPaletteIndexByTag(paletteTag); - LoadPalette(gUnknown_0837377C[tagPaletteIndex].data, index * 16 + 0x100, 0x20); + LoadPalette(sEventObjectSpritePalettes[tagPaletteIndex].data, index * 16 + 0x100, 0x20); } -void pal_patch_for_npc_range(const u16 *arr, u8 b, u8 c) +static void PatchObjectPalettes(const u16 *paletteTags, u8 paletteIndex, u8 maxPaletteIndex) { - for (; b < c; arr++, b++) - pal_patch_for_npc(*arr, b); + for (; paletteIndex < maxPaletteIndex; paletteTags++, paletteIndex++) + PatchObjectPalette(*paletteTags, paletteIndex); } u8 FindEventObjectPaletteIndexByTag(u16 tag) { u8 i; - for (i = 0; gUnknown_0837377C[i].tag != 0x11FF; i++) + for (i = 0; sEventObjectSpritePalettes[i].tag != 0x11FF; i++) { - if (gUnknown_0837377C[i].tag == tag) + if (sEventObjectSpritePalettes[i].tag == tag) return i; } return 0xFF; } -void npc_load_two_palettes__no_record(u16 paletteTag, u8 paletteIndex) +void LoadPlayerObjectReflectionPalette(u16 paletteTag, u8 paletteIndex) { u8 i; - pal_patch_for_npc(paletteTag, paletteIndex); - for (i = 0; gUnknown_08373874[i].tag != 0x11FF; i++) + PatchObjectPalette(paletteTag, paletteIndex); + for (i = 0; gPlayerReflectionPaletteSets[i].mainPaletteTag != 0x11FF; i++) { - if (gUnknown_08373874[i].tag == paletteTag) + if (gPlayerReflectionPaletteSets[i].mainPaletteTag == paletteTag) { - pal_patch_for_npc(gUnknown_08373874[i].data[gUnknown_030005A4], gUnknown_0830FD14[paletteIndex]); + PatchObjectPalette(gPlayerReflectionPaletteSets[i].reflectionPaletteTags[sCurrentReflectionType], gReflectionEffectPaletteMap[paletteIndex]); break; } } } -void npc_load_two_palettes__and_record(u16 paletteTag, u8 paletteIndex) +void LoadSpecialObjectReflectionPalette(u16 paletteTag, u8 paletteIndex) { u8 i; - gUnknown_030005A6 = paletteTag; - pal_patch_for_npc(paletteTag, paletteIndex); - for (i = 0; gUnknown_083738E4[i].tag != 0x11FF; i++) + sCurrentSpecialObjectPaletteTag = paletteTag; + PatchObjectPalette(paletteTag, paletteIndex); + for (i = 0; gSpecialObjectReflectionPaletteSets[i].mainPaletteTag != 0x11FF; i++) { - if (gUnknown_083738E4[i].tag == paletteTag) + if (gSpecialObjectReflectionPaletteSets[i].mainPaletteTag == paletteTag) { - pal_patch_for_npc(gUnknown_083738E4[i].data[gUnknown_030005A4], gUnknown_0830FD14[paletteIndex]); + PatchObjectPalette(gSpecialObjectReflectionPaletteSets[i].reflectionPaletteTags[sCurrentReflectionType], gReflectionEffectPaletteMap[paletteIndex]); break; } } @@ -2046,7 +2056,7 @@ u8 unref_sub_805C43C(struct Sprite *src, s16 x, s16 y, u8 subpriority) { u8 i; - for (i = 0; i < 64; i++) + for (i = 0; i < MAX_SPRITES; i++) { if (!gSprites[i].inUse) { @@ -2060,11 +2070,11 @@ u8 unref_sub_805C43C(struct Sprite *src, s16 x, s16 y, u8 subpriority) return i; } -u8 obj_unfreeze(struct Sprite *src, s16 x, s16 y, u8 subpriority) +u8 CreateCopySpriteAt(struct Sprite *src, s16 x, s16 y, u8 subpriority) { s16 i; - for (i = 63; i > -1; i--) + for (i = MAX_SPRITES - 1; i > -1; i--) { if (!gSprites[i].inUse) { @@ -2075,7 +2085,8 @@ u8 obj_unfreeze(struct Sprite *src, s16 x, s16 y, u8 subpriority) return i; } } - return 64; + + return MAX_SPRITES; } void SetEventObjectDirection(struct EventObject *eventObject, u8 direction) @@ -2210,28 +2221,31 @@ void TryOverrideTemplateCoordsForEventObject(u8 localId, u8 mapNum, u8 mapGroup) OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]); } -void sub_805C7C4(u8 a) +void InitEventObjectPalettes(u8 reflectionType) { - gpu_pal_allocator_reset__manage_upper_four(); - gUnknown_030005A6 = 0x11FF; - gUnknown_030005A4 = a; - pal_patch_for_npc_range(gUnknown_0837399C[gUnknown_030005A4], 0, 10); + FreeAndReserveObjectSpritePalettes(); + sCurrentSpecialObjectPaletteTag = 0x11FF; + sCurrentReflectionType = reflectionType; + PatchObjectPalettes(gObjectPaletteTagSets[sCurrentReflectionType], 0, 10); } -u16 npc_paltag_by_palslot(u8 a) +u16 GetObjectPaletteTag(u8 paletteIndex) { u8 i; - if (a < 10) - return gUnknown_0837399C[gUnknown_030005A4][a]; + // Regular objects and the player occupy the first 10 palettes. + if (paletteIndex < 10) + return gObjectPaletteTagSets[sCurrentReflectionType][paletteIndex]; - for (i = 0; gUnknown_083738E4[i].tag != 0x11FF; i++) + // Palette slots 10 and 11 belong to the special object. + for (i = 0; gSpecialObjectReflectionPaletteSets[i].mainPaletteTag != 0x11FF; i++) { - if (gUnknown_083738E4[i].tag == gUnknown_030005A6) + if (gSpecialObjectReflectionPaletteSets[i].mainPaletteTag == sCurrentSpecialObjectPaletteTag) { - return gUnknown_083738E4[i].data[gUnknown_030005A4]; + return gSpecialObjectReflectionPaletteSets[i].reflectionPaletteTags[sCurrentReflectionType]; } } + return 0x11FF; } @@ -7554,12 +7568,12 @@ void GroundEffect_MoveOnLongGrass(struct EventObject *eventObj, struct Sprite *s void GroundEffect_WaterReflection(struct EventObject *eventObj, struct Sprite *sprite) { - SetUpReflection(eventObj, sprite, 0); + InitObjectReflectionSprite(eventObj, sprite, 0); } void GroundEffect_IceReflection(struct EventObject *eventObj, struct Sprite *sprite) { - SetUpReflection(eventObj, sprite, 1); + InitObjectReflectionSprite(eventObj, sprite, 1); } void GroundEffect_FlowingWater(struct EventObject *eventObj, struct Sprite *sprite) @@ -7655,8 +7669,12 @@ void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *s gFieldEffectArguments[3] = 2; FieldEffectStart(FLDEFF_JUMP_TALL_GRASS); - spriteId = sub_8126FF0( - eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y); + spriteId = FindTallGrassFieldEffectSpriteId( + eventObj->localId, + eventObj->mapNum, + eventObj->mapGroup, + eventObj->currentCoords.x, + eventObj->currentCoords.y); if (spriteId == MAX_SPRITES) GroundEffect_SpawnOnTallGrass(eventObj, sprite); diff --git a/src/field_effect.c b/src/field_effect.c index b5e2c13c6..90c11b8c3 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -306,9 +306,11 @@ bool8 (*const gUnknown_0839F364[])(struct Task *, struct EventObject *, struct S sub_80877D4 }; -void (*const gUnknown_0839F378[])(struct Task *) = { - sub_80878F4, - sub_8087914 +static void EscapeRopeFieldEffect_Step0(struct Task *); +static void EscapeRopeFieldEffect_Step1(struct Task *); +void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) = { + EscapeRopeFieldEffect_Step0, + EscapeRopeFieldEffect_Step1 }; static u8 sActiveList[32]; @@ -1935,7 +1937,7 @@ bool8 sub_80877AC(struct Task *task, struct EventObject *eventObject, struct Spr return FALSE; } -void sub_80878C4(u8); +static void DoEscapeRopeFieldEffect(u8); void mapldr_080859D4(void); bool8 sub_80877D4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) @@ -1968,34 +1970,42 @@ void sub_808788C(struct Sprite *sprite) } } -void sub_80878A8(void) +void StartEscapeRopeFieldEffect(void) { ScriptContext2_Enable(); FreezeEventObjects(); - CreateTask(sub_80878C4, 0x50); + CreateTask(DoEscapeRopeFieldEffect, 0x50); } -void sub_80878C4(u8 taskId) +static void DoEscapeRopeFieldEffect(u8 taskId) { - gUnknown_0839F378[gTasks[taskId].data[0]](&gTasks[taskId]); + gEscapeRopeFieldEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId]); } -void sub_80878F4(struct Task *task) +static void EscapeRopeFieldEffect_Step0(struct Task *task) { task->data[0]++; task->data[14] = 64; task->data[15] = GetPlayerFacingDirection(); } -void sub_8087914(struct Task *task) +static void EscapeRopeFieldEffect_Step1(struct Task *task) { struct EventObject *eventObject; - u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + u8 clockwiseDirections[5] = { + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_NORTH, + DIR_SOUTH, + }; + if (task->data[14] != 0 && (--task->data[14]) == 0) { TryFadeOutOldMapMusic(); WarpFadeScreen(); } + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { @@ -2006,14 +2016,14 @@ void sub_8087914(struct Task *task) WarpIntoMap(); gFieldCallback = mapldr_080859D4; SetMainCallback2(CB2_LoadMap); - DestroyTask(FindTaskIdByFunc(sub_80878C4)); - } else if (task->data[1] == 0 || (--task->data[1]) == 0) + DestroyTask(FindTaskIdByFunc(DoEscapeRopeFieldEffect)); + } + else if (task->data[1] == 0 || (--task->data[1]) == 0) { - EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(unknown_0839F380[eventObject->facingDirection])); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(clockwiseDirections[eventObject->facingDirection])); if (task->data[2] < 12) - { task->data[2]++; - } + task->data[1] = 8 >> (task->data[2] >> 2); } } diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 73082bdb7..84f340b35 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -11,148 +11,153 @@ #include "constants/field_effects.h" #include "constants/songs.h" -static void sub_81269E0(struct Sprite *); -static void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite); -static void npc_pal_op_A(struct EventObject *, u8); -static void npc_pal_op_B(struct EventObject *, u8); -static void sub_81275A0(struct Sprite *); -static void sub_81275C4(struct Sprite *); -static void sub_8127DA0(struct Sprite *); -static void sub_8127DD0(struct Sprite *); -static void sub_8127E30(struct Sprite *); +static void UpdateObjectReflectionSprite(struct Sprite *); +static void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite); +static void LoadObjectHighBridgeReflectionPalette(struct EventObject *, u8); +static void LoadObjectRegularReflectionPalette(struct EventObject *, u8); +static void FadeFootprintsTireTracks_Step0(struct Sprite *); +static void FadeFootprintsTireTracks_Step1(struct Sprite *); +static void UpdateAshFieldEffect_Step0(struct Sprite *); +static void UpdateAshFieldEffect_Step1(struct Sprite *); +static void UpdateAshFieldEffect_Step2(struct Sprite *); static void sub_812882C(struct Sprite *, u8, u8); -static void sub_81278D8(struct Sprite *); +static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *); static void sub_8127FD4(struct EventObject *, struct Sprite *); static void sub_812800C(struct EventObject *, struct Sprite *); static void sub_81280A0(struct EventObject *, struct Sprite *, struct Sprite *); static void sub_8128174(struct Sprite *); static u32 ShowDisguiseFieldEffect(u8, u8, u8); -void SetUpReflection(struct EventObject *eventObject, struct Sprite *sprite, bool8 flag) +void InitObjectReflectionSprite(struct EventObject *eventObject, struct Sprite *sprite, bool8 stillReflection) { - struct Sprite *newSprite; + struct Sprite *reflectionSprite; - newSprite = &gSprites[obj_unfreeze(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)]; - newSprite->callback = sub_81269E0; - newSprite->oam.priority = 3; - newSprite->oam.paletteNum = gUnknown_0830FD14[newSprite->oam.paletteNum]; - newSprite->usingSheet = TRUE; - newSprite->anims = gDummySpriteAnimTable; - StartSpriteAnim(newSprite, 0); - newSprite->affineAnims = gDummySpriteAffineAnimTable; - newSprite->affineAnimBeginning = TRUE; - newSprite->subspriteMode = 0; - newSprite->data[0] = sprite->data[0]; - newSprite->data[1] = eventObject->localId; - newSprite->data[7] = flag; - npc_pal_op(eventObject, newSprite); - if (!flag) - { - newSprite->oam.affineMode = 1; - } + reflectionSprite = &gSprites[CreateCopySpriteAt(sprite, sprite->pos1.x, sprite->pos1.y, 0x98)]; + reflectionSprite->callback = UpdateObjectReflectionSprite; + reflectionSprite->oam.priority = 3; + reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[reflectionSprite->oam.paletteNum]; + reflectionSprite->usingSheet = TRUE; + reflectionSprite->anims = gDummySpriteAnimTable; + StartSpriteAnim(reflectionSprite, 0); + reflectionSprite->affineAnims = gDummySpriteAffineAnimTable; + reflectionSprite->affineAnimBeginning = TRUE; + reflectionSprite->subspriteMode = SUBSPRITES_OFF; + reflectionSprite->data[0] = sprite->data[0]; + reflectionSprite->data[1] = eventObject->localId; + reflectionSprite->data[7] = stillReflection; + LoadObjectReflectionPalette(eventObject, reflectionSprite); + + if (!stillReflection) + reflectionSprite->oam.affineMode = ST_OAM_AFFINE_NORMAL; } -static s16 sub_81268D0(struct EventObject *eventObject) +static s16 GetReflectionVerticalOffset(struct EventObject *eventObject) { return GetEventObjectGraphicsInfo(eventObject->graphicsId)->height - 2; } -static void npc_pal_op(struct EventObject *eventObject, struct Sprite *sprite) +static void LoadObjectReflectionPalette(struct EventObject *eventObject, struct Sprite *sprite) { - u8 whichElement; - u16 unk_8041e2c[] = {0x0c, 0x1c, 0x2c}; + u8 bridgeType; + u16 bridgeReflectionVerticalOffsets[] = { 12, 28, 44 }; sprite->data[2] = 0; - if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = MetatileBehavior_GetBridgeType(eventObject->previousMetatileBehavior)) || (whichElement = MetatileBehavior_GetBridgeType(eventObject->currentMetatileBehavior)))) + if (!GetEventObjectGraphicsInfo(eventObject->graphicsId)->disableReflectionPaletteLoad && ((bridgeType = MetatileBehavior_GetBridgeType(eventObject->previousMetatileBehavior)) || (bridgeType = MetatileBehavior_GetBridgeType(eventObject->currentMetatileBehavior)))) { - sprite->data[2] = unk_8041e2c[whichElement - 1]; - npc_pal_op_A(eventObject, sprite->oam.paletteNum); + sprite->data[2] = bridgeReflectionVerticalOffsets[bridgeType - 1]; + LoadObjectHighBridgeReflectionPalette(eventObject, sprite->oam.paletteNum); } else { - npc_pal_op_B(eventObject, sprite->oam.paletteNum); + LoadObjectRegularReflectionPalette(eventObject, sprite->oam.paletteNum); } } -static void npc_pal_op_B(struct EventObject *eventObject, u8 paletteNum) +static void LoadObjectRegularReflectionPalette(struct EventObject *eventObject, u8 paletteIndex) { const struct EventObjectGraphicsInfo *graphicsInfo; graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - if (graphicsInfo->paletteTag2 != 0x11ff) + if (graphicsInfo->bridgeReflectionPaletteTag != 0x11ff) { if (graphicsInfo->paletteSlot == 0) { - npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, paletteNum); + LoadPlayerObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); } else if (graphicsInfo->paletteSlot == 10) { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, paletteNum); + LoadSpecialObjectReflectionPalette(graphicsInfo->paletteTag, paletteIndex); } else { - pal_patch_for_npc(npc_paltag_by_palslot(paletteNum), paletteNum); + PatchObjectPalette(GetObjectPaletteTag(paletteIndex), paletteIndex); } - UpdateSpritePaletteWithWeather(paletteNum); + UpdateSpritePaletteWithWeather(paletteIndex); } } -static void npc_pal_op_A(struct EventObject *eventObject, u8 paletteNum) +// When walking on a bridge high above water (Route 120), the reflection is a solid dark blue color. +// This is so the sprite blends in with the dark water metatile underneath the bridge. +static void LoadObjectHighBridgeReflectionPalette(struct EventObject *eventObject, u8 paletteNum) { const struct EventObjectGraphicsInfo *graphicsInfo; graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); - if (graphicsInfo->paletteTag2 != 0x11ff) + if (graphicsInfo->bridgeReflectionPaletteTag != 0x11ff) { - pal_patch_for_npc(graphicsInfo->paletteTag2, paletteNum); + PatchObjectPalette(graphicsInfo->bridgeReflectionPaletteTag, paletteNum); UpdateSpritePaletteWithWeather(paletteNum); } } -static void sub_81269E0(struct Sprite *sprite) +static void UpdateObjectReflectionSprite(struct Sprite *reflectionSprite) { struct EventObject *eventObject; - struct Sprite *oldSprite; + struct Sprite *mainSprite; - eventObject = &gEventObjects[sprite->data[0]]; - oldSprite = &gSprites[eventObject->spriteId]; - if (!eventObject->active || !eventObject->hasReflection || eventObject->localId != sprite->data[1]) + eventObject = &gEventObjects[reflectionSprite->data[0]]; + mainSprite = &gSprites[eventObject->spriteId]; + if (!eventObject->active || !eventObject->hasReflection || eventObject->localId != reflectionSprite->data[1]) { - sprite->inUse = FALSE; + reflectionSprite->inUse = FALSE; } else { - sprite->oam.paletteNum = gUnknown_0830FD14[oldSprite->oam.paletteNum]; - sprite->oam.shape = oldSprite->oam.shape; - sprite->oam.size = oldSprite->oam.size; - sprite->oam.matrixNum = oldSprite->oam.matrixNum | 0x10; - sprite->oam.tileNum = oldSprite->oam.tileNum; - sprite->subspriteTables = oldSprite->subspriteTables; - sprite->subspriteTableNum = oldSprite->subspriteTableNum; - sprite->invisible = oldSprite->invisible; - sprite->pos1.x = oldSprite->pos1.x; - sprite->pos1.y = oldSprite->pos1.y + sub_81268D0(eventObject) + sprite->data[2]; - sprite->centerToCornerVecX = oldSprite->centerToCornerVecX; - sprite->centerToCornerVecY = oldSprite->centerToCornerVecY; - sprite->pos2.x = oldSprite->pos2.x; - sprite->pos2.y = -oldSprite->pos2.y; - sprite->coordOffsetEnabled = oldSprite->coordOffsetEnabled; - if (sprite->data[7] == FALSE) + reflectionSprite->oam.paletteNum = gReflectionEffectPaletteMap[mainSprite->oam.paletteNum]; + reflectionSprite->oam.shape = mainSprite->oam.shape; + reflectionSprite->oam.size = mainSprite->oam.size; + reflectionSprite->oam.matrixNum = mainSprite->oam.matrixNum | 0x10; + reflectionSprite->oam.tileNum = mainSprite->oam.tileNum; + reflectionSprite->subspriteTables = mainSprite->subspriteTables; + reflectionSprite->subspriteTableNum = mainSprite->subspriteTableNum; + reflectionSprite->invisible = mainSprite->invisible; + reflectionSprite->pos1.x = mainSprite->pos1.x; + // reflectionSprite->data[2] holds an additional vertical offset, used by the high bridges on Route 120 + reflectionSprite->pos1.y = mainSprite->pos1.y + GetReflectionVerticalOffset(eventObject) + reflectionSprite->data[2]; + reflectionSprite->centerToCornerVecX = mainSprite->centerToCornerVecX; + reflectionSprite->centerToCornerVecY = mainSprite->centerToCornerVecY; + reflectionSprite->pos2.x = mainSprite->pos2.x; + reflectionSprite->pos2.y = -mainSprite->pos2.y; + reflectionSprite->coordOffsetEnabled = mainSprite->coordOffsetEnabled; + + // Check if the reflection is not still. + if (reflectionSprite->data[7] == FALSE) { - sprite->oam.matrixNum = 0; - if (oldSprite->oam.matrixNum & 0x8) - { - sprite->oam.matrixNum = 1; - } + // Sets the reflection sprite's rot/scale matrix to the appropriate + // matrix based on whether or not the main sprite is horizontally flipped. + // If the sprite is facing to the east, then it is flipped, and its matrixNum is 8. + reflectionSprite->oam.matrixNum = 0; + if (mainSprite->oam.matrixNum & 0x8) + reflectionSprite->oam.matrixNum = 1; } } } -u8 sub_8126B54(void) +u8 CreateWarpArrowSprite(void) { u8 spriteId; struct Sprite *sprite; - spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[8] /*gFieldEffectSpriteTemplate_Arrow*/, 0, 0, 0x52); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[8], 0, 0, 0x52); if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; @@ -163,12 +168,12 @@ u8 sub_8126B54(void) return spriteId; } -void objid_set_invisible(u8 spriteId) +void SetSpriteInvisible(u8 spriteId) { gSprites[spriteId].invisible = TRUE; } -void sub_8126BC4(u8 spriteId, u8 animNum, s16 x, s16 y) +void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y) { s16 x2; s16 y2; @@ -184,18 +189,18 @@ void sub_8126BC4(u8 spriteId, u8 animNum, s16 x, s16 y) sprite->invisible = FALSE; sprite->data[0] = x; sprite->data[1] = y; - StartSpriteAnim(sprite, animNum - 1); + StartSpriteAnim(sprite, direction - 1); } } -const u8 gUnknown_08401E32[] = { +const u8 gShadowEffectTemplateIds[] = { 0, 1, 2, 3 }; -const u16 gUnknown_08401E36[] = { +const u16 gShadowVerticalOffsets[] = { 4, 4, 4, @@ -210,19 +215,19 @@ u32 FldEff_Shadow(void) eventObjectId = GetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); graphicsInfo = GetEventObjectGraphicsInfo(gEventObjects[eventObjectId].graphicsId); - spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gUnknown_08401E32[graphicsInfo->shadowSize]], 0, 0, 0x94); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[gShadowEffectTemplateIds[graphicsInfo->shadowSize]], 0, 0, 0x94); if (spriteId != MAX_SPRITES) { gSprites[spriteId].coordOffsetEnabled = TRUE; gSprites[spriteId].data[0] = gFieldEffectArguments[0]; gSprites[spriteId].data[1] = gFieldEffectArguments[1]; gSprites[spriteId].data[2] = gFieldEffectArguments[2]; - gSprites[spriteId].data[3] = (graphicsInfo->height >> 1) - gUnknown_08401E36[graphicsInfo->shadowSize]; + gSprites[spriteId].data[3] = (graphicsInfo->height >> 1) - gShadowVerticalOffsets[graphicsInfo->shadowSize]; } return 0; } -void oamc_shadow(struct Sprite *sprite) +void UpdateShadowFieldEffect(struct Sprite *sprite) { u8 eventObjectId; struct EventObject *eventObject; @@ -239,7 +244,12 @@ void oamc_shadow(struct Sprite *sprite) sprite->oam.priority = linkedSprite->oam.priority; sprite->pos1.x = linkedSprite->pos1.x; sprite->pos1.y = linkedSprite->pos1.y + sprite->data[3]; - if (!eventObject->active || !eventObject->hasShadow || MetatileBehavior_IsPokeGrass(eventObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->previousMetatileBehavior) || MetatileBehavior_IsReflective(eventObject->currentMetatileBehavior) || MetatileBehavior_IsReflective(eventObject->previousMetatileBehavior)) + if (!eventObject->active || !eventObject->hasShadow + || MetatileBehavior_IsPokeGrass(eventObject->currentMetatileBehavior) + || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->currentMetatileBehavior) + || MetatileBehavior_IsSurfableWaterOrUnderwater(eventObject->previousMetatileBehavior) + || MetatileBehavior_IsReflective(eventObject->currentMetatileBehavior) + || MetatileBehavior_IsReflective(eventObject->previousMetatileBehavior)) { FieldEffectStop(sprite, FLDEFF_SHADOW); } @@ -276,7 +286,7 @@ u32 FldEff_TallGrass(void) return 0; } -void unc_grass_normal(struct Sprite *sprite) +void UpdateTallGrassFieldEffect(struct Sprite *sprite) { u8 mapNum; u8 mapGroup; @@ -305,14 +315,12 @@ void unc_grass_normal(struct Sprite *sprite) { eventObject = &gEventObjects[eventObjectId]; if ((eventObject->currentCoords.x != sprite->data[1] || eventObject->currentCoords.y != sprite->data[2]) && (eventObject->previousCoords.x != sprite->data[1] || eventObject->previousCoords.y != sprite->data[2])) - { sprite->data[7] = TRUE; - } + metatileBehavior = 0; if (sprite->animCmdIndex == 0) - { metatileBehavior = 4; - } + UpdateEventObjectSpriteVisibility(sprite, 0); sub_812882C(sprite, sprite->data[0], metatileBehavior); } @@ -336,7 +344,7 @@ u32 FldEff_JumpTallGrass(void) return 0; } -u8 sub_8126FF0(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { struct Sprite *sprite; u8 i; @@ -346,12 +354,11 @@ u8 sub_8126FF0(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) if (gSprites[i].inUse) { sprite = &gSprites[i]; - if (sprite->callback == unc_grass_normal && (x == sprite->data[1] && y == sprite->data[2]) && (localId == (u8)(sprite->data[3] >> 8) && mapNum == (sprite->data[3] & 0xFF) && mapGroup == sprite->data[4])) - { + if (sprite->callback == UpdateTallGrassFieldEffect && (x == sprite->data[1] && y == sprite->data[2]) && (localId == (u8)(sprite->data[3] >> 8) && mapNum == (sprite->data[3] & 0xFF) && mapGroup == sprite->data[4])) return i; - } } } + return MAX_SPRITES; } @@ -385,7 +392,7 @@ u32 FldEff_LongGrass(void) return 0; } -void unc_grass_tall(struct Sprite *sprite) +void UpdateLongGrassFieldEffect(struct Sprite *sprite) { u8 mapNum; u8 mapGroup; @@ -464,7 +471,7 @@ u32 FldEff_ShortGrass(void) return 0; } -void sub_8127334(struct Sprite *sprite) +void UpdateShortGrassFieldEffect(struct Sprite *sprite) { u8 eventObjectId; s16 x; @@ -554,29 +561,29 @@ u32 FldEff_BikeTireTracks(void) return spriteId; } -void (*const gUnknown_08401E40[])(struct Sprite *) = { - sub_81275A0, - sub_81275C4 +void (*const gFadeFootprintsTireTracksFuncs[])(struct Sprite *) = { + FadeFootprintsTireTracks_Step0, + FadeFootprintsTireTracks_Step1 }; -void sub_8127584(struct Sprite *sprite) +void UpdateFootprintsTireTracksFieldEffect(struct Sprite *sprite) { - gUnknown_08401E40[sprite->data[0]](sprite); + gFadeFootprintsTireTracksFuncs[sprite->data[0]](sprite); } -static void sub_81275A0(struct Sprite *sprite) +static void FadeFootprintsTireTracks_Step0(struct Sprite *sprite) { + // Wait 40 frames before the flickering starts. if (++sprite->data[1] > 40) - { sprite->data[0] = 1; - } + UpdateEventObjectSpriteVisibility(sprite, FALSE); } -static void sub_81275C4(struct Sprite *sprite) +static void FadeFootprintsTireTracks_Step1(struct Sprite *sprite) { sprite->invisible ^= 1; - sprite->data[1] ++; + sprite->data[1]++; UpdateEventObjectSpriteVisibility(sprite, sprite->invisible); if (sprite->data[1] > 56) { @@ -612,7 +619,7 @@ u32 FldEff_Splash(void) return 0; } -void sub_81276B4(struct Sprite *sprite) +void UpdateSplashFieldEffect(struct Sprite *sprite) { u8 eventObjectId; @@ -679,7 +686,7 @@ u32 FldEff_FeetInFlowingWater(void) { graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); sprite = &gSprites[spriteId]; - sprite->callback = sub_81278D8; + sprite->callback = UpdateFeetInFlowingWaterFieldEffect; sprite->coordOffsetEnabled = TRUE; sprite->oam.priority = gSprites[eventObject->spriteId].oam.priority; sprite->data[0] = gFieldEffectArguments[0]; @@ -693,7 +700,7 @@ u32 FldEff_FeetInFlowingWater(void) return 0; } -static void sub_81278D8(struct Sprite *sprite) +static void UpdateFeetInFlowingWaterFieldEffect(struct Sprite *sprite) { u8 eventObjectId; struct Sprite *linkedSprite; @@ -763,7 +770,7 @@ u32 FldEff_HotSpringsWater(void) return 0; } -void sub_8127A7C(struct Sprite *sprite) +void UpdateHotSpringsWaterFieldEffect(struct Sprite *sprite) { u8 eventObjectId; const struct EventObjectGraphicsInfo *graphicsInfo; @@ -852,7 +859,7 @@ u32 FldEff_Unknown22(void) return 0; } -void ash(s16 x, s16 y, u16 c, s16 d) +void StartAshFieldEffect(s16 x, s16 y, u16 c, s16 d) { gFieldEffectArguments[0] = x; gFieldEffectArguments[1] = y; @@ -887,28 +894,26 @@ u32 FldEff_Ash(void) return 0; } -void (*const gUnknown_08401E48[])(struct Sprite *) = { - sub_8127DA0, - sub_8127DD0, - sub_8127E30 +void (*const gAshFieldEffectFuncs[])(struct Sprite *) = { + UpdateAshFieldEffect_Step0, + UpdateAshFieldEffect_Step1, + UpdateAshFieldEffect_Step2 }; -void sub_8127D84(struct Sprite *sprite) +void UpdateAshFieldEffect(struct Sprite *sprite) { - gUnknown_08401E48[sprite->data[0]](sprite); + gAshFieldEffectFuncs[sprite->data[0]](sprite); } -static void sub_8127DA0(struct Sprite *sprite) +static void UpdateAshFieldEffect_Step0(struct Sprite *sprite) { sprite->invisible = TRUE; sprite->animPaused = TRUE; if (--sprite->data[4] == 0) - { sprite->data[0] = 1; - } } -static void sub_8127DD0(struct Sprite *sprite) +static void UpdateAshFieldEffect_Step1(struct Sprite *sprite) { sprite->invisible = FALSE; sprite->animPaused = FALSE; @@ -918,13 +923,11 @@ static void sub_8127DD0(struct Sprite *sprite) sprite->data[0] = 2; } -static void sub_8127E30(struct Sprite *sprite) +static void UpdateAshFieldEffect_Step2(struct Sprite *sprite) { UpdateEventObjectSpriteVisibility(sprite, FALSE); if (sprite->animEnded) - { FieldEffectStop(sprite, FLDEFF_ASH); - } } u32 FldEff_SurfBlob(void) @@ -979,7 +982,7 @@ static u8 sub_8127F70(struct Sprite *sprite) return (sprite->data[0] & 0xF00) >> 8; } -void sub_8127F7C(struct Sprite *sprite) +void UpdateSurfBlobFieldEffect(struct Sprite *sprite) { struct EventObject *eventObject; struct Sprite *linkedSprite; @@ -994,11 +997,16 @@ void sub_8127F7C(struct Sprite *sprite) static void sub_8127FD4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 unk_8041E54[] = {0, 0, 1, 2, 3}; + u8 surfBlobDirectionAnims[] = { + 0, // DIR_NONE + 0, // DIR_SOUTH + 1, // DIR_NORTH + 2, // DIR_WEST + 3, // DIR_EAST + }; + if (sub_8127F64(sprite) == 0) - { - StartSpriteAnimIfDifferent(sprite, unk_8041E54[eventObject->movementDirection]); - } + StartSpriteAnimIfDifferent(sprite, surfBlobDirectionAnims[eventObject->movementDirection]); } #ifdef NONMATCHING @@ -1211,7 +1219,7 @@ u32 FldEff_SandPile(void) return 0; } -void sub_81282E0(struct Sprite *sprite) +void UpdateSandPileFieldEffect(struct Sprite *sprite) { u8 eventObjectId; s16 x; @@ -1257,7 +1265,7 @@ u32 FldEff_Bubbles(void) return 0; } -void sub_8128410(struct Sprite *sprite) +void UpdateBubblesFieldEffect(struct Sprite *sprite) { sprite->data[0] += 0x80; sprite->data[0] &= 0x100; @@ -1289,19 +1297,19 @@ u32 FldEff_BerryTreeGrowthSparkle(void) u32 FldEff_TreeDisguise(void) { - return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 0x18, 0x04); + return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 24, 4); } u32 FldEff_MountainDisguise(void) { - return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 0x19, 0x03); + return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 25, 3); } u32 FldEff_SandDisguise(void) { - return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 0x1C, 0x02); + return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 28, 2); } static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) @@ -1328,7 +1336,7 @@ static u32 ShowDisguiseFieldEffect(u8 fldEff, u8 templateIdx, u8 paletteNum) return spriteId; } -void sub_81285AC(struct Sprite *sprite) +void UpdateDisguiseFieldEffect(struct Sprite *sprite) { u8 eventObjectId; const struct EventObjectGraphicsInfo *graphicsInfo; @@ -1406,27 +1414,25 @@ u32 FldEff_Sparkle(void) return 0; } -void sub_8128774(struct Sprite *sprite) +void UpdateSparkleFieldEffect(struct Sprite *sprite) { if (sprite->data[0] == 0) { if (sprite->animEnded) { sprite->invisible = TRUE; - sprite->data[0] ++; + sprite->data[0]++; } + if (sprite->data[0] == 0) - { return; - } } - if (++ sprite->data[1] >= 35) - { + + if (++sprite->data[1] > 34) FieldEffectStop(sprite, FLDEFF_SPARKLE); - } } -void sub_81287C4(struct Sprite *sprite) +void UpdateJumpLandingFieldEffect(struct Sprite *sprite) { if (sprite->animEnded) { @@ -1439,16 +1445,12 @@ void sub_81287C4(struct Sprite *sprite) } } -void sub_8128800(struct Sprite *sprite) +void WaitFieldEffectSpriteAnim(struct Sprite *sprite) { if (sprite->animEnded) - { FieldEffectStop(sprite, sprite->data[0]); - } else - { UpdateEventObjectSpriteVisibility(sprite, FALSE); - } } #ifdef NONMATCHING diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index dac26ff32..9a4f5f6cd 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -1142,7 +1142,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) eventObjectId = SpawnSpecialEventObject(&playerEventObjTemplate); eventObject = &gEventObjects[eventObjectId]; eventObject->isPlayer = 1; - eventObject->warpArrowSpriteId = sub_8126B54(); + eventObject->warpArrowSpriteId = CreateWarpArrowSprite(); EventObjectTurn(eventObject, direction); ClearPlayerAvatarInfo(); gPlayerAvatar.runningState = NOT_MOVING; @@ -1199,11 +1199,11 @@ static void sub_8059D60(struct EventObject *eventObject) x = eventObject->currentCoords.x; y = eventObject->currentCoords.y; MoveCoords(direction, &x, &y); - sub_8126BC4(eventObject->warpArrowSpriteId, direction, x, y); + ShowWarpArrowSprite(eventObject->warpArrowSpriteId, direction, x, y); return; } } - objid_set_invisible(eventObject->warpArrowSpriteId); + SetSpriteInvisible(eventObject->warpArrowSpriteId); } /* Strength */ diff --git a/src/field_tasks.c b/src/field_tasks.c index ea2058965..8b736c949 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -713,11 +713,11 @@ void PerStepCallback_8069F64(u8 taskId) { if (MapGridGetMetatileIdAt(x, y) == 0x20a) { - ash(x, y, 0x212, 4); + StartAshFieldEffect(x, y, 0x212, 4); } else { - ash(x, y, 0x206, 4); + StartAshFieldEffect(x, y, 0x206, 4); } if (CheckBagHasItem(ITEM_SOOT_SACK, 1)) { @@ -782,24 +782,29 @@ void PerStepCallback_806A07C(u8 taskId) } } -const u16 gUnknown_08376418[] = {0xe8, 0xeb, 0xea, 0xe9}; +static const u16 sMuddySlopeAnimationMetatiles[] = {0xe8, 0xeb, 0xea, 0xe9}; -void sub_806A18C(s16 *data, s16 x, s16 y) +static void SetMuddySlopeAnimatedMetatile(s16 *counter, s16 x, s16 y) { u16 tile; - if ((--data[0]) == 0) - { + if (--(*counter) == 0) tile = 0xe8; - } else - { - tile = gUnknown_08376418[data[0] / 8]; - } + tile = sMuddySlopeAnimationMetatiles[*counter / 8]; + MapGridSetMetatileIdAt(x, y, tile); CurrentMapDrawMetatileAt(x, y); + + // Immediately set the metatile back to the original muddy slope metatile + // but don't actualy draw it on the screen. This is so the underlying metatile + // behvior on the map is not changed. MapGridSetMetatileIdAt(x, y, 0xe8); } +// Checks for the player traversing on muddy slope metatiles. +// When the player walks or slides on one, it executes a short animation to +// make it look like a small mudslide. A maximum of 4 mudslide animations can +// exist simultaneously. void Task_MuddySlope(u8 taskId) { s16 x, y, x2, y2; @@ -827,7 +832,7 @@ void Task_MuddySlope(u8 taskId) data[3] = y; if (MetatileBehavior_IsMuddySlope(MapGridGetMetatileBehaviorAt(x, y))) { - for (i=4; i<14; i+=3) + for (i = 4; i < 14; i += 3) { if (data[i] == 0) { @@ -841,6 +846,7 @@ void Task_MuddySlope(u8 taskId) } break; } + if (gCamera.field_0 && mapIndices != data[0]) { data[0] = mapIndices; @@ -852,13 +858,14 @@ void Task_MuddySlope(u8 taskId) x2 = 0; y2 = 0; } - for (i=4; i<14; i+=3) + + for (i = 4; i < 14; i += 3) { if (data[i]) { data[i + 1] -= x2; data[i + 2] -= y2; - sub_806A18C(&data[i], data[i + 1], data[i + 2]); + SetMuddySlopeAnimatedMetatile(&data[i], data[i + 1], data[i + 2]); } } } diff --git a/src/hof_pc.c b/src/hof_pc.c index 3ff9eaaea..b9407bace 100644 --- a/src/hof_pc.c +++ b/src/hof_pc.c @@ -8,7 +8,6 @@ #include "task.h" extern void (*gFieldCallback)(void); -extern void (*gUnknown_0300485C)(void); static void ReshowPCMenuAfterHallOfFamePC(void); static void Task_WaitForPaletteFade(u8); diff --git a/src/item_menu.c b/src/item_menu.c index 5fbfb775e..71516c0a4 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -38,14 +38,13 @@ #include "ewram.h" // External stuff -extern void gpu_pal_allocator_reset__manage_upper_four(void); +extern void FreeAndReserveObjectSpritePalettes(void); extern void SetVerticalScrollIndicatorPriority(); extern void sub_809D104(u16 *, u16, u16, const u8 *, u16, u16, u16, u16); extern void PauseVerticalScrollIndicator(); extern u8 sub_80F9284(void); extern void sub_808B5B4(); extern u8 sub_80F92F4(); -extern void sub_80C9C7C(u8); extern void pal_fill_black(void); extern bool8 IsWeatherNotFadingIn(void); extern u8 sub_80F931C(); @@ -140,7 +139,7 @@ EWRAM_DATA static s8 gUnknown_0203855B = 0; EWRAM_DATA static s8 gUnknown_0203855C = 0; EWRAM_DATA u16 gSpecialVar_ItemId = 0; EWRAM_DATA u8 gCurSelectedItemSlotIndex = 0; -EWRAM_DATA u8 gUnknown_02038561 = 0; +EWRAM_DATA u8 gPokemonItemUseType = 0; EWRAM_DATA static u8 gUnknown_02038562 = 0; EWRAM_DATA static u8 gUnknown_02038563 = 0; EWRAM_DATA static u8 gUnknown_02038564 = 0; @@ -392,7 +391,7 @@ static bool8 SetupBagMultistep(void) gMain.state++; break; case 2: - gpu_pal_allocator_reset__manage_upper_four(); + FreeAndReserveObjectSpritePalettes(); gMain.state++; break; case 3: @@ -2666,7 +2665,7 @@ void HandleItemMenuPaletteFade(u8 taskId) MainCallback cb = (MainCallback)((u16)taskData[8] << 16 | (u16)taskData[9]); SetMainCallback2(cb); - gpu_pal_allocator_reset__manage_upper_four(); + FreeAndReserveObjectSpritePalettes(); DestroyTask(taskId); } } @@ -2701,7 +2700,7 @@ static void HandlePopupMenuAction_UseOnField(u8 taskId) if (sCurrentBagPocket != BAG_POCKET_BERRIES) ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); else - sub_80C9C7C(taskId); + ItemUseOutOfBattle_Berry(taskId); } } } @@ -2925,7 +2924,7 @@ static void HandlePopupMenuAction_Give(u8 taskId) gTasks[taskId].data[8] = (u32)sub_808B020 >> 16; gTasks[taskId].data[9] = (u32)sub_808B020; gTasks[taskId].func = HandleItemMenuPaletteFade; - gUnknown_02038561 = 1; + gPokemonItemUseType = ITEM_USE_GIVE_ITEM; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); } } diff --git a/src/item_use.c b/src/item_use.c index 5037fee88..4e76ea434 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -34,28 +34,35 @@ #include "string_util.h" #include "strings.h" #include "task.h" +#include "constants/species.h" #include "constants/vars.h" extern void (*gFieldItemUseCallback)(u8); extern void (*gFieldCallback)(void); -extern void (*gUnknown_0300485C)(void); extern void (*gPokemonItemUseCallback)(u8, u16, TaskFunc); -extern u8 gUnknown_02038561; +extern u8 gPokemonItemUseType; extern u8 gLastFieldPokeMenuOpened; extern u8 gBankInMenu; -extern u8 gUnknown_081A1654[]; -extern u8 gUnknown_081A168F[]; +extern u8 S_PlantBerryTreeFromBag[]; +extern u8 S_WaterBerryTreeFromBag[]; extern u16 gBattlerPartyIndexes[]; extern u16 gBattleTypeFlags; +static void ItemUseOnFieldCB_Berry(u8); +static void ItemUseOnFieldCB_WailmerPail(u8); +static void StartTeachMonTMHMMove(u8); +static void DisplayTeachMonTMHMYesNoChoice(u8); +static void BootTMHM(u8); +static void WaitButtonPressAndDisplayTMHMInfo(u8); + static const u8 gSSTidalBetaString[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな"); static const u8 gSSTidalBetaString2[] = _("この チケットで ふねに のりほうだい\nはやく のってみたいな"); -static const u8 *const gUnknown_083D61DC[2] = +static const u8 *const sSSTidalBetaStrings[] = { gSSTidalBetaString, gSSTidalBetaString2, @@ -70,9 +77,9 @@ static const MainCallback gExitToOverworldFuncList[] = static const u8 gItemFinderDirections[] = { DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST }; -static const struct YesNoFuncTable gUnknown_083D61F4 = +static const struct YesNoFuncTable sTeachMonTMHMYesNoActions = { - .yesFunc = sub_80C9FC0, + .yesFunc = StartTeachMonTMHMMove, .noFunc = CleanUpItemMenuMessage, }; @@ -80,7 +87,7 @@ void ExecuteSwitchToOverworldFromItemUse(u8 taskId) { u8 taskData; - if (gSpecialVar_ItemId == 0xAF) + if (gSpecialVar_ItemId == ITEM_ENIGMA_BERRY) taskData = gTasks[taskId].data[15] - 1; else taskData = ItemId_GetType(gSpecialVar_ItemId) - 1; @@ -115,7 +122,7 @@ void SetUpItemUseOnFieldCallback(u8 taskId) } } -void HandleDeniedItemUseMessage(u8 var1, u8 playerMenuStatus, const u8 *text) +static void HandleDeniedItemUseMessage(u8 taskId, u8 playerMenuStatus, const u8 *text) { StringExpandPlaceholders(gStringVar4, text); @@ -123,22 +130,22 @@ void HandleDeniedItemUseMessage(u8 var1, u8 playerMenuStatus, const u8 *text) { case 0: // Item Menu Menu_EraseWindowRect(0, 13, 13, 20); - DisplayItemMessageOnField(var1, gStringVar4, CleanUpItemMenuMessage, 1); + DisplayItemMessageOnField(taskId, gStringVar4, CleanUpItemMenuMessage, 1); break; default: // Field - DisplayItemMessageOnField(var1, gStringVar4, CleanUpOverworldMessage, 0); + DisplayItemMessageOnField(taskId, gStringVar4, CleanUpOverworldMessage, 0); break; } } -void DisplayDadsAdviceCannotUseItemMessage(u8 var1, u8 playerMenuStatus) +void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, u8 playerMenuStatus) { - HandleDeniedItemUseMessage(var1, playerMenuStatus, gOtherText_DadsAdvice); + HandleDeniedItemUseMessage(taskId, playerMenuStatus, gOtherText_DadsAdvice); } -void DisplayCantGetOffBikeItemMessage(u8 var1, u8 playerMenuStatus) +void DisplayCantGetOffBikeItemMessage(u8 taskId, u8 playerMenuStatus) { - HandleDeniedItemUseMessage(var1, playerMenuStatus, gOtherText_CantGetOffBike); + HandleDeniedItemUseMessage(taskId, playerMenuStatus, gOtherText_CantGetOffBike); } u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId) @@ -177,7 +184,7 @@ void ItemUseOutOfBattle_Bike(u8 taskId) PlayerGetDestCoords(&x, &y); tileBehavior = MapGridGetMetatileBehaviorAt(x, y); - if (FlagGet(FLAG_SYS_CYCLING_ROAD) == TRUE // on cycling road? + if (FlagGet(FLAG_SYS_CYCLING_ROAD) == TRUE || MetatileBehavior_IsVerticalRail(tileBehavior) == TRUE || MetatileBehavior_IsHorizontalRail(tileBehavior) == TRUE || MetatileBehavior_IsIsolatedVerticalRail(tileBehavior) == TRUE @@ -200,9 +207,9 @@ void ItemUseOutOfBattle_Bike(u8 taskId) void ItemUseOnFieldCB_Bike(u8 taskId) { if (ItemId_GetSecondaryId(gSpecialVar_ItemId) == 0) - GetOnOffBike(2); + GetOnOffBike(PLAYER_AVATAR_FLAG_MACH_BIKE); if (ItemId_GetSecondaryId(gSpecialVar_ItemId) == 1) - GetOnOffBike(4); + GetOnOffBike(PLAYER_AVATAR_FLAG_ACRO_BIKE); ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); @@ -256,11 +263,11 @@ void ItemUseOnFieldCB_Rod(u8 taskId) DestroyTask(taskId); } -void ItemUseOutOfBattle_Itemfinder(u8 var) +void ItemUseOutOfBattle_Itemfinder(u8 taskId) { IncrementGameStat(GAME_STAT_USED_ITEMFINDER); gFieldItemUseCallback = (void *)ItemUseOnFieldCB_Itemfinder; - SetUpItemUseOnFieldCallback(var); + SetUpItemUseOnFieldCallback(taskId); } void ItemUseOnFieldCB_Itemfinder(u8 taskId) @@ -743,7 +750,7 @@ void ItemUseOutOfBattle_CoinCase(u8 taskId) if (!gTasks[taskId].data[2]) { - Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); + Menu_EraseWindowRect(0, 13, 13, 20); DisplayItemMessageOnField(taskId, gStringVar4, CleanUpItemMenuMessage, 1); } else @@ -752,16 +759,16 @@ void ItemUseOutOfBattle_CoinCase(u8 taskId) } } -void sub_80C9BB8(u8 var) +static void SSTicketWaitForAButtonPress(u8 taskId) { if (gMain.newKeys & A_BUTTON) - CleanUpItemMenuMessage(var); + CleanUpItemMenuMessage(taskId); } -void sub_80C9BD8(u8 var) +static void SSTicketWaitForAButtonPress2(u8 taskId) { if (gMain.newKeys & A_BUTTON) - CleanUpOverworldMessage(var); + CleanUpOverworldMessage(taskId); } // unused @@ -769,20 +776,20 @@ void ItemUseOutOfBattle_SSTicket(u8 taskId) { if (gTasks[taskId].data[2] == 0) { - Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); - DisplayItemMessageOnField(taskId, gUnknown_083D61DC[ItemId_GetSecondaryId(gSpecialVar_ItemId)], sub_80C9BB8, 1); + Menu_EraseWindowRect(0, 13, 13, 20); + DisplayItemMessageOnField(taskId, sSSTidalBetaStrings[ItemId_GetSecondaryId(gSpecialVar_ItemId)], SSTicketWaitForAButtonPress, 1); } else { - DisplayItemMessageOnField(taskId, gUnknown_083D61DC[ItemId_GetSecondaryId(gSpecialVar_ItemId)], sub_80C9BD8, 0); + DisplayItemMessageOnField(taskId, sSSTidalBetaStrings[ItemId_GetSecondaryId(gSpecialVar_ItemId)], SSTicketWaitForAButtonPress2, 0); } } -void sub_80C9C7C(u8 taskId) +void ItemUseOutOfBattle_Berry(u8 taskId) { if (IsPlayerFacingUnplantedSoil() == TRUE) { - gFieldItemUseCallback = sub_80C9D00; + gFieldItemUseCallback = ItemUseOnFieldCB_Berry; gFieldCallback = ExecuteItemUseFromBlackPalette; gTasks[taskId].data[8] = (u32)c2_exit_to_overworld_2_switch >> 16; gTasks[taskId].data[9] = (u32)c2_exit_to_overworld_2_switch; @@ -795,11 +802,11 @@ void sub_80C9C7C(u8 taskId) } } -void sub_80C9D00(u8 taskId) +static void ItemUseOnFieldCB_Berry(u8 taskId) { RemoveBagItem(gSpecialVar_ItemId, 1); ScriptContext2_Enable(); - ScriptContext1_SetupScript(gUnknown_081A1654); + ScriptContext1_SetupScript(S_PlantBerryTreeFromBag); DestroyTask(taskId); } @@ -807,7 +814,7 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId) { if (TryToWaterBerryTree() == TRUE) { - gFieldItemUseCallback = sub_80C9D74; + gFieldItemUseCallback = ItemUseOnFieldCB_WailmerPail; SetUpItemUseOnFieldCallback(taskId); } else @@ -816,23 +823,23 @@ void ItemUseOutOfBattle_WailmerPail(u8 taskId) } } -void sub_80C9D74(u8 taskId) +static void ItemUseOnFieldCB_WailmerPail(u8 taskId) { ScriptContext2_Enable(); - ScriptContext1_SetupScript(gUnknown_081A168F); + ScriptContext1_SetupScript(S_WaterBerryTreeFromBag); DestroyTask(taskId); } -void sub_80C9D98(u8 taskId) +static void SetPokemonItemUseAndFadeOut(u8 taskId) { - gUnknown_02038561 = 0; + gPokemonItemUseType = ITEM_USE_SINGLE_MON; ItemMenu_ConfirmNormalFade(taskId); } void ItemUseOutOfBattle_Medicine(u8 taskId) { gPokemonItemUseCallback = UseMedicine; - sub_80C9D98(taskId); + SetPokemonItemUseAndFadeOut(taskId); } void ItemUseOutOfBattle_SacredAsh(u8 taskId) @@ -841,74 +848,74 @@ void ItemUseOutOfBattle_SacredAsh(u8 taskId) gLastFieldPokeMenuOpened = 0; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { - if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != 0 && GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) != SPECIES_NONE && GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) { gLastFieldPokeMenuOpened = i; break; } } - gPokemonItemUseCallback = sub_8070048; - gUnknown_02038561 = 4; + gPokemonItemUseCallback = DoSacredAshItemEffect; + gPokemonItemUseType = ITEM_USE_ALL_MONS; ItemMenu_ConfirmNormalFade(taskId); } void ItemUseOutOfBattle_PPRecovery(u8 taskId) { gPokemonItemUseCallback = DoPPRecoveryItemEffect; - sub_80C9D98(taskId); + SetPokemonItemUseAndFadeOut(taskId); } void ItemUseOutOfBattle_PPUp(u8 taskId) { gPokemonItemUseCallback = DoPPUpItemEffect; - sub_80C9D98(taskId); + SetPokemonItemUseAndFadeOut(taskId); } void ItemUseOutOfBattle_RareCandy(u8 taskId) { gPokemonItemUseCallback = DoRareCandyItemEffect; - sub_80C9D98(taskId); + SetPokemonItemUseAndFadeOut(taskId); } void ItemUseOutOfBattle_TMHM(u8 taskId) { - Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); + Menu_EraseWindowRect(0, 13, 13, 20); if (gSpecialVar_ItemId >= ITEM_HM01_CUT) - DisplayItemMessageOnField(taskId, gOtherText_BootedHM, sub_80C9EE4, 1); // HM + DisplayItemMessageOnField(taskId, gOtherText_BootedHM, BootTMHM, 1); // HM else - DisplayItemMessageOnField(taskId, gOtherText_BootedTM, sub_80C9EE4, 1); // TM + DisplayItemMessageOnField(taskId, gOtherText_BootedTM, BootTMHM, 1); // TM } -void sub_80C9EE4(u8 taskId) +static void BootTMHM(u8 taskId) { PlaySE(SE_PC_LOGON); - gTasks[taskId].func = sub_80C9F10; + gTasks[taskId].func = WaitButtonPressAndDisplayTMHMInfo; } -void sub_80C9F10(u8 taskId) +static void WaitButtonPressAndDisplayTMHMInfo(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) { StringCopy(gStringVar1, gMoveNames[ItemIdToBattleMoveId(gSpecialVar_ItemId)]); StringExpandPlaceholders(gStringVar4, gOtherText_ContainsMove); - DisplayItemMessageOnField(taskId, gStringVar4, sub_80C9F80, 1); + DisplayItemMessageOnField(taskId, gStringVar4, DisplayTeachMonTMHMYesNoChoice, 1); } } -void sub_80C9F80(u8 var) +static void DisplayTeachMonTMHMYesNoChoice(u8 taskId) { DisplayYesNoMenu(7, 7, 1); sub_80A3FA0(gBGTilemapBuffers[1], 8, 8, 5, 4, 1); - DoYesNoFuncWithChoice(var, &gUnknown_083D61F4); + DoYesNoFuncWithChoice(taskId, &sTeachMonTMHMYesNoActions); } -void sub_80C9FC0(u8 var) +static void StartTeachMonTMHMMove(u8 taskId) { gPokemonItemUseCallback = TeachMonTMMove; - sub_80C9D98(var); + SetPokemonItemUseAndFadeOut(taskId); } static void PrepareItemUseMessage(void) @@ -919,27 +926,27 @@ static void PrepareItemUseMessage(void) StringExpandPlaceholders(gStringVar4, gOtherText_UsedItem); } -void ItemUseOutOfBattle_Repel(u8 var) +void ItemUseOutOfBattle_Repel(u8 taskId) { if (VarGet(VAR_REPEL_STEP_COUNT) == 0) { VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); PrepareItemUseMessage(); - DisplayItemMessageOnField(var, gStringVar4, CleanUpItemMenuMessage, 1); + DisplayItemMessageOnField(taskId, gStringVar4, CleanUpItemMenuMessage, 1); } else { - DisplayItemMessageOnField(var, gOtherText_RepelLingers, CleanUpItemMenuMessage, 1); + DisplayItemMessageOnField(taskId, gOtherText_RepelLingers, CleanUpItemMenuMessage, 1); } } -void sub_80CA07C(void) +static void sub_80CA07C(void) { sub_80A3E0C(); CopyItemName(gSpecialVar_ItemId, gStringVar2); } -void sub_80CA098(u8 taskId) +static void PlayBlackWhiteFluteSound(u8 taskId) { if(++gTasks[taskId].data[15] > 7) { @@ -956,7 +963,7 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId) FlagClear(FLAG_SYS_ENC_DOWN_ITEM); sub_80CA07C(); StringExpandPlaceholders(gStringVar4, gOtherText_UsedFlute); - gTasks[taskId].func = sub_80CA098; + gTasks[taskId].func = PlayBlackWhiteFluteSound; gTasks[taskId].data[15] = 0; } else if (gSpecialVar_ItemId == ITEM_BLACK_FLUTE) @@ -965,7 +972,7 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId) FlagClear(FLAG_SYS_ENC_UP_ITEM); sub_80CA07C(); StringExpandPlaceholders(gStringVar4, gOtherText_UsedRepel); - gTasks[taskId].func = sub_80CA098; + gTasks[taskId].func = PlayBlackWhiteFluteSound; gTasks[taskId].data[15] = 0; } } @@ -973,11 +980,11 @@ void ItemUseOutOfBattle_BlackWhiteFlute(u8 taskId) void task08_080A1C44(u8 taskId) { ResetInitialPlayerAvatarState(); - sub_80878A8(); + StartEscapeRopeFieldEffect(); DestroyTask(taskId); } -void EscapeRopeCallback(u8 taskId) +static void ItemUseOnFieldCB_EscapeRope(u8 taskId) { Overworld_ResetStateAfterDigEscRope(); PrepareItemUseMessage(); @@ -997,7 +1004,7 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId) { if (CanUseEscapeRopeOnCurrMap() == TRUE) { - gFieldItemUseCallback = EscapeRopeCallback; + gFieldItemUseCallback = ItemUseOnFieldCB_EscapeRope; SetUpItemUseOnFieldCallback(taskId); } else @@ -1006,30 +1013,30 @@ void ItemUseOutOfBattle_EscapeRope(u8 taskId) } } -void ItemUseOutOfBattle_EvolutionStone(u8 var) +void ItemUseOutOfBattle_EvolutionStone(u8 taskId) { gPokemonItemUseCallback = DoEvolutionStoneItemEffect; - sub_80C9D98(var); + SetPokemonItemUseAndFadeOut(taskId); } -void ItemUseInBattle_PokeBall(u8 var) +void ItemUseInBattle_PokeBall(u8 taskId) { if (PlayerPartyAndPokemonStorageFull() == FALSE) // have room for mon? { RemoveBagItem(gSpecialVar_ItemId, 1); - sub_80A7094(var); + sub_80A7094(taskId); } else { - Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); - DisplayItemMessageOnField(var, gOtherText_BoxIsFull, CleanUpItemMenuMessage, 1); + Menu_EraseWindowRect(0, 13, 13, 20); + DisplayItemMessageOnField(taskId, gOtherText_BoxIsFull, CleanUpItemMenuMessage, 1); } } -void sub_80CA294(u8 var) +void sub_80CA294(u8 taskId) { if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) - sub_80A7094(var); + sub_80A7094(taskId); } void sub_80CA2BC(u8 taskId) @@ -1046,7 +1053,7 @@ void ItemUseInBattle_StatIncrease(u8 taskId) { u16 partyId = gBattlerPartyIndexes[gBankInMenu]; - Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); + Menu_EraseWindowRect(0, 13, 13, 20); if (ExecuteTableBasedItemEffect_(&gPlayerParty[partyId], gSpecialVar_ItemId, partyId, 0) != FALSE) { @@ -1064,7 +1071,7 @@ void sub_80CA394(u8 taskId) if (!gPaletteFade.active) { sub_8094E4C(); - gpu_pal_allocator_reset__manage_upper_four(); + FreeAndReserveObjectSpritePalettes(); DestroyTask(taskId); } } @@ -1083,7 +1090,7 @@ void ItemUseInBattle_Medicine(u8 var) void unref_sub_80CA410(u8 var) { - gPokemonItemUseCallback = sub_8070048; + gPokemonItemUseCallback = DoSacredAshItemEffect; sub_80CA3C0(var); } @@ -1095,7 +1102,7 @@ void ItemUseInBattle_PPRecovery(u8 var) void unref_sub_80CA448(u8 var) { - Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); + Menu_EraseWindowRect(0, 13, 13, 20); if (ExecuteTableBasedItemEffect__(0, gSpecialVar_ItemId, 0) == FALSE) { @@ -1112,9 +1119,9 @@ void unref_sub_80CA448(u8 var) void ItemUseInBattle_Escape(u8 taskId) { - Menu_EraseWindowRect(0, 0xD, 0xD, 0x14); + Menu_EraseWindowRect(0, 13, 13, 20); - if((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE) + if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) == FALSE) { PrepareItemUseMessage(); DisplayItemMessageOnField(taskId, gStringVar4, sub_80A7094, 1); diff --git a/src/overworld.c b/src/overworld.c index d993d6cac..f6dea1271 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1805,7 +1805,7 @@ void sub_8054D4C(u32 a1) ScanlineEffect_Clear(); ResetCameraUpdateInfo(); InstallCameraPanAheadCallback(); - sub_805C7C4(0); + InitEventObjectPalettes(0); FieldEffectActiveListClear(); InitFieldMessageBox(); StartWeather(); @@ -1819,7 +1819,7 @@ void sub_8054D90(void) { gTotalCameraPixelOffsetX = 0; gTotalCameraPixelOffsetY = 0; - sub_805AA98(); + ResetEventObjects(); TrySpawnEventObjects(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -1830,7 +1830,7 @@ void mli4_mapscripts_and_other(void) struct InitialPlayerAvatarState *initialPlayerAvatarState; gTotalCameraPixelOffsetX = 0; gTotalCameraPixelOffsetY = 0; - sub_805AA98(); + ResetEventObjects(); sav1_camera_get_focus_coords(&x, &y); initialPlayerAvatarState = GetInitialPlayerAvatarState(); InitPlayerAvatar(x, y, initialPlayerAvatarState->direction, gSaveBlock2.playerGender); diff --git a/src/party_menu.c b/src/party_menu.c index a4b7b0ffa..52c637879 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4456,7 +4456,7 @@ bool8 IsBlueYellowRedFlute(u16 item) return FALSE; } -void sub_8070048(u8 taskId, u16 item, TaskFunc func) +void DoSacredAshItemEffect(u8 taskId, u16 item, TaskFunc func) { ewram1C000.unk10 = func; ewram1C000.unk4 = taskId; @@ -4473,7 +4473,7 @@ void sub_8070088(u8 taskId) u8 taskId2; gTasks[taskId].func = TaskDummy; - if (GetMonData(&gPlayerParty[ewram1C000.primarySelectedMonIndex], MON_DATA_SPECIES) == 0) + if (GetMonData(&gPlayerParty[ewram1C000.primarySelectedMonIndex], MON_DATA_SPECIES) == SPECIES_NONE) { gTasks[taskId].func = sub_80701DC; } diff --git a/src/player_pc.c b/src/player_pc.c index e52666a50..ce3dda3c7 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -37,7 +37,7 @@ static EWRAM_DATA const u8 *gPcItemMenuOptionOrder = NULL; static u8 gPcItemMenuOptionsNum; -extern u8 gUnknown_02038561; +extern u8 gPokemonItemUseType; // event scripts extern u8 gBrendanHouse_TurnPCOff[]; @@ -1290,7 +1290,7 @@ static void Mailbox_DoGiveMailPokeMenu(u8 taskId) // Mailbox_DoGiveMailPokeMenu if(!gPaletteFade.active) { SetMainCallback2(sub_808B020); - gUnknown_02038561 = 3; + gPokemonItemUseType = ITEM_USE_GIVE_MAIL; DestroyTask(taskId); } } diff --git a/src/pokemon_menu.c b/src/pokemon_menu.c index bafa32afa..23020383d 100644 --- a/src/pokemon_menu.c +++ b/src/pokemon_menu.c @@ -52,7 +52,7 @@ extern u8 gUnknown_020384F0; extern u8 gUnknown_0202E8F4; extern u8 gUnknown_0202E8F5; extern u8 gUnknown_0202E8F6; -extern u8 gUnknown_02038561; +extern u8 gPokemonItemUseType; extern u16 gUnknown_0202E8F8; extern void (*gPokemonItemUseCallback)(u8 taskID, u16 itemID, TaskFunc func); extern TaskFunc gUnknown_03005CF0; @@ -975,7 +975,7 @@ static void sub_808AF80(void) { if (InitPartyMenu() == TRUE) { - if (gUnknown_02038561 == 0) + if (gPokemonItemUseType == ITEM_USE_SINGLE_MON) { switch (CheckIfItemIsTMHMOrEvolutionStone(gSpecialVar_ItemId)) { @@ -1002,19 +1002,19 @@ static void sub_808AF80(void) void sub_808B020(void) { gPaletteFade.bufferTransferDisabled = 1; - switch (gUnknown_02038561) + switch (gPokemonItemUseType) { - case 0: + case ITEM_USE_SINGLE_MON: if (CheckIfItemIsTMHMOrEvolutionStone(gSpecialVar_ItemId) == 1) SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 20); else SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 3); break; - case 4: + case ITEM_USE_ALL_MONS: SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B1EC, 0xFF); break; - case 1: - case 3: + case ITEM_USE_GIVE_ITEM: + case ITEM_USE_GIVE_MAIL: SetPartyMenuSettings(PARTY_MENU_TYPE_STANDARD, 0, sub_808B0C0, 4); break; } @@ -1034,14 +1034,14 @@ void sub_808B0C0(u8 taskID) else { sub_806D5A4(); - if (gUnknown_02038561 == 0) + if (gPokemonItemUseType == ITEM_USE_SINGLE_MON) gPokemonItemUseCallback(taskID, gSpecialVar_ItemId, sub_808B224); - if (gUnknown_02038561 == 1) + if (gPokemonItemUseType == ITEM_USE_GIVE_ITEM) { PlaySE(SE_SELECT); PartyMenuTryGiveMonHeldItem(taskID, gSpecialVar_ItemId, sub_808B2EC); } - if (gUnknown_02038561 == 3) + if (gPokemonItemUseType == ITEM_USE_GIVE_MAIL) { PlaySE(SE_SELECT); PartyMenuTryGiveMonMail(taskID, sub_808B2B4); @@ -1052,9 +1052,9 @@ void sub_808B0C0(u8 taskID) gLastFieldPokeMenuOpened = sub_806CA38(taskID); PlaySE(SE_SELECT); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); - if (gUnknown_02038561 == 0 || gUnknown_02038561 == 1) + if (gPokemonItemUseType == ITEM_USE_SINGLE_MON || gPokemonItemUseType == ITEM_USE_GIVE_ITEM) gTasks[taskID].func = sub_808B25C; - if (gUnknown_02038561 == 3) + if (gPokemonItemUseType == ITEM_USE_GIVE_MAIL) gTasks[taskID].func = sub_808B2B4; break; } diff --git a/src/secret_base.c b/src/secret_base.c index 632d6845e..5bec7a06d 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -110,7 +110,6 @@ const u8 gUnknown_083D13EC[] = { 0x23,0x24,0xF,0x1F,0x21,0x2F,0xE,0x14,0x20,0x22,0x0,0x0 }; -extern void *gUnknown_0300485C; extern u8 gUnknown_081A2E14[]; extern u8 UnknownString_81A1BB2[]; extern u8 UnknownString_81A1F67[]; diff --git a/src/sprite.c b/src/sprite.c index a9d84e01a..22b3a6d0f 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -72,7 +72,6 @@ static void JumpToTopOfAffineAnimLoop(u8 matrixNum, struct Sprite *sprite); static void AffineAnimCmd_jump(u8 matrixNum, struct Sprite *sprite); static void AffineAnimCmd_end(u8 matrixNum, struct Sprite *sprite); static void AffineAnimCmd_frame(u8 matrixNum, struct Sprite *sprite); -static void CopyOamMatrix(u8 destMatrixIndex, struct OamMatrix *srcMatrix); static u8 GetSpriteMatrixNum(struct Sprite *sprite); static void SetSpriteOamFlipBits(struct Sprite *sprite, u8 hFlip, u8 vFlip); static void AffineAnimStateRestartAnim(u8 matrixNum); -- cgit v1.2.3 From 31c322c77b2e5628ebe5c5c9c4b34c8beb8f40cb Mon Sep 17 00:00:00 2001 From: Thomas Winwood Date: Sun, 24 Jun 2018 16:11:22 +0100 Subject: Respond to formatting feedback --- src/battle/anim/ghost.c | 156 ++++++++++++++++++++++++++---------------------- 1 file changed, 85 insertions(+), 71 deletions(-) (limited to 'src') diff --git a/src/battle/anim/ghost.c b/src/battle/anim/ghost.c index 98710c679..85879c86c 100755 --- a/src/battle/anim/ghost.c +++ b/src/battle/anim/ghost.c @@ -1,5 +1,6 @@ #include "global.h" #include "sound.h" +#include "constants/songs.h" #include "trig.h" #include "rom_8077ABC.h" #include "battle_anim.h" @@ -203,7 +204,8 @@ const struct SpriteTemplate gSpriteTemplate_83DAF98 = .callback = sub_80DF49C, }; -void sub_80DDB6C(struct Sprite *sprite) { +void sub_80DDB6C(struct Sprite *sprite) +{ InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = sprite->pos1.x; @@ -212,16 +214,18 @@ void sub_80DDB6C(struct Sprite *sprite) { sprite->data[4] = GetBattlerSpriteCoord(gAnimBankTarget, 3); sub_8078BD4(sprite); sprite->callback = sub_80DDBD8; - sprite->data[6] = 0x10; + sprite->data[6] = 16; REG_BLDCNT = 0x3F40; REG_BLDALPHA = sprite->data[6]; } -void sub_80DDBD8(struct Sprite *sprite) { +void sub_80DDBD8(struct Sprite *sprite) +{ s16 r0; s16 r2; sub_80DDCC8(sprite); - if (TranslateAnimSpriteByDeltas(sprite)) { + if (TranslateAnimSpriteByDeltas(sprite)) + { sprite->callback = sub_80DDC4C; return; } @@ -230,13 +234,11 @@ void sub_80DDBD8(struct Sprite *sprite) { r2 = sprite->data[5]; sprite->data[5] = (sprite->data[5] + 5) & 0xFF; r0 = sprite->data[5]; - if (r2 != 0) { - if (r2 <= 0xC4) - return; - } + if (r2 != 0 && r2 <= 196) + return; if (r0 <= 0) return; - PlaySE12WithPanning(0xC4, gUnknown_0202F7D2); + PlaySE12WithPanning(SE_W109, gUnknown_0202F7D2); } void sub_80DDC4C(struct Sprite *sprite) @@ -252,11 +254,9 @@ void sub_80DDC4C(struct Sprite *sprite) sprite->data[5] = (sprite->data[5] + 5) & 0xFF; r0 = sprite->data[5]; - if(r2 == 0 || r2 > 0xC4) - { + if(r2 == 0 || r2 > 196) if(r0 > 0) - PlaySE(0xC4); - } + PlaySE(SE_W109); if(sprite->data[6] == 0) { @@ -292,11 +292,9 @@ void sub_80DDCC8(struct Sprite *sprite) else return; - REG_BLDALPHA = ((16 - sprite->data[6]) << 8) | sprite->data[6]; + REG_BLDALPHA = BLDALPHA_BLEND(sprite->data[6], 16 - sprite->data[6]); if(sprite->data[6] == 0 || sprite->data[6] == 16) - { sprite->data[7] ^= 0x100; - } if(sprite->data[6] == 0) sprite->data[6] = 0x100; } @@ -308,72 +306,78 @@ void sub_80DDD58(struct Sprite *sprite) sub_80DDD78(sprite); } -void sub_80DDD78(struct Sprite *sprite) { +void sub_80DDD78(struct Sprite *sprite) +{ u16 temp1; sprite->pos2.x = Sin(sprite->data[0], 32); sprite->pos2.y = Cos(sprite->data[0], 8); temp1 = sprite->data[0] - 65; - if (temp1 <= 130) { + if (temp1 <= 130) sprite->oam.priority = 2; - } else { + else sprite->oam.priority = 1; - } - sprite->data[0] = (sprite->data[0] + 0x13) & 0xFF; + sprite->data[0] = (sprite->data[0] + 19) & 0xFF; sprite->data[2] += 80; sprite->pos2.y += sprite->data[2] >> 8; sprite->data[7] += 1; - if (sprite->data[7] == 0x3D) { + if (sprite->data[7] == 61) DestroyAnimSprite(sprite); - } } -void sub_80DDDF0(u8 r5) { - u8 r4; +void sub_80DDDF0(u8 taskId) +{ + u8 spriteId; REG_BLDCNT = 0x3F40; REG_BLDALPHA = 0x1000; - r4 = GetAnimBattlerSpriteId(0); - sub_8078E70(r4, 1); - obj_id_set_rotscale(r4, 0x80, 0x80, 0); - gSprites[r4].invisible = FALSE; - gTasks[r5].data[0] = 0x80; - gTasks[r5].data[1] = *gBattleAnimArgs; - gTasks[r5].data[2] = 0; - gTasks[r5].data[3] = 0x10; - gTasks[r5].func = &sub_80DDE7C; + spriteId = GetAnimBattlerSpriteId(0); + sub_8078E70(spriteId, 1); + obj_id_set_rotscale(spriteId, 128, 128, 0); + gSprites[spriteId].invisible = FALSE; + gTasks[taskId].data[0] = 128; + gTasks[taskId].data[1] = *gBattleAnimArgs; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = 16; + gTasks[taskId].func = sub_80DDE7C; } -void sub_80DDE7C(u8 taskId) { +void sub_80DDE7C(u8 taskId) +{ gTasks[taskId].data[10] += 1; - if (gTasks[taskId].data[10] == 3) { + if (gTasks[taskId].data[10] == 3) + { gTasks[taskId].data[10] = 0; gTasks[taskId].data[2] += 1; gTasks[taskId].data[3] -= 1; REG_BLDALPHA = gTasks[taskId].data[3] << 8 | gTasks[taskId].data[2]; if (gTasks[taskId].data[2] != 9) return; - gTasks[taskId].func = &sub_80DDED0; + gTasks[taskId].func = sub_80DDED0; } } -void sub_80DDED0(u8 taskId) { - u8 r1; - if (gTasks[taskId].data[1] > 0) { +void sub_80DDED0(u8 taskId) +{ + u8 spriteId; + if (gTasks[taskId].data[1] > 0) + { gTasks[taskId].data[1] -= 1; return; } - r1 = GetAnimBattlerSpriteId(0); + spriteId = GetAnimBattlerSpriteId(0); gTasks[taskId].data[0] += 8; - if (gTasks[taskId].data[0] <= 0xFF) { - obj_id_set_rotscale(r1, gTasks[taskId].data[0], gTasks[taskId].data[0], 0); + if (gTasks[taskId].data[0] <= 0xFF) + { + obj_id_set_rotscale(spriteId, gTasks[taskId].data[0], gTasks[taskId].data[0], 0); return; } - sub_8078F40(r1); + sub_8078F40(spriteId); DestroyAnimVisualTask(taskId); REG_BLDCNT = 0; REG_BLDALPHA = 0; } -void sub_80DDF40(struct Sprite *sprite) { +void sub_80DDF40(struct Sprite *sprite) +{ u16 r5, r6; r5 = sprite->pos1.x; r6 = sprite->pos1.y; @@ -387,11 +391,13 @@ void sub_80DDF40(struct Sprite *sprite) { sprite->data[5] = sprite->pos1.y << 4; sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1); sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1); - sprite->callback = &sub_80DDFE8; + sprite->callback = sub_80DDFE8; } -void sub_80DDFE8(struct Sprite *sprite) { - switch (sprite->data[0]) { +void sub_80DDFE8(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { case 0: sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -428,17 +434,20 @@ void sub_80DDFE8(struct Sprite *sprite) { break; case 3: move_anim_8074EE0(sprite); + break; } } -void sub_80DE0FC(struct Sprite *sprite) { +void sub_80DE0FC(struct Sprite *sprite) +{ sub_8078764(sprite, 1); - sprite->callback = &sub_80DE114; + sprite->callback = sub_80DE114; } /* NONMATCHING */ NAKED -void sub_80DE114(struct Sprite *sprite) { +void sub_80DE114(struct Sprite *sprite) +{ asm_unified("\tpush {r4-r6,lr}\n" "\tadds r3, r0, 0\n" "\tmovs r5, 0\n" @@ -526,12 +535,14 @@ void sub_80DE114(struct Sprite *sprite) { "\tbx r0\n"); } -void sub_80DE1B0(u8 taskId) { +void sub_80DE1B0(u8 taskId) +{ struct Task *task; task = &gTasks[taskId]; task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1); - if (task->data[0] < 0) { + if (task->data[0] < 0) + { DestroyAnimVisualTask(taskId); return; } @@ -542,36 +553,39 @@ void sub_80DE1B0(u8 taskId) { REG_BLDCNT = 0x3F40; REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; gSprites[task->data[0]].data[0] = 80; - if (GetBattlerSide(gAnimBankTarget) == 0) { - gSprites[task->data[0]].data[1] = 0xff70; - gSprites[task->data[0]].data[2] = 0x70; - } else { - gSprites[task->data[0]].data[1] = 0x90; - gSprites[task->data[0]].data[2] = 0xff90; + if (GetBattlerSide(gAnimBankTarget) == 0) + { + gSprites[task->data[0]].data[1] = -144; + gSprites[task->data[0]].data[2] = 112; + } + else + { + gSprites[task->data[0]].data[1] = 144; + gSprites[task->data[0]].data[2] = -112; } gSprites[task->data[0]].data[3] = 0; gSprites[task->data[0]].data[4] = 0; StoreSpriteCallbackInData(&gSprites[task->data[0]], SpriteCallbackDummy); - gSprites[task->data[0]].callback = &sub_8078394; - task->func = &sub_80DE2DC; + gSprites[task->data[0]].callback = sub_8078394; + task->func = sub_80DE2DC; } -void sub_80DE2DC(u8 taskId) { +void sub_80DE2DC(u8 taskId) +{ struct Task *task; task = &gTasks[taskId]; - switch (task->data[4]) { + switch (task->data[4]) + { case 0: task->data[1] += 1; task->data[5] = task->data[1] & 3; - if (task->data[5] == 1) { + if (task->data[5] == 1) if (task->data[2] > 0) task->data[2] -= 1; - } - if (task->data[5] == 3) { + if (task->data[5] == 3) if (task->data[3] <= 15) task->data[3] += 1; - } REG_BLDALPHA = (task->data[3] << 8) | task->data[2]; if (task->data[3] != 16 || task->data[2] != 0) break; @@ -581,8 +595,7 @@ void sub_80DE2DC(u8 taskId) { task->data[4] = 1; break; case 1: - task->data[6] += 1; - if (task->data[6] <= 1) + if (++task->data[6] <= 1) break; REG_BLDCNT = 0; REG_BLDALPHA = 0; @@ -593,11 +606,12 @@ void sub_80DE2DC(u8 taskId) { } } -void sub_80DE3AC(u8 taskId) { +void sub_80DE3AC(u8 taskId) +{ struct Task *task; task = &gTasks[taskId]; task->data[15] = 0; - task->func = &sub_80DE3D4; + task->func = sub_80DE3D4; sub_80DE3D4(taskId); } -- cgit v1.2.3 From 760f6307a5770f53f64618dc775204f4231b52d4 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 23 Jun 2018 20:22:40 -0500 Subject: Decompile more of battle_anim_812C144.c --- src/battle/battle_anim_812C144.c | 479 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 479 insertions(+) (limited to 'src') diff --git a/src/battle/battle_anim_812C144.c b/src/battle/battle_anim_812C144.c index cef1fb97c..eeb2c3514 100644 --- a/src/battle/battle_anim_812C144.c +++ b/src/battle/battle_anim_812C144.c @@ -36,10 +36,14 @@ extern const union AffineAnimCmd gUnknown_084024B0[]; extern const union AffineAnimCmd gUnknown_08402518[]; extern const union AffineAnimCmd gUnknown_08402540[]; extern const union AffineAnimCmd gUnknown_08402590[]; +extern const union AffineAnimCmd gUnknown_08402610[]; extern const u32 gUnknown_08D2AA98[]; extern const u32 gUnknown_08D2A9E0[]; extern const u16 gUnknown_08D2AA80[]; extern const s8 gUnknown_084025C0[]; +extern const s8 gUnknown_08402604[]; +extern const u8 gUnknown_08402608[]; +extern const struct SpriteTemplate gBattleAnimSpriteTemplate_84025EC; extern u8 gBattleMonForms[]; extern u8 gBankSpriteIds[]; @@ -65,6 +69,12 @@ static void sub_812D06C(u8 taskId); static void sub_812D254(struct Sprite *sprite); static void sub_812D4EC(struct Sprite *sprite); static void sub_812D5E8(struct Sprite *sprite); +static void sub_812DFEC(struct Sprite *sprite); +static void sub_812E09C(struct Sprite *sprite); +static void sub_812E0F8(struct Sprite *sprite); +static void sub_812E638(u8 taskId); +static void sub_812E7F0(struct Sprite *sprite); +static void sub_812E8B4(u8 taskId); void sub_812C144(struct Sprite *sprite) @@ -1362,3 +1372,472 @@ void sub_812DB84(u8 taskId) break; } } + +void sub_812DEAC(struct Sprite *sprite) +{ + s16 var0; + u8 spriteId1; + u8 spriteId2; + + var0 = Random(); + var0 &= 0x3F; + if (var0 > 31) + var0 = 32 - var0; + + sprite->pos1.x = GetBattlerSpriteCoord(gAnimBankAttacker, 0) + var0; + sprite->pos1.y = GetBattlerSpriteCoord(gAnimBankAttacker, 1) + 32; + sprite->data[1] = gBattleAnimArgs[0]; + sprite->data[2] = gBattleAnimArgs[1]; + + spriteId1 = CreateSprite(&gBattleAnimSpriteTemplate_84025EC, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + spriteId2 = CreateSprite(&gBattleAnimSpriteTemplate_84025EC, sprite->pos1.x, sprite->pos1.y, sprite->subpriority + 1); + StartSpriteAnim(&gSprites[spriteId1], 1); + StartSpriteAnim(&gSprites[spriteId2], 2); + + gSprites[spriteId1].data[1] = gBattleAnimArgs[0]; + gSprites[spriteId1].data[2] = gBattleAnimArgs[1]; + gSprites[spriteId2].data[1] = gBattleAnimArgs[0]; + gSprites[spriteId2].data[2] = gBattleAnimArgs[1]; + gSprites[spriteId1].data[7] = -1; + gSprites[spriteId2].data[7] = -1; + gSprites[spriteId1].invisible = 1; + gSprites[spriteId2].invisible = 1; + gSprites[spriteId1].callback = sub_812E0F8; + gSprites[spriteId2].callback = sub_812E0F8; + + sprite->data[6] = spriteId1; + sprite->data[7] = spriteId2; + sprite->callback = sub_812DFEC; +} + +static void sub_812DFEC(struct Sprite *sprite) +{ + int var0; + s8 var1; + + var0 = (u16)sprite->data[2] + (u16)sprite->data[3]; + var1 = var0 >> 8; + sprite->pos2.y -= var1; + sprite->data[3] = var0 & 0xFF; + if (sprite->data[4] == 0 && sprite->pos2.y < -8) + { + gSprites[sprite->data[6]].invisible = 0; + sprite->data[4]++; + } + + if (sprite->data[4] == 1 && sprite->pos2.y < -16) + { + gSprites[sprite->data[7]].invisible = 0; + sprite->data[4]++; + } + + if (--sprite->data[1] == -1) + { + sprite->invisible = 1; + sprite->callback = sub_812E09C; + } +} + +static void sub_812E09C(struct Sprite *sprite) +{ + if (gSprites[sprite->data[6]].callback == SpriteCallbackDummy + && gSprites[sprite->data[7]].callback == SpriteCallbackDummy) + { + DestroySprite(&gSprites[sprite->data[6]]); + DestroySprite(&gSprites[sprite->data[7]]); + DestroyAnimSprite(sprite); + } +} + +static void sub_812E0F8(struct Sprite *sprite) +{ + u16 d2; + register u16 d3 asm("r1"); + int var0; + s8 var1; + + if (!sprite->invisible) + { + d2 = sprite->data[2]; + d3 = sprite->data[3]; + var0 = d2 + d3; + var1 = var0 >> 8; + sprite->pos2.y -= var1; + sprite->data[3] = var0 & 0xFF; + if (--sprite->data[1] == -1) + { + sprite->invisible = 1; + sprite->callback = SpriteCallbackDummy; + } + } +} + +void sub_812E14C(u8 taskId) +{ + struct Struct_sub_8078914 subStruct; + + switch (gTasks[taskId].data[0]) + { + case 0: + REG_BLDCNT = BLDCNT_TGT2_BD | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 + | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1; + REG_BLDALPHA = 0xD03; + REG_BG1CNT_BITFIELD.screenSize = 0; + REG_BG1CNT_BITFIELD.priority = 1; + + if (!IsContest()) + REG_BG1CNT_BITFIELD.charBaseBlock = 1; + + sub_8078914(&subStruct); + DmaClear32(3, subStruct.field_4, 0x1000); + LZDecompressVram(gUnknown_08D2AA98, subStruct.field_4); + LZDecompressVram(gUnknown_08D2A9E0, subStruct.field_0); + LoadCompressedPalette(gUnknown_08D2AA80, subStruct.field_8 * 16, 32); + + if (IsContest()) + { + sub_80763FC(subStruct.field_8, (u16 *)subStruct.field_4, 0, 0); + gBattle_BG1_X = -56; + gBattle_BG1_Y = 0; + } + else + { + u8 position = GetBattlerPosition(gAnimBankTarget); + if (IsDoubleBattle() == TRUE) + { + if (position == B_POSITION_OPPONENT_LEFT) + gBattle_BG1_X = -155; + if (position == B_POSITION_OPPONENT_RIGHT) + gBattle_BG1_X = -115; + if (position == B_POSITION_PLAYER_LEFT) + gBattle_BG1_X = 14; + if (position == B_POSITION_PLAYER_RIGHT) + gBattle_BG1_X = -20; + } + else + { + if (position == B_POSITION_OPPONENT_LEFT) + gBattle_BG1_X = -135; + if (position == B_POSITION_PLAYER_LEFT) + gBattle_BG1_X = -10; + } + + gBattle_BG1_Y = 0; + } + + gTasks[taskId].data[10] = gBattle_BG1_X; + gTasks[taskId].data[11] = gBattle_BG1_Y; + gTasks[taskId].data[0]++; + break; + case 1: + gTasks[taskId].data[3] = 0; + if (GetBattlerSide(gAnimBankTarget) == B_SIDE_OPPONENT) + gBattle_BG1_X = gTasks[taskId].data[10] + gUnknown_08402604[gTasks[taskId].data[2]]; + else + gBattle_BG1_X = gTasks[taskId].data[10] - gUnknown_08402604[gTasks[taskId].data[2]]; + + if (++gTasks[taskId].data[2] == 5) + gTasks[taskId].data[0] = 5; + else + gTasks[taskId].data[0]++; + break; + case 2: + if (--gTasks[taskId].data[1] <= 4) + gTasks[taskId].data[1] = 5; + + REG_BLDALPHA = (gTasks[taskId].data[1] << 8) | 3; + if (gTasks[taskId].data[1] == 5) + gTasks[taskId].data[0]++; + break; + case 3: + if (++gTasks[taskId].data[3] > gUnknown_08402608[gTasks[taskId].data[2]]) + gTasks[taskId].data[0]++; + break; + case 4: + if (++gTasks[taskId].data[1] > 13) + gTasks[taskId].data[1] = 13; + + REG_BLDALPHA = (gTasks[taskId].data[1] << 8) | 3; + if (gTasks[taskId].data[1] == 13) + gTasks[taskId].data[0] = 1; + break; + case 5: + sub_8078914(&subStruct); + DmaClear32(3, subStruct.field_4, 0x800); + + if (!IsContest()) + REG_BG1CNT_BITFIELD.charBaseBlock = 0; + + REG_BG1CNT_BITFIELD.priority = 1; + gBattle_BG1_X = 0; + gBattle_BG1_Y = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_812E498(u8 taskId) +{ + if (gTasks[taskId].data[0] == 0) + { + sub_80798F4(&gTasks[taskId], GetAnimBattlerSpriteId(0), &gUnknown_08402610); + gTasks[taskId].data[0]++; + } + else + { + if (!sub_807992C(&gTasks[taskId])) + { + DestroyAnimVisualTask(taskId); + } + } +} + +void sub_812E4F0(struct Sprite *sprite) +{ + if (sprite->data[0] == 0) + { + InitAnimSpritePos(sprite, 0); + sprite->data[0]++; + } + else if (sprite->data[0]++ > 20) + { + sprite->data[1] += 160; + sprite->data[2] += 128; + + if (GetBattlerSide(gAnimBankAttacker) != B_SIDE_PLAYER) + sprite->pos2.x = -(sprite->data[1] >> 8); + else + sprite->pos2.x = sprite->data[1] >> 8; + + sprite->pos2.y += sprite->data[2] >> 8; + if (sprite->pos2.y > 64) + DestroyAnimSprite(sprite); + } +} + +void sub_812E568(u8 taskId) +{ + u8 side; + struct Task *task = &gTasks[taskId]; + + if (gBattleAnimArgs[1] == 0) + { + DestroyAnimVisualTask(taskId); + return; + } + + if (gBattleAnimArgs[2] < 0) + gBattleAnimArgs[2] = 0; + if (gBattleAnimArgs[2] > 2) + gBattleAnimArgs[2] = 2; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = 8 - (2 * gBattleAnimArgs[2]); + task->data[4] = 0x100 + (gBattleAnimArgs[2] * 128); + task->data[5] = gBattleAnimArgs[2] + 2; + task->data[6] = gBattleAnimArgs[1] - 1; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + + if (gBattleAnimArgs[0] == 0) + side = GetBattlerSide(gAnimBankAttacker); + else + side = GetBattlerSide(gAnimBankTarget); + + if (side == B_SIDE_OPPONENT) + { + task->data[4] *= -1; + task->data[5] *= -1; + } + + sub_8078E70(task->data[15], 0); + task->func = sub_812E638; +} + +static void sub_812E638(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + gSprites[task->data[15]].pos2.x += task->data[5]; + task->data[2] -= task->data[4]; + obj_id_set_rotscale(task->data[15], 0x100, 0x100, task->data[2]); + sub_8078F9C(task->data[15]); + if (++task->data[1] >= task->data[3]) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 1: + gSprites[task->data[15]].pos2.x -= task->data[5]; + task->data[2] += task->data[4]; + obj_id_set_rotscale(task->data[15], 0x100, 0x100, task->data[2]); + sub_8078F9C(task->data[15]); + if (++task->data[1] >= task->data[3] * 2) + { + task->data[1] = 0; + task->data[0]++; + } + break; + case 2: + gSprites[task->data[15]].pos2.x += task->data[5]; + task->data[2] -= task->data[4]; + obj_id_set_rotscale(task->data[15], 0x100, 0x100, task->data[2]); + sub_8078F9C(task->data[15]); + if (++task->data[1] >= task->data[3]) + { + if (task->data[6]) + { + task->data[6]--; + task->data[1] = 0; + task->data[0] = 0; + } + else + { + task->data[0]++; + } + } + break; + case 3: + sub_8078F40(task->data[15]); + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_812E7A0(struct Sprite *sprite) +{ + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) + { + sprite->pos1.x = 0; + sprite->pos1.y = gBattleAnimArgs[0]; + } + else + { + sprite->pos1.x = 240; + sprite->pos1.y = gBattleAnimArgs[0] - 30; + } + + sprite->data[2] = gBattleAnimArgs[2]; + StartSpriteAnim(sprite, gBattleAnimArgs[1]); + sprite->callback = sub_812E7F0; +} + +static void sub_812E7F0(struct Sprite *sprite) +{ + sprite->data[0] += 3; + if (GetBattlerSide(gAnimBankAttacker) == B_SIDE_PLAYER) + { + sprite->pos1.x += 5; + sprite->pos1.y -= 1; + + if (sprite->pos1.x > 240) + DestroyAnimSprite(sprite); + + sprite->pos2.y = Sin(sprite->data[0] & 0xFF, 16); + } + else + { + sprite->pos1.x -= 5; + sprite->pos1.y += 1; + + if (sprite->pos1.x < 0) + DestroyAnimSprite(sprite); + + sprite->pos2.y = Cos(sprite->data[0] & 0xFF, 16); + } +} + +void sub_812E860(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + task->data[0] = 0; + task->data[1] = 0; + task->data[2] = 0; + task->data[3] = 0; + task->data[12] = 0x20; + task->data[13] = 0x40; + task->data[14] = 0x800; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + + sub_8078E70(task->data[15], 0); + task->func = sub_812E8B4; +} + +static void sub_812E8B4(u8 taskId) +{ + int temp; + struct Task *task = &gTasks[taskId]; + + switch (task->data[0]) + { + case 0: + task->data[2] += 0x200; + if (task->data[2] >= task->data[14]) + { + s16 diff = task->data[14] - task->data[2]; + s16 div = diff / (task->data[14] * 2); + s16 mod = diff % (task->data[14] * 2); + + if ((div & 1) == 0) + { + task->data[2] = task->data[14] - mod; + task->data[0] = 1; + } + else + { + task->data[2] = mod - task->data[14]; + } + } + break; + case 1: + task->data[2] -= 0x200; + if (task->data[2] <= -task->data[14]) + { + s16 diff = task->data[14] - task->data[2]; + s16 div = diff / (task->data[14] * 2); + s16 mod = diff % (task->data[14] * 2); + + if ((1 & div) == 0) + { + task->data[2] = mod - task->data[14]; + task->data[0] = 0; + } + else + { + task->data[2] = task->data[14] - mod; + } + } + break; + case 2: + sub_8078F40(task->data[15]); + DestroyAnimVisualTask(taskId); + return; + } + + obj_id_set_rotscale(task->data[15], 0x100, 0x100, task->data[2]); + sub_8078F9C(task->data[15]); + gSprites[task->data[15]].pos2.x = -(((temp = task->data[2]) >= 0 ? task->data[2] : temp + 63) >> 6); + + if (++task->data[1] > 8) + { + if (task->data[12]) + { + task->data[12]--; + task->data[14] -= task->data[13]; + if (task->data[14] < 16) + task->data[14] = 16; + } + else + { + task->data[0] = 2; + } + } +} -- cgit v1.2.3 From b9c36be83b68a7c1375f23b407e7f9467091107b Mon Sep 17 00:00:00 2001 From: MCboy Date: Mon, 25 Jun 2018 04:58:08 +0430 Subject: fixed an spacing issue --- src/battle/anim/flying.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index 0decda6cd..d5541588a 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -551,7 +551,6 @@ void sub_80DA208(struct Sprite *sprite) void sub_80DA300(struct Sprite *sprite) { - InitAnimSpritePos(sprite, 1); sprite->data[0] = gBattleAnimArgs[2]; sprite->data[1] = gBattleAnimArgs[3]; -- cgit v1.2.3 From c27e3a8a4b1463ce47b5ef6c5b22b5b85f1ece12 Mon Sep 17 00:00:00 2001 From: MCboy Date: Mon, 25 Jun 2018 05:01:15 +0430 Subject: hopefully no "bugs" --- src/battle/anim/flying.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index d5541588a..c8cd2077b 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -378,8 +378,6 @@ void sub_80DA05C(struct Sprite *sprite) void sub_80DA09C(u8 taskId) { - gTasks[taskId].data[0] = gBattleAnimArgs[1]; - gTasks[taskId].data[1] = gBattleAnimArgs[0]; gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x2719); gTasks[taskId].func = sub_80DA0DC; } -- cgit v1.2.3 From f03705064f301db4bce8e7f74edc87d41311803b Mon Sep 17 00:00:00 2001 From: MCboy Date: Mon, 25 Jun 2018 05:07:22 +0430 Subject: oops --- src/battle/anim/flying.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/battle/anim/flying.c b/src/battle/anim/flying.c index c8cd2077b..e8c50816c 100755 --- a/src/battle/anim/flying.c +++ b/src/battle/anim/flying.c @@ -378,8 +378,10 @@ void sub_80DA05C(struct Sprite *sprite) void sub_80DA09C(u8 taskId) { - gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x2719); - gTasks[taskId].func = sub_80DA0DC; + gTasks[taskId].data[0] = gBattleAnimArgs[1]; + gTasks[taskId].data[1] = gBattleAnimArgs[0]; + gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x2719); + gTasks[taskId].func = sub_80DA0DC; } #ifdef NONMATCHING -- cgit v1.2.3